@charset "UTF-8";

/*--------------------------------------------------------------------
=== [TOP] ====================================
 -------------------------------------------------------------------*/
.section_ttl h2 {
  font-family: var(--ff-en);
  color: var(--c-bl01);
  font-size: 100px;
  font-weight: 900;
  line-height: 1;
}

.section_ttl .section_ttl_jp {
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
}

/*=== [mvArea] ===*/
#mvArea {
  padding-top: min(22.222vw, 320px);
  position: relative;
  height: min(50vw, 720px);
}

#mvArea .inner {
  max-width: 1280px;
  height: min(27.778vw, 400px);
  position: absolute;
  left: 0;
  right: 0;
  z-index: 10;
}

#mvArea h1 {
  font-size: 32px;
  letter-spacing: 0.5em;
  line-height: 1.5;
  font-weight: bold;
  position: absolute;
  bottom: min(30.556vw, 440px);
}

#mvArea h1 span {
  display: block;
  font-size: 14px;
  letter-spacing: 0.5em;
  font-weight: 400;
}

#mvArea .picture {
  width: 100%;
  height: min(27.778vw, 400px);
  overflow: hidden;
  position: absolute;
}

#mvArea .picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#mvArea .mvArea_catch {
  width: min(45.347vw, 653px);
  position: absolute;
  right: 0;
  bottom: min(3.472vw, 50px);
}

/*=== [newsArea] ===*/
#newsArea {
  margin-top: 80px;
  height: 540px;
}

#newsArea .inner {
  position: relative;
  display: flex;
}

#newsArea .section_ttl {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

#newsArea .news_box {
  width: min(66.667vw, 960px);
  background-color: #fff;
  box-shadow: 0 4px 32px rgba(0, 0, 0, 0.1);
  padding: 40px min(5.556vw, 80px) 60px;
  position: absolute;
  right: 0;
  top: 100px;
}

#newsArea .news_box li {
  display: flex;
  padding: 20px 0;
  border-bottom: 1px solid rgba(24, 29, 146, 0.1);
}

#newsArea .news_box li:last-child {
  border: none;
}

#newsArea .news_box li .date {
  font-family: var(--ff-en);
  color: #266AB3;
  margin-right: min(5.556vw, 80px);
}

#newsArea .news_box li a {
  font-weight: bold;
  display: block;
  width: 100%;
}

#newsArea .btn_more {
  position: absolute;
  bottom: -30px;
}

/*=== [businessArea] ===*/
#businessArea {
  padding-bottom: 200px;
  margin-bottom: 80px;
}

#businessArea .business_header {
  display: flex;
  align-items: center;
}

#businessArea .business_header .inner {
  position: absolute;
  left: 0;
  right: 0;
  text-align: right;
}

#businessArea .business_header .picture {
  width:max(60vw, 960px);
  height: min(33.333vw, 480px);
  overflow: hidden;
}

#businessArea .business_header .picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#businessArea .business_contents {
  max-width: 1440px;
  margin: -80px auto 0;
  background-color: #fff;
  position: relative;
}

#businessArea .business_contents .inner {
  padding-top: 80px;
}

#businessArea ul {
  margin-top: 80px;
  display: flex;
  gap: min(5.486vw, 79px);
  flex-wrap: wrap;
}

#businessArea ul li {
  width: calc((100% - min(5.486vw, 79px) * 2) / 3);
  display: flex;
  flex-direction: column;
}

#businessArea ul li .picture {
  display: flex;
  flex-direction: column;
  flex: 1;
}

#businessArea ul li figcaption {
  display: flex;
  flex-direction: column;
  flex: 1;
}

#businessArea ul li .btn_more {
  margin-top: auto;
}

#businessArea ul li .picture>a {
  display: block;
  width: 100%;
  aspect-ratio: 374/250;
  overflow: hidden;
}

#businessArea ul li .picture>a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#businessArea ul li h3 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.33;
  margin: 20px 0;
  min-height: calc(1.33em * 2);
}

#businessArea ul li p {
  font-size: var(--fs-s);
  margin-bottom: 20px;
}

/*=== [contactArea] ===*/
#contactArea {
  padding-bottom: 200px;
  margin-bottom: 200px;
}

#contactArea .inner {
  position: relative;
}

#contactArea .contact_box {
  background-color: var(--c-bl01);
  color: #fff;
  width: min(55.556vw, 800px);
  padding: 48px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: 100px;
  text-align: center;
  font-size: var(--fs-l);
  font-weight: bold;
}

#contactArea .contact_box .btn_contact a {
  background: #fff;
  color: var(--c-bl01);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 24px;
  width: min(33.333vw, 480px);
  margin: 24px auto 0;
}

#contactArea .contact_box .btn_contact a:before {
  content: "";
  display: inline-block;
  background-image: url("../img/common/ico_mail_bl.svg");
  width: 20px;
  height: 16px;
  background-size: cover;
}

/*=== [initiativesArea] ===*/
#initiativesArea {
  background: var(--c-grd);
  padding: 160px 0;
}

#initiativesArea .section_ttl h2,
#initiativesArea .section_ttl .section_ttl_jp,
#initiativesArea .mainLead,
#initiativesArea .leadTxt {
  color: #fff;
}

#initiativesArea .section_ttl {
  margin-bottom: 80px;
}

#initiativesArea .topicsArea {
  margin-bottom: 80px;
}

#initiativesArea .topicsArea .flex {
  display: flex;
  flex-wrap: wrap;
  gap: min(2.743vw, 40px) min(5.486vw, 80px);
}

#initiativesArea .topicsArea .col {
  width: calc((100% - 80px * 3) / 4);
  display: flex;
  flex-direction: column;
}

#initiativesArea .topicsArea .col .topic-item {
  color: #fff;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 10px;
}

#initiativesArea .topicsArea .col img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 600/400;
  overflow: hidden;
}

#initiativesArea .topicsArea .col .date {
  font-size: var(--fs-xs);
}

#initiativesArea .topicsArea .col .title {
  font-size: var(--fs-l);
  font-weight: bold;
}

#initiativesArea .topicsArea .more-btn {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: var(--c-bl01);
  font-size: var(--fs-m);
  font-weight: bold;
  margin-top: 40px;
  padding: 10px;
  background-color: #fff;
}

#initiativesArea ul {
  margin-top: 80px;
  display: flex;
  gap: min(5.486vw, 79px);
}

#initiativesArea ul li {
  width: 100%;
  display: flex;
  flex-direction: column;
}

#initiativesArea ul li .picture {
  display: flex;
  flex-direction: column;
  flex: 1;
}

#initiativesArea ul li figcaption {
  display: flex;
  flex-direction: column;
  flex: 1;
  color: #fff;
}

#initiativesArea ul li .btn_more {
  margin-top: auto;
}

#initiativesArea ul li .picture > a {
  display: block;
  width: 100%;
  aspect-ratio: 600/400;
  overflow: hidden;
}

#initiativesArea ul li .picture > a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#initiativesArea ul li h3 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.33;
  margin: 20px 0;
}

#initiativesArea ul li p {
  font-size: var(--fs-s);
  margin-bottom: 20px;
}

/*=== [corporateArea] ===*/
#corporateArea {
  padding-bottom: 200px;
  margin-bottom: 80px;
}

#corporateArea .corporate_header {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
}

#corporateArea .corporate_header .inner {
  position: absolute;
  left: 0;
  right: 0;
  text-align: left;
}

#corporateArea .corporate_contents {
  max-width: 1440px;
  margin: -80px auto 0;
  background-color: #fff;
  position: relative;
}

#corporateArea .corporate_contents .inner {
  padding-top: 80px;
}

#corporateArea .corporate_header .picture {
  width: max(60vw, 960px);
  height: min(33.333vw, 480px);
  overflow: hidden;
}

#corporateArea .corporate_header .picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#corporateArea ul {
  margin: 80px 0;
  display: flex;
  gap: min(5.486vw, 79px);
  flex-wrap: wrap;
}

#corporateArea ul li {
  width: calc((100% - min(5.486vw, 79px) * 2) / 3);
  display: flex;
  flex-direction: column;
}

#corporateArea ul li .picture {
  display: flex;
  flex-direction: column;
  flex: 1;
}

#corporateArea ul li figcaption {
  display: flex;
  flex-direction: column;
  flex: 1;
}

#corporateArea ul li .btn_more {
  margin-top: auto;
}

#corporateArea ul li .picture>a {
  display: block;
  width: 100%;
  aspect-ratio: 374/250;
  overflow: hidden;
}

#corporateArea ul li .picture>a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#corporateArea ul li h3 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.33;
  margin: 20px 0;
}

/*--------------------------------------------------------------------
=== [BTM] ====================================
 -------------------------------------------------------------------*/
/*=============== [company] ===============*/
#btm_page #corporateArea {
  padding: 0;
  margin-bottom: 160px;
  position: relative;
}

#btm_page #corporateArea .corporate_contents {
  margin-top: 0;
}

#btm_page #corporateArea .corporate_contents .inner {
  border-top: solid 2px var(--c-bl01);
  padding: 0;
}

#btm_page #corporateArea .corporate_contents.bdNone {
  margin-top: -120px;
}

#btm_page #corporateArea .corporate_contents.bdNone .inner {
  padding-top: 80px;
  border: none;
}

/*=============== [company － message] ===============*/
#messageArea {
  position: relative;
}

#messageArea .section_ttl_wrap .inner {
  padding-top: 0;
}

#messageArea .message_contents {
  display: flex;
  position: relative;
  margin-bottom: 80px;
  padding-bottom: 160px;
}

#messageArea .message_contents .inner {
  width: 60vw;
  margin: 0;
  padding: min(5.556vw, 80px) min(8.333vw, 160px) min(5.556vw, 80px) min(5.556vw, 80px);
  position: relative;
  z-index: 10;
}

#messageArea .message_contents .picture {
  width: max(40vw, 640px);
}

#messageArea .message_contents .picture img {
  width: 100%;
  /* height: 100%; */
  object-fit: cover;
  display: block;
}

#messageArea .message_contents .leadTxt {
  font-size: var(--fs-xl);
  margin: 80px 0;
}

#messageArea .message_contents .name {
  text-align: right;
}

