@charset "utf-8";

/* ↓↓↓ common ↓↓↓ */
* {
  margin: 0;
  box-sizing: border-box;
}

.dir-under .wrap {
  position: relative;
  background: url(../images/main-under-bg.jpg) repeat-y;
  background-size: 100% auto;
  background-position: top center;
}

@media screen and (max-width: 768px) {
  .dir-under .wrap {
    background: url(../images/main-under-bg_sp.jpg) no-repeat;
    background-size: 100% auto;
    background-position: bottom center;
  }
}

.dir-under .wrap::before {
  content: '';
  position: absolute;
  translate: -50% 0;
  top: 0;
  left: 50%;
  max-width: 1280px;
  width: 100%;
  height: 100%;
  background: url(../images/deco-under-bg.png) repeat-y;
  background-size: 100% auto;
}

@media screen and (max-width: 768px) {
  .dir-under .wrap::before {
    background: url(../images/deco-under-bg_sp.png) repeat-y;
    background-size: 100% auto;
  }
}

.title-group .page-title {
  position: relative;
  font-size: clamp(5rem, calc(64/1280*100vw), 6.4rem);
  font-weight: 400;
  font-family: var(--rammetto);
  letter-spacing: 0.048em;
  color: #fff;
  -webkit-text-stroke: 2px #000;
  filter: drop-shadow(8px 8px 0 #55D6C2);
  padding-bottom: 8px;
  margin: 0;
  overflow: hidden;
  opacity: 0;
}

@media screen and (max-width: 768px) {
  .title-group .page-title {
    text-align: center;
    font-size: 4rem;
    padding-bottom: 0;
  }
}

.title-group .page-title span {
  translate: 0 200%;
  display: inline-block;
}

.title-group .sub-title {
  position: relative;
  display: block;
  width: max-content;
  font-size: 1.4rem;
  font-weight: 700;
  font-family: var(--zenKakuAntique);
  text-align: center;
  line-height: 1;
  border: 2px solid #000;
  border-radius: 40px;
  padding: 11px 30px;
  margin: 0 0 20px;
  background-color: #fff;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .title-group .sub-title {
    margin: 0 auto 20px;
  }
}

.title-group .sub-title::before {
  content: '';
  position: absolute;
  translate: 0 100%;
  bottom: 0;
  left: 35px;
  width: 22px;
  height: 15px;
  clip-path: polygon(20% 0, 0% 100%, 100% 0);
  background-color: #000;
}

.title-group .sub-title::after {
  content: '';
  position: absolute;
  translate: 0 100%;
  bottom: 1px;
  left: 38px;
  width: 18px;
  height: 12px;
  clip-path: polygon(20% 0, 0% 100%, 100% 0);
  background-color: #fff;
}

.contents-area-main .text {
  text-align: justify;
  word-break: break-all;
  font-size: 1.6rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .contents-area-main .text {
    font-size: 1.4rem;
  }
}
/* ↑↑↑ common ↑↑↑ */

/* ↓↓↓ fv-area ↓↓↓ */
.fv-area {
  position: relative;
  max-width: calc(1080px + 70px * 2);
  margin: 0 auto;
}

.fv-area .inner {
  padding: 42px 70px 0;
}

@media screen and (max-width: 768px) {
  .fv-area .inner {
    padding: 37px 15px 0;
  }
}

.fv-area .fv-text {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .fv-area .fv-text {
    text-align: center;
    font-size: 1.4rem;
    margin-top: 20px;
  }
}

.fv-area .attention {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  margin-top: 8px;
}

@media screen and (max-width: 768px) {
  .fv-area .attention {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
    margin-top: 10px;
  }
}
/* ↑↑↑ fv-area ↑↑↑ */

/* ↓↓↓ contents-area ↓↓↓ */

.dir-under .contents-area {
  position: relative;
  max-width: calc(1080px + 70px* 2);
  margin: 60px auto 0;
  padding: unset;
  background-color: unset;
}

@media screen and (max-width: 768px){
  .dir-under .contents-area {
    position: relative;
    max-width: calc(311px + 32px* 2);
    margin: 34px auto 0;
    padding: unset;
    background-color: unset;
  }
}

.contents-area .container {
  padding: 0 70px;
  width: 100%;
  container-type: inline-size;
}

@media screen and (max-width: 768px){
  .contents-area .container {
    padding: 0 32px;
    width: 100%;
    container-type: inline-size;
  }
}


