/* ===== FAQ（LP寄せ：やわらかいカード＋オリーブ系アクセント） ===== */
.faq-sp{
  --faq-bg: #f7f4ef;         /* セクション背景（薄い生成り） */
  --card-bg: #ffffff;        /* カード背景 */
  --border: #e7ded2;         /* 境界線（薄いベージュ） */
  --text: #2b2b2b;           /* 文字色 */
  --muted: #666;             /* 補助文字 */
  --accent: #6b7a3b;         /* オリーブ系アクセント */
  --accent-soft: #eef2e3;    /* アクセント薄色 */
  --shadow: 0 10px 22px rgba(0,0,0,.06);

  background: var(--faq-bg);
  padding: clamp(20px, 4vw, 44px) clamp(14px, 4vw, 28px);
  border-radius: 18px;
  color: var(--text);
}

.faq-sp .faq-item{
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
  overflow: hidden;
}

.faq-sp .faq-item + .faq-item{
  margin-top: 12px;
}

/* 質問 */
.faq-sp .faq-q{
  position: relative;
  padding: 16px 48px 16px 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .02em;
  cursor: pointer;
  user-select: none;

  /* ほんのりグラデで上品に */
  background: linear-gradient(180deg, #fff, #fff8ef);
}

/* Qラベル */
.faq-sp .faq-q::before{
  content: "Q";
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-right: 10px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  font-weight: 800;
  font-size: 14px;
  vertical-align: middle;
}

/* 開閉アイコン（＋→−） */
.faq-sp .faq-q::after{
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  border-radius: 999px;
  background:
    linear-gradient(var(--accent), var(--accent)) center/12px 2px no-repeat,
    linear-gradient(var(--accent), var(--accent)) center/2px 12px no-repeat;
  opacity: .9;
}

/* 回答（デフォルトは閉じる想定） */
.faq-sp .faq-a{
  display: none;
  padding: 0 16px 16px 16px;
  border-top: 1px solid var(--border);
  background: #fff;
}

.faq-sp .faq-a p{
  margin: 12px 0 0 0;
  color: var(--muted);
  line-height: 1.85;
  letter-spacing: .01em;
}

/* Aラベル */
.faq-sp .faq-a p::before{
  content: "A";
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin: 0 10px 0 0;
  border-radius: 999px;
  background: rgba(107,122,59,.10);
  color: var(--accent);
  font-weight: 800;
  font-size: 14px;
  vertical-align: top;
}

/* 開いている状態（JSで .is-open を付け外し） */
.faq-sp .faq-item.is-open{
  box-shadow: var(--shadow);
  border-color: rgba(107,122,59,.25);
}

.faq-sp .faq-item.is-open .faq-a{
  display: block;
}

.faq-sp .faq-item.is-open .faq-q{
  background: linear-gradient(180deg, #ffffff, #f6f8ef);
}

.faq-sp .faq-item.is-open .faq-q::after{
  /* 縦線を消して「−」に */
  background:
    linear-gradient(var(--accent), var(--accent)) center/12px 2px no-repeat;
}

/* ホバー（PC） */
@media (hover:hover){
  .faq-sp .faq-q:hover{
    filter: brightness(.99);
  }
  .faq-sp .faq-q:hover::after{
    opacity: 1;
  }
}

/* キーボード操作の視認性（divにtabindex付ける場合に効く） */
.faq-sp .faq-q:focus-visible{
  outline: 3px solid rgba(107,122,59,.25);
  outline-offset: 2px;
  border-radius: 12px;
}

/* 余白微調整（SP最適化） */
@media (max-width: 480px){
  .faq-sp{
    border-radius: 14px;
  }
  .faq-sp .faq-q{
    padding: 14px 44px 14px 14px;
  }
  .faq-sp .faq-a{
    padding: 0 14px 14px 14px;
  }
}


.img-text{
  display: flex;
  align-items: center;   /* 上寄せにしたいなら flex-start */
  gap: 24px;             /* 画像と文字の間 */
}

.img-text__img{
  width: 100px;          /* 好みで調整 */
  max-width: 100%;
  height: auto;
  display: block;
}

.img-text__body{
  flex: 1;
}


@charset "utf-8";

/* --- font --- */

@font-face {
    font-family:'UtsukushiFONT';
    src: url('font/UtsukushiFONT.eot');
    src: url('font/UtsukushiFONT.eot?#iefix') format('embedded-opentype'),
        url('font/UtsukushiFONT.woff') format('woff'),
        url('font/UtsukushiFONT.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* --- font --- */


#lp_wrap {
	max-width:640px;
	width:100%;
	margin:0 auto;
	font-family:"UtsukushiFONT", "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.img_ct {
	display:block;
	margin:0 auto;
}

.conts {
	width:100%;
	color:#444445;
	box-sizing:border-box;
	position:relative;
	z-index:1;
}
.keyVis{
	position: relative;
}
.keyVis p.rank_e_key{
	position: absolute;
	bottom: 0px;
	right: 2px;
	line-height: 1.2;
	padding: 0;
	margin: 0;
	font-size: 10px;
	letter-spacing: -.05rem;
	font-family:"游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.img_bg {width:100%;}


.ct1_rank {
    width: 60%;
    padding: 5% 0 0 2%;
	position:absolute;
	z-index:2;
}

.ct2_6m {
	width:90%;
	left: 5%;
    top: 48%;
	box-sizing:border-box;
	box-shadow:3px 3px 4px -1px #333333;
	-moz-box-shadow:3px 3px 4px -1px #333333;
	-webkit-box-shadow:3px 3px 4px -1px #333333;
	position:absolute;
	z-index:2;

}

.ct2_6m_txt {
	margin:0;
	font-size:33px;
	width:90%;
	text-align:center;
	left:5%;
	top:49%;
	position:absolute;
	z-index:3;
}

.green_big {
	font-size:55px;
	color:#689748;
}

.ct3_ttl {
	margin:0;
	font-size:30px;
	width:90%;
	text-align:center;
	left:8%;
	top:21%;
	position:absolute;
	z-index:3;
}

.ct3_cart {
	width:80%;
	left:10%;
	bottom:8%;
	position:absolute;
	z-index:3;
}

.rank_e {
	margin:0;
	color:#FFF;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:10px;
	text-align:right;
	right:2%;
	bottom:0.5%;
	position:absolute;
	z-index:3;
}

.ct4_ttl {
	margin:0;
	font-size:26px;
	width:90%;
	text-align:center;
	left:5%;
	top:1.5%;
	position:absolute;
	z-index:3;
	line-height: 1.2;
}

.ct5_ttl {
	margin:0;
	font-size:26px;
	width:90%;
	text-align:center;
	left:5%;
	top:10%;
	position:absolute;
	z-index:3;
	line-height: 1.2;
}

.ct5_book {
	width:80%;
	left:10%;
	top:35%;
	position:absolute;
	z-index:3;
}

.ct6_ttl {
	margin:0;
	font-size:22px;
	width:95%;
	text-align:center;
	letter-spacing: -2px;
	left:2.5%;
	top:-1%;
	position:absolute;
	z-index:3;
}

.ct6_ttl2 {
	margin:0;
	font-size:26px;
	width:50%;
	color:#486d2c;
	line-height:1.0;
	text-align:center;
	left:25%;
	top:17%;
	position:absolute;
	z-index:3;
}

.ct6_nunb {
	font-size:40px;
}

.ct6_ttl3 {
	margin:0;
	font-size:26px;
	width:90%;
	text-align:center;
	letter-spacing: -2px;
	left:5%;
	bottom:14%;
	position:absolute;
	z-index:3;
	line-height: 1.2;
}
.ct6_ttl4 {
	margin:0;
	font-size:11px;
	width:96%;
	text-align:center;
	left:2%;
	bottom:8%;
	position:absolute;
	z-index:3;
}

.icon_q {
    width: 16%;
    top: -1.7%;
    left: 42%;
    position: absolute;
    z-index: 10;
}

.ct7bg {
	background:#f6fce3;
}

.ct7_ttl {
	margin:0;
	font-size:30px;
	width:90%;
	color: #689748;
	text-align:center;
    left: 7%;
    top:2%;
	position:absolute;
	z-index:3;
}

.cart_box {
	position:absolute;
	z-index:2;
}

.trial_ttl {
	margin:0;
	font-size:30px;
	width:90%;
	text-align:center;
	left:8%;
	top: 4.5%;
	position:absolute;
	z-index:3;
}

.trial_cart {
	width:80%;
	left:10%;
	bottom:8%;
	position:absolute;
	z-index:3;
}

.ct8_ttl {
	margin:0;
	font-size:30px;
	width:90%;
	color: #fff;
	text-align:center;
	line-height:1.2;
    left: 7%;
    top:7%;
	position:absolute;
	z-index:3;
}

.ct8_ttlb {
	font-size:40px;
}

.ct8_ttl2 {
	margin:0;
	font-size:22px;
	width:90%;
	color: #fff;
	text-align:center;
    left:5%;
    bottom:5%;
	position:absolute;
	z-index:3;
}

.ct9_ttl1 {
	margin:0;
    font-size: 20px;
    color: #5a7944;
    transform: rotate(-9deg);
    letter-spacing: -2.0px;
    left: 12.5%;
    top: 7.5%;
    position: absolute;
    z-index: 3;
}

.ct9_ttl2 {
	margin:0;
    font-size: 20px;
    color: #5a7944;
    transform: rotate(-9deg);
    letter-spacing: -2.0px;
    left: 20.5%;
    top: 26%;
    position: absolute;
    z-index: 3;
}

.ct10_ttl {
	margin:0;
    font-size: 24px;
    width: 95%;
    color: #fff;
    letter-spacing: -2.0px;
    text-align: center;
    left: 2%;
    top: 7%;
    position: absolute;
    z-index: 3;
}

.ct10_ttl2 {
	font-size:18px;
}

.ct11_ttl {
	margin:0;
    font-size: 30px;
    width: 95%;
    color: #5a7944;
    letter-spacing: -2.0px;
    text-align: center;
    left: 2%;
    top: 5%;
    position: absolute;
    z-index: 3;
}

.ct12_ttl {
	margin:0;
	font-size:28px;
	width:90%;
	color: #444445;
	text-align:center;
	letter-spacing:-2.0px;
    left: 5%;
    top:2%;
	position:absolute;
	z-index:3;
}

.ct12_ttl2 {
	margin:0;
	font-size:25px;
	width:90%;
	color: #444445;
	text-align:center;
	letter-spacing:-2.0px;
    left:5%;
    top:9%;
	position:absolute;
	z-index:3;
}

#sendo_box {
	width:100%;
	height:1000px;
	background:#5a7944;
}

.ct14_ttl {
	margin:0;
	font-size:35px;
	width:90%;
	color: #9a385b;
	text-align:center;
	line-height:1.2;
	letter-spacing:-2.0px;
    left: 5%;
    top:2%;
	position:absolute;
	z-index:3;
}

.ct15_top {
    position: absolute;
    z-index: 10;
    top: 0%;
}

.ct15_bg {
	background:url(../images/ct15_bg.jpg);
	padding-top: 56%;
	padding-bottom: 5%;
}

.ct15_whbox {
    width: 95%;
	padding:2%;
    left: 2.5%;
    background: #fff;
    color: #454545;
    letter-spacing: 1.5px;
    position: relative;
    z-index: 5;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	box-sizing:border-box;
	box-shadow:3px 3px 4px -1px #8d9ea9;
	-moz-box-shadow:3px 3px 4px -1px #8d9ea9;
	-webkit-box-shadow:3px 3px 4px -1px #8d9ea9;
}

.ct15_ttl {
	margin:0;
	margin:20px 0;
	font-size:28px;
	font-weight:600;
	text-align:center;
}

.ct15_ttl span {
	font-size:18px;
}

.ct15_ttl span.sizeL {
	font-size:40px;
}

.step_box {
	width:100%;
	padding:10px;
	position:relative;
}

.step_box img {
	width:40%;
}

.stp_grs {
    width: 30%!important;
    position: absolute;
    top:15%;
	float:left;
}

.stp_ttl {
	margin:0;
	font-size:26px;
	font-weight:600;
	margin-top:12px;
}

.stp_btl {
	width:30%!important;
	margin-right:2%;
	float:left;
}

.stp_txt {
	width:68%!important;
	float:left;
	font-size:14px;
}

.stp_uts {
	margin:0;
	font-size:20px;
	font-family:UtsukushiFONT;
	margin-bottom:15px;
}

.stp_sc {
	margin:0;
	font-size:20px;
	font-weight:600;
	margin-bottom:15px;
}

.seibun_list p {
	float:left;
	font-size:14px;
	font-weight:600;
	width:50%;
	margin:0 0 10px 0;
}

.seibun_table {
	width:100%;
	margin-top:20px;
	box-sizing:border-box;
}

.seibun_table td {
	width:15%;
	padding:10px 0;
}

.seibun_table td img{
	width:100%;
}

.seibun_table th {
	width:35%;
	text-align:left;
	margin-top:10px;
	padding:10px 5px;
	font-size:14px;
	line-height:1.2;
	vertical-align:middle;
}

.stp1c {
	color:#486d2c !important;
}

.stp1_rttl {
	margin:0;
	width:100%!important;
	border-bottom:1px solid #486d2c;
	font-weight:600;
	padding:0!important;
}

.stp2c {
	color:#bf6e1c !important;
}

.stp2_rttl {
	margin:0;
	border-bottom:1px solid #bf6e1c;
	font-weight:600;
	font-weight:600;
	padding:0!important;
}

.stp3c {
	color:#c0636b !important;
}

.stp3_rttl {
	margin:0;
	border-bottom:1px solid #c0636b;
	font-weight:600;
	font-weight:600;
	padding:0!important;
}

.stp4c {
	color:#5c70a8 !important;
}

.stp4_rttl {
	margin:0;
	border-bottom:1px solid #5c70a8;
	font-weight:600;
	font-weight:600;
	padding:0!important;
}

.ct16_ttl {
	margin:0;
    font-size: 27px;
    width: 95%;
    text-align: center;
	letter-spacing:-2.0px;
    color: #fff;
    left: 2.5%;
    top: 5%;
    position: absolute;
    z-index: 3;
}

.ct16_ttl2 {
	margin:0;
	font-size:17px;
	width:95%;
	text-align:center;
	letter-spacing:-2.0px;
	color:#fff;
	left:2.5%;
	top:23%;
	position:absolute;
	z-index:3;
}

.ct16_ttl3 {
	margin:0;
    font-size: 18px;
    width: 95%;
    text-align: center;
    letter-spacing: -2.0px;
    color: #fff;
    left: 2.5%;
    top: 83%;
    position: absolute;
    z-index: 3;
}

.ct17_ttl {
	margin:0;
    font-size: 30px;
    width: 95%;
    text-align: center;
	letter-spacing:-2.0px;
    color: #486d2c;
    left: 2.5%;
    top: 5%;
    position: absolute;
    z-index: 3;
}

.ct19_6m_txt {
	margin:0;
	font-size:26px;
	width:95%;
	text-align:center;
	line-height:1.2;
	left:2.5%;
	top:51%;
	position:absolute;
	z-index:3;
}

.ct19_mutenka {
	font-size:33px;
	color:#9a385b;
}

.ct21_ttl {
	margin:0;
	font-size:30px;
	width:90%;
	text-align:center;
	left:5%;
	top:1.5%;
	position:absolute;
	z-index:3;
}

.ct22_ttl {
	margin:0;
    font-size: 21px;
    width: 90%;
    left: 8%;
    top: 4.5%;
    position: absolute;
    z-index: 3;
}


.startTrial{
	position: relative;
	background: url(../images/sp_conts_16.png) 0 0 repeat-y;
	-webkit-background-size: 102%;
	background-size: 102%;
	margin: 100px 0 0 ;
	padding: 0 0 50px 0;
}
.startTrial img{
	width: 100%;
}
.startTrial .ttlBelt{
	text-align: center;
	width: 100%;
	position: absolute;
	top: -40px;
	padding: 0 25px;
}
.sono1{
	width: 30%;
	margin: 0 auto;
	padding: 40px 0 0;
}
.sono1_copntent{
	padding: 0 20px;
	position: relative;
}
.sono1_copntent{
	padding: 0 20px;
}

.sono2{
	width: 30%;
	margin: 0 auto;
	padding: 20px 0 0;
}
.sono2_copntent{
	padding: 0 20px;
	position: relative;
	z-index: 888888;
}

.sono2_copntent .imgTrial{
	position: relative;
	z-index: 888888;
	top: 20px;
}

.sono2_copntent p.txtTrial{
	padding: 0 30px;
	position: absolute;
	z-index: 9999999;
	top: 9px;
	font-size: 140%;
}




.lpGuideFooter{
	border-top: 40px solid #eee7ca;
	background: #eee7ca;
	width: 100%;
	margin: 40px 0 0;
}

.lpGuideFooterBox{
	margin: 0 auto;
	padding: 5px;
}

h2.guide_ttl{
/*	background: url(../images/icon_lo_guide.png) 10% 50% no-repeat;*/
}
h2.guide_ttl p{
	text-align: center;
	font-size: 160%;
	color: #373813;
	font-weight: bold;
	padding: 10px 0;
	margin: 0;
}
.guideLeft{
	float: left;
	width: 100%;
}

.guideRight{
	float: right;
	width: 100%;

}

.guideInfoArea{
	margin: 0 0 20px;
	padding: 8px;
}

h3.info-ttl{
	border-bottom: 2px solid #373813;
	font-weight: bold;
	font-size: 100%;
	padding: 10px 0;
	margin: 0 0 10px 0;
}

.guideInfoArea p{
	margin: 20px 0 10px;
	font-size: 90%;
}

.guideInfoArea img {
    display: block;
    margin: 0 auto;
}

.guideInfoArea p.more a{
	display: block;
	text-align: center;
	background: #729932;
	color: #fff;
	padding: 6px 24px;
	margin: 20px 0 0 0;
}

.copy{
	background: #66a03e;
}
p.copytxt{
	text-align: center;
	color: #fff;
	font-size: 12px;
	padding: 10px 0;
}


























@media screen and (max-width:340px) {
.ct2_6m_txt {
	font-size:28px;
	top:48%;
}
.green_big {
	font-size:50px;
}
.ct3_ttl {
	margin:0;
	font-size:26px;
	left:8%;
	top:20%;
}
.ct4_ttl {
	margin:0;
	font-size:26px;
}
.ct6_ttl {
	margin:0;
	font-size:18px;
	top:0%;
}
.ct6_ttl2 {
	font-size:23px;
	top:16%;
}
.ct6_nunb {
	font-size:30px;
}
.ct6_ttl3 {
	font-size:22px;
	bottom:17%;
}

.trial_ttl {
	margin:0;
	font-size:26px;
	left:8%;
	top: 4.5%;
}

.ct8_ttl {
	margin:0;
	font-size:26px;
}
.ct8_ttlb {
	font-size:32px;
}
.ct8_ttl2 {
	font-size:18px;
}

.ct9_ttl1 {
    font-size:18px;
}

.ct9_ttl2 {
    font-size:18px;
}
.ct10_ttl {
	margin:0;
    font-size: 20px;
}

.ct10_ttl2 {
	font-size:16px;
}
.ct11_ttl {
	margin:0;
    font-size:26px;
}
.ct12_ttl {
	margin:0;
	font-size:25px;
}

.ct12_ttl2 {
	font-size:20px;
	top:10%;
}

.ct12_ttl {
	margin:0;
	font-size:26px;
	top:2%;
}

.ct15_ttl {
	margin:0;
	font-size:24px;
}

.ct15_ttl span {
	font-size:15px;
}
.step_box img {
	width:35%;
}

.stp_ttl {
	margin:0;
	font-size:20px;
}

.stp_btl {
	width:25%!important;
}

.stp_txt {
	width:73%!important;
}

.stp_uts {
	font-size:18px;
}

.stp_sc {
	font-size:18px;
}
.ct16_ttl {
	margin:0;
    font-size: 23px;
}

.ct16_ttl2 {
	font-size:14px;
}

.ct16_ttl3 {
    font-size: 16px;
}
.ct17_ttl {
	margin:0;
    font-size: 26px;
}
.ct19_6m_txt {
	font-size:20px;
}

.ct19_mutenka {
	font-size:28px;
}
.ct21_ttl {
	margin:0;
	font-size:26px;
}
.ct22_ttl {
	margin:0;
    font-size:18px;
}
}