@charset "utf-8";
:root {
  --mh--flame-width: 500px;  /* 他パーツ用 */
}
/* test */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style: none;
}
body{
  font-family: "YuGothic", "游ゴシック", sans-serif;
}
a{
  text-decoration: none;
  color: #222222;
  line-height: 1.5;
}
a:hover{
  filter: brightness(0.9);
  transition: all 0.2s;
}
button{
  border: none;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
img{
  display: block;
}
.main_container,
footer{
  background-color: #fff;
  position: relative;
  z-index: 1;
  width: 100%;
}
.area_inner{
  padding: 0 22px;
  margin: 0 auto;
}
h2{
  line-height: 1.6;
}
@media(min-width:540px) and (max-width:768px){
  .area_inner{
    padding: 0 44px;
  }
}
/* フェードインアニメーション用 */
.fade {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out,
              transform 0.6s ease-out;
}
.fade.visible {
  opacity: 1;
  transform: translateY(0);
}
.wave_top{
  display: block;
  margin-bottom: -3px;
}
.wave_bottom{
  display: block;
  margin-top: -3px;
}
/* テキスト */
.sec_title{
  font-size: clamp(18px,4.8vw,24px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.sub_title{
  font-size: clamp(20px,calc(4.8vw + 2px),26px);
  font-weight: bold;
}
.poppins{
  font-family: "Poppins", sans-serif;
}
p{
  font-size: clamp(13px, calc(2.4vw + 4px), 16px);
  line-height: 1.6;
  font-weight: 500;
  color: #222222;
}
address{
  font-style: normal;
  line-height: 1.6;
}
@media(min-width:540px) and (max-width:768px){
  .sec_title{
    font-size: 32px;
  }
}
/* SVGアニメーション用 */
.svg_block svg path {
  fill: none;
  stroke: black;
  stroke-width: 0.5;
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
}

/* ここでアニメーションを定義 */
.svg_block.animate svg path {
  animation: draw 10s ease forwards;
}

.step1 { animation-delay: 0s; }
.step2 { animation-delay: 0.5s; }

@keyframes draw {
  to { stroke-dashoffset: 0; }
}
/*ここから */

/* header */
header{
  position: fixed;
  transition: all 0.3s ease-in;
  z-index: 10;
}
.header_item{
  display: none;
  transition: all 0.3s ease-in;
}
@media (min-width:820px){
  header{
    top: 20%;
  }
}
@media(min-width:769px){
  header{
    top: 20%;
    left: 0;
    height: 100vh;
    width: calc(50% - 250px);
    display: flex;
    justify-content: flex-end;
  }
  .header_item{
    margin: 0 auto;
    width: 330px;
    display: block;
  }
  .header_policy{
    display: flex;
    justify-content: flex-start;
  }
}
@media(min-width:769px) and (max-width:1280px){
  header{
    top: 14%;
    width: calc(100% - 540px);
    margin-left: 20px;
  }
}
/* スマホ用header */
.sp_header{
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}
.sp_header_container{
  padding-top: 20px;
  background: #fff;
}

@media(min-width:769px){
  .sp_header{
    display: none;
  }
  .main_container,
  .footer{
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
    box-shadow: 0 4px 70px rgba(47, 46, 45, .1);
  }
}
@media(min-width:769px) and (max-width:900px){
  .main_container,
  .footer{
    margin: 0;
    left: calc(100% - 500px);
  }
}
@media(min-width:901px) and (max-width:1280px){
  .main_container,
  .footer{
    margin: 0;
    left: calc(100% - 520px);
  }
}

@media(min-width:500px){
  .sp_logo{
    left: 60px;
  }
}

/* 背景 */
.web_bg{
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100vh;
  background: url(img/pc_bg.jpg) top left / cover repeat;
  z-index: -1;
}
.home_bg{
  display: none;
}
@media(min-width:1280px){
  .home_bg{
    display: block;
    position: absolute;
    top: 62%;
    right: 0;
    display: block;
    z-index: -1;
  }
}
@media(min-width:1281px) and (max-width:1580px){
  .home_bg{
    top: 64%;
    width: 60%;
  }
}
/* トップへ戻るボタン */
.back-to-top {
  position: fixed;
  right: 0;
  bottom: 40px;
  width: 44px;
  height: 44px;
  background: #666666;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  z-index: 1000;
  padding-top: 4px;
}

.back-to-top.show {
  opacity: 1;
  visibility: visible;
}
@media(min-width:1280px){
  .back-to-top{
    bottom: 0;
  }
}
@media(min-width:540px) and (max-width:1281px){
  .back-to-top{
    bottom: 60px;
  }
}
@media(min-width:901px) and (max-width:1280px){
  .back-to-top{
    right: 20px;
  }
}
@media(min-width:1281px){
  .back-to-top{
    right: 50%;
    transform: translateX(250px);
  }
}
/* 矢印（上向き山型） */
.arrow-up {
  width: 12px;
  height: 12px;
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
  transform: rotate(45deg);
}
/* TOP logo */
.top_logo{
  position: fixed;
  width: clamp(155px,calc(155px + (240 - 155) * ((100vw - 375px) / (768 - 375))), 240px);
  z-index: 5;
  top: 4%;
  left: 2%;
}

.top_logo img{
  width: 100%;
  max-width: 288px;
  object-fit: cover;
  transition: all 0.2s ease;
}
@media(min-width:769px){
  .top_logo{
    width: calc(50% - 250px);
    top: 40px;
    left: 40px;
  }
}
@media(min-width:769px) and (max-width:1280px){
  .top_logo{
    width: calc(100% - 540px);
    left: 20px;
  }
}
@media(min-width:360px) and (max-width:499px){
  .top_logo{
    top: 4%;
  }
}
/* CTA */
.main_cta{
  display: block;
  width: 100%;
  height: 40px;
  background: #FFED82;
  border-radius: 26px;
  margin: 53px auto 0;
}
.main_cta a{
  border-radius: 26px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 40px;
  gap: 28px;
  font-weight: bold;
}
.calender{
  width: 23px;
}
.main_cta a:hover{
  background: #FFED82;
  color: #222222;
  filter: brightness(0.9);
}

@media(min-width:500px){
  .main_cta{
    height: 53px;
    margin: 70px auto 0;
  }
  .main_cta a{
    height: 53px;
    gap: 35px;
  }
}/* PC・タブレット用ボタン */
  .cta_area{
    display: none;
  }

@media(min-width:1280px){
  .cta_area{
    position: fixed;
    bottom: 30%;
    right: 0;
    width: calc(50% - 250px);
    display: block;
  }
  .cta_container{
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-left: 35px;
  }
  .cta_btn,
  .cta_btn2{
    cursor: pointer;
    font-size: 16px;
    padding: 17px 17px;
    transition: 212ms;
    width: 285px;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 8px;
    border-radius: 29px;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    --hover-borderSize: 0px;
    --hover-width: 285px;
  }
  .cta_btn{
    background: #FFED82;
  }
  .cta_btn2{
    background: #464646;
  }
  .cta_btn2 a{
    color: #ffffff;
  }
  .cta_btn a,
  .cta_btn2 a{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 28px;
    font-weight: bold;
  }
  .cta_btn:hover,
  .cta_btn2:hover{
    filter: brightness(0.9);
  }
}
@media(min-width:580px) and (max-width:768px){
  .main_cta{
    width: 75%;
  }
}
/* モバイル・タブレット用bottom CTA */
.bottom_cta_area{
  width: 100%;
  position: fixed;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9;
}
.bottom_cta,
.bottom_cta2{
  width: 50%;
  height: 40px;
}
.bottom_cta a,
.bottom_cta2 a{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 40px;
  font-weight: bold;
  gap: 17px;
  font-size: clamp(12px,calc((100vw - 375px) * (4 / 125) + 12px),16px);
}
.bottom_cta2 a{
  color: #fff;
}
.bottom_cta:hover,
.bottom_cta2:hover{
  filter: brightness(0.9);
  transition: all 0.2s;
}
.bottom_cta{
  background-color: #FFED82;
}
.bottom_cta2{
  background-color: #464646;
  color: #fff;
}

@media (min-width:769px) and (max-width:900px){
  .bottom_cta_area{
    left: calc(100% - 500px);
  }
}
@media(min-width:901px) and (max-width:1280px){
  .bottom_cta_area{
    left: calc(100% - 520px);
  }
}
@media(min-width:540px){
  .bottom_cta,
  .bottom_cta2{
    height: 60px;
  }
  .bottom_cta a,
  .bottom_cta2 a{
    height: 60px;
  }
}
@media(min-width:1281px){
  .bottom_cta_area{
    display: none;
  }
}
@media(min-width:769px){
  .bottom_cta_area{
    max-width: 500px;
    margin: 0;
  }
}
/* mainバナーセクション */
.main_banner_area{
  margin-top: 40px;
  margin-bottom: 53px;
}
.img_size1{
  max-width: 288px;
  width: 100%;
  margin: 0 auto 40px;
}
.banner_size{
  max-width: 388px;
  width: 100%;
  margin: 0 auto;
}
@media(min-width:769px){
  .main_banner_area{
    margin-top: 53px;
  }
  .img_size1{
    margin: 0 auto 53px;
  }
}
@media(min-width:540px) and (max-width:768px){
  .img_size1{
    max-width: 440px;
  }
  .banner_size{
    max-width: 500px;
  }
}
/* メインビジュアル */
.mv{
  position: relative;
}
.mv_text_container{
  position: absolute;
  right: 0;
  bottom: 4%;
  width: 100%;
}
.mv .mv_text{
  container-type: inline-size;
  display: flex;
  justify-content: flex-end;
}
.mv_text_p{
  font-size: clamp(20px,calc(4.8cqw + 2px),26px);
  color: #ffffff;
  text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.8);
  text-align: left;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.1538em;
}
.mv_text_p span{
  letter-spacing: -0.3em
}
@container (min-width: 501px) and (max-width: 767px) {
  .mv_text_p {
    font-size: clamp(
      26px,calc(2.247cqw + 14.75px),32px);
  }
}

@container (min-width: 768px) {
  .mv_text_p {
    font-size: 32px;
  }
}
/* MVスライドショー */
.slideshow {
  --slide-count: 4;
  --duration: 12s;
  position: relative;
  width: 100%;
  aspect-ratio: 375 / 465;
  overflow: hidden;
  display: grid;
}
.slideshow > img {
  grid-area: 1 / 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: fade var(--duration) linear infinite;
  pointer-events: none;
}
/* nth-childで自動的にディレイを計算 */
.slideshow > img:nth-child(1) {
  animation-delay: calc((var(--duration) / var(--slide-count)) * 0);
}
.slideshow > img:nth-child(2) {
  animation-delay: calc((var(--duration) / var(--slide-count)) * 1);
}
.slideshow > img:nth-child(3) {
  animation-delay: calc((var(--duration) / var(--slide-count)) * 2);
}
.slideshow > img:nth-child(4) {
  animation-delay: calc((var(--duration) / var(--slide-count)) * 3);
}

@keyframes fade {
  0%   { opacity: 0; }
  10%  { opacity: 1; }
  30%  { opacity: 1; }
  40%  { opacity: 0; }
  100% { opacity: 0; }
}

/* 商品ラインナップ */
.lineup{
  padding-top: 73px;
}
.lineup .sec_title{
  padding: 20px 0 23px;
  margin-bottom: 16px;
  border-bottom: 1px solid;
}
.lineup_title,
.lineup_subtitle{
  text-align: center;
  letter-spacing: 0.08em;
}
.lineup_title{
  font-size: clamp(20px,calc(3.2vw + 8px),24px);
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  padding-top: 20px;
}
.lineup_subtitle{
  font-size: clamp(14px,calc(1.6vw + 8px),16px);
}
.package_text{
  font-size: clamp(10px,calc(2.4vw + 1px),13px);
  text-align: center;
  padding: 20px 10px;
  line-height: 1.7;
}
.text_center{
  text-align: center;
}
.lineup_title::after{
  content: "";
  display: block;
  width: 42px;
  height: 2px;
  background-color: #FADE56;
  margin: 20px auto 17px;
}
@media(min-width:1100px){
  .lineup{
    padding-top: 106px;
  }
}
/* スライドショー */
@media(max-width:769px){
  .slide_sec{
    max-width: 500px;
  }
}
.slide_sec {
  width: 100%;
  max-width: 768px;
  overflow: hidden;
  position: relative;
}
.slider-wrapper {
  margin-top: 30px;
  margin-left: 22px;
  overflow: hidden;
}
.slider-track {
  display: flex;
  gap: 10px;
  cursor: grab;
  user-select: none;
  transition: transform 0.3s ease;
}

/* 各スライド */
.slide {
  flex: 0 0 auto;
  width: clamp(300px, 80%, 375px);
  background: #fff;
  border: 1px solid rgb(204, 204, 204, 0.4);
}

/* 画像部分 */
.slide img {
  display: block;
  width: 100%;
  aspect-ratio: 375 / 400;
  object-fit: cover;
  pointer-events: none;
}

/* ページネーション */
.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  position: relative;
}
.pagination button {
  background: none;
  border: none;
  padding: 0;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  color: #ccc;
}
.pagination button.active {
  color: #000;
}
.scroll_line{
  position: absolute;
  left: 22px;
  font-size: clamp(10px, calc(3.2vw - 2px), 14px);
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
}
.scroll_line::before{
  content: "";
  display: block;
  width: 35px;
  height: 1px;
  background-color: #222222;
  margin-right: 10px;
}
@media(min-width:769px){
  .scroll_line::before{
    width: 70px;
  }
}
/* GALLERY */
.gallery{
  padding-top: 65px;
  padding-bottom: 100px;
}
.gallery .sec_title,
.gallery .sub_title{
  display: inline-block;
}
.gallery .sub_title{
  font-size: clamp(11px, calc(3.2vw - 1px), 15px);
  font-weight: normal;
}
.gallery .slide{
  border: none;
}
.gallery .slide img{
  aspect-ratio: 375/275;
}
.gallery_text{
  padding-top: 10px;
  font-size: clamp(10px, calc(3.2vw - 2px), 14px);
}
.gallery .pagination{
  margin-top: 25px;
  margin-bottom: 35px;
}
/* View moreのボタン */
.view_more{
  display: flex;
  justify-content: end;
}
.btn-view-more {
  position: relative;
  display: inline-block;
  padding: 3px 16px 3px 64px;
  background-color: #999999;
  color: #faf6f3;
  font-size: clamp(12px, calc(1.6vw + 6px), 14px);
  font-weight: 400;
  text-decoration: none;
  min-width: 130px;
  transition: background-color 0.3s ease,transform 0.3s ease;
}
.btn-view-more::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 1px;
  background-color: #faf6f3;
  transition: width 0.3s ease;
}
.btn-view-more:hover {
  background-color: #aaaaaa;
  transform: translateY(-2px);
}
.btn-view-more:hover::before {
  width: 40px;
}
@media(min-width:768px){
  .gallery{
    padding-top: 83px;
  }
}
/* home_feature */
.home_feature{
  background-color: #F6F6F6;
  padding-top: 70px;
  padding-bottom: 70px;
}
.home_feature img{
  width: 100%;
}
.home_feature h2{
  font-size: clamp(20px,calc(4.8vw + 2px),26px);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
}
.feature_text{
  padding-top: 40px;
}
.feature_p{
  margin-top: 30px;
}
.feature_no1{
  display: flex;
  justify-content: flex-start;
  margin-top: 68px;
}
.feature_no1_img{
  width: clamp(250px,calc((100% - 375px) * 0.64 + 250px),500px);
}
.feature_no1_img img{
  display: block;
  width: 100%;
  aspect-ratio: 330 / 300;
  object-fit: cover;
  pointer-events: none;
}
.vertical_text {
  line-height: 1.5;
  overflow: hidden;
  font-size: clamp(19px,calc(4vw + 4px),24px);
  font-weight: 500;
  letter-spacing: 0.2em;
  color: #402101;
  padding: 10px 0 0 16px;
  border-top: 1px solid;
}
.feature_no1 p,
.feature_no2 p,
.feature_no3 p,
.feature_no4 p{
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
    text-orientation: upright;
    display: block;
}
.non_top{
  border-top: none;
}
.feature_no2{
  display: flex;
  justify-content: flex-end;
}
.feature_no2_img{
  width: clamp(275px,calc((100% - 375px) * 0.72 + 275px),500px);
}
.feature_no2_img img{
  display: block;
  width: 100%;
  aspect-ratio: 275 / 285;
  object-fit: cover;
  pointer-events: none;
}
.feature_no2 .vertical_text{
  margin-top: 100px;
  padding: 10px 16px 0 0;
}
.feature_no3{
  margin-top: 75px;
  width: 100%;
}
.vertical_text_box{
  position: relative;
  display: flex;
  right: 22px;
  top: 10px;
  justify-content: flex-end;
}
.feature_no4{
  display: flex;
  justify-content: flex-start;
  margin-top: -60px;
}
.feature_no4_img{
  width: clamp(250px,calc((100% - 375px) * 0.6 + 250px),500px);
}
.feature_no4_img img{
  display: block;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}
