@charset "utf-8";

.sp{
	display:none !important;
}

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

html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	vertical-align:baseline;
	background:transparent;
	list-style-type:none;
	font-size: medium;
	color: #1e1e1e;
	font-family:"源ノ角ゴシック","ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, "Open Sans", "Helvetica Neue", "sans-serif", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.6;
	outline:none;
	letter-spacing:0.1em;
}

html{
  scroll-behavior: smooth;
}

h2{font-weight:900;}

img{
	display:block;
	width:100%;
}

header{
	width:100%;
	height:95Vh;
	background:URL(../img/head_back.png)no-repeat;
    background-size: cover;
	background-position: right;
}

header .inner{
	width:80%;
	min-width:1200px;
	overflow: auto;
	margin:0 auto;
	position:relative;
	height:95Vh;
}

header h1{
	width:140px;
	margin:50px;
}

.head_h{
	width:350px;
	position:absolute;
	left:20vw;
	top:40%;
}

header ul{
	position:absolute;
	bottom:60px;
	left:40px;
}

header ul li{
	float:left;
	width:;
}

header ul li a{
	box-sizing:border-box;
	padding:5px 3px 10px;
	border-bottom:1px solid #707070;
	margin:0 20px;
	color:#1e1e1e;
	font-weight:bold;
	text-decoration:none;
	position:relative;

}

header ul li a:before{
	position:absolute;
	content:"";
	display:block;
	width:18px;
	left:-20px;
	top:7px;
	height:21px;
	background:URL("../img/head_menu_icon.png");
	opacity:0;
	transition:0.3s;
}

header ul li a:hover:before{
	opacity:1;
}


header,section{
	width:100%;
	margin:0 auto;
}

.worries{
	background:URL(../img/worries_back.png) no-repeat #eeeeee;
	background-position:bottom;
    background-size:contain;
	overflow:hidden;
	position:relative;
}

.worries:after,.worries:before{
	content:"";
	display:block;
	background:#fff;
	position:absolute;
	top:-50px;
	height:200px;
	width:100%;
}

.worries:after{
	transform:rotate(-10deg);
	right:40%;
}

.worries:before{
	transform:rotate(10deg);
	left:40%;
}

.worries img{
	display:block;
	width:40%;
	max-width:500px;
	margin:200px auto 0;
}

.worries h2{
	text-align:center;
	font-size:160%;
	margin:40px auto;
}

.worries ul{
	width:1200px;
	margin:0 auto 150px;
	overflow:hidden;
}

.worries ul li{
	width:30%;
	height:360px;
	border-radius:50%;
	margin:0 1.5% 25px;
	float:left;
	background:#fff;
	position:relative;
}

.worries ul li p{
	text-align:center;
	position:absolute;
	display:block;
	top:30%;
	left:0;
	right:0;
	width:90%;
	margin:auto;
	font-size:140%;
	font-weight:900;
}

.worries ul li:nth-child(2) p{
	font-size:160%;
	top:40%;
}

.worries ul li:nth-child(3) p{
	font-size:150%;
	top:35%;
}

.cta{
	background:URL(../img/cta_back.png) no-repeat;
	background-position:top;
    background-size:cover;
	overflow:hidden;
	padding-bottom:50px;
}

.cta h2{
	color:#fff;
	font-size:150%;
	text-align:center;
	margin:70px auto 40px;
	font-weight:bold;
}

.cta p{
	color:#fff;
	text-align:center;
	font-size:110%;
}

.cta p span{
	color:#fff;
	font-size:80%;
}

.cta a.cta_tel{
	display:block;
	margin:10px auto;
	width:38%;
}

.cta a.cta_tel img{
	width:100%;
}

.cta ul{
	display:block;
	background:#e9ebe8;
	border-radius:10px;
	width:60%;
	margin:30px auto 40px;
	overflow:hidden;
}

.cta ul li{
	float:left;
	width:44%;
	margin:25px 3%;
	position:relative;
}

.cta ul li a{
	display:block;
	width:100%;
}

.cta ul li a img{
	width:100%;
}