.contents-area .container .list-works {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 2.5926cqw;
  margin-bottom: 100px;
  counter-reset: listnum;
}

@container (max-width: 1079px) {
  .contents-area .container .list-works {
    max-width: 712px;
    gap: 30px 24px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works {
    display: grid;
    gap: 20px 0;
    margin-bottom: 70px;
  }
}

.contents-area .container .list-works .link-box {
  position: relative;
  display: flex;
  flex-direction: column;
  width: calc((100% - 2.5926cqw * 2) / 3);
  min-height: min(47.5vw,550px);
  border: 2px solid #000;
  border-radius: 32px;
  padding-bottom: 0;
  box-shadow: 6px 6px 0 #000;
  background-color: #fff;
  container-type: inline-size;
}


@media screen and (min-width: 769px){
  .contents-area .container .list-works .link-box:hover {
    box-shadow: 0 0 0 #000;
    translate: 6px 6px;
  }
}

@container (max-width: 1079px) {
  .contents-area .container .list-works .link-box {
    width: calc((100% - 24px) / 2);
  }
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box {
    flex-direction: row;
    width: 311px;
    height: 324px;
    min-height: unset;
    padding-bottom: 0;
    overflow: hidden;
  }
}

.contents-area .container .list-works .link-box .image {
  width: 100%;
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box .image {
    width: 142px;
    height: 231px;
  }
}

.contents-area .container .list-works .link-box .image img {
  width: 100%;
  border-radius: 32px 32px 0 0;
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box .image img {
    width: 142px;
    border-radius: 32px 0 0 32px;
  }
}

.contents-area .container .list-works .link-box .info {
  width: 100%;
  position: relative;
  padding: 20px 0 0 7.089cqw;
  font-family: var(--zenKakuAntique);
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box .info {
    width: 100%;
    padding: 20px 0 0 12px;
  }
}

.contents-area .container .list-works .link-box .info .number {
  font-size: 21.9371cqw;
  line-height: 1;
  font-family: var(--rammetto);
  position: absolute;
  top: 0;
  right: -3px;
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box .info .number {
    font-size: 49px;
    line-height: 1;
    position: absolute;
    top: 40px;
  }
}

.contents-area .container .list-works .link-box .info .info__section {
  width: fit-content;
  font-size: max(1.2rem, 4.74315cqw);
  font-weight: 700;
  line-height: 1;
  padding: 10px 7.1146cqw;
  margin-bottom: 10px;
  border-radius: 24px;
  color: #fff;
}

.contents-area .container .list-works .link-box .info.technology .info__section {
  color: #231F20;
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box .info .info__section {
    font-size: 1.2rem;
    font-weight: 700;
    padding: 4px 8px;
    margin-bottom: 6px;
  }
}

.contents-area .container .list-works .link-box .info.content {
  .number {
    color: rgba(252, 144, 65, .2);
  }
  .info__section {
    background-color: #FC9041;
  }
}

.contents-area .container .list-works .link-box .info.technology {
  .number {
    color: rgba(244, 198, 8, .2);
  }
  .info__section {
    background-color: #F4C608;
  }
}


.contents-area .container .list-works .link-box .info .info__position {
  font-size: max(1.2rem, 4.15025cqw);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0;
}
@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box .info .info__position {
    font-size: 1.2rem;
    margin-bottom: 5px;
  }
}

.contents-area .container .list-works .link-box .info .info__name {
  font-size: max(1.8rem, 7.11472cqw);
  font-weight: 700;
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box .info .info__name {
    font-size: 1.9rem;
    line-height: 1.1;
    margin-bottom: 6px;
  }
}

.contents-area .container .list-works .link-box .info .info__name .info__name_en {
  font-size: 4.15025cqw;
  font-weight: 700;
  font-family: var(--montserrat);
  margin-left: 3.55736cqw;
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box .info .info__name .info__name_en {
    font-size: 1.2rem;
    margin-left: 0;
  }
}

.contents-area .container .list-works .link-box .info .info__joined {
  font-size: 4.15025cqw;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0;
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box .info .info__joined {
    font-size: 1.2rem;
  }
}

.contents-area .container .list-works .link-box .info .info__note {
  position: relative;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4;
  padding-top: 32px;
  padding-bottom: 56px;
  letter-spacing: 0.01em;
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box .info .info__note {
    font-size: 1.0rem;
    font-weight: 700;
    padding-top: 12px;
    padding-bottom: 0;
  }
}

