/*----------------------------------------------------------------------------- */

html,
body {
	border: none;
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
big,
cite,
code,
em,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td {
	border: none;
	font-size: inherit;
	line-height: inherit;
	margin: 0;
	padding: 0;
	text-align: inherit;
}

blockquote::before,
blockquote::after {
	content: "";
}

/* -------------------------------------------------------------------------- */
/*	1. Document Setup
/* -------------------------------------------------------------------------- */

html {
	font-size: 62.5%; /* 1rem = 10px */
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	/*background: #f5efe0;*/
	box-sizing: border-box;
	color: #000;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
	font-size: 1.8rem;
	letter-spacing: -0.015em;
	text-align: left;
}

@supports ( font-variation-settings: normal ) {

	body {
		font-family: "Inter var", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
	}
}

*,
*::before,
*::after {
	box-sizing: inherit;
	-webkit-font-smoothing: antialiased;
	word-break: break-word;
	word-wrap: break-word;
}


/* Base Transitions -------------------------- */
ol, ul { list-style: none; }
/*html5 reset*/
abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{text-decoration:none}
ins,mark{background-color:#ff9;color:#000}
mark{font-style:italic;font-weight:700}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}

/**************/
a{color: #222 !important}
a:hover{color: #37a3d4;}

img{max-width: 100%;}
form input{max-width: 100%;}
a img:hover,
form input:hover{opacity:0.8;}

/*トップページ*/
.header_area{
	position: relative;
	z-index:100;
}
.header_wrap{
	position: fixed;
	background:#fff;
	border-bottom: solid 4px #37a3d4;
	width:100%;
	top: 0;
}
.header_inner{
	max-width: 1040px;
	height: 70px;
	margin: 0 auto;
	padding: 15px 20px;	
}
.head_l,
.head_r {
	display:inline-block;
	width: calc(98% / 2);
	vertical-align: middle;
}
.head_l,
.head_r {
	display:inline-block;
	vertical-align: middle;
}
.head_l {width: calc(40%);}
.head_r{width: calc(58%);}
.head_r_wrap{
	margin-left: auto;
	text-align:right;
}
.head_r_inner {display:inline-block;}
.head_r_wrap.sp .head_r_inner{text-align: right;}

.logo{display: inline-block;}
.logo img{max-width: 200px;}

.head_r_inner:first-child {padding-right: 10px;}
.head_r_inner:last-child {padding-left: 10px;}

.head_r_inner img,
.head_r_inner input {
	height:40px;
	vertical-align: middle;
}

.main_area{
	margin-top: 70px;
}
.main_img{
	background: url('img/hero_1_pc.jpg') no-repeat 50% 50%;
	height: 690px
}
.main_button_area{
	position: relative;
	width: 800px;
	margin: 0 auto; 
}

.main_button_area .main_button input,
.main_button_area .main_button img{
	position: absolute;
	display: inline-block;
	height: 40px;
	bottom: 50px;
}
.main_button_area .main_button input{
	width: 210px;
	left: 12%;
}
.main_button_area .main_button img{
	width: 320px;
	right: 1%;
}
.top_h2{
	color: #fff;
	font-size: 28px;
	background-color: #29a7e1;
	text-align: center;
	padding: 20px;
}
.cont_wrap01{
	max-width: 1040px;
	line-height: 1.5;
	margin: 0 auto;
	padding: 60px 20px;
}
.cont_wrap01 .bunkatsu_inner:first-child{padding-right: 20px;}
.cont_wrap01 .bunkatsu_inner:last-child{padding-left: 20px;}

.top_cont01 figure{
	text-align: center;
}
.top_cont01 h3{
	color: #fff;
	font-size: 22px;
	background-color: #29a7e1;
	text-align: center;
	margin-bottom: 20px;
	padding: 5px;
}

.top_cont01 h4{
	color: #539cbd;
	font-size: 18px;
	text-align:center;
	border-bottom: solid 2px #539cbd;
	margin-bottom: 10px;
	padding: 10px 0;
}
.top_cont01 p{
	font-size: 15px;
	text-align: left;
}

.cont03_inner{
	line-height: 1.5;
	padding: 50px 20px 60px;
}
.cont3_imgs {
	color: #539cbd;
	font-size: 18px;
	font-weight: bold;
	text-align:center;
	max-width: 1030px;
	margin: 0 auto;
}
.cont3_imgs li {
	float:left;
	vertical-align: top;
	width: 25%;
	padding:0 15px 10px;	
}
.cont03_inner::after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.top_cont04{
	text-align: center;
}
.top_cont04 .txt01{
	color: #539cbd;
	font-size: 18px;
	font-weight: bold;
}
.top_cont04 .txt02{
	font-size: 13px;
	font-weight: bold;
}

.top_table {
	width: 100%;
	font-size: 16px;
	background: #fff;
	text-align: center;
}
.top_table th,.top_table td{
	border:1px solid #989898;
}
.top_table thead th{
	background: #fff;
	vertical-align: middle;
}

.top_table tbody th,
.top_table tbody td{
	font-size:16px;
	vertical-align: middle;
	width: calc(100% / 7);
	padding:5px;
}
.top_table tbody th{
	background: #BFE9FF;
}
.top_table tbody td{
	background: #EBF8FF;
}

.top_cont05 .top_table tbody th,
.top_cont05 .top_table tbody td{
	width: calc(100% / 7);
}
.top_cont05 .top_table thead th:not(:first-child){
	background: #73D2FE;
}
.top_cont05 .top_table tbody th.yellow_cell{
	background: #FFBB2C;
}
.top_cont05 .top_table tbody td:not(:first-child){
	font-size: 20px;
	font-family: monospace;
}
.top_cont05 .top_table tbody td.yellow_cell{
	background: #FFF795;
}


.top_cont06 .top_table tbody th,
.top_cont06 .top_table tbody td{
	width: calc(100% / 3);
}
.top_cont06 .top_table thead th{
	padding: 20px;
}
.top_cont06 .top_table thead th:first-child{
	border-width: 0;
}
.top_cont06 .top_table tbody th{
	background: #73D2FE;
}
.top_cont06 .top_table tbody td:first-child{
	font-weight: bold;
}

.top_cont07{
	border-bottom: solid 2px #37a3d4;
	text-align: center;
}

.top_button {
	position: relative;
	display: inline-block;
	border-radius: 20px;
	box-shadow: 0 3px 3px 0 rgba(100, 100, 100, .5);
	width: 88%;
	height: 130px;
	margin-bottom: 30px;
}
.top_button a{
	display: block;
	color: #fff !important;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	padding: 40px 0;
}
.top_button a span{
	font-size: 36px;
	vertical-align: middle;
	margin-right: 10px;
}
.top_button a:after{
	content: "";
	background: url('img/arrow02.png') no-repeat 50% 50%;
	margin-left: 15px;
	padding: 14px
}
.top_button a.close::after{
	content: none;
	background: none;
	margin-left: 0;
}

.footer_area{
	background: #E5EAEE;
	padding: 40px 0 0;
}
.footer_wrap{
	max-width: 1040px;
	font-size: 14px;
	line-height: 1.8;
	margin: 0 auto;
	padding: 0 20px 40px;
}
.copyright{
	color: #fff;
	font-size: 16px;
	background: #111;
	text-align: center;
	padding: 30px;
}

/**汎用**/
.pc{display: block;}
.sp{display: none;}

.bunkatsu_2 {
	display: table;
	width: 100%;
	margin: 0 auto;
}
.bunkatsu_2 .bunkatsu_inner,
.bunkatsu_2 .cont02_inner_l,
.bunkatsu_2 .cont02_inner_r {
	display:table-cell;
	vertical-align: top;
}

.bunkatsu_2 .bunkatsu_inner{width: calc(100% / 2);}
.bunkatsu_2 .cont02_inner_l{
	width: 60%;
	padding-right: 20px;
}
.bunkatsu_2 .cont02_inner_r{
    text-align: center;
    width: 40%;
    padding-left: 20px;
}

.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb40_20{margin-bottom: 40px;}

@media screen and (max-width: 1060px) {
	.cont3_imgs li{width: 33.3%;}
}

@media only screen and (max-width: 900px) {
	.main_img{
		background: #898f8d url('img/hero_1_sp.jpg') no-repeat 50% 0%;
		background-size: cover;
		height: 830px;
	}
	.main_button_area .main_button input{ left: 14%; }
	.main_button_area .main_button img{ right: 3%; }
}

@media only screen and (max-width: 850px) {
	.main_img{height: 800px;}
	.main_button_area .main_button input{ left: 16%; }
	.main_button_area .main_button img{ right: 5%; }
}

@media only screen and (max-width: 800px) {
	.header_inner{
		height: 65px;
	}
	.head_button{
		width: auto;
		padding: 0 25px;
	}

	.bunkatsu_2 {display: block;}

	.bunkatsu_2 .bunkatsu_inner,
	.bunkatsu_2 .cont02_inner_l,
	.bunkatsu_2 .cont02_inner_r {
		display: block;
		width: 100%;
		text-align: center;
	}
	.cont_wrap01,
	.cont03_inner{ padding: 30px 20px; }

	.cont_wrap01 .bunkatsu_inner:first-child,
	.cont_wrap01 .bunkatsu_inner:last-child,
	.bunkatsu_2 .cont02_inner_l,
	.bunkatsu_2 .cont02_inner_r{
		margin: 0 auto 20px;
		padding:0;
	}

	.main_area {margin-top: 65px;}
	.main_img{ height: 770px; }
	.main_button_area { width: 100%; }

	.main_button_area .main_button input{
		width: 125px;
		height: 55px;
		left: 22%;
	}
	.main_button_area .main_button img{
		width: 125px;
		height: 55px;
		right: 18%;
	}
	.cont3_imgs li { width: 50%; }
	.top_button {
		height: 85px;
	}

	.top_cont04 .bunkatsu_inner:first-child,
	.top_cont04 .bunkatsu_inner:last-child,
	.top_cont07 .bunkatsu_inner:first-child,
	.top_cont07 .bunkatsu_inner:last-child {
		margin: 0 auto 20px;
		padding:0;
	}

	.top_button a {
		font-size: 16px;
		padding: 21px 0;
	}
	.top_button a span{ font-size: 28px; }
	.top_button a:after{
		margin-left: 15px;
		padding: 14px;
	}

	.pc,.pc02{display: none;}
	.sp{display: block;}
	.mb40_20{margin-bottom: 20px;}
}
@media only screen and (max-width: 750px) {
	.main_img{height: 730px;}
	.main_button_area .main_button input{
		width: 125px;
		height: 55px;
		left: 22%;
	}
	.main_button_area .main_button img{
		width: 125px;
		height: 55px;
		right: 18%;
	}
}
@media only screen and (max-width: 700px) {
	.main_img{ height: 690px; }
	.main_button_area .main_button input{left: 21%;}
	.main_button_area .main_button img{right: 17%;}
}
@media only screen and (max-width: 650px) {
	.main_img{height: 650px;}
	.main_button_area .main_button input{left: 20%;}
	.main_button_area .main_button img{right: 16%;}
}
@media only screen and (max-width: 600px) {
	.head_l{width:28%;}
	.head_r{width:70%;}

	.head_r_inner img,
	.head_r_inner input{height:35px}
	.head_r_inner:first-child {padding-right: 5px;}
	.head_r_inner:last-child {padding-left: 5px;}
	.logo img{width: 100%;}

	.main_img{height: 610px;}
	.main_button_area .main_button input{left: 19%;}
	.main_button_area .main_button img{right: 15%;}
}
@media only screen and (max-width: 550px) {
	.main_img{height: 570px;}
	.main_button_area .main_button input{left: 18%;}
	.main_button_area .main_button img{right: 14%;}
}
@media only screen and (max-width: 500px) {
	.head_button{ margin: 0 5px; }
	.main_img{height: 520px;}
	.main_button_area .main_button input{left: 16%;}
	.main_button_area .main_button img{right: 12%;}
}
@media only screen and (max-width: 440px) {
	.header_inner{height: 60px;}

	.head_l{width:23%;}
	.head_r{width:75%;}

	.head_r_inner img,
	.head_r_inner input{height:30px}

	.main_area {margin-top: 60px;}
	.main_img{height: 480px;}
	.main_button_area .main_button input{left: 14%;}
	.main_button_area .main_button img{right: 7%;}

	.top_button {height: 70px;}
	.top_button a {
		font-size: 14px;
		padding: 17px 0;
	}
	.top_button a span{ font-size: 22px; }
	.top_button a:after{
		margin-left: 5px;
	}

}
@media only screen and (max-width: 370px) {
	.head_r_inner img,
	.head_r_inner input{height:25px}

	.main_img{height: 450px;}
	.main_button_area .main_button input{left: 10%;}
	.main_button_area .main_button img{right: 3%;}
}
