@charset "UTF-8";
/* ==========================================================================
   AH 26 mid summer LOOK BOOK  -  layout (px master / pixel-perfect @1366 / @375)
   ・単位はpx（rem化はクライアント側で実施）
   ・すべて .ah26ms 配下にスコープ（テンプレのヘッダー/フッターに影響させない）
   ・font: Inter(本文) / Oswald 500(見出し)
   記述順: ①レイアウト/サイズ ②表示/配置 ③背景/境界/フォント ④アニメ/その他
   ========================================================================== */

.max-w-content {
    max-width: 100% !important;
    overflow: hidden;
    padding: 0 !important;
}

/* ---- scope base ------------------------------------------------------- */
/*リキッドの場合に使用*/
@media only screen and (min-width: 768px){
/*	768px- 画面幅1366px閲覧で1px=0.1em可変*/
	main{
			font-size: 0.73261vw;
			--base-size: 0.73261vw; /* 設計基準 */

		}
}
@media only screen and (max-width: 767px){
/*	-767px 画面幅375px閲覧で1px=0.1em可変*/
	main{
			font-size: 2.6667vw;
			--base-size: 2.6667vw; /* 設計基準 */
		}
}

.ah26ms {
  /*width: calc(var(--base-size) * 136.6);*/
  width: 100%;
  margin: 0 auto;
  position: relative;
  color: #333;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  text-align: left;
}
.ah26ms *,
.ah26ms *::before,
.ah26ms *::after {
  box-sizing: border-box;
}
.ah26ms img {
  display: block;
  width: 100%;
  height: auto;
}
:where(.ah26ms) :where(figure, h1, h2, h3, h4, p, ul) {
  margin: 0;
  padding: 0;
}
:where(.ah26ms) :where(ul) {
  list-style: none;
}
:where(.ah26ms) :where(a) {
  color: inherit;
  text-decoration: none;
}
.ah26ms .pc_none {
  display: none;
}

/* =========================== contents00 : FV =========================== */
.contents00 {
  position: relative;
  margin: 0 auto;
}
.contents00_01 {
  /*width: calc(var(--base-size) * 136.6);*/
  width: 100%;
  height: calc(var(--base-size) * 84.5);
  overflow: hidden;
  background: #c2bda9;
}

