@charset "utf-8";

:root {
    --cr25-font-en: "Montserrat";
    --cr25-font-jp: "Noto Sans JP", sans-serif;
    --cr25-color-blk: #222222;
    --cr25-color-red: #d10000;
	--cr25-color-j-red: #de5451;
	--cr25-color-l-red: #fdeeed;
    --cr25-color-gry: #9c9e9c;
	--cr25-color-r-gry: #f2f2f2;
    --cr25-color-d-gry: #686667;
	--cr25-color-d-gld: #b3a05d;
	--cr25-color-r-gld: #f5f0e7;
	--cr25-color-beige: #d9ceac;
	--cr25-color-clm-org: rgba(239,181,127,0.5);
    --cr25-content-width: min(1200px,89.33vw);
    --cr25-button-max: min(100%,520px);
    --cr25-button-arrow: min(40px,7vw);

}
*, *::before, *::after {
  box-sizing: border-box;
}

#subsc_manual {
    background-color: #fff;
    color: var(--cr25-color-blk);
    font-family: var(--cr25-font-en), var(--cr25-font-jp);
    font-weight: 500;
    font-feature-settings: "palt";
	box-sizing: border-box;
	text-align: center;
}
#subsc_manual .sp_none {
    display: none;
}
@media screen and (min-width: 767px) {
    #subsc_manual .pc_none {
        display: none;
    }
    #subsc_manual .sp_none {
        display: inline-block;
    }
}

#subsc_manual h1{font-size: clamp(2.6rem, 2.2rem + 1.2vw, 3.4rem); font-weight: 800;}
#subsc_manual h2{font-size: clamp(2rem, 1.333rem + 1.667vw, 3rem);}
#subsc_manual h3{font-size: clamp(1.9rem, 1.7rem + 1vw, 2.5rem); letter-spacing: 2px; font-weight: 800; margin-bottom: 40px; line-height: 1.7;}
#subsc_manual h4{font-size: clamp(1.7rem, 1.55rem + 0.35vw, 1.9rem); }
#subsc_manual h5{font-size: clamp(1.7rem, 1.55rem + 0.35vw, 1.9rem);}
#subsc_manual h6{font-size: clamp(1.55rem, 1.4rem + 0.35vw, 1.75rem);}
#subsc_manual p{font-size:  clamp(1.3rem, 1.201rem + 0.292vw, 1.5rem); text-align: center; line-height: 2;}
#subsc_manual p.lead {font-size: clamp(1.4rem, 1.301rem + 0.292vw, 1.6rem); line-height: 2.27;}
#subsc_manual p.annotation{font-size: clamp(1.1rem, 1.055rem + 0.142vw, 1.2rem);}

#subsc_manual img{
	width: 100%;
}
#subsc_manual a {
    display: block;
	text-decoration: none;
	border-radius: 15px;
	color: var(--cr25-color-blk);
	padding: 10px 0;
	font-weight: 600;
}

#subsc_manual .btn-arrow {
  position: relative;
  /*display: inline-block;*/
  padding-right: 20px; /* 矢印分の余白 */
}

/* 丸＋＞ */
.btn-arrow::after {
  content: "›"; 
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background: #b3a05d;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:32px;
  font-weight: normal;
  padding-left: 3px;
  padding-bottom: 6px;
}
.btn-arrow.btn_gry::after {
  right: 15px;
  color: var(--cr25-color-d-gry);
  background: #ffffff;
}
.btn-arrow.btn_red::after {
  right: 15px;
  color: var(--cr25-color-red);
  background: #ffffff;
}
#subsc_manual #guide_3 .btn-arrow.btn_gld::after {
  right: 15px;
}
#subsc_manual #guide_6 .btn-arrow::after {
  right: 15px;
}
#subsc_manual #guide_7 .btn-arrow::after {
  right: 15px;
  color: var(--cr25-color-d-gry);
  background: #ffffff;
}
#subsc_manual #guide_8 .btn-arrow::after {
  right: 15px;
}

#subsc_manual ul{
	list-style: none;
}