.contents-area .container .list-works .link-box .info .info__note::after {
  content: '';
  position: absolute;
  width: 89.0625%;
  height: 2px;
  background-image : linear-gradient(to right, #000 2px, transparent 2px);
  background-size: 6px 2px;
  top: 16px;
  left: 0;
}

@media screen and (max-width: 768px){
  .contents-area .container .list-works .link-box .info .info__note::after {
    content: '';
    position: absolute;
    width: 89.0625%;
    height: 2px;
    background-image : linear-gradient(to right, #000 2px, transparent 2px);
    background-size: 6px 2px;
    top: 4px;
    left: 0;
  }
}

.contents-area .container .list-works .link-box .arrow {
  position: absolute;
  width: min(56px, calc(56 / 1280* 100vw));
  aspect-ratio: 1 / 1;
  border: 1px solid #000;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #F5E960;
  overflow: clip;
  bottom: 16px;
  right: 16px;
}

@media (max-width: 768px) {
  .contents-area .container .list-works .link-box .arrow {
    width: 38px;
    margin: auto 0 0 auto;
    bottom: 6px;
    right: 6px;
  }
}

.contents-area .container .list-works .link-box .arrow img{
  position: relative;
  width: 12px;
  height: 7px;
  z-index: 1;
}

.contents-area .container .list-works .link-box .arrow::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  translate: -50% -50%;
  scale: 0;
  top: 50%;
  left: 50%;
  z-index: 0;
  transition: scale ease .3s;
}

@media screen and (min-width: 769px){
  .contents-area .container .list-works .link-box:hover .arrow::after {
    scale: 1;
  }
}

/* ↑↑↑ contents-area ↑↑↑ */

/* ↓↓↓ #detail ↓↓↓ */
/* ↓↓↓ intro-area ↓↓↓ */
#detail {
  .intro-area {
    position: relative;
    max-width: calc(1080px + 70px* 2);
    margin: 0 auto;
  }
  
  .intro-area .inner {
    padding: 42px 70px 0;
  }
  
  @media (max-width: 768px) {
    .intro-area .inner {
      padding: 0;
    }
  }
  
  .intro-area .title-group {
    position: relative;
    z-index: 1;
  }
  
  .intro-area .intro-block {
    position: relative;
    max-width: 1080px;
    padding-top: max(140px, 16.667%);
    margin: 30px auto 0;
  }
  
  @media (max-width: 768px) {
    .intro-area .intro-block {
      display: flex;
      flex-direction: column-reverse;
      padding-top: 0;
      margin: 20px auto 0;
    }
  }
  
  .intro-area .intro-block .image {
    position: absolute;
    top: 0;
    right: 0;
    width: 69.353%;
    border-radius: 32px;
    overflow: hidden;
  }
  
  @media (max-width: 768px) {
    .intro-area .intro-block .image {
      position: initial;
      width: calc(100% - 32px);
      border-radius: 32px 0 0 32px;
      margin-left: auto;
    }
  }
  
  .intro-area .intro-block .intro-box {
    position: relative;
    width: 355px;
    border-radius: 0 30px 30px 0;
    padding: 28px 12px 38px 32px;
    font-family: var(--zenKakuAntique);
    border: 2px solid #000;
    background-color: #fff;
    z-index: 1;
  }
  
  @media screen and (max-width: 768px) {
    .intro-area .intro-block .intro-box {
      width: calc(100% - 32px);
      border-radius: 0 30px 30px 0;
      border-left: initial;
      margin-top: -75px;
      padding: 22px 32px 28px;
    }
  }
  
  .intro-area .intro-block .intro-box .deco01 {
    position: absolute;
    transform: rotateY(180deg);
    translate: 0 -100%;
    top: 0;
    left: 12px;
    width: 106px;
  }
  
  @media screen and (max-width: 768px) {
    .intro-area .intro-block .intro-box .deco01 {
      width: 78px;
    }
  }
  
  .intro-area .intro-block .intro-box .info__section {
    display: grid;
    place-content: center;
    width: max-content;
    height: 44px;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 10px 24px;
    border-radius: 44px;
    color: #fff;
    margin-bottom: 12px;
  }
  
  @media (max-width: 768px) {
    .intro-area .intro-block .intro-box .info__section {
      height: 28px;
      font-size: 1.4rem;
      padding: 4px 16px;
      border-radius: 30px;
      margin-bottom: 8px;
    }
  }
  
  .production .intro-area .intro-block .intro-box .info__section {
    background-color: #FC9041;
  }
  
  .technology .intro-area .intro-block .intro-box .info__section {
    background-color: #F4C608;
    color: #231F20;
  }
  
  .intro-area .intro-block .intro-box .info__position {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 4px;
  }
  
  @media (max-width: 768px) {
    .intro-area .intro-block .intro-box .info__position {
      font-size: 1.2rem;
    }
  }
  
  .intro-area .intro-block .intro-box .info__name {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.3;
  }
  
  .intro-area .intro-block .intro-box .info__name_en {
    font-family: var(--montserrat);
    font-size: 1.4rem;
    margin-left: 12px;
  }
  
  @media (max-width: 768px) {
    .intro-area .intro-block .intro-box .info__name_en {
      font-size: 1.2rem;
      margin-left: 10px;
    }
  }
  
  .intro-area .intro-block .intro-box .info__joined {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    margin-top: 10px;
  }
  
  @media (max-width: 768px) {
    .intro-area .intro-block .intro-box .info__joined {
      font-size: 1.2rem;
      margin-top: 6px;
    }
  }
  
  .intro-area .intro-block .intro-box .info__note {
    position: relative;
    font-size: 1.4rem;
    font-weight: 700;
    padding-top: 32px;
    letter-spacing: 0.01em;
  }
  
  @media (max-width: 768px) {
    .intro-area .intro-block .intro-box .info__note {
      font-size: 1.2rem;
      padding-top: 20px;
    }
  }
  
  .intro-area .intro-block .intro-box .info__note::after {
    content: '';
    position: absolute;
    width: 90%;
    height: 2px;
    background-image: linear-gradient(to right, #000 2px, transparent 2px);
    background-size: 6px 2px;
    top: 16px;
    left: 0;
  }
  
  @media (max-width: 768px) {
    .intro-area .intro-block .intro-box .info__note::after {
      top: 12px;
      width: 100%;
    }
  }
}
/* ↑↑↑ intro-area ↑↑↑ */

/* ↓↓↓ week-area ↓↓↓ */
#detail {
  .week-area {
    margin-top: 60px;
  }
  
  @media screen and (max-width: 768px) {
    .week-area {
      margin-top: 32px;
    }
  }
  
  .week-area .inner {
    padding: 0 70px;
  }
  
  @media screen and (max-width: 768px) {
    .week-area .inner {
      padding: 0 0 0 32px;
    }
  }
  
  .week-area .week-block {
    position: relative;
    max-width: 1080px;
    margin: 0 auto;
  }
  
  @media screen and (max-width: 768px) {
    .week-area .week-block {
      max-width: 500px;
    }
  }
  
  .week-area .week-block .deco01 {
    position: absolute;
    top: 0;
    right: -75px;
    width: 82px;
  }
  
  @media screen and (max-width: 768px) {
    .week-area .week-block .deco01 {
      top: -50px;
      right: -4px;
      width: 60px;
    }
  }
  
  .week-area .week-block .lead {
    position: relative;
    font-family: var(--zenKakuAntique);
    font-size: clamp(1.6rem, calc(28 / 1280* 100vw), 2.8rem);
    font-weight: 700;
    line-height: 1.2;
    width: max-content;
    color: #fff;
    border: 2px solid #000;
    border-radius: 73px;
    padding: 16px 46px;
  }
  
  @media screen and (max-width: 768px) {
    .week-area .week-block .lead {
      font-size: 1.6rem;
      border-radius: 24px;
      padding: 13px 15px 14px calc(15px + 1em);
      text-indent: -1em;
    }
  }
  
  .week-area .week-block .lead::before {
    content: '';
    position: absolute;
    translate: 0 100%;
    bottom: 0;
    left: 25px;
    width: 22px;
    height: 15px;
    clip-path: polygon(20% 0, 0% 100%, 100% 0);
    background-color: #000;
  }
  
  .week-area .week-block .lead::after {
    content: '';
    position: absolute;
    translate: 0 100%;
    bottom: 1px;
    left: 28px;
    width: 18px;
    height: 12px;
    clip-path: polygon(20% 0, 0% 100%, 100% 0);
  }
  
  .production .week-area .week-block .lead,
  .production .week-area .week-block .lead::after  {
    background-color: #FC9041;
  }
  
  .technology .week-area .week-block .lead,
  .technology .week-area .week-block .lead::after  {
    background-color: #F4C608;
    color: #231F20;
  }
  
  .week-area .week-block .image {
    position: relative;
    margin-top: 30px;
  }
  
  @media screen and (max-width: 768px) {
    .week-area .week-block .image {
      overflow-x: scroll;
      margin-top: 20px;
    }
  
    .week-area .week-block .image .scroll-image {
      width: calc(713px + 32px);
      padding-right: 32px;
    }
  }
  
  .week-area .week-block .image .scroll-icon {
    position: absolute;
    translate: 0 -50%;
    left: 110px;
    top: 50%;
    width: 88px;  
  }
}
/* ↑↑↑ week-area ↑↑↑ */

