/* ===============================
   基本設定
================================ */
body {
 margin: 0;
 color: #333;
 line-height: 1.8;
}
.takuhai figure {
 margin: 0;
}
img {
 max-width: 100%;
 height: auto;
 display: block;
}
a {
 color: inherit;
 text-decoration: none;
}
section.takuhai {
 width: 100%;
 overflow: hidden;
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-style: normal;
}
section.takuhai .gridContainer {
 width: 100%;
 max-width: 100%;
 padding-left: 5vw;
 padding-right: 0;
 margin: auto;
}
/* 共通インナー */
.takuhai_main, .takuhai_read, .takuhai_feature, .takuhai_flow, .takuhai_set, .takuhai_cp, .takuhai_kimono, .takuhai_ranking, .takuhai_scene, .kimono_point, .kimono_voice, .kimono_support, .kimono_faq, .kimono_guide {
 padding: 120px 0;
}
/* ===============================
   FV全体
================================ */
.takuhai_fv {
 width: 100%;
 background: #ffffff; /* 仮背景 */
 margin-top: 83px;
}
.takuhai_fv_inner {
 width: 100%;
 min-width: 1230px;
 position: relative;
 margin: 0 auto;
 height: 36.33vw;
}
@media screen and (max-width: 1230px) {
 .takuhai_fv_inner {
  min-width: 1230px;
  position: relative;
  margin: 0 auto;
  height: 465px;
 }
}
@media screen and (max-width: 767px) {
 .takuhai_main, .takuhai_read, .takuhai_feature, .takuhai_flow, .takuhai_set, .takuhai_cp, .takuhai_kimono, .takuhai_ranking, .takuhai_scene, .kimono_point, .kimono_voice, .kimono_support, .kimono_faq, .kimono_guide {
  padding: 60px 0;
 }
 .takuhai_fv {
  margin-top: 6.748vw;
 }
 .takuhai_fv_inner {
  min-width: 100vw;
  height: 36.33vw;
 }
}
/* ===============================
   左テキスト
================================ */
.fv_ttl {
 position: absolute;
 width: 28.6vw;
 top: 9vw;
 left: 7.5vw;
 z-index: 15;
}
.fv_read {
 position: absolute;
 width: 30.54vw;
 top: 24.8vw;
 left: 7.3vw;
 z-index: 15;
}
@media screen and (max-width: 1230px) {
 .fv_ttl {
  width: 366px;
  height: 153px;
  top: 115px;
  left: 83px;
 }
 .fv_read {
  position: absolute;
  width: 391px;
  top: 318px;
  left: 82px;
 }
}
@media screen and (max-width: 767px) {
 .fv_ttl {
  width: 29.756vw;
  height: 12.439vw;
  top: 9.35vw;
  left: 6.748vw;
 }
 .fv_read {
  position: absolute;
  width: 31.789vw;
  top: 25.854vw;
  left: 6.667vw;
 }
}
/* ===============================
   右画像
================================ */
.fv_image {
 width: 75%;
 height: 36.33vw;
 position: absolute;
 right: 0;
 z-index: 1;
}
.fv_image img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}
@media screen and (max-width: 1230px) {
 .fv_image {
  width: 75%;
  height: 465px;
 }
}
@media screen and (max-width: 767px) {
 .fv_image {
  width: 75%;
  height: 36.328vw;
 }
}
/* ===============================
   ファーストビュー
================================ */
.takuhai_main {
 background: #e5e5e5; /* 仮背景 */
 text-align: center;
 padding: 160px 0;
}
.takuhai_main figure {
 width: 420px;
 height: 520px;
 margin: 0 auto 40px;
 background: #ccc;
}
.takuhai_main h1 {
 font-size: 48px;
 letter-spacing: 0.15em;
 margin-bottom: 24px;
}
.takuhai_main p {
 font-size: 16px;
}
@media screen and (max-width: 767px) {
 .takuhai_main {
  padding: 13.008vw 0;
 }
 .takuhai_main figure {
  width: 34.146vw;
  height: 42.276vw;
  margin: 0 auto 3.25vw;
 }
 .takuhai_main h1 {
  font-size: 3.902vw;
  letter-spacing: 0.15em;
  margin-bottom: 1.951vw;
 }
 .takuhai_main p {
  font-size: 1.301vw;
 }
}
/* ===============================
   導入テキスト
================================ */
/* ===============================
   takuhai_read 全体
================================ */
.takuhai_read {
 background: url("../img/bg_read.jpg") no-repeat;
 background-size: cover;
 padding: 80px 0;
}
/* 縦書きブロック */
.takuhai_read_txt {
 max-width: 900px;
 writing-mode: vertical-rl;
 text-orientation: mixed;
 letter-spacing: 0.15em;
 font-feature-settings: initial;
 width: 818px;
 margin: 0 auto;
}
/* 見出し（縦） */
.ttl_takuhai_read {
 padding: 0 !important;
 margin-bottom: 0 !important;
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 600;
 font-size: 42px !important;
 font-weight: 500 !important;
 line-height: 1.7 !important;
 color: #668b91 !important;
 margin: 0 0 0 80px;
 background: none !important;
}
/* 本文（縦） */
.takuhai_read_txt p {
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-size: 18px;
 line-height: 1.8;
 margin: 0 0 0 40px;
 color: #668b91;
}
/* 最後の段落余白なし */
.takuhai_read_txt p:last-child {
 margin-bottom: 0;
}
@media screen and (max-width: 767px) {
 .takuhai_read {
  background: url("../img/bg_read.jpg") no-repeat;
  background-size: cover;
  padding: 4vw 0;
 }
 /* 縦書きブロック */
 .takuhai_read_txt {
  writing-mode: horizontal-tb; /* 横書きに戻す */
  width: 100%; /* スマホでは固定幅を解除して100%に */
  max-width: none; /* 最大幅の制限をリセット */
  letter-spacing: normal; /* 必要に応じて文字間隔を調整 */
  padding: 0 4vw; /* 左右に余白を作ると読みやすくなります */
 }
 /* 見出し（縦） */
 .ttl_takuhai_read {
  margin: 0 0 0 0;
  font-size: 4.5vw !important;
  text-align: center;
 }
 /* 本文（縦） */
 .takuhai_read_txt p {
  display: none;
 }
}
/* ===============================
   特徴（4カラム）
================================ */
/* ===============================
   takuhai_feature（全体）
================================ */
.takuhai_feature {
 background: #ffffff; /* 仮 */
 padding: 120px 0;
}
/* ===============================
   特徴ボックス：2 × 2
================================ */
.takuhai_feature_box {
 max-width: 670px;
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 75px 110px; /* 行・列 */
 margin: 0 auto;
}
/* 各ボックス */
.takuhai_feature_detail {
 text-align: right;
}
/* アイコン */
.takuhai_feature_detail figure {
 width: 110px;
 margin: 0 auto 20px;
}
/* タイトル */
.takuhai_feature_ttl {
 font-size: 21px;
 line-height: 1.7;
 margin-bottom: 30px;
 letter-spacing: 0.1em;
 text-align: left;
}
/* テキスト */
.takuhai_feature_txt {
 font-size: 16px;
 line-height: 1.8;
 margin-bottom: 50px;
 text-align: left;
}
/* リンク */
.takuhai_feature_detail a {
 font-size: 18px !important;
 letter-spacing: 0.1em;
 padding-bottom: 2px;
 text-align: right;
}
.takuhai_feature_detail a span {
 position: relative;
 display: inline-block;
 padding-bottom: 4px
}
.takuhai_feature_detail a span::after {
 content: "";
 position: absolute;
 bottom: 0;
 left: 0; /* 最初は左端を起点にする */
 width: 100%; /* 幅100% */
 height: 1px; /* 線の太さ */
 background-color: #000;
 /* transform（変形）でアニメーションさせる */
 /* 左から右へ縮むように設定 */
 transform-origin: right top;
 transform: scaleX(1);
 transition: transform 0.4s ease;
}
.takuhai_feature_detail a:hover span::after {
 transform: scaleX(0);
}
.takuhai_feature_box_link {
 width: 676px;
 text-align: right !important;
 margin: 0 auto 100px auto;
}
@media screen and (max-width: 767px) {
 .takuhai_feature {
  padding: 8vw 0;
 }
 /* ===============================
   特徴ボックス：2 × 2
================================ */
 .takuhai_feature_box {
  max-width: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8vw 8vw; /* 行・列 */
  margin: 0 5vw 8vw 5vw;
 }
 /* 各ボックス */
 .takuhai_feature_detail {
  text-align: right;
 }
 /* アイコン */
 .takuhai_feature_detail figure {
  width: 20vw;
  margin: 0 auto 20px;
 }
 /* タイトル */
 .takuhai_feature_ttl {
  font-size: 3.5vw;
  line-height: 1.7;
  margin-bottom: 4vw;
  letter-spacing: 0.1em;
  text-align: center;
 }
 /* テキスト */
 .takuhai_feature_txt {
  display: none;
 }
 /* リンク */
 .takuhai_feature_detail a {
  font-size: 3.5vw !important;
  text-align: center;
 }
 .takuhai_feature_box_link {
  width: auto;
  text-align: center !important;
  margin: 0 auto 10vw auto;
 }
}
/* ===============================
   共通CTAボタン
================================ */
.btn_blk {}
.btn_blk a {
 position: relative;
 display: inline-block;
 padding: 18px 72px 18px 40px;
 background: #000;
 color: #fff !important;
 font-size: 18px;
 letter-spacing: 0.15em;
 line-height: 1;
 transition: opacity .3s ease;
}
/* 矢印 */
.btn_blk a::after {
 content: "";
 position: absolute;
 top: 50%;
 right: 28px;
 width: 18px;
 height: 1px;
 background: #fff;
}
.btn_blk a::before {
 content: "";
 position: absolute;
 top: 50%;
 right: 28px;
 width: 6px;
 height: 6px;
 border-top: 1px solid #fff;
 border-right: 1px solid #fff;
 transform: translateY(-50%) rotate(45deg);
}
/* hover */
.btn_blk a:hover {
 opacity: 0.7;
}
/*img_sub*/
.img_sub {
 width: 100%;
 display: flex;
}
.img_sub li {
 width: 50%;
}
@media screen and (max-width: 767px) {
 .btn_blk {
  margin: 0 5vw;
 }
 .btn_blk a {
  display: block;
  padding: 18px 72px 18px 40px;
  font-size: 3.5vw;
 }
}
/* ===============================
   ご利用方法（4ステップ）
================================ */
.takuhai_flow {
 background: url("../img/bg_guide_top.png") repeat-x top left, url("../img/bg_guide_btm.png") repeat-x bottom left #e6eef0;
 background-size: auto 127px, auto 127px;
 padding: 190px 0;
}
.ttl_tate {}
/* 縦書きブロック */
.ttl_tate {
 width: 73px;
 writing-mode: vertical-rl;
 text-orientation: mixed;
 font-feature-settings: initial;
 margin: 0 auto;
}
/* 見出し（縦） */
.ttl_tate h2 {
 padding: 0 !important;
 margin-bottom: 0 !important;
 font-family: "shippori-mincho-b1", sans-serif;
 font-size: 48px !important;
 font-weight: 600 !important;
 line-height: 1.7 !important;
 color: #668b91 !important;
 margin: 0 0 0 0;
 background: none !important;
 letter-spacing: 0.15em;
}
/* 本文（縦） */
.ttl_tate p {
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-size: 16px;
 line-height: 1;
 margin: 0 0 0 5px;
 color: #668b91;
 border-top: #668b91 2px solid;
 padding-top: 15px;
}
.takuhai_flow_list {
 position: relative;
 padding-top: 65px;
 max-width: 92vw;
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 1.8vw;
 padding-left: 1.8vw;
 margin-bottom: 110px;
}
.takuhai_flow_list::before {
 content: "";
 position: absolute;
 top: 90px;
 left: 0;
 width: 81.25vw;
 height: 1px;
 background: #000; /* svg線なら background-image でもOK */
}
@media screen and (max-width: 767px) {
 .takuhai_flow {
  background: url("../img/bg_guide_top.png") repeat-x top left, url("../img/bg_guide_btm.png") repeat-x bottom left #e6eef0;
  background-size: auto 60px, auto 60px;
  padding: 60px 0;
 }
 .ttl_tate {}
 /* 縦書きブロック */
 .ttl_tate {
  width: 10vw;
 }
 /* 見出し（縦） */
 .ttl_tate h2 {
  font-size: 5vw !important;
 }
 /* 本文（縦） */
 .ttl_tate p {
  font-size: 3vw;
  margin: 0 0 0 5px;
  padding-top: 15px;
 }
 .takuhai_flow_list {
  position: relative;
  padding-top: 8vw;
  max-width: 92vw;
  display: grid;
  grid-template-columns: repeat(1, 4fr);
  gap: 10vw 0;
  padding-left: 1.8vw;
  margin: 0 auto;
  margin-bottom: 15vw;
 }
 .takuhai_flow_list::before {
  content: "";
  position: absolute;
  top: 90px;
  left: 0;
  width: 81.25vw;
  height: 1px;
  background: none; /* svg線なら background-image でもOK */
 }
}
/* ===============================
   ステップ番号（黒丸）
================================ */
.flow_num {
 position: relative;
 width: 48px;
 height: 48px;
 margin: 0 auto 30px;
 background: #000;
 color: #fff;
 border-radius: 50%;
 font-size: 38px;
 font-family: "cormorant-garamond", serif;
 font-weight: 400;
 font-style: normal;
 display: flex;
 align-items: center;
 justify-content: center;
 line-height: 1;
}
.flow_num span {
 display: inline-block;
 transform: translateY(-0.08em);
}
.flow_num.n3 span, .flow_num.n4 span {
 transform: translateY(-0.18em);
}
/* 最後のステップはラインなし */
.takuhai_flow_detail:last-child .flow_num::after {
 display: none;
}
.flow_sttl {
 text-align: center;
 background: none !important;
 font-size: 21px !important;
 margin-bottom: 35px;
}
.flow_img {
 margin-bottom: 20px !important;
}
.flow_img img {
 padding: 0 10px;
}
.flow_txt {
 font-size: 16px;
}
.flow_souryou {
 width: 733px;
 margin: 0 auto;
}
@media screen and (max-width: 767px) {
 .flow_num {
  position: relative;
  width: 48px;
  height: 48px;
  margin: 0 auto 3vw;
  background: #000;
  color: #fff;
  border-radius: 50%;
  font-size: 38px;
  font-family: "cormorant-garamond", serif;
  font-weight: 400;
  font-style: normal;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
 }
 .flow_num span {
  display: inline-block;
  transform: translateY(-0.08em);
 }
 .flow_num.n3 span, .flow_num.n4 span {
  transform: translateY(-0.18em);
 }
 /* 最後のステップはラインなし */
 .takuhai_flow_detail:last-child .flow_num::after {
  display: none;
 }
 .flow_sttl {
  text-align: center;
  background: none !important;
  font-size: 4vw !important;
  margin-bottom: 5vw;
 }
 .flow_img {
  margin-bottom: 5vw !important;
 }
 .flow_img img {
  padding: 0 10px;
 }
 .flow_txt {
  font-size: 16px;
 }
 .flow_souryou {
  width: auto;
  margin: 0 5vw;
 }
}
/* ===============================
   セット内容
================================ */
.takuhai_set {
 background: #ffffff;
 text-align: center;
 padding-bottom: 180px;
}
.takuhai_set_inner {
 width: 812px;
 height: 700px;
 margin: 0 auto;
 position: relative;
 background-image: url("../img/set_img_1.jpg"), url("../img/set_img_2.jpg");
 background-repeat:
  no-repeat, no-repeat;
 background-position:
  215px 26px, left top;
 background-size:
  457px 114px, 306px 405px;
}
.takuhai_set_ttl {
 position: absolute;
 width: 360px;
 top: 175px;
 right: 0;
 height: 240px;
 text-align: right;
}
.ttl_yoko {
 position: relative;
 width: 265px;
 height: 135px;
 display: inline-block;
}
/* 見出し（縦） */
.ttl_yoko h2 {
 padding: 35px 20px 0 0 !important;
 margin-bottom: 0 !important;
 font-family: "shippori-mincho-b1", sans-serif;
 font-size: 48px !important;
 font-weight: 600 !important;
 line-height: 1.7 !important;
 color: #30363e !important;
 margin: 0 0 0 0;
 background: none !important;
 letter-spacing: 0.15em;
}
/* 本文（縦） */
.ttl_yoko p {
 writing-mode: vertical-rl;
 text-orientation: mixed;
 font-feature-settings: initial;
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-size: 16px;
 line-height: 1;
 margin: 0 0 0 5px;
 color: #30363e;
 border-top: #30363e 2px solid;
 padding-top: 10px;
 position: absolute;
 letter-spacing: 0;
 top: 0;
 right: 0;
}
.takuhai_set_sttl {
 font-size: 21px;
 margin-bottom: 20px;
 text-align: left;
}
.takuhai_set_stxt {
 font-size: 16px;
 text-align: left;
}
.set_detail {
 max-width: 900px;
 margin: 40px auto 0;
 position: absolute;
 top: 460px;
 width: 900px;
 text-align: left;
}
.vertical_list {
 writing-mode: vertical-rl; /* 縦書き・右→左 */
 text-orientation: mixed;
 font-feature-settings: initial;
 list-style: none; /* デフォルトの黒丸を消す */
 padding: 0;
 margin: 0;
 line-height: 2.5; /* 読みやすさ */
 letter-spacing: 0.05em; /* 縦組み用微調整 */
}
.vertical_list li {
 padding-inline-start: 1em; /* 「・」分の余白 */
 text-indent: -1em; /* 行頭に「・」を出す */
 white-space: nowrap;
 /* 折り返し防止 */
}
@media screen and (max-width: 767px) {
 .takuhai_set {
  background: #ffffff;
  text-align: center;
  padding-bottom: 5vw;
 }
 .takuhai_set_inner {
  width: 90vw;
  height: 150vw;
  margin: 0 auto;
  position: relative;
  background-image: url("../img/set_img_1.jpg"), url("../img/set_img_2.jpg");
  background-repeat:
   no-repeat, no-repeat;
  background-position:
   17.4vw 2.1vw, left top;
  background-size:
   37vw 9.2vw, 24.8vw 33vw;
 }
 .takuhai_set_ttl {
  position: absolute;
  width: 100%;
  top: 9vw;
  right: 0;
  height: 240px;
  text-align: right;
 }
 .ttl_yoko {
  position: relative;
  width: 265px;
  height: 135px;
  display: inline-block;
 }
 /* 見出し（縦） */
 .ttl_yoko h2 {
  padding: 35px 20px 0 0 !important;
  margin-bottom: 0 !important;
  font-family: "shippori-mincho-b1", sans-serif;
  font-size: 5vw !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  color: #30363e !important;
  margin: 0 0 0 0;
  background: none !important;
  letter-spacing: 0.15em;
 }
 /* 本文（縦） */
 .ttl_yoko p {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-feature-settings: initial;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-size: 3vw;
  line-height: 1;
  margin: 0 0 0 5px;
  color: #30363e;
  border-top: #30363e 2px solid;
  padding-top: 10px;
  position: absolute;
  letter-spacing: 0;
  top: 0;
  right: 0;
 }
 .takuhai_set_sttl {
  font-size: 3.8vw;
  margin-bottom: 20px;
  text-align: center;
 }
 .takuhai_set_stxt {
  font-size: 3.5vw;
  text-align: center;
 }
 .set_detail {
  max-width: auto;
  margin: 40px auto 0;
  position: absolute;
  top: 55vw;
  left: 0;
  width: 90vw;
  text-align: left;
 }
 .vertical_list {
  font-size: 3vw;
  writing-mode: horizontal-tb; /* 縦書き・右→左 */
  text-orientation: mixed;
  font-feature-settings: initial;
  list-style: none; /* デフォルトの黒丸を消す */
  padding: 0;
  margin: 0;
  line-height: 2; /* 読みやすさ */
  letter-spacing: 0.05em; /* 縦組み用微調整 */
 }
 .vertical_list li {
  padding-inline-start: 1em; /* 「・」分の余白 */
  text-indent: -1em; /* 行頭に「・」を出す */
  white-space: nowrap;
  /* 折り返し防止 */
 }
 .vertical_list {
  column-count: 2; /* 2列に分割 */
  column-gap: 3vw; /* 列と列の間の余白 */
  list-style: none; /* デフォルトのポッチを消す場合 */
  padding: 0;
 }
 .vertical_list li {
  break-inside: avoid; /* 項目が途中で泣き別れしないようにする */
  margin-bottom: 5px;
 }
}
/* ===============================
   キャンペーン・ランキング（スライダー枠）
================================ */
.takuhai_cp {
 padding-top: 0;
}
.takuhai_ranking {
 padding-top: 200px;
}
.slider ul {
 max-width: 1200px;
 margin: 0 auto;
 display: flex;
}
.ttl_yoko2 {
 max-width: 1200px;
 margin: 0 auto 70px auto;
 display: flex;
 justify-content: flex-start;
 align-items: center;
}
.ttl_yoko2 h2 {
 padding: 0 30px 0 0 !important;
 margin-bottom: 0 !important;
 font-family: "shippori-mincho-b1", sans-serif;
 font-size: 48px !important;
 font-weight: 600 !important;
 line-height: 1.7 !important;
 color: #30363e !important;
 margin: 0 0 0 0;
 background: none !important;
 letter-spacing: 0.15em;
}
.ttl_yoko2 p {
 font-size: 16px;
 padding-left: 15px;
 border-left: #30363e 1px solid;
 line-height: 1;
}
/* スライダー全体 */
/* --- 共通設定 --- */
.swiper {
 width: 100%;
 overflow: visible !important; /* 右側を画面端まで突き抜けさせる */
 box-sizing: border-box;
 margin-bottom: 60px; /* スライダー間の隙間 */
}
.swiper-wrapper {
 padding: 0;
 margin: 0;
}
.swiper-slide {
 list-style: none;
}
.swiper-slide img {
 width: 100%;
 object-fit: cover;
 display: block;
}
/* --- 1つ目：キャンペーン用 (400x300) --- */
.slider-cp {
 padding-left: 80px; /* 左側の固定余白 */
}
.slider-cp .swiper-slide {
 width: 400px;
}
.slider-cp .swiper-slide img {
 height: 300px;
}
/* --- 2つ目：ランキング用 (245x380) --- */
.slider-ranking {
 padding-left: 80px; /* 左側の固定余白 */
}
.slider-ranking .swiper-slide {
 width: 245px;
}
.slider-ranking .swiper-slide img {
 height: 380px;
}