#subsc_manual .content_wrap {
    width: var(--cr25-content-width);
    margin: 0 auto;
    padding: clamp(40px, 8vw, 100px) 20px;
}
#subsc_manual #mv {
    width: min(1200px,100vw);
    margin: 0 auto;
    background: url("../img/MV_pc.jpg") no-repeat center;
	background-size: cover;
	padding: 5% 0 10%;
}
#subsc_manual #mv h1 {
    text-align: center;
	letter-spacing: 2px;
	margin-bottom: 30px;
	
}

#subsc_manual #mv p{
    text-align: center;
	font-size: clamp(1.55rem, 1.4rem + 0.35vw, 1.75rem);
}

#subsc_manual .fw-bold{font-weight: bold;}
#subsc_manual .txtR{color: var(--cr25-color-red);}

#subsc_manual .content_wrap {
    width: var(--cr25-content-width);
    margin: 0 auto;
    padding: min(10vw,100px) 0;
}

#subsc_manual #entrance{
	background-image: url("../img/question.png");
	background-repeat: no-repeat;
	background-position: center top 40px;
	padding-top: 80px;
}

#subsc_manual #entrance h2{
    text-align: center;
    line-height: 1.56;
    font-weight: 800;
	margin-top: min(40px,6vw);
	margin-bottom: min(40px,4vw);
}

#subsc_manual h6{margin-top: 0;}

/* =========================
   ul（余白リセット）
========================= */
#subsc_manual #entrance ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* =========================
   li（縦並び・全幅・高さ揃え）
========================= */
#subsc_manual #entrance ul li {
  width: 100%;
  height: 150px;
  border: 2px solid var(--cr25-color-d-gld);
  border-radius: 15px;
  padding: 10px;
  box-sizing: border-box;
  display: flex;
}

/* li同士の間隔 */
#subsc_manual #entrance ul li + li {
  margin-top: 30px;
}

/* =========================
   a（中身）
========================= */
#subsc_manual #entrance ul li a {
  display: flex;
  align-items: center; /* ←縦中央 */
  width: 100%;
}

/* =========================
   アイコン
========================= */
#subsc_manual #entrance ul li a .icon {
  width: 55px;
  height: 55px;
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
#subsc_manual #entrance .en_blk1 ul li:first-of-type a .icon{
	background-image: url("../img/capsule_icon.png");
}
#subsc_manual #entrance .en_blk1 ul li:nth-of-type(2) a .icon{
	background-image: url("../img/schedule_icon.png");
}
#subsc_manual #entrance .en_blk1 ul li:nth-of-type(3) a .icon{
	background-image: url("../img/truck_icon.png");
}
#subsc_manual #entrance .en_blk2 ul li:first-of-type a .icon{
	background-image: url("../img/coupon_icon.png");
}
#subsc_manual #entrance .en_blk2 ul li:nth-of-type(2) a .icon{
	background-image: url("../img/account_icon.png");
}
#subsc_manual #entrance .en_blk3 ul li:first-of-type a .icon{
	background-image: url("../img/present_icon.png");
}
#subsc_manual #entrance .en_blk3 ul li:nth-of-type(2) a .icon{
	background-image: url("../img/question_icon.png");
}

/* =========================
   テキスト
========================= */
#subsc_manual #entrance ul li a .btn_text {
  margin-left: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center; /* ←縦中央 */
  flex: 1;
}

/* 見出し */
#subsc_manual #entrance ul li a h6 {
  margin-bottom: 8px;
  color: var(--cr25-color-d-gld);
  text-align: left;
  line-height: 1.4;
}

/* 本文 */
#subsc_manual #entrance ul li a p {
  line-height: 1.6;
  text-align: left;
  margin-left: 0;
}

