@charset "utf-8";

.mv {
  position: relative;
  z-index: 1;
}
.mv__content {
  position: relative;
  z-index: 1;
}
/* .mv__content__photo {
} */
.cv {
  position: relative;
  z-index: 10;
  padding-block: 30px;
  background: linear-gradient(90deg, rgba(0, 0, 0, .3), rgba(0, 0, 0, 0), rgba(0, 0, 0, .3)) no-repeat center/100% 100% #d7d7d7;
}
.cv__link {
  display: block;
  max-width: 1000px;
  transition: scale .4s linear;
}
.cv__link img {
  width: calc(100% + 23.5px);
  max-width: none;
  margin: max(-72px, calc(72 / 1000 * -100vw)) -11.75px -19px;
}
@media (any-hover: hover) {
  .cv__link:hover {
    scale: .975;
  }
}
@media screen and (max-width: 480px){
  .mv__content__photo .p-caption {
    color: #fff;
    text-shadow: 0 0 3px rgba(0, 0, 0, 1), 0 0 15px rgba(0, 0, 0, .4);
  }
  .cv {
    padding-block: 12px 15px;
  }
  .cv__link img {
    width: calc(683 / 660 * 100%);
    margin: -4px calc(11.5 / 660 * -100%) -9px;
  }
}