/*=============== [company － profile] ===============*/
#profileArea {
  position: relative;
  height: 890px;
}

#profileArea .profile_contents {
  margin-top: 40px;
  width: min(55.556vw, 800px);
  padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
  background-color: #fff;
}

/*=============== [company － profile - about] ===============*/
#aboutArea {
  margin-top: 160px;
}

#aboutArea .about_contents {
  margin-top: 80px;
}

#aboutArea .about_contents .inner {
  display: flex;
  gap: 80px;
  padding-bottom: 160px;
  border-bottom: solid 2px var(--c-bl01);
}

#aboutArea .about_contents .inner ul {
  width: 100%;
  border-top: 1px solid rgba(24, 29, 146, 0.1);
  font-weight: bold;
}

#aboutArea .about_contents .inner ul li {
  display: flex;
  padding: 20px 0;
  border-bottom: 1px solid rgba(24, 29, 146, 0.1);
  gap: 16px;
}

#aboutArea .about_contents .inner ul li .ttl {
  font-family: var(--ff-en);
  color: #266AB3;
  margin-right: min(5.556vw, 80px);
  width: min(11.111vw, 160px);
}

#aboutArea .about_contents .inner ul li dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 20px;
}

/*=============== [company － profile - access] ===============*/
#accessArea {
  margin-top: 80px;
}

#accessArea .access_contents {
  margin-top: 80px;
}

#accessArea .access_contents .inner {
  display: flex;
  gap: 80px;
}

#accessArea .access_contents .access_map .address {
  margin: 16px 0;
  font-size: var(--fs-m);
  font-weight: bold;
}

#accessArea .access_contents .access_map .btn_googlemap a {
  color: var(--c-bl01);
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 8px 32px 8px 20px;
  width: fit-content;
  font-weight: bold;
  border: 1px solid var(--c-bl01);
  border-radius: 8px;
}

#accessArea .access_contents .access_map .btn_googlemap a:before {
  content: "";
  display: inline-block;
  background-image: url("../img/common/ico_map.svg");
  width: 16px;
  height: 20px;
  background-size: cover;
}

/*=============== [company － profile - powerplants] ===============*/
#powerplantsArea {
  position: relative;
  height: 890px;
  margin-top: 160px;
  margin-bottom: 240px;
}

#powerplantsArea .powerplants_contents {
  margin-top: 40px;
  width: min(55.556vw, 800px);
  padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
  background-color: #fff;
}

/*=============== [company － vision] ===============*/
#visionArea {
  margin-bottom: 80px;
}

#visionArea .vision_contents {
  background-size: cover;
  width: 100%;
  height: min(62.5vw, 900px);
  display: flex;
  align-items: center;
  padding: 0 80px;
}

#visionArea .vision_contents h2 {
  font-size: 48px;
  font-family: var(--ff-en);
  line-height: 1;
  font-weight: 900;
  margin-bottom: 48px;
}

#visionArea .vision_contents h2 span {
  font-size: var(--fs-xxl);
  display: block;
  margin-top: 8px;
  font-weight: bold;
}

#visionArea .vision_contents .mainLead {
  font-size: 32px;
}

#visionArea .vision_contents:nth-child(1) {
  background-image: url("../img/company/vision/vision_img01.jpg");
  background-color: var(--c-bl01);
}

#visionArea .vision_contents:nth-child(2) {
  background-image: url("../img/company/vision/vision_img02.jpg");
  justify-content: flex-end;
  background-color: #328B09;
}

#visionArea .vision_contents:nth-child(3) {
  background-image: url("../img/company/vision/vision_img03.jpg");
  background-color: #E5A800;
}

#visionArea .vision_contents>div {
  padding: 80px;
  color: #fff;
  width: 560px;
}

#visionArea .vision_contents:nth-child(1)>div {
  background-color: var(--c-bl01);
}

#visionArea .vision_contents:nth-child(2)>div {
  background-color: #328B09;
}

#visionArea .vision_contents:nth-child(3)>div {
  background-color: #E5A800;
}

#managementPhilosophyArea .management_philosophy_contents {
  margin-top: 80px;
  margin-bottom: 80px;
}

#basicPolicyArea .inner {
  border-top: solid 2px var(--c-bl01);
  padding-top: 80px;
}

.basic_policy_contents {
  padding: min(5.556vw, 80px) 0;
}

.basic_policy_contents .leadTxt {
  margin-bottom: 0;
}

#basicPolicyArea .basic_policy_contents .basic_policy_list {
  display: flex;
  gap: min(5.486vw, 79px);
  flex-wrap: wrap;
}

#basicPolicyArea .basic_policy_contents .basic_policy_list>li {
  width: calc((100% - min(5.486vw, 79px) * 2) / 3);
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  background-color: #fff;
}

#basicPolicyArea .basic_policy_contents .basic_policy_list .cont {
  padding: 24px;
}

#basicPolicyArea .basic_policy_contents .basic_policy_list .cont h3 {
  font-size: var(--fs-xxl);
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  border-bottom: solid 2px var(--c-bl01);
  padding-bottom: 20px;
}


/*=============== [company － history] ===============*/
#historyArea {
  margin-bottom: 80px;
}

#historyArea .history_slider {
  position: relative;
  width: 100%;
  margin-bottom: 80px;
}

#historyArea .history_slider_list {
  margin: 0;
  padding: 0;
  list-style: none;
}

#historyArea .history_slider_list li {
  margin: 0;
  padding: 0;
}

#historyArea .history_slider_list li img {
  display: block;
  width: 100%;
  height: auto;
}

#historyArea .history_slider .history_arrow {
  position: absolute;
  top: 50%;
  z-index: 10;
  width: 60px;
  height: 60px;
  border: none;
  padding: 0;
  background: url("../img/common/ico_arw_slide.svg") no-repeat center center / contain;
  cursor: pointer;
  font-size: 0;
  line-height: 0;
  transform: translateY(-50%);
}

#historyArea .history_slider .history_prev {
  left: 40px;
}

#historyArea .history_slider .history_next {
  right: 40px;
  transform: translateY(-50%) scaleX(-1);
}

#historyArea .history_slider .slick-prev::before,
#historyArea .history_slider .slick-next::before {
  content: none;
}

#historyArea .history_contents {
  margin-top: 80px;
}

#historyArea .history_contents .history_acd {
  margin-bottom: 40px;
}

#historyArea .history_contents .history_acd dl {
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  margin-bottom: 40px;
  background-color: #fff;
}

#historyArea .history_contents .history_acd dt {
  padding: 32px 48px;
  border-bottom: 1px solid #E6E6E6;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.33;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

#historyArea .history_contents .history_acd dt .ttl {
  display: block;
}

#historyArea .history_contents .history_acd dd {
  padding: 16px 48px;
  border-bottom: 1px solid #E6E6E6;
  display: flex;
}

#historyArea .history_contents .history_acd dd:last-child {
  border-bottom: none;
}

#historyArea .history_contents .history_acd dd .ym {
  width: min(11.111vw, 160px);
  font-weight: bold;
  flex-shrink: 0;
}

#historyArea .history_contents .history_acd dd .cont {
  flex: 1;
}

#historyArea .history_contents .history_acd .acd_btn {
  width: 32px;
  height: 32px;
  border: none;
  background: none;
  padding: 0;
  position: relative;
  flex-shrink: 0;
  cursor: pointer;
}

#historyArea .history_contents .history_acd .acd_btn::before,
#historyArea .history_contents .history_acd .acd_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #1D2D8C;
  transform: translate(-50%, -50%);
  transition: 0.3s;
}

#historyArea .history_contents .history_acd .acd_btn::before {
  width: 20px;
  height: 2px;
}

#historyArea .history_contents .history_acd .acd_btn::after {
  width: 2px;
  height: 20px;
}

#historyArea .history_contents .history_acd dl.is-open .acd_btn::after {
  opacity: 0;
}

#historyArea .history_contents .history_acd dl:not(.is-open) dt {
  border-bottom: none;
}

/*=============== [company － reason] ===============*/
#reasonArea01,
#reasonArea02,
#reasonArea03,
#reasonArea04,
#reasonArea05 {
  position: relative;
  margin-bottom: 80px;
}

#reasonArea02 .section_ttl_wrap,
#reasonArea04 .section_ttl_wrap {
  flex-direction: row;
}

#reasonArea01 .inner,
#reasonArea02 .inner,
#reasonArea03 .inner,
#reasonArea04 .inner,
#reasonArea05 .inner {}

#reasonArea01 .inner .wrap,
#reasonArea02 .inner .wrap,
#reasonArea03 .inner .wrap,
#reasonArea04 .inner .wrap {
  width: min(66.667vw, 960px);
}

#reasonArea02 .inner .wrap,
#reasonArea04 .inner .wrap {
  width: min(66.667vw, 960px);
  right: 0;
  position: absolute;
}

.reason_contents {
  margin-top: 40px;
  width: min(66.667vw, 960px);
  padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
  background-color: #fff;
}

/*#reasonArea01 .section_ttl,#reasonArea02 .section_ttl,#reasonArea03 .section_ttl,#reasonArea04 .section_ttl,#reasonArea05 .section_ttl {
	margin-left: min(5.556vw, 80px);
	}*/
.reason_contents .leadTxt {
  margin-bottom: 0;
}

.reason_contents .btn_more {
  margin-top: 40px;
}

#reasonArea02 .section_ttl_wrap .reason_contents,
#reasonArea04 .section_ttl_wrap .reason_contents {
  position: absolute;
  right: 0;
  padding: min(5.556vw, 80px);
}

#reasonArea02 .section_ttl_wrap .section_ttl,
#reasonArea04 .section_ttl_wrap .section_ttl {
  margin-left: min(5.556vw, 80px);
}

#reasonArea01 .picture {
  width: min(73.333vw, 1056px);
}

#reasonArea03 .picture {
  width: min(55.556vw, 800px);
}

#reasonArea04 .picture {
  width: 100%;
}

#reasonArea04 {
  min-height: min(60.208vw, 867px);
}

#reasonArea05 .picture {
  width: min(71.111vw, 1024px);
}

/*=============== [company － marubeni] ===============*/
#marubeniArea {
  position: relative;
}