/* =========================
   グリッド（基本：3分割）
========================= */
.lp-grid {
  margin-top: clamp(30px, 6vw, 80px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;

  /* PC時のみ高さ揃え */
  align-items: stretch;
}

/* =========================
   4つ → 2カラム（幅維持＋中央寄せ）
========================= */
.lp-grid:has(.lp-block:nth-child(4):last-child) {
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  max-width: calc(
    (var(--cr25-content-width) - 20px * 2) / 3 * 2 + 20px
  );
  margin: 0 auto;
  margin-top: clamp(30px, 6vw, 80px);
}

/* =========================
   2つ → 中央寄せ（幅維持）
========================= */
.lp-grid:has(.lp-block:nth-child(2):last-child) {
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  max-width: calc(
    (var(--cr25-content-width) - 20px * 2) / 3 * 2 + 20px
  );
  margin: 0 auto;
  margin-top: clamp(30px, 6vw, 80px);
}

/* =========================
   ブロック
========================= */
.lp-block {
  box-sizing: border-box;
  padding-bottom: 30px;
  border-radius: 15px;

  /* 高さ揃え（PC） */
  display: flex;
  flex-direction: column;
}
.lp-block.blk_G{
	background: var(--cr25-color-r-gld);
}
.lp-block.blk_R{
	background: var(--cr25-color-l-red);
}

.lp-block.blk_W{
	background: #ffffff;
}

/* テキスト */
#subsc_manual h5{
	background-color: var(--cr25-color-d-gld);
	border-radius: 15px 15px 0 0;
	color: #ffffff;
	margin: 0 0 30px 0;
	padding: 15px;
	font-weight: 700;
	letter-spacing: 1px;
}
#subsc_manual h4{
	font-weight: 700;
	letter-spacing: 1px;
	padding: 15px;
}

#subsc_manual h4.ttl_R,#subsc_manual h5.ttl_R{
	background: var(--cr25-color-red);
}

#subsc_manual .lp-block p{
	margin-left: 15px; 
	margin-right: 15px;
}
#subsc_manual .lp-block p+p{
	margin-top: 10px;
}

/* ボタン */
#subsc_manual .lp-block a.btn_gry{
	background: var(--cr25-color-d-gry);
	color: #ffffff;
	margin: 20px 15px;
	line-height: 2;
	font-size: clamp(1.55rem, 1.4rem + 0.35vw, 1.75rem);
	letter-spacing: 1px;
}
#subsc_manual .lp-block a.btn_gry:hover{
	background: var(--cr25-color-gry);
}
#subsc_manual .lp-block a.btn_red{
	background: var(--cr25-color-red);
	color: #ffffff;
	margin: 20px 15px;
	line-height: 2;
	font-size: clamp(1.55rem, 1.4rem + 0.35vw, 1.75rem);
	letter-spacing: 1px;
}
#subsc_manual .lp-block a.btn_red:hover{
	background: var(--cr25-color-j-red);
}
#subsc_manual .lp-block a.btn_gld{
	color: var(--cr25-color-d-gld);
	margin: 0 15px;
	line-height: 2;
	font-size: clamp(1.55rem, 1.4rem + 0.35vw, 1.75rem);
	border: solid 2px var(--cr25-color-d-gld);
	letter-spacing: 1px;
}
#subsc_manual .lp-block a.btn_gld:hover{
	color: var(--cr25-color-beige);
}

/* ----- 定期便の内容 -----------------*/

#subsc_manual #guide_1{
	background-color: var(--cr25-color-r-gld);
	background-image: url("../img/subsc_img.png");
	background-repeat: no-repeat;
	background-position: center top 60px;
	padding-top: 160px;
}

#subsc_manual h4{
	background: var(--cr25-color-d-gld);
	color: #ffffff;
	margin: 0 0 30px 0;
	padding: 15px;
	border-radius: 15px 15px 0 0;
}

#subsc_manual #guide_1 p{
	padding: 0 15px 0 15px;
}

/* ----- 支払方法・登録情報を変更 -----------------*/
#subsc_manual #guide_2{
	background-image: url("../img/account_icon.png");
	background-repeat: no-repeat;
	background-position: center top 80px;
	padding-top: 100px;
}
#subsc_manual #guide_2 p a{
	display: inline;
	font-weight: normal;
	color: var(--cr25-color-red);
}

/* ----- ポイント・クーポンの使い方 -----------------*/
#subsc_manual #guide_3{
	background-color: var(--cr25-color-r-gld);
	background-image: url("../img/coupon_icon.png");
	background-repeat: no-repeat;
	background-position: center top 80px;
	padding-top: 100px;
}

