@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&subset=japanese');

/* ---------------------------------------
  基本情報
-----------------------------------------*/
html,body{	height:100%;}
html{
	font-size:62.5%;
    overflow-y: scroll;
}
*,*:after,*:before{
	box-sizing: border-box;
}
body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form ,figure{
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
	word-wrap : break-word;
	overflow-wrap : break-word;
	-webkit-text-size-adjust: 100%;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {display: none;}
textarea{resize: vertical;}
button{cursor: pointer;}
a {
	color: #000;
	text-decoration: none;
	transition: opacity 0.3s ease;
	outline: 1px solid transparent;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a img {
	outline: 1px solid transparent;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
img{
	vertical-align: bottom;
	max-width: 100%;
}
@media screen and (min-width: 769px) {
	.sp{display: none!important;}
}
@media screen and (max-width: 768px) {
	.pc{display: none!important;}
	img{width: 100%;}
}

/* マウスオーバー
--------------------------------*/
@media screen and (min-width: 769px) {
	.fade:hover,a:hover img{opacity: 0.7;}
	.fade,a img{transition: opacity 0.3s ease-out;}
}

/* base
--------------------------------*/
body {
	color: #000;
	min-width: 1100px;
	font-size: 1.0rem;
}
section {position: relative;}
.wrap{
	width: 1000px;
	margin: 0 auto;
	position: relative;
}
p,th,td,dt,dd,li,input,button,textarea {
	font-size: 2rem;
	line-height: 1.75;
}
.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.center{
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.a_center{text-align: center;}
.txt_s{font-size: 1.2rem;}
.red{color: #ed1c24;}
.green{color: #2e3192;}
.green2{color: #ffffff;}
.gray{color: #808080;}
.gray2{color: #707070;}
.white{color: #ffffff;}
.yellow{color: #f4d121;}
.line_y{
	display: inline-block;
	border-bottom: 3px solid #f4d121;
}
.bold{font-weight: 700;}
.normal{font-weight: 400;}
.fixed {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.shadow{box-shadow: 0 0 5px rgba(0,0,0,0.75);}

/*見出し*/
.secttl{
	width: 100%;
	background: #0bade4;
	text-align: center;
	position: relative;
	height: 80px;
	box-shadow: 0 1px 5px rgba(0,0,0,0.75);
}
.secttl h2{
	position: relative;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.05em;
	font-size: 2.7rem;
	line-height: 1.2;
	z-index: 2;
}
.secttl::after{
	content: '';
	position: absolute;
	bottom: -34px;
	left: 50%;
	margin-left: -37px;
	width: 74px;
	height: 74px;
   transform: scaleY(.6) rotate(45deg);
	background: #0bade4;
	box-shadow: 5px 5px 8px -5px rgba(0,0,0,0.75);
}
.secttl.noshadow,
.secttl.noshadow::after{box-shadow: none;}
@media screen and (max-width: 768px) {
	body {min-width: inherit;}
	.wrap{
		width: 96%!important;
		margin: 0 auto;
	}
	p,th,td,dt,dd,li,input,button,textarea {font-size: 2.7vw;}
	.line_y{border-bottom: 3px solid #f4d121;}
	/*見出し*/
	.secttl{height: 17vw;}
	.secttl h2{
		letter-spacing: 0;
		height: 17vw;
		font-size: 4.25vw;
	}
	.secttl::after{
		bottom: -4.8vw;
		margin-left: -5vw;
		width: 10vw;
		height: 10vw;
	}
}

/* ---------------------------------------------
  header
-----------------------------------------------*/
header{
	width: 100%;
	background: #fff;
	padding: 10px 0;
	box-shadow: 1px 1px 10px rgba(0,0,0,0.75);
    border-top: 18px #0bade4 solid;
}
header h1{
	width: 220px;
	margin: 0 auto;
}
header h1 a{display: block;}
@media screen and (max-width: 768px) {
	header{
		padding: 2.6vw 0;
		box-shadow: 1px 1px 8px rgba(0,0,0,0.5);
	    border-top: 10px #0bade4 solid;
    }
	header h1{
		width: 50%;
		margin: 0 auto;
	}
}

/* ---------------------------------------------
  mv
-----------------------------------------------*/
#mv{
	width: 945px;
	margin: 0 auto;
}
#mv .mv_txt{
	width: 710px;
	padding: 45px 0 75px;
}
#mv .mv_txt h2{
	font-weight: 700;
	font-size: 4.23rem;
	line-height: 1.4;
	margin-bottom: 34px;
}
#mv .mv_txt h2 .small{font-size: 2.1rem;}
#mv .mv_txt h2 .line_y{
	margin-bottom: 8px;
	border-bottom: 6px solid #ffce00;
}
#mv .mv_txt ul li{
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.1;
	text-align: center;
	padding: 8px 0;
	border: 2px solid #ff0000;
	border-radius: 18px;
	background:
		url(../img/ico_mvtxt01.webp) no-repeat left 14px center,
		url(../img/ico_mvtxt02.webp) no-repeat right 14px center;
}
#mv .mv_txt ul li:first-child{width: 197px;}
#mv .mv_txt ul li:last-child{
	width: 240px;
	letter-spacing: -0.02em;
	margin-left: 8px;
}
#mv .mv_txt .mv_box{
	position: relative;
	left: -18px;
	align-items: center;
	width: 631px;
	height: 202px;
	padding: 25px 40px 45px;
	background: url(../img/bg_mvbox.webp) no-repeat center / 100% 100%;
}
#mv .mv_txt .mv_box p{
	display: inline-block;
	width: 258px;
	font-size: 4.1rem;
	line-height: 1;
	font-weight: 700;
}
#mv .mv_txt .mv_box p span.red{
	font-size: 2.6rem;
    color: #ffce00;
}
#mv .mv_txt .mv_box p span.red span{font-size: 6.4rem;}
#mv .mv_txt .mv_box p:last-child span.red span{
	font-size: 6rem;
	letter-spacing: -2px;
}
#mv .mv_txt p.txt{
	padding: 16px 0 14px;
	background:
		url(../img/dot_y.webp) no-repeat center top,
		url(../img/dot_y.webp) no-repeat center bottom;
	width: 589px;
	font-size: 2.5rem;
	text-align: center;
	letter-spacing: -0.07em;
}
#mv .mv_txt p.txt span{
	display: block;
	font-size: 1.2rem;
	letter-spacing: 0;
}
#mv .mv_img{
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
    text-align: right;
}
#mv .mv_img img{max-width: 90%;}
@media screen and (max-width: 768px) {
	#mv{
		width: 100%;
		padding: 0 4%;
		overflow: hidden;
	}
	#mv .mv_txt{
		width: 100%;
		padding: 1.2vw 0 9.6vw;
	}
	#mv .mv_txt h2{
		font-size: 6.05vw;
		margin-bottom: 5vw;
		white-space: nowrap;
		margin-left: -0.05em;
		line-height: 1.25;
	}
	#mv .mv_txt h2 .small{
		font-size: 3.02vw;
		letter-spacing: -0.05em;
	}
	#mv .mv_txt h2 .line_y{
		margin-bottom: 1.3vw;
		border-bottom: 3px solid #ffce00;
	}
	#mv .mv_txt ul li{
		font-size: 3.6vw;
		height: 7.97vw;
		line-height: 6.6vw;
		padding: 0;
		border-radius: 4vw;
		background:
			url(../img/ico_mvtxt01.webp) no-repeat left 2vw center / 2.65vw auto,
			url(../img/ico_mvtxt02.webp) no-repeat right 2vw center/ 2.65vw auto;
	}
	#mv .mv_txt ul li:first-child{width: 39.9vw;}
	#mv .mv_txt ul li:last-child{
		width: 48.4vw;
		letter-spacing: 0;
		margin-left: 2vw;
	}
	#mv .mv_txt .mv_box{
		left: -4%;
		width: 97vw;
		height: 30.5vw;
		padding: 4vw 0 6vw 7vw ;
		background: url(../img/bg_mvbox.webp) no-repeat center / 100% 100%;
		margin: 1.5vw 0 4.5vw;
	}
	#mv .mv_txt .mv_box p{
		width: 40vw;
		font-size: 6vw;
	}
	#mv .mv_txt .mv_box p span.red{font-size: 3.98vw;}
	#mv .mv_txt .mv_box p span.red span{
		font-size: 9.8vw;
		vertical-align: text-bottom;
	}
	#mv .mv_txt .mv_box p:last-child span.red span{
		font-size: 9.3vw;
		vertical-align: text-bottom;
	}
	#mv .mv_txt p.txt{
		padding: 5.3vw 0 5.6vw;
		background:
			url(../img/dot_y.webp) no-repeat left top,
			url(../img/dot_y.webp) no-repeat left bottom;
		width: 55vw;
		font-size: 5.5vw;
		line-height: 1.66;
		text-align: left;
		letter-spacing: -0.1em;
		white-space: nowrap;
	}
	#mv .mv_txt p.txt span{
		font-size: 3.2vw;
		line-height: 1.33;
		margin-top: 1.5vw;
		letter-spacing: -0.05em;
	}
	#mv .mv_img{
		width: 64.6vw;
		bottom: -2vw;
	}
}

