@charset "UTF-8";

/*共通 */
.main-contents img {
  width: 100%;
  height: auto;
}

.main-area {
  max-width: 100%;
  overflow: unset;
}

.main-contents a,
.main-contents picture {
  display: block;
}

.main-contents * {
  font-weight: inherit;
}


@font-face {
  font-family: 'didotregular';
  src: url("../fonts/Didot_Regular.ttf") format("truetype"),
    url("../fonts/didot_regular-webfont.woff2") format("woff2"),
    url("../fonts/didot_regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'didotitalic';
  src: url("../fonts/Didot_Italic.ttf") format("truetype"),
    url("../fonts/didot_italic-webfont.woff2") format("woff2"),
    url("../fonts/didot_italic-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

/* アニメーション */
.main-contents .js_fade {
  opacity: 0;
  transition: opacity 1s, transform 1s ease;
}

.main-contents .js_fade.active {
  opacity: 1;
  transform: none;
}

/* 下から */
.main-contents .js_fade_up {
  transform: translateY(50px);
}

.main-contents .pc_only {
  display: none;
}

.main-contents .sp_only {
  display: block;
}

/* __________全共通__________ */

.main-contents .ja-text {
  font-family: yu-mincho-pr6n, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-feature-settings: normal;
}

.main-contents .staff,
.main-contents .en-text,
.main-contents .credit_link,
.main-contents .pseudo--section-number::before,
.main-contents .credit-title,
.main-contents .scene_number,
.main-contents .firstview__vol {
  font-family: "linotype-didot", serif;
  font-weight: 400;
  font-style: normal;
}

.main-contents .firstview__mv {
  text-align: center;
}

/* ぱんくず */
.bredlist.lp {
  min-width: auto;
  max-width: calc(700 *(100vw / 750));
  margin: 0 auto;
  font-size: 10px;
}

/* __________firstview__mv__________ */
.main-contents .mainvisual_wrapper {
  margin-bottom: calc(149 * (100vw / 750));
  margin-top: calc(40* (100vw / 750));
  text-align: center;
}

.main-contents .firstview__mv {
  margin-bottom: calc(83 * (100vw / 750));
}

.main-contents .firstview__title--brand {
  font-size: calc(48 * (100vw / 750));
  margin-bottom: calc(24 * (100vw / 750));
}

.main-contents .firstview__title--heading {
  font-size: calc(62 * (100vw / 750));
  margin-bottom: calc(38 * (100vw / 750));
  letter-spacing: 0.02em;
}

.main-contents .firstview__copy {
  font-family: yu-mincho-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: calc(28 * (100vw / 750));
  margin-bottom: calc(48 * (100vw / 750));
}

.main-contents .firstview__vol {
  font-size: calc(30 * (100vw / 750));
  margin-bottom: calc(30 * (100vw / 750));
}

.main-contents .firstview__by {
  font-size: calc(30 * (100vw / 750));
  letter-spacing: 0.01em;
}

.main-contents .mainvisual_img {
  margin-bottom: calc(77 * (100vw / 750));
}

.main-contents .mainvisual_cppy {
  font-size: calc(30 * (100vw / 750));
  letter-spacing: 0.14em;
  margin-bottom: calc(61 * (100vw / 750));
}

.main-contents .mainvisual_lead {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  text-align: center;
  font-size: calc(24 * (100vw / 750));
  line-height: 2.67;
  letter-spacing: 0.02em;
  /* font-feature-settings: "palt"; */
}

@media screen and (max-width: 767px) {
  .main-contents .mainvisual_lead {
    /* font-feature-settings: "halt"; */
  }
}


/* 共通____________________ */
.main-contents .sec_top_product_img {
  width: var(--top-image-width, calc(416 * (100vw / 750)));
  /* margin-inline: auto; */
}

.main-contents .sec_top_number {
  font-size: calc(72 * (100vw / 750));
  letter-spacing: 0.1em;
  position: relative;
  /* margin-bottom: calc(18 * (100vw / 750)); */

  background: var(--number-item) no-repeat;
  background-size: contain;
	width: calc(74 * (100vw / 750));
	height: calc(86 * (100vw / 750));
}

.main-contents .sec_top_product_name {
	font-feature-settings: 'halt';
	font-size: calc(36 * (100vw / 750));
	text-align: center;
	line-height: 1.67;
	margin-bottom: calc(20 * (100vw / 750));
}

.main-contents .product_credit {
  font-size: calc(29 * (100vw / 750));
  text-align: center;
  position: relative;
  margin-bottom: calc(26 * (100vw / 750));
}

/*
.main-contents .product_credit::before {
  position: absolute;
  content: "";
  width: 0;
  height: 1px;
  background-color: #000;
  left: 0;
  bottom: 0;
  border-bottom: solid 1px #000;
}

.main-contents .product_credit.is-line::before {
  width: calc(750 * (100vw / 750));
  animation: border_anim 0.8s linear forwards;
}

.main-contents .product_credit.is-line::before {
  transform: scale(0, 1);
}
*/

@keyframes border_anim {
  0% {
    width: 0%;
  }

  100% {
    width: 100%;
  }
}

.main-contents .credit_wrapper {
  font-size: calc(23 * (100vw / 750));
  text-align: left;

  margin-left: calc(45 * (100vw / 750));
}

.main-contents .credit_link {
  display: inline-block;
	line-height: 1.78;
	letter-spacing: 0.02em;
	margin-right: 0.7em;
}

.main-contents .sec_top_product_copy {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;

	font-size: calc(27 * (100vw / 750));
	line-height: 1.81;
	text-align: center;
}

.main-contents .text_box {
	margin-bottom: var(--text-box-mBottom, calc(60 * (100vw / 750)));
}

.main-contents .scene_number {
  font-size: calc(27 * (100vw / 750));
	padding: 0.6em 0.3em;
	box-shadow: inset 0 0 0 1px #000;
}

.main-contents .scene_number span.style {
  display: inline-block;
  margin-top: 0.3rem;
}

.main-contents .scene_number span.number {
  font-size: 1.37em;
}

@media screen and (max-width: 767px) {
  .main-contents .text_box {
    display: flex;
    align-items: center;
    column-gap: calc(38 * (100vw / 750));
    margin-left: calc(90 * (100vw / 750));
  }

  .main-contents .scene_number span.style {
    margin-top: 0;
  }
  
  .main-contents .scene_number {
    writing-mode: vertical-lr;
    /* width: auto; */
    width: 2.5rem;
    height: 5.8rem;
    padding: 0;
    column-gap: 0.25em;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

.main-contents .product_copy {
	font-size: calc(31 * (100vw / 750));
	line-height: 1.9;
}

.main-contents .product_lead {
  font-size: calc(22 * (100vw / 750));
  line-height: 1.82;
  text-align: justify;
  text-justify: inter-word;
  text-justify: inter-character;
  text-justify: inter-ideograph;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;

  width: calc(660 * (100vw / 750));
  margin-inline: auto;
}

.main-contents .scene_02 .text_box {
  margin-left: 0;
  margin-bottom: calc(40 * (100vw / 750));
  text-align: var(--scene-text-align, left);
}

@media screen and (max-width: 767px) {
}

.main-contents .product_credit .credit_link {
  margin-right: 0;
  letter-spacing: normal;
  position: relative;
}

@media screen and (min-width: 768px) {
  .main-contents .product_credit::after {
    content: "";
    background: var(--label-icon-image) no-repeat;
    background-size: contain;
    width: 4.3rem;
    height: 1.8rem;
    /* position: absolute; */
    /* display: block; */
    position: relative;
    top: -0.1em;
    display: inline-block;
    vertical-align: middle;
    margin-inline-start: 0.4em;
  }
}

/* テキストの左の縦線 */
.main-contents .vertical_line {
  position: relative;
}

.main-contents .vertical_line::before {
  position: absolute;
  content: "";
  background-color: #000;
	width: 1px;
	height: 100%;
	top: 0;
	left: var(--border-side-left, 0);
	right: var(--border-side-right, 0);
}

/* ANIMATION LINE */
.main-contents .vertical_line::before {
  height: 0;
  transition: height 1.5s ease;
}

.main-contents .vertical_line.is-line::before {
  height: 100%;
}
/* ANIMATION LINE */


/* テキストの下の横線 */
.main-contents .horizontal_line {
  position: relative;
}

.main-contents .horizontal_line::before {
  position: absolute;
  content: "";
  width: calc(226 * (100vw / 750));
  height: 1px;
  background-color: #000;
  top: calc(74 * (100vw / 750));
  left: calc(263 * (100vw / 750));
}

.main-contents .sec_01 {
  --label-icon-image: url("../assets/svg/label-pnk.svg");
  --label-bg-color: #da1462;
  --number-item: url("../assets/svg/number-01-pc.svg");
}
.main-contents .sec_02 {
  --label-icon-image: url("../assets/svg/label-gry.svg");
  --label-bg-color: #767e80;
  --number-item: url("../assets/svg/number-02-pc.svg");
}
.main-contents .sec_03 {
  --label-icon-image: url("../assets/svg/label-blk.svg");
  --label-bg-color: #000000;
  --number-item: url("../assets/svg/number-03-pc.svg");
}
.main-contents .sec_04 {
  --label-icon-image: url("../assets/svg/label-ivr.svg");
  --label-bg-color: #f0e3cc;
  --label-text-color: #000;
  --number-item: url("../assets/svg/number-04-pc.svg");
}

/* 共通____________________ */
@media screen and (max-width: 767px) {
  .main-contents .sec_01 {
    --number-item: url("../assets/svg/number-01-sp.svg");
  }
  .main-contents .sec_02 {
    --number-item: url("../assets/svg/number-02-sp.svg");
  }
  .main-contents .sec_03 {
    --number-item: url("../assets/svg/number-03-sp.svg");
  }
  .main-contents .sec_04 {
    --number-item: url("../assets/svg/number-04-sp.svg");
  }
  .main-contents .sec_top_product_img-wrap {
    display: grid;
    grid-template-columns: var(--grid-section-number, auto 1fr);
    align-items: center;
    max-width: var(--top-image-wrap, calc(580 * (100vw / 750)));
    margin-inline: auto;
  }

  .main-contents .sec_top_number-wrap {
    margin-inline: var(--space-section-number, 0 calc(65 * (100vw / 750)));
    position: relative;
    z-index: 1;
    background: #fff;
    /* padding-block: 1em 1.2em; */

    height: calc(125* (100vw / 750));
    display: flex;
    align-items: center;
  }

  /*
  .main-contents .sec_top_number::before {
    content: "";
    position: absolute;
    width: calc(48 * (100vw / 750));
    height: 2px;
    background: currentColor;
    left: 0;
    right: 0;
    bottom: -0.15em;
    margin: auto;
    margin-inline: var(--number-border-offset, 0.15em 0);
  }
  */

  .main-contents .sec_top_text_box {
    margin-block-start: var(--top-textBox, calc(60 * (100vw / 750)));
  }


  .main-contents .product_credit .label-color {
    font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: calc(29 * (100vw / 750));
    letter-spacing: 0.07em;
    color: var(--label-text-color, #fff);
    background-color: var(--label-bg-color, transparent);

    /* margin-inline: var(--label-marginInline, 0.6em 0);
    padding-inline: var(--label-paddingInline, 0.85em);
    padding-block: var(--label-paddingBlock, 0.2em 0.1em);
    vertical-align: baseline;
    top: -0.1em;
    position: relative; */
    margin-inline: var(--label-marginInline, 0.65em 0);
    padding-block: var(--label-paddingBlock, 0.2em 0.1em);
    width: calc(100 * (100vw / 750));
    height: calc(40 * (100vw / 750));
    display: inline-block;
  }

  .main-contents .scene_02 .product_img {
    width: calc(660 * (100vw / 750));
    margin-bottom: calc(62 * (100vw / 750));
    margin-inline: auto;
  }
  .main-contents .scene_02 .text_box {
    flex-direction: row-reverse;
    justify-content: space-between;
    width: calc(660 * (100vw / 750));
    margin-inline: auto;
  }
}

/* sec_01____________________ */

.main-contents .sec_01 {
	--border-side-left: calc(36 * (100vw / 750));
  margin-bottom: calc(194 * (100vw / 750));
}

.main-contents .sec_01 .sec_top_product_img {
  /* margin-bottom: calc(46 * (100vw / 750)); */
}

.main-contents .sec_01 .section_top {
  margin-bottom: calc(126 * (100vw / 750));
}

.main-contents .sec_01 .scene_01 {
  margin-bottom: calc(164 * (100vw / 750));
}

.main-contents .sec_01 .scene_01 .product_img {
  width: calc(660 * (100vw / 750));
	margin-bottom: calc(60 * (100vw / 750));
	margin-inline: auto 0;
}

.main-contents .sec_01 .scene_01 .product_img_02 {
  width: calc(580 * (100vw / 750));
  margin-bottom: calc(64 * (100vw / 750));
}

.main-contents .sec_01 .product_lead {
  margin-bottom: calc(30 * (100vw / 750));
}

.main-contents .sec_01 .scene_02 .text_box {
  margin-bottom: calc(30 * (100vw / 750));
}

.main-contents .sec_01 .scene_02 .product_lead {
  /* font-feature-settings: "palt"; */
  /* letter-spacing: 0.04em; */
}

/* sec_01____________________ */


/* sec_02____________________ */

.main-contents .sec_02 {
	--space-section-number: calc(20 * (100vw / 750)) calc(0 * (100vw / 750));
	--border-side-left: auto;
	--border-side-right: calc(10 * (100vw / 750));
  margin-bottom: calc(200 * (100vw / 750));
}

.main-contents .sec_02 .section_top {
  display: grid;
  margin-bottom: calc(90 * (100vw / 750));
}

.main-contents .sec_02 .scene_01 {
  margin-bottom: calc(162 * (100vw / 750));
}

@media screen and (max-width: 767px) {
  .main-contents .sec_02 .scene_01 {
    display: grid;
    grid-template-columns: 1fr;
  }
}

.main-contents .sec_02 .scene_01 .text_box {
	margin-bottom: calc(60 * (100vw / 750));
	margin-left: calc(58 * (100vw / 750));
}

.main-contents .sec_02 .sec_top_text_box {
  margin-bottom: calc(38 * (100vw / 750));
}

.main-contents .sec_02 .scene_01 .product_img {
	width: calc(620 * (100vw / 750));
	margin-inline: auto 0;
	margin-bottom: calc(58 * (100vw / 750));
}

.main-contents .sec_02 .scene_01 .product_img_02 {
  width: calc(530 * (100vw / 750));
}

@media screen and (max-width: 767px) {
  .main-contents .sec_02 .product_img_03 {
    width: calc(420 * (100vw / 750));
    margin-block-start: calc(-66 * (100vw / 750));
    margin-inline: auto calc(45* (100vw / 750));
    z-index: 1;
  }

  .main-contents .sec_02 .scene_01 .product_lead {
    margin-top: calc(65 * (100vw / 750));
    /* font-feature-settings: "palt"; */
    /* letter-spacing: 0.02em; */
  }

  .main-contents .sec_02 .scene_02 .product_lead {
    font-feature-settings: "palt";
    letter-spacing: 0.04em;
  }
}

.main-contents .sec_02 .product_lead {
  margin-bottom: calc(32 * (100vw / 750));
}

.main-contents .sec_02 .scene_02 {
  position: relative;
}

.main-contents .sec_02 .scene_02 .text_box {
  margin-bottom: calc(30 * (100vw / 750));
}

.main-contents .sec_02 .scene_02 .product_img {
  margin-bottom: calc(62 * (100vw / 750));
}

@media screen and (max-width: 767px) {
  .main-contents .sec_02 .sec_top_product_img-wrap {
    column-gap: calc(20 * (100vw / 750));
  }
  .main-contents .sec_02 .sec_top_number-wrap {
    /* left: calc(42 * (100vw / 750)); */
    left: calc(24 * (100vw / 750));
  }
  .main-contents .sec_02 .sec_top_number {
    top: 0.5rem;
  }
}
/* sec_02____________________ */


/* sec_03____________________ */

.main-contents .sec_03 {
	--border-side-left: calc(36 * (100vw / 750));
  margin-bottom: calc(192 * (100vw / 750));
}

.main-contents .sec_03 .section_top {
  margin-bottom: calc(124 * (100vw / 750));
}

.main-contents .sec_03 .scene_01 {
  margin-bottom: calc(162 * (100vw / 750));
}

.main-contents .sec_03 .sec_top_text_box {
  margin-bottom: calc(38 * (100vw / 750));
}

.main-contents .sec_03 .sec_top_product_name {
  margin-bottom: calc(22 * (100vw / 750));
}

.main-contents .sec_03 .scene_01 .text_box {
	margin-left: calc(45 * (100vw / 750));
	margin-bottom: calc(30 * (100vw / 750));
}

@media screen and (max-width: 767px) {
  .main-contents .sec_03 .scene_01 .product_img {
    width: calc(580 * (100vw / 750));
    margin-inline: calc(45 * (100vw / 750)) 0;
    margin-bottom: calc(60 * (100vw / 750));
  }
}

.main-contents .sec_03 .product_img_02 {
  width: calc(660 * (100vw / 750));
  margin-inline: auto 0;
  margin-bottom: calc(45 * (100vw / 750));
}

.main-contents .sec_03 .scene_01 .product_lead {
  margin-bottom: calc(64 * (100vw / 750));
}

@media screen and (max-width: 767px) {
  .main-contents .sec_03 .scene_01 .product_lead {
    /* font-feature-settings: "palt"; */
    /* letter-spacing: 0.04em; */
  }

  .main-contents .sec_03 .scene_01 .credit_wrapper {
    width: calc(660 * (100vw / 750));
    margin-inline: auto 0;
  }

  .main-contents .sec_03 .sec_top_number {
    top: 0.3rem;
  }
}

.main-contents .sec_03 .scene_02 .product_lead {
  margin-bottom: calc(32 * (100vw / 750));
}

.main-contents .sec_03 .scene_02 .text_box {
  margin-bottom: calc(30 * (100vw / 750));
}

.main-contents .sec_03 .scene_02 .product_img {
  margin-bottom: calc(60 * (100vw / 750));
}

/* sec_03____________________ */


/* sec_04____________________ */
.main-contents .sec_04 {
	--space-section-number: calc(0 * (100vw / 750)) calc(0 * (100vw / 750));
	--border-side-left: auto;
	--border-side-right: calc(10 * (100vw / 750));
  margin-bottom: calc(185 * (100vw / 750));
}

@media screen and (max-width: 767px) {
  .main-contents .sec_04 .sec_top_text_box {
    margin-bottom: calc(38 * (100vw / 750));
  }

  .main-contents .sec_04 .sec_top_product_name {
    margin-bottom: calc(18 * (100vw / 750));
  }
}

.main-contents .sec_04 .section_top {
  margin-bottom: calc(130 * (100vw / 750));
}

@media screen and (max-width: 767px) {
  .main-contents .sec_04 .sec_top_product_img-wrap {
    --top-image-wrap: calc(530 * (100vw / 750));
    column-gap: calc(40 * (100vw / 750));
  }
  .main-contents .sec_04 .sec_top_number-wrap {
    left: calc(25 * (100vw / 750));
  }
}

.main-contents .sec_04 .scene_01 {
  margin-bottom: calc(162 * (100vw / 750));
}

@media screen and (max-width: 767px) {
  .main-contents .sec_04 .scene_01 .product_img {
    width: calc(600 * (100vw / 750));
    margin-bottom: calc(60 * (100vw / 750));
  }

  .main-contents .sec_04 .product_img_02 {
    width: calc(540 * (100vw / 750));
    margin-inline: auto calc(45 * (100vw / 750));
    margin-bottom: calc(42 * (100vw / 750));
  }

  .main-contents .sec_04 .scene_01 .text_box {
    margin-left: calc(45 * (100vw / 750));
    margin-bottom: calc(28 * (100vw / 750));
  }

  .main-contents .sec_04 .scene_01 .credit_wrapper {
    width: calc(540 * (100vw / 750));
    margin-inline: auto calc(45 * (100vw / 750));
  }

  .main-contents .sec_04 .sec_top_number {
    top: 0.3rem;
  }
}

.main-contents .sec_04 .product_lead {
	margin-bottom: calc(65 * (100vw / 750));
	width: calc(660 * (100vw / 750));
}

@media screen and (max-width: 767px) {
  .main-contents .sec_04 .scene_02 {
    display: grid;
    grid-template-columns: 1fr;
  }
  .main-contents .sec_04 .scene_02 .product_lead {
	margin-bottom: calc(30 * (100vw / 750));
  }
}

.main-contents .sec_04 .scene_02 .product_img {
  margin-bottom: calc(60 * (100vw / 750));
}

.main-contents .sec_04 .scene_02 .text_box {
  margin-bottom: calc(32 * (100vw / 750));
}

@media screen and (max-width: 767px) {
  .main-contents .sec_04 .scene_02 .product_lead {
    /* font-feature-settings: "palt"; */
    /* letter-spacing: 0.04em; */
  }
}


/* sec_04____________________ */


/* staff_____________________ */

.main-contents .staff {
  font-feature-settings: "palt";
  font-size: calc(23 * (100vw / 750));
  text-align: center;
  line-height: 1.78;
  margin-bottom: calc(192 * (100vw / 750));
}

/* staff_____________________ */


/* 全てのアイテムをチェック */
.main-contents .viewall {
  width: calc(675 * (100vw / 750));
  height: calc(120 * (100vw / 750));
  margin: 0 auto;
  border: solid 1px #000;
  margin-bottom: calc(200 * (100vw / 750));
}

.main-contents .viewall__link {
  font-size: calc(28 * (100vw / 750));
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.06em;
}



/* __________firstview__________ */
.main-contents .firstview {
  text-align: center;
  margin-bottom: calc(200 * (100vw / 750));
}

.main-contents .firstview .firstview__title--brand {
  font-size: calc(48 * (100vw / 750));
  margin-bottom: calc(18 * (100vw / 750));
}

.main-contents .firstview .firstview__title--heading {
  font-size: calc(62 * (100vw / 750));
  margin-bottom: calc(28 * (100vw / 750));
  margin-top: 0;
}

.main-contents .firstview .firstview__copy {
  font-family: yu-mincho-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: calc(28 * (100vw / 750));
  margin-bottom: calc(27 * (100vw / 750));
}

.main-contents .firstview .firstview__vol {
  font-size: calc(30 * (100vw / 750));
  margin-bottom: calc(20 * (100vw / 750));
}

.main-contents .firstview .firstview__by {
  font-size: calc(30 * (100vw / 750));
}




/* //////////////////////// pcここから //////////////////////// */
@media screen and (min-width: 750px) {

  #Contents {
    margin-bottom: 16rem;
  }

  /* ぱんくず */
  .bredlist.lp {
    max-width: 120rem;
  }

  .main-contents .sp_only {
    display: none;
  }

  .main-contents .pc_only {
    display: inline-block;
  }

  .main-contents {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }


  /* __________firstview__mv__________ */
  .main-contents .mainvisual_wrapper {
    margin-top: 5.3rem;
    margin-bottom: 13.5rem;
  }

  .main-contents .firstview__mv {
    margin-bottom: 6.3rem;
  }

  .main-contents .firstview__title--brand {
    font-size: 3.3rem;
    margin-bottom: 2rem;
  }

  .main-contents .firstview__title--heading {
    font-size: 4.8rem;
    margin-bottom: 2.7rem;
    letter-spacing: 0.02em;
  }

  .main-contents .firstview__copy {
    font-size: 1.8rem;
    margin-bottom: 3.5rem;
  }

  .main-contents .firstview__vol {
    font-size: 2rem;
    margin-bottom: 2rem;
  }

  .main-contents .firstview__by {
    font-size: 2rem;
    letter-spacing: 0.01em;
  }

  .main-contents .mainvisual_img {
    width: 85rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 6rem;
  }

  .main-contents .mainvisual_cppy {
    font-size: 2.1rem;
    margin-bottom: 4.7rem;
    letter-spacing: 0.029em;
  }

  .main-contents .mainvisual_lead {
    font-size: 1.6rem;
    line-height: 2.88;
    letter-spacing: normal;
  }


  /* 共通_______________________ */
  .main-contents .credit_wrapper {
    font-size: 1.3rem;
  }

  .main-contents .credit_link {
    margin-right: 0.7em;
    line-height: 1.85;
    letter-spacing: 0.02em;
  }

  .main-contents .sec_top_product_img {
    width: var(--top-image-width, 28rem);
  }

  .main-contents .sec_top_product_img-wrap {
    display: grid;
    grid-template-columns: var(--grid-section-number, auto 1fr);
    align-items: center;
  }

  .main-contents .sec_top_number {
    font-size: 4.6rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: left;
    margin-bottom: 1rem;
    position: relative;

    background: var(--number-item) no-repeat;
    background-size: contain;
    width: 5.4rem;
    height: 4.7rem;
  }

  .main-contents .sec_top_number-wrap {
    /* margin-inline: var(--space-section-number, 2.6rem 3rem); */
    margin-inline: var(--space-section-number, 2.6rem 3.4rem);
    position: relative;
    z-index: 1;
    background: #fff;
    /* padding-block: 1em 1.2em; */
    padding-block: 1.5em 1em;
  }
  /*
  .main-contents .sec_top_number::before {
    content: "";
    position: absolute;
    width: 3.2rem;
    height: 2px;
    background: currentColor;
    left: 0;
    right: 0;
    bottom: -0.05em;
    margin: auto;
    margin-inline: var(--number-border-offset, 0.15em 0);
  }
  */

  .main-contents .sec_top_product_name {
    font-size: 2.2rem;
    line-height: 1.64;
    text-align: var(--product-name-textAlign, left);
    margin-bottom: var(--product-name-mbottom, 1.5rem);
    position: relative;
  }

  .main-contents .sec_top_product_copy {
    font-size: 1.6rem;
    line-height: 1.88;
    text-align: left;

    margin-top: var(--product-detail-mTop, 5.6rem);
  }

  .main-contents .product_credit {
    font-size: 1.6rem;
    text-align: left;
    margin-bottom: 0;
    display: inline-block;
  }

  .main-contents .product_credit .label-color {
    display: none;
    /*
    font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.5rem;
    letter-spacing: 0.07em;
    line-height: 1.25;
    color: var(--label-text-color, #fff);
    background-color: var(--label-bg-color, transparent);

    margin-inline: var(--label-marginInline, 0.7em 0);
    padding-inline: var(--label-paddingInline, 0.6em);
    padding-block: var(--label-paddingBlock, 0.1em 0);
    vertical-align: middle;

    width: 4.3rem;
    height: 1.8rem;
    text-align: center;
    display: inline-block;
    position: relative;
    top: -0.1em;
    */
  }

  .main-contents .scene_number {
    font-size: 1.5rem;
    letter-spacing: 0.025em;

    /* display: inline-block; */
    /* padding: 0.2em 0.9em; */
    /* padding: 0.3em 0.9em 0em; */

    box-shadow: inset 0 0 0 1px #000;
    /* margin-bottom: 1.4em; */
    margin-bottom: 1.5em;

    display: flex;
    width: 8rem;
    padding: 0;
    justify-content: center;
    align-items: center;
    height: 3rem;
    column-gap: 0.3em;
  }


  .main-contents .scene_number span.number {
    font-size: 1.6em;
    /* vertical-align: baseline; */
    vertical-align: middle;
    margin-top: -0.15rem;
    display: inline-block;
  }

  @media screen and (max-width: 767px) {
    .main-contents .scene_number span.number {
      margin-top: 0;
    }
  
  }

  .main-contents .product_copy {
    font-size: 1.8rem;
    line-height: 1.94;
  }

  /* .main-contents .product_credit::before {
    position: absolute;
    content: "";
    width: 100vw;
    left: -50%;
    height: 1px;
    background-color: #000;
    bottom: calc(0 * (100vw / 750));
    transform: translateX(-50%);
    z-index: -1;
  } */

  .main-contents .product_lead {
    font-size: 1.4rem;
    line-height: 1.86;
    font-weight: 500;
    /* font-feature-settings: 'halt'; */
  }

  .main-contents .text_box {
    margin-left: 0;
    margin-bottom: 0;
  }

  /* .main-contents .vertical_line::before {
    width: 1px;
    height: 100%;
    top: 0;
    left: var(--border-side-left, 0);
    right: var(--border-side-right, 0);
  } */

  .main-contents .horizontal_line::before {
    width: 13.6rem;
    top: 4.8rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }

  /* sec_01____________________ */
  .main-contents .sec_01 {
    --border-side-left: 4.8rem;
    margin-bottom: 16.2rem;
  }

  .main-contents .section_line {
    position: relative;
  }

  .main-contents .section_line::before {
    position: absolute;
    content: "";
    width: 0;
    left: 50%;
    height: 1px;
    background-color: #000;
    top: 23rem;
    left: 0;
    z-index: -1;
    border-bottom: solid 0 #000;
  }

  .main-contents .section_line.is-line::before {
    width: 100vw;
    animation: border_anim 1.5s linear forwards;
  }

  @keyframes border_anim {
    0% {
      width: 0%;
    }

    100% {
      width: 100%;
    }
  }

  .main-contents .sec_01 .section_top {
    position: relative;
    width: 78.8rem;
    display: flex;
    column-gap: 8rem;
    margin-inline: auto;
    margin-block-end: 11rem;
  }

  .main-contents .product_credit::before {
    position: inherit;
  }

  .main-contents .sec_01 .sec_top_text_box {
    text-align: left;
    margin-top: 9.4rem;
  }

  .main-contents .sec_01 .scene_01 {
    width: 100rem;
    display: grid;
    margin-inline: auto;
    grid-template-columns: 2rem 34rem 22rem 42rem;
    margin-bottom: 14.2rem;
  }

  .main-contents .sec_01 .scene_01 .product_img {
    width: 42rem;
    grid-column: 4/5;
    grid-row: 1/3;
    margin-bottom: 0;
  }

  .main-contents .sec_01 .scene_01 .text_box {
    grid-column: 2/4;
    grid-row: 1/2;
    margin-top: 16.5rem;
    margin-left: 14.2rem;
  }

  .main-contents .sec_01 .scene_01 .product_img_02 {
    width: 34rem;
    margin-top: 12.5rem;
    margin-bottom: 0;
    grid-column: 2/3;
    grid-row: 2/6;
  }

  .main-contents .sec_01 .product_lead {
    margin-top: 7.5rem;
    /* width: 35rem; */
    width: 34rem;
    margin-left: 8rem;
    margin-bottom: 0;
    grid-column: 3/5;
    grid-row: 3/4;
    /* font-feature-settings: 'halt'; */
    font-feature-settings: 'pwid';
    letter-spacing: 0.02em;
  }

  .main-contents .sec_01 .credit_wrapper {
    margin-top: 2rem;
    margin-left: 8rem;
    grid-column: 3/5;
    grid-row: 4/5;
  }

  .main-contents .sec_01 .scene_02 {
    width: 115rem;
    display: grid;
    grid-template-columns: 31.5rem 44rem 8rem 31rem;
    margin-inline: auto;
  }

  .main-contents .sec_01 .scene_02 .text_box {
    margin-top: 18rem;
    margin-left: 0;
    margin-bottom: 0;
    grid-column: 4/5;
    grid-row: 1/2;
  }

  .main-contents .sec_01 .scene_02 .product_img {
    width: 44rem;
    grid-row: 1/4;
    grid-column: 2/3;
    margin-left: 0;
    margin-bottom: 0;
  }

  .main-contents .sec_01 .scene_02 .product_lead {
    margin-top: 3.4rem;
    margin-bottom: 0;
    grid-column: 4/5;
    margin-left: 0;
    grid-row: 2/3;
    width: auto;
    font-feature-settings: 'pwid';
    letter-spacing: 0.02em;
  }

  .main-contents .sec_01 .scene_02 .credit_wrapper {
    margin-top: 3rem;
    margin-left: 0;
    grid-column: 2/3;
    grid-row: 5/6;
  }

  .main-contents .sec_01 .scene_02 .credit_link {}

  /* sec_01____________________ */


  /* sec_02____________________ */
  .main-contents .sec_02 {
    --border-side-left: auto;
    --border-side-right: 2.8rem;
    /* --space-section-number: 3.6rem 0; */
    --space-section-number: 4rem 0;
    --number-border-offset: 0.25em 0;
    margin-bottom: 16.2rem;
  }

  .main-contents .sec_02 .section_top {
    width: 74.8rem;
    display: flex;
    margin-inline: auto;
    margin-bottom: 12rem;
    column-gap: 8.5rem;
    justify-content: flex-end;
    flex-direction: row-reverse;
  }

  .main-contents .sec_02 .sec_top_product_img {
    margin-left: auto;
    margin-right: 0;
  }

  .main-contents .sec_02 .sec_top_text_box {
    margin-top: 9.4rem;
    margin-left: auto;
    position: relative;
    margin-bottom: 0;
  }

  .main-contents .sec_02 .scene_01 {
    display: grid;
    grid-template-columns: 16rem 29rem 8rem 8.8rem 44rem;
    width: 107rem;
    margin-inline: auto;
    margin-bottom: 14.5rem;
  }

  .main-contents .sec_02 .scene_01 .product_img {
    width: 37.4rem;
    grid-column: 1/2;
    grid-row: 1/3;
    margin-left: 0;
    margin-bottom: 0;
  }

  .main-contents .sec_02 .scene_01 .product_img_02 {
    width: 44rem;
    margin-top: 8.6rem;
    margin-inline: 0;
    margin-bottom: 0;
    grid-column: 5/6;
    grid-row: 2/5;
  }

  .main-contents .sec_02 .scene_01 .product_img_03 {
    width: 29rem;
    margin-top: 25.6rem;
    grid-column: 2/3;
    grid-row: 3/7;
  }

  .main-contents .sec_02 .scene_01 .text_box {
    margin-top: 9.4rem;
    margin-bottom: 0;
    margin-left: 19rem;
    grid-column: 2/6;
    grid-row: 1/2;
    pointer-events: none;
    z-index: 1;
  }

  .main-contents .sec_02 .scene_01 .product_lead {
    grid-column: 4/5;
    grid-row: 5/6;
    width: 35rem;
    margin-top: 7.4rem;
    margin-bottom: 0;
    margin-right: 6rem;
    font-feature-settings: 'pwid';
    letter-spacing: 0.02em;
  }

  .main-contents .sec_02 .scene_01 .credit_wrapper {
    grid-column: 4/6;
    grid-row: 6/7;
    margin-top: 2rem;
    margin-left: 0;
  }

  .main-contents .sec_02 .scene_02 {
    width: 83.5rem;
    display: grid;
    margin-inline: auto;
    grid-template-columns: 0.5rem 31rem 8rem 44rem;
  }

  .main-contents .sec_02 .scene_02 .text_box {
    margin-left: 0rem;
    margin-top: 17.6rem;
    margin-bottom: 0;
    grid-column: 2/3;
    grid-row: 1/2;
  }

  .main-contents .sec_02 .scene_02 .product_img {
    width: 44rem;
    margin-bottom: 0;
    grid-row: 1/4;
    grid-column: 4/5;
  }

  .main-contents .sec_02 .scene_02 .product_lead {
    grid-column: 2/3;
    grid-row: 2/3;
    margin-top: 3.4rem;
    margin-right: 0;
    margin-bottom: 0;
    width: 100%;
  }

  .main-contents .sec_02 .scene_02 .credit_wrapper {
    margin-top: 2.5rem;
    margin-left: 0;
    grid-column: 4/5;
  }

  /* sec_02____________________ */


  /* sec_03____________________ */
  .main-contents .sec_03 {
    --border-side-left: 4.8rem;
    --space-section-number: 2.4rem 3.4rem;
    margin-bottom: 16.5rem;
  }

  .main-contents .sec_03 .section_top {
    width: 78.6rem;
    display: flex;
    column-gap: 8rem;
    margin-inline: auto;
    margin-bottom: 12rem;
  }

  .main-contents .sec_03 .sec_top_product_img {
    margin-inline: auto 0;
  }

  .main-contents .sec_03 .sec_top_text_box {
    margin-top: 9.4rem;
    margin-bottom: 0;
  }

  .main-contents .sec_03 .sec_top_product_name {
    margin-bottom: 1.6rem;
  }

  .main-contents .sec_03 .scene_01 {
    display: grid;
    grid-template-columns: 12rem 27.5rem 29.5rem 46rem;
    width: 115rem;
    margin-inline: auto;
    margin-bottom: 14.2rem;
  }

  .main-contents .sec_03 .product_img {
    width: 36rem;
    grid-column: 3/5;
    grid-row: 1/3;
    z-index: 1;
  }

  .main-contents .sec_03 .product_img_02 {
    width: 46rem;
    margin-top: 3rem;
    margin-left: 0;
    margin-bottom: 0;
    grid-column: 4/6;
    grid-row: 2/6;
  }

  .main-contents .sec_03 .scene_01 .text_box {
    grid-column: 2/3;
    grid-row: 3/4;
    margin-top: 0.2rem;
    margin-bottom: 0;
    margin-left: 0;
  }

  .main-contents .sec_03 .scene_01 .product_lead {
    grid-column: 2/3;
    grid-row: 4/5;
    width: 35rem;
    margin-top: 3.4rem;
    margin-bottom: 0;
    font-feature-settings: 'pwid';
    letter-spacing: 0.02em;
  }

  .main-contents .sec_03 .scene_01 .credit_wrapper {
    grid-column: 4/5;
    grid-row: 6/7;
    margin-top: 2.5rem;
    margin-left: 0;
  }

  .main-contents .sec_03 .scene_02 {
    display: grid;
    grid-template-columns: 44rem 8rem 31rem;
    width: 83rem;
    margin-inline: auto;
  }

  .main-contents .sec_03 .scene_02 .product_img {
    width: 44rem;
    grid-column: 1/2;
    grid-row: 1/4;
    margin-bottom: 0;
  }

  .main-contents .sec_03 .scene_02 .text_box {
    grid-column: 3/4;
    grid-row: 1/2;
    margin-top: 19.2rem;
    margin-bottom: 0;
  }

  .main-contents .sec_03 .scene_02 .scene_number {
    margin-bottom: 1.6em;
  }

  .main-contents .sec_03 .scene_02 .product_lead {
    grid-row: 2/3;
    grid-column: 3/4;
    margin-top: 3.2rem;
    margin-bottom: 0;
    width: auto;
    font-feature-settings: 'pwid';
    letter-spacing: 0.02em;
  }

  .main-contents .sec_03 .scene_02 .credit_wrapper {
    margin-top: 2.5rem;
    margin-left: 0;
    grid-row: 4/5;
  }

  /* sec_03____________________ */


  /* sec_04____________________ */
  .main-contents .sec_04 {
    --border-side-left: auto;
    --border-side-right: 2.8rem;
    /* --space-section-number: 3.6rem 0; */
    --space-section-number: 4rem 0;
    --number-border-offset: 0.25em 0;
    margin-bottom: 11rem;
  }

  .main-contents .sec_04 .section_top {
    width: 74.8rem;
    display: flex;
    margin-inline: auto;
    margin-bottom: 12rem;
    column-gap: 8.2rem;
    justify-content: flex-end;
    flex-direction: row-reverse;
  }

  .main-contents .sec_04 .sec_top_product_img {
    margin-bottom: 0;
  }

  .main-contents .sec_04 .sec_top_text_box {
    margin-top: 9.2rem;
    margin-left: auto;
  }

  .main-contents .sec_04 .scene_01 {
    display: grid;
    grid-template-columns: 46rem 8rem 8rem 36rem;
    width: 98rem;
    margin-inline: auto;
    margin-bottom: 3rem;
  }

  .main-contents .sec_04 .product_img {
    width: 46rem;
    margin-left: 0;
    margin-bottom: 0;
    grid-column: 1/2;
    grid-row: 1/4;
  }

  .main-contents .sec_04 .product_img_02 {
    width: 36rem;
    margin-top: 7.4rem;
    margin-right: 0;
    margin-bottom: 0;
    grid-column: 4/5;
    grid-row: 3/6;
  }

  .main-contents .sec_04 .flex_text_box {
    margin-top: 16.5rem;
  }

  .main-contents .sec_04 .scene_01 .text_box {
    margin-bottom: 0;
    margin-left: 0;
    grid-column: 3/5;
    grid-row: 1/2;
  }

  .main-contents .sec_04 .scene_01 .product_lead {
    width: 31rem;
    margin-top: 3.4rem;
    margin-bottom: 0;
    margin-inline: 0 auto;
    grid-row: 2/3;
    grid-column: 3/5;
    font-feature-settings: 'pwid';
    letter-spacing: 0.02em;
  }

  .main-contents .sec_04 .scene_01 .credit_wrapper {
    width: 100%;
    margin-top: 2.5rem;
    margin-left: 0;
    grid-row: 4/5;
    grid-column: 1/2;
  }

  .main-contents .sec_04 .scene_02 {
    width: 83rem;
    display: grid;
    margin-inline: auto;
    grid-template-columns: 44rem 8rem 31rem;
  }

  .main-contents .sec_04 .scene_02 .text_box {
    margin-left: 0;
    margin-top: 17.6rem;
    margin-bottom: 0;
    grid-column: 3/4;
    grid-row: 1/2;
  }

  .main-contents .sec_04 .scene_02 .product_img {
    grid-column: 1/2;
    grid-row: 1/4;
    width: 44rem;
    margin-bottom: 0;
  }

  .main-contents .sec_04 .scene_02 .product_lead {
    width: 100%;
    grid-column: 3/4;
    grid-row: 2/3;
    margin-top: 3.4rem;
    margin-bottom: 0;
    font-feature-settings: 'pwid';
    letter-spacing: 0.02em;
  }

  .main-contents .sec_04 .scene_02 .credit_wrapper {
    margin-top: 2.5rem;
    margin-left: 0;
    grid-row: 4/6;
    grid-column: 1/2;
  }
  /* sec_04____________________ */


  .main-contents .staff {
    font-size: 1.3rem;
    line-height: 1.84;
    margin-bottom: 14.4rem;
  }


  /* 全てのアイテムをチェック */
  .main-contents .viewall {
    width: 38rem;
    height: 6.4rem;
    margin-bottom: 15rem;
  }

  .main-contents .viewall__link {
    font-size: 1.8rem;
    letter-spacing: 0.06em;
  }


  /* __________firstview__________ */
  .main-contents .firstview {
    margin-bottom: 6.3rem;
  }

  .main-contents .firstview .firstview__title--brand {
    font-size: 3.3rem;
    margin-bottom: 1.3rem;
  }

  .main-contents .firstview .firstview__title--heading {
    font-size: 4.8rem;
    margin-bottom: 0;
  }

  .main-contents .firstview .firstview__copy {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }

  .main-contents .firstview .firstview__vol {
    font-size: 2rem;
    margin-bottom: 2rem;
  }

  .main-contents .firstview .firstview__by {
    font-size: 2rem;
  }


  .main-contents .firstview .mainvisual_lead {
    font-size: 1.6rem;
    line-height: 2.87;
  }

}

/* //////////////////////// pcここまで //////////////////////// */
@media (max-width: 1400px) and (min-width: 750px) {
  html {
    font-size: calc(10 * (100vw / 1400));
  }
}