@charset "UTF-8";

/* Custom page CSS
-------------------------------------------------- */
/* ========================================
BootStrap5 - Breakpoint
@media (min-width: 576px)  {   }
@media (min-width: 768px)  {   }
@media (min-width: 992px)  {   }
@media (min-width: 1200px) {   }
@media (min-width: 1400px) {   }
======================================== */


:root {
    --beige-color: #f3f1e8;
    --blue-color: #004e97;
    --dark-blue-color: #052444;
    --light-blue-color: rgb(71, 170, 216);
    --yellow-color: #ffdd00;
    --green-color: #029405;
    --note-color: #9a9064;
    --gray-color: #dddddd;
    --dark-gray-color: #a1a1a1;
    --gray-square-size: 60px;
    --options-title-height: 50px;
	--bs-border-color: #999;
}

.navbar {
	--bs-navbar-toggler-padding-y: 0.125rem;
	--bs-navbar-toggler-padding-x: 0.5rem;
	--bs-navbar-brand-margin-end: 0.25rem;
}
.navbar-toggler-icon {
	width: 1.125em;
	height: 1.25em;
}


/********************************
    DISPLAY DEVICE
*********************************/
.pc { display:block !important;}
.sp { display:none !important;}

@media screen and (max-width: 599px) {
	.pc { display:none !important;}
	.sp { display:block !important;}
}


html, body {
	/* font-family: "Josefin Sans","Open Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif; */
	font-family: "Noto Sans JP",Arial,sans-serif;
	font-size: 18px;
	line-height: 1.8em;
	font-weight: 400;
	color: var(--bs-black);
}
body {
	position: relative;
	width: 100%;
	overflow-x: hidden;
}
main > .container-fluid { padding: 60px 15px;}