/* ------------------------------
    opt
------------------------------ */
.opt .wrap{
	width: 800px;
	padding: 0 0 45px;
}
.opt .box_wrap{
	width: 800px;
	padding-top: 50px;
	overflow: hidden;
	position: relative;
	right: -13px;
}
.opt .opt_box{
	width: 774px;
	position: relative;
	background: #fff;
	border: 3px solid #e6e6e6;
	border-radius: 17px;
	padding: 15px 40px 10px;
	margin-bottom: 30px;
}
.opt .opt_box .img{
	position: absolute;
	right: -58px;
	bottom: -3px;
	z-index: 1;
}
.opt .opt_box .flex{margin-bottom: 10px;}
.opt .opt_box .flex p{
	color: #f15a24;
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 1.2;
	padding: 0 42px;
	border-radius: 18px;
	background:
		url(../img/icon_line01.webp) no-repeat left 10px center,
		url(../img/icon_line02.webp) no-repeat right 14px center;
}
.opt .opt_box .flex p span{font-size: 1.5rem;}
.opt .opt_box .opt_btn{margin-left: -6px;}
.opt .opt_box .opt_btn a{pointer-events: none;}
.opt .opt_box .tel{
	width: 537px;
	margin-top: 6px;
	text-align: center;
}
.opt .opt_box .tel li {
	font-size: 1.1rem;
	color: #808080;
	font-weight: bold;
	line-height: 1;
}
.opt .opt_box .tel li .tel_num{margin-bottom: 5px;}
.opt .opt_box .time{
	width: 537px;
	text-align: center;
	font-weight: bold;
	margin-top: .5em;
	font-size: 1.3rem;
	color: #808080;
	line-height: 1.2;
}
.opt  .mail_btn a{
	display: block;
	text-align: center;
	width: 520px;
	border-radius: 6px;
	margin: 0 auto;
	background:	#3166ee;
	color: #fff;
	font-size: 1rem;
	line-height: 1.3;
	padding: 10px 0 10px 66px;
	background: url(../img/icon_mail.webp) #3166ee no-repeat left 100px center;
}
.opt .mail_btn a span{
	font-weight: 700;
	display: block;
	font-size: 2.7rem;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
	letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
	.opt .wrap{
		width: 100%!important;
		padding: 0 0 6.6vw;
	}
	.opt .box_wrap{
		width: 100%;
		right: 0;
		padding: 6.9vw 2% 0;
	}
	.opt .opt_box{
		width: 100%;
		margin-right: auto;
		border: 1px solid #e6e6e6;
		border-radius: 1.9vw;
		padding: 2vw 5.2vw 1.5vw;
		margin-bottom: 2.6vw;
	}
	.opt .opt_box .img{
		width: 36vw;
		right: -9vw;
		bottom: -1px;
		z-index: 1;
	}
	.opt .opt_box .flex{margin-bottom: 2vw;}
	.opt .opt_box .flex p{
		font-size: 3.1vw;
		padding: 0 5.2vw;
		background:
			url(../img/icon_line01.webp) no-repeat left 2.2vw bottom / 2.6vw auto,
			url(../img/icon_line02.webp) no-repeat right 2.2vw bottom / 2.6vw auto;
	}
	.opt .opt_box .flex p span{font-size: 2.1vw;}
	.opt .opt_box .opt_btn{
		width: 64vw;
		margin-left: -1vw;
	}
    .opt .opt_box .opt_btn a{
        pointer-events: auto;
        display: block;
    }
	.opt .opt_box .tel{
		width: 64.9vw;
		margin: 1vw auto 0;
	}
	.opt .opt_box .tel li {
		width: 31vw;
		font-size: 1.3vw;
		white-space: nowrap;
	}
	.opt .opt_box .tel li .tel_num{
		line-height: 1;
		margin: 15px auto;
	}
	.opt .opt_box .tel li .tel_num img{display: block;}
	.opt .opt_box .time{
		width: 64.9vw;
		font-size: 1.7vw;
	}
	.opt  .mail_btn a{
		text-align: left;
		width: 62.7vw;
		border-radius: 1.5vw;
		font-size: 1.25vw;
		line-height: 1.3;
		padding: 2vw 0 2vw 20vw;
		background: url(../img/icon_mail.webp) #3166ee no-repeat left 10vw center / 7.4vw auto;
	}
	.opt .mail_btn a span{
		font-size: 3.2vw;
		text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
	}
}