/* .intro {
} */
.intro__content {
  background: linear-gradient(90deg, var(--color-gradient)) no-repeat center/100% 100%;
}
.intro__content__group {
  padding-block: calc(90 / 1920 * 100%) max(150px, calc(150 / 1920 * 100%));
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1920px" height="523px"><path fill-rule="evenodd" fill="rgb(239, 239, 239)" d="M0.000,-0.000 L1919.1000,-0.000 L1919.1000,362.999 L960.500,522.1000 L0.000,362.999 L0.000,-0.000 Z"/></svg>') no-repeat top center/100% 100%;
}
.intro__content__group__heading {
  font-size: clamp(26px, calc(36 / 1200 * 100vw), 36px);
}
.intro__content__group__heading .bold {
  font-size: calc(48 / 36 * 100%);
}
.intro__content__group__list {
  max-width: 1400px;
  margin-top: max(45px, calc(65 / 1920 * 100%));
  grid-template-columns: repeat(4, minmax(0, 320px));
  justify-content: space-between;
  justify-items: center;
  align-content: stretch;
  align-items: stretch;
  gap: 30px;
}
.intro__content__group__list__item {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 320 / 172;
  box-sizing: border-box;
  padding: 20px;
  box-shadow: 0 0 40px 7.6px rgba(0, 0, 0, .11);
  background: #fff;
}
.intro__content__group__list__item::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  translate: -8px -11px;
  width: 42px;
  height: 42px;
  border-radius: 3px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="65.959" height="46.925" viewBox="0 0 65.959 46.925"><polygon points="65.959 8.443 57.516 0 27.474 30.043 8.443 11.011 0 19.454 27.472 46.925 35.897 38.5 35.899 38.502 65.959 8.443" fill="%23fff"/></svg>') no-repeat top 52.5% left 55%/calc(170 / 307 * 100%) auto rgba(var(--color-red), 1);
}
.intro__content__group__list__item__copy {
  font-size: clamp(20px, calc(26 / 1600 * 100vw), 26px);
  line-height: 1.384615385;
}
.intro__content__group2 {
  padding-block: calc(65 / 1920 * 100%) calc(100 / 1920 * 100%);
}
.intro__content__group2__heading {
  font-size: clamp(20px, calc(30 / 1200 * 100vw), 30px);
  line-height: 1.6;
  margin-block: calc(var(--leading-trim));
}
@media screen and (min-width: 481px) and (max-width: 1200px) {
  .intro__content__group {
    background-size: auto 100%;
  }
  .intro__content__group__list {
    grid-template-columns: repeat(2, minmax(0, 320px));
    justify-content: center;
  }
}
@media screen and (max-width: 480px){
  .intro__content__group {
    padding-block: 45px 80px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="750px" height="723px"><path fill-rule="evenodd" fill="rgb(239, 239, 239)" d="M0.000,0.000 L749.1000,0.000 L749.1000,612.999 L375.195,722.999 L0.000,612.999 L0.000,0.000 Z"/></svg>') no-repeat top center/100% 100%;
  }
  .intro__content__group__heading {
    font-size: 18px;
  }
  .intro__content__group__list {
    margin-top: 33px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .intro__content__group__list__item {
    padding: 10px;
  }
  .intro__content__group__list__item::before {
    translate: -4px -6px;
    width: 21px;
    height: 21px;
    border-radius: 1.5px;
  }
  .intro__content__group__list__item__copy {
    font-size: 13px;
  }
  .intro__content__group2 {
    padding-block: 27.5px 40px;
  }
  .intro__content__group2__heading {
    font-size: 18px;
    line-height: 1.666666667;
  }
}



.nav {
  padding-block: 87px 116px;
}
.nav__content {
  max-width: 1000px;
  gap: 50px;
}
.nav__content__item {
  flex: 0 1 300px;
  grid-template-columns: auto;
  justify-content: center;
  justify-items: center;
  align-content: stretch;
  align-items: center;
  box-sizing: border-box;
  padding: 53px 20px 23px;
  border-radius: 15px;
  box-shadow: 0 0 1.17px rgba(0, 0, 0, .1);
  filter: drop-shadow(6.89px 11.02px 10px rgba(0, 0, 0, 0.14)) invert(0);
  background: linear-gradient(0deg, #fff, #d7d7d7) no-repeat bottom center/100% 50%, linear-gradient(0deg, var(--color-gradient)) no-repeat center/100% 100%;
  background-blend-mode: multiply;
}
.nav__content__item__copy {
  font-size: clamp(18px, calc(24 / 1200 * 100vw), 24px);
  line-height: 1.25;
  margin-block: calc(var(--leading-trim));
}
.nav__content__item::after {
  content: "";
  display: block;
  width: clamp(18px, calc(28 / 1200 * 100vw), 28px);
  aspect-ratio: 28 / 24;
  margin-top: 28px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="83.409" height="68.95" viewBox="0 0 83.409 68.95"><polygon points="83.409 31.544 74.706 31.544 41.706 61.153 8.706 31.544 0 31.544 41.709 68.95 83.409 31.544" fill="%23fff"/><polygon points="83.409 0 74.706 0 41.706 29.609 8.706 0 0 0 41.709 37.406 83.409 0" fill="%23fff"/></svg>') no-repeat center/100% auto;
}
@media screen and (max-width: 480px){
  .nav {
    padding-block: 26px 47px;
  }
  .nav__content {
    gap: 11px;
  }
  .nav__content__item {
    flex: 1 0 100%;
    grid-template-columns: 16px minmax(0, 1fr) 16px;
    align-content: center;
    padding: 15px 15px 15px 0;
    border-radius: 8px;
    filter: drop-shadow(0 5px 3px rgba(0, 0, 0, 0.4)) invert(0);
    background: linear-gradient(0deg, #fff, #d7d7d7) no-repeat bottom center/100% 50%, linear-gradient(0deg, #fff, #fff) no-repeat center/100% 100%;
  }
  .nav__content__item__copy {
    font-size: 15px;
    grid-column: 2 / 3;
    color: rgba(var(--color-red), 1);
  }
  .nav__content__item::after {
    width: 14px;
    margin-top: 0;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="83.409" height="68.95" viewBox="0 0 83.409 68.95"><polygon points="83.409 31.544 74.706 31.544 41.706 61.153 8.706 31.544 0 31.544 41.709 68.95 83.409 31.544" fill="rgb(181, 25, 20)"/><polygon points="83.409 0 74.706 0 41.706 29.609 8.706 0 0 0 41.709 37.406 83.409 0" fill="rgb(181, 25, 20)"/></svg>') no-repeat center/100% auto;
    grid-column: 3 / 4;
  }
}



/* .about {
}
.about__about {
}
.about__about__heading {
} */
.about__about__group {
  width: calc(100% - 220px);
  max-width: 1600px;
  margin-top: 70px;
  gap: 60px calc(110 / 1600 * 100%);
}
.about__about__group__desc {
  width: calc(950 / 1600 * 100%);
}
/* .about__about__group__desc__heading {
} */
.about__about__group__desc__photo {
  margin-top: 60px;
}
.about__about__group__desc__list {
  margin-top: 60px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 50px;
}
.about__about__group__desc__list__item {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  border: 1px solid rgba(var(--color-red), 1);
  padding: 30px 34px 45px;
}
.about__about__group__desc__list__item__num {
  position: absolute;
  z-index: -1;
  top: 30px;
  right: 20px;
  font-size: clamp(110px, calc(150 / 1200 * 100vw), 150px);
  color: rgba(var(--color-pink), 1);
}
.about__about__group__desc__list__item__heading {
  font-size: clamp(18px, calc(24 / 1200 * 100vw), 24px);
}
.about__about__group__desc__list__item__copy {
  --margin-top: 34px;
}
.about__about__group__photo {
  flex: 1;
}
.about__about__group__photo .p-caption {
  margin-bottom: calc((308 / 700 * 100%) + 8px);
  margin-right: calc((360 / 700 * 100%) + 8px);
}
.about__merit {
  margin-top: 130px;
}
/* .about__merit__heading {
} */
.about__merit__subheading {
  --margin-top: 60px;
}
.about__merit__list {
  margin-top: 60px;
  gap: 30px;
}
.about__merit__list__item {
  flex: 0 1 min(calc((100% - 40px) / 2), 380px);
  box-sizing: border-box;
  padding: 40px 40px 45px;
  background: linear-gradient(52deg, var(--color-gradient));
}
.about__merit__list__item__heading {
  font-size: clamp(18px, calc(24 / 1200 * 100vw), 24px);
  line-height: 1.5;
  margin-block: calc(var(--leading-trim));
  margin-right: -.5em;
}
.about__merit__list__item__copy {
  --margin-top: 30px;
}
.about__merit__group {
  width: calc(100% - 220px);
  max-width: 1600px;
  margin-top: 60px;
  gap: 80px calc(120 / 1600 * 100%);
}
.about__merit__group__desc {
  width: calc(950 / 1600 * 100%);
  /* align-self: flex-end; */
}
/* .about__merit__group__desc__photo {
} */
.about__merit__group__photo {
  flex: 1;
}
.about__why {
  margin-top: 120px;
}
/* .about__why__heading {
} */
.about__why__list {
  max-width: 1400px;
  margin-top: 75px;
  grid-template-columns: 100%;
  gap: 130px 0;
}
.about__why__list__item {
  position: relative;
  z-index: 1;
  grid-template: ". . . . . . ." 45px
  ". num . heading . photo ." auto
  ". num . . . photo ." 25px
  ". num . subheading . photo ." auto
  ". . . . . photo ." 35px
  ". copy copy copy . photo ." 1fr
  ". . . . . . ." 35px
  / calc(100 / 1400 * 100%) calc(150 / 1400 * 100%) calc(20 / 1400 * 100%) calc(370 / 1400 * 100%) calc(60 / 1400 * 100%) minmax(0, 1fr) calc(25 / 1400 * 100%);
  align-items: start;
}
.about__why__list__item::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  margin-top: 55px;
  margin-bottom: -55px;
  background: linear-gradient(66deg, var(--color-gradient));
}
.about__why__list__item:nth-of-type(odd)::before {
  margin-left: min(calc((var(--window-half-width) * 2) * -.025), calc(50% - var(--window-half-width)));
  margin-right: calc(260 / 1400 * 100%);
}
.about__why__list__item:nth-of-type(even)::before {
  margin-left: calc(260 / 1400 * 100%);
  margin-right: min(calc((var(--window-half-width) * 2) * -.025), calc(50% - var(--window-half-width)));
}
.about__why__list__item::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  box-shadow: 0 0 24px rgba(0, 0, 0, .06);
  background: #fff;
}
.about__why__list__item__num {
  grid-area: num;
  margin-left: -.05em;
  font-size: clamp(100px, calc(200 / 1500 * 100vw), 200px);
  padding-bottom: .1em;
  color: rgba(var(--color-pink), 1);
}
.about__why__list__item__heading {
  grid-area: heading;
  align-self: end;
  font-size: clamp(20px, calc(30 / 1200 * 100vw), 30px);
  line-height: 1.3;
  margin-block: calc(var(--leading-trim));
}
.about__why__list__item__subheading {
  grid-area: subheading;
  align-self: start;
  font-size: clamp(14px, calc(24 / 1200 * 100vw), 24px);
  line-height: 1.541666667;
  margin-block: calc(var(--leading-trim));
}
.about__why__list__item__subheading small {
  display: block;
  font-size: calc(18 / 24 * 1em);
}
.about__why__list__item__desc {
  display: contents;
}
.about__why__list__item__desc__copy {
  grid-area: copy;
}
.about__why__list__item__desc__photo {
  grid-area: photo;
  align-self: end;
  width: 100%;
}
.about .cv {
  margin-top: 180px;
}
@media screen and (min-width: 481px) and (max-width: 1024px) {
  .about__merit__group {
    width: 95%;
  }
  .about__about__group__desc__list {
    width: 170%;
    margin-left: -70%;
  }
}
@media screen and (max-width: 480px){
  .about__about__group {
    width: calc(660 / 750 * 100%);
    margin-top: 20px;
    gap: 25px 0;
  }
  .about__about__group__desc {
    width: 100%;
  }
  .about__about__group__desc__photo {
    margin-top: 25px;
  }
  .about__about__group__desc__list {
    margin-top: 20px;
    grid-template-columns: 100%;
    gap: 10px 0;
  }
  .about__about__group__desc__list__item {
    padding: 20px 18px 25px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
  }
  .about__about__group__desc__list__item__num {
    position: relative;
    z-index: 1;
    top: 0;
    right: 0;
    font-size: 40px;
    margin-right: .5em;
  }
  .about__about__group__desc__list__item__heading {
    font-size: 15px;
  }
  .about__about__group__desc__list__item__copy {
    --margin-top: 16px;
    grid-column: 1 / 3;
  }
  .about__about__group__photo {
    flex: 1 0 100%;
  }
  .about__about__group__photo .p-caption {
    margin-bottom: calc((248 / 700 * 100%) + 8px);
    margin-right: calc((338 / 700 * 100%) + 8px);
  }
  .about__merit {
    margin-top: 45px;
  }
  .about__merit__subheading {
    --margin-top: 18.5px;
  }
  .about__merit__list {
    margin-top: 23.5px;
    gap: 10px 0;
  }
  .about__merit__list__item {
    flex: 1 0 100%;
    padding: 18px 20px 22px;
  }
  .about__merit__list__item__heading {
    font-size: 15px;
    margin-right: 0;
  }
  .about__merit__list__item__copy {
    --margin-top: 16px;
  }
  .about__merit__group {
    width: calc(660 / 750 * 100%);
    margin-top: 23.5px;
    gap: 25px 0;
  }
  .about__merit__group__desc {
    width: 100%;
  }
  .about__merit__group__photo {
    flex: 1 0 100%;
  }
  .about__why {
    margin-top: 45px;
  }
  .about__why__list {
    margin-top: 30px;
    gap: 17px 0;
    padding-bottom: 22px;
  }
  .about__why__list::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    margin-top: 58px;
    margin-inline: calc(50% - var(--window-half-width));
    background: linear-gradient(66deg, var(--color-gradient));
  }
  .about__why__list__item {
    grid-template: ". . . . ." 14px
    ". num heading arrow ." auto
    ". num . arrow ." 8px
    ". num subheading arrow ." auto
    ". desc desc desc ." auto
    ". . . . ." 14px
    / 18px 80px minmax(0, 1fr) 22px 18px;
    box-shadow: 0 0 24px rgba(0, 0, 0, .06);
    background: #fff;
    cursor: pointer;
    touch-action: manipulation;
  }
  .about__why__list__item::before {
    content: none;
  }
  .about__why__list__item__num {
    font-size: 90px;
  }
  .about__why__list__item__heading {
    font-size: 16px;
    line-height: 1.166666667;
  }
  .about__why__list__item__subheading {
    font-size: 13px;
    line-height: 1.466666667;
  }
  .about__why__list__item__subheading small {
    font-size: calc(24 / 30 * 1em);
  }
  .about__why__list__item__desc {
    display: block;
    grid-area: desc;
  }
  .about__why__list__item__desc__copy {
    padding-top: 14px;
  }
  .about__why__list__item__desc__photo {
    margin-top: 22px;
  }
  .about__why__list__item::after {
    all: unset;
    content: "";
    grid-area: arrow;
    justify-self: end;
    align-self: center;
    width: 16px;
    height: 16px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><polygon points="9.5 19.5 9.5 10.5 .5 10.5 .5 9.5 9.5 9.5 9.5 .5 10.5 .5 10.5 9.5 19.5 9.5 19.5 10.5 10.5 10.5 10.5 19.5 9.5 19.5" fill="rgb(181, 25, 20)"/><path d="M10,1v9h9-9v9V1M11,0h-2v9H0v2h9v9h2v-9h9v-2h-9V0h0Z" fill="rgb(181, 25, 20)"/></svg>') no-repeat center/100% auto;
  }
  .about__why__list__item--active::after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="2" viewBox="0 0 20 2"><rect x=".5" y=".5" width="19" height="1" fill="rgb(181, 25, 20)"/><polygon points="20 0 0 0 0 2 20 2 20 0 20 0" fill="rgb(181, 25, 20)"/></svg>');
  }
  .about .cv {
    margin-top: 0;
  }
}