.cp_bnr{
	max-width: 1200px;
  margin: 0 auto 70px auto;
	padding-left: 80px;
}

.cp_bnr a{
	display: block;
width: 450px!important;
}
@media screen and (max-width: 767px) {
 .takuhai_ranking {
  padding-top: 20vw;
 }
 .slider ul {
  max-width: auto;
  margin: 0 5vw;
  display: flex;
 }
 .ttl_yoko2 {
  max-width: auto;
  margin: 0 5vw 8vw 5vw;
  display: flex;
  justify-content: flex-start;
  align-items: center;
 }
 .ttl_yoko2 h2 {
  padding: 0 6vw 0 0 !important;
  margin-bottom: 0 !important;
  font-family: "shippori-mincho-b1", sans-serif;
  font-size: 5vw !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  color: #30363e !important;
  margin: 0 0 0 0;
  background: none !important;
  letter-spacing: 0.15em;
 }
 .ttl_yoko2 p {
  font-size: 3vw;
  padding-left: 4vw;
  border-left: #30363e 1px solid;
  line-height: 1;
 }
 /* スライダー全体 */
 /* --- 共通設定 --- */
 .swiper {
  width: 100%;
  overflow: visible !important; /* 右側を画面端まで突き抜けさせる */
  box-sizing: border-box;
  margin-bottom: 10vw; /* スライダー間の隙間 */
 }
 .swiper-wrapper {
  padding: 0;
  margin: 0;
 }
 .swiper-slide {
  list-style: none;
 }
 .swiper-slide img {
  width: 100%;
  object-fit: cover;
  display: block;
 }
 /* --- 1つ目：キャンペーン用 (400x300) --- */
 .slider-cp {
  padding-left: 5vw; /* 左側の固定余白 */
 }
 .slider-cp .swiper-slide {
  width: 400px;
 }
 .slider-cp .swiper-slide img {
  height: 300px;
 }
 /* --- 2つ目：ランキング用 (245x380) --- */
 .slider-ranking {
  padding-left: 5vw; /* 左側の固定余白 */
 }
 .slider-ranking .swiper-slide {
  width: 245px;
 }
 .slider-ranking .swiper-slide img {
  height: 380px;
 }
	
	.cp_bnr{
	padding-left: 5vw;
	width: auto;
}
	
	.cp_bnr{
	max-width: auto;
  margin: 0 5vw 70px 5vw;
	padding-left: 0;
}

.cp_bnr a{
	display: block;
width:auto!important;
}
}
/* ===============================
   着物一覧（5カラム）
================================ */
.takuhai_kimono {
 background: url("../img/bg_kimono.jpg") no-repeat center center;
 background-size: cover;
 position: relative;
 min-width: 1280px;
 padding: 118px 0;
}
.takuhai_kimono_outer {
 position: relative;
}
.kumo1 {
 position: absolute;
 top: 33px;
 left: 0;
 margin-left: -84px;
 width: 662px;
 opacity: 0.5;
}
.kumo2 {
 position: absolute;
 top: 475px;
 right: 0;
 margin-right: -182px;
 width: 662px;
 opacity: 0.5;
}
.takuhai_kimono_list {
 max-width: 795px;
 margin: 0 auto;
 display: grid;
 grid-template-columns: repeat(5, 1fr);
 gap: 48px;
}
/* 縦書きブロック */
.ttl_tate2 {
 width: 73px;
 writing-mode: vertical-rl;
 text-orientation: mixed;
 font-feature-settings: initial;
 position: absolute;
 top: 116px;
 left: 90px;
}
/* 見出し（縦） */
.ttl_tate2 h2 {
 padding: 0 !important;
 margin-bottom: 0 !important;
 font-family: "shippori-mincho-b1", sans-serif;
 font-size: 48px !important;
 font-weight: 600 !important;
 line-height: 1.7 !important;
 color: #fff !important;
 margin: 0 0 0 0;
 background: none !important;
 letter-spacing: 0.15em;
}
/* 本文（縦） */
.ttl_tate2 p {
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-size: 16px;
 line-height: 1;
 margin: 0 0 0 5px;
 color: #fff;
 border-top: #fff 2px solid;
 padding-top: 15px;
}
.kimono_img {
 width: 120px;
 margin-bottom: 50px !important;
}
.takuhai_kimono_kind {
 writing-mode: vertical-rl;
 text-orientation: mixed;
 font-feature-settings: initial;
 margin-bottom: 30px;
}
/* 見出し（縦） */
.kimono_ttl {
 padding: 0 !important;
 margin-bottom: 0 !important;
 font-family: "shippori-mincho-b1", sans-serif;
 font-size: 21px !important;
 font-weight: 600 !important;
 line-height: 1.5 !important;
 color: #000000 !important;
 margin: 0 0 0 10px;
 background: none !important;
 letter-spacing: 0.15em;
 border-right: #000000 1px solid;
 position: relative;
 display: inline-block; /* ← 重要 */
}
/* 文字高さぴったりの縦線 */
.kimono_ttl::after {
 content: "";
 position: absolute;
 top: 0.15em; /* 上下を微調整 */
 bottom: 0.15em;
 right: 0;
 width: 1px;
 background-color: #000;
}
/* 本文（縦） */
.kimono_txt {
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-size: 16px;
 line-height: 1.5;
 color: #000000;
 height: 330px;
}
.kimono_link {
 position: relative;
 display: inline-block;
 writing-mode: vertical-rl;
 text-orientation: mixed;
 font-feature-settings: initial;
 font-family: "shippori-mincho-b1", sans-serif;
 font-size: 18px;
 font-weight: 600;
 letter-spacing: 0.15em;
 color: #fff !important;
 text-decoration: none;
 background: #000;
 padding: 40px 8px 70px 8px; /* 下に矢印分の余白 */
}
/* 縦線（矢印の軸） */
.kimono_link::before {
 content: "";
 position: absolute;
 left: 50%;
 bottom: 30px;
 width: 1px;
 height: 18px;
 background-color: #fff;
 transform: translateX(-50%);
}
/* 矢印先端 */
.kimono_link::after {
 content: "";
 position: absolute;
 left: 50%;
 bottom: 30px;
 width: 6px;
 height: 6px;
 border-right: 1px solid #fff;
 border-bottom: 1px solid #fff;
 transform: translateX(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
 .takuhai_kimono {
  background: url("../img/bg_kimono.jpg") no-repeat center center;
  background-size: cover;
  position: relative;
  min-width: auto;
  padding: 50vw 0 5vw 0;
 }
 .takuhai_kimono_outer {
  position: relative;
 }
 .kumo1 {
  position: absolute;
  top: 33px;
  left: 0;
  margin-left: -84px;
  width: 60vw;
  opacity: 0.5;
 }
 .kumo2 {
  position: absolute;
  top: 475px;
  right: 0;
  margin-right: -182px;
  width: 60vw;
  opacity: 0.5;
 }
 .takuhai_kimono_list {
  max-width: auto;
  margin: 0 5vw;
  display: block;
 }
 .takuhai_kimono_detail {
  margin-bottom: 15vw;
 }
 /* 縦書きブロック */
 .ttl_tate2 {
  width: 10vw;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-feature-settings: initial;
  position: absolute;
  top: 10vw;
  left: 50%;
  transform: translateX(-50%);
 }
 /* 見出し（縦） */
 .ttl_tate2 h2 {
  padding: 0 !important;
  margin-bottom: 0 !important;
  font-family: "shippori-mincho-b1", sans-serif;
  font-size: 5vw !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  color: #fff !important;
  margin: 0 0 0 0;
  background: none !important;
  letter-spacing: 0.15em;
 }
 /* 本文（縦） */
 .ttl_tate2 p {
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-size: 3vw;
  line-height: 1;
  margin: 0 0 0 5px;
  color: #fff;
  border-top: #fff 2px solid;
  padding-top: 15px;
 }
 .kimono_img {
  width: 15vw;
  height: 30vw;
  margin-bottom: 0 !important;
  display: inline-block;
  margin-right: 3vw !important;
  vertical-align: top;
 }
 .kimono_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
 }
 .takuhai_kimono_kind {
  writing-mode: horizontal-tb;
  text-orientation: none;
  font-feature-settings: initial;
  margin-bottom: 30px;
  display: inline-block;
  width: 70vw;
  height: 30vw;
 }
 /* 見出し（縦） */
 .kimono_ttl {
  padding: 0 !important;
  margin-bottom: 0 !important;
  font-family: "shippori-mincho-b1", sans-serif;
  font-size: 4.5vw !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  color: #000000 !important;
  margin: 0 0 4vw 0;
  background: none !important;
  letter-spacing: 0.15em;
  border-right: none !important;
  position: relative;
  display: inline-block; /* ← 重要 */
 }
 /* 文字高さぴったりの縦線 */
 .kimono_ttl::after {
  content: "";
  position: absolute;
  top: 0; /* 上下を微調整 */
  bottom: 0;
  right: 0;
  width: 0;
  background-color: none !important;
 }
 /* 本文（縦） */
 .kimono_txt {
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-size: 3.2vw;
  line-height: 1.5;
  color: #000000;
  height: 330px;
  padding-top: 2vw;
 }
 .kimono_link {
  position: relative;
  display: block;
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  font-feature-settings: initial;
  font-size: 3.6vw;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: #fff !important;
  text-decoration: none;
  background: #000;
  text-align: center;
  padding: 2vw 2vw 2vw 2vw; /* 下に矢印分の余白 */
 }
 .kimono_link::before {
  left: auto; /* 中央寄せを解除 */
  right: 15px; /* 右端からの位置 */
  bottom: 50%; /* 上下中央へ */
  width: 18px; /* 縦線を横線の長さに */
  height: 1px; /* 厚みを1pxに */
  transform: translateY(50%); /* 垂直中央補正 */
 }
 /* 矢印の先端（右向きに変更） */
 .kimono_link::after {
  left: auto; /* 中央寄せを解除 */
  right: 15px; /* 軸の先端に合わせる */
  bottom: 50%; /* 上下中央へ */
  width: 6px;
  height: 6px;
  /* 45deg(下向き) から -45deg(右向き) へ回転 */
  transform: translateY(50%) rotate(-45deg);
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
 }
}
/* ===============================
   利用シーン
================================ */
.takuhai_scene {
 padding-top: 0;
 background:
  url("../img/bg_scene.png") no-repeat calc(100% + 120px) 75px / 662px auto, url("../img/bg_scene2.png") no-repeat -68px 1900px / 503px auto, url("../img/bg_point.png") no-repeat calc(100% + 250px) 2400px / 662px auto;
}
.ttl_yoko3 {
 max-width: 1200px;
 margin: 0 auto 70px auto;
}
.ttl_yoko3 h2 {
 padding: 0 30px 0 35px !important;
 margin-bottom: 0 !important;
 font-family: "shippori-mincho-b1", sans-serif;
 font-size: 48px !important;
 font-weight: 600 !important;
 line-height: 1.7 !important;
 color: #30363e !important;
 margin: 0 0 0 0;
 background: none !important;
 letter-spacing: 0.15em;
}
.ttl_yoko3 p {
 font-size: 16px;
 padding-left: 15px;
 border-left: #30363e 1px solid;
 line-height: 1;
 font-family: "cormorant-garamond", serif;
 font-weight: 400;
 font-style: normal;
}
.takuhai_scene_list {
 max-width: 1200px;
 margin: 0 auto;
}
.takuhai_scene_detail {
 margin-bottom: 60px;
 height: 502px;
 position: relative;
}
.takuhai_scene_detail figure {
 position: absolute;
 width: 665px;
}
.takuhai_scene_detail .takuhai_scene_detail_box {
 position: absolute;
 width: 636px;
 height: 402px;
 background: #fff;
 padding: 63px 80px;
 box-sizing: border-box;
}
.takuhai_scene_detail .takuhai_scene_detail_box::before {
 content: "";
 position: absolute;
 left: 0;
 top: 118px;
 width: 56px;
 height: 1px;
 background: #30363e;
}
.scene_en {
 font-size: 20px;
 font-family: "cormorant-garamond", serif;
 font-weight: 400;
 font-style: normal;
 line-height: 1.4;
}
.scene_ttl {
 font-size: 32px !important;
 background: none !important;
 padding: 0 !important;
 margin: 0 0 50px 0 !important;
}
.scene_txt {
 font-size: 16px;
 margin-bottom: 50px;
}
.scene_kind {
 display: flex;
 justify-content: flex-start;
 gap: 15px;
}
.scene_kind li {
 width: 82px;
 height: 28px;
 font-size: 14px;
 display: flex;
 justify-content: center;
 align-items: center;
 border: #30363e 1px solid;
}
.takuhai_scene_detail1 figure {
 top: 0;
 left: 30px;
}
.takuhai_scene_detail1 .takuhai_scene_detail_box {
 top: 100px;
 right: 0;
}
.takuhai_scene_detail2 figure {
 top: 0;
 right: 30px;
}
.takuhai_scene_detail2 .takuhai_scene_detail_box {
 top: 100px;
 left: 0;
}
.takuhai_scene_detail2 .takuhai_scene_detail_box::before {
 content: "";
 position: absolute;
 right: 0;
 left: auto;
 top: 118px;
 width: 56px;
 height: 1px;
 background: #30363e;
}
.takuhai_scene_detail2 .scene_en {
 text-align: right;
}
.takuhai_scene_detail2 .scene_ttl {
 text-align: right;
}
.takuhai_scene_detail2 .scene_kind {
 display: flex;
 justify-content: flex-end;
 gap: 15px;
}
@media screen and (max-width: 767px) {
 .takuhai_scene {
  padding-top: 0;
  padding-bottom: 30vw;
  background:
   url("../img/bg_scene.png") no-repeat calc(100% + 30vw) 0 / 60vw auto, url("../img/bg_scene2.png") no-repeat -68px 1900px / 503px auto, url("../img/bg_point.png") no-repeat calc(100% + 30vw) bottom / 60vw auto;
 }
 .ttl_yoko3 {
  max-width: auto;
  margin: 0 5vw 70px 5vw;
 }
 .ttl_yoko3 h2 {
  padding: 0 0 0 6vw !important;
  margin-bottom: 0 !important;
  font-family: "shippori-mincho-b1", sans-serif;
  font-size: 5vw !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  color: #30363e !important;
  margin: 0 0 0 0;
  background: none !important;
  letter-spacing: 0.15em;
 }
 .ttl_yoko3 p {
  font-size: 3vw;
  padding-left: 15px;
  border-left: #30363e 1px solid;
  line-height: 1;
  font-family: "cormorant-garamond", serif;
  font-weight: 400;
  font-style: normal;
 }
 .takuhai_scene_list {
  max-width: 100%;
  margin: 0 0;
 }
 .takuhai_scene_detail {
  margin-bottom: 60px;
  height: 100vw;
  position: relative;
 }
 .takuhai_scene_detail figure {
  position: absolute;
  width: auto;
 }
 .takuhai_scene_detail .takuhai_scene_detail_box {
  position: absolute;
  width: 90vw;
  height: 90vw;
  background: #fff;
  padding: 5vw 5vw;
  box-sizing: border-box;
 }
 .takuhai_scene_detail4 {
  margin-bottom: 30vw;
  height: 75vw;
  position: relative;
 }
 .takuhai_scene_detail4 .takuhai_scene_detail_box {
  height: 75vw;
 }
 .takuhai_scene_detail .takuhai_scene_detail_box::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  background: none;
 }
 .scene_en {
  font-size: 3vw;
  font-family: "cormorant-garamond", serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
 }
 .scene_ttl {
  font-size: 5vw !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 0 6vw 0 !important;
 }
 .scene_txt {
  font-size: 3.5vw;
  margin-bottom: 6vw;
 }
 .scene_kind {
  display: flex;
  justify-content: center;
  gap: 15px;
 }
 .scene_kind li {
  width: 16vw;
  height: 7vw;
  font-size: 3vw;
  display: flex;
  justify-content: center;
  align-items: center;
  border: #30363e 1px solid;
 }
 .takuhai_scene_detail1 figure {
  top: 0;
  left: 0;
 }
 .takuhai_scene_detail1 .takuhai_scene_detail_box {
  top: 40vw;
  right: auto;
  left: 50%;
  transform: translateX(-50%);
 }
 .takuhai_scene_detail2 figure {
  top: 0;
  right: 0;
 }
 .takuhai_scene_detail2 .takuhai_scene_detail_box {
  top: 40vw;
  right: auto;
  left: 50%;
  transform: translateX(-50%);
 }
 .takuhai_scene_detail2 .takuhai_scene_detail_box::before {
  content: "";
  position: absolute;
  right: 0;
  left: auto;
  top: 0;
  width: 0;
  height: 0;
  background: none;
 }
 .takuhai_scene_detail2 .scene_en {
  text-align: left;
 }
 .takuhai_scene_detail2 .scene_ttl {
  text-align: left;
 }
 .takuhai_scene_detail2 .scene_kind {
  display: flex;
  justify-content: center;
  gap: 15px;
 }
}
/* ===============================
   ポイント解説
================================ */
.kimono_point {
 background: #ffffff;
 padding-bottom: 50px;
}
.kimono_point .ttl_yoko3 {
 max-width: 580px;
 margin: 0 auto 70px auto;
}
.kimono_point .ttl_yoko3 h2 {
 color: #668b91 !important;
}
.kimono_point .ttl_yoko3 p {
 color: #668b91;
}
.kimono_point_list {
 max-width: 1280px;
 margin: 0 auto 100px auto;
}
.kimono_point_detail {
 position: relative;
 margin-bottom: 60px;
}
.point_img_detail {
 width: 355px;
 position: absolute;
 z-index: 10;
}
.point_img_1 {
 width: 190px;
 position: absolute;
 top: 0;
 left: 0;
 background: url("../img/point_num_1.png") no-repeat right top;
 padding: 85px 27px 0 0 !important;
 text-align: left;
 background-size: 9px auto;
}
.point_img_2 {
 width: 365px;
 height: 305px;
 position: absolute;
 top: 242px;
 left: 0;
 background: url("../img/point_num_2.png") no-repeat left bottom;
 padding: 0 0 30px 193px !important;
 background-size: auto 9px;
}
.point_img_3 {
 width: 200px;
 position: absolute;
 top: 0;
 right: 0;
 background: url("../img/point_num_3.png") no-repeat left top;
 padding: 85px 0 0 35px !important;
 text-align: right;
 background-size: 17px auto;
}
.point_img_4 {
 width: 375px;
 height: 325px;
 position: absolute;
 top: 242px;
 right: 0;
 background: url("../img/point_num_4.png") no-repeat right bottom;
 padding: 0 193px 30px 0 !important;
 background-size: auto 17px;
}
.point_img_5 {
 width: 190px;
 position: absolute;
 top: 0;
 left: 0;
 background: url("../img/point_num_1.png") no-repeat right top;
 padding: 85px 27px 0 0 !important;
 text-align: left;
 background-size: 9px auto;
}
.point_img_6 {
 width: 365px;
 height: 305px;
 position: absolute;
 top: 242px;
 left: 0;
 background: url("../img/point_num_2.png") no-repeat left bottom;
 padding: 0 0 30px 193px !important;
 background-size: auto 9px;
}
.point_tbox {
 width: 696px;
 position: absolute;
 width: 1146px;
 background: #668b91;
 z-index: 5;
}
.point_ttl {
 font-size: 32px !important;
 padding: 58px 0 3px 5px !important;
 text-align: right;
 margin: 0 0 50px 0 !important;
 background: none !important;
 color: #fff !important;
}
.point_ttl span {
 font-size: 32px !important;
 border-bottom: #fff 1px solid;
 padding: 0 82px 3px 5px !important;
 text-align: right;
 background: none !important;
 color: #fff !important;
 display: inline-block;
}
.point_sttl {
 width: 386px;
 background: #fff;
 color: #668b91;
 font-size: 18px;
 padding: 0 0 0 20px;
 display: inline-block;
 box-sizing: border-box;
 line-height: 1.2;
 margin-bottom: 15px;
 letter-spacing: 2px;
}
.point_txt {
 color: #fff;
 font-size: 16px;
 margin-bottom: 35px;
 width: 554px;
 margin-left: 54px;
}
/*各ブロック用*/
.kimono_point_detail1 {
 margin-left: 135px;
 height: 582px;
}
.kimono_point_detail1 .point_img_detail {
 position: absolute;
 left: 0;
 top: 0;
}
.kimono_point_detail1 .point_tbox {
 height: 582px;
 top: 0;
 right: 0;
 padding-left: 458px;
}
.kimono_point_detail2 {
 margin-right: 135px;
 height: 498px;
 margin-bottom: 120px;
}
.kimono_point_detail2 .point_img_detail {
 position: absolute;
 right: 0;
 top: 0;
}
.kimono_point_detail2 .point_tbox {
 top: 0;
 left: 0;
 height: 520px;
}
.kimono_point_detail2 .point_ttl {
 font-size: 32px !important;
 padding: 58px 0 3px 0 !important;
 text-align: left;
 margin: 0 0 10px 0 !important;
 background: none !important;
 color: #fff !important;
}
.kimono_point_detail2 .point_ttl span {
 font-size: 32px !important;
 border-bottom: #fff 1px solid;
 padding: 0 40px 3px 82px !important;
 text-align: left;
 background: none !important;
 color: #fff !important;
 display: inline-block;
}
.kimono_point_detail2 .point_read {
 font-size: 16px;
 color: #fff;
 padding: 0 0 50px 25px;
}
.kimono_point_detail2 .point_sttl {
 margin-left: 25px;
}
.kimono_point_detail2 .point_txt {
 margin-left: 85px;
}
.kimono_point_detail3 {
 margin-left: 135px;
 height: 550px;
}
.kimono_point_detail3 .point_img_detail {
 position: absolute;
 left: 0;
 top: 0;
}
.kimono_point_detail3 .point_tbox {
 height: 370px;
 top: 0;
 right: 0;
}
.kimono_point_detail3 .point_read {
 font-size: 16px;
 color: #fff;
 width: 640px;
 box-sizing: border-box;
 margin: 0 0 0 500px;
 padding-right: 90px;
}
.kimono_link_detail .btn_blk {
 text-align: center !important;
}
@media screen and (max-width: 767px) {
 .kimono_point {
  padding-bottom: 10vw;
 }
 .kimono_point .ttl_yoko3 {
  max-width: 100%;
  margin: 0 5vw 10vw 5vw;
 }
 .kimono_point .ttl_yoko3 h2 {
  color: #668b91 !important;
 }
 .kimono_point .ttl_yoko3 p {
  color: #668b91;
 }
 .kimono_point_list {
  max-width: 100%;
  margin: 0 auto 10vw auto;
 }
 .kimono_point_detail {
  position: relative;
  margin-bottom: 60px;
  background: #668b91;
 }
 .point_img_detail {
  width: 355px;
  position: absolute;
  z-index: 10;
 }
 .point_img_1 {
  width: 190px;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/point_num_1.png") no-repeat right top;
  padding: 85px 27px 0 0 !important;
  text-align: left;
  background-size: 9px auto;
 }
 .point_img_2 {
  width: 365px;
  height: 305px;
  position: absolute;
  top: 242px;
  left: 0;
  background: url("../img/point_num_2.png") no-repeat left bottom;
  padding: 0 0 30px 193px !important;
  background-size: auto 9px;
 }
 .point_img_3 {
  width: 200px;
  position: absolute;
  top: 0;
  right: 0;
  background: url("../img/point_num_3.png") no-repeat left top;
  padding: 85px 0 0 35px !important;
  text-align: right;
  background-size: 17px auto;
 }
 .point_img_4 {
  width: 375px;
  height: 325px;
  position: absolute;
  top: 242px;
  right: 0;
  background: url("../img/point_num_4.png") no-repeat right bottom;
  padding: 0 193px 30px 0 !important;
  background-size: auto 17px;
 }
 .point_img_5 {
  width: 190px;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/point_num_1.png") no-repeat right top;
  padding: 85px 27px 0 0 !important;
  text-align: left;
  background-size: 9px auto;
 }
 .point_img_6 {
  width: 365px;
  height: 305px;
  position: absolute;
  top: 242px;
  left: 0;
  background: url("../img/point_num_2.png") no-repeat left bottom;
  padding: 0 0 30px 193px !important;
  background-size: auto 9px;
 }
 .point_tbox {
  position: inherit;
  width: auto;
  background: #668b91;
  z-index: 5;
  margin: 0 5vw;
 }
 .point_ttl {
  font-size: 5vw !important;
  padding: 8vw 0 0 0 !important;
  text-align: left;
  margin: 0 0 5vw 0 !important;
  background: none !important;
  color: #fff !important;
 }
 .point_ttl span {
  font-size: 5vw !important;
  border-bottom: #fff 1px solid;
  padding: 0 0 0 0 !important;
  text-align: left;
  background: none !important;
  color: #fff !important;
  display: inline-block;
 }
 .point_sttl {
  width: auto;
  background: #fff;
  color: #668b91;
  font-size: 4vw;
  padding: 0 20px 0 20px;
  display: inline-block;
  box-sizing: border-box;
  line-height: 1.2;
  margin-bottom: 5vw;
  letter-spacing: 2px;
 }
 .point_txt {
  color: #fff;
  font-size: 3.2vw;
  margin-bottom: 6vw;
  width: auto;
  margin-left: 0;
 }
 /*各ブロック用*/
 .kimono_point_detail1 {
  margin-left: 0;
  height: auto;
  padding-bottom: 90vw;
 }
 .kimono_point_detail1 .point_img_detail {
  position: absolute;
  left: 0;
  top: 0;
 }
 .kimono_point_detail1 .point_img {
  position: absolute;
  left: 50%;
  bottom: 5vw;
  transform: translateX(-50%);
  width: 385px;
  height: 550px;
 }
 .kimono_point_detail1 .point_tbox {
  height: 115vw;
  top: 0;
  right: 0;
  padding-left: 0;
 }
 .kimono_point_detail2 {
  margin-right: 0;
  height: auto;
  padding-bottom: 90vw;
 }
 .kimono_point_detail2 .point_img_detail {
  position: absolute;
  right: 0;
  top: 0;
 }
 .kimono_point_detail2 .point_img {
  position: absolute;
  left: 50%;
  bottom: 8vw;
  transform: translateX(-50%);
  width: 385px;
  height: 550px;
 }
 .kimono_point_detail2 .point_tbox {
  height: 105vw;
  top: 0;
  left: 0;
  padding-left: 0;
 }
 .kimono_point_detail2 .point_ttl {
  font-size: 5vw !important;
  padding: 8vw 0 3px 0 !important;
  text-align: left;
  margin: 0 0 5vw 0 !important;
  background: none !important;
  color: #fff !important;
 }
 .kimono_point_detail2 .point_ttl span {
  font-size: 5vw !important;
  border-bottom: #fff 1px solid;
  padding: 0 0 3px 0 !important;
  text-align: left;
  background: none !important;
  color: #fff !important;
  display: inline-block;
 }
 .kimono_point_detail2 .point_read {
  font-size: 3.5vw;
  color: #fff;
  padding: 0 0 5vw 0;
 }
 .kimono_point_detail2 .point_sttl {
  margin-left: 0;
 }
 .kimono_point_detail2 .point_txt {
  margin-left: 0;
 }
 .kimono_point_detail3 {
  margin-left: 0;
  height: auto;
  padding-bottom: 90vw;
 }
 .kimono_point_detail3 .point_img_detail {
  position: absolute;
  left: 0;
  top: 0;
 }
 .kimono_point_detail3 .point_tbox {
  height: 72vw;
  top: 0;
  left: 0;
  padding-left: 0;
 }
 .kimono_point_detail3 .point_read {
  font-size: 16px;
  color: #fff;
  width: auto;
  box-sizing: border-box;
  margin: 0 0 0 0;
  padding-right: 0;
 }
 .kimono_link_detail .btn_blk {
  text-align: center !important;
 }
 .kimono_point_detail3 .point_img {
  position: absolute;
  left: 50%;
  bottom: 7vw;
  transform: translateX(-50%);
  width: 385px;
  height: 550px;
 }
}
/* ===============================
   お客様の声
================================ */
.kimono_voice {
 padding-top: 20px;
}
/* --- お客様の声専用設定 --- */
.slider-voice {
 padding-left: 85px; /* 【指定】最初の左余白を85pxに設定 */
 margin-bottom: 80px;
}
.slider-voice .swiper-slide {
 width: 724px; /* 指定の横幅 */
 height: 320px; /* 指定の縦幅 */
 background: #fff;
 list-style: none;
 box-sizing: border-box;
}
.voice_detial {
 width: 668px;
 height: 320px;
 background: #e6eef0;
 position: relative;
 padding: 50px 50px 0 45px;
 box-sizing: border-box;
}
.voice_cat {
 display: flex;
 justify-content: flex-start;
 align-items: center;
 color: #fff;
 line-height: 1;
 position: absolute;
 top: -10px;
 left: 15px;
}
.voice_cat strong {
 font-size: 44px;
 display: inline-block;
 margin-right: 30px;
 font-family: "cormorant-garamond", serif;
 font-weight: 400;
 font-style: normal;
}
.voice_cat span {
 display: inline-block;
 padding-top: 15px;
 font-size: 14px;
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 600;
 font-style: normal;
}
.voice_txt {
 width: 450px;
 font-size: 14px;
 line-height: 1.8;
 margin-bottom: 10px;
}
.voice_txt .fcred {
 font-size: 14px;
 color: #d1a1a1;
}
.voice_txt .fbig {
 font-size: 21px;
 letter-spacing: 3px;
}
.voice_point {
 width: 580px;
 font-size: 21px;
 letter-spacing: 3px;
 margin-bottom: 10px;
}
.voice_img {
 width: 200px;
 height: 170px;
 position: absolute;
 top: 30px;
 right: -55px;
}
@media screen and (max-width: 767px) {
 .kimono_voice {
  padding-top: 0;
 }
 /* --- お客様の声専用設定 --- */
 .slider-voice {
  padding-left: 5vw; /* 【指定】最初の左余白を85pxに設定 */
  margin-bottom: 5vw;
 }
 .slider-voice .swiper-slide {
  width: 85vw; /* 指定の横幅 */
  height: 100vw; /* 指定の縦幅 */
  background: #fff;
  list-style: none;
  box-sizing: border-box;
 }
 .voice_detial {
  width: 80vw;
  height: 100vw;
  background: #e6eef0;
  position: relative;
  padding: 8vw 3vw 0 3vw;
  box-sizing: border-box;
 }
 .voice_cat {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: #fff;
  line-height: 1;
  position: absolute;
  top: -10px;
  left: 15px;
 }
 .voice_cat strong {
  font-size: 5vw;
  display: inline-block;
  margin-right: 30px;
  font-family: "cormorant-garamond", serif;
  font-weight: 400;
  font-style: normal;
 }
 .voice_cat span {
  display: inline-block;
  padding-top: 15px;
  font-size: 3vw;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 600;
  font-style: normal;
 }
 .voice_txt {
  width: 55vw;
  font-size: 3vw;
  line-height: 1.8;
  margin-bottom: 10px;
 }
 .voice_txt .fcred {
  font-size: 3vw;
  color: #d1a1a1;
 }
 .voice_txt .fbig {
  font-size: 3.7vw;
  letter-spacing: 3px;
 }
 .voice_point {
  width: 65vw;
  font-size: 3.7vw;
  letter-spacing: 3px;
  margin-bottom: 10px;
 }
 .voice_img {
  width: 30vw;
  height: 170px;
  position: absolute;
  top: 3vw;
  right: -10vw;
 }
}
/* ===============================
  サポート
================================ */
.kimono_support {
 padding-top: 20px;
}
.kimono_support_main {
 width: 838px;
 height: 406px;
 margin: 0 auto 75px auto;
 position: relative;
 background-image: url("../img/bg_support.png"), url("../img/support_img.jpg");
 background-repeat: no-repeat, no-repeat;
 background-size: 457px auto, 306px auto;
 background-position: 162px 23px, 531px 0;
}
.kimono_support .ttl_yoko {
 position: absolute;
 top: 173px;
 left: 0;
 width: 550px;
}
.kimono_support .ttl_yoko h2 {
 margin-left: 30px;
}
.kimono_support .ttl_yoko p {
 position: absolute;
 top: 0;
 left: 0;
 width: 16px;
}
.support_read_box {
 position: absolute;
 left: 20px;
 bottom: 0;
}
.support_read {
 font-size: 21px;
 line-height: 1.8;
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-style: normal;
}
.support_txt {
 font-size: 16px;
 padding-left: 2em;
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-style: normal;
}
.support_link {
 width: 931px;
 margin: 0 auto;
 display: flex;
}
@media screen and (max-width: 767px) {
 .kimono_support {
  padding-top: 5vw;
 }
 .kimono_support_main {
  width: auto;
  height: 70vw;
  margin: 0 5vw 8vw 5vw;
  position: relative;
  background-image: url("../img/bg_support.png"), url("../img/support_img.jpg");
  background-repeat: no-repeat, no-repeat;
  background-size: 60vw auto, 32vw auto;
  background-position: 5vw 0vw, right 0;
 }
 .kimono_support .ttl_yoko {
  position: absolute;
  top: 16vw;
  left: 0;
  width: 60vw;
 }
 .kimono_support .ttl_yoko h2 {
  margin-left: 30px;
		letter-spacing: 1px;
 }
 .kimono_support .ttl_yoko p {
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
 }
 .support_read_box {
  position: absolute;
  left: 0;
  bottom: 0;
 }
 .support_read {
  font-size: 3.8vw;
  line-height: 1.8;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-style: normal;
 }
 .support_txt {
  font-size: 3.5vw;
  padding-left: 2em;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-style: normal;
 }
 .support_link {
  width: auto;
  margin: 0 5vw;
  display: flex;
 }
}
/* ===============================
   FAQ
================================ */
.kimono_faq {
 background: #fff;
}
.faq_list {
 max-width: 900px;
 margin: 0 auto;
}
.kimono_faq .ttl_yoko3 {
 width: 200px;
 margin: 0 auto;
}
.faq_list dl {
 border-bottom: 1px solid #dcdcdc;
 padding: 40px 10px;
}
.faq_list dl:last-child {
 border-bottom: none;
 padding: 40px 10px 0 10px;
}
.faq_list dt, .faq_list dd {
 position: relative;
 padding-left: 70px; /* Q/A分の余白 */
 line-height: 1.8;
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-style: normal;
}
.faq_list dt {
 font-size: 21px;
}
/* Q */
.faq_list dt::before {
 content: "Q";
 position: absolute;
 left: 0;
 top: 0;
 font-size: 28px;
 font-weight: 500;
 line-height: 1;
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-style: normal;
}
/* A */
.faq_list dd::before {
 content: "A";
 position: absolute;
 left: 0;
 top: 0;
 font-size: 28px;
 font-weight: 500;
 line-height: 1;
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-style: normal;
}
/* 質問と回答の間隔 */
.faq_list dd {
 margin-top: 40px;
 font-size: 16px;
}
@media screen and (max-width: 767px) {
 .faq_list {
  max-width: 100%;
  margin: 0 auto;
 }
 .kimono_faq .ttl_yoko3 {
  width: 33vw;
  margin: 0 auto;
 }
 .faq_list dl {
  border-bottom: 1px solid #dcdcdc;
  padding: 8vw 3vw;
  margin: 0 5vw;
 }
 .faq_list dl:last-child {
  border-bottom: none;
  padding: 8vw 3vw 0 3vw;
 }
 .faq_list dt, .faq_list dd {
  position: relative;
  padding-left: 8vw; /* Q/A分の余白 */
  line-height: 1.8;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-style: normal;
 }
 .faq_list dt {
  font-size: 3.7vw;
 }
 /* Q */
 .faq_list dt::before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 5vw;
  font-weight: 500;
  line-height: 1;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-style: normal;
 }
 /* A */
 .faq_list dd::before {
  content: "A";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 5vw;
  font-weight: 500;
  line-height: 1;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-style: normal;
 }
 /* 質問と回答の間隔 */
 .faq_list dd {
  margin-top: 3vw;
  font-size: 3.3vw;
 }
}
/* ===============================
   ガイド
================================ */
.kimono_guide {}
.guide_list {
 max-width: 1000px;
 margin: 0 auto;
 font-family: "shippori-mincho-b1", sans-serif;
 font-weight: 500;
 font-style: normal;
}
.guide_detail {
 padding: 0 0 50px 0;
}
.kimono_guide .ttl_yoko3 {
 width: 420px;
 margin: 0 auto 50px auto;
}
.guide_ttl {
 font-size: 28px !important;
 background: none !important;
 background-image: url("../img/ic_guide.svg") !important;
 background-repeat: no-repeat !important;
 /* ← 左へ20px、上へ10px 移動 */
 background-position: -35px -15px !important;
 background-size: 150px auto !important;
 padding: 45px 0 15px 90px !important;
 border-bottom: 1px solid #ddd;
 margin-bottom: 30px !important;
}
.guide_txt {
 font-size: 16px;
 line-height: 1.8;
 padding: 0 10px 0 95px;
 margin-bottom: 25px;
}
.guide_time {
 border: #000 1px solid;
 padding: 10px 20px;
 margin-left: 95px;
 margin-bottom: 25px;
 display: inline-block;
}
.guide_detail img {
 margin-left: 95px;
 margin-bottom: 25px;
}
.txt_red {
 color: #d1a1a1;
}
.img_guide_1 {
 width: 479px;
 height: auto;
}
.img_guide_2 {
 width: 431px;
 height: auto;
}
@media screen and (max-width: 767px) {
 .kimono_guide {}
 .guide_list {
  max-width: auto;
  margin: 0 5vw;
 }
 .guide_detail {
  padding: 0 0 6vw 0;
 }
 .kimono_guide .ttl_yoko3 {
  width: 46vw;
  margin: 0 auto 8vw auto;
 }
 .guide_ttl {
  font-size: 4vw !important;
  background: none !important;
  background-image: url("../img/ic_guide.svg") !important;
  background-repeat: no-repeat !important;
  /* ← 左へ20px、上へ10px 移動 */
  background-position: -5vw -2vw !important;
  background-size: 20vw auto !important;
  padding: 4.5vw 0 3vw 12vw !important;
  border-bottom: 1px solid #ddd;
  margin-bottom: 30px !important;
 }
 .guide_txt {
  font-size: 3.3vw;
  line-height: 1.8;
  padding: 0 0 0 0;
  margin-bottom: 5vw;
 }
 .guide_time {
  border: #000 1px solid;
  padding: 3vw 4vw;
  margin-left: 0;
  margin-bottom: 6vw;
  display: inline-block;
 }
 .guide_detail img {
  margin-left: 0;
  margin-bottom: 6vw;
 }
 .txt_red {
  color: #d1a1a1;
 }
 .img_guide_1 {
  width: 80vw;
  height: auto;
 }
 .img_guide_2 {
  width: 78vw;
  height: auto;
 }
}



.l_pagetop{
position: fixed;
	bottom: 50px;
	right: 30px;
	width: 31px;
	opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
}

.l_pagetop a{
	background: url("../img/pagetop.svg") no-repeat center top;
	height: 150px;
	display: block;
	text-indent: -9999px;
	overflow: hidden;
}

/* JSで付与されるクラス */
.l_pagetop.is-show {
  opacity: 1;
  visibility: visible;
}


@media screen and (max-width: 767px) {
	
	.l_pagetop{
position: fixed;
	bottom: 80px;
	right: 12px;
	width:20px;
	opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
}

.l_pagetop a{
	background: url("../img/pagetop.svg") no-repeat center top;
	background-size: contain;
	width: 20px;
	height: 100px;
	display: block;
	text-indent: -9999px;
	overflow: hidden;
}
	
}