#marubeniArea .marubeni_contents {
  max-width: 1280px;
  margin: 120px auto;
}

#marubeniArea .marubeni_contents .inner {
  max-width: 800px;
  margin: 0;
  position: relative;
  z-index: 2;
}

@media (max-width: 1440px) {
  #marubeniArea .marubeni_contents .inner {
    margin: 0 20px;
  }
}

#marubeniArea .marubeni_contents .txt_box {
  margin-bottom: 32px;
}

#marubeniArea .marubeni_contents .txt_box .picture {
  margin-bottom: 32px;
}

#marubeniArea .marubeni_contents .txt_box h4 {
  font-size: var(--fs-xxl);
  font-weight: bold;
  margin-bottom: 16px;
}

#marubeniArea .marubeni_contents .txt_box .txt_list {
  margin: 16px 0;
}

#marubeniArea .marubeni_contents .txt_box .txt_list li {
  display: flex;
}

#marubeniArea .marubeni_contents .txt_box .txt_list li:before {
  content: "・";
  width: 1em;
}

#marubeniArea .marubeni_contents .txt_box dl {
  padding: 16px 0;
}

#marubeniArea .marubeni_contents .txt_box dl dt {
  font-size: var(--fs-l);
}

#marubeniArea .marubeni_contents .txt_box dl dd a {
  text-decoration: underline;
}

#marubeniArea .marubeni_contents .txt_box .btn_more {
  margin-bottom: 16px;
}

/*=============== [business] ===============*/
#btm_page #businessArea {
  padding: 0;
  margin-bottom: 200px;
  position: relative;
}

#btm_page #businessArea .business_contents {
  margin-top: -120px;
}

#btm_page #businessArea .business_contents .inner,
#relatedArea .related_contents .inner {
  padding-top: 80px;
  border: none;
}

#businessArea .business_contents_top ul {
  display: flex;
  gap: min(4.444vw, 64px);
}

#businessArea .business_contents_top ul .num_box_col {
  background-color: #F2F2F2;
  width: calc((100% - min(4.444vw, 64px) * 1) / 2);
  text-align: center;
  padding: 32px;
}

#businessArea .business_contents_top ul .num_box_col img {
  width: 120px;
  margin: 0 auto;
}

#businessArea .business_contents_top ul .num_box_col .num {
  font-family: var(--ff-en);
  font-size: 80px;
  font-weight: bold;
  line-height: 1;
  margin: 16px 0;
}

#businessArea .business_contents_top ul .num_box_col .txt,
#relatedArea .related_contents_top ul li .txt {
  font-size: var(--fs-l);
  font-weight: bold;
}

#businessArea .business_contents_top .txt,
#relatedArea .related_contents_top .txt {
  font-size: var(--fs-l);
  margin: 32px 0;
}

#btm_page #businessArea ul li h3 {
  min-height: inherit;
}

#relatedArea {
  padding: 0;
  margin-bottom: 160px;
  position: relative;
}

#relatedArea .related_contents {
  max-width: 1440px;
  margin: -120px auto 0;
  background-color: #fff;
  position: relative;
}

#relatedArea .section_ttl_wrap {
  flex-direction: row;
}

#relatedArea .section_ttl_wrap .inner {
  text-align: right;
}

#relatedArea ul {
  margin-top: 80px;
  display: flex;
  gap: min(5.486vw, 79px);
  flex-wrap: wrap;
}

#relatedArea ul li {
  width: calc((100% - min(5.486vw, 79px) * 2) / 3);
  display: flex;
  flex-direction: column;
}

#relatedArea ul li .picture {
  display: flex;
  flex-direction: column;
  flex: 1;
}

#relatedArea ul li figcaption {
  display: flex;
  flex-direction: column;
  flex: 1;
}

#relatedArea ul li .btn_more {
  margin-top: auto;
}

#relatedArea ul li .picture>a {
  display: block;
  width: 100%;
  aspect-ratio: 374/250;
  overflow: hidden;
}

#relatedArea ul li .picture>a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#relatedArea ul li h3 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.33;
  margin: 20px 0;
  min-height: calc(1.33em * 2);
}

#relatedArea ul li p {
  font-size: var(--fs-s);
  margin-bottom: 20px;
}

#relatedArea.btm {}

#relatedArea.btm ul {
  margin-top: 0;
}

#relatedArea.btm .related_contents {
  margin: 0 auto;
}

#relatedArea.btm .related_contents .inner {
  border-top: solid 2px var(--c-bl01);
}

/*=============== [business － generation] ===============*/
#generationArea01 {
  position: relative;
  margin-bottom: 160px;
}

#generationArea02 {
  position: relative;
  margin-bottom: 160px;
}

#generationArea03 {
  position: relative;
  margin-bottom: 240px;
}

#generationArea02 .section_ttl_wrap {
  flex-direction: row;
}

#generationArea01 .inner,
#generationArea02 .inner,
#generationArea03 .inner {}

#generationArea01 .inner .wrap,
#generationArea02 .inner .wrap,
#generationArea03 .inner .wrap {
  width: min(66.667vw, 960px);
}

#generationArea02 .inner .wrap {
  width: min(66.667vw, 960px);
  right: 0;
  position: absolute;
}

.generation_contents {
  margin-top: 40px;
  width: min(66.667vw, 960px);
  padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
  background-color: #fff;
}

.generation_contents .leadTxt {
  margin-bottom: 0;
}

.generation_contents .btn_more {
  margin-top: 40px;
}

#generationArea02 .section_ttl_wrap .generation_contents {
  position: absolute;
  right: 0;
  padding: min(5.556vw, 80px);
}

#generationArea02 .section_ttl_wrap .section_ttl {
  margin-left: min(5.556vw, 80px);
}

#generationArea01 .picture,
#generationArea03 .picture {
  width: min(83.333vw, 1200px);
}

#generationArea02 .picture {
  width: min(66.667vw, 960px);
}

/*=============== [business － generation - hydro] ===============*/
#hydroArea {
  position: relative;
  margin-bottom: 600px;
}

#hydroArea .inner .wrap {
  width: min(66.667vw, 960px);
}

#hydroArea .picture {
  width: min(83.333vw, 1200px);
}

#hydroArea .hydro_contents {
  margin-top: 40px;
  width: min(66.667vw, 960px);
  padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
  background-color: #fff;
}

#hydroArea .hydro_contents .leadTxt {
  margin-bottom: 0;
}

#hydroArea .hydro_contents ul {
  display: flex;
  padding: 0 48px;
  margin-top: 32px;
  justify-content: center;
  gap: 80px;
}

#hydroArea .hydro_contents ul .picture {
  width: 192px;
  min-height: inherit;
  text-align: center;
}

#hydroArea .hydro_contents ul .picture img {
  width: 160px;
  margin: 0 auto;
}

#hydroArea .hydro_contents ul figcaption {
  font-size: var(--fs-xl);
  font-weight: bold;
  margin: 8px 0;
}

#hydroArea .hydro_contents ul figcaption span {
  font-size: var(--fs-s);
  display: block;
}

#meritArea .merit_contents .inner {
  padding-bottom: 160px;
  border-bottom: solid 2px var(--c-bl01);
}

#meritArea .section_ttl_wrap.sub_ttl {
  margin: 0;
}

#meritArea .section_ttl_wrap.sub_ttl .section_ttl {
  text-align: center;
}

#meritArea .merit_list {
  margin-top: 80px;
}

#meritArea .merit_list .txt {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

#meritArea .merit_list ul {
  display: flex;
  padding: 0 48px;
  margin-top: 40px;
  justify-content: center;
  gap: 80px;
}

#meritArea .merit_list ul .picture {
  width: 192px;
  min-height: inherit;
  text-align: center;
}

#meritArea .merit_list ul .picture img {
  width: 160px;
  margin: 0 auto;
}

#meritArea .merit_list ul figcaption {
  font-weight: bold;
  margin: 8px 0;
}

#environmentalArea {
  margin-bottom: 160px;
}

#environmentalArea .section_ttl {
  margin-bottom: 80px;
}

#environmentalArea .environmental_contents .inner {
  display: flex;
  gap: 80px;
}

#environmentalArea .environmental_contents .txt,
#environmentalArea .environmental_contents .graph {
  width: 600px;
}

#environmentalArea .environmental_contents .graph figcaption {
  font-size: var(--fs-s);
  margin-top: 10px;
}

#s_hydroArea {
  position: relative;
  margin-bottom: 360px;
}

#s_hydroArea .section_ttl_wrap {
  flex-direction: row;
}

#s_hydroArea .inner .wrap {
  width: min(66.667vw, 960px);
  right: 0;
  position: absolute;
}

#s_hydroArea .section_ttl_wrap .section_ttl {
  margin-left: min(5.556vw, 80px);
}

#s_hydroArea .s_hydro_contents {
  margin-top: 40px;
  width: min(61.111vw, 880px);
  padding: min(5.556vw, 80px) 0 min(5.556vw, 80px)min(5.556vw, 80px);
  background-color: #fff;
  position: absolute;
  right: 0;
  /* border-bottom: solid 2px var(--c-bl01); */
}

#s_hydroArea .s_hydro_contents .leadTxt {
  margin-bottom: 48px;
}

#s_hydroArea .s_hydro_contents dt {
  margin-top: 24px;
  font-size: 24px;
  line-height: 1.33;
}

#s_hydroArea .s_hydro_contents dd ul {
  margin-top: 24px;
  margin-bottom: 48px;
  font-size: var(--fs-l);
}

#s_hydroArea .s_hydro_contents dd ul li {
  display: flex;
}

#s_hydroArea .s_hydro_contents dd ul li:before {
  content: "・";
  width: 1em;
}

#s_hydroArea .s_hydro_contents .btn_more {
  margin-top: 40px;
  width: 100%;
}

#s_hydroArea .s_hydro_contents .btn_more a {
  width: 100%;
}

#s_hydroArea .picture {
  width: min(55.556vw, 800px);
}

#s_hydroArea02 {
  max-width: 1280px;
  margin: 0 auto;
  padding-top: 80px;
}

#s_hydroArea02 .s_hydro_contents02 .inner {
  width: 800px;
  margin: 0 0 0 auto;
}

