@charset "UTF-8";

/* ===============================================### 
可変設定
###=============================================== */
.lp_variable {
  /*デザインの値*/
  --pc-width: 1400;/*PCデザイン幅*/
  --sp-width: 750;/*SPデザイン幅*/
  --pc-artboard-width: 500;/*SP共通デザイン幅*/
  --sp-artboard-width: 750;/*PC共通デザイン幅*/
  /*可変率の計算式*/
  --formula: calc(var(--variable) * var(--ratio));/*SP,PC共通箇所の可変割合の計算式*/
  --formula_pc: calc(var(--variable) * 1);/*PCデザインの可変割合の計算式*/
}

/* PC画面幅 1400px以上 固定 */
@media (min-width: 1401px) {
  .lp_variable {
  --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); /* PCとSPのデザイン幅の比 */
  --variable: 1px; /* 固定値（可変しない） */
  }
}

/* PC画面幅 768～1400px 可変 */
@media (min-width: 768px) and (max-width: 1400px) {
  .lp_variable {
  --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); /* PCとSPのデザイン幅の比 */
  --variable: calc(100vw / var(--pc-width)); /* 画面幅に基づく可変値 */
  }
}

/* SP画面幅 767px以下 可変 */
@media (max-width: 767px) {
  .lp_variable {
  --ratio: 1; /* 比率は1（変わらない） */
  --variable: calc(100vw / var(--sp-width)); /* 画面幅に基づく可変値 */
  }
}


/* ===============================================### 
初期設定
###=============================================== */
.em250612plax{
  position: relative;
  --font-ja:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "Open Sans", "メイリオ", sans-serif;
  --font-en: "minerva-modern", sans-serif;
  --font-en02: "pragmatica", sans-serif;
  font-style: normal;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --color-white: #ffffff;
  --color-purple: #7f8caa;
  --color-black: #000000;
  color: #000000;
}

.em250612plax img{
  width: 100%;
  height: auto;
}

.main-area * {
  box-sizing: border-box;
}

body{
  overflow-x: visible;
}

.main-area{
  overflow-x: visible;
}


/* ===========### PC用設定 ###=========== */
@media screen and (min-width: 768px) {
  .bredlist.lp{
    position: relative;
    z-index: 1;
  }

  #Foot{
    position: relative;
    z-index: 1;
  }

  #footer_emmi{
    margin-top: 0;
    background-color: #fff;
  }

  .em250612plax .pc-visible{
    display: block;
  }

  .em250612plax .sp-visible{
    display: none;
  }

  .em250612plax .bg-image{
    background-color: #fff;
  }

  .em250612plax .bg-image a:hover{
    opacity: 0.7;
  }
}

/* ===========### SP用設定 ###=========== */
@media screen and (max-width: 767px) {
  #footer_emmi{
    padding-top: 0;
  }

  .em250612plax{
    overflow: clip;
  }
  
  .em250612plax .pc-visible{
    display: none;
  }

  .em250612plax .sp-visible{
    display: block;
  }
}


/* ===============================================### 
center-area 設定
###=============================================== */
@media screen and (min-width: 768px) {
  .em250612plax{
    /* background-color: rgba(127, 140, 170, 0.45); */
    background-color: #c5cbd9;
  }

  .em250612plax .bg-fixed{
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    background: url(../img/lp_bg.png) center top repeat;
    background-size: contain;
  }

  .em250612plax .center-area {
    background-color: var(--color-white);
    position: relative;
    z-index: 1;
    display: block;
    width: calc(750 * var(--formula));
    margin-inline: auto;
  }
}

@media (min-width: 1400px) {
  .em250612plax .bg-fixed {
    background-size: 1400px 788px;
    background-repeat: repeat; /* 横方向にのみリピート */
  }
}




/* ===============================================### 
アニメーション設定
###=============================================== */
/************** fade **************/
.em250612plax .js-fade-in,
.em250612plax .js-fade-trigger .content__image{
  opacity: 0;
  transition: ease-in, opacity 1s;
}

.em250612plax .js-fade-in.show,
.em250612plax .js-fade-trigger.show .content__image{
  opacity: 1;
}

.em250612plax .js-fade-trigger .content__image.js-delay01{
  transition-delay: 0.2s;
}

.em250612plax .js-fade-trigger .content__image.js-delay02{
  transition-delay: 0.3s;
}

.em250612plax .js-fade-trigger .content__image.js-delay03{
  transition-delay: 0.4s;
}