/* .reason {
} */
.reason__reason {
  padding-block: 90px;
  background: rgba(var(--color-gray), 1);
}
/* .reason__reason__heading {
} */
.reason__reason__list {
  max-width: 1400px;
  margin-top: 75px;
  gap: 40px;
}
.reason__reason__list__item {
  position: relative;
  z-index: 1;
  flex: 0 1 min(calc((100% - 80px) / 2), 580px);
  box-sizing: border-box;
  border: 1px solid rgba(var(--color-red), 1);
  padding: 45px calc(90 / 1400 * 100%) 45px calc(40 / 1400 * 100%);
  background: #fff;
}
.reason__reason__list__item:nth-child(3) {
  margin-left: auto;
}
.reason__reason__list__item__num {
  position: absolute;
  z-index: -1;
  top: 30px;
  right: calc(35 / 580 * 100%);
  font-size: clamp(110px, calc(150 / 1200 * 100vw), 150px);
  color: rgba(var(--color-pink), 1);
}
.reason__reason__list__item__heading {
  font-size: clamp(14px, calc(24 / 1200 * 100vw), 24px);
  line-height: 1.5;
  margin-block: calc(var(--leading-trim));
}
.reason__reason__list__item__copy {
  --margin-top: 35px;
}
.reason__reason__list__item__caution {
  --margin-top: 1.25em;
}
.reason__works {
  position: relative;
  z-index: 1;
}
.reason__works__gallery {
  position: relative;
  z-index: 1;
}
.reason__works__desc {
  position: relative;
  z-index: 2;
  max-width: 1000px;
  margin-block: -65px;
  box-sizing: border-box;
  padding: 60px min(calc(70 / 1000 * 100%), 70px) 15px;
  background: linear-gradient(67deg, var(--color-gradient));
}
/* .reason__works__desc__heading {
} */
.reason__works__desc__heading sup {
  font-size: 50%;
}
.reason__works__desc__list {
  margin-top: 50px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 40px;
}
.reason__works__desc__list__item {
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  border: 1px solid #fff;
  padding: 20px 10px;
}
.reason__works__desc__list__item__copy {
  font-size: clamp(12px, calc(24 / 1200 * 100vw), 24px);
  line-height: 1.75;
}
.reason__works__desc__list__item__copy em {
  font-size: calc(30 / 24 * 100%);
}
.reason__works__desc__list__item__copy em.century {
  font-size: calc(48 / 30 * 100%);
}
.reason__works__desc__subheading {
  --margin-top: 45px;
}
.reason__works__desc__caution {
  font-size: 10px;
  margin-top: 30px;
  margin-inline: -55px;
}
.reason__works__ex {
  padding-block: 100px;
  background: rgba(var(--color-gray), 1);
  overflow: hidden;
}
/* .reason__works__ex__heading {
} */
.reason__works__ex__copy {
  font-size: clamp(14px, calc(18 / 1200 * 100vw), 18px);
  line-height: 1.75;
  margin-block: calc(45px + var(--leading-trim)) calc(var(--leading-trim));
}
.reason__works__ex__slide {
  width: calc(100% - 120px);
  margin-top: 60px;
  overflow: visible;
}
/* .reason__works__ex__slide__list {
} */
.reason__works__ex__slide__list__item {
  height: auto;
  box-sizing: border-box;
  border: 1px solid rgba(var(--color-red), 1);
  padding: 30px 30px 55px;
  background: #fff;
}
/* .reason__works__ex__slide__list__item__photo {
} */
.reason__works__ex__slide__list__item__heading {
  font-size: clamp(18px, calc(24 / 1200 * 100vw), 24px);
  line-height: 1.75;
  margin-block: calc(35px + var(--leading-trim)) calc(var(--leading-trim));
}
.reason__works__ex__slide__list__item__data {
  margin-top: 50px;
  margin-inline: 40px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: stretch;
  gap: 16px;
}
.reason__works__ex__slide__list__item__data__heading {
  font-size: clamp(10px, calc(14 / 1200 * 100vw), 14px);
  line-height: 1.2;
  padding: calc((7 / 14 * 1em) - var(--leading-trim)) calc(15 / 14 * 1em);
  display: grid;
  place-items: center;
  background: #efefef;
}
.reason__works__ex__slide__list__item__data__copy {
  font-size: clamp(10px, calc(14 / 1200 * 100vw), 14px);
  line-height: 1.2;
  padding-block: calc((7 / 14 * 1em) - var(--leading-trim));
}
.reason__works__ex__slidecontrol {
  margin-top: 40px;
  gap: 20px;
}
.reason__works__ex__slidecontrol__btn {
  /* position: relative;
  top: 0;
  width: 30px;
  height: 30px;
  margin-top: 0; */
  display: none;
}
/* .reason__works__ex__slidecontrol__btn--prev {
} */
.reason__works__ex__slidecontrol__pagination {
  position: relative;
  bottom: 0 !important;
  display: flex;
  justify-content: center;
  gap: 14px;
}
.reason__works__ex__slidecontrol__pagination .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  opacity: 1;
  background: #a4a4a4;
  margin: 0 !important;
}
.reason__works__ex__slidecontrol__pagination .swiper-pagination-bullet-active {
  background: rgba(var(--color-red), 1);
}
/* .reason__works__ex__slidecontrol__btn--next {
} */
.reason__cycle {
  padding-block: 165px 120px;
}
.reason__cycle__heading {
  grid-template-columns: auto;
  gap: 10px 0;
  justify-items: center;
}
.reason__cycle__heading span {
  font-size: clamp(26px, calc(36 / 1200 * 100vw), 36px);
  box-sizing: content-box;
  padding: calc(11 / 36 * 1em) calc(20 / 36 * 1em) calc(15 / 36 * 1em);
  background: rgba(var(--color-red), 1);
}
.reason__cycle__copy {
  font-size: clamp(12px, calc(18 / 1200 * 100vw), 18px);
  line-height: 1.666666667;
  margin-block: calc(50px + var(--leading-trim)) calc(var(--leading-trim));
}
.reason__cycle__photo {
  margin-top: 80px;
}
.reason__cycle__list {
  margin-top: 50px;
  gap: 30px;
}
.reason__cycle__list__item {
  flex: 0 1 min(calc((100% - 30px) / 2), 380px);
  box-sizing: border-box;
  border: 1px solid rgba(var(--color-red), 1);
  padding: 40px 10px 50px;
}
.reason__cycle__list__item__copy {
  font-size: clamp(14px, calc(20 / 1200 * 100vw), 20px);
  line-height: 1.8;
  margin-block: calc(var(--leading-trim));
}
.reason__cycle__list__item__copy sup {
  font-size: max(6px, 50%);
}
.reason__cycle__list__item__caution {
  --margin-top: 1.5em;
}
.reason__flow {
  position: relative;
  z-index: 1;
  padding-block: 90px 100px;
  background: url(../img/bg_flow.jpg) no-repeat center/cover;
}
/* .reason__flow__heading {
} */
.reason__flow__photo {
  max-width: 1000px;
  margin-top: 50px;
}
.reason__flow__heading2 {
  max-width: 1000px;
  margin-top: 30px;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 0 .5em;
  line-height: 1;
}
.reason__flow__heading2::before,
.reason__flow__heading2::after {
  content: "";
  display: block;
  width: 100%;
  height: 10px;
  background: rgba(var(--color-red), 1);
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="75" height="64.87" viewBox="0 0 75 64.87"><polygon points="0 32.435 75 64.87 75 0 0 32.435"/></svg>') no-repeat center left/auto 100%, linear-gradient(0deg, #000, #000) no-repeat center/calc(100% - 4px) 2px, linear-gradient(0deg, #000, #000) no-repeat center left/2px 100%;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="75" height="64.87" viewBox="0 0 75 64.87"><polygon points="0 32.435 75 64.87 75 0 0 32.435"/></svg>') no-repeat center left/auto 100%, linear-gradient(0deg, #000, #000) no-repeat center/calc(100% - 4px) 2px, linear-gradient(0deg, #000, #000) no-repeat center left/2px 100%;
}
.reason__flow__heading2::after {
  rotate: 180deg;
}
.reason__flow__heading2 em {
  line-height: 0;
}
.reason__flow__heading2 em em {
  font-size: calc(48 / 36 * 100%);
}
/* .reason__flow__caption {
} */
@media screen and (min-width: 481px) and (max-width: 1200px) {
  .reason__works__desc {
    margin-block: -20px;
  }
  .reason__works__desc__caution {
    margin-inline: 0;
  }
  .reason__works__ex__slide__list__item__data {
    margin-inline: 0;
  }
}
@media screen and (max-width: 480px){
  .reason__reason {
    padding-block: 40px;
  }
  .reason__reason__list {
    margin-top: 23px;
    gap: 16px 0;
  }
  .reason__reason__list__item {
    flex: 0 1 275px;
    padding: 25px 20px;
  }
  .reason__reason__list__item:nth-child(3) {
    margin-left: 0;
  }
  .reason__reason__list__item:nth-child(2),
  .reason__reason__list__item:nth-child(4) {
    margin-left: auto;
  }
  .reason__reason__list__item__num {
    top: 15px;
    right: 23px;
    font-size: 75px;
  }
  .reason__reason__list__item__heading {
    font-size: 15px;
  }
  .reason__reason__list__item__copy {
    --margin-top: 16px;
  }
  .reason__works__desc {
    margin-block: -36px;
    padding: 26px 12px 10px;
  }
  .reason__works__desc__list {
    margin-top: 24px;
    grid-template-columns: 250px;
    gap: 10px 0;
    justify-content: center;
  }
  .reason__works__desc__list__item {
    aspect-ratio: initial;
    padding: 15px 10px;
  }
  .reason__works__desc__list__item__copy {
    font-size: 15px;
    line-height: 1;
  }
  .reason__works__desc__list__item__copy em {
    font-size: calc(36 / 30 * 100%);
  }
  .reason__works__desc__list__item__copy em.century {
    font-size: calc(60 / 36 * 100%);
  }
  .reason__works__desc__subheading {
    --margin-top: 16px;
  }
  .reason__works__desc__caution {
    font-size: 8px;
    margin-top: 20px;
    margin-inline: 0;
  }
  .reason__works__ex {
    padding-block: 25px 28px;
  }
  .reason__works__ex__heading {
    font-size: 18px;
    line-height: 1.333333333;
  }
  .reason__works__ex__copy {
    font-size: 10px;
    margin-block: calc(20px + var(--leading-trim)) calc(var(--leading-trim));
  }
  .reason__works__ex__slide {
    width: calc(660 / 750 * 100%);
    margin-top: 25px;
  }
  .reason__works__ex__slide__list__item {
    padding: 15px 15px 20px;
  }
  .reason__works__ex__slide__list__item__heading {
    font-size: 13px;
    margin-block: calc(15px + var(--leading-trim)) calc(var(--leading-trim));
    letter-spacing: 0;
  }
  .reason__works__ex__slide__list__item__data {
    margin-top: 20px;
    margin-inline: 0;
    gap: 9px 8px;
  }
  .reason__works__ex__slide__list__item__data__heading {
    font-size: 9px;
    padding: calc(6px - var(--leading-trim)) 3px;
  }
  .reason__works__ex__slide__list__item__data__copy {
    font-size: 9px;
    padding-block: calc(6px - var(--leading-trim));
  }
  .reason__works__ex__slidecontrol {
    margin-top: 18px;
    gap: 18px;
  }
  .reason__works__ex__slidecontrol__pagination {
    gap: 7px;
  }
  .reason__works__ex__slidecontrol__pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
  }
  .reason__cycle {
    padding-block: 30px 36px;
  }
  .reason__cycle__heading {
    gap: 6px 0;
  }
  .reason__cycle__heading span {
    font-size: 16px;
    padding: 6px 10px;
  }
  .reason__cycle__copy {
    font-size: 10px;
    line-height: 1.8;
    margin-block: calc(22px + var(--leading-trim)) calc(var(--leading-trim));
  }
  .reason__cycle__photo {
    margin-top: 22px;
  }
  .reason__cycle__list {
    margin-top: 14px;
    gap: 10px;
  }
  .reason__cycle__list__item {
    flex: 0 1 calc((100% - 10px) / 2);
    padding: 8px 3px;
  }
  .reason__cycle__list__item__copy {
    font-size: 8px;
    line-height: 1.5;
  }
  .reason__cycle__list__item__caution {
    --margin-top: 1em;
    font-size: 6px;
  }
  .reason__flow {
    padding-block: 37px;
    background: url(../img/bg_flow-sp.jpg) no-repeat center/cover;
  }
  .reason__flow__photo {
    margin-top: 28px;
  }
  .reason__flow__heading2 {
    margin-top: 12px;
    line-height: 1.2;
  }
  .reason__flow__heading2::before,
  .reason__flow__heading2::after {
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="75" height="64.87" viewBox="0 0 75 64.87"><polygon points="0 32.435 75 64.87 75 0 0 32.435"/></svg>') no-repeat center left/auto 100%, linear-gradient(0deg, #000, #000) no-repeat center/calc(100% - 4px) 1px, linear-gradient(0deg, #000, #000) no-repeat center left/1px 100%;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="75" height="64.87" viewBox="0 0 75 64.87"><polygon points="0 32.435 75 64.87 75 0 0 32.435"/></svg>') no-repeat center left/auto 100%, linear-gradient(0deg, #000, #000) no-repeat center/calc(100% - 4px) 1px, linear-gradient(0deg, #000, #000) no-repeat center left/1px 100%;
  }
  .reason__flow__heading2 em em {
    font-size: calc(60 / 48 * 100%);
  }
}



