@charset "UTF-8";
/* ページ共通___________________________*/
.emmi_lp {
  position: relative;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "Open Sans", "メイリオ", sans-serif;
  font-weight: 500;
  font-size: calc(24* (100vw / 750));
  letter-spacing: 0.05em;
  line-height: 2;
  color: #000;
  overflow-x: hidden;
  /* padding-top: calc(80* (100vw / 750)); */
  padding-bottom: calc(133* (100vw / 750));
  background: #edf3f1;
}

@media screen and (max-width: 767px) {
  #footer_emmi {
    padding: 0;
  }
  .emmi_lp {
    background: #edf3f1;
  }

}

@media screen and (min-width: 768px) {
  #footer_emmi {
    margin-top: 0;
  }

  .emmi_lp {
    font-size: 1.4rem;
    letter-spacing: 0.025em;
    padding-top: 0.5rem;
    padding-bottom: 9.3rem;
    line-height: 2.1428571429;
  }

  .main-area {
    overflow: initial;
  }

  .emmi_lp .img {
    background: #fff;
  }
}

.emmi_lp .img {
  font-size: 0;
  position: relative;
  z-index: 1;
}

.emmi_lp img,
.emmi_lp picture {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.emmi_lp a,
.emmi_lp picture,
.emmi_lp span {
  display: inline-block;
}

.emmi_lp video {
  display: block;
  width: 100%;
}

/* font */
.emmi_lp .ff_prag {
  font-family: pragmatica, sans-serif;
  font-weight: 300;
}

.emmi_lp .ff_abr {
  font-family: "abril-display", serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0.075em;
}

/* ▽_____________ credit ______________▽ */
/* sp */
@media screen and (max-width: 767px) {

}

/* pc */
@media screen and (min-width: 768px) {
  
  
}

/* ▽_____________ logo ______________▽ */
/* sp */
@media screen and (max-width: 767px) {
  .logoArea{
    position: relative;
    left: calc(20 * (100vw / 750));
    width: calc(462 * (100vw / 750));
    margin: calc(80 * (100vw / 750)) auto calc(60 * (100vw / 750));
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .logoArea {
    position: relative;
    /* left: 2.0rem; */
    width: 24rem;
    margin: 2.9rem auto 0;
  }  
}



.slider{
  width: 100%;
  height: fit-content;
}
.shape::before{
  content: "";
  position: absolute;
  border-radius: 50vh;
  z-index: 1;
}
.shape, .shape *{
  position: relative;
  z-index: 5;
}
.ttl.jp.min{
  font-family: "yu-mincho-pr6n", sans-serif;
  font-weight: 400;
}
.ttl.en.serif,
.details .main,
.sec.--04 .name{
  font-family: "meno-banner", serif;
  font-weight: 300;
}
.ttl.en.sub{
  display: block;
  text-align: center;
  font-family: "pragmatica", sans-serif;
  font-weight: 200;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #555555;
}
.ttl.en.SansSerif{
  white-space: nowrap;
  text-align: center;
  font-family: "pragmatica", sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  text-shadow: 0px 0px #555555;
  color: #555555;
  opacity: 0.8;
}

/* ===============================================
* fv *
=============================================== */
/* sp */
.mv{
  position: relative;
  margin: auto;
  z-index: 1;
}
.mv .imgBox{
  width: 100%;
  height: auto;
}
.mv .mv_txt{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  pointer-events: none;
}
.mv .lead{
  text-align: center;
  font-weight: 500;
}
.mv .lead span{
  display: block;
}
.mv .aboutWrap{
  text-align: center;
  font-style: normal;
  line-height: 1;
  color: #555555;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .mv{
    width: calc(750 * (100vw / 750));
  }
  .mv .mv_txt{
    width: calc(560 * (100vw / 750));
    top: calc(775 * (100vw / 750));
  }
  .mv .lead{
    margin-top: calc(405 * (100vw / 750));
    font-size: calc(24 * (100vw / 750));
    line-height: 2;
    letter-spacing: 0.025em;
  }
  .mv .lead span{
    margin-top: calc(50 * (100vw / 750));
    font-size: calc(20 * (100vw / 750));
  }
  .mv .itemWrap .imgBox{
    width: calc(600 * (100vw / 750));
    height: fit-content;
    margin: calc(105 * (100vw / 750)) auto 0;
  }
  .mv .shape::before{
    width: calc(680 * (100vw / 750));
    height: calc(680 * (100vw / 750));
    top: calc(468 * (100vw / 750));
    left: 50%;
    transform: translateX(-50%);
    border: calc(5 * (100vw / 750)) solid #fff;
  }
  .mv .aboutWrap .ttl.jp{
    margin-top: calc(62 * (100vw / 750));
    font-size: calc(42 * (100vw / 750));
    letter-spacing: 0.08em;
  }
  .mv .aboutWrap .ttl.en{
    margin-top: calc(57 * (100vw / 750));
    font-size: calc(42 * (100vw / 750));
    letter-spacing: 0.05em;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .mv{
    width: 90.0rem;
    margin-top: 4.5rem;
  }
  .mv .mv_txt{
    width: 35.4rem;
    top: 47.9rem;
  }
  .mv .lead{
    margin-top: 29rem;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.025em;
  }
  .mv .lead span{
    margin-top: 2.8rem;
    font-size: 1.2rem;
  }
  .mv .itemWrap .imgBox{
    width: 42.5rem;
    height: fit-content;
    margin: 9.5rem auto 0;
  }
  .mv .shape::before{
    width: 52.0rem;
    height: 52.0rem;
    top: 29.2rem;
    left: 50%;
    transform: translateX(-50%);
    border: 0.4rem solid #fff;
  }
  .mv .aboutWrap .ttl.jp{
    margin-top: 5.8rem;
    font-size: 2.6rem;
    letter-spacing: 0.08em;
  }
  .mv .aboutWrap .ttl.en{
    margin-top: 3.1rem;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
  }
}



/* ===============================================
sec
=============================================== */
/* sp */
.sec,
.itemArea{
  position: relative;
}
.itemArea .creditBox{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  font-family: "pragmatica", sans-serif;
  font-weight: 300;
  line-height: 1.818;
  letter-spacing: 0.05em;
}
.details .details-summary{
  position: relative;
  color: #555;
}
@media screen and (max-width: 767px) {
  .ttl.en.sub{
    font-size: calc(34 * (100vw / 750));
  }
  .ttl.en.SansSerif{
    font-size: calc(74 * (100vw / 750));
  }
  .itemArea .creditBox{
    font-size: calc(22 * (100vw / 750));
    margin-top: calc(31 * (100vw / 750));
  }
  .itemArea .credit + .credit{
    margin-left: calc(15 * (100vw / 750));
  }
  .itemArea .creditBox .maxWidth{
    width: 100%;
  }
  .details .details-summary .main{
    font-size: calc(44 * (100vw / 750));
    letter-spacing: 0.05em;
  }
  .details .details-summary .sub{
    font-size: calc(27 * (100vw / 750));
    line-height: 1;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .ttl.en.sub{
    font-size: 2.4rem;
  }
  .ttl.en.SansSerif{
    font-size: 7.4rem;
  }
  .itemArea .creditBox{
    font-size: 1.4rem;
    margin-top: 2.8rem;
  }
  .itemArea .credit + .credit{
    margin-left: 1.5rem;
  }
  .itemArea .creditBox .maxWidth{
    width: 100%;
  }
  .details .details-summary .main{
    font-size: 4.4rem;
    letter-spacing: 0.05em;
  }
  .details .details-summary .sub{
    font-size: 2.7rem;
    line-height: 1;
  }
  .ttl.en.SansSerif{
    font-size: 4.2rem;
    font-weight: 400;
  }
  .itemArea .credit + .credit{
    margin-left: 1rem;
  }
  .itemArea .creditBox .maxWidth{
    width: 100%;
  }
  .details .details-summary .main{
    font-size: 3rem;
    letter-spacing: 0.05em;
  }
  .details .details-summary .sub{
    margin-top: 0.3rem;
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: 0.08em;
  }
}



/* ===============================================
section 01
=============================================== */
/* sp */
@media screen and (max-width: 767px) {
  .itemArea.--01{
    margin-top: calc(160 * (100vw / 750));
  }
  .itemArea.--01 .itemWrap.--01{
    width: calc(600 * (100vw / 750));
    margin: calc(60 * (100vw / 750)) auto 0;
  }
  .itemArea.--01 .ttl.en.SansSerif{
    pointer-events: none;
    position: absolute;
    transform: rotate(90deg);
    transform-origin: left;
    top: calc(83 * (100vw / 750));
    left: calc(668 * (100vw / 750));
    z-index: 10;
  }
  .ttl span{
    display: block;
  }
  .itemArea.--01 .itemWrap.--02{
    margin: calc(67 * (100vw / 750)) auto 0;
  }
  .itemArea.--01 .itemWrap.--03{
    margin: calc(99 * (100vw / 750)) auto 0;
  }
  .itemArea.--01 .itemWrap.--03 .ttl{
    width:  calc(334 * (100vw / 750));
    margin: auto;
    padding-bottom: calc(83 * (100vw / 750));
  }
  .itemArea.--01 .itemWrap.--03 .imgBox{
    position: relative;
    width: calc(570 * (100vw / 750));
    margin: auto;
    padding: 0 calc(80 * (100vw / 750)) calc(60 * (100vw / 750)) 0;
  }
  .itemArea.--01 .itemWrap.--03 .imgBox a{
    position: relative;
    z-index: 5;
  }
  .itemArea.--01 .itemWrap.--03 .imgBox span{
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: calc(490 * (100vw / 750));
  }
}
/* pc */
@media screen and (min-width: 768px) {
  .itemArea.--01{
    display: grid;
    grid-template-columns: 32rem 21rem 3.2rem 12rem auto;
    grid-template-rows: 5.5rem 18rem 84.6rem auto;
    width: 100.5rem;
    margin: 11.9rem auto 0;
  }
  .itemArea.--01 > .ttl{
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
  }
  .itemArea.--01 .itemWrap.--01{
    grid-column: 4/6;
    grid-row: 2/4;
    width: 40rem;
    /* margin: 6.0rem auto 0; */
  }
  .itemArea.--01 .ttl.en.SansSerif{
    margin-top: 3.4rem;
    z-index: 10;
  }
  .ttl span{
    display: block;
  }
  .itemArea.--01 .itemWrap.--02{
    grid-column: 1/3;
    grid-row: 3/5;
  }
  .itemArea.--01 .itemWrap.--03{
    grid-column: 2/5;
    grid-row: 4/5;
  }
  .itemArea.--01 .itemWrap.--03 .ttl{
    width: 23.2rem;
    margin: auto;
    padding-bottom: 4.4rem;
  }
  .itemArea.--01 .itemWrap.--03 .imgBox{
    position: relative;
    width: 31.5rem;
    padding: 0 4.5rem 3.5rem 0;
  }
  .itemArea.--01 .itemWrap.--03 .imgBox a{
    position: relative;
    z-index: 5;
  }
  .itemArea.--01 .itemWrap.--03 .imgBox span{
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 31.5rem;
  }
  .itemArea.--01 .itemWrap.--01 .creditBox{
  justify-content: flex-end;
  }
  
}



/* ===============================================
section 02
=============================================== */
/* sp */
@media screen and (max-width: 767px) {
  .sec.--02{
    margin-top: calc(101 * (100vw / 750));
  }
  .itemArea.--02{
    margin-top: calc(120 * (100vw / 750));
  }
  .itemArea.--02 .itemWrap.--01{
    width: calc(600 * (100vw / 750));
    margin: calc(60 * (100vw / 750)) auto 0;
  }
  .itemArea.--02 > .ttl{
    pointer-events: none;
    position: absolute;
    top: calc(665 * (100vw / 750));
    left: 50%;
    transform: translateX(-50%);
    color: #555555;
    z-index: 10;
  }
  .itemArea.--02 .ttl.en.sub{
   padding-bottom: calc(69 * (100vw / 750));
  }
  .itemArea.--02 .ttl.SansSerif{
    font-size: calc(60 * (100vw / 750));
    letter-spacing: 0.025em;
  }
  .itemArea.--02 .ttl span span{
    margin: calc(27 * (100vw / 750)) auto;
    text-align: center;
    font-size: calc(45 * (100vw / 750));
  }
  .itemArea.--02 .itemWrap.--02{
    margin: calc(255 * (100vw / 750)) auto 0;
  }
  .itemArea.--02 .itemWrap.--03{
    width: calc(630 * (100vw / 750));
    margin: calc(70 * (100vw / 750)) auto 0 0;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .sec.--02{
    margin-top: 10rem;
  }
  .itemArea.--02{
    width: 92rem;
    margin: 10rem auto 0;
  }
  .itemArea.--02 .itemWrap.--01{
    width: 40rem;
    margin: 0 0 0 6rem;
  }
  .itemArea.--02 > .ttl{
    pointer-events: none;
    position: absolute;
    top: 3.5rem;
    left: 41.8rem;
    z-index: 10;
    text-align: left;
    color: #555555;
    z-index: 10;
  }
  .itemArea.--02 .ttl.en.sub{
   text-align: left;
   padding-bottom: 3.9rem;
  }
  .itemArea.--02 .ttl.SansSerif{
    font-size: 3.8rem;
    letter-spacing: 0.045em;
  }
  .itemArea.--02 .ttl span span{
    margin: 1.8rem auto;
    text-align: left;
    font-size: 3.2rem;
  }
  .itemArea.--02 .itemWrap.--02{
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-end;
    margin: 6rem auto 0;
  }
  .itemArea.--02 .itemWrap.--02 .imgBox{
    width: 40rem;
  }
  .itemArea.--02 .itemWrap.--02 .creditBox{
    transform: translateY(0.7rem);
    justify-content: flex-end;
    padding-right: 3rem;
  }
  .itemArea.--02 .itemWrap.--03{
    width: 77.0rem;
    margin: 10rem auto 0;
  }
}



/* ===============================================
section 03
=============================================== */
/* sp */
@media screen and (max-width: 767px) {
  .sec.--03{
    margin-top: calc(100 * (100vw / 750));
  }
  .itemArea.--03 > .ttl{
    pointer-events: none;
    position: absolute;
    top: calc(727 * (100vw / 750));
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
  }
  .itemArea.--03 .ttl.en.sub{
    color: #fff;
    padding-bottom: calc(130 * (100vw / 750));
  }
  .itemArea.--03 .ttl.SansSerif{
    font-size: calc(64 * (100vw / 750));
    letter-spacing: 0.025em;
    color: #555555;
  }
  .itemArea.--03 .itemWrap.--01{
    width: calc(600 * (100vw / 750));
    margin: calc(120 * (100vw / 750)) auto 0;
  }
  .itemArea.--03 .itemWrap.--02{
    margin: calc(225 * (100vw / 750)) auto 0;
  }
  .itemArea.--03 .itemWrap.--03{
    position: relative;
    z-index: 10;
    width: 100%;
    margin: calc(-42 * (100vw / 750)) 0 0 auto;
  }
  .itemArea.--03 .itemWrap.--03 .imgBox{
    width: calc(600 * (100vw / 750));
    margin: 0 0 0 auto;
  }
  .itemArea.--03 .itemWrap.--03 .creditBox{
    justify-content: flex-end;
    padding-right: calc(38 * (100vw / 750));
  }
  .itemArea.--03 .itemWrap.--04{
    position: relative;
    z-index: 5;
    width: calc(490 * (100vw / 750));
    margin: calc(70 * (100vw / 750)) 0 0 calc(60 * (100vw / 750));
  }
  .itemArea.--03 .itemWrap.--04 .ttlTxtImg{
    position: absolute;
    top: calc(60 * (100vw / 750));
    left: calc(323 * (100vw / 750));
    z-index: 10;
    width: calc(330 * (100vw / 750));
  }
  .itemArea.--03 .itemWrap.--04 .imgBox a{
    position: relative;
    z-index: 5;
  }
  .itemArea.--03 .itemWrap.--04 .imgBox span{
    position: absolute;
    top: calc(-240 * (100vw / 750));
    left: calc(-60 * (100vw / 750));
    z-index: 1;
    width: calc(490 * (100vw / 750));
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .sec.--03{
    margin-top: 10.0rem;
  }
  .itemArea.--03{
    width: 100.0rem;
    margin: auto;
  }
  .itemArea.--03 > .ttl{
    pointer-events: none;
    position: absolute;
    top: 49.7rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
  }
  .itemArea.--03 .ttl.en.sub{
    color: #fff;
    padding-bottom: 7.4rem;
  }
  .itemArea.--03 .ttl.SansSerif{
    font-size: 4.2rem;
    letter-spacing: 0.025em;
  }
  .itemArea.--03 .itemWrap.--01{
    width: 40rem;
    margin: 10.5rem auto 0;
  }
  .itemArea.--03 .itemWrap.--02{
    width: 52.0rem;
    margin: 15.3rem auto 0 0;
  }
  .itemArea.--03 .itemWrap.--02 .creditBox{
  justify-content: flex-start;
  }
  .itemArea.--03 .itemWrap.--03{
    position: absolute;
    z-index: 10;
    width: 45rem;
    top: 102.7rem;
    right: 0;
  }
  .itemArea.--03 .itemWrap.--03 .creditBox{
    justify-content: flex-end;
    padding-right: 3.8rem;
  }
  .itemArea.--03 .itemWrap.--04{
    position: relative;
    left: -0.3rem;
    z-index: 5;
    width: 36.0rem;
    margin: 23.7rem auto 0;
  }
  .itemArea.--03 .itemWrap.--04 .ttlTxtImg{
    position: absolute;
    top: 3.5rem;
    left: 23.6rem;
    z-index: 10;
    width: 44.0rem;
  }
  .itemArea.--03 .itemWrap.--04 .imgBox a{
    position: relative;
    z-index: 5;
    width: 31.5rem;
    margin-top: 10rem;
  }
  .itemArea.--03 .itemWrap.--04 .imgBox span{
    position: absolute;
    top: 0rem;
    left: -4.4rem;
    z-index: 1;
    width: 31.5rem;
  }
}



/* ===============================================
section 04
=============================================== */
/* sp */
@media screen and (max-width: 767px) {
  .sec.--04{
    margin-top: calc(100 * (100vw / 750));
  }
  .sec.--04 .details-content {
    padding: 0 calc(50 * (100vw / 750)) calc(50 * (100vw / 750)) calc(55 * (100vw / 750));
    letter-spacing: 0.035em;
  }
  .sec.--04 .details-content:first-line {
    white-space: nowrap;
  }
  .itemArea.--04 .itemWrap.--01{
    margin: calc(120 * (100vw / 750)) auto 0;
  }
  .itemArea.--04 .itemWrap.--01 .imgBox{
    width: calc(600 * (100vw / 750));
    margin: auto;
  }
  .itemArea.--04 .itemWrap.--01 .aboutBox{
    text-align: center;
    margin: calc(100 * (100vw / 750)) auto 0;
  }
  .itemArea.--04 .itemWrap.--01 .aboutBox.--01 .ttlTxtImg{
    display: block;
    width: calc(692 * (100vw / 750));
    margin: 0 auto 0;
  }
  .itemArea.--04 .itemWrap.--01 .aboutBox.--01.shape::before{
    width: calc(900 * (100vw / 750));
    height: calc(900 * (100vw / 750));
    top: calc(-55 * (100vw / 750));
    left: 50%;
    transform: translateX(-50%);
    border: calc(5 * (100vw / 750)) solid #fff;
  }
  .itemArea.--04 .itemWrap.--01 .aboutBox.--01 .lead{
    margin: calc(50 * (100vw / 750)) auto 0;
  }
  .itemArea.--04 .itemWrap.--02 {
    margin: calc(105 * (100vw / 750)) auto 0;
  }
  .itemArea.--04 .itemWrap.--02 .name{
    text-align: center;
    font-size: calc(52* (100vw / 750));
    line-height: 1;
    letter-spacing: 0.06em;
    color: #555555;
  }
  .itemArea.--04 .itemWrap.--02 .ttlTxtImg{
    display: block;
    width: calc(654* (100vw / 750));
    margin: calc(70 * (100vw / 750)) auto 0;
  }
  .itemArea.--04 .itemWrap.--02 .lead{
    margin-top: calc(70 * (100vw / 750));
    text-align: center;
  }
  .itemArea.--04 .itemWrap.--02 .lead span{
    display: block;
    margin-top: calc(35 * (100vw / 750));
  }
  .itemArea.--04 .itemWrap.--02 .imgBox{
    width: calc(323 * (100vw / 750));
    margin: calc(143 * (100vw / 750)) auto 0;
  }
  .itemArea.--04 .itemWrap.--03 {
    text-align: center;
    margin: calc(118 * (100vw / 750)) auto 0;
  }
  .itemArea.--04 .itemWrap.--03 .imgBox {
    width: calc(560 * (100vw / 750));
    margin: auto;
  }
  .itemArea.--04 .itemWrap.--03 .lead {
    margin: calc(70 * (100vw / 750)) auto 0;
  }
  .itemArea.--04 .itemWrap.--04 {
    font-size: calc(22 * (100vw / 750));
    padding: calc(54 * (100vw / 750)) calc(73 * (100vw / 750)) calc(70 * (100vw / 750));
    margin: calc(100 * (100vw / 750)) auto 0;
    background: #f9fbfa;
  }
  .itemArea.--04 .itemWrap.--04 span{
    width: 100%;
    padding-bottom: calc(10 * (100vw / 750));
    margin-bottom: calc(30 * (100vw / 750));
    border-bottom: 1px solid #000;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .sec.--04{
    margin-top: 10.0rem;
  }
  .itemArea.--04 .itemWrap.--01{
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 100rem;
    margin: 10.1rem auto 0;
  }
  .itemArea.--04 .itemWrap.--01 .imgBox{
    position: relative;
    z-index: 10;
    width: 50rem;
  }
  .itemArea.--04 .itemWrap.--01 .aboutBox{
    text-align: center;
    width: 40rem;
    margin: 26.6rem 0 0;
  }
  .itemArea.--04 .itemWrap.--01 .aboutBox.--01 .ttlTxtImg{
    display: block;
    width: 46.4rem;
    margin: 0 auto 0;
  }
  .itemArea.--04 .itemWrap.--01 .aboutBox.--01.shape::before{
    width: 67.5rem;
    height: 67.5rem;
    top: -10rem;
    left: -0.5rem;
    border: .5rem solid #fff;
  }
  .itemArea.--04 .itemWrap.--01 .aboutBox.--01 .lead{
    transform: translateX(3rem);
    margin: 3rem auto 0;
    font-size: 1.4rem;
    line-height: 2;
  }
  .itemArea.--04 .itemWrap.--02 {
    margin: 9rem auto 0;
  }
  .itemArea.--04 .itemWrap.--02 .name{
    text-align: center;
    font-size: 3.6rem;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #555555;
  }
  .itemArea.--04 .itemWrap.--02 .ttlTxtImg{
    display: block;
    width: 47.6rem;
    margin: 5.6rem auto 0;
  }
  .itemArea.--04 .itemWrap.--02 .lead{
    margin-top: 3.6rem;
    line-height: 2;
    text-align: center;
  }
  .itemArea.--04 .itemWrap.--02 .lead span{
    display: block;
    margin-top: 2.3rem;
  }
  .itemArea.--04 .itemWrap.--02 .imgBox{
    width: 22.2rem;
    margin: 10.9rem auto 0;
  }
  .itemArea.--04 .itemWrap.--03 {
    text-align: center;
    margin: 8rem auto 0;
  }
  .itemArea.--04 .itemWrap.--03 .imgBox {
    width: 32rem;
    margin: auto;
  }
  .itemArea.--04 .itemWrap.--03 .lead {
    margin: 3.7rem auto 0;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  .itemArea.--04 .itemWrap.--04 {
    width: 64rem;
    padding: 3.2rem 0 5.8rem;
    margin: 7.5rem auto 0;
    background: #f9fbfa;
  }
  .itemArea.--04 .itemWrap.--04 .lead{
    padding: 0 5.4rem;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  .itemArea.--04 .itemWrap.--04 span{
    width: 100%;
    padding-bottom: 0.2rem;
    margin-bottom: 2.3rem;
    border-bottom: 1px solid #000;
  }
}



/* ===============================================
section 05
=============================================== */
/* sp */
  .staffCredit{
    text-align: center;
    font-family: "pragmatica", sans-serif;
    font-weight: 400;
    font-style: normal;
  }
@media screen and (max-width: 767px) {
  .allItem{
    width: calc(368 * (100vw / 750));
    margin: calc(130 * (100vw / 750)) auto 0;
  }
  .staffCredit{
    margin-top: calc(84 * (100vw / 750));
    font-size: calc(22 * (100vw / 750));
    line-height: 2.182;
    letter-spacing: 0.07em;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .allItem{
    width: 28rem;
    margin: 10rem auto 0;
  }
  .staffCredit{
    margin-top: 7.1rem;
    font-size: 1.2rem;
    line-height: 2.167;
    letter-spacing: 0.05em;
  }
  
}



/* ===============================================
初期設定
=============================================== */
@media (max-width: 1400px) and (min-width: 768px) {
  html {
    font-size: calc(10 * (100vw / 1400));
  }
}



/* ===============================================
accordion
=============================================== */
summary {
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}

.details{
  width: 100%;
  background-color: #f9fbfa;
}
.details .details-summary::-webkit-details-marker {
  display: none;
}
.details .details-summary .btn{
  position: absolute;
  transform-origin: center center;
  transition-duration: 0.3s;
}
.details .details-summary.is-active .btn{
  transform: rotate(180deg);
}
.details .details-summary .btn::before,
.details .details-summary .btn::after{
  content: "";
  background-color: #222;
  position: absolute;
  top: 50%;
  transform-origin: center center;
}
.details .details-summary .btn::before {
  transition-duration: 0.3s;
  transform: rotate(90deg);
}
.details .details-summary.is-active .btn::before {
  transform: rotate(0);
}
/* sp */
@media screen and (max-width: 767px) {
  .details .details-summary{
    padding: calc(20 * (100vw / 750)) calc(57 * (100vw / 750)) calc(60 * (100vw / 750));
  }
  .details .details-summary.is-active{
    /* padding-bottom: calc(20 * (100vw / 750)); */
  }
  .details .details-summary .btn{
    top: 37%;
    right: calc(40 * (100vw / 750));
    width: calc(40 * (100vw / 750));
    height: calc(40 * (100vw / 750));
  }
  .details-content{
    position: relative;
    top: calc(-15 * (100vw / 750));
    text-align: left;
    font-size: calc(22 * (100vw / 750));
    line-height: 2.182;
    letter-spacing: 0.05em;
    padding: 0 calc(60 * (100vw / 750)) calc(50 * (100vw / 750));
  }
  .details .details-summary .btn::before,
  .details .details-summary .btn::after{
    border-radius: 10px;
    width: calc(40 * (100vw / 750));
    height: calc(2 * (100vw / 750));
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .details{
    width: 64rem;
    margin: auto;
  }
  .details .details-summary{
    padding: 2.0rem 5.9rem 3.9rem;
  }
  .details .details-summary.is-active{
    /* padding-bottom: 2.0rem; */
  }
  .details .details-summary .btn{
    top: 37%;
    right: 6rem;
    width: 4.0rem;
    height: 4.0rem;
  }
  .details-content{
    position: relative;
    top: -0.6rem;
    text-align: left;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.05em;
    padding: 0 6.0rem 5.3rem;
  }
  .details .details-summary .btn::before,
  .details .details-summary .btn::after{
    border-radius: 10px;
    width: 4.0rem;
    height: 0.1rem;
  }

}


/* ===============================================
* フェードインアニメーション *
=============================================== */
.js-fadeIn {
  opacity: 0;
  /* will-change: opacity; */
  -webkit-transition: ease-in, opacity 2.5s, -webkit-transform 1s;
  transition: ease-in, opacity 2.5s, -webkit-transform 1s;
}

.js-fadeIn.js-scrollIn {
  opacity: 1;
}