.cta a:hover{
	opacity:0.8;
}

.cta ul li:first-child:after{
	content:"";
	width:2px;
	height:100%;
	background:#00479d;
	position:absolute;
	right:-7%;
	top:-6%;
}

.policy h2{
	text-align:center;
	margin:80px auto 50px;
	width:30%;
	max-width:355px;
}

.policy h3{
	text-align:center;
	font-size:130%;
	font-weight:bold;
}

.policy ul{
	width:80%;
	max-width:1300px;
	overflow:hidden;
	margin:20px auto;
}

.policy ul li{
	float:left;
	width:29%;
	margin:2.15%;
}

.policy ul li img{
	width:100%;
}

.policy ul li p{
	font-size:130%;
	width:95%;
	margin:10px auto;
	font-weight:bold;
}

.master{
	background:#eeeeee;
	overflow:hidden;
	padding:20px 0;
}

.master .inner{
	width:1040px;
	margin:0 auto;
}

.master .inner p{
	font-size:130%;
	font-weight:bold;
	margin:0 0 40px;
	width:80%;
	line-height: 1.8;
}

.master h2{
	width:100%;
	margin:50px auto 30px;
	position:relative;
}

.master h2 span{
	width:1040px;
	display:block;
	max-width:1040px;
	margin:0 auto 40px;
	font-size:300%;
	z-index:1;
	position:relative;
	padding:10px 0 20px;
}

.master h2:after{
	content:"　";
	background:#fff left 80%;
	font-size:250%;
	position:absolute;
	top:0;
	width:80%;
	min-width:1040px;
	z-index:0;
	padding:10px 0 20px;
}


.master h3{
	width:100%;
	margin:50px auto 30px;
	position:relative;
}

.master h3 span{
	width:1040px;
	display:block;
	max-width:;
	margin:0 auto 40px;
	font-size:150%;
	z-index:1;
	position:relative;
	padding:10px 0;
}

.master h3:after{
	content:"　";
	background:#fff left 80%;
	font-size:150%;
	position:absolute;
	top:0;
	width:40%;
	min-width:600px;
	z-index:0;
	padding:10px 0;
}

.about{
	background:URL("../img/about_back.png") no-repeat;
	background-position:right;
}

.about .inner{
	width:1000px;
	margin:0 auto;
	padding:50px 0;
}

.about .inner h2{
	display: inline-block;
	margin:20px 0;
}

.about dl{
	overflow:hidden;
	border-bottom:1px solid #1e1e1e;
	padding:20px 0;
	margin-bottom:75px;
}

.about dl dt{
	width:20%;
	float:left;
	font-size:130%;
	font-weight:bold;
	position:relative;
}

.about dl dt:after{
	content:"";
	width:2px;
	top:10%;
	height:70%;
	right:15%;
	background:#1e1e1e;
	position:absolute;
}

.about dl dd{
	width:80%;
	float:left;
	font-size:130%;
	font-weight:bold;
}

.about table{
	width:100%;
	margin:10px 0 50px;
}

.about tr{
	display:block;
	position:relative;
	width:100%;
	overflow:hidden;
}

.about tr:after{
	content:"";
	height:1px;
	width:100%;
	background:URL(../img/about_border.png);
	position:absolute;
	bottom:0;
	left:0;
}

.about th{
	width:20%;
	display:block;
	float:left;
	color:#00479d;
	font-size:120%;
	text-align:left;
	padding:20px 10px;
	box-sizing:border-box;
}

.about td{
	width:80%;
	display:block;
	float:left;
	color:#00479d;
	font-size:120%;
	font-weight:bold;
	padding:20px 0;
	box-sizing:border-box;
}

.about td a{
	font-weight:normal;
	display: inline-block;
    margin-bottom: 20px;
}

.map{
	box-sizing:border-box;
	padding:10px 10px 5px 10px;
	border:1px solid #00479d;
	border-radius:5px;
}


.recruit{
	background:#eeeeee;
	overflow:hidden;
	position:relative;
}

.recruit .inner{
	width:1000px;
	margin:0 auto;
}