/* ------------------------------
    sec01
------------------------------ */
#sec01{
	background: rgba(153,153,153,.19);
	border-bottom: 1px solid #fff;
}
#sec01 .wrap{
	width: 770px;
	padding: 100px 0 70px;
}
#sec01 .item{
	width: 100%;
	justify-content: space-between;
	align-items: flex-start;
}
#sec01 .item + .item{margin-top: 50px;}
#sec01 .item .img{width: 156px;}
#sec01 .item dl{width: 593px;}
#sec01 .item dl dt{
	font-size: 2.5rem;
	line-height: 1.5;
	margin-bottom: 15px;
}
#sec01 .item dl dd{
	font-size: 2rem;
	width: 100%;
	background: #fff;
	border-radius: 12px;
	padding: 1.5em 1em;
	line-height: 1.5;
	box-shadow: 0 1px 2px 1px rgba(0,0,0,.75);
}
@media screen and (max-width: 768px) {
	#sec01{border-bottom: none;}
	#sec01 .secttl{box-shadow: 0 1px 5px rgba(0,0,0,0.75);}
	#sec01 .secttl::after{box-shadow: 5px 5px 8px -5px rgba(0,0,0,0.75);}
	#sec01 .wrap{padding: 13.2vw 0 10.6vw;}
	#sec01 .item + .item{margin-top: 5.3vw;}
	#sec01 .item .img{width: 22vw;}
	#sec01 .item dl{width: 72vw;}
	#sec01 .item dl dt{
		font-size: 3.4vw;
		line-height: 1.5;
		margin-bottom: 2.4vw;
		color: #707070;
	}
	#sec01 .item dl dd{
		font-size: 2.66vw;
		border-radius: 1.6vw;
		padding: 1.5em .5em;
		line-height: 1.5;
		box-shadow: none;
		color: #707070;
	}
}

/* ------------------------------
    sec02
------------------------------ */
#sec02 .wrap{
	width: 777px;
	padding: 70px 0 ;
}
#sec02 h2{
	text-align: center;
	font-size: 3.7rem;
	line-height: 1.3;
	margin-bottom: 45px;
}
#sec02 h2 .txt_s{font-size: 1.9rem;}
#sec02 p.txt{
	font-size: 1.8rem;
	line-height: 1.88;
}
@media screen and (max-width: 768px) {
	#sec02 .wrap{padding: 12vw 0 6vw;}
	#sec02 h2{
		font-size: 4.9vw;
		line-height: 1.3;
		margin-bottom: 6vw;
	}
	#sec02 h2 .txt_s{font-size: 2.3vw;}
	#sec02 p.txt{
		padding: 0 4%;
		font-size: 2.7vw;
		line-height: 1.7;
	}
}

/* ------------------------------
    sec03
------------------------------ */
#sec03 .wrap{
	width: 650px;
	padding: 100px 0 75px;
}
#sec03 .list{
	width: 100%;
	justify-content: space-between;
	margin-bottom: 50px;
}
#sec03 .list li{width: 190px;}
#sec03 .list li:nth-child(n+4){margin-top: 20px;}
#sec03 .list li .caption{
	font-size: 1.2rem;
	line-height: 1.6;
	margin-top: .5em;
}
#sec03 .box{
	box-shadow: -1px 1px 5px rgba(0,0,0,0.75);
	border-radius: 10px;
	font-size: 2.6rem;
	padding: 2px 0;
	margin-bottom: 25px;
}
#sec03 .media{margin: 80px 0 50px;}
#sec03 .media .box + .box{margin-left: 14px;}
#sec03 .message h3{
	font-size: 2.6rem;
	line-height: 1.4;
	margin-bottom: 1em;
}
#sec03 .message .messagebox{position: relative;}
#sec03 .message .messagebox p{font-size: 1.9rem;}
#sec03 .message .messagebox .z_img{
    position: absolute;
    right: 0;
    bottom: -75px;
    width: 310px;
    right: -80px;
}
@media screen and (max-width: 768px) {
	#sec03 .wrap{padding: 16vw 0 ;}
	#sec03 .list{
		width: 100%;
		padding: 0 2%;
		margin: 0 auto 8vw;
	}
	#sec03 .list li{
		width: 48%;
		text-align: center;
	}
	#sec03 .list li:nth-child(n+4){margin-top: 4vw;}
	#sec03 .list li:nth-child(n+3){margin-top: 4vw;}
	#sec03 .list li .caption{font-size: 2.7vw;}
	#sec03 .box{
		box-shadow: 0 1px 4px rgba(0,0,0,0.75);
		border-radius: 2.6vw;
		font-size: 4.5vw;
		padding: .1em 0;
		margin-bottom: 3.2vw;
	}
	#sec03 .media{margin: 12vw 0 6vw;}
	#sec03 .media .box{
		width: 100%;
		height: 18.6vw;
		font-size: 4.5vw;
	}
	#sec03 .media .box + .box{margin-left: 0;}
	#sec03 .message h3{
		font-size: 4.5vw;
		line-height: 1.4;
		margin-bottom: .5em;
	}
	#sec03 .message .messagebox{
		height: auto;
		padding: 1em;
	}
	#sec03 .message .messagebox p{font-size: 2.8vw;}
}