/* ↓↓↓ schedule-area ↓↓↓ */
#detail {
  .schedule-area {
    position: relative;
    max-width: calc(1080px + 70px * 2);
    margin: 80px auto 0;
    z-index: 1;
  }
  
  .schedule-area .inner {
    padding: 0 70px;
  }
  
  @media (max-width: 768px) {
    .schedule-area .inner {
      padding: 0 32px;
    }
  }
  
  .schedule-area .title-group {
    position: relative;
  }
  
  .schedule-area .deco01 {
    position: absolute;
    top: 50px;
    left: -30px;
    width: 145px;
  }
  
  @media (max-width: 768px) {
    .schedule-area .deco01 {
      top: 70px;
      left: -12px;
      width: 68px;
    }
  }
  
  .schedule-area .title-group .sub-title {
    position: absolute;
    translate: -50% 0;
    bottom: -6px;
    left: 50%;
    font-size: 2rem;
    padding: 14px 40px;
    margin: 0;
  }
  
  @media (max-width: 768px) {
    .schedule-area .title-group .sub-title {
      bottom: -20px;
      font-size: 1.4rem;
      padding: 10px 32px;
    }
  }
  
  .schedule-area .title-group .page-title {
    text-align: center;
    font-size: clamp(8rem, calc(102/1280*100vw), 10.2rem);
    color: transparent;
    filter: initial;
  }
  
  @media (max-width: 768px) {
    .schedule-area .title-group .page-title {
      font-size: 5rem;
    }
  }
  
  .production .schedule-area .title-group .page-title {
    -webkit-text-stroke: 2px #FC9041;
  }
  
  .technology .schedule-area .title-group .page-title {
    -webkit-text-stroke: 2px #F4C608;
  }
  
  .schedule-area .schedule-block {
    max-width: 954px;
    margin: 40px auto 0;
    overflow: hidden;
    container-type: inline-size;
  }
  
  @media (max-width: 768px) {
    .schedule-area .schedule-block {
      max-width: 500px;
      margin: 64px auto 0;
    }
  }
  
  .schedule-area .schedule-box {
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
  }
  
  @media (max-width: 768px) {
    .schedule-area .schedule-box {
      gap: 10px;
    }
  }
  
  .schedule-area .schedule-box:first-of-type::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 49px;
    width: 3px;
    height: 400cqh;
    background-image: linear-gradient(to bottom, #FC9041 2px, transparent 2px);
    background-size: 2px 7px;
    background-repeat: repeat-y;
    background-position: bottom;
  }
  
  @media (max-width: 768px) {
    .schedule-area .schedule-box:first-of-type::before {
      left: 32px;
    }
  }
  
  .production .schedule-area .schedule-box:first-of-type::before {
    background-image: linear-gradient(to bottom, #FC9041 2px, transparent 2px);
  }
  
  .technology .schedule-area .schedule-box:first-of-type::before {
    background-image: linear-gradient(to bottom, #F4C608 2px, transparent 2px);
  }
  
  @media (max-width: 768px) {
    .schedule-area .schedule-box::before {
      left: 38px;
    }
  }
  
  .schedule-area .schedule-box::after {
    translate: 0 50%;
  }
  
  .schedule-area .schedule-box:not(:first-of-type) {
    margin-top: 10px;
  }
  
  .schedule-area .schedule-box .time {
    position: relative;
    display: grid;
    place-content: center;
    min-width: 97px;
    height: 97px;
    font-family: var(--montserrat);
    font-size: 2.5rem;
    font-weight: 700;
    border-radius: 50%;
    color: #fff;
    z-index: 1;
  }
  
  .production .schedule-area .schedule-box .time {
    background-color: #FC9041;
  }
  
  .technology .schedule-area .schedule-box .time {
    background-color: #F4C608;
    color: #231F20;
  }
  
  @media (max-width: 768px) {
    .schedule-area .schedule-box .time {
      min-width: 67px;
      height: 67px;
      font-size: 1.6rem;
    }
  }
  
  .schedule-area .schedule-box .text-group {
    display: flex;
    align-items: center;
    flex-grow: 1;
    gap: 24px;
    border-radius: 26px;
    border: 2px solid #231F20;
    background-color: #fff;
    padding: 32px 40px;
  }
  
  @media (max-width: 768px) {
    .schedule-area .schedule-box .text-group {
      flex-direction: column;
      align-items: flex-start;
      gap: 14px;
      border-radius: 24px;
      padding: 28px 26px 22px;
    }
  }
  
  .schedule-area .schedule-box .text-group .image {
    min-width: 33.102%;
    width: 33.102%;
  }
  
  @media (max-width: 768px) {
    .schedule-area .schedule-box .text-group .image {
      min-width: initial;
      width: 173px;
      margin: 0 auto;
    }
  }
  
  .schedule-area .schedule-box .text-group .text {
    text-align: left;
    flex-grow: 1;
  }
  
  @media (max-width: 768px) {
    .schedule-area .schedule-box .text-group .text {
     line-height: 1.4;
    }
  }
  
  .schedule-area .schedule-box .text-group .text .lead {
    display: inline-block;
    font-size: clamp(1.6rem, calc(28/1280*100vw), 2.8rem);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 12px;
  }
  
  @media (max-width: 768px) {
    .schedule-area .schedule-box .text-group .text .lead {
      font-size: 1.6rem;
      margin-bottom: 8px;
    }
  }
}
/* ↑↑↑ schedule-area ↑↑↑ */

/* ↓↓↓ faq-area ↓↓↓ */
#detail {
  .faq-area {
    position: relative;
    max-width: calc(1080px + 70px * 2);
    margin: 140px auto 0;
    z-index: 1;
  }
  
  @media (max-width: 768px) {
    .faq-area {
      max-width: 500px;
      margin: 76px auto 0;
    }
  }
  
  .faq-area .inner {
    padding: 0 70px;
  }
  
  @media (max-width: 768px) {
    .faq-area .inner {
      padding: 0 32px;
    }
  }
  
  .faq-area .faq-block {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 40px 22px;
  }
  
  @media (max-width: 768px) {
    .faq-area .faq-block {
      flex-direction: column;
      gap: 34px 0;
    }
  }
  
  .faq-area .faq-block .deco01 {
    position: absolute;
    display: block;
    transform: rotateY(180deg);
    top: 50%;
    left: -75px;
    width: 98px;
    margin: 0;
    z-index: 1;
  }
  
  @media (max-width: 768px) {
    .faq-area .faq-block .deco01 {
      left: -43px;
      width: 60px;
    }
  }
  
  .faq-area .faq-block .deco02 {
    position: absolute;
    display: block;
    bottom: -17px;
    right: -65px;
    width: 138px;
    margin: 0;
    z-index: 1;
  }
  
  @media (max-width: 768px) {
    .faq-area .faq-block .deco02 {
      bottom: -30px;
      right: -25px;
      width: 65px;
    }
  }
  
  .faq-area .faq-box {
    position: relative;
    display: flex;
    flex-direction: column;
    width: calc((100% - 22px) / 2);
    border-radius: 32px;
    border: 2px solid #000;
    background-color: #fff;
    padding: 64px 4.075% 40px;
    z-index: 1;
  }
  
  .faq-area .faq-box:not(:has(figure)):last-of-type {
    height: max-content;
  }
  
  @media (max-width: 768px) {
    .faq-area .faq-box {
      width: 100%;
      border-radius: 24px;
      padding: 58px 24px 30px;
    }
  }
  
  .faq-area .faq-box .theme {
    position: absolute;
    top: -24px;
    left: 26px;
    font-family: var(--zenKakuAntique);
    font-size: clamp(1.6rem, calc(22/1280*100vw), 2.2rem);
    font-weight: 700;
    line-height: 1.2;
    border: 2px solid #000;
    border-radius: 35px;
    padding: 18px 6.478% 18px calc(6.478% + 1em);
    text-indent: -1em;
  }
  
  @media (max-width: 768px) {
    .faq-area .faq-box .theme {
      left: 10px;
      font-size: 1.8rem;
      letter-spacing: 0;
      padding: 10px 20px 10px calc(20px + 1em);
    }
  }
  
  .production .faq-area .faq-box .theme {
    background-color: #FC9041;
    color: #fff;
  }
  
  .technology .faq-area .faq-box .theme {
    background-color: #F4C608;
    color: #231F20;
  }
  
  .faq-area .faq-box .theme::before {
    content: '';
    position: absolute;
    translate: 0 100%;
    bottom: 0;
    left: 25px;
    width: 22px;
    height: 15px;
    clip-path: polygon(20% 0, 0% 100%, 100% 0);
    background-color: #000;
  }
  
  .faq-area .faq-box .theme::after {
    content: '';
    position: absolute;
    translate: 0 100%;
    bottom: 1px;
    left: 28px;
    width: 18px;
    height: 12px;
    clip-path: polygon(20% 0, 0% 100%, 100% 0);
  }
  
  .production .faq-area .faq-box .theme::after {
    background-color: #FC9041;
  }
  
  .technology .faq-area .faq-box .theme::after {
    background-color: #F4C608;
  }
  
  .faq-area .faq-box .text {
    flex-grow: 1;
  }
  
  .faq-area .faq-box figure {
    position: relative;
    display: block;
    width: 100%;
    margin: 24px 0 0;
  }
  
  .faq-area .faq-box figure:has(figcaption) {
    padding-bottom: 36px;
  }

  .faq-area .faq-box figure:has(figcaption.-two) {
    padding-bottom: 66px;
  }
  
  @media (max-width: 768px) {
    .faq-area .faq-box figure {
      margin: 14px 0 0;
    }
    
    .faq-area .faq-box figure:has(figcaption) {
      padding-bottom: 0;
    }

    .faq-area .faq-box figure:has(figcaption.-two) {
      padding-bottom: 0;
    }
  }
  
  .faq-area .faq-box figcaption {
    position: absolute;
    left: 0;
    bottom: 0;
    font-family: var(--zenKakuAntique);
    font-size: clamp(1rem, calc(14/1280*100vw), 1.4rem);
    font-weight: 500;
    margin: 0;
  }
  
  @media (max-width: 768px) {
    .faq-area .faq-box figcaption {
      position: initial;
      font-size: 1.2rem;
      margin-top: 4px;
    }
  }
  
  .faq-area .bottom {
    max-width: 920px;
    margin: 48px auto 0;
    border-radius: 32px;
    overflow: hidden;
  }
  
  @media (max-width: 768px) {
    .faq-area .bottom {
      margin: 82px auto 0;
    }
  }
  
  .faq-area .back-btn {
    position: relative;
    display: grid;
    place-content: center;
    width: 232px;
    height: 64px;
    margin: 40px auto 0;
    border-radius: 64px;
    padding: 0 64px 0 20px;
    border: 2px solid #000;
    background-color: #fff;
    box-shadow: 6px 6px 0 #000;
    transition: box-shadow ease .3s, translate ease .3s;
    z-index: 1;
  }
  
  @media (min-width: 769px) {
    .faq-area .back-btn:hover {
      box-shadow: 0 0 0 #000;
      translate: 6px 6px;
    }
  }
  
  @media (max-width: 768px) {
    .faq-area .back-btn {
      width: 263px;
    }
  }
  
  .faq-area .back-btn .link-txt {
    text-align: center;
    font-family: var(--montserrat);
    font-size: 1.4rem;
    font-weight: 700;
    font-style: italic;
  }
  
  .faq-area .back-btn .arrow {
    position: absolute;
    translate: 0 -50%;
    top: 50%;
    right: 0;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #000;
    background-color: #F5E960;
  }
  
  .faq-area .back-btn .arrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-radius: 50%;
    scale: 0;
    transition: scale ease .3s;
  }
  
  @media (min-width: 769px) {
      .faq-area .back-btn:hover .arrow::before {
        scale: 1;
      }
  }
  
  .faq-area .back-btn .arrow img {
    position: relative;
    width: 12px;
    height: 7px;
    z-index: 1;
  }
}
/* ↑↑↑ faq-area ↑↑↑ */
/* ↑↑↑ #detail ↑↑↑ */