.em250612plax .js-fade-up{
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.5s 0s, transform 1s 0s;
}

.em250612plax .js-fade-up.js-delay01{
  transition: opacity 1.5s 0.4s, transform 1s 0.4s;
}

.em250612plax .js-fade-up.js-delay02{
  transition: opacity 1.5s 0.8s, transform 1s 0.8s;
}

.em250612plax .js-fade-up.show{
  opacity: 1;
  transform: translateY(0);
}



/* ===============================================### 
コンテンツ共通設定
###=============================================== */
.em250612plax .flex-wrap{
  display: flex;
}

.em250612plax .grid-wrapper{
  display: grid;
}

/************** product-area **************/
.em250612plax .product-area{
  padding-top: calc(66 * var(--formula));
  padding-bottom: calc(84 * var(--formula));
  /* background-color: rgba(239, 239, 239, 0.7); */
  background-color: #f0f4f5;
}

.em250612plax .product-area .item-wrap{
  width: fit-content;
  margin-inline: auto;
}

.em250612plax .product-area .item-wrap.grid-wrapper{
  grid-template-columns: repeat(3, 1fr);
  gap: calc(20 * var(--formula));
}

/************** text **************/
.em250612plax .credit{
  font-family: var(--font-en02);
  font-weight: var(--fw-light);
  line-height: 1.8181818182;
  font-size: calc(22 * var(--formula));
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.em250612plax .credit a{
  display: inline-block;
}

.em250612plax .link-disable{
  pointer-events: none;
}

.em250612plax .link-disable:hover{
  opacity: 1;
}



/* ===============================================### 
MV
###=============================================== */
.em250612plax .mv{
  /* background-color: rgba(127, 140, 170, 0.7); */
  background-color: #a7afc4;
}

.em250612plax .mv .content-inner{
}

/************** image **************/
.em250612plax .mv .mv__image{
  width: calc(750 * var(--formula));
  margin-inline: auto;
}



/* ===============================================### 
アコーディオン
###=============================================== */
.em250612plax .accordion-area{
  background-color: #a7afc4;
}

.em250612plax .accordion__item01{
  padding-top: calc(57 * var(--formula));
  background-color: #a7afc4;
}

.em250612plax .accordion__item02{
  padding-top: calc(102 * var(--formula));
  background-color: #f0f4f5;
}

.em250612plax .accordion_textarea {
  transition: height 1s, width 1s;
  margin: 0 auto;
  position: relative;
}

.em250612plax .accordion__item01 .accordion_textarea{
  width: calc(640 * var(--formula));
  height: calc(288 * var(--formula));
}

.em250612plax .accordion__item02 .accordion_textarea{
  width: calc(680 * var(--formula));
  height: calc(492 * var(--formula));
}

.em250612plax .accordion__item01 .accordion_textarea.js-active {
  height: calc(1148 * var(--formula));
}

.em250612plax .accordion__item02 .accordion_textarea.js-active {
  height: calc(2276 * var(--formula));
}

/************** flex **************/
.em250612plax .project-area .flex-wrap{
  gap: calc(30 * var(--formula));
}

/************** grid **************/
.em250612plax .project-area{
  margin-top: calc(88 * var(--formula));
  margin-inline: auto;
}

.em250612plax .accordion_textarea .grid-wrapper{
  grid-template-columns: repeat(2, 1fr);
  column-gap: calc(30 * var(--formula));
  row-gap: calc(58 * var(--formula));
}

.em250612plax .accordion-area .project__item.item07{
  grid-column: 1/3;
}

/************** button **************/
.em250612plax .accordion_textarea .open_button {
  position: absolute;
  /* width: 8.18799rem; */
  /* aspect-ratio: 81.8799 / 41.571; */
  width: calc(80 * var(--formula));
  left: 0;
  right: 0;
  margin: auto;
  opacity: 1;
  cursor: pointer;
  z-index: 2;
}

.em250612plax .accordion__item01 .accordion_textarea .open_button{
  bottom: calc(-6 * var(--formula));
}

.em250612plax .accordion__item02 .accordion_textarea .open_button{
  bottom: calc(-41 * var(--formula));
}

.em250612plax .accordion_textarea .open_button::after{
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: calc(750 * var(--formula));
  height: calc(110 * var(--formula));
  z-index: -1;
}

.em250612plax .accordion__item01 .accordion_textarea .open_button::after{
  top: calc(-75 * var(--formula));
  background: linear-gradient(to top, rgba(167, 175, 196, 0.9) 85%, rgba(167, 175, 196, 0) 100%);
}

.em250612plax .accordion__item02 .accordion_textarea .open_button::after{
  top: calc(-110 * var(--formula));
  background: linear-gradient(to top, rgba(240, 244, 245, 0.9) 85%, rgba(240, 244, 245, 0) 100%);
}

.em250612plax .accordion_textarea .close_button {
  position: absolute;
  /* width: 4.40532rem; */
  /* aspect-ratio: 44.0532 / 41.585; */
  width: calc(80 * var(--formula));
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
}

.em250612plax .accordion__item01 .accordion_textarea .close_button{
  bottom: calc(-4 * var(--formula));
}

.em250612plax .accordion__item02 .accordion_textarea .close_button{
  bottom: calc(-40 * var(--formula));
}

.em250612plax .accordion_textarea.js-active .open_button {
  opacity: 0;
  visibility: hidden;
}

.em250612plax .accordion_textarea.js-active .close_button {
  opacity: 1;
  visibility: visible;
}

/************** text **************/
.em250612plax .accordion_textarea--headline {
  font-family: var(--font-en);
  font-size: calc(42 * var(--formula));
  font-weight: var(--fw-bold);
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--color-white);
  text-decoration: underline;
  text-underline-offset: calc(7 * var(--formula));
}