header { line-height: 1.0;}
header .navbar { padding: 0;}
header .nav-link { font-weight: bold; line-height: 1.5;}
header .navbar-brand img { height: 50px;}
header .offcanvas-title img { width:90%;}
@media screen and (max-width: 767px) {
	html, body { font-size: 16px;}
	header .offcanvas-body .navbar-nav { margin-bottom: 1.5em;}
}
@media screen and (max-width: 480px) {
	header .navbar-brand img {
		height: 32px;
	}
	.hd_tel_wrap { text-align: center;}
	.hd_tel,
	.hd_uke { display: block;}
	.hd_tel {
		margin-bottom: 0.125em;
		font-size: 20px;
		font-weight: 600;
		font-family: "Times New Roman", Times, serif;
		color: #036;
	}
	.hd_tel::before {
		content: "";
		display: inline-block;
		width: 22px;
		height: 15px;
		background: url(_imgs_saigai/icon_freedial.png) no-repeat;
		background-size: contain;
		margin-right: 3px;
		margin-bottom: -2px;
	}
	.hd_uke { font-size: 11px; color: #036;}
}


footer   { font-size: 13px;}
footer a { color: #FFF;}

section { padding: 80px 0 80px;}


/********************************
    COMMON
*********************************/
h1, .h1, h2, .h2, h3, .h3 { margin-bottom: 0; line-height: 1.5;}
rt { font-size: 15px; font-weight: normal;} /* ルビ */

a { text-decoration: none;}

.memo      { font-size: 0.75em;}

small      { font-size: 0.75rem;}
.xlarge    { font-size: 1.75em;}
.larger    { font-size: 1.5em;}
.large     { font-size: 1.25em;}
.small     { font-size: 0.85em;}
.smaller   { font-size: 0.7em;}
.xsmall    { font-size: 0.5rem;}

.fw_bold   { font-weight: bold;}
.fw_normal { font-weight: normal;}

.text-yellow { color: yellow;}
.text-orange { color: #FF5F00;}

.underline     { text-decoration: underline;}
.underline_yl  { border-bottom: 2px solid #FCD021;}
.emphasis_yl   { color: #FCD021}
.emphasis_maru { text-emphasis: circle #FF3030;}

.marker { background: linear-gradient(transparent 90%, #fd7e00 90%); margin-right:4px; margin-left:4px;}

.inline-block { display: inline-block;}

.rt-center { text-align: center; letter-spacing: 0;} /* ルビのセンタリング */

/* CONTACT BUTTONS */
.button_wrap { font-size: 15px; line-height: 1.1;}
.button_wrap a { display:block;}

a.btn-c {
	margin: 0.25em 0.75em;
	padding: 0.5rem 2.0rem;
	border-radius: 0;
	font-size: 28px;
}

a.btn--orange,
a.btn--blue,
a.btn--green,
a.btn--white {}

a.btn--orange        { background: #eb6100; color: #fff; font-weight: 400;}
a.btn--orange:hover,
a.btn--orange:active { background: #D00; color: #fff;}
a.btn--blue          { background: #004E97; color: #fff; font-weight: 400;}
a.btn--blue:hover,
a.btn--blue:active   { background: #134469; color: #fff;}
a.btn--green         { background: #06C755; color: #fff; font-weight: 400;}
a.btn--green:hover,
a.btn--green:active  { background: #00814A; color: #fff;}
a.btn--white         { background: #fff; color: #036; font-weight: 400;}
a.btn--white:hover,
a.btn--white:active  { background: #003366; color: #fff;}

a.btn--line          { background: #fff; color: #06C755; font-weight: 400; border: 3px solid #06C755;}
a.btn--line:hover,
a.btn--line:active   { background: #00814A; color: #fff;}


.line { font-size: 30px; font-weight: 600;}
.line::before {
	content: "";
	display: inline-block;
	width: 54px;
	height: 60px;
	background: url("_imgs_saigai/icon_line.png") no-repeat;
	background-size: contain;
	background-position: center 8px;
	margin-right: 8px;
	margin-bottom: -17px;
}
.email { font-size: 30px; font-weight: 600;}
.email::before {
	content: "";
	display: inline-block;
	width: 54px;
	height: 32px;
	background: url("_imgs_saigai/icon_email.png") no-repeat;
	background-size: contain;
	margin-right: 3px;
	margin-bottom: -5px;
}
.freedial { font-size: 42px; font-weight: 600; font-family: "Times New Roman", Times, serif;}
.freedial::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 32px;
	background: url("_imgs_saigai/icon_freedial.png") no-repeat;
	background-size: contain;
	margin-right: 3px;
	margin-bottom: -2px;
}
.uketsuke { font-size: 16px;}

.btn--line     { line-height:2.10; max-height: 88px;}
.btn--email    { line-height:2.35; max-height: 88px;}
.btn--freedial { line-height:1.25; max-height: 88px;}

@media screen and (max-width: 1025px) {
	a.btn-c { margin: 0.5em 0; padding: 0.5rem 1.5rem;}

	.line     { font-size: 24px;}
	.email    { font-size: 24px;}
	.freedial { font-size: 36px;}
	.uketsuke { font-size: 14px;}

	.email::before    { width: 40px; height: 26px;}
	.freedial::before { width: 50px; height: 28px;}
	.line::before     { width: 40px; height: 60px; margin-bottom: -25px;}

	.btn-email    { line-height:2.35; max-height: 80px;}
	.btn-freedial { line-height:1.25; max-height: 80px;}
	.btn--line    { line-height:2.0 ; max-height: 80px;}
}
@media screen and (max-width: 768px) {
	a.btn-c { margin: 0.5em; padding: 0.5rem 1.125rem; font-size: 24px;}

	.line     { font-size: 22px;}
	.email    { font-size: 22px;}
	.freedial { font-size: 32px;}
	.uketsuke { font-size: 12px;}

	.btn-email    { line-height:2.35; max-height: 70px;}
	.btn-freedial { line-height:1.25; max-height: 70px;}
	.btn--line    { line-height:2.0 ; max-height: 70px;}
}
@media screen and (max-width: 480px) {
	.button_wrap { font-size: 15px;}
	.btn-email { line-height: 1.75;}
}


/********************************
    OFFCANVAS
*********************************/
.offcanvas { max-width: 90%;}
header .nav-link:hover,
header .nav-link:active { color: #00f;}


/********************************
    CTA
*********************************/
#cta { position: relative; padding: 30px 0;}
#cta .cta_lead_text  { line-height: 1.5; font-size: 1.5em; font-weight: bold;}
#cta .cta_button_box { margin-top: 0.5em; margin-bottom: 0.5em;}
#cta .cta_image      { position: absolute; right: 20%; top: -50px; width: 320px;}

@media screen and (max-width: 1980px) {
	#cta .cta_image     { right: 10%; top: -60px; width: 300px;}
}
@media screen and (max-width: 1400px) {
	#cta .cta_image     { right: 5%; top: -60px; width: 280px;}
}
@media screen and (max-width: 1025px) {
	#cta .cta_image     { right: 0; top: -100px; width: 240px;}
}
@media screen and (max-width: 768px) {
    #cta .cta_image     { right: 0; top: -80px; width: 210px;}
	#cta .cta_lead_text { font-size: 1.5em;}
}
@media screen and (max-width: 480px) {
	#cta .cta_image     { right: 10%; top: -8vh; width: 36%;}
	#cta .cta_lead_text { font-size: 1.35em;}
}


/********************************
    OBI
*********************************/
.obi_blue {
	position: relative;
	padding: 2.0em 0;
	background: var(--blue-color);
	color: #FFF;
	font-size: clamp(0.938rem, 0.597rem + 1.7vw, 1.875rem);
	line-height:1.6;
	text-align: center;
}
.obi_blue .soudan { position:absolute; bottom:0; right:15%; width:260px;}

@media screen and (max-width: 1025px) {
	.obi_blue .soudan { position:absolute; bottom:0; right:10px; width:200px;}
}
@media screen and (max-width: 768px) {
	.obi_blue .soudan { position:absolute; bottom:0; right:20px; width:200px;}
}
@media screen and (max-width: 480px) {
	.obi_blue .soudan { display: none;}
}


/********************************
    OBI LARGE
*********************************/
.obi_blue_large {
	background: var(--blue-color);
	color: #FFF;
	font-size: clamp(0.938rem, 0.597rem + 1.7vw, 1.875rem);
	line-height: 1.6;
	text-align: center;
	padding-top: 40px;
}
.obi_blue_large .soudan_text_wrap { position:relative; margin-right:30px;}
.obi_blue_large .soudan_text_wrap .soudan_text { margin:0.5em 0.25em; padding:0.25em 0.25em 0.25em 0.5em; background:#fff; border-radius:8px; color:#111;  font-size: 0.9em; font-weight:bold; text-align:left;}
.obi_blue_large .soudan_text_wrap .soudan_text::before {content: '・ ';}
.obi_blue_large .soudan_text_wrap .nado { position:absolute; right:-70px; bottom:0;}

@media screen and (max-width: 1025px) {
	.obi_blue_large .soudan_text_wrap .soudan_text { font-size: 0.75em;}
	.obi_blue_large .soudan_text_wrap .nado { font-size: 0.75em; right:-50px;}
	.sub_text { font-size: 0.9em;}
}
@media screen and (max-width: 768px) {
	.obi_blue_large { padding-top: 30px; padding-bottom: 30px;}
}
@media screen and (max-width: 480px) {
	.obi_blue_large { padding-top: 40px; padding-bottom: 40px;}
	.obi_blue_large .soudan_text_wrap { margin-right: 0;}
	.obi_blue_large .soudan_text_wrap .soudan_text { font-size: 1.0em; margin: 0.25em 0; padding:0.25em 0.125em 0.25em 0.25em;}
	.obi_blue_large .soudan_text_wrap .nado { font-size: 1.0em; right: 10px; bottom: -36px;}
	.sub_text { margin-top:30px; font-size: 1.25em;}
	.obi_blue_large .soudan { display: none;}
}


/********************************
    BTN-BOX
*********************************/
.btn_box{
	position: relative;
	top: -50px;
	left: calc(100% / 2);
	transform: translate(-50%, -50%);
	width: 100%;
	height: 0;
	color: #fff;
}
.btn-ugo {
	color: #fff;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: .1em;
	text-align: center;
	width: 580px;
	height: 100px;
	margin: auto;
	padding-top: 15px;
	border: 3px solid #2E3A59;
	background: #004E97;
	position: relative;
	display: block;
	overflow: hidden;
	transition: 0.5s;
	border-radius: 100px;
	text-decoration: none;
}
.btn-ugo:after {
	font-family: "FontAwesome";
	content: "\f105";
	position: absolute;
	right: 20px;
	transition: all 0.2s;
	color: #fff;
	top: 31%;
}
.btn-ugo:hover       { background: #222;}
.btn-ugo:hover:after { right: 15px;}
.catch_txt { display: block; font-size: 0.7em;}
.pill {
	margin-left:10px;
	padding:1px 1em 3px;
	background: #FCD021;
	border-radius: 30px;
	color: #111;
	font-size: 0.85em;
}
@media screen and (max-width: 599px) {
	.btn_box{
		position: relative;
		top: -60px;
		left: calc(100% / 2);
	}
	.btn-ugo {
		width: 92%;
		height: 120px;
		border: 2px solid #fff;
	}
	.btn-ugo:after {
		content: none;
	}
	.catch_txt { display: block; font-size: 12px;}
	.pill { display: block; width: 6em; margin:0 auto; font-size:0.75em;}
}


/********************************
    DIVIDER
*********************************/
.divider {
	position: relative;
	margin-top: -1px;
}
.custom-shape-divider-top-1631532852 {
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
}
.custom-shape-divider-top-1631532852 svg {
	position: relative;
	display: block;
	width: calc(100% + 1.3px);
	height: 100px;
}
.custom-shape-divider-top-1631532852 .shape-fill {
	fill: #2E3A59;
}
@media screen and (max-width: 599px) {
	.custom-shape-divider-top-1631532852 svg {
		height: 60px;
	}
}


/********************************
    SECTIONs
*********************************/
/* ------------------------
#intro       イントロ
#komatta     こんな困った
#omakase     補償内容
#diffs       違い
#merit       加入のメリット
#conditions  加入条件
#price       料金プラン
#faq         ＦＡＱ
#contact     お問い合わせ
------------------------ */

/********************************
    SECTION TITLE
*********************************/
#komatta h2,
#reason h2,
#diffs h2,
#conditions h2,
#price h2,
#faq h2 {
	font-size: 2.5em;
	font-weight: bold;
	margin-bottom: 1.0em;
	letter-spacing: 0.125em;
	text-align: center;
	line-height: 1.2;
}
#komatta h2::before,
#diffs h2::before,
#conditions h2::before,
#price h2::before,
#faq h2::before {
	content: attr(data-en);
	display: block;
	color: #AAA;
	font-family: 'Times New Roman','Verdana';
	font-size: 20px;
	font-weight: normal;
	letter-spacing: 4px;
	text-transform: uppercase;
	line-height: 1.5;
}
@media screen and (max-width: 1024px) {
	#komatta h2,
	#reason h2,
	#diffs h2,
	#conditions h2,
	#price h2,
	#faq h2 {
		font-size: 1.75em;
		letter-spacing: 0;
	}
	#komatta h2::before,
	#reason h2::before,
	#diffs h2::before,
	#conditions h2::before,
	#price h2::before,
	#faq h2::before {
		font-size: 12px;
		letter-spacing: 2px;
	}
}
@media screen and (max-width: 480px) {
	#komatta h2,
	#reason h2,
	#diffs h2,
	#conditions h2,
	#price h2,
	#faq h2 {
		font-size: 1.4em;
		letter-spacing: 0;
	}
	#komatta h2::before,
	#reason h2::before,
	#diffs h2::before,
	#conditions h2::before,
	#price h2::before,
	#faq h2::before {
		font-size: 13px;
		letter-spacing: 2px;
	}
}


/********************************
    INTRO
*********************************/
.intro {
	background: #fff;
	background-image: url(./_imgs_saigai/hero_bg.png);
	background-size: contain;
	background-position: bottom 0 left 80%;
	background-repeat: no-repeat;
}
.hero_box    { position: relative; padding: 80px 0 60px; z-index: 0;}
.hero_illust { position: absolute; right: -80px; bottom:0; width: 200px; z-index: 0;}
.semi-title { position:relative; margin-bottom:15px; font-size:30px; font-weight: bold;}
.monthly {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	margin-right: 4px;
	margin-bottom: -5px;
	padding: 6px 6px 8px;
	background: #2E3A59;
	border-radius: 5px;
	color: #fff;
	font-size: 15px;
	font-weight: normal;
	line-height: 1.0;
}
.price5k  { font-size: 48px;}
.yen      { position:relative; font-size: 26px; margin-right:1px; margin-left: 5px;}
.zeibetsu {
	position: absolute;
	display: block;
	top: -17px;
	right: -5px;
	font-size: 12px;
	white-space: nowrap;
	font-weight: normal;
}
.intro h1 {
	margin: 0.3em 0 0.5em;
	font-size: 68px;
	font-weight: bold;
	line-height: 1.2;
}
.sub_accent {
	width: 10em;
	text-align: center;
	margin-bottom: -8px;
	transform:rotate(-5deg); 
}
.sub_accent span {
	position: relative;
	display: inline-block;
	padding: 0 28px 0 38px;
	font-size: 20px;
	font-weight: 700;
}
.sub_accent span::before,
.sub_accent span::after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 30px;
	height: 1px;
	background: #444;
}
.sub_accent span::before { left:0; transform: rotate(60deg);}
.sub_accent span::after  { right: 0; transform: rotate(-60deg);}
.balloon {
	position: relative;
	width: auto;
	padding: 0.125em 1.0em 0.25em;
	margin: 0 auto;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	background-color: #FCD021;
	border-radius: 30px;
	z-index: 1;
}
.fukumu::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 70%;
	transform: translateX(-50%) skew(-10deg);
	width: 0;
	height: 0;
	border: 12px solid transparent;
	border-top-color: #FCD021;
	border-left-color: #FCD021;
}
.solar { display: block; font-size: 26px;}
.owner_wrap { position: relative;}
.owner      { position: absolute; bottom: -12%; left: 0; width: 130px; z-index: 2;}
.lead_box   { margin:1em 0 1em 65px; padding: 1em 2em 1.125em 5.5em; background:RGBA(140, 140, 140, 80); clip-path: polygon(0 0, 100% 0%, 95% 100%, 0% 100%);}
.lead_text  { margin: 0; font-size: 22px; line-height: 1.5; color: #fff; font-weight: bold;}

@media screen and (max-width: 1024px) {
	.intro {
		background-position: top right;
		background-size: 110%;
	}
	.hero_illust { position: absolute; right: -22%; bottom: 0; width: 150px;}
	.owner { position: absolute; bottom: 5%; left: 0; width: 120px; z-index: 2;}
}
@media screen and (max-width: 599px) {
	.intro {
		margin: 0;
		padding: 80px 0 0;
		background: #fff;
		background-image: url(./_imgs_saigai/hero_bg.png);
		background-size: 125%;
		background-position: top center;
		background-repeat: no-repeat;
		background-color: #004E97;
	}
	.hero_box    { padding: 40px 0 70px;}
	.hero_illust { position: absolute; right: 0; bottom: 0; width: 90px;}
	.semi-title {
		margin-bottom: 15px;
		font-size: 18px;
		font-weight: bold;
		display: inline-block;
		background: #fff;
		padding: 8px 12px 3px 10px;
		filter: drop-shadow(4px 4px 0 #000);
		letter-spacing: 0;
		white-space: nowrap;
	}
	.monthly    {
		margin-right: 4px;
		margin-bottom: -5px;
		padding: 4px 4px 3px;
		background: #2E3A59;
		border-radius: 5px;
		color: #fff;
		font-size: 12px;
		font-weight: normal;
		letter-spacing: 2px;
	}
	.price5k    { font-size: 34px;}
	.yen        { font-size: 20px;}
	.zeibetsu {
		top: -17px;
		right: -3px;
		font-size: 10px;
		white-space: nowrap;
		font-weight: normal;
	}
	.sub_accent {
		text-shadow: 1px 1px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,-1px -1px 0 #fff;
	}
	.balloon {
		padding: 0.15em 0.75em 0.25em;
		filter: drop-shadow(4px 4px 0 #000);
		letter-spacing: 0;
	}
	.intro h1 {
		margin: 0.5em 0 0.5em;
		font-size: 40px;
	}
	.solar { display: inline-block; background: #fff; padding: 2px 8px 5px; filter: drop-shadow(4px 4px 0 #000);}
	.hosyo { display: inline-block; background: #fff; padding: 2px 5px 5px; filter: drop-shadow(4px 4px 0 #000); margin-top: 7px; letter-spacing: -3px;}
	.owner { position: absolute; top: 20px; left: 0; width: 90px; z-index: 2;}
	.lead_box  { margin: 1em -12px 0; padding: 20px 10px 80px 115px; background:RGBA(140, 140, 140, 80); clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);}
	.lead_text { margin: 0; font-size: 18px; line-height: 1.5; color: #fff; font-weight: bold;}
}


/********************************
    KOMATTA
*********************************/
.komatta { background: #2E3A59; padding:140px 0 40px;}
.title_accent {
	text-align: center;
	margin-bottom: 1em;
}
.title_accent span {
	position: relative;
	display: inline-block;
	padding: 0 40px 0 52px;
	font-size: 40px;
	font-weight: 700;
	color: #FCD021;
}
.title_accent span::before,
.title_accent span::after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 40px;
	height: 3px;
	background: #fff;
}
.title_accent span::before {
	left:0;
	transform: rotate(60deg);
}
.title_accent span::after {
	right: 0;
	transform: rotate(-60deg);
}
.balloon-left {
	position: relative;
	padding: 15px 50px;
	background-color: #fff;
	margin-bottom: 2em;
	margin-left: 1em;
	border-radius: 8px;
	font-size: 24px;
	font-weight: bold;
}
.balloon-left::before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: -15px;
	top: 15px;
	border-right: 15px solid #fff;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
}
.yobikake    { margin-top: 30px; padding: 25px; border: 3px solid #fff; border-radius: 10px; color: #fff;}
.yobikake h4 { text-align: center; line-height: 1.5;}

@media screen and (max-width: 599px) {
	.komatta { padding:100px 0 40px;}
	.title_accent span {
		font-size: 24px;
		padding: 0 36px 0 40px;
	}
	.balloon-left {
		margin: 0 10px 15px;
		padding: 10px 16px;
		font-size: 18px;
	}
	.balloon-left::before {
		border: none;
	}
	.pic_higai {
		box-shadow: 7px 7px #aaa;
		outline: 6px solid #2E3A59;
		border: 3px solid #2E3A59;
	}
	.yobikake {
		margin-top: 40px;
	}
	.yobikake h4 { font-size: 20px;}
}


/********************************
    OMAKASE
*********************************/
.omakase { background: #E0FFEB; padding-top: 120px;}
.omakase_box {
	padding: 25px;
	border: 3px solid #004E97;
	border-radius: 10px;
	text-align: center;
	background: #fff;
}
.omakase_box img { display: block; width: 100%; margin: 0 auto;}
.omakase_box p { margin: 0.5em 0 0; text-align: center; line-height: 1.3; font-size: 1.25em; font-weight: bold;}
.omakase_box p span { font-size: 0.7em; font-weight: normal;}

.balloon-right {
	position: relative;
	margin: 0 auto;
	padding: 20px 50px;
	background-color: #004E97;
	border-radius: 8px;
	color: #fff;
	width: 600px;
	font-size: 30px;
	font-weight: bold;
}
.balloon-right::before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	right: -15px;
	top: 20px;
	border-left: 15px solid #004E97;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
}
.round-waku {
	border: 2px solid #111;
	width: 500px;
	display: block;
	margin: 20px auto;
	padding: 0.5em;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	background: #fff;
	border-radius: 30px;
}
@media screen and (max-width: 1024px) {
	.omakase_box {
		margin-bottom: 15px;
		padding: 8px 0 15px;
	}
	.omakase_box img {
		width: 95%;
	}
	.balloon-right {
		padding: 15px 20px;
		width: 100%;
		text-align: center;
		line-height: 1.3;
	}
}
@media screen and (max-width: 599px) {
	.omakase { padding: 90px 0 40px;}
	.omakase_box {
		margin-bottom: 10px;
		padding: 8px 0 10px;
	}
	.omakase_box img {
		width: 90%;
	}
	.balloon-right {
		padding: 15px 20px;
		width: 100%;
		text-align: center;
		line-height: 1.3;
	}
	.balloon-right::before {
		content: '';
		position: absolute;
		display: block;
		width: 0;
		height: 0;
		left: calc(50% - 15px);
		top: unset;
		bottom: -30px;
		border-top: 15px solid #004E97;
		border-right: 15px solid transparent;
		border-left: 15px solid transparent;
	}
	.round-waku {
		width: 85%;
	}
}


/********************************
    DIFFS
*********************************/
.table_diffs th,
.table_diffs td { vertical-align: middle; font-size: 1.15em; width: 1%;}
.table_diffs th { line-height: 1.1; background: #F5F5F5;}
.table_diffs td span.memo  { display:block; font-size: 0.7em;} 
.table_diffs th:nth-of-type(2) { background: #B6E5FF;}
.table_diffs td:nth-of-type(2) { background: #DBF2FF; font-weight: 900;}
@media screen and (max-width: 599px) {
	.diffs { padding: 40px 0 40px;}
	.table_diffs th,
	.table_diffs td { font-size: 1.0em; width: 1%; padding: 0.5em 2px; height: 3.5em; line-height: 1.2;}
}


/********************************
    MERIT
*********************************/
.merit { background: #D1EAF5; padding:0;}
.merit h3 { font-size: 36px; font-weight: bold;}
ul.merit_list    { list-style-type:none; margin:0; padding:0;}
ul.merit_list li { margin:0.75em 0; padding:9px 15px; background: #004E97; border-radius: 100px; font-size:1.35em; color: #fff; text-align: center;}
.merit_inner { padding: 80px;}
.merit_cover {
	background-image: url(./_imgs_saigai/merit_cover.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
@media screen and (max-width: 1024px) {
	.merit_inner { padding: 60px 30px;}
	.merit h3 { font-size: 30px;}
}
@media screen and (max-width: 599px) {
	.merit {
		margin: 0;
		background-image: url(./_imgs_saigai/merit_cover.jpg);
		background-color: rgba(255,255,255,0.5);
		background-blend-mode: lighten;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}
	.merit h3 { padding: 0; font-size: 22px; line-height: 1.9;}
	.merit h3 .white_back { padding: 2px 0.5em 4px; background: #fff;}
	.merit_inner { padding: 40px 0 40px;}
	ul.merit_list    { display: table; margin:15px 40px; display:flex; flex-direction:column; align-items:center;}
	ul.merit_list li { width:100%; margin:10px 0; padding:9px 20px; background: #004E97; font-size:1.15em; line-height: 1.4;}
	ul.merit_list li.shorttext { padding:22px 20px;}
}


/********************************
    CONDITIONS
*********************************/
.condition3    { padding: 25px; border: 3px solid #004E97; border-radius: 10px; text-align: center;}
.condition3 h3 { margin-bottom: 0.5em; line-height: 1.3;}
.condition3 p  { text-align: left; text-align: justify; margin-bottom: 0;}
.condition3 p.condition_text_01 { min-height: 9em;}
.condition3 p.condition_text_02 { min-height: 6.75em;}
.circle_number {
	width: 52px;
	height: 52px;
	margin: 0 auto 8px;
	padding: 8px;
	border: 1px solid #fff;
	border-radius: 50%;
	box-sizing: border-box;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	color: #fff;
}
.num01 { background: #2393D9;}
.num02 { background: #E7629B;}
.num03 { background: #006AC8;}

.fulfilled { padding: 2em 0; background: #004E97; text-align: center; color: #fff; line-height: 1.6;}
.fulfilled p span { font-size: 2em; margin: 0 0.5em;}

.conditions_cover {
	background-image: url(./_imgs_saigai/conditions_cover.jpg);
	background-size: 110%;
	background-position: bottom;
	background-repeat: no-repeat;
}
@media screen and (max-width: 1024px) {
	.condition3 p.condition_text_01 { min-height: 9em;}
	.condition3 p.condition_text_02 { min-height: 6.9em;}
	
}
@media screen and (max-width: 599px) {
	.conditions { padding: 40px 0 0;}
	.condition3 { padding: 15px;}
	.condition3 p.condition_text_01,
	.condition3 p.condition_text_02 { min-height: auto;}
	.conditions-box { margin-top: 30px;}
	.fulfilled p span { display: block;}
}


/********************************
    PRICE
*********************************/
.price { background: #D1EAF5;}
.price h3 { font-weight: bold;}
.price .price_subtext,
.price .price_plus,
.price .lead_text { margin:25px 0; font-weight:bold; color:#036; font-size: 1.25em; line-height:1.2}
.price .price_subtext { font-size:1.25em;}
.price .price_plus { font-size:5.0em;}
.price .lead_text .tsuiki { font-size:0.5em; font-weight:normal;}
.kanri-price-wrap { margin:0; display:flex; flex-flow: column;}
.price_backcover { background:#E6EEF5; border-radius:20px; margin-left:40px; margin-bottom: 30px;}
.kanri-price                { position: relative; margin:30px 10px 30px 90px; padding:0;}
.kanri-price img.icon_price { position: absolute; left:-130px; top:0; width: 110px; border-radius: 15px;}
.kanri-price h3 { margin-bottom:0.5em;}
.img_kanri_cover { display:flex; flex-wrap:wrap; margin:0; padding:0;}
.img_kanri_cover div { margin:0; padding:4px;}
.img_caption { text-indent:0.5em; background:rgba(0,0,0,0.8); font-size:14px; letter-spacing:2px; line-height:1.5; color:#fff;}
.img_kanri { width: 214px;}
.set-flex .img_kanri_cover li { width:auto;}
.set-flex { display: flex; gap:30px;}
.set-flex .img_kanri { width: 158px;}
.set-flex .price_backcover { width: 100% /* auto */;}

@media screen and (max-width: 1024px) {
	.kanri-price { margin-left: 170px;}
	.kanri-price img.icon_price { left: -190px; top: 0; width: 160px;}
	.price_backcover { margin-left: 20px;}
	.img_kanri { width: 172px;}
	.set-flex { display: block;}
	.set-flex .price_backcover { width: ; padding-top: 2px; padding-bottom: 5px;}
	.set-flex .img_kanri { width: 172px;}
}
@media screen and (max-width: 768px) {
	.img_kanri { width: 115px;}
	.set-flex .img_kanri { width: 115px;}
}
@media screen and (max-width: 480px) {
	.price  { padding-top: 30px; padding-bottom: 30px;}
	.price .price_subtext,
	.price .price_plus,
	.price .lead_text { margin: 10px 0;}
	.price .price_subtext { font-size:1.125em;}
	.price .price_plus { font-size: 2.0em;}
	.price .lead_text { margin: 0; line-height:1.4}
	.kanri-price-wrap { margin: 0;}
	.price_backcover { margin-left: 0; padding: 15px;}
	.kanri-price { position:relative; margin: 20px 0 20px;}
	.kanri-price img.icon_price { width: 80px; margin:0 0 1em; border-radius: 20px; top: -42px; left: inherit; right:0;}
	.kanri-price li     { position: inherit; height: auto; margin-left: 0;}
	.img_kanri { width: 152px;}
	.set-flex .img_kanri { width: 152px;}
	.set-flex .price_backcover { width:auto; padding-right:5px;}
}

.table_plan th,
.table_plan td { vertical-align: middle; font-size: 1.15em;}
.table_plan th { line-height: 1.1; background: #F5F5F5;}
.table_plan th span { font-size: 0.7em;}
.table_plan th:nth-of-type(2),
.table_plan th:nth-of-type(3),
.table_plan th:nth-of-type(4) { width:180px;}
@media screen and (max-width: 1024px) {
	.table_plan th,
	.table_plan td { font-size: 1em; line-height: 1.2; padding: 0.5em 2px; height: 3.5em;}
	.table_plan th:nth-of-type(1) { width: 35%;}
	.table_plan th:nth-of-type(3) { width: 20%;}
	.table_plan th:nth-of-type(2),
	.table_plan th:nth-of-type(4) { width:auto;}
}
@media screen and (max-width: 599px) {
	.table_plan th,
	.table_plan td { font-size: 1em; line-height: 1.2; padding: 0.5em 2px; height: 3.5em;}
	.table_plan th:nth-of-type(1) { width: 35%;}
	.table_plan th:nth-of-type(3) { width: 16%;}
	.table_plan th:nth-of-type(2),
	.table_plan th:nth-of-type(4) { width:auto;}
}


/********************************
    FAQ
*********************************/
.faq { background: #E0FFEB;}
.faq_wrap { padding: 15px 0 15px;}

.cp_qa ul { text-indent:0;}
.cp_qa dl { line-height: 1.5;}
.cp_qa dt {
	margin: 0 0 1em;
	padding: 0.25em 0 0.5em 2.25em;
	background: #fff;
	border-radius: 5px;
}
.cp_qa dd {
	margin: 0 0 1.5em;
	padding: 0 0 0 2.5em;
	text-indent: 0;
}
.cp_qa dt::before,
.cp_qa dd::before {
	font-family: serif;
	font-size: 1.3em;
	margin: 0 0.5em 0 -1.25em;
}
.cp_qa dt::before {
	content: 'Q';
	color: #ff9800;
	font-weight: bold;
}
.cp_qa dd::before {
	content: 'A';
	color: #36a4c7;
	font-weight: bold;
}
@media screen and (max-width: 768px) {
	.cp_qa dl {
		clear: both;
		margin: 3em 0 2em 0;
	}
	.cp_qa dl::before {
		font-size: 5em;
		font-family: "Font Awesome 6 Free";
		position: absolute;
		display: inline-block;
		top: -1.175em;
		left: 0;
		width: 1em;
		height: 1em;
		line-height: 1em;
		content: "\f059";
		opacity: 0.1;
	}
}
@media screen and (max-width: 599px) {
	.faq { padding-top: 30px; padding-bottom: 30px;}
	.cp_qa dl { margin: 0;}
	.cp_qa dl::before { top: -1.275em; left: 0;}
}

ol.marusuuji {
	padding-left: 0;
	list-style: none;
	counter-reset: number;
	text-indent: 0;
}
ol.marusuuji li {
	position: relative;
	padding-left: 1.5em;
}
ol.marusuuji li::before {
	counter-increment: number;
	content: counter(number);
	position: absolute;
	top: 5px;
	left: 0;
	width: 1.35em;
	height: 1.35em;
	border: 1px solid #000;
	border-radius: 50%;
	font-size: 0.8em;
	text-align: center;
	line-height: 1.1;
}
.note { font-size: 0.75em;}
.bikou { font-size:0.85em; text-indent:-4em; padding-left: 4em; margin:0;}


/********************************
    CONTACT
*********************************/
#contact {
	background: var(--blue-color);
	color: white;
	line-height: 1.4;
	text-align: center;
}
#contact .container {
	position: relative;
}
#contact .contact_text_01 {
	font-size: 1.75em;
	font-weight: bold;
}
#contact .contact_text_02 {
	font-size: 1.125em;
	margin: 10px 0;
}
#contact .sub_text {
	font-size: 1.75em;
}
#contact .logo_area {
	width: 400px;
	margin: 20px auto;
}

@media screen and (max-width: 767px) {
	#contact .contact_text_01 {
		font-size: 1.5em;
	}
	#contact .contact_text_02 {
		font-size: 0.9em;
	}
	#contact .logo_area {
		width: 90%;
		text-align: center;
	}
}
@media screen and (max-width: 480px) {
	#contact { padding-top: 30px; padding-bottom: 30px;}
	#contact .contact_text_01 {
		font-size: 1.125em; font-weight: 400;
	}
}


/********************************
    Footer Btn
*********************************/
.foot_fix_btn {
	display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}
@media screen and (max-width: 1024px) {
	.foot_fix_btn { display: block;}
}
.foot_fix_btn.js_hide {
    transform: translateY(100%);
}
.foot_fix_btn ul {
    width: 100%;
    text-align: center;
    font-size: 0;
	margin: 0 !important;
	padding: 0 !important;
}
.foot_fix_btn ul li {
    display: inline-block;
    width: 50%;
	margin: 0 !important;
	padding: 0 !important;
}
.foot_fix_btn ul li img {
    width: 100%;
    max-width: 200px;
    vertical-align: bottom;
}
.foot_fix_btn ul li:first-child {
    background-color: #004E97;
}
.foot_fix_btn ul li:last-child {
    background-color: #EB6100;
}
.foot_fix_btn {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	z-index: 999;
}
.foot_fix_btn.js_hide {
	transform: translateY(100%);
}