.feature_no4 .vertical_text{
  margin-top: 100px;
}
.home_feature_end{
  margin-top: 55px;
}
.home_feature .svg_block{
  margin-top: -10%;
}
@media(min-width:769px){
  .feature_no4 .vertical_text{
    margin-top: 150px;
  }
}
@media(min-width:540px) and (max-width:768px){
  .feature_no4{
    margin-top: -90px;
  }
  .home_feature h2{
    font-size: 32px;
  }
  .feature_text p,
  .home_feature p{
    font-size: 18px;
  }
  .feature_no1 p,
  .feature_no2 p,
  .feature_no3 p,
  .feature_no4 p{
    font-size: 30px;
  }
}
/* 展示場 */
.showroom {
  margin-top: 70px;
  padding-bottom: 75px;
}

.showroom_text{
  margin-bottom: 31px;
}
.showroom_p {
  margin-top: 40px;
  line-height: 1.6;
}

.showroom_rtl_slider_container,
.showroom_ltr_slider_container {
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}

.showroom_rtl_slider_track,
.showroom_ltr_slider_track {
  display: flex;      /* 横並び */
  will-change: transform;
  gap: 10px;
}

/* 各スライドのサイズを固定 */
.showroom_rtl_slider_track img,
.showroom_ltr_slider_track img {
  width: 315px;
  height: 200px;
  flex-shrink: 0;     /* 縮まらない */
}
.showroom_ltr_slider_container{
  margin-top: 10px;
}
/* 住宅展示場 一覧 */
.showroom_list{
  margin-top: 100px;
}
.showroom_list h3{
  font-size: clamp(15px, 4vw, 20px);
  font-weight: 500;
}
.showroom_list ul li{
  margin-bottom: 8px;
}
.showroom_list ul li::before{
  content: "●";
  color: #FADE56;
  font-size: 0.3em;
  margin-right: 0.3em;
  display: inline-block;
  vertical-align: middle;
}
.showroom_list ul span{
  color: #222222;
  font-size: clamp(15px,calc(2.4vw + 6px),18px);
  letter-spacing: 0.1em;
  font-weight: 500;
}
.showroom_list ul address{
  color: #999999;
  font-size: clamp(10px, calc(3.2vw - 2px), 14px);
}
.title_bottom_line{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  border-bottom: 1px solid #222222;
  padding-top: 16px;
  margin-bottom: 16px;
}
@media(min-width:769px){
  .showroom{
    margin-top: 93px;
    padding-bottom: 103px;
  }
  .showroom_p{
    margin-top: 53px;
  }
  .showroom_text{
    margin-bottom: 41px;
  }
}
/* お声 */
.customer_voice{
  background-color: #F6F6F6;
  padding-top: 50px;
  padding-bottom: 75px;
}
.customer_voice .title_bottom_line{
  padding-top: 24px;
}
.customer_area .sec_title{
  padding-top: 27px;
}
.customer_item{
  margin-top: 24px;
}
.customer_text{
  margin-top: 10px;
  padding-bottom: 16px;
}
.customer_text p{
  font-size: clamp(12px, 3.2vw, 16px);
}
.customer_item img{
  aspect-ratio: 333 / 228;
  object-fit: cover;
  pointer-events: none;
  width: 100%;
}
.status{
  display: block;
  margin-top: 16px;
  font-size: clamp(11px, calc(3.2vw - 1px), 15px);
}
/* about */
.about{
  background-color: #F6F6F6;
  padding-bottom: 75px;
}
.about .title_bottom_line{
  padding-top: 20px;
  margin-bottom: 30px;
}
.about_area{
  margin-bottom: 24px;
}
.about_area img{
  width: 100%;
  margin: 0 auto;
}
/* faq */
.faq{
  margin-top: 90px;
}
.faq .sec_title{
  text-align: center;
  font-size: clamp(22px, calc(1.6vw + 16px), 24px);
  font-weight: 500;
}
.faq .panel-body p{
  letter-spacing: 0.06em;
}
.faq .svg_block{
  margin-top: 24px;
}
.faq-accordion{
  margin: 42px auto 0;
}
.panel{
  overflow:hidden;
}
.panel-header{
  width:100%;
  padding:30px 22px;
  display:flex;
  align-items:flex-start;
  background:#F6F6F6;
  border:none;
  cursor:pointer;
  transition: background .3s, border-color .3s;
  color: #222222;
  font-size: clamp(13px, calc(2.4vw + 4px), 16px);
  line-height: 1.6;
  font-family: "YuGothic", "游ゴシック", sans-serif;
}
.panel-header p{
  font-size: clamp(13px, calc(2.4vw + 4px), 16px);
  text-align: left;
  color: #222222;
  padding-right: 0.8rem;
  margin-left: 5px;
}
.panel-header:hover{
  background:#f8f9fa;
}