.em250612plax .accordion__item02 .accordion_textarea--headline {
  margin-top: calc(71 * var(--formula));
  font-family: var(--font-ja);
  font-size: calc(32 * var(--formula));
  font-weight: var(--fw-bold);
  line-height: 1.875;
  font-feature-settings: "palt";
  letter-spacing: 0.075em;
  text-align: center;
  color: var(--color-purple);
  text-decoration: underline;
  text-underline-offset: calc(7 * var(--formula));
}

.em250612plax .accordion_textarea--title{
  margin-top: calc(54 * var(--formula));
  font-family: var(--font-ja);
  font-size: calc(32 * var(--formula));
  font-weight: var(--fw-bold);
  line-height: 1.875;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--color-white);
  text-decoration: underline;
  text-underline-offset: calc(7 * var(--formula));
}

.em250612plax .accordion_textarea--title sup{
  font-size: calc(18 * var(--formula));
  vertical-align: super;
}

.em250612plax .accordion__item01 .accordion_textarea .accordion_textarea_wrapper.visible-text{
  margin-top: calc(35 * var(--formula));
}

.em250612plax .accordion__item02 .accordion_textarea .accordion_textarea_wrapper.visible-text{
  margin-top: calc(57 * var(--formula));
}

.em250612plax .accordion_textarea .accordion_textarea_wrapper.hidden-text{
  visibility: hidden;
  opacity: 0;
}

.em250612plax .accordion_textarea.js-active .accordion_textarea_wrapper.hidden-text {
  visibility: visible;
  opacity: 1;
}

.em250612plax .accordion_textarea .accordion_textarea_wrapper {
  /* visibility: hidden; */
  /* opacity: 0; */
  transition: opacity 1s;
  /* transition-delay: 0.5s; */
  position: relative;
  margin: 0 auto;
  /* margin-top: 9.6rem; */
  /* margin-top: calc(200 * var(--formula)); */
  left: 0;
}

.em250612plax .accordion_textarea--text {
  font-family: var(--font-ja);
  font-size: calc(24 * var(--formula));
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
}

.em250612plax .accordion_textarea--text sup{
  font-size: calc(15 * var(--formula));
  vertical-align: super;
}

.em250612plax .accordion__item01 .accordion_textarea--text{
  color: var(--color-white);
}

.em250612plax .accordion__item02 .accordion_textarea--text{
  color: var(--color-purple);
}

.em250612plax .accordion__item01 .accordion_textarea--text.text03{
  margin-top: calc(43 * var(--formula));
}

.em250612plax .accordion__item02 .accordion_textarea--text.text01{
  margin-top: calc(78 * var(--formula));
}

.em250612plax .accordion__item02 .accordion_textarea--text.text02 span{
  font-size: calc(28 * var(--formula));
}

.em250612plax .accordion-area .project-title{
  font-family: var(--font-ja);
  font-size: calc(24 * var(--formula));
  font-weight: var(--fw-bold);
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--color-purple);
}

.em250612plax .accordion-area .project-title span{
  font-size: calc(20 * var(--formula));
  font-weight: var(--fw-medium);
}