#s_hydroArea02 h2 {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 48px;
}

#s_hydroArea02 .s_hydro_contents02 .picture {
  margin-bottom: 32px;
}

#s_hydroArea02 h3 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 24px;
}

#s_hydroArea02 dt {
  font-size: var(--fs-l);
  font-weight: bold;
  margin-bottom: 16px;
}

#s_hydroArea02 dd {
  margin-bottom: 32px;
}

#s_hydroArea02 .reference {
  display: flex;
  gap: 40px;
  margin-top: 160px;
  margin-bottom: 80px;
}

#s_hydroArea02 .reference .box {
  background-color: #E6E6E6;
  padding: 16px 24px;
  width: 620px;
  margin-bottom: 16px;
}

#s_hydroArea02 .reference .box h4 {
  font-weight: bold;
  margin-bottom: 16px;
}

#s_hydroArea02 .reference .box li {
  font-size: var(--fs-xs);
  display: flex;
}

#s_hydroArea02 .reference .box li:before {
  content: "・";
  width: 1em;
}

#s_hydroArea02 .reference .box .txt {
  font-size: var(--fs-xs);
}

/*=============== [business － generation - plants] ===============*/
#plantsArea {
  position: relative;
  height: 1700px;
}

#plantsArea .plants_contents {
  margin-top: 70px;
  width: min(55.556vw, 800px);
  padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
  background-color: #fff;
}

#plantsArea .plants_map_section {
  padding-bottom: 160px;
  margin-top: 80px;
}

#plantsArea .plants_map_section .total_output {
  background-color: var(--c-bl01);
  color: #fff;
  display: flex;
  padding: 24px;
  align-items: center;
  justify-content: center;
  margin: 32px 0;
}

#plantsArea .plants_map_section .total_output .ttl {
  font-size: var(--fs-xl);
  font-weight: bold;
}

#plantsArea .plants_map_section .total_output .data {
  font-size: 48px;
  font-weight: 900;
  font-family: var(--ff-en);
  margin: 0 24px;
}

#plantsArea .plants_map_section .total_output .data span {
  font-size: 24px;
}

#plantsArea .plants_map_section .total_output .note {
  font-size: var(--fs-s);
}

#plantsArea .plants_map_section .plant_list_anc ul {
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  font-weight: bold;
}

#plantsArea .plants_map_section .plant_list_anc ul li {
  max-width: 240px;
  width: 100%;
}

#plantsArea .plants_map_section .plant_list_anc ul li a {
  border: 1px solid var(--c-bl01);
  border-radius: 4px;
  padding: 4px 8px 4px 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

#plantsArea .plants_map_section .plant_list_anc ul li a:after {
  content: "";
  display: inline-block;
  background-image: url("../img/common/ico_anc.svg");
  width: 20px;
  height: 20px;
  background-size: cover;
}

#plantslistArea {
  margin-bottom: 160px;
}

#plantslist>div {
  border-top: solid 2px var(--c-bl01);
  margin-bottom: 80px;
}

#plantslist .list_header {
  background-color: var(--c-bl01);
  color: #fff;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 32px;
  text-align: center;
  margin-bottom: 80px;
}

#plantslist .list_header .num {
  border-right: 1px solid #fff;
}

#plantslist .list_header dt {
  font-family: var(--ff-en);
  font-size: 48px;
  font-weight: bold;
}

#plantslist .list_header dt span {
  font-size: 24px;
}

#plantslist ul li {
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  margin-bottom: 40px;
  background-color: #fff;
}

#plantslist ul li .plants_name .plants_txt {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
}

#plantslist ul li .plants_name .name {
  font-size: var(--fs-xxl);
  font-weight: bold;
}

#plantslist ul li .plants_data {
	padding: 0 48px 32px 48px;	
	}

#plantslist ul li .plants_data_inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
}

#plantslist ul li .plants_data .picture{
  display:block;
  width:100%;
  aspect-ratio:580/386;
  overflow:hidden;
}

#plantslist ul li .plants_data .picture img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

#plantslist ul li .plants_data .plants_intro_text {
	margin-top: 24px;
	letter-spacing: 0.05em;
}

#plantslist ul li .plants_data dl {
  padding: 16px 0 16px 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

#plantslist ul li .plants_data dl dt,
#plantslist ul li .plants_data dl dd {
  border-bottom: 1px solid #E6E6E6;
  padding: 16px 0;
}

#plantslist ul li .plants_data dl dt:nth-of-type(1),
#plantslist ul li .plants_data dl dd:nth-of-type(1) {
  border-top: 1px solid #E6E6E6;
}

#plantslist ul li .plants_name {
  display: grid;
  grid-template-columns: 1fr 32px;
  align-items: center;
  column-gap: 24px;
  padding: 32px 48px;
  cursor: pointer;
}

#plantslist ul li .plants_name .plants_txt {
  min-width: 0;
}

#plantslist ul li .plants_name .outline {
  margin-top: 12px;
}

#plantslist ul li .acd_btn {
  width: 32px;
  height: 32px;
  border: none;
  background: none;
  padding: 0;
  position: relative;
  cursor: pointer;
  justify-self: end;
  align-self: center;
  flex-shrink: 0;
}

#plantslist ul li .acd_btn::before,
#plantslist ul li .acd_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--c-bl01);
  transform: translate(-50%, -50%);
  transition: 0.3s;
}

#plantslist ul li .acd_btn::before {
  width: 20px;
  height: 2px;
}

#plantslist ul li .acd_btn::after {
  width: 2px;
  height: 20px;
}

#plantslist ul li.is-open .acd_btn::after {
  opacity: 0;
}

#plantslistArea .btn_more a {
  margin: 80px auto;
}

/*=============== [business － service] ===============*/
#serviceArea01 {
  position: relative;
  margin-bottom: 200px;
}

#serviceArea02 {
  position: relative;
  margin-bottom: 200px;
}

#serviceArea03 {
  position: relative;
  margin-bottom: 280px;
}

#serviceArea01 .section_ttl_wrap,
#serviceArea03 .section_ttl_wrap {
  flex-direction: row;
}

#serviceArea01 .inner,
#serviceArea02 .inner,
#serviceArea03 .inner {}

#serviceArea01 .inner .wrap,
#serviceArea02 .inner .wrap,
#serviceArea03 .inner .wrap {
  width: min(66.667vw, 960px);
}

#serviceArea01 .inner .wrap,
#serviceArea03 .inner .wrap {
  width: min(66.667vw, 960px);
  right: 0;
  position: absolute;
}

.service_contents {
  margin-top: 40px;
  width: min(66.667vw, 960px);
  padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
  background-color: #fff;
}

.service_contents .leadTxt {
  margin-bottom: 0;
}

.service_contents .btn_more {
  margin-top: 40px;
}

#serviceArea01 .section_ttl_wrap .service_contents,
#serviceArea03 .section_ttl_wrap .service_contents {
  position: absolute;
  right: 0;
  padding: min(5.556vw, 80px);
}

#serviceArea01 .section_ttl_wrap .section_ttl,
#serviceArea03 .section_ttl_wrap .section_ttl {
  margin-left: min(5.556vw, 80px);
}

#serviceArea02 .section_ttl_wrap .section_ttl h2 {
  font-size: 80px;
}

#serviceArea01 .picture {
  width: min(55.556vw, 800px);
}

#serviceArea02 .picture {
  width: min(83.333vw, 1200px);
}

#serviceArea03 .picture {
  width: 100%;
}

/*=============== [business － service - maintenance] ===============*/
#maintenanceArea {
  position: relative;
  margin-bottom: 140px;
}

#maintenanceArea .inner .wrap {
  width: min(66.667vw, 960px);
}

.maintenance_contents {
  margin-top: 60px;
  width: min(66.667vw, 960px);
  padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
  background-color: #fff;
}

.maintenance_contents .leadTxt {
  margin-bottom: 0;
}

.maintenance_contents .btn_more {
  margin-top: 40px;
}

#maintenanceArea .section_ttl_wrap .section_ttl h2 {
  font-size: 80px;
}

#maintenanceArea .picture {
  width: min(83.333vw, 1200px);
}

#serviceArea .service_contents {
  width: 100%;
  margin: 0;
  padding: 0;
}

#serviceArea .inner {
  border-top: solid 2px var(--c-bl01);
  padding-top: 80px;
}

#serviceArea .service_contents .service_list {
  /* margin-top: 80px; */
  display: flex;
  gap: min(5.486vw, 79px);
  flex-wrap: wrap;
}

#serviceArea .service_contents .service_list>li {
  width: calc((100% - min(5.486vw, 79px) * 2) / 3);
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  background-color: #fff;
}

#serviceArea .service_contents .service_list li .picture {
  display: block;
  width: 100%;
  aspect-ratio: 374/250;
  overflow: hidden;
}

#serviceArea .service_contents .service_list li .picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#serviceArea .service_contents .service_list .cont {
  padding: 24px;
  text-align: center;
}

#serviceArea .service_contents .service_list .cont h3 {
  font-size: var(--fs-xxl);
  font-weight: bold;
  margin-bottom: 16px;
}

#serviceArea .service_contents .service_list .cont_list {
  border-top: solid 2px var(--c-bl01);
  text-align: left;
  font-size: var(--fs-s);
  padding-top: 16px;
  margin-top: 16px;
}

#serviceArea .service_contents .service_list .cont_list li {
  display: flex;
}

#serviceArea .service_contents .service_list .cont_list li:before {
  content: "・";
  width: 1em;
}

/*=============== [business － service - consulting] ===============*/
#consultingArea {
  position: relative;
  margin-bottom: 120px;
}

#consultingArea .section_ttl_wrap {
  flex-direction: row;
}

#consultingArea .inner .wrap {
  width: min(66.667vw, 960px);
}

#consultingArea .inner .wrap {
  width: min(66.667vw, 960px);
  right: 0;
  position: absolute;
}

.consulting_contents {
  margin-top: 40px;
  width: min(66.667vw, 960px);
  padding: min(5.556vw, 80px)min(5.556vw, 80px)min(5.556vw, 80px)0;
  background-color: #fff;
}

.consulting_contents .leadTxt {
  margin-bottom: 0;
}

.consulting_contents .btn_more {
  margin-top: 40px;
}

