/* ================================================
   0 基本設定 （★変数宣言）
================================================ */

/* 1 ページレイアウト設定
     （フォントサイズ・span装飾など） */

/* 2-1 パーツ レイアウト設定
       （【変更予定】・余白・アニメーション用・ヘッダー・フッター・ボタン・動画埋め込み用など） */
/* 2-2 パーツ デザイン設定
       （★bodyの背景・↑の色設定など） */

/* 3-1 要素別設定 ファネル定型用 レイアウト設定 */
/* 3-2 要素別設定 ファネル定型用 デザイン設定 */

/* 4-1 要素別設定 レター定型用 レイアウト設定 */
/* 4-2 要素別設定 レター定型用 デザイン設定 */

/* 5 要素別設定 共通
     （★テキストブロック・チェックリスト・枠など（色設定含む）） */
/* 6 要素別設定 個別 背景
     （★各セクションの背景） */
/* 7 要素別設定 個別 デザイン設計
     （★各セクションの特別設定） */


:root {
	--color-main: #173147;
	--color-main-gradient: linear-gradient(90deg, #143766 0%, #43759f 50%, #143766 100%);
	--color-sub: #37a0cb;
	--color-sub-gradient: linear-gradient(90deg, #37a0cb 0%, #3fe0f1 50%, #37a0cb 100%);
	--color-accent: #b8003d;
	--color-base: #f7f3f0;
	--color-base-gradient: linear-gradient(90deg, #dbd4c9 0%, #fefefe 50%, #dbd4c9 100%);

	--color-w: #fff;
	--color-lg: #eee;
	--color-g: #999;
	--color-dg: #333;
	--color-b: #000;

	--color-r: #b8003d;
	--color-y: #f0dba1;
	--color-gold: #c69923;
	--color-gold-gradient: linear-gradient(90deg, #b68840 0%, #e3c77e 25%, #fef0b0 50%, #e3c77e 75%, #b68840 100%);
	--color-green: #4caf50;

	--font-color: #042342;
	--font-size: 1.15rem;
	--font-size-sp: 1rem;
	--font-spacing: 0.05em;
	--font-height: 1.6;
	--font-height_mini: 1.4;
	--font-height_mini2: 1.2;
	--font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--font-family-serif: "Noto Serif JP", serif;

	--font-size-ttl: 1.8em;
	--font-size-ttl-sp: 1.5em;
	--font-size-en: 1.3em;
	--font-size-em: 1.2em;
	--font-size-em2: 1.7em;
	--font-size-small: 0.9rem;
	--font-size-small2: 0.7em;
	--font-spacing-wide: 0.1em;

	--width-main: 100%; /* mainの外枠 innerと同じ or 100% */
	--width-inner: 700px; /* @media screen も一緒に変更 & JSも確認*/
	--width-inner-header: 1400px;
}





/* ================================================
   1 ページレイアウト設定
================================================ */
* {
	padding: 0;
	margin: 0;
	border: 0;
	box-sizing: border-box;
	list-style: none;
}
html {
	scroll-behavior: smooth;
}
body {
	position: relative;
	margin: 0;
	padding: 0;
	color: var(--font-color);
	font-size: var(--font-size);
	letter-spacing: var(--font-spacing);
	line-height: var(--font-height);
	font-family: var(--font-family);
	font-feature-settings: "palt";
}

img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

a {
	text-decoration: none;
	opacity: 1;
	transition: opacity 0.5s;
}
a:hover{
	cursor: pointer;
	opacity: 0.8;
}

.f-red {
	color: var(--color-r);
}
.f-green {
	color: var(--color-green);
}
.f-main {
	color: var(--color-main);
}
.f-accent {
	color: var(--color-accent);
}
.f-bold {
	font-weight: bold;
}
.f-center {
	text-align: center;
}
.f-left {
	text-align: left;
}
.f-em {
	font-size: var(--font-size-em);
}
.f-em2 {
	font-size: var(--font-size-em2);
}
.f-small {
	font-size: var(--font-size-small);
}
.f-small2 {
	font-size: var(--font-size-small2);
}
.f-en {
	font-size: var(--font-size-en) !important;
	line-height: 1 !important;
}
.f-line_y {
	background: linear-gradient(transparent 40%, var(--color-y) 0%) ;
}
.f-serif {
	font-family: var(--font-family-serif);
}

/* ------ pc ------ */
@media screen and (min-width: 701px){
	.sp {
		display: none;
	}
}
/* ------ sp ------ */
@media screen and (max-width: 700px){
	.pc {
		display: none;
	}
	body {
		font-size: var(--font-size-sp);
	}
	.f-line_y {
		background: linear-gradient(transparent 50%, var(--color-y) 0%);
	}
}





/* ================================================
   2-1 パーツ レイアウト設定
================================================ */

/* 【変更予定】 */
.henkou {
	position: relative;
}
.henkou::after {
	content: "【変更予定】";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-b);
	opacity: 0.8;
	color: var(--color-w);
	padding: 2em;
	box-sizing: border-box;
}
img.hoge {
	display: block;
	width: 80%;
	margin: 0 auto;
}

/* 余白系 */
.inner {
	max-width: var(--width-inner);
	margin: 0 auto;
}
header .inner {
	max-width: var(--width-inner-header);
}

.p_x {
	padding-right: 4%;
	padding-left: 4%;
}
.p_y {
	padding-top: 80px;
	padding-bottom: 80px;
}
.p_y_mini {
	padding-top: 40px;
	padding-bottom: 40px;
}

.m_x {
	margin-right: 4%;
	margin-left: 4%;
}
.m_y {
	margin-top: 80px;
	margin-bottom: 80px;
}
.m_y_mini {
	margin-top: 40px;
	margin-bottom: 40px;
}
.m_y_1 {
	margin-top: 1em;
	margin-bottom: 1em;
}
.m_y_t1 {
	margin-top: 1em;
}
.m_y_b1 {
	margin-bottom: 1em;
}


/* 非表示用 */
.is--none {
	display: none !important;
}

/* アニメーション用 フェードイン */
.is-animate {
	opacity: 0;
	transition: opacity 1.5s;
}
.is-animate .is-animate-inner { /* 自動生成 */
	transform: translateY(100px);
	transition: transform 0.7s;
}
.is-animate.is-animate-on {
	opacity: 1;
}
.is-animate.is-animate-on .is-animate-inner { /* 自動生成 */
	transform: translateY(0);
}

/* アニメーション用 moreボタン */
.textbox_more .is-more-show {
    position: relative;
    display: inline-block;
}
.textbox_more .is-more-show::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(transparent,#fff);
}
.textbox_more .is-more-show.is-more-on::after {
    background: transparent;
}
.textbox_more .is-more-hide {
	display: none;
}
.textbox_more button.is-more {
	width: fit-content;
	margin: 20px auto;
	display: block;
	padding: 10px 1.5em;
	border: none;
	outline: 0;
	transition: .5s;
	border-radius: 30px;
	cursor: pointer;
	font-size: 1em;
}
.textbox_more button.is-more::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f13a'' 続きをよむ';
	transition: .2s;
}
.textbox_more button.is-more.is-more-on::after{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f139'' 閉じる';
}

/* 背景固定用 */
.is-bgfix {
	position: relative;
}
.is-bgfix-inner {
	position: relative;
	z-index: 1;
}
.is-bgfix-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	clip-path: inset(0);
}
.is-bgfix-bg::before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	height: 100vh;
	z-index: -1;
}