/* オープニング演出（アニメ有効時のみ表示。未読込/静止時は出さない） */
.ah26ms-opening {
  display: none;
}
.ah26ms.js-anim .ah26ms-opening {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 1000;
  overflow: hidden;
  background: #c2bda9;
}
.ah26ms-opening_inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ah26ms-opening img {
  width: calc(var(--base-size) * 46.0);
  max-width: 62%;
  height: auto;
}
.contents00_01 picture {
  display: block;
  width: 100%;
  height: 100%;
}
.contents00_01 .text01 {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contents00_02 {
  position: absolute;
  top: calc(var(--base-size) * 38.3);
  left: calc(var(--base-size) * 4.0);
  width: calc(var(--base-size) * 28.4);
}
.contents00_02 .contents00_02_ln {
  display: block;
} /* ラベル2行を縦に積む */
.contents00_02 img {
  width: 100%;
  display: block;
}
.contents00_03 {
  position: absolute;
  top: calc(var(--base-size) * 36.2);
  left: calc(var(--base-size) * 79.6);
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: calc(var(--base-size) * 8.3);
  line-height: 1;
}
.contents00_03 .text01 {
  display: inline-block;
} /* transform(下からスライド)を効かせる */

/* =========================== contents01 : intro ======================== */
.contents01 {
  margin-top: calc(var(--base-size) * 4.4);
  margin-bottom: 0;
  padding: 0 calc(var(--base-size) * 4.0);
}
.contents01 .text01 {
  font-size: calc(var(--base-size) * 2.2);
  line-height: calc(var(--base-size) * 2.8);
  color: #3e3e3e;
}

/* =================== contents02 : PLAY COLOR AGED MIX =================== */
.contents02 {
  margin-top: calc(var(--base-size) * 6.4);
}
/* 02_01 : pink main(left) + title(right) + green box(right) */
.contents02_01 {
  position: relative;
  min-height: calc(var(--base-size) * 125.4);
}
.contents02_01_01 {
  width: calc(var(--base-size) * 84.5);
  margin-left: calc(var(--base-size) * 11.3);
}
.contents02_01_01 {
  position: relative;
}
.contents02_01_02 {
  position: absolute;
  top: calc(var(--base-size) * 5.4);
  left: calc(var(--base-size) * 89.6);
  color: #000;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: calc(var(--base-size) * 12.5);
  line-height: calc(var(--base-size) * 11.7);
}
.contents02_01_02 span {
  display: block;
}
.contents02_01_02 span:first-child::first-letter,
.contents02_01_02 span:first-child .ah26ms-ln::first-letter {
  color: #94a27b;
}
/* 行リビール用の内側ラッパー（見出し/キャプション共通） i要素なのでfont-style:normal */
.ah26ms .ah26ms-ln {
  display: block;
  font-style: normal;
}
.contents02_01_03 {
  position: absolute;
  top: calc(var(--base-size) * 82.5);
  left: calc(var(--base-size) * 89.9);
  width: calc(var(--base-size) * 35.2);
  padding: calc(var(--base-size) * 4.0) calc(var(--base-size) * 3.4) calc(var(--base-size) * 3.4) calc(var(--base-size) * 3.5);
  background: #94a27b;
  color: #fff;
  font-size: calc(var(--base-size) * 2.2);
  line-height: calc(var(--base-size) * 2.8);
  text-align: justify;
  text-justify: inter-character;
}
/* デザインの改行位置を1行=1spanで確定し、各行を両端揃え。字間で均等調整(inter-character)して自然に見せる */
.contents02_01_03 span,
.contents03_02_02 span,
.contents04_04_02 span,
.contents02_01_03 .ah26ms-ln,
.contents03_02_02 .ah26ms-ln,
.contents04_04_02 .ah26ms-ln {
  display: block;
  text-align: justify;
  text-align-last: left;
  /*text-justify: inter-character;*/
  white-space: nowrap;
  text-align: left;
}
.contents02_01_03 span:last-child,
.contents03_02_02 span:last-child,
.contents04_04_02 span:last-child,
.contents02_01_03 span:last-child .ah26ms-ln,
.contents03_02_02 span:last-child .ah26ms-ln,
.contents04_04_02 span:last-child .ah26ms-ln {
  text-align-last: left;
}

/*一つ目のbox*/
.contents02_01_03 .ah26ms-ln{
  white-space: nowrap;
}
.contents02_01_03 span:nth-of-type(1) .ah26ms-ln{
  letter-spacing: calc((19/1000)*1em);
}
.contents02_01_03 span:nth-of-type(2) .ah26ms-ln{
  letter-spacing: calc((16/1000)*1em);
}
.contents02_01_03 span:nth-of-type(3) .ah26ms-ln{
  letter-spacing: calc((39/1000)*1em);
}
.contents02_01_03 span:nth-of-type(4) .ah26ms-ln{
  letter-spacing: calc((80/1000)*1em);
}
.contents02_01_03 span:nth-of-type(5) .ah26ms-ln{
  letter-spacing: calc((193/1000)*1em);
}
.contents02_01_03 span:nth-of-type(6) .ah26ms-ln{
  letter-spacing: calc((71/1000)*1em);
}
.contents02_01_03 span:nth-of-type(7) .ah26ms-ln{
  letter-spacing: calc((83/1000)*1em);
}
.contents02_01_03 span:nth-of-type(8) .ah26ms-ln{
  letter-spacing: calc((93/1000)*1em);
}
.contents02_01_03 span:nth-of-type(9) .ah26ms-ln{
  letter-spacing: calc((20/1000)*1em);
}
.contents02_01_03 span:nth-of-type(10) .ah26ms-ln{
  letter-spacing: calc((76/1000)*1em);
}
.contents02_01_03 span:nth-of-type(11) .ah26ms-ln{
  letter-spacing: calc((15/1000)*1em);
}

/*二つ目のbox*/
.contents03_02_02 span:nth-of-type(1) .ah26ms-ln{
  letter-spacing: calc((29/1000)*1em);
}
.contents03_02_02 span:nth-of-type(2) .ah26ms-ln{
  letter-spacing: calc((100/1000)*1em);
}
.contents03_02_02 span:nth-of-type(3) .ah26ms-ln{
  letter-spacing: calc((12/1000)*1em);
}
.contents03_02_02 span:nth-of-type(4) .ah26ms-ln{
  letter-spacing: calc((5/1000)*1em);
}
.contents03_02_02 span:nth-of-type(5) .ah26ms-ln{
  letter-spacing: calc((3/1000)*1em);
}

/*三つ目のbox*/
.contents04_04_02 span:nth-of-type(1) .ah26ms-ln{
  letter-spacing: calc((29/1000)*1em);
}
.contents04_04_02 span:nth-of-type(2) .ah26ms-ln{
  letter-spacing: calc((36/1000)*1em);
}
.contents04_04_02 span:nth-of-type(3) .ah26ms-ln{
  letter-spacing: calc((40/1000)*1em);
}
.contents04_04_02 span:nth-of-type(4) .ah26ms-ln{
  letter-spacing: calc((80/1000)*1em);
}
.contents04_04_02 span:nth-of-type(5) .ah26ms-ln{
  letter-spacing: calc((111/1000)*1em);
}
.contents04_04_02 span:nth-of-type(6) .ah26ms-ln{
  letter-spacing: calc((10/1000)*1em);
}

.contents02_04_02 span{
  text-align: left;
  text-align-last: left;
  white-space: nowrap;
}
.contents02_04_02 span:nth-of-type(1){
  letter-spacing: calc((73/1000)*1em);
}
.contents02_04_02 span:nth-of-type(2){
  letter-spacing: calc((9/1000)*1em);
}
.contents02_04_02 span:nth-of-type(3){
  letter-spacing: calc((28/1000)*1em);
}
.contents02_04_02 span:nth-of-type(4){
  letter-spacing: calc((3/1000)*1em);
}
.contents02_04_02 span:nth-of-type(5){
  letter-spacing: calc((0/1000)*1em);
}

.contents04_02_02 span{
  text-align: left;
  text-align-last: left;
  white-space: nowrap;
}
.contents04_02_02 span:nth-of-type(1){
  letter-spacing: calc((60/1000)*1em);
}
.contents04_02_02 span:nth-of-type(2){
  letter-spacing: calc((87/1000)*1em);
}
.contents04_02_02 span:nth-of-type(3){
  letter-spacing: calc((96/1000)*1em);
}
.contents04_02_02 span:nth-of-type(4){
  letter-spacing: calc((69/1000)*1em);
}
.contents04_02_02 span:nth-of-type(5){
  letter-spacing: calc((80/1000)*1em);
}
.contents04_02_02 span:nth-of-type(6){
  letter-spacing: calc((0/1000)*1em);
}















/* 02_02 : two photos side by side (pink side + legs) */
.contents02_02 {
  display: flex;
  margin-top: calc(var(--base-size) * 7.4);
}
.contents02_02_01,
.contents02_02_02 {
  width: calc(var(--base-size) * 68.3);
}
/* 02_03 : green striped main (centered) */
.contents02_03 {
  margin-top: calc(var(--base-size) * 6.5);
}
.contents02_03_01 {
  width: calc(var(--base-size) * 113.5);
  margin: 0 auto;
  position: relative;
}
/* 02_04 : green holding (left extended) + caption */
.contents02_04 {
  margin-top: calc(var(--base-size) * 11.2);
}
.contents02_04_01 {
  width: calc(var(--base-size) * 125.0);
}
.contents02_04_02 {
  margin-top: calc(var(--base-size) * 4.0);
  padding: 0 calc(var(--base-size) * 4.0);
  font-size: calc(var(--base-size) * 2.2);
  line-height: calc(var(--base-size) * 2.8);
  color: #3e3e3e;
}

/* ============ contents03 : SUNSET RESORT SOPHISTICATION ============ */
.contents03 {
  margin-top: calc(var(--base-size) * 9.5);
}
.contents03_01 {
  text-align: center;
  color: #000;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: calc(var(--base-size) * 12.5);
  line-height: calc(var(--base-size) * 11.7);
}
.contents03_01 span {
  display: block;
}
.contents03_01 span:first-child::first-letter,
.contents03_01 span:first-child .ah26ms-ln::first-letter {
  color: #8c6570;
}
/* 03_01 : fringe deck (full bleed) + resort caption overlay */
.contents03_02 {
  position: relative;
  margin-top: calc(var(--base-size) * 3.5);
}
.contents03_02_01 {
  /*width: calc(var(--base-size) * 136.6);*/
  width: 100%;
}
.contents03_02_02 {
  position: absolute;
  z-index: 1;
  left: calc(var(--base-size) * 6.0);
  top: calc(var(--base-size) * 186.3);
  width: calc(var(--base-size) * 52.2);
  padding: calc(var(--base-size) * 2.6) calc(var(--base-size) * 3.0);
  background: #8c6570;
  color: #fff;
  font-size: calc(var(--base-size) * 2.2);
  line-height: calc(var(--base-size) * 2.8);
  text-align: justify;
  text-justify: inter-character;
}
/* 03_02 / 03_03 : blouse photos (centered) */
.contents03_03 {
  margin-top: calc(var(--base-size) * 15.6);
}
.contents03_03_01 {
  width: calc(var(--base-size) * 106.6);
  margin: 0 auto;
  position: relative;
}
.contents03_04 {
  margin-top: calc(var(--base-size) * 5.1);
}
.contents03_04_01 {
  width: calc(var(--base-size) * 106.6);
  margin: 0 auto;
}

/* =============== contents04 : NEW UTILITY FEMINITY =============== */
.contents04 {
  position: relative;
  margin-top: calc(var(--base-size) * 22.3);
}
.contents04_01 {
  position: absolute;
  top: 0;
  left: calc(var(--base-size) * 4.1);
  z-index: 2;
  color: #000;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: calc(var(--base-size) * 12.5);
  line-height: calc(var(--base-size) * 12.9);
}
.contents04_01 span {
  display: block;
}
.contents04_01 span:first-child::first-letter,
.contents04_01 span:first-child .ah26ms-ln::first-letter {
  color: #bcb59f;
}
/* 04_01 : lace vest main (full bleed) + body */
.contents04_02 {
  position: relative;
  padding-top: calc(var(--base-size) * 12.9);
} /* 写真の上端をタイトル2行の境界(=line-height129)に合わせSPと同様に行間へ */
.contents04_02_01 {
  /*width: calc(var(--base-size) * 136.6);*/
  width: 100%;
  height: calc(var(--base-size) * 196.7);
  overflow: hidden;
}
.contents04_02_01 img {
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.contents04_02_02 {
  margin-top: calc(var(--base-size) * 4.0);
  padding: 0 calc(var(--base-size) * 3.0) 0 calc(var(--base-size) * 4.0);
  font-size: calc(var(--base-size) * 2.2);
  line-height: calc(var(--base-size) * 2.8);
  color: #3e3e3e;
}
/* 04_02 : lace side (right extended) */
.contents04_03 {
  margin-top: calc(var(--base-size) * 7.0);
  display: flex;
  justify-content: flex-end;
}
.contents04_03_01 {
  width: calc(var(--base-size) * 125.0);
}
/* 04_03 : sheer jacket (left) + caption overlay */
.contents04_04 {
  position: relative;
  margin-top: calc(var(--base-size) * 10.7);
}
.contents04_04_01 {
  width: calc(var(--base-size) * 129.4);
  height: calc(var(--base-size) * 180.0);
  overflow: hidden;
}
/* デザインのトリミングに合わせる（原画のy70..2324を表示＝下の床を約113pxカット） */
.contents04_04_01 img {
  width: calc(var(--base-size) * 123.5);
  height: auto;
  max-width: none;
  margin: calc(var(--base-size) * -6.1) 0 0 0;
}
.contents04_04_02 {
  position: absolute;
  right: calc(var(--base-size) * 3.5);
  top: calc(var(--base-size) * 168.6);
  width: calc(var(--base-size) * 60.1);
  padding: calc(var(--base-size) * 2.6) calc(var(--base-size) * 3.0);
  background: #bcb59f;
  color: #fff;
  font-size: calc(var(--base-size) * 2.2);
  line-height: calc(var(--base-size) * 2.8);
  text-align: justify;
  text-justify: inter-character;
}

/* =============== contents05 : ALL ITEMS + staff credit =============== */
.contents05 {
  margin-top: calc(var(--base-size) * 19.6);
  text-align: center;
}
.contents05_01 {
  width: calc(var(--base-size) * 31.0);
  height: calc(var(--base-size) * 4.0);
  margin: 0 auto; /* PC: ALL ITEMS 310x40 */
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  color: #fff;
  font-size: calc(var(--base-size) * 1.7);
  letter-spacing: 0.12em;
  transition:
    background 0.3s,
    color 0.3s;
}
.contents05_01:hover {
  background: #fff;
  color: #000;
  box-shadow: inset 0 0 0 calc(var(--base-size) * 0.1) #000;
}
.contents05_02 {
  margin-top: calc(var(--base-size) * 5.0);
  display: flex;
  flex-direction: column;
  gap: calc(var(--base-size) * 0.6);
  color: #333;
  font-size: calc(var(--base-size) * 1.8);
  line-height: 1.4;
}

/* =============== credit : PC inline panel =============== */
.js-cre {
  position: relative;
  cursor: pointer;
  color: #000;
}
.js-cre-toggle {
  position: absolute;
  z-index: 3;
  width: calc(var(--base-size) * 3.4);
  height: calc(var(--base-size) * 3.4);
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.js-cre-toggle::before,
.js-cre-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(var(--base-size) * 2.6);
  height: calc(var(--base-size) * 0.2);
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform 0.3s;
}
.js-cre-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.js-cre.is-open .js-cre-toggle::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.js-cre.is-open .js-cre-toggle::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* クレジット展開パネル（背景なし・写真上に直接テキスト。色は写真ごとにcurrentColor） */
.ah26ms-cre_panel {
  position: absolute;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
}
.js-cre.is-open .ah26ms-cre_panel {
  opacity: 1;
  visibility: visible;
}
.ah26ms-cre_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: auto auto;
  column-gap: calc(var(--base-size) * 1.6);
}
.ah26ms-cre_item {
  display: contents;
  color: inherit;
  text-decoration: none;
}
.ah26ms-cre_list .txt {
  line-height: calc(var(--base-size) * 3.0);
  white-space: nowrap;
  font-size: calc(var(--base-size) * 1.6);
}
.ah26ms-cre_list .price {
  margin-left: calc(var(--base-size) * 0.8);
}
.ah26ms-cre_list .buy {
  line-height: calc(var(--base-size) * 3.0);
  white-space: nowrap;
  font-size: calc(var(--base-size) * 1.6);
  text-decoration: underline;
}

/* 写真ごとに「+」/クレジット展開の位置・色をデザイン実測で個別指定（PC） */
@media only screen and (min-width: 768px) {
  .contents02_01_01 {
    color: #000;
  } /* pink    黒 */
  .contents02_01_01 .js-cre-toggle {
    left: calc(var(--base-size) * 2.5);
    bottom: calc(var(--base-size) * 2.5);
  }
  .contents02_01_01 .ah26ms-cre_panel {
    left: calc(var(--base-size) * 6.3);
    bottom: calc(var(--base-size) * 2.5);
  }
  .contents02_03_01 {
    color: #000;
  } /* green  黒 */
  .contents02_03_01 .js-cre-toggle {
    right: calc(var(--base-size) * 2.5);
    bottom: calc(var(--base-size) * 2.5);
  }
  .contents02_03_01 .ah26ms-cre_panel {
    left: calc(var(--base-size) * 81.1);
    bottom: calc(var(--base-size) * 2.5);
  }
  .contents03_02_01 {
    color: #fff;
  } /* fringe 白 */
  .contents03_02_01 .js-cre-toggle {
    right: calc(var(--base-size) * 2.5);
    bottom: calc(var(--base-size) * 2.5);
  }
  .contents03_02_01 .ah26ms-cre_panel {
    left: calc(var(--base-size) * 105.8);
    bottom: calc(var(--base-size) * 2.5);
  }
  .contents03_03_01 {
    color: #fff;
  } /* blouse 白 */
  .contents03_03_01 .js-cre-toggle {
    right: calc(var(--base-size) * 2.5);
    bottom: calc(var(--base-size) * 2.5);
  }
  .contents03_03_01 .ah26ms-cre_panel {
    left: calc(var(--base-size) * 77.0);
    bottom: calc(var(--base-size) * 2.5);
  }
  .contents04_02_01 {
    color: #000;
  } /* lace   黒 */
  .contents04_02_01 .js-cre-toggle {
    right: calc(var(--base-size) * 2.5);
    bottom: calc(var(--base-size) * 2.5);
  }
  .contents04_02_01 .ah26ms-cre_panel {
    left: calc(var(--base-size) * 105.3);
    bottom: calc(var(--base-size) * 2.5);
  }
  .contents04_04_01 {
    color: #000;
  } /* jacket 黒 */
  .contents04_04_01 .js-cre-toggle {
    left: calc(var(--base-size) * 2.5);
    bottom: calc(var(--base-size) * 2.5);
  }
  .contents04_04_01 .ah26ms-cre_panel {
    left: calc(var(--base-size) * 7.3);
    bottom: calc(var(--base-size) * 2.5);
  }
}

/* =============== credit : SP modal =============== */
.ah26ms-modal {
  display: none;
}
.ah26ms-noscroll {
  overflow: hidden;
}

/* ============================================================
    SP  (<=767px) : 375px 基準
    ============================================================ */
@media only screen and (max-width: 767px) {
  .ah26ms {
    /*width: calc(var(--base-size) * 37.5);*/
    width: 100%;
  }
  .ah26ms .pc_none {
    display: inline;
  }
  .ah26ms .sp_none {
    display: none;
  }

  /* contents00 FV */
  .contents00_01 {
    /*width: calc(var(--base-size) * 37.5);*/
    width: 100%;
    height: calc(var(--base-size) * 51.0);
  }
  .contents00_02 {
    top: calc(var(--base-size) * 2.1);
    left: calc(var(--base-size) * 9.4);
    width: calc(var(--base-size) * 18.7);
  } /* SPは中央寄せ(デザイン実測 centerX=187.5 / width=187) */
  .contents00_03 {
    top: calc(var(--base-size) * 43.8);
    left: calc(var(--base-size) * 1.9);
    font-size: calc(var(--base-size) * 5.6);
  }

  /* contents01 intro */
  .contents01 {
    margin-top: calc(var(--base-size) * 2.8);
    padding: 0 calc(var(--base-size) * 2.0);
  }
  .contents01 .text01 {
    font-size: calc(var(--base-size) * 1.3);
    line-height: calc(var(--base-size) * 1.7);
  }

  /* contents02 PLAY */
  .contents02 {
    margin-top: calc(var(--base-size) * 3.8);
  }
  .contents02_01 {
    min-height: 0;
  }
  /* デザイン実測(SP): 写真は左寄せ left15/幅280/高425(右側は白余白に見出しがはみ出す) */
  .contents02_01_01 {
    width: calc(var(--base-size) * 28.0);
    height: calc(var(--base-size) * 42.5);
    margin-left: calc(var(--base-size) * 1.5);
    overflow: hidden;
  }
  .contents02_01_01 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .contents02_01_02 {
    top: calc(var(--base-size) * 1.1);
    left: calc(var(--base-size) * 23.6);
    font-size: calc(var(--base-size) * 4.7);
    line-height: calc(var(--base-size) * 4.5);
  }
  /* 緑ボックスは写真の下端に20px重ねる(左77・右フルブリード)。負マージンで写真に食い込ませ、z-indexで上に重ねる */
  .contents02_01_03 {
    position: relative;
    z-index: 2;
    top: auto;
    left: auto;
    right: auto;
    margin: calc(var(--base-size) * -1.2) 0 0 calc(var(--base-size) * 7.7);
    width: auto;
    padding: calc(var(--base-size) * 1.3) calc(var(--base-size) * 1.2) calc(var(--base-size) * 1.5) calc(var(--base-size) * 1.5);
    font-size: calc(var(--base-size) * 1.2);
    line-height: calc(var(--base-size) * 1.6);
  }
  /* SPはPC固有の改行を解除し自然に流す */
  .contents02_01_03 span,
  .contents03_02_02 span,
  .contents04_04_02 span {
    display: inline;
  }
  .contents02_02 {
    margin-top: calc(var(--base-size) * 3.1);
  }
  .contents02_02_01,
  .contents02_02_02 {
    width: 50%;
    height: calc(var(--base-size) * 28.3);
  }
  .contents02_02_01 img,
  .contents02_02_02 img {
    height: 100%;
    object-fit: cover;
  }
  .contents02_03 {
    margin-top: calc(var(--base-size) * 3.1);
  }
  /* デザイン実測(SP): 左右約25pxのマージンで中央寄せ(幅325/高485)、+マークは右下 */
  .contents02_03_01 {
    width: calc(var(--base-size) * 32.5);
    height: calc(var(--base-size) * 48.5);
    margin: 0 auto;
  }
  .contents02_03_01 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .contents02_03_01 .js-cre-toggle {
    left: auto;
    right: calc(var(--base-size) * 1.0);
    bottom: calc(var(--base-size) * 1.0);
  } /* +の中心を下端から20px(20px角→bottom10) */
  .contents02_04 {
    margin-top: calc(var(--base-size) * 2.4);
  }
  .contents02_04_01 {
    width: 93%;
    height: calc(var(--base-size) * 23.3);
  }
  .contents02_04_01 img {
    height: 100%;
    object-fit: cover;
  }
  .contents02_04_02 {
    margin-top: calc(var(--base-size) * 1.8);
    padding: 0 calc(var(--base-size) * 2.0);
    font-size: calc(var(--base-size) * 1.3);
    line-height: calc(var(--base-size) * 1.7);
  }
  /* SP: デザインどおり各行を両端揃え(字間で調整)、最終行のみ左寄せ */
  .contents02_04_02 span,
  .contents04_02_02 span {
    display: block;
    text-align: justify;
    text-align-last: justify;
    text-justify: inter-character;
  }
  .contents02_04_02 span:last-child,
  .contents04_02_02 span:last-child {
    text-align-last: left;
  }

  /* contents03 SUNSET */
  .contents03 {
    margin-top: calc(var(--base-size) * 4.0);
    margin-bottom: 0;
  } /* テンプレのsection余白を打ち消し、次セクションtitle上の隙間を制御可能に */
  .contents03_01 {
    text-align: center;
    font-size: calc(var(--base-size) * 4.7);
    line-height: calc(var(--base-size) * 4.7);
  }
  .contents03_02 {
    margin-top: calc(var(--base-size) * 1.2);
  }
  .contents03_02_01 {
    /*width: calc(var(--base-size) * 37.5);*/
    width: 100%;
    height: calc(var(--base-size) * 63.7);
  }
  .contents03_02_01 img {
    height: 100%;
    object-fit: cover;
  }
  /* 指示(SP): boxの上端を写真下端に27px重ね、残りは下へはみ出す(フロー配置＋負マージン)。本文幅222で6行 */
  .contents03_02_02 {
    position: relative;
    z-index: 2;
    top: auto;
    left: auto;
    bottom: auto;
    margin: calc(var(--base-size) * -2.7) 0 0 calc(var(--base-size) * 3.0);
    width: calc(var(--base-size) * 25.2);
    padding: calc(var(--base-size) * 1.4) calc(var(--base-size) * 1.5) calc(var(--base-size) * 1.3);
    font-size: calc(var(--base-size) * 1.2);
    line-height: calc(var(--base-size) * 1.6);
    text-align: justify;
  }
  .contents03_02_01 .js-cre-toggle {
    left: auto;
    right: calc(var(--base-size) * 0.8);
    bottom: calc(var(--base-size) * 1.0);
    color: #fff;
  } /* +の中心を下端から20px */
  .contents03_03 {
    margin-top: calc(var(--base-size) * 3.0);
  }
  .contents03_03_01 {
    width: calc(var(--base-size) * 31.5);
    height: calc(var(--base-size) * 21.0);
  }
  .contents03_03_01 img {
    height: 100%;
    object-fit: cover;
  }
  .contents03_03_01 .js-cre-toggle {
    left: auto;
    right: calc(var(--base-size) * 1.0);
    bottom: calc(var(--base-size) * 1.0);
    color: #fff;
  } /* 白・中心を右/下端から20px(20px角) */
  .contents03_04 {
    margin-top: calc(var(--base-size) * 2.4);
  }
  .contents03_04_01 {
    width: calc(var(--base-size) * 31.5);
    height: calc(var(--base-size) * 21.0);
  }
  .contents03_04_01 img {
    height: 100%;
    object-fit: cover;
  }

  /* contents04 NEW UTILITY */
  .contents04 {
    margin-top: calc(var(--base-size) * 5.0);
  } /* タイトル上の隙間=10px */
  /* SPは中央寄せ。写真を上へ引き上げて、上端がタイトル2行の間(1行目と2行目の境界=上から47px)に来るよう重ねる。タイトルはz-indexで写真の上に */
  .contents04_01 {
    position: relative;
    z-index: 2;
    left: 0;
    text-align: left;
    margin: 0;
    padding-left: calc(var(--base-size) * 1.5);
    font-size: calc(var(--base-size) * 4.7);
    line-height: calc(var(--base-size) * 4.7);
  }
  .contents04_02 {
    padding-top: 0;
    margin-top: calc(var(--base-size) * -4.7);
  }
  .contents04_02_01 {
    /*width: calc(var(--base-size) * 37.5);*/
    width: 100%;
    height: calc(var(--base-size) * 54.0);
  }
  .contents04_02_01 img {
    height: 100%;
    object-fit: cover;
  }
  .contents04_02_01 .js-cre-toggle {
    left: auto;
    right: calc(var(--base-size) * 1.0);
  } /* +を右へ(中心が右から20px) */
  .contents04_02_02 {
    margin-top: calc(var(--base-size) * 2.0);
    padding: 0 calc(var(--base-size) * 2.0);
    font-size: calc(var(--base-size) * 1.3);
    line-height: calc(var(--base-size) * 1.7);
  }
  .contents04_03 {
    margin-top: calc(var(--base-size) * 2.4);
    justify-content: flex-start;
  }
  .contents04_03_01 {
    width: 100%;
    height: calc(var(--base-size) * 23.3);
  }
  .contents04_03_01 img {
    height: 100%;
    margin-left: calc(var(--base-size) * 2.0);
    object-fit: cover;
  }
  .contents04_04 {
    margin-top: calc(var(--base-size) * 2.4);
  }
  .contents04_04_01 {
    width: calc(var(--base-size) * 31.2);
    height: calc(var(--base-size) * 55.9);
  }
  .contents04_04_01 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
  }
  /* boxを写真の下端に50px重ねて残りは下へはみ出す(フロー＋負マージン, 右寄せ) */
  .contents04_04_02 {
    position: relative;
    z-index: 2;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: calc(var(--base-size) * -5.0) calc(var(--base-size) * 2.0) 0 auto;
    width: calc(var(--base-size) * 29.4);
    padding: calc(var(--base-size) * 1.6) calc(var(--base-size) * 1.8);
    font-size: calc(var(--base-size) * 1.2);
    line-height: calc(var(--base-size) * 1.6);
    text-align: justify;
  }

  /* contents05 */
  .contents05 {
    margin-top: calc(var(--base-size) * 6.0);
  }
  .contents05_01 {
    width: calc(var(--base-size) * 28.0);
    height: calc(var(--base-size) * 3.5);
  } /* ALL ITEMSボタン 280x35 */
  /* SPはクレジットを1件=1行で中央表示。text01/02をcontents化して各creを直接flexアイテムに、区切りカンマ(sp_none)は非表示 */
  .contents05_02 {
    font-size: calc(var(--base-size) * 1.2);
    gap: calc(var(--base-size) * 0.9);
  }
  .contents05_02 .text01,
  .contents05_02 .text02 {
    display: contents;
  }
  .contents05_02 .cr {
    display: block;
  }

  .contents05_02 {
  margin-top: calc(var(--base-size) * 3.0);
  }

  /*一つ目のbox*/
  .contents02_01_03 .ah26ms-ln{
    white-space: nowrap;
  }
  .contents02_01_03 .ah26ms-ln-mask:nth-of-type(1) .ah26ms-ln{
    letter-spacing: calc((34/1000)*1em);
  }
  .contents02_01_03 .ah26ms-ln-mask:nth-of-type(2) .ah26ms-ln{
    letter-spacing: calc((6/1000)*1em);
  }
  .contents02_01_03 .ah26ms-ln-mask:nth-of-type(3) .ah26ms-ln{
    letter-spacing: calc((24/1000)*1em);
  }
  .contents02_01_03 .ah26ms-ln-mask:nth-of-type(4) .ah26ms-ln{
    letter-spacing: calc((65/1000)*1em);
  }
  .contents02_01_03 .ah26ms-ln-mask:nth-of-type(5) .ah26ms-ln{
    letter-spacing: calc((1/1000)*1em);
  }
  .contents02_01_03 .ah26ms-ln-mask:nth-of-type(6) .ah26ms-ln{
    letter-spacing: calc((0/1000)*1em);
  }

  /*二つ目のbox*/
  .contents03_02_02 .ah26ms-ln{
    white-space: nowrap;
  }
  .contents03_02_02 .ah26ms-ln-mask:nth-of-type(1) .ah26ms-ln{
    letter-spacing: calc((92/1000)*1em);
  }
  .contents03_02_02 .ah26ms-ln-mask:nth-of-type(2) .ah26ms-ln{
    letter-spacing: calc((65/1000)*1em);
  }
  .contents03_02_02 .ah26ms-ln-mask:nth-of-type(3) .ah26ms-ln{
    letter-spacing: calc((66/1000)*1em);
  }
  .contents03_02_02 .ah26ms-ln-mask:nth-of-type(4) .ah26ms-ln{
    letter-spacing: calc((42/1000)*1em);
  }
  .contents03_02_02 .ah26ms-ln-mask:nth-of-type(5) .ah26ms-ln{
    letter-spacing: calc((17/1000)*1em);
  }
  .contents03_02_02 .ah26ms-ln-mask:nth-of-type(6) .ah26ms-ln{
    letter-spacing: calc((0/1000)*1em);
    text-align-last: left;
  }

  /*三つ目のbox*/
  .contents04_04_02 .ah26ms-ln{
    white-space: nowrap;
  }
  .contents04_04_02 .ah26ms-ln-mask:nth-of-type(1) .ah26ms-ln{
    letter-spacing: calc((76/1000)*1em);
  }
  .contents04_04_02 .ah26ms-ln-mask:nth-of-type(2) .ah26ms-ln{
    letter-spacing: calc((64/1000)*1em);
  }
  .contents04_04_02 .ah26ms-ln-mask:nth-of-type(3) .ah26ms-ln{
    letter-spacing: calc((2/1000)*1em);
  }
  .contents04_04_02 .ah26ms-ln-mask:nth-of-type(4) .ah26ms-ln{
    letter-spacing: calc((132/1000)*1em);
  }
  .contents04_04_02 .ah26ms-ln-mask:nth-of-type(5) .ah26ms-ln{
    letter-spacing: calc((30/1000)*1em);
  }
  .contents04_04_02 .ah26ms-ln-mask:nth-of-type(6) .ah26ms-ln{
    letter-spacing: calc((51/1000)*1em);
  }
  .contents04_04_02 .ah26ms-ln-mask:nth-of-type(7) .ah26ms-ln{
    letter-spacing: calc((0/1000)*1em);
    text-align-last: left;
  }

  .contents02_04_02 span{
    text-align: left;
    text-align-last: left;
    white-space: nowrap;
  }
  .contents02_04_02 span:nth-of-type(1){
    letter-spacing: calc((73/1000)*1em);
  }
  .contents02_04_02 span:nth-of-type(2){
    letter-spacing: calc((9/1000)*1em);
  }
  .contents02_04_02 span:nth-of-type(3){
    letter-spacing: calc((28/1000)*1em);
  }
  .contents02_04_02 span:nth-of-type(4){
    letter-spacing: calc((3/1000)*1em);
  }
  .contents02_04_02 span:nth-of-type(5){
    letter-spacing: calc((0/1000)*1em);
  }

  .contents04_02_02 span{
    text-align: left;
    text-align-last: left;
    white-space: nowrap;
  }
  .contents04_02_02 span:nth-of-type(1){
    letter-spacing: calc((64/1000)*1em);
  }
  .contents04_02_02 span:nth-of-type(2){
    letter-spacing: calc((90/1000)*1em);
  }
  .contents04_02_02 span:nth-of-type(3){
    letter-spacing: calc((100/1000)*1em);
  }
  .contents04_02_02 span:nth-of-type(4){
    letter-spacing: calc((69/1000)*1em);
  }
  .contents04_02_02 span:nth-of-type(5){
    letter-spacing: calc((80/1000)*1em);
  }
  .contents04_02_02 span:nth-of-type(6){
    letter-spacing: calc((0/1000)*1em);
  }

  /* PC inline panel は SP では使わない（モーダルへ） */
  .ah26ms-cre_panel {
    display: none;
  }
  .js-cre-toggle {
    left: calc(var(--base-size) * 1.2);
    bottom: calc(var(--base-size) * 1.2);
    width: calc(var(--base-size) * 2.0);
    height: calc(var(--base-size) * 2.0);
  }
  .js-cre-toggle::before,
  .js-cre-toggle::after {
    width: calc(var(--base-size) * 2.0);
  }

  /* SP modal */
  /* モーダルはふわっと表示/クローズ（オーバーレイはフェード、中身は軽く上へ立ち上がる） */
  .ah26ms-modal {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition:
      opacity 0.45s ease,
      visibility 0s 0.45s;
  }
  .ah26ms-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition:
      opacity 0.45s ease,
      visibility 0s 0s;
  }
  .ah26ms-modal_overlay {
    position: absolute;
    inset: 0;
    background: #fff;
  }
  .ah26ms-modal_inner {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    transform: translateY(calc(var(--base-size) * 2.0));
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .ah26ms-modal.is-open .ah26ms-modal_inner {
    transform: translateY(0);
  }
  .ah26ms-modal_close {
    position: absolute;
    top: calc(var(--base-size) * 1.4);
    right: calc(var(--base-size) * 1.4);
    z-index: 3;
    width: calc(var(--base-size) * 4.0);
    height: calc(var(--base-size) * 4.0);
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .ah26ms-modal_close::before,
  .ah26ms-modal_close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(var(--base-size) * 2.06);
    height: calc(var(--base-size) * 0.2);
    background: #111; /* 45°回転で×の実寸=16px四方(線太さ2px込み) */
  }
  .ah26ms-modal_close::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .ah26ms-modal_close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .ah26ms-modal_stage {
    flex: 1;
    overflow-x: hidden;
    overflow-y: auto;
    padding: calc(var(--base-size) * 6.4) calc(var(--base-size) * 2.4) calc(var(--base-size) * 9.0);
  }
  .ah26ms-modal_slide {
    transition:
      transform 0.16s ease,
      opacity 0.16s ease;
    will-change: transform, opacity;
  }
  .ah26ms-modal_fig {
    width: calc(var(--base-size) * 27.0);
    margin: 0 auto;
  }
  /* このアイテムのみ左右パディングも打ち消して画面幅フルブリード(375px) */
  .ah26ms-modal_fig.is-wide {
    width: auto;
    margin: 0 calc(var(--base-size) * -2.4);
  }
  .ah26ms-modal_fig.is-wide img {
    width: 100%;
    display: block;
  }
  .ah26ms-modal_slide .ah26ms-cre_list {
    width: calc(var(--base-size) * 22.5);
    margin: calc(var(--base-size) * 2.8) auto 0;
    color: #111;
    justify-content: space-between;
    column-gap: calc(var(--base-size) * 1.2);
    row-gap: calc(var(--base-size) * 0.8);
  }
  .ah26ms-modal_slide .ah26ms-cre_list .txt,
  .ah26ms-modal_slide .ah26ms-cre_list .buy {
    font-size: calc(var(--base-size) * 1.3);
    line-height: 1.5;
  }
  .ah26ms-modal_prev,
  .ah26ms-modal_next {
    position: absolute;
    bottom: calc(var(--base-size) * 2.2);
    z-index: 3;
    width: calc(var(--base-size) * 4.4);
    height: calc(var(--base-size) * 4.4);
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .ah26ms-modal_prev {
    left: calc(var(--base-size) * 1.4);
  }
  .ah26ms-modal_next {
    right: calc(var(--base-size) * 1.4);
  }
  .ah26ms-modal_prev::before,
  .ah26ms-modal_next::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(var(--base-size) * 1.4);
    height: calc(var(--base-size) * 1.4);
    border-top: calc(var(--base-size) * 0.2) solid #111;
    border-right: calc(var(--base-size) * 0.2) solid #111;
  }
  .ah26ms-modal_prev::before {
    transform: translate(-30%, -50%) rotate(-135deg);
  }
  .ah26ms-modal_next::before {
    transform: translate(-70%, -50%) rotate(45deg);
  }
}