/* ----- マイページでの変更場所 -----------------*/
#subsc_manual #guide_4{
	background-image: url("../img/account_icon.png");
	background-repeat: no-repeat;
	background-position: center top 80px;
	padding-top: 100px;
	padding-bottom: 80px;
}
#subsc_manual #guide_4 .lp-block img{
	max-width: 300px;
	margin: 40px 0 0;
}

/* ----- マシンの調子 -----------------*/
#subsc_manual #guide_5{
	background-color: var(--cr25-color-r-gld);
	background-image: url("../img/machine_icon.png");
	background-repeat: no-repeat;
	background-position: center top 80px;
	padding-top: 100px;
}
#subsc_manual #guide_5 h3{line-height: 2;}
#subsc_manual #guide_5 h3 span{
	font-size: clamp(1.4rem, 1.301rem + 0.292vw, 1.6rem);
}
#guide_5 .lp-block {
  position: relative;
  padding-bottom: 110px;
}

#guide_5 .lp-block .btn-arrow {
  position: absolute;
  bottom: 15px;
  left: 15px;
  right: 15px;
}

/* ----- よくあるお困りごと -----------------*/
#subsc_manual #guide_6{
	background-image: url("../img/question_icon.png");
	background-repeat: no-repeat;
	background-position: center top 80px;
	padding-top: 100px;
	padding-bottom: 80px;
}
#subsc_manual #guide_6 ul{
	margin-top: 60px;
	padding: 0;
}

#subsc_manual #guide_6 li{
	text-align: left; 
	margin-bottom: 30px;
	font-size: clamp(1.4rem, 1.301rem + 0.292vw, 1.6rem);
}
#subsc_manual #guide_6 li a{
	display: block;
	color: var(--cr25-color-blk);
	margin: 0 15px;
	line-height: 2;
	font-size: clamp(1.55rem, 1.4rem + 0.35vw, 1.75rem);
	border: solid 2px var(--cr25-color-d-gld);
	padding: 15px;
	letter-spacing: 2px;
}
#subsc_manual #guide_6 li a:hover{
	color: var(--cr25-color-d-gld);
}

/* ----- お届けのスキップ -----------------*/
#subsc_manual #guide_7{
	background-color: var(--cr25-color-r-gld);
	background-image: url("../img/skip_icon.png");
	background-repeat: no-repeat;
	background-position: center top 80px;
	padding-top: 100px;
}

#subsc_manual #guide_7 a{
	width: 90%; max-width: 600px;
	margin: 40px auto 0;
	padding: 15px;
	background: var(--cr25-color-d-gry);
	color: #ffffff;
	line-height: 2;
	font-size: clamp(1.7rem, 1.55rem + 0.35vw, 1.9rem);
	letter-spacing: 1px;
}
#subsc_manual #guide_7 a:hover{
	background: var(--cr25-color-gry);
}

/* ----- お問い合わせ -----------------*/
#subsc_manual #guide_8 a{
	width: 90%; max-width: 600px;
	margin: 40px auto 0;
	padding: 15px;
	color: var(--cr25-color-d-gld);
	line-height: 2;
	font-size: clamp(1.7rem, 1.55rem + 0.35vw, 1.9rem);;
	border: solid 2px var(--cr25-color-d-gld);
}
#subsc_manual #guide_8 .solution {
	text-align: center;
}
#subsc_manual #guide_8 .solution span{
	font-size: clamp(1.8rem, 1.6rem + 1vw, 2.4rem);
	letter-spacing: 1px;
}

/* テキスト本体 */
#subsc_manual #guide_8 .solution span {
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
	font-weight: 700;
}

/* 下線（文字幅にフィット） */
#subsc_manual #guide_8 .solution span::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: var(--cr25-color-blk);
}

/* ▼（横長・大きめ） */
#subsc_manual #guide_8 .solution span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -13px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  border-top: 14px solid var(--cr25-color-blk);
}


