/*-------------------------------
	.f_edge
-------------------------------*/
.f_edge {
	position:relative;
	-webkit-text-stroke:8px #fff;
}

.f_edge::before {
	content:attr(data-title);
	-webkit-text-stroke:0px;
	position:absolute;
}

/*-------------------------------
	under yellow
-------------------------------*/

.under_yellow {
	font-weight:bold;
	padding:0 0.25em 0.25em;
	background: linear-gradient(transparent 40%, #FBECB3 0%);
}
/*-------------------------------
	.check_list
-------------------------------*/

.check_list li {
	padding:0 0 0 2.5em;
	position:relative;
	line-height:1.75;
}

.check_list li:not(:last-of-type) {
	margin-bottom:1em;
}

.check_list li::before {
	content:"";
	display: block;
	width:35px;
	height: 29px;
	position:absolute;
	left:0;
	top:0;
}

.check_orange li::before {
	background:url(../img/rakuraku_support/icon_check_orange.svg) no-repeat center / contain;
}

.check_chien li::before {
	background:url(../img/rakuraku_support/icon_check_chien.svg) no-repeat center / contain;
}

/*-------------------------------
	plan check
-------------------------------*/

.plan_check li {
	padding-left:3em;
	position:relative;
	font-size:1.6rem;
	line-height:1.75;
	font-weight:bold;
}

.plan_check li:not(:last-of-type) {
	margin-bottom:1em;
}

.plan_check li::before {
	content:"";
	display: block;
	width:28px;
	height:22px;
	background:url(../img/rakuraku_support/icon_check_orange02.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
}

.plan_check_chien li::before {
	background-image:url(../img/rakuraku_support/icon_check_chien02.svg);
}
/*-------------------------------
	title underline
-------------------------------*/

.title_underline {
	padding-bottom:1em;
	line-height:1.5;
	font-size:2.4rem;
	font-weight:bold;
	position:relative;
	margin-bottom:2em;
	letter-spacing: 0.1em;
}

.title_underline span {
	line-height:1.5;
	font-size:2.4rem;
	font-weight:bold;
	letter-spacing: 0.1em;
}

.title_underline::after {
	content:"";
	display: block;
	width:40px;
	height:4px;
	background:#EFBB55;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	margin:0 auto;
}

.title_underline_chien::after {
	background-color:#3EBCDF;
}

/*-------------------------------
	maru
-------------------------------*/

.maru {
	padding-left:1.25em;
	position:relative;
	font-size:1.4rem;
}

.maru::before {
	content:"";
	display: block;
	width:1em;
	height:1em;
	background:#EFBB55;
	border-radius:50%;
	position:absolute;
	left:0;
	top:0.125em;
}

.maru_chien::before {
	background-color:#E9F3FA;
}
/*-------------------------------
	raku first view
-------------------------------*/

.raku_fview {
	padding:30px 0;
	background:#FBF3E7;
}

.raku_fview .inner {
	max-width:1070px;
}

.f_img {
	width:calc(100% - 480px);
	max-width:420px;
}

.f_txt {
	width:480px;
	padding:0 6% 0 50px;
}

.f_txt h2 {
	font-size:1.5rem;
	border:3px solid #000;
	background:#fff;
	letter-spacing: 0.025em;
	padding:0.25em 0.5em;
	margin-bottom:30px;
	display: inline-block;
	line-height: 1.5;
}

.f_txt h3 {
	font-size:2.2rem;
	line-height:1.5;
	margin-bottom:0.5em;
}

.f_txt h1 {
	font-size:3.8rem;
	letter-spacing: 0.05em;
	font-weight:900;
	color:#000;
}

.f_link {
	width:210px;
	height:60px;
	line-height:56px;
	border:2px solid #F08919;
	background:#F08919;
	color:#fff;
	font-size:1.8rem;
	font-weight:bold;
	padding:0 60px 0 30px;
	position:relative;
	border-radius: 30px;
	display: block;
	margin-top:30px;
	letter-spacing: 0.05em;
}

.f_link.pc_none {
	display: none;
}

.f_link:hover {
	background:#3EBCDF;
	border-color: #3EBCDF;
	color:#fff;
}

.f_link::after {
	content:"";
	display: block;
	width:25px;
	height:25px;
	background:url(../img/rakuraku_support/arrow_right_white.svg) no-repeat center / contain;
	position:absolute;
	right:25px;
	top:0;
	bottom:0;
	margin:auto 0;
}

/*-------------------------------
	raku nayami
-------------------------------*/

.raku_nayami {
	padding:40px 0 0 0;
}

.raku_nayami h1 {
	font-size:2.2rem;
	letter-spacing: 0.075em;
}

.raku_nayami h1 strong {
	font-size:2.6rem;
	letter-spacing: 0.075em;
}

.raku_nayami h1 span {
	display: inline-block;
	font-size:1.8rem;
	position:relative;
	padding:0.5em 50px;
	line-height:1.5;
	margin-bottom:1em;
}

.raku_nayami h1 span::before,
.raku_nayami h1 span::after {
	content:"";
	display: block;
	width:24px;
	height:40px;
	background:url(../img/rakuraku_support/icon_ribbon.svg) no-repeat center / contain;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto 0;
	left:0;
}

.raku_nayami h1 span::after {
	left:auto;
	right:0;
	transform:scale(-1,1);
}

.nayami_wrap {
	padding:40px 30px;
	max-width:740px;
	margin:0 auto;
}

.nayami_block {
	position:relative;
	min-height:130px;
	width:190px;
	margin-bottom:30px;
}

.nayami_block::before {
	content:"";
	display: block;
	width:140px;
	height:130px;
	background:url(../img/rakuraku_support/bg_blue_ellipse.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	z-index:-1;
}

.nayami_block:nth-of-type(odd)::before {
	opacity:0.3;
}



.nayami_block h3,
.nayami_block h3 span {
	font-size:1.8rem;
	letter-spacing: 0.05em;
	line-height:1.75;
}

.nayami_block01::after {
	content:"";
	display: block;
	width:50px;
	height:50px;
	background:url(../img/rakuraku_support/icon_kurukuru.svg) no-repeat center  / contain;
	position:absolute;
	left:-40px;
	top:-30px;
}

.nayami_block05::after {
	content:"";
	display: block;
	width:64px;
	height:56px;
	background:url(../img/rakuraku_support/icon_arrow_up.svg) no-repeat center  / contain;
	position:absolute;
	right:-10px;
	bottom:-10px;
}

.nayami_block06::after {
	content:"";
	display: block;
	width:56px;
	height:76px;
	background:url(../img/rakuraku_support/icon_sweat.svg) no-repeat center  / contain;
	position:absolute;
	right:-40px;
	top:10px;
}

/*-------------------------------
	nayami_check_wrap
-------------------------------*/

.nayami_check_wrap {
	background:#F7F7F7;
	padding:50px 0;
	position:relative;
	margin-bottom:50px;
}

.nayami_check_wrap .inner {
	max-width:960px;
}

.nayami_check_wrap::after {
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 50px 0 50px;
	border-color: #F7F7F7 transparent transparent transparent;
	position:absolute;
	left:0;
	right:0;
	bottom:-50px;
	margin:0 auto;
}

.nayami_check {
	padding:40px 0px;
	border:1px solid #D2D2D3;
	position:relative;
	overflow:hidden;
}

.nayami_check::before {
	content:"";
	display: block;
	width:22%;
	max-width:190px;
	height:300px;
	background:url(../img/rakuraku_support/illust_man.svg) no-repeat bottom center / contain;
	position:absolute;
	right:50px;
	bottom:-30px;
}

.nayami_check h2 {
	font-size:2.2rem;
	letter-spacing: 0.05em;
	padding-bottom:30px;
	position:relative;
	margin-bottom:1.5em;
}

.nayami_check h2::after {
	content:"";
	display: block;
	width:194px;
	height:16px;
	background:url(../img/rakuraku_support/border_kurukuru.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	margin:0 auto;
}

.nayami_check h2 span {
	font-size:2.6rem;
	letter-spacing: 0.05em;
}

.nayami_check .check_list {
	padding:0 30% 0 15%;
}

.nayami_check .check_list li,
.nayami_check .check_list li span {
	font-size:1.8rem;
	letter-spacing: 0.05em;
}

.nayami_omakase {
	padding-top:30px;
	padding-bottom:20px;
}

.nayami_omakase h2 {
	font-size:2.2rem;
	letter-spacing: 0.05em;
	line-height:2;
	position:relative;
	display: inline-block;
	padding:0 80px;
	margin-bottom:1em;
}

.nayami_omakase h2::before,
.nayami_omakase h2::after {
	content:"";
	display: block;
	width:58px;
	height:78px;
	background:url(../img/rakuraku_support/icon_slash.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	bottom:0;
}

.nayami_omakase h2::after {
	left:auto;
	right:0;
	transform:scale(-1,1);
}

.nayami_omakase h2 span {
	font-size:2.6rem;
	letter-spacing: 0.05em;
}


/*-------------------------------
	ans support
-------------------------------*/

.ans_support {
	background:#FDF1E7;
	padding:40px 0 80px;
	position:relative;
	margin-bottom:50px;
	overflow: visible;
}

.ans_support .inner {
	max-width:1195px;
}

.ans_support::after {
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 50px 0 50px;
	border-color: #FDF1E7 transparent transparent transparent;
	position:absolute;
	left:0;
	right:0;
	bottom:-50px;
	margin:0 auto;
}

.ans_head h2 span {
	background:#000;
	font-size:1.8rem;
	letter-spacing: 0.05em;
	padding:0.5em 1em;
	display: inline-block;
}

.ans_head h1 {
	font-size:4.6rem;
	font-weight:900;
	letter-spacing: 0.05em;
	margin:0.5em 0 0.5em;
	-webkit-text-stroke:13px #fff;
}

.ans_head_wrap {
	padding:0 22% 50px;
	position:relative;
}

.ans_head_wrap::before,
.ans_head_wrap::after {
	content:"";
	display: block;
	width:20%;
	height:312px;
	position:absolute;
	left:0;
	bottom:0;
}

.ans_head_wrap::before {
	background:url(../img/rakuraku_support/illust_man02.svg) no-repeat bottom center / contain;
}

.ans_head_wrap::after {
	background:url(../img/rakuraku_support/illust_woman.svg) no-repeat bottom center / contain;
	left:auto;
	right:0;
}

.ans_ok {
	width:162px;
	height:162px;
	position:relative;
}

.ans_ok02 {
	margin:0 4%;
}

.ans_ok02 h3 {
	position:relative;
}

.ans_ok02 h3::after {
	content:"";
	display: block;
	width:46px;
	height:54px;
	background:url(../img/rakuraku_support/icon_lightbulb.svg) no-repeat center / contain;
	position:absolute;
	top:-52px;
	right:-20px;
	z-index: 1;
}


.ans_ok::before,
.ans_ok::after {
	content:"";
	display: block;
	width:100%;
	height:100%;
	background:#fff;
	border-radius: 50%;
	position:absolute;
	left:-4px;
	top:-4px;
}

.ans_ok::after {
	background:url(../img/rakuraku_support/bg_dotteden.svg) no-repeat center / contain;
	left:0px;
	top:0px;
}

.ans_ok h3 {
	font-size:2.3rem;
	letter-spacing: 0.05em;
	position:relative;
}

.ans_ok h3 span {
	font-size:1.6rem;
	letter-spacing: 0.05em;
}

.ans_point_wrap {
	padding:40px 8% 50px;
	border:1px solid #D2D2D3;
}

.ans_point {
	width:46.5%;
}

.ans_point h4 {
	font-size:1.8rem;
	font-weight:400;
	margin-bottom:1em;
	text-align:center;
}

.ans_point h4::after {
	content:attr(data-no);
	font-size:6.5rem;
	font-weight:400;
	font-family: 'Lato', sans-serif;
	display: block;
	line-height:1.05;
	text-align:center;
}

.ans_point p,
.ans_point p span {
	font-size:1.8rem;
	line-height:2;
	letter-spacing: 0.05em;
}

.ans_point figure {
	margin-top:20px;
}

/*-------------------------------
	ans_support2
-------------------------------*/

.ans_support2 {
	padding:40px 0 80px;
}

.ans_support2 .inner {
	max-width:1070px;
}

.supp_child {
	width:48%;
	border:2px solid #F08919;
	position:relative;
}

.supp_wrap02 .supp_child {
	border-color:#3EBCDF;
}

.supp_child h3 {
	font-size:2.2rem;
	letter-spacing: 0.1em;
	font-weight:bold;
	padding:1.25em 0.5em;
	background-color:#FDF1E7;
}

.supp_wrap02  .supp_child h3 {
	background-color: #E9F5FA;
}

.supp_child .check_list {
	/* padding:35px 14% 50px; */
	padding:35px 14% 110px;
}

.supp_child .check_list li {
	font-weight:bold;
	font-size:1.8rem;
}

.supp_child .check_list li:not(:last-of-type) {
	margin-bottom:1.5em;
}

.supp_child01::before,
.supp_child03::before,
.supp_child04::before {
	content:"";
	display: block;
	position:absolute;
}

.supp_child01::before {
	width:97px;
	height:116px;
	right:45px;
	bottom:30px;
	background:url(../img/rakuraku_support/illust_pc.svg) no-repeat center / contain;
}

.supp_child03::before {
	width:94px;
	height:77px;
	right:45px;
	bottom:20px;
	background:url(../img/rakuraku_support/illust_graph.svg) no-repeat center / contain;
}

.supp_child04::before {
	width:93px;
	height:116px;
	right:35px;
	bottom:5px;
	background:url(../img/rakuraku_support/illust_sphone.svg) no-repeat center / contain;
}

.saitaku {
	border:35px solid #FFF7F2;
	padding:40px 25% 30px 40px;
	margin:45px auto 80px;
	position:relative;
}

.saitaku::after {
	content:"";
	display: block;
	width:20%;
	height:210px;
	background:url(../img/rakuraku_support/illust_man03.svg) no-repeat center bottom / contain;
	position:absolute;
	right:30px;
	bottom:0px;
}



.sai_txt {
	width:66%;
	margin-top:0.5em;
}

.sai_txt h3 {
	font-size:2.2rem;
	padding:3em 0 1em;
	line-height:1.25;
	position:relative;
}

.sai_txt h3::before {
	content:"";
	display: block;
	width:58px;
	height:43px;
	background:url(../img/rakuraku_support/icon_crown.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	right:0;
	top:0;
	margin:0 auto;
}

.sai_txt h4 {
	font-size:2rem;
}

.sai_img {
	width:34%;
	padding:0 0 0 2%;
	position:relative;
}

/*-------------------------------
	ans example
-------------------------------*/

.ans_example {
	margin-bottom:150px;
}

.ans_example .inner {
	max-width:1070px;
}

.ans_example .title_underline {
	padding-top:94px;
}

.ans_example .title_underline::before {
	content:"";
	display: block;
	width:120px;
	height:65px;
	background:url(../img/rakuraku_support/icon_bird.svg) no-repeat center / contain;
	position:absolute;
	top:0;
	left:0;
	right:0;
	margin:0 auto;
}

.ex_detail:not(:last-of-type) {
	margin-bottom:80px;
}

.ex_detail h3 {
	font-size:1.6rem;
	margin-bottom:0.5em;
	font-weight:bold;
	color:#8C8C8D;
	letter-spacing: 0.05em;
}

.ex_detail h2 {
	font-size:2rem;
	letter-spacing: 0.05em;
	line-height:1.5;
	padding-bottom:0.5em;
	border-bottom:2px solid #EFBB55;
	margin-bottom:2em;
}

.ex_img {
	width:240px;
}

.ex_txt {
	width:calc(100% - 240px);
	padding-left:30px;
}

.ex_txt h3 {
	font-size:1.8rem;
	margin-bottom:1.5em;
	color:#000;
}

.ex_txt p,
.ex_txt p span {
	line-height:1.825;
}

/*-------------------------------
	ans_plan
-------------------------------*/
.ans_plan {
	padding-bottom:110px;
}

.ans_plan .inner {
	max-width:1070px;
}

.ans_plan h1 + p {
	font-size:1.8rem;
	margin-bottom:2em;
}

.plan_detail {
	width:47%;
	max-width:432px;
	/* box-shadow */
	box-shadow: 0px 8px 16px -2px rgba(35,24,21,0.2), 0px 0px 8px 0px rgba(35,24,21,0.2);
}

.plan_border {
	min-height:730px;
	padding:20px 25px 40px;
	border-top:30px solid #FDF1E7;
	border-bottom:30px solid #FDF1E7;
	border-left:25px solid #FDF1E7;
	border-right:25px solid #FDF1E7;
}

.plan_detail02 .plan_border {
	border-color:#E9F5FA;
}

.plan_border h2 {
	font-size:2.2rem;
	text-align:center;
	font-weight:bold;
	letter-spacing: 0.05em;
	margin-bottom:1em;
	line-height:1.75;
	/* min-height:4.25em; */
	padding-bottom:0.5em;
	border-bottom:2px solid #F08919;
	padding-top:1em;
}

/*
.plan_detail01 .plan_border h2 {
	padding-top:1em;
}
*/

.plan_detail02 .plan_border h2 {
	border-color:#3EBCDF;
}

.plan_child h3 {
	margin-bottom:1em;
}

.plan_child h3 span {
	font-size:1.6rem;
	min-width:100px;
	display: inline-block;
	letter-spacing: 0.05em;
	background: linear-gradient(transparent 40%, #FDF1E7 0%);
}

.plan_detail02 .plan_child h3 span {
	background: linear-gradient(transparent 40%, #E9F5FA 0%);
}

.plan_child h4 {
	font-size:1.8rem;
	letter-spacing: 0.025em;
	margin-bottom:0.5em;
}

.plan_child h4 strong {
	font-size:4.5rem;
	letter-spacing: 0.05em;
	line-height:1;
}

.plan_child h4 strong::after {
	content:attr(data-en);
	display: inline;
	font-size:2.4rem;
	font-weight:bold;
	font-family: 'Lato', sans-serif;
	letter-spacing: 0.05em;
}

.plan_child p {
	line-height:1.75;
	margin-bottom:1em;
}

.plan_border p.maru::before {
	top:0.45em;
}

.plan_detail02 .mar_bo {
	margin:1em 0 1.25em;
	font-size:1.8rem;
	font-weight:bold;
}

.plan_detail02 .plan_child {
	margin-bottom:20px;
}

.plan_child03 h4 strong {
	font-size:4rem;
}

.plan_bottom {
	padding:30px  45px;
}

.plan_bottom h3 {
	font-size:1.8rem;
	margin-bottom:1.5em;
	font-weight: bold;
	letter-spacing: 0.05em;
}

/*-------------------------------
	ans contact
-------------------------------*/

.ans_contact h1 + p {
	line-height:2.1875;
}

.ans_conwrap {
	max-width:806px;
	margin:60px auto 0;
}

.ans_conbtn {
	display: block;
	width:100%;
	max-width:460px;
	height:110px;
	border:1px solid #EFBB55;
	padding:0px 4.5%;
	margin:0 auto;
}

.ans_conbtn01 {
	background:#EFBB55;
	line-height:108px;
}

.ans_conbtn01:hover {
	background:#3EBCDF;
	border-color:#3EBCDF;
}

.ans_conbtn01 span {
	display: inline-block;
	width:100%;
	text-align: center;
	color:#fff;
	font-weight:bold;
	font-size:1.8rem;
	letter-spacing: 0.05em;
	padding-left:20%;
	position:relative;
}

.ans_conbtn01 span::before {
	content:"";
	display: block;
	width:18%;
	height:50px;
	background:url(../img/rakuraku_support/icon_mail.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
}

.ans_conbtn02 {
	padding-top:20px;
	display: none;
}

.ans_conbtn02 .ans_telno {
	font-size:2.4rem;
	font-weight:bold;
	position:relative;
	padding-left:60px;
	letter-spacing: 0.1em;
	line-height:2;
}

.ans_conbtn02 .ans_telno::before {
	content:"";
	display: block;
	width:34px;
	height:44px;
	background:url(../img/rakuraku_support/icon_tel.svg) no-repeat center / contain;
	position:absolute;
	left:16px;
	top:0;
	bottom:0;
	margin:auto 0;
}

.ans_conbtn02 p {
	font-size:1.4rem;
	letter-spacing: 0.05em;
}

/*-------------------------------
	responsive
-------------------------------*/

@media screen and (max-width:1060px) {

	.ans_head_wrap {
		padding:0 50px 330px;
		position:relative;
	}

	.ans_head_wrap::before {
		background-position:90% 100%;
		width:50%;
	}
		
	.ans_head_wrap::after {
		background-position:10% 100%;
		width:50%;
	}

	@media screen and (max-width:860px) {

		.nayami_check .check_list {
			padding:0 30% 0 50px;
		}

		.ans_point {
			width:100%;
		}

		.ans_point:not(:last-of-type) {
			margin-bottom:80px;
		}
		
	}
	
		
}


/*-------------------------------
	ver sp
-------------------------------*/

@media screen and (max-width:768px) {


/*-------------------------------
	.f_edge
-------------------------------*/
.f_edge {
	-webkit-text-stroke:2vw #fff;
}

.f_edge::before {
	left:0;
	top:0;
	right:0;
	margin:0 auto;
}


/*-------------------------------
	under yellow
-------------------------------*/

/*-------------------------------
	.check_list
-------------------------------*/

.check_list li::before {
	width:8.75vw;
	height: 7.25vw;
}

/*-------------------------------
	plan check
-------------------------------*/

.plan_check li {
	font-size:4vw;
}

.plan_check li::before {
	width:7vw;
	height:5.5vw;
}

/*-------------------------------
	title underline
-------------------------------*/

.title_underline {
	font-size:6vw;
}

.title_underline span {
	font-size:6vw;
}

.title_underline::after {
	width:15vw;
	height:1vw;
}


/*-------------------------------
	maru
-------------------------------*/

.maru {
	font-size:3.5vw;
}

/*-------------------------------
	raku first view
-------------------------------*/

.raku_fview {
	padding:10vw 0 15vw;
}

.raku_fview .inner {
	max-width:100%;
}

.f_img {
	width:85%;
	max-width:100%;
	margin:10vw auto 10vw;
}

.f_txt {
	width:100%;
	padding:0;
}

.f_txt h2 {
	width:100%;
	display: block;
	text-align: center;
	font-size:3.75vw;
	border-width:0.75vw;
	margin-bottom:5vw;
}

.f_txt h3 {
	font-size:5vw;
	margin-bottom:0.25em;
}

.f_txt h1 {
	font-size:9.5vw;
}

.f_link {
	width:85%;
	height:15vw;
	line-height:14vw;
	border-width:0.5vw;
	font-size:5vw;
	text-align: center;
	padding:0 15vw;
	border-radius: 7.5vw;
	margin:0 auto;
}

.f_link.pc_none {
	display: block;
}

.f_link.sp_none {
	display: none;
}


.f_link::after {
	width:7vw;
	height:7vw;
	right:7vw;
}

/*-------------------------------
	raku nayami
-------------------------------*/

.raku_nayami {
	padding:15vw 0 0 0;
}

.raku_nayami h1 {
	font-size:6.5vw;
	line-height:1.5;
}

.raku_nayami h1 strong {
	font-size:8vw;
	padding:0 0.15em;
}

.raku_nayami h1 span {
	font-size:4.5vw;
	position:relative;
	padding:0.5em 10vw;
	margin-bottom:0;
}

.raku_nayami h1 span::before,
.raku_nayami h1 span::after {
	width:7.5vw;
	height:12.5vw;
}

.nayami_wrap {
	padding:15vw 0;
	max-width:100%;
}

.nayami_block {
	min-height:32.5vw;
	width:48%;
	margin-bottom:6.5vw;
}

.nayami_block::before {
	width:38.5vw;
	height:35.75vw;
}

.nayami_block:nth-of-type(odd)::before {
	opacity:1;
}

.nayami_block:nth-of-type(1)::before,
.nayami_block:nth-of-type(4)::before,
.nayami_block:nth-of-type(5)::before {
	opacity:0.3;
}

.nayami_block h3 {
	font-size:4vw;
}

.nayami_block h3 span {
	font-size:5vw;
}

.nayami_block01::after {
	width:13.75vw;
	height:13.75vw;
	left:-3vw;
	top:-7.5vw;
}

.nayami_block05::after {
	width:17.6vw;
	height:15.4vw;
	right:2vw;
	bottom:-6vw;
}

.nayami_block06::after {
	width:15.4vw;
	height:20.9vw;
	right:-2vw;
	top:18.75vw;
}

/*-------------------------------
	nayami_check_wrap
-------------------------------*/

.nayami_check_wrap {
	padding:10vw 0;
	margin-bottom:10vw;
}

.nayami_check_wrap .inner {
	max-width:100%;
}

.nayami_check_wrap::after {
	border-width: 12.5vw 12.5vw 0 12.5vw;
	bottom:-12.5vw;
}

.nayami_check {
	padding:7.5vw 0 17.5vw;
}

.nayami_check::before {
	width:35vw;
	max-width:100%;
	height:58.5vw;
	right:2vw;
	bottom:-5.5vw;
}

.nayami_check h2 {
	font-size:5.5vw;
	line-height:1.5;
	padding-bottom:8.25vw;
}

.nayami_check h2::after {
	width:53.35vw;
	height:4.4vw;
}

.nayami_check h2 span {
	font-size:7vw;
}

.nayami_check .check_list {
	padding:0 5vw;
}

.nayami_check .check_list li {
	margin-bottom:1.5em;
}

.nayami_check .check_list li,
.nayami_check .check_list li span {
	font-size:4.5vw;
}

.nayami_omakase {
	padding-top:10vw;
	padding-bottom:7.5vw;
}

.nayami_omakase h2 {
	font-size:5.5vw;
	padding:0;
	display: block;
	letter-spacing: 0;
}

.nayami_omakase h2::before,
.nayami_omakase h2::after {
	content:"";
	display: block;
	width:13.05vw;
	height:17.55vw;
	background:url(../img/rakuraku_support/icon_slash.svg) no-repeat center / contain;
	position:absolute;
	left:-1.5vw;
	bottom:0vw;
}

.nayami_omakase h2::after {
	left:auto;
	right:-1.5vw;
}

.nayami_omakase h2 span {
	font-size:7vw;
	letter-spacing: 0;
}


/*-------------------------------
	ans support
-------------------------------*/

.ans_support {
	padding:10vw 0 20vw;
	margin-bottom:12.5vw;
}

.ans_support .inner {
	max-width:100%;
}

.ans_support::after {
	border-width: 12.5vw 12.5vw 0 12.5vw;
	bottom:-12.5vw;
}

.ans_head h2 span {
	font-size:4.5vw;
}

.ans_head h1 {
	font-size:9.5vw;
	-webkit-text-stroke:3vw #fff;
	margin-bottom:1.5em;
}

.ans_head_wrap {
	padding:0 0 12.5vw;
	position:relative;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

.ans_head_wrap::before,
.ans_head_wrap::after {
	width:36%;
	height:46vw;
	left:0;
	background-position:center bottom;
	z-index: 1;
}

.ans_head_wrap::after {
	width:33%;
	left:auto;
	right:0;
}

.ans_ok {
	width:40.5vw;
	height:40.5vw;
}

.ans_ok02 {
	margin:0;
}

.ans_ok02 h3::after {
	width:12.65vw;
	height:14.85vw;
	top:-15.5vw;
	right:-7vw;
}


.ans_ok::before,
.ans_ok::after {
	left:-1vw;
	top:-1vw;
}

.ans_ok::after {
	left:0px;
	top:0px;
}

.ans_ok h3 {
	font-size:6vw;
}

.ans_ok h3 span {
	font-size:4.5vw;
}

.ans_point_wrap {
	padding:10vw 5vw 15vw;

}

.ans_point:not(:last-of-type) {
	margin-bottom:15vw;
}

.ans_point h4 {
	font-size:5vw;
}

.ans_point h4::after {
	font-size:15vw;
}

.ans_point p,
.ans_point p span {
	font-size:4vw;
	letter-spacing: 0.025em;
	line-height:2.125;
}

.ans_point figure {
	margin-top:5vw;
}

/*-------------------------------
	ans_support2
-------------------------------*/

.ans_support2 {
	padding:10vw 0 20vw;
}

.ans_support2 .inner {
	max-width:100%;
}

.supp_child {
	width:100%;
	border-width:0.5vw;
}

.supp_child:not(:last-of-type) {
	margin-bottom:10vw;
}

.supp_block02 .title_underline,
.supp_block02 .title_underline span {
	font-size:5.5vw;
}

.supp_child h3 {
	font-size:5.5vw;
}

.supp_child .check_list {
	padding:7.5vw 5vw 15vw;
}

.supp_child .check_list li {
	font-size:4.5vw;
}

.supp_child01::before {
	width:24.25vw;
	height:29vw;
	right:5vw;
	bottom:2.5vw;
}

.supp_child03::before {
	width:23.5vw;
	height:19.25vw;
	right:5vw;
	bottom:5vw;
}

.supp_child04 h3 {
	letter-spacing: 0;
}

.supp_child04 .check_list {
	padding-bottom:12.5vw;
}

.supp_child04::before {
	width:23.25vw;
	height:29vw;
	right:2.5vw;
	bottom:1vw;
}

.saitaku {
	border-width:8.75vw;
	padding:7.5vw 5vw 6.5vw;
	margin:15vw auto 20vw;
}

.saitaku::after {
	width:40%;
	height:37.5vw;
	right:2vw;
}

.sai_txt {
	width:100%;
	margin-top:0em;
}

.sai_txt h3 {
	font-size:5vw;
	line-height:1.5;
}

.sai_txt h3::before {
	width:14.5vw;
	height:10.75vw;
}

.sai_txt h4 {
	font-size:4.5vw;
}

.sai_img {
	width:75%;
	margin:5vw 0 0;
	padding:0;
}

/*-------------------------------
	ans example
-------------------------------*/

.ans_example {
	margin-bottom:25vw;
}

.ans_example .inner {
	max-width:100%;
}

.ans_example .title_underline {
	padding-top:23.5vw;
}

.ans_example .title_underline::before {
	width:30vw;
	height:16.25vw;
}

.ex_detail:not(:last-of-type) {
	margin-bottom:15vw;
}

.ex_detail h3 {
	font-size:3.5vw;
}

.ex_detail h2 {
	font-size:4.5vw;
	padding-bottom:1em;
	border-width:0.5vw;
}

.ex_img {
	width:100%;
	text-align:center;
	margin-bottom:10vw;
}

.ex_img img {
	width:50vw;
	height:auto;
}

.ex_txt {
	width:100%;
	padding-left:0px;
}

.ex_txt h3 {
	font-size:4vw;
	line-height:1.5;
	margin-bottom:1em;
}

.ex_txt h3.maru::before {
	top:0.275em;
}

.ex_txt p,
.ex_txt p span {
	line-height:2;
	font-size:3.5vw;
}

/*-------------------------------
	ans_plan
-------------------------------*/
.ans_plan {
	padding-bottom:25vw;
}

.ans_plan .inner {
	max-width:100%;
}

.ans_plan h1 + p {
	font-size:4vw;
}

.plan_detail {
	width:100%;
	max-width:100%;
	/* box-shadow */
	box-shadow: 0px 2vw 4vw -0.5vw rgba(35,24,21,0.2), 0px 0px 2vw 0px rgba(35,24,21,0.2);
}

.plan_detail:not(:last-of-type) {
	margin-bottom:20vw;
}

.plan_border {
	min-height:auto;
	padding:5vw 5vw 10vw;
	border-width:7.5vw;
}

.plan_border h2 {
	font-size:6vw;
	/* min-height:auto; */
	padding-bottom:0.5em;
	border-width:0.5vw;
}

/*
.plan_detail01 .plan_border h2 {
	padding-top:0;
}
*/

.plan_child h3 {
	margin-bottom:0.75em;
}

.plan_child h3 span {
	font-size:4vw;
	min-width:25vw;
}

.plan_child h4 {
	font-size:4.5vw;
	margin-bottom:1em;
}

.plan_child h4 strong {
	font-size:9vw;
}

.plan_child h4 strong::after {
	font-size:5vw;
}

.plan_child p {
	margin-bottom:1.5em;
}

.plan_border p.maru::before {
	top:0.4em;
}

.plan_detail02 .mar_bo {
	font-size:3.5vw;
}

.plan_detail02 .plan_child {
	margin-bottom:7.5vw;
}

.plan_child03 h4 strong {
	font-size:10vw;
}

.plan_bottom {
	padding:7.5vw  12.5vw;
}

.plan_bottom h3 {
	font-size:4.5vw;
}

/*-------------------------------
	ans contact
-------------------------------*/

.ans_conwrap {
	max-width:100%;
	margin:15vw auto 0;
}

.ans_conbtn {
	width:100%;
	max-width:100%;
	height:25vw;
}

.ans_contact h1 + p {
	font-size:4vw;
}

.ans_conbtn01 {
	line-height:24.5vw;
}

.ans_conbtn01 span {
	font-size:4vw;
}

.ans_conbtn01 span::before {
	width:11.9vw;
	height:9.24vw;
	left:2vw;
}

.ans_conbtn02 {
	padding-top:1vw;
	margin-top:5vw;
}

.ans_conbtn02 .ans_telno {
	font-size:7.5vw;
	padding-left:15vw;
}

.ans_conbtn02 .ans_telno::before {
	width:8.5vw;
	height:11vw;
	left:4vw;
}

.ans_conbtn02 p {
	font-size:3.5vw;
}

/*-------------------------------
	最新のsafari用
-------------------------------*/


_::-webkit-full-page-media, _:future, :root .f_txt h1 {
	font-size:8.75vw;
}

_::-webkit-full-page-media, _:future, :root .f_txt h2 {
	font-size:3.5vw;
}

_::-webkit-full-page-media, _:future, :root .raku_nayami h1 span {
	font-size:4vw;
}

_::-webkit-full-page-media, _:future, :root .nayami_block h3 span {
	font-size:4.5vw;
}

_::-webkit-full-page-media, _:future, :root .nayami_omakase h2 {
	font-size:5vw;
}

_::-webkit-full-page-media, _:future, :root .ans_head h1 {
	font-size:8.75vw;
}

_::-webkit-full-page-media, _:future, :root .sai_txt h3 {
	font-size:4.5vw;
}

_::-webkit-full-page-media, _:future, :root .plan_detail02 .mar_bo {
	font-size:3.75vw;
}

_::-webkit-full-page-media, _:future, :root .ans_contact h1 + p {
	font-size:3.75vw;
}

_::-webkit-full-page-media, _:future, :root .supp_block02 .title_underline,
_::-webkit-full-page-media, _:future, :root .supp_block02 .title_underline span {
	font-size:5.25vw;
}




}