/* .support {
} */
.support__content {
  padding-block: 130px 125px;
}
/* .support__content__heading {
} */
.support__content__list {
  margin-top: 60px;
  gap: 30px;
}
.support__content__list__item {
  position: relative;
  z-index: 1;
  flex: 0 1 min(calc((100% - 30px) / 2), 380px);
  box-sizing: border-box;
  border: 1px solid rgba(var(--color-red), 1);
  padding-bottom: 35px;
}
/* .support__content__list__item__photo {
} */
.support__content__list__item__num {
  position: absolute;
  z-index: -1;
  top: 0;
  left: calc(30 / 380 * 100%);
  margin-top: calc(230 / 380 * 100%);
  font-size: clamp(80px, calc(120 / 1200 * 100vw), 120px);
  color: rgba(var(--color-pink), 1);
}
.support__content__list__item__heading {
  font-size: clamp(14px, calc(24 / 1200 * 100vw), 24px);
  margin-top: 40px;
}
.support__content__list__item__copy {
  --margin-top: 45px;
  margin-inline: calc(50 / 16 * 1em);
}
.support__content__list__item__copy small {
  font-size: 10px;
}
@media screen and (max-width: 480px){
  .support__content {
    padding-block: 45px 28px;
  }
  .support__content__list {
    margin-top: 30px;
    gap: 15px 0;
  }
  .support__content__list__item {
    flex: 1 0 100%;
    padding-bottom: 22px;
  }
  .support__content__list__item__num {
    left: 18px;
    margin-top: calc(280 / 660 * 100%);
    font-size: 75px;
  }
  .support__content__list__item__heading {
    font-size: 15px;
    margin-top: 18px;
  }
  .support__content__list__item__copy {
    --margin-top: 16px;
    margin-inline: 20px;
  }
  .support__content__list__item__copy small {
    font-size: 8px;
  }
}



