@charset "UTF-8";


html {
  font-size: 10px;
}

@media screen and (max-width: 1400px) {
  html {
    font-size: calc(10 * (100vw / 1400));
  }
}

/*-------------------------
 common
-------------------------*/
.l-footer {
  padding: 0;
}

.pc-footer {
  margin: 0;
}

.l-container {
  width: 100%;
  margin: auto;
}

#feature {
  margin: 0 auto;
  font-feature-settings: "palt";
  width: 100%;
  text-align: center;
  overflow: clip;
  font-family: hiragino-kaku-gothic-pron, sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #000;
}

#feature .feature-inner {
  margin: auto;
}

#feature figure {
  position: relative;
  height: fit-content;
}

#feature img {
  width: 100%;
  height: auto;
  display: block;
}

#feature a {
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

#feature a:link,
#feature a:visited {
  color: #000;
}

#feature figure a:hover,
#feature a:hover {
  opacity: 0.7;
}

/*-------------------------
 fade
-------------------------*/
.fadeUp {
  opacity: 0;
  transform: translateY(10rem);
  transition: all ease 1s;
}

.fadeUp.is_show {
  opacity: 1;
  transform: translateY(0);
}

/*-------------------------
 top
-------------------------*/
#feature .hero {
  width: 100%;
  margin: auto;
  padding-top: 8rem;
}

#feature .hero img {
  width: 35.71396rem;
  margin: auto;
}

#feature .hero__txt {
  font-size: 1.6rem;
  letter-spacing: 0.08em;
  line-height: 1.75;
  margin-top: 6.2rem;
  font-feature-settings: unset;
}

#feature .hero__txt.--2,
#feature .hero__txt.--3 {
  margin-top: 1.5rem;
}


/*-------------------------
 accordion
-------------------------*/
#feature .accordion {
  margin: 6rem auto 0;
  width: 100%;
}

#feature .toggle {
  display: none;
}

#feature .option {
  position: relative;
}

#feature .title,
#feature .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}

#feature .title {
  display: block;
  color: #000;
  font-weight: bold;
  width: 22.13359rem;
  margin: 0 auto;
  padding: 0.45rem 0 0;
  font-family: "laca-text", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
  letter-spacing: 0.19em;
  line-height: 1;
  text-align: left;
}

#feature .title::after,
#feature .title::before {
  content: "";
  position: absolute;
  right: 0.4em;
  /* top: 0.3rem; */
  width: 2px;
  height: 0.75em;
  background-color: #000;
  transition: all 0.3s;
}

#feature .title::after {
  transform: rotate(90deg);
}

#feature .content {
  max-height: 0;
  overflow: hidden;
  width: 100%;
  margin: auto;
  text-align: center;
}

#feature .content p {
  margin: 0;
  padding-top: 3.6rem;
  padding-bottom: 1rem;
  font-size: 1.17em;
  letter-spacing: 0.05em;
  line-height: 1.75;
  font-feature-settings: normal;
  font-weight: 300;
}

#feature .toggle:checked+.title+.content {
  max-height: 25rem;
  transition: all 0.8s;
}

#feature .toggle:not(:checked)+.title+.content {
  max-height: 0;
  transition: all 0.8s;
}

#feature .toggle:checked+.title::before {
  transform: rotate(90deg) !important;
}

/*-------------------------
  content
-------------------------*/
#feature .itemarea {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 6.5rem;
}

#feature #item01 {
  padding-top: 4rem;
  margin-top: -4rem;
}

#feature #item02 {
  padding-top: 4rem;
  margin-top: -4rem;
}


#feature .itemarea figure {
  width: 29rem;
}

#feature .section {
  width: 140rem;
  margin: auto;
}

#feature .sec02 {
  margin-top: 3rem;
}

#feature .sec03 {
  margin-top: 14.3rem;
}

#feature .sec04 {
  margin-top: 14.7rem;
  transform: translateX(-9rem);
}

#feature .section__inner {
  display: flex;
  justify-content: center;
  gap: 7.2rem;
  position: relative;
  align-items: center;
  transform: translateX(0.1rem);
}

#feature .sec01 {
  margin-top: 13.3rem;
}

#feature .txt-area {
  text-align: left;
  margin-top: 0.4rem;
}

#feature .sec01 .txt-area {
  padding-top: 1rem;
}

#feature .txt-area h2 {
  font-size: 1.8rem;
  line-height: 1.75;
  letter-spacing: 0.08em;
  font-weight: 600;
}

#feature .txt-area p {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  margin-top: 4.2rem;
}

#feature .sec04 .txt-area p {
  margin: 10.3rem 0 0 0;
  transform: translateX(3rem);
}