.em250612plax .accordion-area .project-detail{
  margin-top: calc(19 * var(--formula));
  font-family: var(--font-ja);
  font-size: calc(18 * var(--formula));
  font-weight: var(--fw-medium);
  line-height: 1.7777777778;
  font-feature-settings: "palt";
  letter-spacing: 0.075em;
  color: var(--color-purple);
}

.em250612plax .accordion-area .project__item.item07 .project-detail{
  width: calc(630 * var(--formula));
  margin-inline: auto;
  letter-spacing: 0.09em;
}

/************** image **************/
.em250612plax .accordion-area .accordion__image.image01{
  width: calc(576 * var(--formula));
  margin-inline: auto;
}

.em250612plax .accordion-area .accordion__image.image02{
  width: calc(600 * var(--formula));
  margin-top: calc(46 * var(--formula));
  /* margin-inline: auto; */
  margin-left: calc(86 * var(--formula));
  margin-right: auto;
}

.em250612plax .accordion-area .project__image{
  width: calc(325 * var(--formula));
  margin-top: calc(18 * var(--formula));
}



/* ===============================================### 
コンテンツ01
###=============================================== */
.em250612plax .content01{
  margin-top: calc(242 * var(--formula));
}

.em250612plax .content01 .content-inner{
}

.em250612plax .content01 .content__item01{
  position: relative;
  width: fit-content;
}

.em250612plax .content01 .content__item02{
  margin-top: calc(98 * var(--formula));
}

.em250612plax .content01 .content__item03{
  margin-top: calc(110 * var(--formula));
}

/************** grid **************/
.em250612plax .content01 .grid-wrapper{
  grid-template-columns: repeat(2, 1fr);
}

/************** text **************/
.em250612plax .content01 .credit{
  margin-top: calc(33 * var(--formula));
  text-align: center;
}

/*** クレジット位置微調整 ***/
.em250612plax .content01 .credit .credit02{
  margin-left: calc(15 * var(--formula));
}

/************** image **************/
.em250612plax .content01 .product__name{
  position: absolute;
  top: calc(-100 * var(--formula));
  left: calc(35 * var(--formula));
  width: calc(544 * var(--formula));
  z-index: -1;
}

.em250612plax .content01 .content__item01 .content__image{
  width: calc(375 * var(--formula));
}

.em250612plax .content01 .content__item02 .content__image{
  width: calc(680 * var(--formula));
  margin-inline: auto;
}

.em250612plax .content01 .content__item03 .product__image{
  width: calc(220 * var(--formula));
}

.em250612plax .content01 .content__item03 .description{
  width: calc(549 * var(--formula));
  margin-top: calc(80 * var(--formula));
  /* margin-inline: auto; */
  margin-left: calc(116 * var(--formula));
  margin-right: auto;
}

/* ===========### responsive ###=========== */
@media screen and (max-width: 767px) {
  .em250612plax .content01 .content__item02{
    margin-top: calc(100 * var(--formula));
  }
}



/* ===============================================### 
コンテンツ02
###=============================================== */
.em250612plax .content02{
  margin-top: calc(141 * var(--formula));
}

.em250612plax .content02 .content-inner{
}

.em250612plax .content02 .content__item01{
  margin-left: calc(60 * var(--formula));
}

.em250612plax .content02 .content__item02{
  margin-top: calc(70 * var(--formula));
}

.em250612plax .content02 .content__item03{
  margin-top: calc(120 * var(--formula));
}

/************** grid **************/
.em250612plax .content02 .product-area .item-wrap.grid-wrapper{
  gap: calc(30 * var(--formula));
}

/************** slide **************/
.em250612plax .content02 .slide-wrapper{
  width: calc(750 * var(--formula));
  overflow: hidden;
}

/************** flex **************/
.em250612plax .content02 .flex-wrap{
  align-items: flex-start;
  justify-content: space-between;
}

/************** text **************/
.em250612plax .content02 .credit{
  margin-top: calc(32 * var(--formula));
}

/*** クレジット位置微調整 ***/
.em250612plax .content02 .credit .credit02{
  margin-left: calc(14 * var(--formula));
}

/************** image **************/
.em250612plax .content02 .product__name{
  width: calc(120 * var(--formula));
}

.em250612plax .content02 .content__item01 .content__image{
  width: calc(540 * var(--formula));
}

.em250612plax .content02 .content__item02 .content__image{
  width: calc(390 * var(--formula));
}

