@charset "utf-8"; 

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);	


/* ------------------------------
    reset
------------------------------ */

a{
	color:#333; 
	text-decoration:none;
}
a:hover {
	text-decoration:underline;
} 
html{
	font-size:62.5%;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family : "Noto Sans Japanese",sans-serif;
	text-align: left;
	color:#313131; 
}

textarea { font-size: 100%; resize: vertical; vertical-align: top;}
img { vertical-align: bottom; }

/* ------------------------------
    base
------------------------------ */

body{
	position: relative;
	font-size: 1.0rem;
	-webkit-text-size-adjust: 100%;
}
p,table,dl,ol  {
	font-size: 1.8rem;
	line-height: 2.0;
}

/* ------------------------------
    contents
------------------------------ */

.header{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 940px;
	margin: 0 auto;
	padding: 13px 0;
}
.header h1{
	padding: 0 0 5px;
}
.nav{
	padding: 0 0 10px;
}
.nav ul li{
	display: inline-block;
	font-size: 1.4rem;
	border-left: 1px solid #ccc;
	padding: 0 15px;
}
.nav ul li:last-child{
	border-right: 1px solid #ccc;
}
.nav ul{
	font-size: 0;
}
.wrap{
	width: 1000px;
	box-sizing: border-box;
	margin: 0 auto;
}

.fv{
	background: url(../img/fv_bg.png) 0 0 repeat;
}
.fv .wrap{
	background: url(../img/fv_bg.jpg) center center no-repeat;
	padding: 40px 12px 30px 0;
}
.fv .wrap > img{
	float: right;
}
.fv .inner{
	float: left;
	width: 494px;
}
.fv .inner .detail{
	width: 455px;
	text-align: center;
	background: rgba(255,255,255,0.7);
	text-align: left;
	margin: 24px 0 0 30px;
	padding: 7px 0 8px;
}
.fv .inner .detail .ttl{
	display: block;
	margin: 0 auto 5px;
}
.fv .inner .detail .img{
	float: left;
	margin-left: 14px;
}
.fv .inner .detail div{
	position: relative;
	float: right;
	width: 315px;
	box-sizing: border-box;
	margin: 0 25px 0 0;
	padding: 10px 0 0 0;
}
.fv .inner .detail div .icon{
	position: absolute;
	top: -10px;
	right: -30px;
	margin: 0;
}
.fv .inner .detail div img{
	margin: 0 0 10px;
}
.fv .inner .detail div a img{
	margin: 0;
}


.intro h3{
	background: #daedf3;
	text-align: center;
	margin: 0 0 50px;
}
.intro .block01{
	position: relative;
	background: #f2f2f2;
	border-radius: 10px;
	padding: 55px 30px;
}
.intro .block01::before{
	content: '';
	position: absolute;
	left: 50%;
	bottom: -48px;
	border-style: solid;
	border-width: 48px 48px 0 48px;
	border-color: #f2f2f2 transparent transparent transparent;
	margin-left: -48px;
	z-index: 2;
}
.intro .block01 ul{
	display: flex;
	justify-content: space-between;
	margin: 45px 0 0;
}
.intro .block02{
	position: relative;
	border-radius: 10px;
	background: #fefbdd;
	padding: 70px 0 60px 0;
	margin: 10px 0 0 0;
}
.intro .block02::before{
	content: '';
	position: absolute;
	left: 50%;
	bottom: -48px;
	border-style: solid;
	border-width: 48px 48px 0 48px;
	border-color: #fefbdd transparent transparent transparent;
	margin-left: -48px;
	z-index: 2;
}
.intro .block02 .inner{
	width: 785px;
	border: 8px solid #fdeca9;
	background: #fff;
	text-align: center;
	box-sizing: border-box;
	margin: 0 auto 40px;
	padding: 35px 55px;
}
.intro .block02 .inner .data dt{
	clear: left;
	float: left;
	width: 3em;
	line-height: 1.5;
}
.intro .block02 .inner .data dd{
	line-height: 1.5;
	padding: 0 0 0 3em;
}
.intro .block02 .inner .data01{
	font-size: 1.8rem;
	margin: 35px 0 10px;
}
.intro .block02 .inner .data02{
	font-size: 1.6rem;
}
.intro .block03{
	background: #daedf3;
	border-radius: 10px;
	padding: 60px 0;
	margin: 10px 0 0 0;
	text-align: center;
}
.intro .block03 .img{
	margin: 40px 0 30px 44px;
}
.intro .block03 ul{
	display: flex;
	justify-content: space-between;
	padding: 0 100px;
}
.intro .block03 ul li{
	width: 385px;
	background: #fefbdd;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	overflow: hidden;
}
.intro .block03 ul li .ttl{
	color: #fff;
	font-weight: bold;
	font-size: 2.6rem;
	text-align: center;
	background: #317da9;
	padding: 0;
}
.intro .block03 ul li p{
	font-size: 1.8rem;
	line-height: 2.0;
	text-align: left;
	text-align: justify;
	letter-spacing: -0.07rem;
	padding: 20px;
}
.intro p{
	text-align: center;
}
.end_txt{
	text-align: center;
	background: #f2f2f2;
	margin: 60px 0 0 0;
}
.opt{
	background: url(../img/opt_bg.png) 0 0 repeat;
}
.opt .wrap{
	background: #ffcc00;
	padding: 25px 30px 35px;
}
.opt .inner{
	position: relative;
	border: 6px solid #ffe680;
	background: #fff5cc;
	padding: 32px 20px 40px;
}
.opt .inner .img{
	position: absolute;
	top: -60px;
	left: 15px;
}
.opt .inner .btn{
	width: 350px;
	margin: 0 0 0 auto;
}
.opt p{
	text-align: center;
	margin: 0 0 10px;
}
.book{
	background: #f8f8f8;
	text-align: center;
	padding: 60px 0 0 0;
}
.book h4{
	width: 800px;
	background: #317da9;
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 2.0rem;
	padding: 10px 0;
	border-radius: 20px;
	margin: 0 auto 40px;
}
.book img+img{
	margin-top: 35px;
}
.book .last{
	margin-top: 60px;
}