#feature p.txt-area__credit {
  font-size: 1.3rem;
  line-height: 1.75;
  letter-spacing: 0.08em;
  font-family: "laca-text",
    sans-serif;
  font-weight: 500;
  font-style: normal;
  margin-top: 1.1rem;
}

#feature .ls--1 {
  letter-spacing: 0;
}

#feature .sec01 .img01::before {
  content: '';
  background-image: url(../img/bg01.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 119.8rem;
  height: 90.8rem;
  position: absolute;
  top: 0;
  left: -47.5rem;
  z-index: -1;
}

#feature .sec03 .img06::before {
  content: '';
  background-image: url(../img/bg02.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 138.7rem;
  height: 97.07743rem;
  position: absolute;
  top: -14rem;
  left: -65rem;
  z-index: -1;
}

#feature .sec04 .img10::before {
  content: '';
  background-image: url(../img/bg03.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 70.6rem;
  height: 41.8rem;
  position: absolute;
  top: 5rem;
  right: -65rem;
  z-index: -1;
}

#feature .line {
  border-bottom: 0.4rem solid #D3D36A;
  position: absolute;
  top: 17.9rem;
  left: 0;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

#feature .line.--2 {
  border-bottom: 0.4rem solid #AFA48B;
  position: absolute;
  top: 15.2rem;
  left: 0;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

#feature .section__flex {
  display: flex;
  justify-content: center;
  gap: 2rem;
  z-index: 20;
  position: relative;
}

#feature .section__flex.--2,
#feature .section__flex.--3 {
  flex-direction: row-reverse;
}

#feature .section__flex.--2 {
  transform: translateX(-14.5rem);
  gap: 5rem;
  margin-top: 14.6rem;
}

#feature .section__flex.--3 {
  transform: translateX(-18.5rem);
  gap: 15rem;
  margin-top: 3rem;
}

#feature .img01 {
  position: relative;
  width: 33rem;
  margin-top: 1.7rem;
  transform: translateX(0.2rem);
}

#feature .img02 {
  width: 48rem;
}

#feature .img03 {
  width: 48rem;
}

#feature .img04 {
  width: 38rem;
}

#feature .img05 {
  width: 48rem;
  margin-top: 13rem;
}

#feature .img06 {
  width: 33rem;
  margin-top: 0.4rem;
  transform: translateX(-0.2rem);
}

#feature .img07 {
  width: 40rem;
}

#feature .img08 {
  width: 48rem;
  margin-top: 25rem;
}

#feature .img09 {
  width: 48rem;
  margin: -16.3rem 8rem 0 auto;
  z-index: 20;
}

#feature .img10 {
  width: 42.8rem;
}

#feature .img11 {
  width: 38.5rem;
  margin: -9rem 0 0 45rem;
}

#feature .credit {
  padding-top: 2rem;
}

#feature .sec01__credit .credit .item {
  margin-right: 2rem;
}

#feature .credit a {
  font-family: "laca-text", sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.12em;
}

#feature .sec01__credit .credit {
  display: flex;
  justify-content: center;
  margin: auto;
}

#feature .sec01__credit .credit li:last-child {
  margin-right: 0;
}

#feature .sec02__credit .credit {
  width: 48rem;
  margin-top: -0.5rem;
}
#feature .sec02__credit .credit .item {
  display: inline-block;
  line-height: 1.75;
}

#feature .sec02__credit .credit .item {
  margin-right: 1.4rem;
}

#feature .sec02__credit .credit .item:nth-child(2),
#feature .sec02__credit .credit .item:nth-child(5){
  margin-right: 0;
}

#feature .sec03__credit .credit {
  width: 30rem;
  margin: -0.4rem auto 0;
}
#feature .sec03__credit .credit .item {
  display: inline-block;
  line-height: 1.75;
}

#feature .sec03__credit .credit .item {
  margin-right: 1.4rem;
}

#feature .sec03__credit .credit .item:nth-child(2){
  margin-right: 0;
}

#feature .sec04__credit .credit {
  width: 41rem;
  margin: -0.4rem auto 0;
}
#feature .sec04__credit .credit .item {
  display: inline-block;
  line-height: 1.75;
}

#feature .sec04__credit .credit .item {
  margin-right: 1.4rem;
}

#feature .sec04__credit .credit .item:nth-child(3),
#feature .sec04__credit .credit .item:nth-child(5){
  margin-right: 0;
}

#feature .btn {
  width: 42rem;
  display: inline-block;
  margin: 15rem auto 14.5rem;
}

#feature .btn01 {
  margin-bottom: 1rem;
}