/* ------------------------------
    sec04
------------------------------ */
#sec04{background: url(../img/bg_sec04.webp);}
#sec04 .secttl span.red{
	font-size: 11rem;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-style: italic;
	line-height: 1;
	height: 80px;
	margin: -.6em .1em 0 .05em;
	display: inline-block;
}
#sec04 .wrap{
	width: 704px;
	padding: 110px 0 95px;
}
#sec04 .box{
	width: 100%;
	height: 460px;
	padding: 16px 18px;
	background: #fff;
	box-shadow: 1px 1px 5px rgba(0,0,0,0.5);
}
#sec04 .box + .box{margin-top: 30px;}
#sec04 .box .boxttl{
	display: flex;
	align-items: center;
	position: relative;
	min-height: 116px;
	margin-bottom: 16px;
}
#sec04 .box .boxttl::after{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 6px;
	background: linear-gradient(90deg, rgba(0,113,188,1) 0%, rgba(41,171,226,1) 50%, rgba(0,113,188,1) 100%);
}
#sec04 .box .boxttl .num{
	width: 101px;
	height: 118px;
	font-size: 8.8rem;
	line-height: 1;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-style: italic;
	background: url(../img/sec04_bg_num.webp) no-repeat center top / 100% auto;
	padding: 5px .25em 0;
	margin-right: 20px;
}
#sec04 .box .boxttl .green{
	color: #2e3192;
	font-weight: 700;
	font-size: 3.8rem;
}
#sec04 .box .boxttl .red{
	font-weight: 700;
	font-size: 2rem;
	margin-left: 1em;
}
#sec04 .box .gray2{
	font-size: 1.8rem;
	line-height: 1.77;
	letter-spacing: -0.03em;
	padding-left: 5px;
	margin-bottom: 45px;
}
#sec04 .box .list{margin-left: 10px;}
#sec04 .box .list li{
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.1;
	padding-left: 45px;
	position: relative;
}
#sec04 .box .list li+li{margin-top: 18px;}
#sec04 .box .list li::before{
	content: "";
	display: inline-block;
	width: 40px;
	height: 33px;
	background: url(../img/icon_check.webp) no-repeat center;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -16px;
}
@media screen and (max-width: 768px) {
	#sec04{background: #e6e6e6;}
	#sec04 .secttl{
		padding: 1vw 0 0;
		height: 24vw;
		background: linear-gradient(135deg, rgba(0,113,188,1) 0%, #0071bc 100%);
	}
	#sec04 .secttl h2:not(span){
		line-height: 1.5;
		font-size: 6vw;
		align-items: flex-end;
	}
	#sec04 .secttl span{line-height: 1.1;}
	#sec04 .secttl span.sp_s{
		font-size: 3.6vw;
		line-height: 1;
	}
	#sec04 .secttl::after{display: none;}
	#sec04 .secttl span.red{
		font-size: 15.4vw;
		height: 12.76vw;
		margin: 0 .1em 0 .05em;
	}
	#sec04 .wrap{padding: 14vw 1%;}
	#sec04 .box{
		width: 100%;
		height: 61vw;
		padding: 0 2vw 2.2vw;
		box-shadow: 1px 1px 5px rgba(0,0,0,0.5);
	}
	#sec04 .box + .box{margin-top: 3.4vw;}
	#sec04 .box .boxttl{
		min-height: 18vw;
		margin-bottom: 2vw;
	}
	#sec04 .box .boxttl::after{
		width: 100%;
		height: 3px;
		background: linear-gradient(90deg, rgba(0,113,188,1) 0%, rgba(41,171,226,1) 50%, rgba(0,113,188,1) 100%);
	}
	#sec04 .box .boxttl .num{
		width: 13.3vw;
		height: 14.1vw;
		font-size: 11vw;
		padding: 1.2vw .3em 0;
		margin-right: 3.2vw;
	}
	#sec04 .box .boxttl .green{font-size: 6.1vw;}
	#sec04 .box .red.sp{
		font-size: 2.7vw;
		font-weight: 700;
		line-height: 1.2;
		margin-bottom: .4em;
	}
	#sec04 .box .gray2{
		font-size: 2.65vw;
		line-height: 1.3;
		letter-spacing: -0.05em;
		padding-left: 0;
		margin-bottom: 3vw;
		min-height: 4.5em;
	}
	#sec04 .box:first-of-type .gray2{margin-bottom: 0;}
	#sec04 .box:nth-child(4) .gray2{min-height: 6em;}
	#sec04 .box .list{margin-left: 3vw;}
	#sec04 .box .list li{
		font-size: 3.2vw;
		padding-left: 5.3vw;
	}
	#sec04 .box .list li+li{margin-top: 2.5vw;}
	#sec04 .box .list li::before{
		width: 3.7vw;
		height: 4.2vw;
		background: url(../img/icon_check.webp) no-repeat center / 100% auto;
		margin-top: -2.3vw;
	}
}