#consultingArea .section_ttl_wrap .consulting_contents {
  position: absolute;
  right: 0;
  padding: min(5.556vw, 80px);
}

#consultingArea .section_ttl_wrap .section_ttl {
  margin-left: min(5.556vw, 80px);
}

#consultingArea .picture {
  width: min(55.556vw, 800px);
}

#consultingArea02 {
  margin-bottom: 160px;
}

#consultingArea02 ul {
  display: flex;
  justify-content: space-between;
}

#consultingArea02 ul li {
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  background-color: #fff;
  width: 346px;
  text-align: center;
  padding: 24px;
  position: relative;
}

#consultingArea02 ul li:after {
  content: "";
  background-image: url("../img/business/service/consulting/ico_arw.svg");
  background-size: contain;
  width: 40px;
  height: 80px;
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -80px;
}

#consultingArea02 ul li:last-child:after {
  content: none;
}

#consultingArea02 ul li figcaption {
  font-size: var(--fs-xxl);
  font-weight: bold;
  margin: 10px 0;
}

#consultingArea02 ul li figcaption span {
  font-size: var(--fs-m);
  display: block;
  font-weight: normal;
  text-align: left;
}

#serviceDetailArea .inner {
  border-top: solid 2px var(--c-bl01);
  padding-top: 80px;
}

#serviceDetailArea .section_ttl {
  margin-bottom: 80px;
}

#commercializationArea {
  position: relative;
  margin-bottom: 400px;
  margin-top: 160px;
}

#commercializationArea .inner .wrap {
  width: min(66.667vw, 960px);
}

#commercializationArea .commercialization_contents {
  margin-top: 40px;
  width: min(66.667vw, 960px);
  padding: min(5.556vw, 80px)min(5.556vw, 70px)min(5.556vw, 80px)0;
  background-color: #fff;
}

#commercializationArea .commercialization_contents .leadTxt {
  margin-bottom: 48px;
}

#commercializationArea .section_ttl_wrap .section_ttl h2 {
  font-size: 80px;
}

#commercializationArea .picture {
  width: min(55.556vw, 800px);
}

#commercializationArea ul {
  margin-bottom: 48px;
}

#commercializationArea ul li {
  background-color: #E6E6E6;
  padding: 20px 16px;
  display: flex;
  gap: 20px;
  margin-bottom: 8px;
}

#commercializationArea ul li:before {
  content: "";
  display: inline-block;
  background-image: url("../img/common/ico_check.svg");
  width: 22px;
  height: 17px;
  background-size: cover;
  flex-shrink: 0;
}

/*=============== [business － service - partnership] ===============*/
#partnershipArea01 {
  position: relative;
  margin-bottom: 240px;
}

#partnershipArea02 {
  position: relative;
  margin-bottom: 1300px;
}

#partnershipArea03 {
  position: relative;
  margin-bottom: 420px;
}

#partnershipArea01 .section_ttl_wrap,
#partnershipArea02 .section_ttl_wrap {
  flex-direction: row;
}

#partnershipArea01 .inner .wrap,
#partnershipArea02 .inner .wrap,
#partnershipArea03 .inner .wrap {
  width: min(66.667vw, 960px);
}

#partnershipArea01 .inner .wrap,
#partnershipArea02 .inner .wrap {
  width: min(66.667vw, 960px);
  right: 0;
  position: absolute;
}

.partnership_contents {
  margin-top: 40px;
  width: min(66.667vw, 960px);
  background-color: #fff;
}

.partnership_contents .leadTxt {
  margin-bottom: 0;
}

.partnership_contents .btn_more {
  margin-top: 40px;
}

#partnershipArea01 .section_ttl_wrap .partnership_contents,
#partnershipArea02 .section_ttl_wrap .partnership_contents {
  position: absolute;
  right: 0;
  padding: min(5.556vw, 80px);
}

#partnershipArea03 .section_ttl_wrap .partnership_contents {
  position: absolute;
  padding: min(5.556vw, 80px)min(5.556vw, 52px)min(5.556vw, 80px)0;
}

#partnershipArea01 .section_ttl_wrap .section_ttl,
#partnershipArea02 .section_ttl_wrap .section_ttl {
  margin-left: min(5.556vw, 80px);
}

#partnershipArea01 .picture {
  width: 100%;
}

#partnershipArea02 .picture,
#partnershipArea03 .picture {
  width: min(66.667vw, 960px);
}

#partnershipArea01 dl dt,
#partnershipArea02 dl dt,
#partnershipArea03 dl dt {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 16px;
  margin-top: 32px;
}

#partnershipArea02 .merit {
  margin-top: 32px;
  display: flex;
  gap: 24px;
}

#partnershipArea02 .merit>li {
  background-color: #F2F2F2;
  padding: 16px;
}

#partnershipArea02 .merit>li .ttl {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

#partnershipArea02 .merit>li>ul li {
  display: flex;
}

#partnershipArea02 .merit>li>ul li:before {
  content: "・";
  width: 1em;
}

#partnershipArea02 .list {
  background-color: #F2F2F2;
  padding: 16px;
  margin-top: 16px;
}

#partnershipArea02 .list li {
  display: flex;
}

#partnershipArea02 .list li:before {
  content: "・";
  width: 1em;
}

/*=== [environment] ===*/
#environmentArea {
  margin-bottom: 160px;
  position: relative;
}

#environmentArea .environment_header .inner {
  position: absolute;
  left: 0;
  right: 0;
  text-align: left;
  padding-top: 80px;
}

#environmentArea .environment_contents {
  max-width: 1440px;
  margin: -120px auto 0;
  background-color: #fff;
  position: relative;
}

#environmentArea .environment_contents .inner {
  padding-top: 80px;
}

#environmentArea ul {
  margin: 80px 0;
  display: flex;
  gap: min(5.486vw, 79px);
  flex-wrap: wrap;
}

#environmentArea ul li {
  width: calc((100% - min(5.486vw, 79px) * 2) / 3);
  display: flex;
  flex-direction: column;
}

#environmentArea ul li .picture {
  display: flex;
  flex-direction: column;
  flex: 1;
}

#environmentArea ul li figcaption {
  display: flex;
  flex-direction: column;
  flex: 1;
  margin-bottom: 20px;
}

#environmentArea ul li .btn_more {
  margin-top: auto;
}

#environmentArea ul li .picture>a {
  display: block;
  width: 100%;
  aspect-ratio: 374/250;
  overflow: hidden;
}

#environmentArea ul li .picture>a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#environmentArea ul li h3 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.33;
  margin: 20px 0;
}

#environmentArea.btm .environment_contents {
  margin: 0 auto;
}

#environmentArea.btm .environment_contents .inner {
  border-top: solid 2px var(--c-bl01);
}

#environmentArea.btm ul {
  margin: 0;
}

#environmentArea.btm ul li h3 {
  margin-bottom: 0;
}

/*=== [environment - clean ] ===*/
#cleanArea {
  margin-bottom: 754px;
  position: relative;
}

#cleanArea .clean_header .inner {
  position: absolute;
  left: 0;
  right: 0;
  text-align: left;
  padding-top: 80px;
}

#cleanArea .clean_contents {
  width: min(66.667vw, 960px);
  background-color: #fff;
  margin-top: 40px;
  padding: min(5.556vw, 80px) min(5.556vw, 80px) min(5.556vw, 80px) 0;
}

#cleanArea .clean_contents .inner {
  padding-top: 80px;
}

#cleanArea .inner .wrap {
  width: min(66.667vw, 960px);
}

#cleanArea .clean_contents dt {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 16px;
  margin-top: 32px
}

#cleanArea .clean_contents .reception {
  background-color: #F2F2F2;
  padding: 16px;
  margin-top: 16px;
}

#cleanArea .clean_contents .reception .ttl {
  font-size: var(--fs-xl);
  font-weight: bold;
  margin-bottom: 10px;
}

#cleanArea .clean_contents .reception p {
  font-size: var(--fs-s);
  margin-bottom: 10px;
  display: flex;
}

#cleanArea .clean_contents .reception p:before {
  content: "・";
  width: 1em;
}

/*=== [environment - policy ] ===*/
#policyArea {
  position: relative;
}

#policyArea .policy_header .inner {
  position: absolute;
  left: 0;
  right: 0;
  text-align: left;
  padding-top: 80px;
}

#policyArea .policy_contents {
  width: min(66.667vw, 960px);
  background-color: #fff;
  margin-top: 40px;
  padding: min(5.556vw, 80px) min(5.556vw, 80px) min(5.556vw, 80px) 0;
}

#policyArea .policy_contents .inner {
  padding-top: 80px;
}

#policyArea .inner .wrap {
  width: min(66.667vw, 960px);
}

#activityArea .section_ttl_wrap .inner {
  padding-top: 80px;
  border-top: solid 2px var(--c-bl01);
}

#activityArea .activity_contents ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px;
}

#activityArea .activity_contents ul li {
  display: flex;
  flex-direction: column;
}

#activityArea .activity_contents ul li .ttl {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 16px;
}

#activityArea .activity_contents ul li:nth-child(2) .ttl,
#activityArea .activity_contents ul li:nth-child(3) .ttl {
  visibility: hidden;
}

#activityArea .activity_contents ul li .wrap {
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  background-color: #fff;
  padding: 8px 16px 24px;
  height: 100%;
  flex: 1;
}

#activityArea .activity_contents ul li .picture {
  display: flex;
  flex-direction: column;
  width: 100%;
}

#activityArea .activity_contents ul li .picture img {
  width: 240px;
  margin: 0 auto;
}

#activityArea .activity_contents ul li dt {
  font-size: var(--fs-xxl);
  font-weight: bold;
  margin-bottom: 16px;
  text-align: center;
}

#activityArea .activity_contents ul li dd {
  font-size: var(--fs-s);
  display: flex;
}

#activityArea .activity_contents ul li dd:before {
  content: "・";
  min-width: 1em;
}

#activityArea .activity_contents .inner {
  border-bottom: solid 2px var(--c-bl01);
  padding-bottom: 160px;
}

#effortsArea {
  margin-bottom: 160px;
}

#effortsArea .efforts_contents ul {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

