@charset "utf-8";

/* 
=================================================================================

▼▼▼　テンプレJS用のCSS。不要なものは削除　▼▼▼

=================================================================================
*/
html {
  font-family: hiragino-kaku-gothic-pron, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #000;
}

/* アンカーリンクふわっと表示 */
html {
  scroll-behavior: smooth;
}

h1, h2, h3, h4, h5 {
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  /* PC用 */
  html {
    font-size: 10px;
  }
  .inner {
    position: relative;
    max-width: 100%;
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  /* SP用 */
  html {
    font-size: calc(10vw / 768 * 100); /* 最大値768px、文字サイズ10pxの場合 */
  }
  .inner {
    width: 100%;
    padding: 0 5rem;
    max-width: 100%;
    margin: auto;
  }
}

/* 
=================================================================================

▼▼▼　文字　▼▼▼

=================================================================================
*/
.serif{
  font-family: "Noto Serif JP", serif;
}
.hira {
  font-family: hiragino-kaku-gothic-pron, sans-serif;
}
.moch{
  font-family: momochidori, sans-serif;
}
.kakugo{
  font-family: hiragino-kaku-gothic-pron, sans-serif;
}
.shippori{
  font-family: "shippori-mincho-b1", sans-serif;
}
.b {
  font-weight: bold;
}
.m {
  font-weight: 500;
}

/* 
=================================================================================

▼▼▼　ちらつき対策（CSS）　▼▼▼

=================================================================================
*/

.loading {
  position: fixed;
  background: #fff;
  z-index: 9999;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 1s all;
  opacity: 1;
  pointer-events: all;
}

.header{
  position: fixed;
  top: 0;
  left: 0;
  background-image: linear-gradient(0deg, transparent, #00000080);
  width: 100%;
  z-index: 100;
  padding: 3rem 0;
  transition: background-color 0.5s ease;
}
.nav_active header{
  background-color: #000;
}
.header_inner{
  padding: 0 6rem;
  display: flex;
  align-items: center;
  gap: 4rem;
}
.logo{
  max-width: 30rem;
}
.head_menu{
  display: flex;
  align-items: center;
  gap: 2rem;
}
.head_item a{
  font-size: 1.4rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.head_item .material-symbols-outlined{
  font-size: 2rem;
  border: solid #fff 0.1rem;
  border-radius: 50%;
}
.scroll {
  /* margin-top: 6rem; */
  position: relative;
  text-align: center;
  color: #fff;
}
.scroll::before {
  animation: scroll 2s infinite;
  border-bottom: 0.1rem solid #fff;
  border-left: 0.1rem solid #fff;
  content: "";
  height: 1.5rem;
  margin: auto;
  position: absolute;
  right: calc(50% - -4rem);
  top: -35%;
  width: 1.5rem;
}
.scroll::after {
  animation: scroll 2s infinite;
  border-bottom: 0.1rem solid #fff;
  border-left: 0.1rem solid #fff;
  content: "";
  height: 1.5rem;
  margin: auto;
  position: absolute;
  left: calc(50% - -4rem);
  top: -35%;
  width: 1.5rem;
}
/* 矢印のアニメーション */
@keyframes scroll {
  0% {
    opacity: 0;
    transform: rotate(-45deg) translate(0, 0);
  }
  40% {
    opacity: 1;
  }
  80% {
    opacity: 0;
    transform: rotate(-45deg) translate(-1rem, 1rem);
  }
  100% {
    opacity: 0;
  }
}


/* .fv{
  width: 100%;
  height: 100vh;
} */
.mv_img img{
  display: block;
}
.mv{
  overflow: hidden;
  position: relative;
  z-index: 1;
}
/* .mv_bg{
  background-image: url(../img/mv_bg3.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  padding: 0.25vw 1.67vw 1.67vw 1.67vw;
} */
.mv_bg{
  padding: 0.25vw 1.67vw 1.67vw 1.67vw;
  position: relative;
}
.mv_bg2{
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.mv_bg3{
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.mv_bg3 video{
  width: 100%;
}
.mv_img{
  position: relative;
}
.mv_img img{
  width: 100%;
}
.fv_text{
  width: 83.33vw;
  position: absolute;
  top: 4vw;
  left: 50%;
  transform: translateX(-50%);
}
.mv_img::after{
  content: "";
  width: 100%;
  height: 25%;
  background-image: linear-gradient(transparent 0%, #000000);
  position: absolute;
  bottom: 0;
  left: 0;
}
.mv_bg3::after{
  content: "";
  width: 100%;
  height: 25%;
  background-image: linear-gradient(transparent 0%, #000000);
  position: absolute;
  bottom: 0;
  left: 0;
}
.mv_img01{
  width: 63.33vw;
  margin: auto;
}
.fv_box{
  /* margin: 43vw auto 0vw; */
  margin:min(43vw, calc(100vh - 28vh)) auto 0vw
}
.mv_img02{
  width: 83.33vw;
  margin: 0 auto 0.83vw;
  text-align: center;
}
.mv_img02 img{
  width: 48.44vw;
}
.cta_btn{
  width: 28rem;
  position: fixed;
  bottom: 14vw;
  right: 4vw;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(3rem);

  transition:
    opacity .6s ease,
    transform .6s ease,
    visibility .6s ease;
}
.cta_btn.btn_active{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.cta_btn:hover{
  opacity: 0.5;
}
.mv_text{
  max-width: fit-content;
  margin: auto;
  font-size: 0.52vw;
  color: #fff;
}
.section_inner{
  max-width: 100rem;
  margin: auto;
}
.section_inner02{
  max-width: 110rem;
  margin: auto;
}
.white{
  color: #fff;
}
.bg_black{
  background-color: #000;
}
.mv_title{
  font-size: 4.5rem;
  color: #fff;
  text-align: center;
  margin-top: 5rem;
}
.f_yellow{
  color: #a08f67;
}
.f_blue{
  color: #0099e2;
}
.mv_link{
  border-bottom:solid #fff 0.1rem;
}
.mv_link::after{
  content: "arrow_forward";
  font-family: 'Material Symbols Outlined';
  width: 0.75rem;
  height: 0.5rem;
  font-size: 1rem;
  color: #000;
  background-color: #fff;
  border-radius: 50%;
}
.mv_link_list{
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 78rem;
  margin: 0rem auto;
  padding: 2rem 0;
}
.mv_link_item{
  font-size: 4.5rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid #a08f67 0.1rem;
  border-radius: 1rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0.5rem 0.5rem 2rem -0.5rem #a08f67;
}
.long{
  display: block;
  transform: scale(0.75, 1);
  transform-origin: top left;
  width: 133.5% !important;
}
.mv_link_item{
  display: block;
  width: 100%;
  height: 100%;
}
.mv_link_item::before{
  content: "";
  width: 5rem;
  height: 100%;
  background-color: #a08f67;
  position: absolute;
  top: 0;
  left: 0;
}
.arrow{
  display: flex;
  align-items: center;
  justify-content: center;
}
.link_arrow01{
  width: 5rem;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #a08f67;
  overflow: hidden;
}
.link_arrow01 .material-symbols-outlined{
  color: #000;
  font-size: 3rem;
  font-weight: bold;
}
.mv_link_item a:hover .material-symbols-outlined{
  animation: arrowAnime .210s;
}
@keyframes arrowAnime {
  0% { transform: translateY(0); }
  49% { transform: translateY(100%); }
  50% { transform: translateY(-100%); }
  51% { transform: translateY(-100%); }
  100% { transform: translateY(0); }
}
@keyframes arrowAnime2 {
  0% { transform: translateX(0); }
  49% { transform: translateX(100%); }
  50% { transform: translateX(-100%); }
  51% { transform: translateX(-100%); }
  100% { transform: translateX(0); }
}


.about_box{
  position: relative;
  padding-top: 5rem;
}
.about_box p{
  width: 50%;
  margin-top: 1rem;
  letter-spacing: 0.2rem;
  line-height: 1.8;
}
.yess_text{
  font-size: 5rem;
}
.logo02{
  width: 30rem;
}
.img01{
  max-width: 47rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: calc(50% + 7rem);
}
.feature_list{
  padding-top: 2rem;
}
.feature_content_bg1{
  background-image: url(../img/contents_bg1.webp);
  background-size: 100% 100%;
}
.feature_content_bg2{
  background-image: url(../img/contents_bg2.webp);
  background-size: 100% 100%;
}
.feature_content_bg3{
  background-image: url(../img/contents_bg3.webp);
  background-size: 100% 100%;
}
.feature_content_bg4{
  background-image: url(../img/contents_bg4.webp);
  background-size: 100% 100%;
}
.feature_content_bg5{
  background-image: url(../img/contents_bg5.webp);
  background-size: 100% 100%;
}
.feature_contents{
  padding: 8rem 0 10rem;
}
.accordion-header {
  position: relative;
  cursor: pointer;
}
.accordion-content {
  overflow: hidden;
  height: 0;
  margin-top: 0;
  transition: height 0.3s ease, margin-top 0.3s ease;
}
.feature_main_title{
  font-size: 5rem;
  text-align: center;
  padding-top: 5rem;
  color: #fff;
}
.feature_title{
  max-width: 120rem;
  margin: -0.1rem auto 0;
  font-size: 3.6rem;
  color: #fff;
  text-align: center;
  padding: 1rem 0;
  border-top: solid #a08f67 0.1rem;
  border-bottom: solid #a08f67 0.1rem;
  position: relative;
}
.accordion-icon {
  font-size: 3rem;
  color: #000;
  background-color: #a08f67;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5rem;
  border-radius: 50%;
}
.icon-minus {
  display: none;
}
.js-accordion.is-active .icon-plus {
  display: none;
}
.js-accordion.is-active .icon-minus {
  display: block;
}

.ls01{
  letter-spacing: -0.1rem;
}
.y_under{
  position: relative;
  z-index: 1;
}
.y_under::after{
  content: "";
  display: block;
  width: 100%;
  height: 30%;
  background-color: #a08f67;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.b_under{
  background: linear-gradient(transparent 50%, #fff4bb 50%);
}

.feature_contents_title{
  font-size: 5rem;
  text-align: center;
  margin-top: 3rem;
  filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 1));
}
.m_auto{
  margin: auto;
}
.contents01_bg{
  display: flex;
  align-items: start;
  gap: 2rem;
  color: #000;
  background-color: #FFFFFF;
  border: solid #a08f67 0.4rem;
  border-radius: 1.5rem;
  padding: 3rem 2rem;
  margin-top: 2rem;
}
.img02{
  width: 46rem;
}
.img02_1{
  width: 38rem;
}
.contents01_text{
  margin-top: 1rem;
}
.contents01_text h3{
  font-size: 3rem;
}
.contents01_text p{
  font-size: 2rem;
  margin-top: 2rem;
  line-height: 1.75;
  letter-spacing: 0.2rem;
}
.contents02_bg{
  color: #000;
  background-color: #FFFFFF;
  border: solid #a08f67 0.4rem;
  border-radius: 1.5rem;
  padding: 7rem;
  margin-top: 2rem;
}
.contents02_text{
  font-size: 1.6rem;
  margin-top: 2.5rem;
}
.contents03_bg{
  background-color: initial;
  border: initial !important;
}
.contents03_bg .contents01_text{
  color: #fff;
}
.img_logo01{
  width: 22rem;
  margin: 3rem auto 0;
}
.img25{
  width: 81.5rem;
  margin: 3rem auto 0;
}
.img12{
  width: 29rem;
}
.img13{
  margin-top: 5.5rem;
}
.archive_title{
  font-size: 3rem;
  text-align: center;
  margin-top: 5rem;
}
.archive_list{
  display: flex;
  align-items:center;
  justify-content: center;
  gap: 2.5rem;
  margin: 2rem auto 0rem;
}
.archive_item{
  width: calc(99.99% / 3);
}
.archive_icon{
  width: 1.5rem;
}
.archive_name{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.8rem;
  margin-top: 2rem;
}
.archive_address{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.4rem;
}
.archive_address_none{
  height: 2.1rem;
}
.archive_detail{
  padding: 1rem;
  border: solid #fff 0.2rem;
  border-radius: 1rem;
  font-size: 1.4rem;
  margin-top: 1rem;
}
.archive_detail_table{
  width: 100%;
}
.archive_detail_table tr td:first-child{
  width: 20%;
}
.archive_link a{
  font-size: 2.2rem;
  font-weight: bold;
  color: #000;
  background-color: #fff;
  width: 36rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  margin: 6rem auto 0;
  gap: 1rem;
  padding: 1rem 0px;
  transition: none;
}
.case_tab_list {
  max-width: 76rem;
  margin: auto;
  display: flex;
  align-items: start;
  justify-content: center;
  gap: 2.5rem;
  margin-top: 5rem;
}
.content-box {
  display: none;
}
.section_p{
  padding: 15rem 0 5rem;
}
.section_title01{
  position: relative;
}
.section_title01 h2{
  width: fit-content;
  text-align: center;
  font-size: 5rem;
  margin: auto;
  border-bottom: dotted #dab425 0.5rem;
  line-height: 1.2;
}
.section_title01_comment{
  font-size: 3rem;
  border: solid #000 0.2rem;
  border-radius: 1.5rem;
  padding: 0.5rem 1.5rem;
  position: absolute;
  top: -11rem;
  left: calc(50% - 40rem);
}
.section_title01_comment::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 80%;
  border-style: solid;
  border-width: 2rem 0 0 2rem;
  border-color: #000000 transparent transparent;
  translate: -50% 100%;
}
.section_title01_comment::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 80%;
  border-style: solid;
  border-width: 1.5rem 0 0 1.5rem;
  border-color: #fff transparent transparent;
  translate: calc(-50% + 0.05rem) 100%;
}
.case_tab_item{
  width: 50%;
  font-size: 1.6rem;
  text-align: center;
  cursor: pointer;
}
.case_tab_item h4{
  font-size: 1.6rem;
  color: #009577;
  text-align: start;
  margin-top: 1rem;
}
.tab_text{
  font-size: 1.4rem;
  text-align: start;
  margin-top: 1rem;
}
.tab_link01 a{
  font-size: 1.4rem;
  color: #fff;
  background-color: #009577;
  width: 12rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  margin: 2rem auto 0;
  gap: 1rem;
  padding: 1rem 0px;
  transition: none;
}
.tab_link01 a .material-symbols-outlined{
  font-size: 1.5rem;
}
.tab_link02 a .material-symbols-outlined{
  font-size: 1.5rem;
}
.tab_link02 a{
  font-size: 1.4rem;
  color: #fff;
  background-color: #009577;
  width: 23rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  margin: 3rem auto 0;
  gap: 1rem;
  padding: 1rem 0px;
  transition: none;
}
.case_tab_contents_group{
  margin-top: 5rem;
}
.case_company{
  font-size: 2rem;
}
.case_title{
  font-size: 3rem;
  margin-top: 1rem;
  color: #009577;
}
.case_subtitle{
  font-size: 2rem;
  color: #009577;
}
.contents_text_box{
  display: flex;
  align-items: start;
  gap: 2rem;
  margin-top: 3.5rem;
}
.contents_img{
  width: 36rem;
}
.contents_text p{
  font-size: 1.4rem;
  margin-top: 1rem;
  letter-spacing: 0.05rem;
  line-height: 2;
}
.article_img01{
  width: 25rem;
}
.case_contents_link a{
  font-size: 1.4rem;
  color: #fff;
  background-color: #000;
  width: 22rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  margin: 6rem auto 0;
  gap: 1rem;
  padding: 1rem 0px;
  transition: none;
}
.section_title02{
  display: flex;
  align-items: end;
  gap: 0.5rem;
  width: fit-content;
  font-size: 5rem;
  margin: auto;
}
.section_title02_box h2{
  font-size: 5rem;
}
.section_title02_box p{
  font-size: 1.8rem;
}
.article_list{
  display: flex;
  gap: 2.5rem;
  margin-top: 10rem;
}
.article_list li{
  width: calc(99.99% / 3);
}
.article_item a{
  padding: 1.5rem;
  border-radius: 2rem;
  background-color: #fff;
  display: block;
  width: 100%;
  height: 100%;
  color: #000;
}
.article_category_box{
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
}
.article_category{
  font-size: 1rem;
  color: #fff;
  padding: 0.5rem;
  border-radius: 1rem;
}
.bg_orange{
  background-color: #ee9e00;
}
.article_title_top{
  font-size: 1.6rem;
  margin-top: 2rem;
}

.case_tab_contents_group{
  display: none;
}

.case_tab_contents{
  display: none;
}

.case_tab_contents.active{
  display: block;
  animation: fadeIn .5s ease;
}

@keyframes fadeIn{
  from{
    opacity: 0;
    transform: translateY(20px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

.yess_map{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.yess_map_link{
  width: 23rem;
  font-size: 1.6rem;
  text-align: center;
  color: #fff;
  background-color: #009577;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 1rem 2rem;
  position: relative;
}
.yess_map_link .material-symbols-outlined{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
}
.contents01_link_box{
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 2.5rem;
  color: #000;
  margin-top: 5rem;
}
.contents01_link_box li{
  width: calc(99.99% / 3);
  color: #fff;
  background-color: #85754e;
  padding: 1rem;
  border-radius: 1rem;
  font-size: 3rem;
  text-align: center;
  position: relative;
}
.contents01_link_box li a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.contents01_link_arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
}
.contents01_link_arrow .arrow{
  font-size: 3rem;
  color: #fff;
  font-weight: bold;
}
.archive_movie{
  width: 50%;
}
.archive_movie iframe{
  width: 100%;
  height: 100%;
}
.archive_movie_text{
  width: 50%;
  font-size: 2rem;
}

.foot_list{
  display: flex;
  gap: 2rem;
  margin-top: 3rem;
  margin-bottom: 5rem;
}
.foot_list li{
  width: 50%;
  position: relative;
  overflow: hidden;
  border-radius: 2rem;
}
.foot_list li::after {
  content: '';
  position: absolute;
  top: -100px;
  left: -100px;
  width: 50px;
  height: 50px;
  background-image: linear-gradient(
    100deg,
    rgba(255, 255, 255, 0) 10%,
    rgba(255, 255, 255, 1) 100%,
    rgba(255, 255, 255, 0) 0%
  );
  /* アニメーション */
  animation-name: shiny;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
@keyframes shiny {
  0% {
      transform: scale(0) rotate(25deg);
      opacity: 0;
  }

  50% {
      transform: scale(1) rotate(25deg);
      opacity: 1;
  }

  100% {
      transform: scale(50) rotate(25deg);
      opacity: 0;
  }
}
.foot_text_box{
  text-align: center;
}
.foot_text_box h3{
  font-size: 3rem;
}
.foot_text_box p{
  font-size: 1.8rem;
  margin-top: 1.5rem;
}
.foot_img01{
  width: 54.5rem;
  margin: 3rem auto;
}
.foot_link a{
  font-size: 3.2rem;
  border-radius: 1rem;
  color: #fff;
  background-color: #a08f67;
  width: 66rem;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1rem 0;
  transition: none;
  position: relative;
  overflow: hidden;
}
.foot_link a::after {
  content: '';
  position: absolute;
  top: -100px;
  left: -100px;
  width: 50px;
  height: 50px;
  background-image: linear-gradient(
    100deg,
    rgba(255, 255, 255, 0) 10%,
    rgba(255, 255, 255, 1) 100%,
    rgba(255, 255, 255, 0) 0%
  );
  /* アニメーション */
  animation-name: shiny;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.foot_arrow{
  overflow: hidden;
}
.foot_arrow .material-symbols-outlined{
  font-size: 3rem;
}
.foot_link:hover .foot_arrow .material-symbols-outlined{
  animation: arrowAnime2 .210s;
}
.foot2{
  max-width: 80rem;
  margin: auto;
}
.foot_logo{
  width: 45rem;
  margin: auto;
}
.foot_list2{
  font-size: 1.8rem;
  margin-top: 4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: center;
}
.foot_item2{

}
.foot_copy{
  font-size: 1.6rem;
  text-align: center;
  margin-top: 6rem;
}
.bg_white{
  background-color: #fff;
}
.foot_text_box{
  padding: 5rem 0;
}



@media screen and (max-width: 768px) {
  .header{
    background-image: initial;
  }

  .header_inner{
    justify-content: end;
  }
  .cta_btn{
    width: 90%;
    right: initial;
    left: 5%;
    bottom: 4rem;
  }
  .mv_bg3{
    top:-21rem
  }
  .mv_bg3::after{
    display: none;
  }
  .logo img{
    width: 33rem;
  }
  .mv_img02{
    width: 64rem;
    margin: 75rem auto 2rem;
  }
  .mv_img02 img{
    width: 100%;
  }
  .mv_img::after{
    height: 35%;
  }
  .mv_text{
    font-size: 1.5rem;
    max-width: 67rem;
  }
  .mv_title{
    margin: auto;
    font-size: 5.5rem;
    letter-spacing: -0.1rem;
  }
  .mv_link{
    float: right;
  }
  .mv_link_list{
    max-width: 59rem;
    margin: 0rem auto 0;
    padding: 8rem 0;
  }
  .mv_link_item{
    line-height: 1.2;
    padding: 2rem 0;
  }
  .about_box{
    padding-top: 14rem;
  }
  .logo02{
    width: 35rem;
    margin: auto;
  }
  .about_box p{
    width: 100%;
    max-width: 67rem;
    margin: 3rem auto 0;
    font-size: 3rem;
  }
  .img01{
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    width: 100%;
    margin: auto;
    margin-top: 2rem;
  }
  .feature_main_title{
    font-size: 6rem;
  }
  .yess_text{
    text-align: center;
  }
  .feature_main_title{
    padding-top: 10rem;
  }
  .feature_content_bg1{
    background-image: url(../img/sp_contents_bg1.webp);
  }
  .feature_content_bg2{
    background-image: url(../img/sp_contents_bg2.webp);
  }
  .feature_content_bg3{
    background-image: url(../img/sp_contents_bg3.webp);
  }
  .feature_content_bg4{
    background-image: url(../img/sp_contents_bg4.webp);
  }
  .feature_content_bg5{
    background-image: url(../img/sp_contents_bg5.webp);
  }
  .section_inner{
    max-width: 67rem;
  }
  .section_inner02{
    max-width: 67rem;
  }
  .feature_title{
    font-size: 5rem;
    line-height: 1.2;
  }
  .feature_contents_title{
    font-size: 6rem;
  }
  .contents01_bg{
    border: solid #a08f67 0.6rem;
    padding: 5.5rem 3.5rem;
    border-radius: 5rem;
    margin-top: 4rem;
  }
  .contents02_bg{
    border: solid #a08f67 0.6rem;
    padding: 5.5rem 3.5rem;
    border-radius: 5rem;
  }
  .contents01_text{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .contents01_text h3{
    font-size: 4rem;
    text-align: center;
  }
  .img02{
    width: 100%;
    margin-top: 3rem;
  }
  .contents01_text p{
    font-size: 2.4rem;
  }
  .archive_title{
    font-size: 4rem;
  }
  .archive_list{
    max-width: 59rem;
    flex-direction: column;
    gap: 5rem;
  }
  .archive_item{
    width: 100%;
  }
  .archive_name{
    font-size: 3.6rem;
  }
  .archive_icon{
    width: 3rem;
  }
  .archive_address{
    font-size: 2.8rem;
  }
  .archive_detail{
    font-size: 2.8rem;
  }
  .archive_link a{
    width: 44rem;
    font-size: 2.6rem;
  }
  .accordion-icon{
    font-size: 7rem;
    right: 3rem;
    color: #fff;
  }
  .section_title01 h2{
    font-size: 6rem;
  }
  .section_title01_comment{
    left: calc(50% - 30rem);
  }
  .case_tab_list{
    flex-direction: column;
    gap: 8rem;
  }
  .case_tab_item{
    width: 100%;
    font-size: 3.6rem;
  }
  .tab_text02{
    font-size: 2.4rem;
  }
  .case_tab_item h3{
    font-size: 2.4rem;
  }
  .case_tab_item h4{
    font-size: 3rem;
  }
  .tab_text{
    font-size: 2.2rem;
  }
  .tab_link01 a{
    width: 18rem;
    font-size: 2.2rem;
  }
  .tab_link01 a .material-symbols-outlined{
    font-size: 3rem;
  }
  .tab_link02 a{
    font-size: 2.4rem;
    width: 38rem;
    margin: 8rem auto 0;
  }
  .tab_link02 a .material-symbols-outlined{
    font-size: 3rem;
  }
  .contents_text_box{
    flex-direction: column;
    margin-top: 6rem;
  }
  .contents_img{
    width: 90%;
    margin: auto;
  }
  .case_company{
    font-size: 2.4rem;
  }
  .case_title{
    font-size: 3.6rem;
  }
  .case_subtitle{
    font-size: 2.6rem;
  }
  .contents_text p{
    font-size: 2rem;
  }
  .img12{
    width: 100%;
    margin-top: 3rem;
  }
  .img13{
    width: 100%;
  }
  .img02_1{
    width: 100%;
  }
  .yess_map{
    justify-content: center;
  }
  .yess_map_link{
    width: 34rem;
    font-size: 2.4rem;
    margin: 3rem auto 0;
  }
  .yess_map_link .material-symbols-outlined{
    font-size: 3rem;
  }
  .contents01_link_box li{
    padding: 2rem 1rem 6rem 1rem;
  }
  .contents01_link_arrow{
    top: 65%;
    transform: translateX(50%);
    right: 50%;
  }
  .img25{
    width: 80%;
  }
  .contents01_link_arrow .arrow{
    font-size: 5rem;
  }
  .section_title02{
    flex-direction: column;
    align-items: center;
  }
  .section_title02_box h2{
    text-align: center;
  }
  .section_title02_box p{
    font-size: 2.4rem;
  }
  .article_list{
    width: 150rem;
  }
  .sp_section_p{
    padding: 8rem 0 ;
  }
  .sp_section_p2{
    padding: 8rem 0 10rem;
  }
  .article_category_box{
    font-size: 2.1rem;
  }
  .article_title{
    font-size: 2.5rem;
  }
  .section_title02{
    font-size: 6rem;
  }
  .foot_list{
    flex-direction: column;
  }
  .foot_list li{
    width: 100%;
  }
  .foot_text_box h3{
    font-size: 5rem;
  }
  .foot_text_box p{
    font-size: 3rem;
  }
  /* 
=================================================================================

▼▼▼　ハンバーガーメニュー　▼▼▼

=================================================================================
*/

/* ▼▼ トグルボタン ▼▼ */
:root {
  --hamburger-size: 13rem; /* ハンバーガーアイコンサイズ */
  --hamburger-line: 0.5; /* ハンバーガーアイコンの横線の長さ */
}
.hamburger_area {
  position: relative;
  z-index: 12;
}
.toggle_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 11;
  width: 13rem;
  height: var(--hamburger-size);
  transition: all 0.5s;
  cursor: pointer;
  margin: 0 0 0 auto;
  background-color: #fff;
  border: solid #a08f67 0.5rem;
  border-radius: 2rem;
}
.toggle_btn span {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  right: calc((99.99% - (var(--hamburger-size) * var(--hamburger-line))) / 2);
  width: calc(var(--hamburger-size) * var(--hamburger-line));
  height: calc(var(--hamburger-size) * 0.04);/* ハンバーガーアイコンの縦線の長さ */
  border-radius: 50vmin;
  background-color: #a08f67;
  transition: all 0.5s;
}
.toggle_btn span:nth-child(1) {
  transform: translateY(calc(var(--hamburger-size) * -0.2));
}
.toggle_btn span:nth-child(2) {
}
.toggle_btn span:nth-child(3) {
  transform: translateY(calc(var(--hamburger-size) * 0.2));
  font-size: calc(var(--hamburger-size) * 0.2);
  color: #a08f67;
  background-color: initial;
}

/* オープン時 */
body.open .toggle_btn {
  opacity: 0;
}
body.open .toggle_btn span {
  background-color: #a08f67;
}
body.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(0) rotate(225deg);
  transform: translateY(0) rotate(225deg);
}
body.open .toggle_btn span:nth-child(2) {
  -webkit-transform: translateY(0) rotate(-225deg);
  transform: translateY(0) rotate(-225deg);
}
body.open .toggle_btn span:nth-child(3) {
  opacity: 0;
}

/* ▲▲ トグルボタン ▲▲ */

/* ▼ グローバルナビ ▼ */
.gloval-nav {
  background-color: #a08f67;
  color: #fff;
  position: fixed;
  z-index: 11;
  top: 0;
  bottom: 0;
  right: 0;
  padding: 4rem 2rem;
  transform: translateX(100%);
  transition: 1s all;
  width: 70%;
  max-height: 70rem;
  border-radius: 0 0 0 3rem;
}
.gloval-nav .gloval_box {
  overflow-y: auto;
  width: 100%;
  height: 100%;
}
.gloval-nav ul.gloval_ul > li {
  opacity: 0;
  transform: translateX(-200px);
  transition:  transform .6s ease, opacity .2s ease;
  border-bottom:dotted #fff 0.2rem ;
}
.gloval-nav ul.gloval_ul > li:nth-child(2) { transition-delay: .1s; }
.gloval-nav ul.gloval_ul > li:nth-child(3) { transition-delay: .2s; }
.gloval-nav ul.gloval_ul > li:nth-child(4) { transition-delay: .3s; }
.gloval-nav ul.gloval_ul > li:nth-child(5) { transition-delay: .4s; }
.gloval-nav ul.gloval_ul > li:nth-child(6) { transition-delay: .5s; }
.gloval-nav ul.gloval_ul > li:nth-child(7) { transition-delay: .6s; }
.gloval-nav ul.gloval_ul > li:nth-child(8) { transition-delay: .7s; }
.gloval-nav ul.gloval_ul > li:nth-child(9) { transition-delay: .8s; }
.gloval-nav ul.gloval_ul > li:nth-child(n+10) { transition-delay: .9s; }

.gloval-nav ul.gloval_ul > li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: color .6s ease;
  padding: 3rem 0;
  font-size: 2.2rem;
}

/* open時 */
.open {
  overflow: hidden;
}
.open .hamburger_bg,
.open .gloval-nav {
visibility: visible;
transform: translateX(0);
transition: transform .6s;
}
.open .gloval-nav ul.gloval_ul > li {
opacity: 1;
transform: translateX(0);
transition: transform 1s ease, opacity .9s ease;
}
/* ▲ グローバルナビ ▲ */

/* ▼ 背景網掛け ▼ */
.hamburger_bg {
  background-color: transparent;
  position: fixed;
  z-index: 9;
  top: 0;
  bottom: 0;
  right: 0;
  transform: translateX(100%);
  /* transition: 1s all; */
  width: 100vw;
  max-height: 100vh;
}
/* ▲ 背景網掛け ▲ */
.nav_active header{
  background-color: transparent;
}
.gloval_ul{
  margin-top: 4rem;
}
}

/* 記事ページ */
.blue{
  color: #00509d;
  font-weight: bold;
}
.article_bg{
  background-color: #f5f8fc;
  padding-top: 9rem;
  padding-bottom: 9rem;
  margin-bottom: 9rem;
}
.sec_mv{
  max-width: 100rem;
  margin: auto;
  padding: 5rem 0 2rem;
}
.article_title{
  font-size: 2.6rem;
  color: #00509d;
  font-weight: bold;
}
.article_text01{
  font-size: 1.8rem;
  margin-top: 2rem;
  line-height: 1.639;
  word-break: break-word;
  overflow-wrap: break-word;
}
.article_inner{
  max-width: 90rem;
  margin: auto;
}

.author_box{
  display: flex;
  align-items: start;
  gap: 2rem;
  margin-top: 2rem;
  padding: 2rem;
  background-color:#fffff5;
  border-radius: 1.5rem;
}
.author_img{
  width: 14rem;
}
.author_box h3{
  font-size: 2rem;
}
.author_box h3 span{
  font-size: 1.6rem;
  color: #007ab1;
  margin-left: 2rem;
}
.author_box p{
  font-size: 1.6rem;
}
.article_index{
  padding: 3rem;
  background-color: #fff7e9;
  border-radius: 1.5rem;
  margin-top: 2rem;
}
.article_index h2{
  font-size: 2.6rem;
  color: #dab425;
}
.article_index_box{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1rem;
}
.article_index_box li{
  font-size: 2.2rem;
  padding-bottom: 0.5rem;
  border-bottom: dotted #dab425 0.1rem;
}
.main_heading{
  position: relative;
  font-size: 2.6rem;
  color: #fff;
  margin: 5rem 0 2rem;
  padding: 2rem 4rem;
  background-color: #007ab1;
  font-weight: bold;
}
.main_heading::before{
  content: "";
  width: 3rem;
  height: 6rem;
  border-top: solid #a08f67 0.8rem;
  border-left: solid #a08f67 0.8rem;
  position: absolute;
  top: 0;
  left: 0;
}
.main_heading::after{
  content: "";
  width: 3rem;
  height: 6rem;
  border-bottom: solid #a08f67 0.8rem;
  border-right: solid #a08f67 0.8rem;
  position: absolute;
  bottom: 0;
  right: 0;
}
.sub_heading{
  font-size: 2.1rem;
  color: #00509d;
  padding-top: 3rem;
  font-weight: bold;
}
.blue_list{
  margin-top: 2rem;
  padding: 1rem 2rem 1rem 4rem;
  list-style-type: disc;
  background-color: #d9e8ec;
}
.article_question{
  font-size: 2.1rem;
  background-color: #e6e6e6;
  padding: 0.5rem;
  margin-top: 3rem;
}
.question_answer{
  font-size: 2.1rem;
  margin-top: 3rem;
}
.article_img07{
  display: flex;
  align-items: start;
  margin-top: 3rem;
  gap: 3rem;
}
.article_img07 img{
  width: 50%;
}
.article_summary_title{
  font-size: 2.6rem;
  text-align: center;
  color: #fff;
  padding: 1rem;
  background-color: #007ab1;
  border-radius: 5rem;
}
.article_summary_subtitle{
  font-size: 2.6rem;
  text-align: center;
  margin-top: 6rem;
}
.article_summary_text{
  font-size: 1.8rem;
  margin-top: 3rem;
}
.foot_text{
  font-size: 3rem;
  text-align: center;
  margin-top: 3rem;
}
.m_auto{
  margin: auto;
}
.article_p{
  margin: 6rem auto;
}
.article_box02{
  margin-top: 4rem;
  padding-bottom: 4rem;
  border-bottom: solid #7b7a7b 0.1rem;
}
.article_box01{
  display: flex;
  gap: 1rem;
}
.article_box03{
  display: flex;
  gap: 5rem;
}
.article_box01_l{
  flex: 1;
}
.article_img15{
  width: 33rem;
  margin-top: 2rem;
}
.article_link a{
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.link_icon01{
  font-size: 2.4rem;
}
.dl_link{
  width: 30rem;
  margin: 9rem auto 0;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: solid #000 0.2rem;
  border-radius: 1.5rem;
  padding: 2rem 0;
}
.dl_link img{
  width: 3rem;
}
.sec_header{
  background-color: #fff !important;
  background-image: none;
}
.f_black{
  color: #000 !important;
}
.sec_header .head_item .material-symbols-outlined{
  border: solid #000 0.1rem;
}

.table-wrapper {
  overflow-x: auto;
  margin-top: 6rem;
}
.table-wrapper table {
  border-collapse: collapse;
  width: 100%;
  background: #fff;
  font-size: 1.2rem;
}
.table-wrapper table th,
.table-wrapper table td {
  border: 0.2rem solid #555;
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  line-height: 1.5;
  white-space: pre-line;
}
.table-wrapper thead th {
  background-color: #CFE2F3;
  font-weight: bold;
  font-size: 1.3rem;
}
col.col-a { width: 17%; }
col.col-b { width: 15%; }
col.col-c { width: 12%; }
col.col-d { width: 15%; }
col.col-e { width: 14%; }
col.col-f { width: 27%; }

.table-wrapper td.name {
  font-weight: bold;
}

.table-wrapper td.bldg-ok {
  background-color: #D9EAD3;
  color: #34A853;
  font-weight: bold;
}

.table-wrapper td.bldg-ng {
  background-color: #FFF2CC;
  color: #000;
  font-weight: bold;
}

.table-wrapper td.bldg-local {
  background-color: #C9DAF8;
  color: #0000FF;
  font-weight: bold;
}

.table-wrapper tbody tr:nth-child(even) td:not(.bldg-ok):not(.bldg-ng):not(.bldg-local) {
  background-color: #FAFAFA;
}

.footnote {
  text-align: right;
  font-size: 11.5px;
  font-weight: bold;
  color: #FF0000;
  padding-top: 6px;
}
.link{
  color: #0000EE;
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .article_inner{
    max-width: 67rem;
  }
  .sec_mv{
    width: 95%;
  }
  .article_bg{
    padding-top: 18rem;
  }
  .article_title{
    font-size: 4rem;
  }
  .article_text01{
    font-size: 2.8rem;
    margin-top: 4rem;
  }
  .author_img{
    width: 70%;
    margin: auto;
  }
  .author_box{
    flex-direction: column;
    margin-top: 4rem;
    gap: 4rem;
    padding: 5rem;
  }
  .author_box h3{
    font-size: 4rem;
    text-align: center;
  }
  .author_box h3 span{
    font-size: 2.8rem;
  }
  .author_box p{
    font-size: 2.8rem;
    margin-top: 4rem;
  }
  .article_index{
    padding: 5rem;
  }
  .article_index_box li{
    font-size: 2.8rem;
    text-indent: -3.4rem;
    padding-left: 3.4rem;
  }
  .article_indent{
    text-indent: 0 !important;
    padding-left: 0 !important;
  }
  .main_heading{
    font-size: 4rem;
  }
  .blue_list{
    font-size: 2.8rem;
  }
  .sub_heading{
    font-size: 3.6rem;
    text-indent: -3.6rem;
    padding-left: 3.6rem;
  }
  .article_box01{
    flex-direction: column;
  }
  .article_box03{
    flex-direction: column;
  }
  .blue_list{
    padding: 3rem 2rem 3rem 4rem;
  }
  .article_img14,
  .article_img15{
    width: 80%;
    margin: auto;
  }
  .article_summary_title{
    font-size: 4rem;
  }
  .article_summary_subtitle{
    font-size: 4rem;
  }
  .article_summary_text{
    font-size: 2.8rem;
  }
  .article_link{
    font-size: 2.4rem;
  }
  .link_icon01{
    font-size: 3.4rem;
  }
  .dl_link{
    width: 50rem;
    font-size: 3rem;
  }
  .dl_link img{
    width: 5rem;
  }
  .table-wrapper table{
    min-width: 180rem;
    font-size: 2.4rem;
  }
  thead th{
    font-size: 2.6rem;
  }
  .foot_text{
    font-size: 5rem;
  }
}
/* 記事ページ */