/* ------------------------------
    sec05
------------------------------ */
#sec05 .wrap{
	width: 772px;
	padding: 100px 0 80px;
}
#sec05 h3{
	font-size: 4.2rem;
	line-height: 1.2;
	margin-bottom: 70px;
}
#sec05 .wrap > .flex{justify-content: space-between;}
#sec05 .case{width: 373px;}
#sec05 .case dl{display: flex;}
#sec05 .case dl dt{
	font-family: "Helvetica Neue", Arial, sans-serif;
	background: linear-gradient(135deg, rgba(41,171,226,1) 0%, rgba(0,113,188,1) 100%);
	width: 55px;
	height: 55px;
	border: 1px solid #006837;
	text-align: center;
	color: #fff;
	font-weight: 700;
	line-height: 1.1;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding: 8px 0;
	margin-bottom: 15px;
}
#sec05 .case dl dt span{
	width: 100%;
	display: block;
	font-size: 1.6rem;
	font-style: italic;
}
#sec05 .case dl dd{
	padding: .8em 0 .8em .8em;
	width: calc(100% - 55px);
	height: 55px;
	border: 1px solid #2e3192;
	border-left: none;
	font-size: 1.2rem;
	line-height: 1.5;
}
#sec05 .case .box{
	width: 100%;
	padding: 25px 10px 7px;
	border: 1px solid #2e3192;
	border-radius: 8px;
}
#sec05 .case1 .box{padding-top: 25px;}
#sec05 .case .box .img span{
	display: block;
	font-size: 2.3rem;
	font-weight: bold;
	margin-top: 5px;
}
#sec05 .case .box .repeayment_box{
	height: 130px;
	margin: 20px 0;
}
#sec05 .case1 .box .repeayment_box p + p{margin-top: .5em;}
#sec05 .case2 .box .repeayment_box p + p{margin-top: 1.5em;}
#sec05 .case .box .repeayment{
	font-size: 1.6rem;
	line-height: 1;
	padding-left: 5px;
	white-space: nowrap;
}
#sec05 .case .box .repeayment .com{
	display: block;
	margin-bottom: .4em;
	margin-left: .2em;
}
#sec05 .case .box .repeayment .txt{
	display: inline-block;
	vertical-align: middle;
	min-width: 7em;
}
#sec05 .case .box .repeayment .amount{
	font-size: 1.5rem;
	display: inline-block;
	vertical-align: middle;
}
#sec05 .case .box .repeayment .amount span,
#sec05 .case .box .repeayment .txt span{
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-style: italic;
	font-size: 2.8rem;
}
#sec05 .case .box .repeayment img{
	vertical-align: middle;
	margin: 0 0 0 5px;
}
#sec05 .case2 .box .repeayment img{margin: 0 6px 0 8px;}
#sec05 .case .box .simulation{
	margin: 8px 0 0;
	min-height: 140px;
}
#sec05 .case1 .box .simulation img{width: 339px;}
#sec05 .case2 .box .simulation img{width: 350px;}
#sec05 .case .box .txtbox{
	width: 100%;
	background: rgba(41,171,226,.15);
	padding: 8px;
	display: flex;
	position: relative;
}
#sec05 .case .box .txtbox .green{
	width: 3em;
	line-height: 1.2;
	font-size: 1.5rem;
	margin-right: .5em;
}
#sec05 .case .box .txtbox .txt{
	flex: 1;
	font-size: 1.2rem;
	line-height: 1.5;
	letter-spacing: -0.05em;
	position: relative;
}
#sec05 .case .box .txtbox + .txtbox::after{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 64px 0 64px;
	border-color: #2e3192 transparent transparent transparent;
	position: absolute;
	left: 50%;
	top: -32px;
	margin-left: -64px;
}
#sec05 .case .box .txtbox + .txtbox{margin-top: 50px;}
#sec05 .case2 .box .risoku{
	font-size: 1.3rem;
	line-height: 1.5;
	padding-left: 5px;
}
#sec05 .case2 .box .risoku .amount{
	font-size: 1.3rem;
	display: inline-block;
	vertical-align: middle;
}
#sec05 .case2 .box .risoku .amount span{
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-style: italic;
	font-size: 2.3rem;
}
#sec05 .case2 .box .simulation{margin-top: 0;}
@media screen and (max-width: 768px) {
	#sec05 .wrap{padding: 16vw 4% 8vw;}
	#sec05 h3{
		font-size: 6vw;
		color: #606060;
		line-height: 1.4;
		margin-bottom: 7vw;
	}
	#sec05 h3 span{
		display: block;
		font-size: 3vw;
	}
	#sec05 .wrap > .flex{display: block;}
	#sec05 .case{width: 100%;}
	#sec05 .case + .case{margin-top: 8vw;}
	#sec05 .case dl{margin-bottom: 2.66vw;}
	#sec05 .case dl dt{
		font-family: "Helvetica Neue", Arial, sans-serif;
		background: linear-gradient(135deg, rgba(41,171,226,1) 0%, rgba(0,113,188,1) 100%);
		width: 13.3vw;
		height: 13.3vw;
		padding: 1.8vw 0;
		margin-bottom: 0;
		font-size: 4.78vw;
	}
	#sec05 .case dl dt span{font-size: 3.7vw;}
	#sec05 .case dl dd{
		padding: .8em;
		width: calc(100% - 13.3vw);
		height: 13.3vw;
		border-left: none;
		font-size: 2.7vw;
		line-height: 1.6;
	}
	#sec05 .case .box{
		width: 100%;
		padding: 4vw 2.66vw 2.66vw;
		border-radius: 1.8vw;
	}
	#sec05 .case1 .box{padding-top: 4vw;}
	#sec05 .case .box .img img{
		width: 38.8vw;
		margin: 0 auto;
	}
	#sec05 .case .box .img span{
		font-size: 5vw;
		margin-top: 1vw;
	}
	#sec05 .case .box .repeayment_box{
		height: auto;
		margin: 4vw 0;
	}
	#sec05 .case .box .repeayment{
		font-size: 3.6vw;
		padding-left: .5em;
	}
	#sec05 .case .box .repeayment .amount:first-of-type{margin-left: .5em;}
	#sec05 .case .box .repeayment .amount{
		font-size: 3.4vw;
		position: relative;
		top: -.5vw;
	}
	#sec05 .case2 .box .repeayment .txt{
		position: relative;
		top: -.5vw;
	}
	#sec05 .case .box .repeayment .txt span,
	#sec05 .case .box .repeayment .amount span{font-size: 6.38vw;}
	#sec05 .case .box .repeayment img{
		vertical-align: middle;
		width: 3.98vw;
		margin: -.8vw 0 0 1vw;
	}
	#sec05 .case .box .simulation{
		margin: 1vw 0 3vw;
		min-height: inherit;
	}
	#sec05 .case1 .box .simulation img,
	#sec05 .case2 .box .simulation img{width: 100%;}
	#sec05 .case .box .txtbox{
		padding: 1.5vw;
		min-height: 23.9vw;
	}
	#sec05 .case .box .txtbox .green{
		font-size: 3.5vw;
		white-space: nowrap;
		margin-right: .3em;
	}
	#sec05 .case .box .txtbox .txt{
		font-size: 2.6vw;
		line-height: 1.6;
	}
	#sec05 .case .box .txtbox + .txtbox::after{
		border-width: 5.8vw 14.6vw 0 14.6vw;
		left: 50%;
		top: -8vw;
		margin-left: -14.6vw;
	}
	#sec05 .case .box .txtbox + .txtbox{margin-top: 11.8vw;}
	#sec05 .case2 .box .risoku{
		font-size: 3vw;
		padding-left: 1.8vw;
	}
	#sec05 .case2 .box .risoku .amount{
		font-size: 3vw;
		position: relative;
		top: -.5vw;
	}
	#sec05 .case2 .box .risoku .amount span{font-size: 5.3vw;}
	#sec05 .case2 .box .simulation{margin-top: 0;}
}

/* ------------------------------
    sec06
------------------------------ */
#sec06{background: url(../img/bg_sec06.webp) #fff no-repeat center 104px / cover;}
#sec06 .wrap{
	width: 687px;
	padding: 100px 0 75px;
}
#sec06 h3{
	font-size: 4.2rem;
	line-height: 1.2;
	margin-bottom: 90px;
}
#sec06 .box{width: 100%;}
#sec06 .box + .box{margin-top: 30px;}
#sec06 .box dt{
	background: #2e3192;
	color: #fff;
	font-weight: bold;
	font-size: 4.2rem;
	line-height: 1.5;
	padding: 14px 30px;
}
#sec06 .box dt span{
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-style: italic;
	font-size: 2.8rem;
	margin-right: 1.2em;
}
#sec06 .box dd{
	padding: 25px 30px;
	background: #fff;
}
@media screen and (max-width: 768px) {
	#sec06{background: none;}
	#sec06 .wrap{padding: 15vw 2% 13vw;}
	#sec06 h3{
		font-size: 6vw;
		color: #606060;
		margin-bottom: 15vw;
	}
	#sec06 .box{width: 100%;}
	#sec06 .box + .box{margin-top: 5.3vw;}
	#sec06 .box dt{
		font-size: 5.8vw;
		padding: .3em .5em;
	}
	#sec06 .box dt span{
		font-size: 4.2vw;
		margin-right: .7em;
	}
	#sec06 .box dd{padding: .9em;}
}