#effortsArea .efforts_contents li {
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  background-color: #fff;
  display: flex;
  align-items: center;
}

#effortsArea .efforts_contents li .picture {
  width: 400px;
  flex-shrink: 0;
}

#effortsArea .efforts_contents li .cont {
  padding: 48px;
}

#effortsArea .efforts_contents li .cont h3 {
  font-size: var(--fs-xxl);
  font-weight: bold;
  margin-bottom: 16px;
}

#effortsArea .efforts_contents li .cont p {
  margin-bottom: 16px;
}

/*=== [environment - region ] ===*/
#regionArea {
  position: relative;
  margin-bottom: 160px;
}

#regionArea .region_contents {
  width: min(66.667vw, 960px);
  background-color: #fff;
  margin-top: 40px;
  padding: min(5.556vw, 80px) min(5.556vw, 80px) min(5.556vw, 80px) 0;
}

#regionArea .region_contents .inner {
  padding-top: 80px;
}

#regionArea .inner .wrap {
  width: min(66.667vw, 960px);
}

#regionArea02 {
  margin-bottom: 160px;
}

#regionArea02 ul {
  display: flex;
  justify-content: space-between;
}

#regionArea02 ul li {
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  background-color: #fff;
  width: 346px;
  text-align: center;
  padding: 24px;
  position: relative;
}

#regionArea02 ul li figcaption {
  font-size: var(--fs-xxl);
  font-weight: bold;
  margin: 10px 0;
}

#regionArea02 ul li figcaption span {
  font-size: var(--fs-m);
  display: block;
  font-weight: normal;
  text-align: left;
}

#jobArea {
  position: relative;
  margin-bottom: 160px;
}

#jobArea .job_header .inner {
  position: absolute;
  left: 0;
  right: 0;
  text-align: left;
  padding-top: 80px;
}

#jobArea .job_contents {
  width: min(66.667vw, 960px);
  background-color: #fff;
  margin-top: 40px;
  padding: min(5.556vw, 80px) min(5.556vw, 80px) min(5.556vw, 80px) 0;
}

#jobArea .job_contents .inner {
  padding-top: 80px;
}

#jobArea .inner .wrap {
  width: min(66.667vw, 960px);
}

#jobArea .picture,
#regionalArea .picture,
#waterfarmArea .picture,
#taxArea .picture {
  width: min(69.444vw, 1000px);
}

#regionalArea {
  position: relative;
  margin-bottom: 540px;
}

#regionalArea .job_header .inner {
  position: absolute;
  left: 0;
  right: 0;
  text-align: left;
  padding-top: 80px;
}

#regionalArea .regional_contents {
  width: min(66.667vw, 960px);
  background-color: #fff;
  margin-top: 40px;
  position: absolute;
  right: 0;
  padding: min(5.556vw, 80px);
}

#regionalArea .job_contents .inner {
  padding-top: 80px;
}

#regionalArea .inner .wrap {
  width: min(66.667vw, 960px);
  right: 0;
  position: absolute;
}

#regionalArea .section_ttl_wrap {
  flex-direction: row;
}

#regionalArea .section_ttl_wrap .section_ttl {
  margin-left: min(5.556vw, 80px);
}

#regionalArea .btn_more {
  margin-top: 32px;
}

#waterfarmArea {
  position: relative;
  margin-bottom: 295px;
}

#waterfarmArea .waterfarm_header .inner {
  position: absolute;
  left: 0;
  right: 0;
  text-align: left;
  padding-top: 80px;
}

#waterfarmArea .waterfarm_contents {
  width: min(66.667vw, 960px);
  background-color: #fff;
  margin-top: 40px;
  padding: min(5.556vw, 80px) min(5.556vw, 80px) min(5.556vw, 80px) 0;
}

#waterfarmArea .waterfarm_contents .inner {
  padding-top: 80px;
}

#waterfarmArea .inner .wrap {
  width: min(66.667vw, 960px);
}

#taxArea {
  position: relative;
  margin-bottom: 365px;
}

#taxArea .job_header .inner {
  position: absolute;
  left: 0;
  right: 0;
  text-align: left;
  padding-top: 80px;
}

#taxArea .tax_contents {
  width: min(66.667vw, 960px);
  background-color: #fff;
  margin-top: 40px;
  /* position: absolute;
  right: 0; */
  padding: min(5.556vw, 80px) min(5.556vw, 80px) min(5.556vw, 80px) 0;
}

#taxArea .tax_contents .inner {
  padding-top: 80px;
}

#taxArea .inner .wrap {
  width: min(66.667vw, 960px);
  /* right: 0;
  position: absolute; */
}

/* #taxArea .section_ttl_wrap {
  flex-direction: row;
} */

/* #taxArea .section_ttl_wrap .section_ttl {
  margin-left: min(5.556vw, 80px);
} */

#communityArea {
  margin-bottom: 160px;
}

#communityArea .community_contents ul {
  margin-top: 80px;
  display: flex;
  gap: min(1.389vw, 20px);
  flex-wrap: wrap;
}

#communityArea .community_contents ul li {
  width: calc((100% - min(1.389vw, 20px) * 3) / 4);
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  background-color: #fff;
}

#communityArea .community_contents ul li .picture {
  display: block;
  width: 100%;
  aspect-ratio: 305/203;
  overflow: hidden;
  min-height: inherit;
}

#communityArea .community_contents ul li .picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#communityArea .community_contents ul li dl {
  padding: 16px 24px;
}

#communityArea .community_contents ul li dt {
  font-size: var(--fs-xxl);
  font-weight: bold;
  min-height: calc(1.33em * 2);
  margin-bottom: 16px;
}

#communityArea .community_contents ul li dd {
  font-size: var(--fs-s);
}


/*=== [environment - visit ] ===*/
#visitArea {
  position: relative;
  margin-bottom: 340px;
}

#visitArea .visit_contents {
  width: min(66.667vw, 960px);
  background-color: #fff;
  margin-top: 40px;
  padding: min(5.556vw, 80px) min(5.556vw, 80px) min(5.556vw, 80px) 0;
}

#visitArea .visit_contents .inner {
  padding-top: 80px;
}

#visitArea .inner .wrap {
  width: min(66.667vw, 960px);
}

#visitArea .visit_contents li {
  display: flex;
  font-size: var(--fs-l);
}

#visitArea .visit_contents li:before {
  content: "・";
  width: 1em;
}



#courseArea .inner {
  padding-top: 80px;
  border-top: solid 2px var(--c-bl01);
}

#courseArea .course_contents ul {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 80px;
}

#courseArea .course_contents li {
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  background-color: #fff;
  display: flex;
}

#courseArea .course_contents li .picture {
  width: 600px;
  flex-shrink: 0;
}

#courseArea .course_contents li .cont {
  padding: 24px 48px;
}

#courseArea .course_contents li h3 {
  font-size: var(--fs-xxl);
  font-weight: bold;
  margin-bottom: 16px;
}

#courseArea .course_contents li dt {
  font-size: var(--fs-xl);
  font-weight: bold;
}

#courseArea .course_contents li dd {
  margin: 16px 0;
}

#courseArea .course_contents li p {
  font-size: var(--fs-s);
}

#tourArea {
  position: relative;
  margin-bottom: 320px;
}

#tourArea .tour_contents {
  width: min(66.667vw, 960px);
  background-color: #fff;
  margin-top: 40px;
  position: absolute;
  right: 0;
  padding: min(5.556vw, 80px);
}

#tourArea .tour_contents .inner {
  padding-top: 80px;
}

#tourArea .inner .wrap {
  width: min(66.667vw, 960px);
  right: 0;
  position: absolute;
}

#tourArea .section_ttl_wrap {
  flex-direction: row;
}

#tourArea .section_ttl_wrap .section_ttl {
  margin-left: min(5.556vw, 80px);
}

#tourArea .tour_contents h4 {
  margin-top: 32px;
  font-size: var(--fs-l);
  font-weight: bold;
}

#tourArea .tour_contents ul {
  margin-top: 16px;
}

#tourArea .tour_contents li {
  display: flex;
  font-size: var(--fs-l);
}

#tourArea .tour_contents li:before {
  content: "・";
  min-width: 1em;
}


/*=== [environment - spot ] ===*/
#spotArea {
  position: relative;
  margin-bottom: 80px;
}

#spotArea .spot_contents {
  width: min(66.667vw, 960px);
  background-color: #fff;
  margin-top: 40px;
  padding: min(5.556vw, 80px) min(5.556vw, 80px) min(5.556vw, 80px) 0;
}

#spotArea .spot_contents .inner {
  padding-top: 80px;
}

#spotArea .inner .wrap {
  width: min(66.667vw, 960px);
}

#spotlistArea {
  padding-bottom: 160px;
}

#spotlistArea #spotlist ul li {
  display: flex;
  flex-direction: column;
}

#spotlistArea #spotlist ul li img {
	width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

#spotlistArea .spotlist_contents .spotlist_anc ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  font-weight: bold;
  margin-top: 40px;
  margin-bottom: 160px;
}

#spotlistArea .spotlist_contents .spotlist_anc ul li {
  max-width: 240px;
  width: 100%;
}

#spotlistArea .spotlist_contents .spotlist_anc ul li a {
  border: 1px solid var(--c-bl01);
  border-radius: 4px;
  padding: 4px 8px 4px 16px;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

#spotlistArea .spotlist_contents .spotlist_anc ul li a:after {
  content: "";
  display: inline-block;
  background-image: url("../img/common/ico_anc.svg");
  width: 20px;
  height: 20px;
  background-size: cover;
}

#spotlist>div {
  border-top: solid 2px var(--c-bl01);
  padding-bottom: 160px;
}

#spotlist .spot_municipality + .spot_municipality {
  margin-top: 80px;
}

#spotlist .spot_municipality_name {
	font-size: var(--fs-xxl);
	font-weight: bold;
	margin-bottom: 24px;
}

#spotlist .spot_municipality_head {
	display: flex;
	align-items: center;
	gap: 32px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

#spotlist .spot_municipality_head .spot_municipality_name {
	margin-bottom: 0;
}

#spotlist .spot_municipality_actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

#spotlist .spot_municipality_actions .btn_more a {
	padding: 12px 20px;
	font-size: var(--fs-s);
}