.second{
	padding: 60px 0 0 0;
}
.second h3{
	text-align: center;
	margin: 0 0 10px;
}
.second .block{
	position: relative;
	background: #daedf3;
	text-align: center;
	border-radius: 10px;
	padding: 55px 0 0 0;
	margin: 0 0 30px;
}
.second .block p{
	text-align: center;
	background: #317da9;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	padding: 30px 0 40px;
}
.second .block::before{
	content: '';
	position: absolute;
	left: 50%;
	bottom: -48px;
	border-style: solid;
	border-width: 48px 48px 0 48px;
	border-color: #317da9 transparent transparent transparent;
	margin-left: -48px;
	z-index: 2;
}
.profile{
	margin: 60px auto;
}
.profile .block01{
	background: #fefbdd;
	padding: 60px 30px;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}
.profile .block01 .ttl{
	font-weight: bold;
	font-size: 2.0rem;
	margin: 0 0 40px;
}
.profile .block01 .img{
	float: right;
	margin-left: 30px;
}
.profile h3{
	text-align: center;
	margin: 0 0 40px;
}
.profile .block02{
	background: #f2f2f2;
	padding: 50px 30px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}
.profile .block02 .ttl,
.profile .block02 .name{
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.8;
}
.profile .block02 .name{
	border-bottom: 2px solid #317da9;
	padding: 0 0 15px 0;
	margin: 0 0 25px;
}
.profile .block02 .name span{
	font-weight: normal;
	font-size: 1.8rem;
	margin-left: 1em;
}
.profile .block02 dl dt{
	clear: left;
	float: left;
	width: 80px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.0;
}
.profile .block02 dl dd{
	font-size: 1.8rem;
	line-height: 2.0;
	padding: 0 0 0 80px;
}
.profile .block02 .indent{
	font-weight: bold;
	text-indent: -0.5em;
}
.profile .block02 .inner{
	float: left;
	width: 450px;
}
.profile .block02 .inner+.inner{
	float: right;
}
.profile .block02 .right{
	text-align: right;
	margin-right: 100px;
}