/* =========================
   SP
========================= */
@media screen and (max-width: 913px) {
	#subsc_manual .lead + .lead {
    margin-top: min(20px,4vw);
	}
	
	#subsc_manual #mv {
    width: 100%;
    background: url("../img/MV_sp.jpg") no-repeat center center;
	background-size: cover;
	padding: 40px 0 120px;
	}
	
	#subsc_manual #entrance{
	background-size: 80px;
	background-position: center top 30px;
	}
	#subsc_manual #entrance ul li{
		height: 130px;
	}
	
/* ----- 定期便の内容 -----------------*/

	#subsc_manual #guide_1{
		background-size: 150px;
	}
	
/* ----- 支払方法・登録情報を変更 -----------------*/
	#subsc_manual #guide_2{
		background-size: 80px;
		background-position: center top 40px;
	}
	
/* ----- ポイント・クーポンの使い方 -----------------*/
	#subsc_manual #guide_3{
		background-position: center top 30px;
		background-size: 100px;
		padding-top: 100px;
	}

/* ----- マイページでの変更場所 -----------------*/
	#subsc_manual #guide_4{
		background-size: 80px;
		background-position: center top 40px;
		padding-bottom: 40px;
	}

/* ----- マシンの調子 -----------------*/
	#subsc_manual #guide_5{
		background-size: 80px;
		background-position: center top 40px;
		padding-top: 100px;
	}
	#guide_5 .lp-block {
    position: static;
    padding-bottom: 0;
  }

  #guide_5 .lp-block .btn-arrow {
    position: static;
    bottom: auto;
    left: auto;
    right: auto;
  }
	
/* ----- よくあるお困りごと -----------------*/
	#subsc_manual #guide_6{
		background-size: 80px;
		background-position: center top 40px;
		padding-bottom: 40px;
	}
	
/* ----- お届けのスキップ -----------------*/
	#subsc_manual #guide_7{
		background-size: 80px;
		background-position: center top 40px;
	}
	
/* ----- グリッド -----------------*/
  .lp-grid {
    grid-template-columns: 1fr;

    /* 高さ揃え解除 */
    align-items: start;
  }
  .lp-grid:has(.lp-block:nth-child(4):last-child),
  .lp-grid:has(.lp-block:nth-child(2):last-child) {
    grid-template-columns: 1fr;
    max-width: 100%;
    margin: 0;
	margin-top: 40px;
  }

  .lp-block {
    display: block; /* ←高さ揃えをやめる */
  }
}

/* =========================
   タブレット
========================= */
@media screen and (min-width: 744px) and (max-width: 1024px) {
	#subsc_manual .tab_none{display: none;}
	#subsc_manual .only-sp.tab_none, #subsc_manual .sp_none.tab_none{
		display: none;
	}
	#subsc_manual h1{font-size: 24px;}
	#subsc_manual h2{font-size: 20px;}
	#subsc_manual h3{font-size: 20px;}
	#subsc_manual h4{font-size: 18px; }
	#subsc_manual h5{font-size: 18px;}
	#subsc_manual h6{font-size: 16px;}
	#subsc_manual p{font-size:  14px;}
	#subsc_manual p.lead {font-size: 14px;}
	#subsc_manual p.annotation{font-size: 12px;}

	
	#subsc_manual #mv{
		background-image: url("../img/MV_pc.jpg");
	}
	#subsc_manual #entrance{
		padding-top: 40px;
	}
	#subsc_manual #entrance ul li{
		height: 100px;
	}
	
	/* ボタン */
	#subsc_manual .lp-block a.btn_gry{
		margin: 20px 10%;
		font-size: 16px;
	}
	#subsc_manual .lp-block a.btn_red{
		margin: 20px 10%;
		font-size: 16px;
	}
	#subsc_manual .lp-block a.btn_gld{
		margin: 20px 10%;
		font-size: 16px;
	}
	#subsc_manual #guide_6 li a{
		font-size: 14px;
	}
	#subsc_manual #guide_7 a,#subsc_manual #guide_8 a{
		font-size: 16px;
	}
	#subsc_manual #guide_8 .solution span{
		font-size: 18px;
	}


	@media screen and (min-width: 744px) and (max-width: 1024px){
		
	}