/* ------------------------------
    sec07
------------------------------ */
#sec07{background: rgba(153,153,153,.19);}
#sec07 .wrap{
	width: 702px;
	padding: 90px 0 75px;
}
#sec07 h3{
	font-size: 4.2rem;
	line-height: 1.4;
	margin-bottom: 70px;
}
#sec07 .box{
	width: 100%;
	background: #fff;
	padding: 15px;
}
#sec07 .box + .box{margin-top: 30px;}
#sec07 .box dt{
	font-weight: bold;
	font-size: 2.5rem;
	line-height: 1.5;
	display: flex;
	align-items: center;
	margin-bottom: 17px;
	letter-spacing: -0.05em;
}
#sec07 .box:last-child dt{
	letter-spacing: -0.1em;
	white-space: nowrap;
}
#sec07 .box dt span{
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-style: italic;
	color: #fff;
	background: #2e3192;
	display: inline-block;
	font-size: 3.2rem;
	margin-right: 10px;
	width: 100px;
	border-radius: 12px;
	text-align: center;
	padding: 8px 0;
	letter-spacing: 0;
}
@media screen and (max-width: 768px) {
	#sec07{background: #fff;}
	#sec07 .secttl,
	#sec07 .secttl::after{box-shadow: none;}
	#sec07 .wrap{padding: 15vw 2% 13vw;}
	#sec07 h3{
		font-size: 6vw;
		color: #606060;
		margin-bottom: 12vw;
	}
	#sec07 .box{padding: 0;}
	#sec07 .box + .box{margin-top: 6vw;}
	#sec07 .box dt{
		font-size: 3.2vw;
		margin-bottom: 2.66vw;
	}
	#sec07 .box dt span{
		font-size: 4.2vw;
		margin-right: 2.6vw;
		width: 13.8vw;
		border-radius: 1.6vw;
		padding: 1vw 0;
	}
}

/* ------------------------------
    sec08
------------------------------ */
#sec08{
	background: url(../img/bg_sec08.webp) #fff no-repeat center top / cover;
	padding: 75px 0;
}
#sec08 .wrap{width: 644px;}
#sec08 h2{
	font-size: 4.2rem;
	line-height: 1.4;
	margin-bottom: 40px;
}
#sec08 h3{
	font-size: 3.5rem;
	line-height: 1.2;
	margin-bottom: .5em;
}
#sec08 .map{
	width: 100%;
	height: 312px;
	margin-bottom: 50px;
	background: #fff;
	border: 1px solid #707070;
}
#sec08 .map iframe{
	width: 100%;
	height: 100%;
}
#sec08 p.txt{
	font-size: 1.8rem;
	line-height: 1.88;
 margin-bottom: 6rem;
}
#sec08 ul{margin-top: 2%;}
#sec08 ul li a::after{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: .4em solid transparent;
	border-right: .4em solid transparent;
	border-bottom: .4em solid transparent;
	border-left: .7em solid #fff;
	vertical-align: middle;
	margin-left: .2em;
}
#sec08 ul:first-of-type{margin-bottom: 7%;}
#sec08 ul li + li{margin-top: .5em;}
#sec08 .txt.white:last-of-type{margin-bottom: 10%;}
@media screen and (max-width: 768px) {
	#sec08{padding: 13vw 2%;}
	#sec08 h2{
		font-size: 4.1vw;
		line-height: 1.4;
		margin-bottom: 6vw;
	}
	#sec08 h2  + p{font-size: 3.7vw;}
	#sec08 .map{
		width: 100%;
		height: 46.5vw;
		margin-bottom: 6vw;
	}
	#sec08 p.txt{
		width: 63vw;
		margin: 0 auto;
		font-size: 2vw;
		line-height: 1.7;
	}
	#sec08 h3{
		font-size: 1.5rem;
		line-height: 1.2;
		margin-bottom: .5em;
	}
}

/* ------------------------------
    contact
------------------------------ */
#contact .wrap{
	width: 700px;
	padding: 80px 0 100px;
}
#contact h2{
	font-size: 4.2rem;
	line-height: 1.4;
	margin-bottom: 40px;
}
#contact h2 + .txt{
	font-size: 1.7rem;
	margin-bottom: 2em;
}
#contact dl {
	flex-wrap: wrap;
	width: 100%;
}
#contact dl dt,
#contact dl dd {
	margin-top: 24px;
	font-size: 1.6rem;
	line-height: 1.5;
}
#contact dl dt:first-of-type,
#contact dl dd:first-of-type {margin-top: 0;}
#contact dl dt {
	width: 250px;
	position: relative;
	padding: .5em 0 .5em 70px;
}
#contact dl dt .must,
#contact dl dt .any{
	position: absolute;
	color: #fff;
	background: #c1272d;
	border-radius: 8px;
	font-size: 1.4rem;
	text-align: center;
	width: 56px;
	height: 32px;
	line-height: 32px;
	left: 0;
	top: 4px;
}
#contact dl dt .any{background: #2f5597;}
#contact dl dd {width: calc( 100% - 250px );}
#contact *::placeholder {color: #a6a6a6;}
#contact input:not([type="submit"]),
#contact textarea,
#contact select {
	width: 100%;
	background: transparent;
	font-size: 1.6rem;
	height: 40px;
	padding: .6em 1em .4em;
	background: #fff;
	border: 1px solid #707070;
	border-radius: 8px;
	line-height: 1.4;
}
#contact form select{
    -webkit-appearance: menulist;
    appearance: normal;
}
#contact textarea{height: 10em;}
.ie #contact input:not([type="submit"]),
.ie #contact textarea,
.ie #contact select {
	padding: .5em 1em;
}
#contact input[type="submit"]{
	cursor: pointer;
	display: block;
	width: 304px;
	height: 79px;
	margin: 75px auto 75px;
	background: url(../img/submitbtn.webp) 0 0 no-repeat;
	text-indent: -99999999px;
	overflow: hidden;
	outline: 1px solid transparent;
}
#contact .btn_area {
	justify-content: space-between;
	align-items: center;
}
#contact .btn_area .backbtn{
	display: block;
	width: 304px;
	height: 79px;
	line-height: 71px;
	background: #fff;
	border: 4px solid #2d765a;
	border-radius: 36px;
	margin: 75px auto 0;
	font-size: 2.5rem;
	font-weight:700;
	color: #2d765a;
}
#contact .btn_area .backbtn input:not([type="submit"]){
    background: transparent;
    border: none;
    height: 100%;
}