/* 背景横伸ばし用 */
.is-bgwide {
	margin: 0 !important;
	padding: 0 !important;
}
.is-bgwide-inner {
	width: var(--width-inner);
	margin: 0 auto;
}
.p_x .is-bgwide-inner {
	padding-right: 4%;
	padding-left: 4%;
}
.p_y .is-bgwide-inner {
	padding-top: 80px;
	padding-bottom: 80px;
}
.p_y_mini .is-bgwide-inner {
	padding-top: 40px;
	padding-bottom: 40px;
}
.m_x .is-bgwide-inner {
	margin-right: 4%;
	margin-left: 4%;
}
.m_y .is-bgwide-inner {
	margin-top: 80px;
	margin-bottom: 80px;
}
.m_y_mini .is-bgwide-inner {
	margin-top: 40px;
	margin-bottom: 40px;
}
.m_y_1 .is-bgwide-inner {
	margin-top: 1em;
	margin-bottom: 1em;
}

/* 背景ポイント用 */
.is-bgpoint {
	position: relative;
}
.is-bgpoint-inner {
	position: relative;
	z-index: 2;
}
.is-bgpoint-point {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

/* 背景ゴールドライン用 */
.is-bgline {
	position: relative;
}
.is-bgline::before,
.is-bgline::after {
	content: "";
	display: block;
	width: 100%;
	height: 5px;
	position: absolute;
	z-index: 1;
	background-image: linear-gradient(90deg, #cd8521, #dfb44d, #e8c96e, #f2e294, #fcebc0, #f2e294, #e8c96e, #dfb44d, #cf8116);
}
.is-bgline::before {
	top: -1px;
	left: 0;
}
.is-bgline::after {
	bottom: -1px;
	left: 0;
}

/* 動画埋め込み用 */
.movie_video_outer {
	padding: 2px;
}
.movie_video {
	height: 0;
	padding-bottom: 55.4%; /* 56.25%; */
	position: relative;
	width: 100%;
}
.movie_video a {
	font-size: 0;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.movie_video a:hover {
	opacity: 1;
}
.movie_video #thumbnail .movie_thumbnail {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
	background: transparent url(../img/fn/movie_thumbnail.png) center center no-repeat;
	background-size: cover;
	font-size: 0;
}
.movie_video #movie {
	position:relative;
	width: 85%;
	height:0;
	margin: 0 auto;
}
.movie_video #movie {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.movie_video #play {
	cursor: pointer;
}
.movie_video #play .movie_btn {
	position: absolute;
	z-index: 99;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0;
	border-radius: 50%;
	width: 70px;
	height: 70px;
}
.movie_video #play .movie_btn::before,
.movie_video #play .movie_btn::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	box-sizing: border-box;
	pointer-events: none;
	animation: pulsate 1.5s linear infinite;
}
.movie_video #play .movie_btn::after {
	animation-delay: 1s;
}
@keyframes pulsate {
	0% { transform: scale(1); opacity: 1; }
	100% { transform: scale(2); opacity: 0; }
}


/* ボタン */
.btn {
	display: block;
	opacity: 1;
	transition: opacity 0.5s;
}
.btn:hover {
	cursor: pointer;
	opacity: 0.8;
}

/* ヘッダー */
header img {
	position: relative;
	z-index: 1;
}

/* メイン */
.main_outer {
	overflow: hidden;
}
main {
	max-width: var(--width-main);
	margin: 0 auto;
	box-shadow: 0px 0px 10px 5px rgba(3, 0, 0, 0.1);
}

/* フッター 固定ボタン */
.footerBtn_displayArea {
	position: relative;
}
.footerBtn {
	position: sticky;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 99;
	padding: 10px 4%;
	text-align: center;
	margin-bottom: -1px;
}
.footerBtn img {
	max-width: 500px;
}

/* フッター */
footer {
	text-align: center;
	padding: 30px 4%;
	font-size: 0.8em;
}
footer li {
	display: inline-block;
}
footer li::after {
	content: "|";
	display: inline-block;
	margin: 0 10px;
}
footer li:last-child::after {
	content: "";
}
footer a {
	display: inline-block;
	transition: 0.2s;
}
footer a:hover {
	opacity: 0.6;
}
footer .copyright {
	font-size: 0.8rem;
	margin-top: 1rem;
}

