/*--------------------------- 
home style
----------------------------- */
/* 前方一致（^=）: 指定した文字列で始まる要素 */
/* [class^="prefix-"] {
     例：prefix-で始まるクラス名すべてに適用 
} */
/* 後方一致（$=）: 指定した文字列で終わる要素 */
/* [class$="__inner"] {
     例：__innerで終わるクラス名すべてに適用 
} */
/* 部分一致（*=）: 指定した文字列を含む要素 */
/* [class*="common"] {
     例：commonを含むクラス名すべてに適用 
} */

/* mainvisual */
.main-visual {
  position: relative;
  width: 100%;
  height: min(57vw, 570px);
  display: flex;
  justify-content: center;
  align-items: center;
}
.main-visual__bg {
  background-image: url("../../img/1_top/header.jpg");
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  display: flex;
}
.main-visual__items {
  position: relative;
  width: 100%;
  height: 100%;
}
.main-visual__item--1 {
  position: absolute;
  top: 70px;
  left: 0;
  max-width: 430px;
  width: 43vw;
}
/* .main-visual__item--1 picture img {
  transition: all 0.3s ease;
}
.main-visual__item--1 picture:hover img {
  transform: scale(1.05);
  opacity: 0.9;
} */
.main-visual__item--2 {
  position: absolute;
  bottom: 40px;
  left: 0;
  /* max-width: 400px;
  width: 40vw; */
}
.main-visual__reserve {
  display: block;
  color: #fff;
  width: 100%;
  padding: 0.9em 2em;
  background: linear-gradient(180deg,rgba(64, 187, 251, 1) 0%, rgba(12, 141, 236, 1) 100%);
  border-radius: 20px;
  border: 2px solid #fff;
  text-align: center;
  font-size: clamp(1.1rem, 1.857vw, 1.625rem);
  font-weight: 500;
  /* transition: .3s cubic-bezier(0.5, 1, 0.89, 1); */
}
/* .main-visual__reserve:hover {
  background: #fff;
  color: #40BBFB;
	font-weight: bold;
  border: 2px solid #40BBFB;
} */
.main-visual__cont {
  display: flex;
  justify-content: space-around;
  width: 100%;
  margin: 0 auto;
  padding: 5%;
  background-color: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
  border-radius: 20px;
}
.main-visual__under-band {
  display: none;
}

/* about section */
.about {
  margin-top: min(12.5vw, 125px);
}
.about__content {
  margin: 0 auto;
  max-width: 920px;
  width: 100%;
  position: relative;
}
.about__content-bg {
  position: absolute;
  top: -45px;
  left: 30px;
  width: min(16.07vw, 225px);
  
}
.about__content-item {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 2px solid #00cb1b;
  background-color: #F0FFFF;
}
.about__content-item-tit {
  font-size: clamp(1.8rem, 3.143vw, 2.75rem);
  font-weight: bold;
  background-color: #00CB1B;
  color: #fff;
  width: 100%;
  text-align: center;
  padding: 17px 0;
}
.about__content-item-exp {
  font-size: clamp(1.1rem, 1.857vw, 1.625rem);
  line-height: 2;
  width: 80%;
  max-width: 610px;
  margin-left: auto;     /* 要素自身を右側へ寄せる */
  margin-right: 5%;      /* 右側に割合の余白 */
  padding: min(4.2vw, 42px) 0;
}

/* features section */
.features {
  margin-top: min(13vw, 130px);
}
.features__bg {
  background-color: #F9F9F9;
}
.features__content {
  margin: 0 auto;
  width: 100%;
  padding: min(8vw, 80px) 0;
}
.features__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: min(4vw, 40px);
  gap: min(7vw, 70px);
}
.features__item {
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: min(4vw, 40px);
  background-color: #c6ffff;
  padding: min(3vw, 30px);
}
.features__item-txt {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 20px;
}
.features__item-point {
  position: absolute;
  top: -80px;
  left: -40px;
  width: 100%;
  max-width: 100px;
  z-index: 1;
}
.features__item-tit {
  font-size: clamp(1.3rem, 2.143vw, 1.875rem);
  font-weight: bold;
  text-align: center;
  margin-top: min(4vw, 40px);
}
.features__item-exp {
  font-size: clamp(0.75rem, 1.286vw, 1.125rem); /* 18px */
  background-color: #fff;
  padding: min(3vw, 30px);
  flex: 1;
}
.features__item-img {
  max-width: 400px;
  width: 100%;
  display: flex;
}
.features__item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* flow section */
.flow {
  margin-top: min(8vw, 80px);
}
.flow__content {
  margin: 0 auto;
  width: 100%;
}

.flow__list {
  display: flex;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  gap: min(6vw, 60px);
  margin-top: min(5vw, 50px);
}
.flow__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  background-color: #f0ffff;
  padding: min(3vw, 30px);
  border: 3px solid #6ddaf2;
  border-radius: 20px;
  position: relative;
}
.flow__item::after {
  content: "\f105"; /* Font Awesome angle-right */
  position: absolute;
  top: 50%;
  right: -40px; /* .flow__list の gap(60px) の中心に配置 */
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-weight: 900; /* solid */
  font-size: clamp(1.8rem, 3.143vw, 2.75rem);
  color: #cfcfcf;
  line-height: 1;
}
.flow__item:last-child::after {
  content: none;
}
.flow__item-txt-num {
  font-size: clamp(0.95rem , 1.643vw, 1.4375rem); 
  font-weight: bold;
  text-align: center;
  background-color: #37abff;
  color: #fff;
  padding: 0px min(2vw, 20px);
  border-radius: 9999px;
}
.flow__item-img {
  max-width: 230px;
  width: 100%;
  margin: min(3vw, 30px) auto 0;
}
.flow__item-img img {
  width: 100%;
  object-fit: cover;
  display: block;
}
.flow__item-tit {
  font-size: clamp(0.8rem, 1.429vw, 1.25rem); /* 20px */
  font-weight: 500;
  text-align: center;
  width: 100%;
  margin-top: 10px;
}
.flow__item-exp {
  font-size: clamp(0.7rem, 1.142vw, 1rem); /* 16px */
  line-height: 1.75;
  margin-top: min(2vw, 20px);
}