.recruit:after,.recruit:before{
	content:"";
	display:block;
	background:#fff;
	position:absolute;
	top:-50px;
	height:200px;
	width:100%;
}

.recruit:after{
	transform:rotate(-10deg);
	right:40%;
}

.recruit:before{
	transform:rotate(10deg);
	left:40%;
}

.recruit h2{
	text-align:center;
	margin:120px auto 50px;
	width:30%;
	max-width:171px;
}

.recruit p{
	text-align:center;
	font-size:140%;
	font-weight:bold;
	margin:40px auto;
}

.recruit table{
	width:100%;
	margin:10px 0 50px;
	box-sizing:border-box;
	padding:50px 5%;
	background:#fff;
	border-radius:10px;
}

.recruit tr{
	display:block;
	width:100%;
	overflow:hidden;
	border-bottom:2px solid #d9d9d9;
}

.recruit tr:last-child{
	border-bottom:none;
}

.recruit th{
	width:25%;
	display:block;
	float:left;
	font-size:130%;
	text-align:left;
	padding:20px 4%;
	box-sizing:border-box;
}

.recruit td{
	width:75%;
	display:block;
	float:left;
	font-size:130%;
	font-weight:bold;
	padding:20px 0;
	box-sizing:border-box;
}


.recruit_cta{
    background: URL(../img/recruit_cta_back.png) no-repeat;
    background-position: bottom;
    background-size: cover;
    overflow: hidden;
    padding-bottom: 50px;
}


.recruit_cta h2 {
    color: #fff;
    font-size: 170%;
    text-align: center;
    margin: 80px auto 40px;
	font-weight:bold;
}

.recruit_cta .inner{
	background:rgba(0,0,0,0.5);
	width:1000px;
	margin:0 auto;
	overflow:hidden;
	padding:40px 0 20px;
}

.recruit_cta .inner p{
    color: #fff;
    font-size: 140%;
	line-height:1.8;
	letter-spacing:0.25em;
    text-align: center;
	font-weight:bold;
    margin: 0 auto 30px;
}

.recruit_cta .inner p span{
    color: #fff;
    font-size: 85%;
	font-weight:normal;
}

.recruit_cta a.cta_tel{
    display: block;
    margin: 10px auto;
    width: 65%;
}


.recruit_cta ul{
	display:block;
	width:97%;
	margin:0 auto 40px;
	overflow:hidden;
}

.recruit_cta ul li{
	float:left;
	width:44%;
	margin:0 3%;
	position:relative;
}

.recruit_cta ul li a{
	display:block;
	width:100%;
}

.recruit_cta ul li a img{
	width:100%;
}

.recruit_cta a:hover{
	opacity:0.8;
}

.recruit_cta ul li:first-child:after{
	content:"";
	width:2px;
	height:110%;
	background:#00479d;
	position:absolute;
	right:-7%;
	top:-5%;
}

.form_head{
	background:URL("../img/form_head_back.png")no-repeat;
	background-size: contain;
    background-position: 0 70px;
}

.form_head h2{
    text-align: center;
    margin: 120px auto 50px;
    width: 30%;
    max-width: 171px;
}

.form_cta{
	width:900px;
	margin:50px auto;
	border:10px solid #00479d;
	border-radius:500px;
	box-sizing:border-box;
	padding:30px 0 20px;
	background:#fff;
}

.form_cta p{
	font-size:150%;
	font-weight:bold;
	color:#00479d;
	text-align:center;
}

.form_cta a{
	display:block;
	width:60%;
	margin:20px auto 0;
}

.form_txt p{
	width:880px;
	margin:0 auto 20px;
	font-size:125%;
	font-weight:bold;
	line-height:1.8;
}

.form_txt p span{
	font-size:85%;
	font-weight:normal;
}

footer{
	background:#1e1e1e;
}

.foot_inner{
	width:1000px;
	padding:40px 0;
	margin:0 auto;
	overflow:hidden;
}

.foot_inner .foot_logo{
	width:8%;
	margin:0 3%;
	float:left;
}