.em250612plax .content02 .content__item03 .product__image{
  width: calc(192 * var(--formula));
}

.em250612plax .content02 .content__item03 .description{
  width: calc(549 * var(--formula));
  margin-top: calc(61 * var(--formula));
  /* margin-inline: auto; */
  margin-left: calc(116 * var(--formula));
  margin-right: auto;
}



/* ===============================================### 
コンテンツ03
###=============================================== */
.em250612plax .content03{
  margin-top: calc(139 * var(--formula));
}

.em250612plax .content03 .content-inner{
}

.em250612plax .content03 .content__item01{
}

.em250612plax .content03 .content__item02{
  margin-top: calc(20 * var(--formula));
  margin-left: calc(35 * var(--formula));
}

.em250612plax .content03 .content__item03{
  margin-top: calc(120 * var(--formula));
}

.em250612plax .content03 .product-area{
  padding-top: calc(36 * var(--formula));
}

/************** flex **************/
.em250612plax .content03 .content__item01 .flex-wrap{
  align-items: flex-start;
  gap: calc(29 * var(--formula));
}

.em250612plax .content03 .content__item02 .flex-wrap{
  justify-content: space-between;
  align-items: end;
}

/************** text **************/
.em250612plax .content03 .credit{
  margin-bottom: calc(-10 * var(--formula));
}

/************** image **************/
.em250612plax .content03 .product__name{
  width: calc(104 * var(--formula));
}

.em250612plax .content03 .content__item01 .content__image{
  width: calc(570 * var(--formula));
}

.em250612plax .content03 .content__item02 .content__image{
  width: calc(495 * var(--formula));
}

.em250612plax .content03 .content__item03 .product__image{
  width: calc(220 * var(--formula));
}

.em250612plax .content03 .content__item03 .description{
  width: calc(549 * var(--formula));
  margin-top: calc(56 * var(--formula));
  /* margin-inline: auto; */
  margin-left: calc(116 * var(--formula));
  margin-right: auto;
}



/* ===============================================### 
コンテンツ04
###=============================================== */
.em250612plax .content04{
  margin-top: calc(214 * var(--formula));
}

.em250612plax .content04 .content-inner{
}

.em250612plax .content04 .content__item01{
  position: relative;
  width: fit-content;
  margin-inline: auto;
}

.em250612plax .content04 .content__item02{
  width: fit-content;
  margin-top: calc(20 * var(--formula));
  margin-inline: auto;
}

.em250612plax .content04 .content__item03{
  margin-top: calc(110 * var(--formula));
}

/************** grid **************/
.em250612plax .content04 .product-area .item-wrap.grid-wrapper{
  gap: calc(10 * var(--formula));
}

/************** text **************/
.em250612plax .content04 .credit{
  margin-top: calc(32 * var(--formula));
  text-align: center;
}

/*** クレジット位置微調整 ***/
.em250612plax .content04 .credit .credit02,
.em250612plax .content04 .credit .credit04{
  margin-left: calc(10 * var(--formula));
}

/************** image **************/
.em250612plax .content04 .product__name{
  position: absolute;
  top: calc(-130 * var(--formula));
  left: 50%;
  transform: translateX(-50%);
  width: calc(340 * var(--formula));
}

.em250612plax .content04 .content__item01 .content__image{
  width: calc(600 * var(--formula));
}

.em250612plax .content04 .content__item02 .content__image{
  width: calc(600 * var(--formula));
}

.em250612plax .content04 .content__item03 .product__image{
  width: calc(220 * var(--formula));
}

.em250612plax .content04 .content__item03 .description{
  width: calc(549 * var(--formula));
  margin-top: calc(62 * var(--formula));
  /* margin-inline: auto; */
  margin-left: calc(116 * var(--formula));
  margin-right: auto;
}



/* ===============================================### 
コンテンツ05
###=============================================== */
.em250612plax .content05{
  margin-top: calc(140 * var(--formula));
  padding-bottom: calc(114 * var(--formula));
}

.em250612plax .content05 .content-inner{
}

/************** text **************/
.em250612plax .staff__text{
  margin-top: calc(88 * var(--formula));
  font-family: var(--font-en02);
  font-size: calc(22 * var(--formula));
  font-weight: 300;
  line-height: 2.1818181818;
  font-feature-settings: "pwid";
  letter-spacing: 0.05em;
  text-align: center;
}

/************** button **************/
.em250612plax .link__button{
  width: calc(450 * var(--formula));
  margin-inline: auto;
}