#spotlist ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px 40px;
}

#spotlist ul .wrap {
	display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  background-color: #fff;
  padding: 16px 24px;
}

#spotlist ul .wrap .area {
  font-weight: bold;
}

#spotlist ul .wrap dt {
  font-size: var(--fs-xxl);
  font-weight: bold;
  margin: 16px 0;
}

#spotlist ul .wrap .btn_more {
  margin-top: 16px;
}

#spotlist .btn_more a:before {
  background-image: url(../img/common/ico_blank.svg);
  width: 15px;
  height: 15px;
}


/*=============== [contact] ===============*/
#contactFormArea {
  margin-top: 48px;
}

#contactFormArea .intro_txt {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
  margin-bottom: 80px;
}

#contactFormArea .contact_form {
  padding: 40px 0 80px;
}

#contactFormArea .contact_dtl {
  padding-bottom: 20px;
  margin-bottom: 40px;
  border-bottom: solid 1px #ccc;
}

#contactFormArea .contact_wrap {
  padding: 20px 0;
}

#contactFormArea .contact_wrap dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.33;
  letter-spacing: 0.03em;
  margin-bottom: 16px;
}

#contactFormArea .contact_wrap dt .required {
  display: inline-block;
  padding: 6px 8px;
  border-radius: 4px;
  background-color: #E5175C;
  font-size: 12px;
  line-height: 1;
  color: #fff;
}

#contactFormArea .contact_wrap dt .any {
  display: inline-block;
  padding: 6px 8px;
  border-radius: 4px;
  background-color: #ccc;
  font-size: 12px;
  line-height: 1;
  color: #fff;
}

#contactFormArea .contact_wrap dd {
  padding: 8px 16px;
  border: solid 1px #ccc;
  border-radius: 8px;
}

#contactFormArea .contact_wrap dd input,
#contactFormArea .contact_wrap dd select,
#contactFormArea .contact_wrap dd textarea {
  width: 100%;
}

#contactFormArea .contact_wrap dd input:focus,
#contactFormArea .contact_wrap dd select:focus,
#contactFormArea .contact_wrap dd textarea:focus {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

#contactFormArea .contact_wrap dd select {
  color: #999;
}

#contactFormArea .contact_wrap dd select.is-selected {
  color: var(--c-bl01);
}

#contactFormArea .contact_wrap dd select option {
  color: #999;
}

#contactFormArea .contact_wrap dd input::-webkit-input-placeholder,
#contactFormArea .contact_wrap dd textarea::-webkit-input-placeholder {
  color: #999;
}

#contactFormArea .contact_wrap dd input::-moz-placeholder,
#contactFormArea .contact_wrap dd textarea::-moz-placeholder {
  color: #999;
}

#contactFormArea .contact_wrap dd input:-ms-input-placeholder,
#contactFormArea .contact_wrap dd textarea:-ms-input-placeholder {
  color: #999;
}

#contactFormArea .contact_wrap dd input::-ms-input-placeholder,
#contactFormArea .contact_wrap dd textarea::-ms-input-placeholder {
  color: #999;
}

#contactFormArea .contact_wrap dd input::placeholder,
#contactFormArea .contact_wrap dd textarea::placeholder {
  color: #999;
}

#contactFormArea .contact_wrap dd.select_arw {
  position: relative;
}

#contactFormArea .contact_wrap dd.select_arw::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: solid 2px var(--c-bl01);
  border-bottom: solid 2px var(--c-bl01);
  position: absolute;
  top: 42%;
  right: 30px;
  -webkit-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%);
  pointer-events: none;
}

#contactFormArea .contact_wrap .attention {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.66;
  letter-spacing: 0.03em;
  margin-top: 16px;
}

#contactFormArea .contact_wrap:first-of-type {
  border-bottom: solid 1px #ccc;
}

#contactFormArea .contact_policy {
  padding: 32px;
  background-color: #f2f2f2;
  border-radius: 8px;
}

#contactFormArea .contact_policy p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.66;
  letter-spacing: 0.03em;
  margin-bottom: 16px;
}

#contactFormArea .contact_policy p a {
  color: #0000EE;
  text-decoration: underline;
}

#contactFormArea .contact_policy p a:hover {
  text-decoration: none;
}

#contactFormArea .contact_policy label {
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.03em;
}

#contactFormArea .contact_policy label input {
  margin-right: 8px;
}

#contactFormArea .contact_btn {
  margin-top: 40px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 32px;
}

#contactFormArea .contact_btn button[type=submit] {
  width: 284px;
  padding: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
  border-radius: 8px;
  background: var(--c-grd);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.03em;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#contactFormArea .contact_btn button[type=submit]::after {
  content: "";
  width: 16px;
  aspect-ratio: 1/1;
  background: url(../img/contact/icon_arw_right.svg) no-repeat center/contain;
  display: inline-block;
}

#contactFormArea .contact_btn button[type=submit]:disabled {
  opacity: 0.1;
  pointer-events: none;
}

#contactFormArea .contact_btn button[type=submit]:hover {
  opacity: 0.7;
}

#contactFormArea .contact_btn button[type=button] {
  width: 284px;
  padding: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
  border-radius: 8px;
  background: #fff;
  color: var(--c-bl01);
  border: solid 1px var(--c-bl01);
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.03em;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#contactFormArea .contact_btn button[type=button]::before {
  content: "";
  width: 16px;
  aspect-ratio: 1/1;
  background: url(../img/contact/icon_arw_left_blue.svg) no-repeat center/contain;
  display: inline-block;
}

#contactFormArea .contact_btn button[type=button]:hover {
  opacity: 0.7;
}

#doneArea {
  padding: 40px 0 80px;
}

#doneArea .intro_head {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
  margin-bottom: 32px;
}

#doneArea .intro_txt {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
  margin-bottom: 32px;
}

#doneArea .box {
  padding: 24px;
  background-color: #f2f2f2;
}

#doneArea .box_head {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
  margin-bottom: 24px;
}

#doneArea .box_txt {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

/*=============== [news] ===============*/
#archiveArea {
  padding: 80px 0;
}

#archiveArea .archive_list {
  margin-top: 80px;
  border-top: solid 1px #E6E6E6;
}

#archiveArea .archive_list li {
  border-bottom: solid 1px #E6E6E6;
}

#archiveArea .archive_list li a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 24px 0;
}

#archiveArea .archive_list li a span {
  width: 160px;
  font-family: var(--ff-en);
  font-size: 16px;
  line-height: 1.5;
}

#archiveArea .archive_list li a h3 {
  width: calc(100% - 160px);
  font-size: 16px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

#topicsArea {
  padding: 80px 0;
}

#topicsArea .topics_list {
  margin-top: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 40px 50px;
}

#topicsArea .topics_list li {
  width: calc((100% - 150px) / 4);
}

#topicsArea .topics_list li a {
  max-width: 260px;
  margin-inline: auto;
  display: block;
}

#topicsArea .topics_list li a .topics_thumb {
  width: 100%;
  aspect-ratio: 16/9;
  position: relative;
  overflow: hidden;
}

#topicsArea .topics_list li a .topics_thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
  object-fit: cover;
}

#topicsArea .topics_list li a .topics_date {
  margin: 10px 0;
  font-size: 12px;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

#topicsArea .topics_list li a h3 {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.33;
  letter-spacing: 0.03em;
}

#topicsArea .topics_list li a:hover h3 {
  text-decoration: underline;
}

.pager {
  margin-top: 40px;
}

.pager_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
}

.pager_btn {
  width: 40px;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 8px;
  border: solid 1px var(--c-bl01);
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}

.pager_btn.prev {
  margin-right: 8px;
}

.pager_btn.next {
  margin-left: 8px;
}

.pager_btn.current {
  pointer-events: none;
  color: #fff;
  background-color: var(--c-bl01);
}

.pager span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 40px;
  aspect-ratio: 1/1;
}

.post_date {
  margin-top: 24px;
  font-family: var(--ff-en);
  font-size: 24px;
  font-weight: bold;
  line-height: 1.33;
  letter-spacing: 0.03em;
}

#postArea .article_contents {
  padding: 40px 0 80px;
}

#postArea .article_wrap h2 {
  margin-bottom: 40px;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.33;
  letter-spacing: 0.03em;
}

#postArea .article_wrap h3 {
  font-size: 24px;
}

#postArea .article_wrap h4 {
  font-size: 20px;
}

#postArea .article_wrap p {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

#postArea .article_wrap .image_center {
  text-align: center;
  margin-bottom: 40px;
}

#postArea .article_wrap .image_center img {
  display: inline-block;
}

#postArea .article_wrap .column_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}

#postArea .article_wrap .column_flex .column_img {
  width: 50%;
}

#postArea .article_wrap .column_flex .column_txt {
  width: 50%;
  text-align: justify;
}

#postArea .article_wrap .images_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 40px;
}

#postArea .article_wrap .images_list li {
  width: 400px;
}

#postArea .article_wrap .images_list figcaption {
  font-weight: bold;
}

#postArea .postPager {
  padding: 40px 0 160px;
  border-top: solid 2px var(--c-bl01);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 30px;
}

#postArea .postPager_btn {
  width: 145px;
  padding: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 10px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: var(--c-grd);
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
}

#postArea .postPager_btn.prev::before {
  content: "";
  display: inline-block;
  width: 14px;
  aspect-ratio: 1/1;
  background: url(../img/news/icon_arw_left.svg) no-repeat center/contain;
}

#postArea .postPager_btn.archive::before {
  content: "";
  display: inline-block;
  width: 14px;
  aspect-ratio: 1/1;
  background: url(../img/news/icon_arw_top.svg) no-repeat center/contain;
}

#postArea .postPager_btn.next::after {
  content: "";
  display: inline-block;
  width: 14px;
  aspect-ratio: 1/1;
  background: url(../img/news/icon_arw_right.svg) no-repeat center/contain;
}

/*=============== [recruit] ===============*/
#recruitArea {
  padding: 0;
  position: relative;
}

#recruitArea .section_ttl_wrap .picture {
  width: max(50vw, 800px);
  min-height: 280px;
}

#recruitArea .anchor_list {
  margin-top: 40px;
  width: 60vw;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  padding: 80px 0;
}