.foot_inner ul{
	width:70%;
	float:right;
	margin:15px auto;
	overflow:hidden;
}

.foot_inner ul li{
	width:48%;
	float:left;
}

.foot_inner ul li a{
	display:block;
	width:85%;
	margin:0 auto;
}

.foot_inner ul li:first-child{
	border-right:2px solid #fff;
}

.foot_inner ul li:last-child a{
	width:90%;
}

.foot_inner ul li a{
	text-decoration:none;
}

.foot_inner ul li a p{
	color:#fff;
	font-size:80%;
	text-align:center;
	margin:10px auto 0;
}

adress{
	display:block;
	background:#000000;
	text-align:center;
	font-size:70%;
	padding:15px 0 5px;
	color:#fff;
}

.totop{
	position:fixed;
	bottom:10px;
	right:10px;
	height:120px;
	width:120px;
	border-radius:50%;
	display:block;
	background:#00479d;
}

.totop img{
	display:block;
	position:absolute;
	top:40%;
	left:0;
	right:0;
	margin:0 auto;
	width:40%;
}

.sample{
	width:900px;
	margin:20px auto;
}


/* form */
.form{
	width:900px;
	margin:0 auto;
	background:#eeeeee;
	border-radius:20px;
	box-sizing:border-box;
	padding:40px 30px;
}

.privacy{
	height:350px;
	overflow:auto;
	box-sizing:border-box;
	padding:30px 40px;
	background:#fff;
	border-radius:10px;
	box-shadow: 0px 0px 7px -3px #333 inset;
}

.privacy p{
	font-size:90%;
}

.contact h3{
	font-size:120%;
	text-align:center;
	margin:20px auto;
}

.contact{
	background: URL("../img/form_back.png") no-repeat;
    background-size: contain;
    background-position: bottom;
	padding-bottom:30vw;
}

.contact h3 span{
	font-size:80%;
	margin-right:5px;
}

.contact h3 .hissu{
	background:#00479d;
	color:#fff;
	border-radius:16px;
	padding:2px 10px 4px;
	font-weight:normal;
}

.form .hissu{
	background:#00479d;
	color:#fff;
	border-radius:12px;
	padding:1px 7px 3px;
	font-weight:normal;
	font-size:65%;
	vertical-align: middle;
	margin:0 5px;
}

.contact input{
	border:none;
	font-size:100%;
	padding:20px;
	border-radius:5px;
	box-sizing:border-box;
	width:100%;
}

.contact tr{
	display:inline-block;
	margin:0 auto 20px;
	overflow:hidden;
	width:100%;
}

.contact tr th{
	width:33%;
	display:block;
	text-align:left;
	float:left;
	padding:15px 0 0 20px;
	box-sizing:border-box;
	letter-spacing:0.2em;
}

.contact tr td{
	width:67%;
	display:block;
	float:left;
}

.contact input[type=radio]{
	border:none;
	font-size:100%;
	padding:18px;
	border-radius:5px;
	box-sizing:border-box;
	width:auto;
	margin:0 10px;
}

.radio_btn li{
	margin-bottom:15px;
}

.contact input[type=checkbox]{
	width:auto;
	margin:0 10px;
}

.checkarea{
	text-align:center;
	margin:30px auto 50px;
}

.contact input[type=submit]{
	width:auto;
	margin:0 10px;
	background:#00479d;
	width:60%;
	border-radius:50px;
	font-weight:bold;
	letter-spacing:0.2em;
	margin:0 auto;
	color:#fff;
	display:block;
	padding:25px;
}

textarea{
	width:100%;
	height:300px;
	box-sizing:border-box;
	border:none;
}

ul.radio_btn{
	margin:15px 0 0;
}

.kakunin td{
	padding: 15px 0 0 20px;
	box-sizing:border-box;
}

p.precautionary_note{
	text-align:center;
	font-size:120%;
}

.thanks h1{
	text-align:center;
	font-size:120%;
	margin:50px auto 30px;
}

.thanks_page{
	width:90%;
	margin:20px auto;
}

.thanks_page p{
	text-align:center;
	font-size:120%;
}