.form{
	background: url(../img/opt_bg.png) 0 0 repeat;
	padding: 60px 0;
}
.form .wrap{
	width: 940px;
	background: #fff;
	border-radius: 10px;
	padding: 50px 70px;
}
.form h2{
	text-align: center;
	margin: 0 0 40px;
}
.form .caption{
	text-align: center;
	margin: 25px 0 45px;
}
.form input{
	width: 100%;
	height: 38px;
	border: 1px solid #ccc;
	font-size: 1.8rem;
	outline: none;
	box-sizing: border-box;
	padding: 0 5px;
}
.form textarea{
	width: 100%;
	height: 240px;
	border: 1px solid #ccc;
	font-size: 1.8rem;
	line-height: 2.0;
	box-sizing: border-box;
	outline: none;
	padding: 5px;
}
.form table{
	width: 100%;
	border-spacing: 0;
	border-bottom: 1px dashed #ccc;
}
.form table th{
	position: relative;
	width: 240px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.0;
	border-top: 1px dashed #ccc;
	padding: 20px 0;
	vertical-align: top;
}
.form table th img{
	position: absolute;
	top: 23px;
	right: 20px;
}
.form.input table td{
	padding: 15px 0;
}
.form table td .inner{
	width: 295px;
	overflow: hidden;
	margin: 0 0 7px;
}
.form table td .inner p{
	float: left;
	width: 1em;
}
.form table td .inner div{
	float: right;
	width: 270px;
}
.form.confirm table td{
	font-size: 1.8rem;
	line-height: 2.0;
	padding: 20px 0;
}
.form table td{
	border-top: 1px dashed #ccc;
}
.select__wrap{
	font-size: 0;
}
.select__wrap li{
	display: inline-block;
}
.select__wrap li+li{
	margin-left: 10px;
}
.select__wrap label{
	display: inline-block;
	line-height: 1.0;
	cursor: pointer;
}
.select__check{
	font-size: 2.0rem;
	color: #fff;
}
.form .select__check{
	height: 0;
	opacity: 0;
}
.form .select__wrap .formError .formErrorContent{
	padding: 6px 8px;
}
.select__wrap div{
	margin-bottom: 10px;
}
.select__name{
	display: inline-block;
	position:relative;
	font-size: 2.0rem;
	line-height: 1.0;
	padding-left: 25px;
}
.select__name::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 18px;
	height: 18px;
	border: 1px solid #ccc;
	border-radius: 100%;
}
.select__check:checked + .select__name::after{
	content: "";
	display: block;
	position: absolute;
	top: 4px;
	left: 4px;
	width: 12px;
	height: 12px;
	background: #ccc;
	border-radius: 100%;
}
.form .caution{
	color: #d85b00;
	font-size: 1.6rem;
	margin: 15px 0 40px;
}
.form button[type="submit"]{
	display: block;
	width: 500px;
	height: 86px;
	overflow: hidden;
	text-indent: 105%;
	white-space: nowrap;
	border: 0;
	margin: 0 auto 40px;
	cursor: pointer;
}
.form.input button[type="submit"]{
	background: url(../img/form_input_off.png) 0 0 no-repeat;
}
.form.input button[type="submit"]:hover{
	background: url(../img/form_input_on.png) 0 0 no-repeat;
}
.form.confirm button[type="submit"]{
	background: url(../img/form_send_off.png) 0 0 no-repeat;
	margin: 0 auto 20px;
}
.form.confirm button:hover[type="submit"]{
	background: url(../img/form_send_on.png) 0 0 no-repeat;
}
.form .back{
	font-weight: bold;
	font-size: 2.0rem;
	text-align: center;
}
.form .back a{
	color: #317da9;
	border-bottom: 1px solid #317da9;
}
.form .back a:hover{
	border-bottom: 1px solid #fff;
	text-decoration: none;
}
.form .reco{
	display: block;
	border: 1px solid #ccc;
	background: #ccc;
	width: 200px;
	text-align: center;
	font-size: 1.8rem;
	padding: 10px 0;
	margin: 0 auto 30px;
	cursor: pointer;
}
.form .reco:hover{
	background: #fcfcfc;
}
.law{
	margin: 70px 0 0 0;
}
.law h3{
	font-size: 2.4rem;
	text-align: center;
	font-weight: bold;
	margin: 0 0 25px;
}
.law table{
	width: 100%;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.form .law th{
	background: #f8f8f8;
	width: 245px;
	line-height: 1.6;
	font-size: 1.8rem;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	padding: 15px;
	box-sizing: border-box;
}
.form.input .law td{
	font-size: 1.8rem;
	line-height: 1.6;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	padding: 15px 25px;
}

footer{
	padding: 20px 0;
}
footer p{
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.2;
}
.pagetop{
	position: fixed;
	right: 20px;
	bottom: 20px;
}

.mobile .pagetop img{
	width:120px;
	height:auto;
}
.android .profile .block01 .ttl,
.android .profile .block01 p,
.android .profile .block02 .ttl,
.android .profile .block02 .name,
.android .law h3,
.android footer p{
	max-height: 999999px;
}
.mobile .intro .block01::before,
.mobile .intro .block02::before,
.mobile .second .block::before
{
	bottom: -47px;
}


/* ------------------------------
    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 */ 