.panel-body {
  padding:20px;
  border-top:1px solid #eee;
}

.icon {
  margin-left:auto;
  width:12px;
  height:12px;
  position:relative;
}
.icon::before {
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:8px;
  border-right:1px solid #222222;
  border-top:  1px solid #222222;
  transform: translate(-50%,-50%) rotate(135deg);
  transition: transform .3s ease;
}
.panel-header.active .icon::before {
  transform: translate(-50%,-50%) rotate(-45deg);
}
.panel-content {
  height: auto;
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease;
}
@media(min-width:769px){
  .faq{
    margin-top: 120px;
  }
  .faq-accordion{
    margin: 57px auto 0;
  }
}
@media(min-width:540px) and (max-width:768px){
  .faq .sec_title{
    font-size: 34px;
  }
}

/* footer */
.footer{
  padding-top: 77px;
  z-index: 0;
  margin-bottom: 40px;
}
.footer_container{
  background: #cccccc;
  padding-top: 50px;
  padding-bottom: 62px;
}
.footer svg:first-child{
  margin-bottom: -3px;
}
.footer_logo{
  width: clamp(215px,calc(68vw - 40px),300px);
}
.footer_logo img{
  display: inline-block;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}
.company_name{
  font-size: clamp(16px, calc(3.2vw + 4px), 20px);
  font-weight: bold;
  margin-top: 20px;
}
.company_about_f{
  margin-top: 16px;
}
.company_about_f address,
.company_about_f p{
  font-size: clamp(10px, calc(2.4vw + 1px), 13px);
  padding-top: 7px;
}
.sns_list{
  display: flex;
  justify-content: flex-start;
  gap: 23px;
  margin-top: 33px;
}
.nav_area{
  margin-top: 32px;
}
.nav_area ul{
  display: flex;
  flex-direction: column;
  gap: 30px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
}
.nav_area ul li{
  border-bottom: 1px solid #AAAAAA;
}
.nav_area ul li a{
  display: block;
  padding-bottom: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nav_area ul li a,
.nav_area ul li p{
  font-size: clamp(12px, calc(2.4vw + 3px), 15px);
  font-weight: 500;
  line-height: 1.8;
}
.nav_area a:hover{
  opacity: 0.5;
  transition: all 0.2 ease-in-out;
}
.policy_area{
  margin-top: 62px;
  font-size: clamp(8px, calc(3.2vw - 4px), 12px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.policy_area a{
  display: block;
  padding-right: 10px;
}
.policy_area a:first-child{
  border-right: 1px solid #222222;
  margin-right: 10px;
}
small{
  display: block;
  padding: 7px 0 6px;
  width: 100%;
  font-size: clamp(8px, calc(3.2vw - 4px), 12px);
  background-color: #BBBBBB;
}
@media(min-width:540px){
  .footer{
    margin-bottom: 60px;
  }
}
@media(min-width:769px){
  .footer{
    padding-top: 102px;
  }
}
@media(min-width:1280px){
  .footer{
    margin-bottom: 0;
  }
}