/* ------ sp ------ */
@media screen and (max-width: 700px){
	.p_x_sp {
		padding-right: 4%;
		padding-left: 4%;
	}
	.p_y {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.p_y_mini {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	.m_x {
		margin-right: 2%;
		margin-left: 2%;
	}
	.m_y {
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.m_y_mini {
		margin-top: 15px;
		margin-bottom: 15px;
	}

	.is-bgwide-inner {
		width: 100%;
	}
	.p_x_sp .is-bgwide-inner {
		padding-right: 4%;
		padding-left: 4%;
	}
	.p_y .is-bgwide-inner {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.p_y_mini .is-bgwide-inner {
		padding-top: 15px;
		padding-bottom: 15px;
	}
	.m_x .is-bgwide-inner {
		margin-right: 2%;
		margin-left: 2%;
	}
	.m_y .is-bgwide-inner {
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.m_y_mini .is-bgwide-inner {
		margin-top: 15px;
		margin-bottom: 15px;
	}

	.movie_video #play .movie_btn {
		top: 50%;
		left: 50%;
		width: 100px !important;
		height: 100px;
	}

	@keyframes bound {
		0%,100%{transform:translateY(0px);}
		10%{transform:translateY(-8px);}
		20%{transform:translateY(-12px);}
		30%{transform:translateY(-14px);}
		40%{transform:translateY(-15px);}
		50%{transform:translateY(-16px);}
		60%{transform:translateY(-15px);}
		70%{transform:translateY(-14px);}
		80%{transform:translateY(-12px);}
		90%{transform:translateY(-8px);}
	}

	footer {
		padding: 15px 4%;
		font-size: 0.8em;
	}
	footer li::after {
		margin: 0 5px;
	}
}





/* ================================================
   2-2 パーツ デザイン設定
================================================ */

/* 全体 */
body {
	background: transparent url(../img/body_bg.png) top center repeat-y;
	background-size: 100%;
}


/* 動画埋め込み用 */
.movie_video_outer {
	border: #c69923 solid 2px;
	border-image: linear-gradient(90deg, #f2e294, #dfb44d, #e8c96e, #f2e294, #fcebc0, #f2e294, #e8c96e, #dfb44d, #f2e294);
	border-image-slice: 1;
}
.movie_video {
	border: #c69923 solid 5px;
	border-image: linear-gradient(90deg, #f2e294, #dfb44d, #e8c96e, #f2e294, #fcebc0, #f2e294, #e8c96e, #dfb44d, #f2e294);
	border-image-slice: 1;
}
.movie_video #play .movie_btn {
	background: #ff3413;
	box-shadow: 0 0 20px #ff3413;
}
.movie_video #play .movie_btn::before,
.movie_video #play .movie_btn::after {
	border: 1px solid #ff3413;
}

/* アニメーション用 moreボタン */
.textbox_more button.is-more {
	background-color: var(--color-accent);
	color: var(--color-w);
}
.textbox_more button.is-more.is-more_main {
	background-color: var(--color-main);
	color: var(--color-w);
}
.textbox_more button.is-more.is-more_gold {
	background-color: var(--color-gold);
	color: var(--color-w);
}
.textbox_more button.is-more.is-more_A {
	background-color: #e34a79;
	color: var(--color-w);
}
.textbox_more button.is-more.is-more_B {
	background-color: #278aaa;
	color: var(--color-w);
}

/* ボタン */
.btn {
	animation: bound 1s infinite;
}
@keyframes bound {
	0%, 100% { transform: translateY(0px); }
	10% { transform: translateY(-10px); }
	20% { transform: translateY(-18px); }
	30% { transform: translateY(-22px); }
	40% { transform: translateY(-24px); }
	50% { transform: translateY(-25px); }
	60% { transform: translateY(-24px); }
	70% { transform: translateY(-22px); }
	80% { transform: translateY(-18px); }
	90% { transform: translateY(-10px); }
}
@keyframes hop {
	0%, 40% { transform: skew(0deg,0deg) }
	5% { transform: skew(5deg,5deg) }
	10% { transform: skew(-4deg,-4deg) }
	15% { transform: skew(3deg,3deg) }
	20% { transform: skew(-2deg,-2deg) }
	25% { transform: skew(1deg,1deg) }
	30% { transform: skew(-0.6deg,-0.6deg) }
	35% { transform: skew(0.3deg,0.3deg) }
}
@keyframes pulse {
	0% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); }
	50% { -webkit-transform: scale3d(1.05, 1.05, 1.05); transform: scale3d(1.05, 1.05, 1.05); }
	100% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); }
}
@keyframes btn {
	0% { transform: translateX(0); }
	5% { transform: translateX(0); }
	10% { transform: translateX(0); }
	20% { transform: translateX(-15px); }
	25% { transform: translateX(0); }
	30% { transform: translateX(-15px); }
	50% { transform: translateX(0); }
	70% { transform: translateX(-15px); }
	75% { transform: translateX(0); }
	80% { transform: translateX(-15px); }
	100% { transform: translateX(0); }
}
@keyframes animate73 {
	0% { transform: scale(0.92); }
	40% { transform: scale(0.97); }
	60% { transform: scale(0.86); }
	80% { transform: scale(1); }
	100% { transform: scale(0.92); }
}
@keyframes tada {
	from { transform: scale3d(1, 1, 1); }
	5%, 10% { transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
	15%, 25%, 35%, 45% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
	20%, 30%, 40% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
	50% { transform: scale3d(1, 1, 1); }
	to { transform: scale3d(1, 1, 1); }
}
.btn2 {
    position: relative;
	overflow: hidden;
}
.btn2::after {
    content: "";
	display: block;
    width: 140%;
    height: 100%;
    position: absolute;
    top: 0;
    left: -140%;
    animation: shine 4s ease-in-out infinite;
    background: linear-gradient(0, rgba(255,255,255,0.3) 0%, rgba(255,255,255,1.0) 51%, rgba(255,255,255,0.3) 100%);
    transform: skewX(-45deg);
    opacity: 0.5;
}
@keyframes shine {
	0% { left: -150%; opacity: 0; }
	50% { left: -150%; opacity: 0.5; }
	70% { left: -150%; opacity: .7; }
	100% { left: -20%; opacity: 0; }
}

/* ヘッダー */
header {
	background: var(--color-main);
}

/* メイン */
main {
	background: var(--color-w);
}

/* メイン ヘッダー以外のボタン */
.conBtn .is-bgfix-bg::before {
	background: var(--color-main) url(../img/btn_bg.png) center center no-repeat;
	background-size: cover;
}
.conBtn {
	overflow: hidden;
}
.conBtn .inner {
	max-width: var(--width-inner);
}
.conBtn .btn {
	margin: 0 auto;
}
.conBtn .btn_info_pre {
	text-align: center;
	font-size: var(--font-size-em);
	line-height: var(--font-height_mini2);
	margin-bottom: 1em;
	color: var(--color-accent);
	font-weight: bold;
    background: #ebccd6;
    padding: 0.5em;
	border-radius: 50px;
}
.conBtn .btn_info {
	text-align: center;
	font-size: var(--font-size-small);
	line-height: var(--font-height_mini2);
	margin-top: 1em;
}

/* フッター 固定ボタン */
.footerBtn {
	background: rgba(0,0,0,0.6);
}

/* フッター */
footer {
	background: var(--color-main);
	color: var(--color-w);
}
footer a {
	color: var(--color-w);
}


/* 20250204 推薦追加 */
.rec {
	/* background: var(--color-w) url(../img/rec_bg.png) top center repeat-y;
	background-size: 100%; */
	background: var(--color-base);
}
.rec .inner {
	background: var(--color-w);
}
.rec .txtbox {
    background: var(--color-w);
    padding: 1.5em 4%;
	color: #33000a;
    /* border: 2px solid var(--color-accent); */
}
.rec .taidan {
    background: linear-gradient(90deg, var(--color-accent) 0%, #cd839c 50%, var(--color-accent) 100%);
}
.rec .movie_video_outer {
	margin-top: 1em;
}


/* 20250313 家族割追加 */
.waku04 {
	border-radius: 10px;
	background: var(--color-base);
}
.family {
    background-color: #f2e8ea;
    background-image: url(../img/family_bg1.png), url(../img/family_bg2.png);
    background-repeat: repeat-y;
    background-size: 14%, 19%;
    background-position: 0% 1%, 102% 7%;
}
.family_ttl {
	text-align: center;
	color: var(--color-accent);
	border-bottom: 1px solid var(--color-accent);
	margin-bottom: 1em;
}




/* ================================================
   3-1 要素別設定 ファネル定型用 レイアウト設定
================================================ */

/* メイン動画 */
.fn-movie .movie_ar {
	position: relative;
	z-index: 1;
	margin: -70px auto 0;
	max-width: 600px;
}
.fn-movie .movie_hint {
	margin-top: 1em;
}

/* 重要ポイント */
.fn-point .point_navi {
	text-align: center;
	margin-bottom: 40px;
}
.fn-point .point_navi_list ul {
	display: flex;
    justify-content: space-evenly;
	margin: 15px 0 30px;
}
.fn-point .point_navi_list li a {
    width: 100%;
    height: 100%;
    display: block;
}
.fn-point .point_point h2 {
	margin-bottom: 20px;
}
.fn-point .point_point p {
	text-align: center;
	margin-bottom: 20px;
}
.fn-point .point_point_list {
	display: flex;
    flex-wrap: wrap;
    align-content: stretch;
    align-items: stretch;
}
.fn-point .point_point_list_li {
	width: 48%;
	margin-bottom: 2em;
    border-radius: 5px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.fn-point .point_point_list_li:nth-child(2n) {
	margin-left: 4%;
}
.fn-point .txt {
    padding: 10px 0;
    position: relative;
    display: flex;
}
.fn-point .txt_num {
    font-weight: bold;
    vertical-align: middle;
    margin-right: 0.2em;
    font-style: italic;
    width: 2em;
    height: 2em;
    line-height: 2em;
    text-align: center;
    width: 60px;
    position: relative;
    padding-right: 15px;
}
.fn-point .txt_ttl {
    padding-right: 10px;
    width: calc(100% - 85px);
    font-weight: bold;
    line-height: 1.4;
}
.fn-point .time {
    padding: 0 10px 10px;
    margin-top: auto;
}
.fn-point .time_time {
    text-align: center;
    font-weight: bold;
    font-style: italic;
    letter-spacing: 0.1em;
}
.fn-point .slick-prev,
.fn-point .slick-next {
	background: #000 !important;
	height: 100px !important;
	width: 40px !important;
	opacity: 0.7;
	z-index: 10;
}
.fn-point .slick-prev {
	border-radius: 0 10px 10px 0;
	left: 0;
}
.fn-point .slick-next {
	border-radius: 10px 0 0 10px;
	right: 0;
}
.fn-point .slick-prev:before,
.fn-point .slick-next:before {
    font-weight: bold;
}
.fn-point .slick-prev:before {
    content: '<' !important;
}
.fn-point .slick-next:before {
    content: '>' !important;
}

/* 豪華プレゼント */
.fn-tokuten .textbox_more {
    margin: 0 26px;
	padding: 0 4%;
    padding-bottom: 1px;
}
.fn-tokuten img[src$="_B.png"] {
    vertical-align: top;
}

/* プレゼント受取方法 */
.fn-flow h2 {
	text-align: center;
	padding: 15px 0;
	position: relative;
}
.fn-flow h2 img {
	width: 92%;
	max-width: 700px;
}
.fn-flow h2::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border: solid 40px transparent;
    position: absolute;
    bottom: -69px;
    left: 50%;
    transform: translate(-50%, 0);
}
.fn-flow .flow_ul {
	display: flex;
	justify-content: space-between;
    align-items: stretch;
}
.fn-flow .flow_ul a :hover {
	opacity: 0.8;
}
.fn-flow .flow_ul > li {
	-ms-flex-preferred-size: 22%;
	flex-basis: 30%;
	height: auto;
}
.fn-flow .flow_ul > li .icon {
	width: 80px;
	padding-top: 20px;
	height: 75px;
	margin: 0 auto 18px;
	display: block;
	border-radius: 50%;
	text-align: center;
	position: relative;
	letter-spacing: 2px;
}
.fn-flow .flow_ul > li .icon::before {
	content: "";
	border: solid transparent;
	border-width: 8px;
	position: absolute;
	top: calc(100% - 2px);
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.fn-flow .flow_ul > li dl {
	height: calc(100% - 93px);
	padding: 10px 10px;line-height: 1.5;
	margin: 0;
	position: relative;
}
.fn-flow .flow_ul > li dd > * {
	margin: 15px 0;
	display: block;
}
.fn-flow .flow_ul > li:not(:last-child) dl::before {
	content: "";
	width: 14px;
	height: 14px;
	margin-right: 10px;
	display: inline-block;
	position: absolute;
	top: calc(50% - 14px);
	left: 104%;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.fn-flow .flow_ul > li dl dt {
	-ms-flex-preferred-size: 20%;
	border-radius: 25px;
	flex-basis: 20%;
	margin-bottom: 1vh;
	text-align: center;
}
.fn-flow .flow_ul dd {
	height: auto;
}

/* LINEピン留め案内 */
.fn-linePin h2 {
	margin: 0 auto 1em;
	max-width: 550px;
}
.fn-linePin .linePin_txt {
	border-radius: 10px;
}

/* LINEへ相談誘導 */
.fn-lineSupport .lineSupport_img {
	margin: 1em auto;
}
.fn-lineSupport .lineSupport_txt {
	padding: 1em 4%;
}

/* 予告 */
.fn-next h2 {
    margin-bottom: 1em;
}

/* ファネル４ サービス内容 */
.fnFin-service h2 {
    margin-bottom: 2em;
}
.fnFin-service .service_ul > li {
	margin-top: 4em;
}
.fnFin-service .service_ul > li:first-child {
	margin-top: 0;
}
.fnFin-service.fnFin-service_vip .service_ul > li {
	margin-top: 10em !important;
}
.fnFin-service .service_service_li {
	background: var(--color-w);
	border-radius: 10px;
}
.fnFin-service .service_service_li .ttl {
    position: relative;
    top: -2em;
    margin-top: 2em;
    margin-bottom: -2em;
}
.fnFin-service .service_present {
	margin-top: 1em;
}
.fnFin-service .service_early {
	margin-top: 2em;
}

/* ファネル４ サービス内容 早期特典 */
.fnFin-service_early .service_early_box {
    margin-top: 2em !important;
}
.fnFin-service_early .service_early_box .ttl {
    position: relative;
    top: -1em;
}
.fnFin-service_early .service_early_box .txt {
	display: block;
	padding: 0 8% 1em;
}
.fnFin-service_early .service_early_box .listStyle.listStyle_A {
    box-shadow: 0px 0px 6px rgb(0 0 0 / 20%);
}

/* ファネル４ サービス一覧 */
.fnFin-serviceList .con h3 {
	margin: 2em 0;
}
.fnFin-serviceList .con .img li {
	margin-top: 1em;
}
.fnFin-serviceList .con .img li:first-child {
	margin-top: 0;
}

/* ------ sp ------ */
@media screen and (max-width: 700px){
	.fn-movie .movie_ar {
		margin-top: -7vw;
	}

	.fn-point .point_point_list {
		display: block;
	}
	.fn-point .point_point_list_li {
		display: flex !important;
		width: 100%;
	}
	.fn-point .point_point_list_li:nth-child(2n) {
		margin-left: 10px;
	}
	.fn-point .point_navi_list li {
		width: 23%;
		border-radius: 5px;
		font-size: var(--font-size-small);
		padding: 0.5em 0;
	}
	.fn-point .point_navi_list li::after,
	.fn-point .point_navi_list li a::after {
		display: block;
		margin: 0 auto;
		line-height: 1.2;
	}
	.fn-point .point_navi_list li.point_navi_list_on a::after {
		content: "公開中";
	}
	.fn-point .point_navi_list li.point_navi_list_off::after {
		content: "COMING SOON";
	}
	.fn-point .slick-list {
		overflow: unset;
	}
	.fn-point .slick-dots {
		bottom: -35px;
	}
	.fn-point .slick-dots li button:before {
		font-size: 10px;
	}
	.fn-point .slick-track {
		display: flex !important;
	}
	.fn-point .slick-slide {
		height: auto !important;
		margin: 0 10px;
	}

	.fn-tokuten .textbox_more {
		margin: 0 2.8vw;
		margin-top: -1px;
	}

	.fn-flow h2 {
		padding: 15px 10px;
		margin-bottom: 20px;
	}
	.fn-flow h2::after {
		border: solid 30px transparent;
		bottom: -49px;
	}
	.fn-flow .flow_ul > li:not(:last-child) dl::before {
		content: none;
	}
	.fn-flow .flow_ul > li dl {
		height: auto;
		margin-bottom: 20px;
	}
	.fn-flow .flow_ul {
		display: table-cell;
	}
	.fn-flow .step ul {
		padding: 0.5em;
	}
	.fn-flow .flow_ul dd {
		height: auto;
	}
	.fn-flow .flow_ul p {
		text-align: center;
	}
}





/* ================================================
   3-2 要素別設定 ファネル定型用 デザイン設定
================================================ */

/* メイン動画 */
.fn-movie {
	background: var(--color-main) url(../img/fn/movie_bg.png) top center repeat-y;
	background-size: 100%;
}

/* 重要ポイント */
.fn-point {
	background: transparent url(../img/body_bg.png) top center repeat-y;
	background-size: 100%;
}
.fn-point .point_navi_list li a {
	color: #fff;
}
.fn-point .point_point p {
	font-size: var(--font-size-small);
}
.fn-point .point_point_list_li {
    background: #fff;
    box-shadow: 0px 3px 6px rgb(0 0 0 / 20%);
}
.fn-point .txt_num {
    background: linear-gradient(-72deg, transparent, transparent 25%, #9c1836 0%, #9c1836 50%, #f0759e);
    color: #fff;
	text-shadow: var(--color-accent) 1px 0 10px;
}
.fn-point .txt_ttl {
    color: var(--color-accent);
}
.fn-point .time {
    background: linear-gradient(90deg, var(--color-sub), var(--color-w), var(--color-sub));
}
.fn-point .time_time {
	font-family: var(--font-family-serif);
	font-weight: bold;
    color: var(--color-main);
    font-size: 1.8em;
}
.fn-point .slick-prev,
.fn-point .slick-next {
	background: #000 !important;
}
.fn-point .slick-prev:before,
.fn-point .slick-next:before {
    color: #fff;
}

/* 豪華プレゼント */
.fn-tokuten {
	background: #222 url(../img/fn/tokuten_bg.png) center bottom no-repeat;
	background-size: 100%;
}
.fn-tokuten .textbox_more {
    background: #fff;
    border-left: solid 6px #fdf9b8;
    border-right: solid 6px #df9500;
}

/* プレゼント受取方法 */
.fn-flow .inner {
	max-width: 900px;
}
.fn-flow h2 {
	background: linear-gradient(90deg, #f0759e, #9c1836);
	color: #fff;
}
.fn-flow h2::after {
    border-top: solid 30px #C6466B;
}
.fn-flow .flow_ul > li .icon {
	font-family: 'Montserrat', sans-serif;
	line-height: 20px;
	color: #fff;
	background: rgb(29 180 176);
}
.fn-flow .flow_ul > li .icon::before {
	border-top-color:rgb(29 180 176);
}
.fn-flow .flow_ul > li dl {
	background: #fff;
	border: 3px solid  rgb(29 180 176);
}
.fn-flow .flow_ul > li:not(:last-child) dl::before {
	border-top: 4px solid rgb(29 180 176);
	border-right: 4px solid rgb(29 180 176);
}
.fn-flow .flow_ul > li dl dt {
	font-weight: 600;
	color: #fff;
	background: #f26930;
}
.fn-flow .flow_ul > li .icon {
	background: var(--color-accent);
}
.fn-flow .flow_ul > li .icon::before {
	border-top-color: var(--color-accent);
}
.fn-flow .flow_ul > li dl {
	border: 3px solid var(--color-accent);
}
.fn-flow .flow_ul > li:not(:last-child) dl::before {
	border-top: 4px solid var(--color-main);
	border-right: 4px solid var(--color-main);
}

/* LINEピン留め案内 */
.fn-linePin {
	background: var(--color-green);
}
.fn-linePin .linePin_txt {
	background: var(--color-w);
}

/* LINEへ相談誘導 */
.fn-lineSupport {
    background-color: #fff;
    background-image: url(../img/fn/lineSupport_bg1.png), url(../img/fn/lineSupport_bg2.png);
    background-repeat: repeat-y;
    background-size: 14%,19%;
    background-position: 0% 1%, 102% 7%;
}
.fn-lineSupport h2 {
	font-size: var(--font-size-em2);
	line-height: 1.4;
}
.fn-lineSupport .lineSupport_img {
	width: 70%;
	max-width: 400px;
}
.fn-lineSupport .lineSupport_txt {
	background: #fff;
}

/* 予告 */
.fn-next .is-bgfix-bg::before {
	background: #222 url(../img/fn/next_bg.png) center top no-repeat;
	background-size: cover;
}

/* ファネル４ 特徴 */
.fnFin-showcase {
	background: var(--color-w);
}

/* ファネル４ サービス内容 */
.fnFin-service .is-bgfix-bg::before {
    background: transparent url(../img/fnFin/service_bg.png) top right no-repeat;
    background-size: cover;
}

/* ファネル４ サービス内容 早期特典 */
.fnFin-service_early .is-bgfix-bg::before {
    background: transparent url(../img/fnFin/service_early_bg.png) center center no-repeat;
    background-size: cover;
}
.fnFin-service_early .service_early_box {
    background: transparent url(../img/fnFin/service_early_box_middle.png) top center repeat-y;
	background-size: 100%;
}
/* .fnFin-service_early-header {
    background: transparent url(../img/fnFin/service_early_bg-header.png) top center repeat-y;
    background-size: 100%;
} */

/* ファネル４ サービス一覧 */
.fnFin-serviceList {
	position: relative;
    background: transparent url(../img/fnFin/serviceList_bg.png) top center repeat-y;
    background-size: 100%;
}
.fnFin-serviceList .is-bgpoint-point {
    background: transparent url(../img/fnFin/serviceList_bg_point.png) top center no-repeat;
    background-size: 100%;
}

/* ファネル４ 今後の流れ */
.fnFin-flow {
    background: transparent url(../img/fnFin/flow_bg.png) top center repeat-y;
    background-size: 100%;
}

/* ------ sp ------ */
@media screen and (max-width: 700px){
	.fn-movie .movie_ar {
		margin-top: -7vw;
	}

	.fn-point .point_navi_list li {
		border: solid 1px var(--color-accent);
	}
	.fn-point .point_navi_list li::after,
	.fn-point .point_navi_list li a::after {
		font-size: var(--font-size-small2);
	}
	.fn-point .point_navi_list li.point_navi_list_on {
		color: var(--color-w);
		text-shadow: 0 0 10px var(--color-accent);
		background: linear-gradient(90deg, #f0759e, #9c1836);
	}
	.fn-point .point_navi_list li.point_navi_list_off {
		background: var(--color-w);
	}

	.fn-tokuten .textbox_more {
		border-left: solid 0.9vw #fdf9b8;
		border-right: solid 0.9vw #df9500;
	}

	.fn-flow h2::after {
		border-top: solid 20px #C6466B;
	}

	.fn-lineSupport h2 {
		font-size: var(--font-size-ttl-sp);
	}
}





/* ================================================
   4-1 要素別設定 レター定型用 レイアウト設定
================================================ */

/* 理想未来へのステップ */
.ltr-step .step_li {
	margin-top: 20px;
}
.ltr-step .step_li:first-child {
	margin-top: 0;
}
.ltr-step .step_li .is-animate-inner {
	background: var(--color-w);
	border-radius: 20px;
	border: 1px solid var(--color-gold);
	overflow: hidden;
}

/* 理由 */
.ltr-reason h3 {
	margin-bottom: 30px;
}

/* 保証 */
.ltr-safe .txt_02 h3 {
    padding: 0.5rem 1em;
    border-radius: 30px;
    background-color: #333;
    box-shadow: 0 0 5px black;
    color: #EBBB2F;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
	position: relative;
	top: -1em;
	width: fit-content;
	margin: 0 auto;
}

/* サービス一覧 */
.ltr-detail th,
.ltr-detail td {
	padding: 0.5em 1em;
}
.ltr-detail th {
	width: 10em;
	text-align: center;
}

/* CTA */
.ltr-cta .cause {
	border-radius: 20px;
	overflow: hidden;
	margin-bottom: 30px;
}
.ltr-cta .list img {
	margin-top: 1em;
}
.ltr-cta .info img {
    display: block;
	max-width: 400px;
	margin: 0 auto;
}

/* Q＆A */
.ltr-faq dl {
	margin: 20px 0;
	overflow: hidden;
}
.ltr-faq dt {
    display: flex;
    align-items: center;
	padding: 1em 4%;
	line-height: 1.4;
}
.ltr-faq dd > div {
	background-size: 8px 100%, /* 点線1のサイズ */
					 100% 2.5em; /* 点線2のサイズ */
	line-height: 2.5em; /* 文字の高さ */
	padding-bottom: 1px; /* 最終行の下にも罫線を引く */
}
.ltr-faq dd {
    display: flex;
    align-items: flex-start;
	padding: 1em 4%;
}
.ltr-faq dt::before,
.ltr-faq dd::before {
	flex-basis: 40px;
	flex-shrink: 0;
	margin-right: 20px;
	font-size: 30px;
	text-align: center;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 50%;
}
.ltr-faq dt::before {
	content: "Q";
}
.ltr-faq dd::before {
	content: "A";
}

/* ビフォーアフター動画 */
.ltr-bfaf h2 {
	margin-bottom: 30px;
}
.ltr-bfaf li {
	margin-top: 30px;
}
.ltr-bfaf li:first-child {
	margin-top: 0;
}
.ltr-bfaf .bfaf_li {
	border-radius: 10px;
    overflow: hidden;
}
.ltr-bfaf .movie {
	margin: 0 1em 1em;
}

/* お客様の声 */
.ltr-voice h2 {
	margin-bottom: 30px;
}
.ltr-voice li {
	margin-top: 30px;
}
.ltr-voice li:first-child {
	margin-top: 0;
}
.ltr-voice .voice_li {
	border-radius: 10px;
    overflow: hidden;
}
.ltr-voice .txt {
	margin: 0 1em 1em;
}
.ltr-voice .img {
	margin-top: 30px;
}

/* ------ sp ------ */
@media screen and (max-width: 700px){
	.ltr-detail th,
	.ltr-detail td {
		display: block;
		width: 100%;
	}
}





/* ================================================
   4-2 要素別設定 レター定型用 デザイン設定
================================================ */

/* 概要 */
.ltr-concept {
	background: #141317;
}
.ltr-concept .inner {
	background: transparent url(../img/ltr/concept_bg.png) top center no-repeat;
	background-size: 100%;
}

/* 特徴 */
.ltr-point {
	background: var(--color-base);
}

/* 理想未来へのステップ */
.ltr-step {
	background: transparent url(../img/ltr/step_bg.jpg) top center repeat-y;
	background-size: 100%;
}
.ltr-step .step_li_01 .textbox_more button.is-more {
    background-color: var(--color-accent);
}
.ltr-step .step_li_02 .textbox_more button.is-more {
    background-color: #EE5E79;
}
.ltr-step .step_li_03 .textbox_more button.is-more {
    background-color: #ee6100;
}

/* 比較表 */
.ltr-table {
	background: transparent url(../img/body_bg.png) top center repeat-y;
    background-size: 100%;
}

/* 理由 */
.ltr-reason {
	background: transparent url(../img/ltr/reason_bg.png) top center no-repeat;
    background-size: 100%;
}

/* やること */
.ltr-todo {
	background: transparent url(../img/body_bg.png) top center repeat-y;
    background-size: 100%;
}

/* VIP */
.fnFin-service_vip .is-bgfix-bg::before {
	background: transparent url(../img/fnFin/service_vip_bg.png) top center repeat-y;
	background-size: 100%;
}
.fnFin-service_vip .bonus {
	border: 3px double var(--color-gold);
}
.fnFin-service_vip .bonus h3 {
	color: var(--color-gold);
	margin-bottom: 1em;
	text-align: center;
}
.fnFin-service_vip .service_service_li .ttl {
    position: relative;
    top: -8em;
    margin-top: 8em;
    margin-bottom: -8em;
}

/* 保証 */
.ltr-safe {
	background: var(--color-base);
}
.ltr-safe .txt_01 {
	background: var(--color-w);
}
.ltr-safe .txt_02 {
    background-color: #fffeef;
    background-image: repeating-linear-gradient(45deg, #ffe497 0 5px, #fffeef 5px 10px);
    background-position: top;
    background-size: 100% 2rem;
    background-repeat: no-repeat;
}

/* 向いている人 */
.ltr-target {
	background: transparent url(../img/body_bg.png) top center repeat-y;
    background-size: 100%;
}

/* 受講までの流れ */
.ltr-flow {
	background: #cadeef;
}

/* サービス一覧 */
.ltr-detail th {
	background: var(--color-accent);
	color: var(--color-w);
}
.ltr-detail tr:nth-child(odd) td {
	background: var(--color-base);
}

/* CTA */
.ltr-cta .is-bgfix-bg::before {
	background: var(--color-main) url(../img/btn_bg.png) center center repeat-y;
	background-size: 100%;
}
.ltr-cta .cause {
	background: var(--color-w);
}

/* Q＆A */
.ltr-faq {
	background: transparent url(../img/body_bg.png) top center repeat-y;
	background-size: 100%;
}
.ltr-faq dl {
    border: 1px solid var(--color-main);
	background: var(--color-w);
	border-radius: 10px;
}
.ltr-faq dt {
	background: var(--color-sub) url(../img/ltr/faq_icon.png) right -10px center no-repeat;
	background-size: 70px;
	font-size: var(--font-size-em);
	font-weight: bold;
	color: var(--color-main);
}
.ltr-faq dd > div {
	background-color: #fff; /* 背景色 */
	background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), /* 点線1の色 */
					  linear-gradient(180deg, #ccc 1px, transparent 1px); /* 点線2の色と太さ */
}
.ltr-faq dt::before,
.ltr-faq dd::before {
    text-shadow: 3px 2px rgba(0, 0, 0, 0.2);
}
.ltr-faq dt::before {
	background: var(--color-main);
	color: var(--color-w);
}
.ltr-faq dd::before {
	background: var(--color-r);
	color: var(--color-w);
	font-weight: bold;
}

/* ビフォーアフター動画 */
.ltr-bfaf {
	background: transparent url(../img/body_bg.png) top center repeat-y;
    background-size: 100%;
}
.ltr-bfaf .bfaf_li {
	background: #ebccd6;
	border: 3px solid var(--color-accent);
}

/* お客様の声 */
.ltr-voice {
    background: transparent url(../img/ltr/voice_bg.png) top center repeat-y;
    background-size: 100%;
	color: #33000a;
}
.ltr-voice .voice_li {
	background: var(--color-w);
	border: 3px solid #5B1D00;
}

/* ------ sp ------ */
@media screen and (max-width: 700px){

}





/* ================================================
   5 要素別設定 共通
================================================ */

/* テクストブロック */
.txtblock.txtblock_A {
	background: var(--color-w);
}
.txtblock.txtblock_B {
	background: var(--color-base-gradient);
}

/* テクストブロック タイトル */
.txtblock h2 {
	background: transparent;
	padding: 0.5em 0;
	margin-bottom: 1em;
	text-align: center;
	font-family: var(--font-family-serif);
	font-size: var(--font-size-ttl);
	letter-spacing: var(--font-spacing-wide);
	line-height: var(--font-height_mini2);
	color: var(--color-main);
	border-top: solid 1px var(--color-main);
	border-bottom: solid 1px var(--color-main);
}
.txtblock h2 .h2_sub {
	display: inline-block;
	margin-bottom: 0.2em;
	font-size: 0.8em;
	color: var(--color-w);
	background: var(--color-main);
	border-radius: 100px;
	padding: 0.2em 1em;
}

/* チェックリスト */
.listStyle {
    padding: 1em;
    border-radius: 10px;
}
.listStyle li {
	margin: 1em 0 !important;
    margin-left: 1.5em !important;
    text-indent: -1.5em !important;
}
.listStyle li::before {
	display: inline;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: '\f00c'' ';
}
.listStyle.listStyle_A {
    background: var(--color-base);
}
.listStyle.listStyle_A li::before {
    color: var(--color-main);
}
.listStyle.listStyle_B {
    background: var(--color-w);
}
.listStyle.listStyle_B li::before {
    color: var(--color-accent);
}
/* チェックリスト 補足枠 */
.listStyle .listStyle_note {
	text-indent: 0px;
	padding: 1em;
	font-size: var(--font-size-small);
	border: var(--color-accent) 1px solid;
	border-radius: 5px;
	color: var(--color-accent);
}

/* タイトル＋画像＋テキストのリストボックス */
.listbox .is-animate-inner {
	border-radius: 10px;
	overflow: hidden;
}
.listbox li {
	margin-top: 30px;
}
.listbox li:first-child {
	margin-top: 0;
}
.listbox .txt {
	padding: 1em;
}
.listbox_A .is-animate-inner {
	background: var(--color-w);
	border: var(--color-accent) 3px solid;
}
.listbox_B .is-animate-inner {
	background: #fcf0e5;
	border: #b38966 3px solid;
}

/* 枠 */
.waku01 {
	border-radius: 10px;
	background: var(--color-w);
}
.waku02 {
	background: var(--color-w);
	border: 1px solid var(--font-color);
}
.waku03 {
	background: var(--color-w);
	border: 1px solid #ccc;
}

/* 注釈 */
.notice h4 {
	margin-top: 1em;
    padding: 0 1em;
    width: fit-content;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    background: var(--color-accent);
    color: var(--color-w);
}
.notice .txt {
    padding: 0.5em 1em;
    text-align: left;
    background: #e6d3d9;
    border: 2px solid var(--color-accent);
}

/* ------ sp ------ */
@media screen and (max-width: 700px){
	.txtblock h2 {
		font-size: var(--font-size-ttl-sp);
	}
}





/* ================================================
   6 要素別設定 個別 背景
================================================ */

.lead {
	background: var(--color-main);
}
.profile .is-bgfix-bg::before {
	background: var(--color-gold) url(../img/profile_bg.png) top center repeat-y;
	background-size: 100%;
}
.method .is-bgfix-bg::before {
	background: #916F3B url(../img/method_bg.png) top center no-repeat;
	background-size: cover;
}
.method_step {
	background: var(--color-w);
}
.cm {
	background: var(--color-main-gradient);
}
.method_prep {
    background: transparent url(../img/body_bg.png) top center repeat-y;
    background-size: 100%;
}
.future {
	background: var(--color-sub) url(../img/future_bg.png) top center repeat-y;
	background-size: 100%;
}
.flow {
	background: #cadeef;
}


/* ------ sp ------ */
@media screen and (max-width: 700px){
	.profile {
		background: var(--color-sub) url(../img/profile_bg.png) top center repeat-y;
		background-size: 100%;
		background-attachment: fixed;
	}
}





/* ================================================
   7 要素別設定 個別 デザイン設計
================================================ */

.profile_box {
	background: var(--color-w);
	border: solid 1px var(--color-main);
}
.profile_box_ttl {
	margin-bottom: 1em;
}
.profile_li_01 {
	margin-bottom: 1em;
}

.method_01,
.method_02 {
	background: var(--color-w);
	border-radius: 10px;
}
.method_01 h3,
.method_02 h3 {
	position: relative;
	top: -3em;
	margin-bottom: -3em;
	margin-top: 3em;
}
.method_02 h3 {
	margin-top: 4em;
}

.flow,
.flow .inner {
	position: relative;
}
.flow_btn {
	position: absolute;
	top: 29%;
	left: 16%;
	width: 78%;
}

.worry_img {
	margin: 40px auto 0;
	max-width: 600px;
}

.reason {
    background: transparent url(../img/body_bg.png) top center repeat-y;
    background-size: 100%;
}
.reason > div {
	background: var(--color-w);
}
.reason1 {
    background: transparent url(../img/reason_bg.png) bottom center no-repeat;
    background-size: 100%;
    padding-bottom: 10%;
}

.adlp-lecture {
    background: transparent url(../img/adlp/lecture_bg.png) top center repeat-y;
    background-size: 100%;
}

/* ------ sp ------ */
@media screen and (max-width: 700px){
	.worry_img {
		margin: 1em auto 0;
	}
}