/* .faq {
} */
.faq__content {
  padding-block: 95px 115px;
  background: rgba(var(--color-gray), 1);
}
/* .faq__content__heading {
} */
.faq__content__list {
  margin-top: 60px;
  grid-template-columns: 100%;
  gap: 10px 0;
}
.faq__content__list__item {
  background: #fff;
}
.faq__content__list__item__question {
  box-sizing: border-box;
  padding: 24px 23px 20px 28px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  cursor: pointer;
  touch-action: manipulation;
}
.faq__content__list__item__question::-webkit-details-marker {
  display: none;
}
.faq__content__list__item__question__icon {
  width: calc(70 / 36 * 1em);
  font-size: clamp(26px, calc(36 / 1200 * 100vw), 36px);
  translate: 0 -.1em;
}
.faq__content__list__item__question__heading {
  font-size: clamp(14px, calc(18 / 1200 * 100vw), 18px);
  line-height: 1.75;
  margin-block: calc(var(--leading-trim));
}
.faq__content__list__item__question__status {
  position: relative;
  z-index: 1;
  width: 27px;
  height: 27px;
  margin-left: 30px;
  font-size: 0;
}
.faq__content__list__item__question__status::before,
.faq__content__list__item__question__status::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  background: rgba(var(--color-red), 1);
}
.faq__content__list__item__question__status::after {
  rotate: 90deg;
  transition: scale .3s;
}
.faq__content__list__item[open] .faq__content__list__item__question__status::after {
  scale: 0 1;
}
.faq__content__list__item__answer {
  box-sizing: border-box;
  padding: 26px 23px;
  grid-template-columns: auto minmax(0, 1fr);
  background: linear-gradient(0deg, rgba(var(--color-gray), 1), rgba(var(--color-gray), 1)) no-repeat top 1px center/calc(100% - 46px) 2px;
}
.faq__content__list__item__answer__icon {
  width: calc(70 / 36 * 1em);
  font-size: clamp(26px, calc(36 / 1200 * 100vw), 36px);
  margin-left: 5px;
  translate: .1em;
}
.faq__content__list__item__answer__copy {
  grid-column: 2 / 3;
}
.faq__content__list__item__answer__copy sup {
  font-size: 10px;
}
.faq__content__list__item__answer__caution {
  grid-column: 2 / 3;
  --margin-top: 2em;
}
@media screen and (max-width: 480px){
  .faq__content {
    padding-block: 28px 30px;
  }
  .faq__content__list {
    margin-top: 28px;
  }
  .faq__content__list__item__question {
    padding: 15px 15px 15px 17px;
  }
  .faq__content__list__item__question__icon {
    width: 30px;
    font-size: 18px;
    align-self: start;
  }
  .faq__content__list__item__question__heading {
    font-size: 11px;
  }
  .faq__content__list__item__question__status {
    width: 14px;
    height: 14px;
    margin-left: 3px;
  }
  .faq__content__list__item__question__status::before,
  .faq__content__list__item__question__status::after {
    top: calc(50% - 0.5px);
    height: 1px;
  }
  .faq__content__list__item__answer {
    padding: 15px;
    background: linear-gradient(0deg, rgba(var(--color-gray), 1), rgba(var(--color-gray), 1)) no-repeat top 1px center/calc(100% - 30px) 1px;
  }
  .faq__content__list__item__answer__icon {
    width: 32px;
    font-size: 18px;
    margin-left: 2px;
  }
  .faq__content__list__item__answer__copy sup {
    font-size: 8px;
  }
}