#recruitArea .anchor_list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
  border-radius: 6px;
  border: solid 1px var(--c-bl01);
}

#recruitArea .anchor_list li a::after {
  content: "";
  width: 20px;
  aspect-ratio: 1/1;
  background: url(../img/recruit/icon_anchor.svg) no-repeat center/contain;
  display: inline-block;
}

.linkArea {
  padding: 80px 0 160px;
}

.linkArea .anchor_list {
  display: flex;
  gap: 80px;
}

.linkArea .anchor_list li {
  width: calc((100% - 160px) / 3);
  box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.25);
}

.linkArea .anchor_list li .text-wrap {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px 24px;
}

.linkArea .anchor_list li .text-wrap h3 {
  font-size: var(--fs-xxl);
  font-weight: bold;
}

.linkArea .anchor_list li .text-wrap p {
  font-size: var(--fs-m);
  font-weight: bold;
}

.linkArea .anchor_list li .text-wrap .link-btn {
  width: fit-content;
  padding: 16px 32px 16px 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 10px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  background: var(--c-grd);
}

.linkArea .anchor_list li .text-wrap .link-btn::before {
  content: "";
  width: 20px;
  aspect-ratio: 1/1;
  background: url(../img/recruit/icon_entry.svg) no-repeat center/contain;
  display: inline-block;
}

.linkArea .anchor_list li .text-wrap .link-btn.dl::before {
  content: "";
  width: 20px;
  aspect-ratio: 1/1;
  background: url(../img/common/ico_dl_wh.svg) no-repeat center/contain;
  display: inline-block;
}


#infoArea {
  padding: 0 0 160px;
}

#infoArea .recruit_contents .section_ttl h2 {
  font-size: 64px;
  margin-bottom: 16px;
}

#infoArea .recruit_contents.first {
  padding-top: 80px;
  border-top: solid 2px var(--c-bl01);
}

#infoArea .recruit_contents.second {
  padding-top: 80px;
  margin-top: 160px;
  border-top: solid 2px var(--c-bl01);
}

#infoArea .recruit_contents.third {
  padding-top: 80px;
  margin-top: 160px;
  border-top: solid 2px var(--c-bl01);
}

#infoArea .recruit_contents .recruit_list {
  border-top: solid 1px #E6E6E6;
  margin: 80px 0 40px;
}

#infoArea .recruit_contents .recruit_list .recruit_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: solid 1px #E6E6E6;
  padding: 24px 0;
}

#infoArea .recruit_contents .recruit_list .recruit_wrap dt {
  width: 160px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
  color: #266AB3;
}

#infoArea .recruit_contents .recruit_list .recruit_wrap dd {
  width: calc(100% - 160px);
  font-size: 16px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

#infoArea .recruit_contents .entryBtn a {
  width: 225px;
  padding: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 10px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  background: var(--c-grd);
}

#infoArea .recruit_contents .entryBtn a::before {
  content: "";
  width: 20px;
  aspect-ratio: 1/1;
  background: url(../img/recruit/icon_entry.svg) no-repeat center/contain;
  display: inline-block;
}

/*=============== [faq] ===============*/
#faqArea {
  padding: 0;
  margin-bottom: 200px;
  position: relative;
}

#faqArea .section_ttl_wrap .picture {
  width: max(50vw, 800px);
  min-height: 280px;
}

#faqArea .faq_contents {
  max-width: 1440px;
  margin: -80px auto 0;
  background-color: #fff;
  position: relative;
}

#faqArea .faq_contents .inner {
  padding-top: 80px;
}

#faqArea .faq_contents dl.faq_list {
  margin-top: 160px;
}

#faqArea .faq_contents dl.faq_list .faq_wrap {
  padding: 32px 48px;
  background-color: #fff;
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

#faqArea .faq_contents dl.faq_list .faq_wrap:not(:last-of-type) {
  margin-bottom: 32px;
}

#faqArea .faq_contents dl.faq_list .faq_wrap dt {
  padding-left: 64px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

#faqArea .faq_contents dl.faq_list .faq_wrap dt::before {
  content: "Q";
  width: 40px;
  height: 40px;
  aspect-ratio: 1/1;
  border-radius: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #fff;
  background-color: #E60012;
  font-family: var(--ff-en);
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
}

#faqArea .faq_contents dl.faq_list .faq_wrap dt:hover {
  cursor: pointer;
}

#faqArea .faq_contents dl.faq_list .faq_wrap dt span {
  display: block;
  width: 40px;
  aspect-ratio: 1/1;
  position: relative;
}

#faqArea .faq_contents dl.faq_list .faq_wrap dt span::before {
  content: "";
  width: 23px;
  height: 3px;
  background-color: var(--c-bl01);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#faqArea .faq_contents dl.faq_list .faq_wrap dt span::after {
  content: "";
  width: 3px;
  height: 23px;
  background-color: var(--c-bl01);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#faqArea .faq_contents dl.faq_list .faq_wrap dt.active span::after {
  background-color: transparent;
}

#faqArea .faq_contents dl.faq_list .faq_wrap dd {
  padding-left: 64px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  overflow: hidden;
  max-height: 0;
  position: relative;
}

#faqArea .faq_contents dl.faq_list .faq_wrap dd::before {
  content: "A";
  width: 40px;
  height: 40px;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: #266AB3;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: var(--ff-en);
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
}

#faqArea .faq_contents dl.faq_list .faq_wrap dd.open {
  max-height: 1000px;
  padding: 37px 30px 37px 64px;
}

/*=============== [privacy] ===============*/
#policyArea {
  padding: 0 0 200px;
}

#policyArea .section_ttl h2 {
  margin-bottom: 16px;
}

#policyArea .policy_contents {
  margin-top: 80px;
}

#policyArea .policy_contents p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

#policyArea .policy_contents p+p {
  margin-top: 40px;
}

#policyArea .policy_contents ol.policy_list {
  list-style-type: decimal;
  padding-left: 1.4em;
  margin: 40px 0;
}

#policyArea .policy_contents ol.policy_list li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

#regalArea {
  padding: 0 0 160px;
}

#regalArea .section_ttl {
  padding-top: 80px;
  border-top: solid 2px var(--c-bl01);
}

#regalArea .section_ttl h2 {
  font-size: 64px;
  margin-bottom: 16px;
}

#regalArea .regal_contents {
  margin-top: 80px;
}

#regalArea .regal_contents p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

#regalArea .regal_contents dl.regal_dtl {
  margin: 40px 0;
}

#regalArea .regal_contents dl.regal_dtl dt {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.33;
  letter-spacing: 0.03em;
  margin-bottom: 16px;
}

#regalArea .regal_contents dl.regal_dtl dt:not(:first-of-type) {
  margin-top: 40px;
}

#regalArea .regal_contents dl.regal_dtl dd p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

#regalArea .regal_contents dl.regal_dtl ol.regal_list {
  list-style-type: decimal;
  padding-left: 1.4em;
  margin-top: 16px;
}

#regalArea .regal_contents dl.regal_dtl ol.regal_list li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

/*=============== [sitemap] ===============*/
#sitemapArea {
  padding: 80px 0 160px;
}

#sitemapArea .section_ttl h2 {
  font-size: 64px;
  margin-bottom: 16px;
}

#sitemapArea ul.sitemap {
  margin-top: 80px;
  border: solid 1px #ccc;
}

#sitemapArea ul.sitemap li a {
  padding: 16px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

#sitemapArea ul.sitemap li a::before {
  content: "";
  width: 22px;
  aspect-ratio: 1/1;
  display: inline-block;
  background: url(../img/sitemap/icon_arw_right_blue.svg) no-repeat center/contain;
}

#sitemapArea ul.sitemap li a.toppage::before {
  background-image: url(../img/sitemap/icon_home.svg);
}

#sitemapArea ul.sitemap li a.contact::before {
  background-image: url(../img/sitemap/icon_mail.svg);
}

#sitemapArea ul.sitemap li a.recruit::before {
  background-image: url(../img/sitemap/icon_smile.svg);
}

#sitemapArea ul.sitemap li a.faq::before {
  background-image: url(../img/sitemap/icon_faq.svg);
}

#sitemapArea ul.sitemap li a.guide::before {
  background-image: url(../img/sitemap/icon_heart.svg);
}

#sitemapArea ul.sitemap li a.map::before {
  background-image: url(../img/sitemap/icon_map.svg);
}

#sitemapArea ul.sitemap li a.link::before {
  background-image: url(../img/sitemap/icon_clip.svg);
}

#sitemapArea ul.lower_list {
  padding-left: 80px;
}

#sitemapArea ul.lower_list li {
  border-top: solid 1px #ccc;
  border-left: solid 1px #ccc;
}

/*=============== [links] ===============*/
#companyArea {
  padding: 80px 0 160px;
}

#companyArea .section_ttl h2 {
  font-size: 64px;
  margin-bottom: 16px;
}

#companyArea .company_list {
  margin-top: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
}

#companyArea .company_list li {
  width: calc((100% - 160px) / 3);
}

#companyArea .company_list li h3 {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.33;
  letter-spacing: 0.03em;
  margin: 10px 0;
}

#companyArea .company_list li a.link_btn {
  width: 131px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4px;
  padding: 6px;
  border-radius: 4px;
  border: solid 1px var(--c-bl01);
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.03em;
}

#companyArea .company_list li a.link_btn::after {
  content: "";
  width: 16px;
  aspect-ratio: 1/1;
  background: url(../img/links/icon_arw_right_blue.svg) no-repeat center/contain;
  display: inline-block;
}

#coopArea {
  padding: 80px 0 160px;
}

#coopArea .section_ttl h2 {
  font-size: 64px;
  margin-bottom: 16px;
}

#coopArea .coop_list {
  margin-top: 80px;
  border-top: solid 1px #ccc;
}

#coopArea .coop_list li {
  padding: 24px;
  border-bottom: solid 1px #ccc;
}

#coopArea .coop_list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.66;
  letter-spacing: 0.03em;
}

#coopArea .coop_list li a::before {
  content: "";
  width: 24px;
  aspect-ratio: 1/1;
  background: url(../img/links/icon_arw_circle.svg) no-repeat center/contain;
  display: inline-block;
flex-shrink: 0;
}