/*確認・完了*/
#contact.confirm h2 + p.txt,
#contact.thanks h2 + p.txt{margin-bottom: 45px;}
#contact.confirm dl dd,
#contact.thanks dl dd{padding: .5em 0;}
@media screen and (max-width: 768px) {
	#contact .wrap{padding: 13vw 0 8vw;}
	#contact h2{
		font-size: 4.1vw;
		line-height: 1.4;
		margin-bottom: 4vw;
	}
	#contact h2 + .txt{
		font-size: 3vw;
		margin-bottom: 8vw;
		padding: 0 10vw;
	}
	#contact dl {
		display: block;
		width: 67vw;
		margin: 0 auto;
	}
	#contact dl dt,
	#contact dl dd {font-size: 2.7vw;}
	#contact dl dt:first-of-type,
	#contact dl dd:first-of-type {margin-top: 0;}
	#contact dl dt {
		width: 100%;
		position: relative;
		padding: .5em 0 .5em 11vw;
        font-weight: bold;
		line-height: 1.2;
		margin: 0 0 1vw 0;
	}
    #contact.confirm dl dt {padding: .5em 0 .5em 0;}
	#contact dl dt .must,
	#contact dl dt .any{
		border-radius: 1.4vw;
		font-size: 2.5vw;
		width: 9vw;
		height: 4.9vw;
		line-height: 4.9vw;
		top: .5vw;
	}
	#contact dl dd {
		width: 100%;
		line-height: 1;
		margin: 0 0 4vw;
	}
	#contact input:not([type="submit"]),
	#contact textarea,
	#contact select {
		font-size: 2.7vw;
		border-radius: 1.4vw;
		height: 6.6vw;
		padding: 0 1em;
	}
	#contact textarea{height: 10em;}
	#contact input[type="submit"]{
		width: 30vw;
		height: 7.7vw;
		margin: 6.6vw auto 4vw;
		background: url(../img/submitbtn.webp) 0 0 no-repeat;
        background-size: contain;
	}
	#contact .btn_area .backbtn{
		width: 30vw;
		height: 7.7vw;
		line-height: 7vw;
		background: #fff;
		border: .4vw solid #2d765a;
		border-radius: 5vw;
		margin: 6.6vw auto 0;
		font-size: 3vw;
	}
    #contact .btn_area .backbtn input:not([type="submit"]){
        background: transparent;
        border: none;
        height: 100%;
    }
	/*確認・完了*/
	#contact.confirm h2 + p.txt,
	#contact.thanks h2 + p.txt{margin-bottom: 8vw;}
}

/* ------------------------------
    floating_btn
------------------------------ */
#floating_btn{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 1vw 2vw;
	background: rgba(255,255,255,.6);
	z-index: 1000;
}
#floating_btn a{display: block;}

/* ------------------------------
    footer
------------------------------ */
footer{
	width: 100%;
	padding: 20px 0;
	background: #0071bc;
}
@media screen and (max-width: 768px) {
	footer{padding: 5vw 0 25vw 0;}
	footer p{line-height: 1.5;}
}

/* ------------------------------
    clearfix
------------------------------ */
.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}
.cf {display: inline-block;}
/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */
section#guide { border-top: 10px solid #0071bc; background: #e6e6e6; }
section#guide h2 { font-size: 4.1vw; color: #333; }
section#guide h3 { font-size: 35px; color: #333;margin-top:4%; }
section#guide .wrap { padding: 13vw 0 8vw; }
section#guide dl.dl_guide { border-top: 1px solid #ccc; border-left: 1px solid #ccc; font-size: 12px; margin: 4vw 0 0; }
section#guide dl.dl_guide:last-of-type{margin-bottom: 10%;}
section#guide dl.dl_guide > dt, section#guide dl.dl_guide > dd { padding: 10px; border-right: 1px solid #ccc; border-bottom: 1px solid #Ccc; }
section#guide dl.dl_guide > dt { font-weight: bold; }
section#guide dl.dl_guide dl.dl_guide_inside dt:not(:first-child) { margin: 10px 0 0; }