/* staff section */
.staff {
  margin-top: min(8vw, 80px);
}
.staff__bg {
  background-color: #F9F9F9;
}
.staff__content {
  margin: 0 auto;
  max-width: 1000px;
  width: 100%;
  padding: min(8vw, 80px) 0;
}

.staff__content-item {
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: min(5vw, 50px);
  margin-top: min(3vw, 30px);
  padding: min(3vw, 30px);
  border: 3px solid #6ddaf2;
}
.staff__content-item-img {
  max-width: 330px;
  width: 100%;
  display: flex;
}
.staff__content-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.staff__content-item-txt {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: min(2vw, 20px);
}
.staff__content-item-position {
  display: block;
  font-size: clamp(0.75rem, 1.286vw, 1.125rem); /* 18px */
  font-weight: 500;
  width: 100%;
}
.staff__content-item-name {
  font-size: clamp(1.2rem, 2vw, 1.75rem); /* 28px */
  font-weight: bold;
  width: 100%;
  border-bottom: 1px solid #acaeae;
  padding-bottom: 10px;
}
.staff__content-item-desc {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: min(2vw, 20px);
}
.staff__content-desc-tit {
  font-size: clamp(0.8rem, 1.429vw, 1.25rem); /* 20px */
  font-weight: 500;
  width: 100%;
}
.staff__content-desc-exp {
  font-size: clamp(0.75rem, 1.286vw, 1.125rem); /* 18px */
  line-height: 1.6;
  width: 100%;
}

/* question section */
.question {
  margin-top: min(8vw, 80px);
}
.question__content {
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
}
.question__item-title {
  background: url(../../img/1_top/faq_q.png) no-repeat;
  background-size: min(2.14vw, 30px);
  background-position: 2%;
  width: 100%;
  padding: min(2.85vw, 40px) min(5.7vw, 80px);
  border: 1px solid #ACAEAE;
  color: #484848;
  font-size: clamp(1rem, 1.248vw, 1.5rem); /* 24px */
  font-weight: bold;
  line-height: 1.45;
  position: relative;
}
.question__item-title.show {
  border-bottom: none;
}
.question__list{
  width: 100%;
  margin-top: min(5vw, 50px);
}
.question__item{
  width: 100%;
}
.question__item:not(:last-child){
  margin-bottom: 30px;
}   
.question__item-title::after,
.question__item-title::before {
  content: "";
  position: absolute;
  right: 2em;
  top: 50%;
  width: 1.5em;
  height: 3px;
  background: #ACAEAE;
  transform: translateY(-50%);
  transition: transform 0.3s, opacity 0.3s;
}
/* 縦線（＋の縦棒） */
.question__item-title::before {
  transform: translateY(-50%) rotate(90deg);
}
/* 開いたら「−」に：縦線だけ非表示 */
.question__item-title.show::before {
  opacity: 0;
}

.question__item-txt {
  background: url(../../img/1_top/faq_a.png) no-repeat;
  background-position: 2%;
  background-size: min(2.14vw, 30px);
  padding: min(2.85vw, 40px) min(5.7vw, 80px);
  font-size: clamp(0.9rem, 1.144vw, 1.375rem); /* 22px */
  line-height: 1.8;
  box-sizing: content-box;
  display: none;
  border: 1px solid #ACAEAE;
  background-color: #F9F9F9;
  border-top: none;
}

.top-question__txt.stay {
  display: block;
}

/* instagram section */
.instagram {
  margin: min(8vw, 80px) 0 min(12vw, 120px);
}
.instagram__content {
  margin: 0 auto;
  width: 100%;
  max-width: 940px;
}
.instagram__content-exp {
  margin-top: min(2vw, 20px);
}
.instagram__icon {
  width: 30%;
  max-width: 200px;
  margin-top: min(5vw, 50px);
}
.instagram__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.instagram__list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  row-gap: min(2vw, 20px);
  margin: min(3vw, 30px) auto 0;
}
.instagram__item {
  width: 23.5%;
}
.instagram__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.instagram__btn {
  width: 80%;
  max-width: 275px;
  margin: 50px auto 0;
  padding: 1.2em 0;
  border: 1px solid #ACAEAE;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.instagram__btn i {
  font-size: clamp(1.2rem, 1.446vw, 1.625rem); /* 26px */
  margin-right: 10px;
  color: #ACAEAE;
}
.instagram__btn span {
  font-size: clamp(0.8rem, 1.04vw, 1.25rem); /* 20px */
  color: #37ABFF;
}
/*--------------------------------
	TB用
----------------------------------- */
@media all and (max-width: 768px) {
}
/*--------------------------------
	SP用
----------------------------------- */
@media all and (max-width: 530px) {
}