@media screen and (min-width: 768px) { section#guide h2 { font-size: 4.2rem; }
  section#guide .wrap { padding: 80px 0 100px; }
  section#guide dl.dl_guide { font-size: 13px; margin: 40px auto 0; max-width: 700px; display: block; display: flex; flex-wrap: wrap; justify-content: flex-start; }
  section#guide dl.dl_guide > dt, section#guide dl.dl_guide > dd { padding: 15px; }
  section#guide dl.dl_guide > dt { width: 30%; }
  section#guide dl.dl_guide > dd { width: 70%; }
  section#guide dl.dl_guide dt, section#guide dl.dl_guide dd { font-size: 14px; }
  section#guide dl.dl_guide dl.dl_guide_inside dt:not(:first-child) { margin: 10px 0 0; } }

.online_box { margin: 60px 0 0; }
.online_box p { text-align: center; color: #2F3192; font-size: 2.0rem; line-height: 1.5; font-weight: bold; }
.online_box p span { display: block; font-size: 3.2rem; }

@media screen and (max-width: 768px) {
.online_box p { font-size: 3vw; }
  .online_box p span { font-size: 6.5vw; } 
section#guide h3 {
   font-size: 24px;
   color: #333;
   margin-top: 4%
}
}

#ui-datepicker-div{display: table;}
.kome_text{
    color: #bf0000;
    font-size: 1.18rem;
    margin: 5px 0 0;
    display: block;
}
#contact input:not([type="submit"]).datepicker{width: calc(100% - 120px);}
#contact input:not([type="submit"]).timepick{
    margin: 0 0 0 auto;
    width: 110px;
    float: right;
    padding: 0 10px;
}
#ui-datepicker-div.ui-datepicker th{padding: 0;}
#ui-datepicker-div.ui-datepicker td{line-height: 1.4;}
#ui-datepicker-div.ui-datepicker .ui-datepicker-header{font-size: 1.5rem;}
#ui-datepicker-div .ui-icon{position: relative;}
#ui-datepicker-div a.ui-corner-all:before{
    position: absolute;
    font-size: 1.1rem;
    top: auto;
    bottom: auto;
}
#ui-datepicker-div a.ui-datepicker-prev:before{
    content: "先月";
    right: -2.5rem;
    top: 0.7rem;
    font-weight: bold;
}
#ui-datepicker-div a.ui-datepicker-prev.ui-state-hover:before{right: calc(-2.5rem - 2px);}
#ui-datepicker-div a.ui-datepicker-next:before{
    content: "来月";
    left: -2.5rem;
    top: 0.7rem;
    font-weight: bold;
}
#ui-datepicker-div a.ui-datepicker-next.ui-state-hover:before{left: calc(-2.5rem - 2px);}
@media screen and (max-width: 768px) {
    #contact input:not([type="submit"]).datepicker{width: calc(100% - 21vw);}
    #contact input:not([type="submit"]).timepick{width:19vw;}
    .kome_text{font-size: 1vw;}
    #ui-datepicker-div.ui-datepicker th{
        padding: 0;
        font-size: 2em;
    }
    #ui-datepicker-div.ui-datepicker td{
        line-height: 1.2;
        font-size: 2em;
    }
    #contact input:not([type="submit"]).timepick{padding: 0 0 0 5px ;}
}
@media screen and (max-width: 768px){
	.opt .opt_box .tel{width: auto;}
	.opt .opt_box .tel li {width: 250px;}
	.tel_num{margin-bottom: 10px;}
}
.opt_box > .img > img{max-width: 85%;}
.Form-CheckItem {margin-top: 24px;}
@media screen and (max-width: 480px) {
  .Form-CheckItem {margin-top: 18px;}
}
.Form-CheckItem-Label {
  margin-top: 20px;
  position: relative;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.Form-CheckItem-Label-Input {display: none;}
.Form-CheckItem-Label-SquareIcon {
  border: 1px solid #ddd;
  display: block;
  flex: none;
  width: 24px;
  height: 24px;
  background: #eaedf2;
}
@media screen and (max-width: 480px) {
  .Form-CheckItem-Label-SquareIcon {
    width: 15px;
    height: 15px;
  }
}
.Form-CheckItem-Label-Text {
  padding-left: 8px;
  font-size: 24px;
}
@media screen and (max-width: 480px) {
  .Form-CheckItem-Label-Text {
    padding-left: 6px;
    font-size: 3.6vw;
  }
}
.Form-Btn {
  border-radius: 6px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: #5bc8ac;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  opacity: 0.2;
  pointer-events: none;
  transition: all 0.2s;
}
@media screen and (max-width: 480px) {
  .Form-Btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 160px;
    font-size: 16px;
  }
}
.Form-Btn.isActive {
  opacity: 1;
  pointer-events: inherit;
}
.Form-CheckItem-Label-Input:checked + *:before {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  background: #5bc8ac;
  transform-origin: bottom left;
  transform: rotateZ(90deg);
}
.Form-CheckItem-Label-Input:checked + *:after {
  content: "";
  display: block;
  width: 8px;
  height: 2px;
  background: #5bc8ac;
  transform-origin: bottom left;
  transform: rotateZ(0deg);
}
.Form-CheckItem-Label-Input:checked + * {
  width: 0;
  height: 0;
  transform: translate(8px, 8px) rotateZ(-135deg) scale(1.5);
}
@media screen and (max-width: 480px) {
  .Form-CheckItem-Label-Input:checked + * {transform: translate(5px, 7px) rotateZ(-135deg) scale(1.5);}
}
#contact a{
	border: 1px solid #dddddd;
	padding: 5px;
	margin: 0 auto 4%;
}
.pri-txt{
 text-align: center;
 margin-top:4%;
}
/*policy*/
.wrap .policy{
	width: 700px;
    padding: 80px 0 100px;
	margin: 0 auto;
}
@media screen and (max-width: 768px){
.wrap .policy{
	width: 95%;
	padding: 40px 0 100px;
	margin: 0 auto;
}
}
.policy h1{
font-size: 26px;
padding-bottom: 12px;
border-bottom: 1px solid #04c0df;
}
.policy h2{
	font-size: 20px!important;
	font-weight: bold;
    margin: 2em 0 1em;
    line-height: 1.5;
}
.policy h3{
	font-size: 18px;
	font-weight: bold;
	margin: 2em 0 1em;
	line-height: 1.5;
}
.policy h4{
    font-size: 16px;
    margin-bottom: 0.5em;
}
.policy h3 + p{
    margin-left: 1em;
}
.policy p,.policy ul li{
	font-size: 16px;
}
.policy p{
        margin-bottom: 1em;
}
.policy ul li{
margin-left: 40px;
list-style: initial;
}
.policy ul{margin-bottom: 4%;}
.policy dl dt,.policy dl dd{
	font-size: 16px!important;
	line-height: 1.7!important;
}
.policy dl dt{padding: 0.5em 0 0 0!important;}
.policy dl{width: 100%!important;}
.table-default th {background: #e0edff;}
.table-default th, .table-default td {
    border: 1px solid #ccc;
    padding: 5px;
}
.table-default td {text-align: left;}
.table-default span{font-size:80%;}
.table-default{
width:100%;
border-collapse: collapse;
}
.table-default td , .table-default th{font-size: 14px;}
.gengaku_btn{
	margin: 20px auto;
	text-align: center;
}
.gengaku_btn img{
	box-shadow: 2px 2px 4px;
	width: 95%;
	max-width: 600px;
}
/* 減額診断 */
.c-btn__diagnose__large {
    position: relative;
    padding-left: 20px;
}
.c-btn__diagnose__large__inner {
    display: flex;
    align-items: center;
    height: 72px;
    padding-left: 68px;
    background: #ffce00;
    border-radius: 3rem;
    box-shadow: 0 7px 0 -2px rgb(0 0 0 / 16%);
    text-decoration: none;
}
.c-btn__diagnose__large__txt {
    display: block;
    font-size: 3rem;
    font-weight: 700;
    color: #000;
	margin: 0 auto;
}
.c-btn__diagnose__large__txt::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    margin: -27px auto 0 -27px;
    width: 80px;
    height: 54px;
    background: no-repeat 0 0/contain;
    content: "";
	background-image: url(../img/icon-dgns-free.webp);
	animation-name: anim_h;
}
.animation{
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
	width: 128px;
	animation-name: anim_h;
}

@keyframes anim_h {
60% {transform: translate(0px, 0);}
100% {transform: translate(10px, 0);}
}
.c-btn__diagnose__large a{
    position: relative;
    padding-left: 20px;
	width: 90%;
	margin: 0 auto;
}
.callout{
	position: relative;
    text-align: center;
    font-weight: bold;
    line-height: 1.3;
	margin-top: .2em;
	font-size: 4.7vw;
}
.callout:before {transform: rotate(-35deg);}
.callout:before, .callout:after {
    position: relative;
    display: inline-block;
    content: "";
    background: #ea6942;
    width: 2px;
    height: 2em;
    margin: 0 1em;
    margin-top: -0.2em;
    vertical-align: middle;
}
.callout:after {transform: rotate(35deg);}
@media only screen and (min-width: 769px){
	.c-btn__diagnose__large__inner {
	    height: 120px;
	    padding-left: 98px;
	    border-radius: 4rem;
		margin: 0 auto;
		padding-bottom: 4px;
	}
	.c-btn__diagnose__large a{width: 514px;}
	.c-btn__diagnose__large__txt::before {
    left: -55px;
    width: 134px;
    height: 94px;
    margin-top: -47px;
}
.callout{font-size: 2.5vw;}
}
/*離脱防止ポップアップ*/
#backGuide, #backGuide p {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
#backGuide {
	display: none;
	position: fixed !important;
	background-color: rgba(0,0,0,0.3);;
	z-index: 9999;
}
#backGuide p {
	display: block;
	width: 500px;
	height: 550px;
	margin: auto;
	cursor: pointer;
	font-weight: bold;
}
@media screen and (max-width: 768px){
#backGuide p {
	width: 250px;
	height: 275px;
}
}