@charset "UTF-8";

*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	color:#3e5582;
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing:0.2em;
}
/*html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}*/
img{
	max-width:100%;
	height:auto;
}
a{
	transition: all 0.3s ease 0s;
	text-decoration:none;
}
a:hover{
	/*filter: alpha(opacity=60);*/
	/*-moz-opacity:0.6;*/
	/*opacity:0.6;*/
}
a.cover{
	position:absolute;
	display:block;
	height:100%;
	width:100%;
	top:0;
	left:0;
	z-index:2;
}
.bold{
	font-weight:bold;
}
a.cover:hover{
	background:rgba(256,256,256,0.4);
}
.inline-block{
	display:inline-block;
}
.mar_t_10{
	margin-top:10px;
}
.mar_t_20{
	margin-top:20px;
}
.mar_t_30{
	margin-top:30px;
}
.mar_t_40{
	margin-top:40px;
}
.mar_b_0{
	margin-bottom:0px;
}
.mar_b_5{
	margin-bottom:5px;
}
.mar_b_10{
	margin-bottom:10px;
}
.mar_b_20{
	margin-bottom:20px;
}
.mar_b_30{
	margin-bottom:30px;
}
.mar_b_40{
	margin-bottom:40px;
}
.mar_b_50{
	margin-bottom:50px;
}
.mar_b_60{
	margin-bottom:60px;
}
.mar_b_70{
	margin-bottom:70px;
}
.mar_b_80{
	margin-bottom:80px;
}
.mar_b_90{
	margin-bottom:90px;
}
.mar_b_100{
	margin-bottom:100px;
}
.mar_b_110{
	margin-bottom:110px;
}
.mar_b_120{
	margin-bottom:120px;
}
.mar_b_130{
	margin-bottom:130px;
}
.mar_b_140{
	margin-bottom:140px;
}
.mar_b_150{
	margin-bottom:150px;
}
.mar_b_160{
	margin-bottom:160px;
}
.mar_b_170{
	margin-bottom:170px;
}
.mar_b_180{
	margin-bottom:180px;
}
.mar_b_200{
	margin-bottom:200px;
}
.f_l{
	float:left;
}
.f_r{
	float:right;
}
.basic_text{
	font-size:15px;
	letter-spacing:0.16em;
	line-height:1.9;
}
.text-center{
	text-align:center;
}
.text-right{
	text-align:right;
}
.text-left{
	text-align:left;
}
.pc_on{
	display:block;
}
img.pc_on{
	display:inline-block;
}
.sp_on{
	display:none;
}
.relative{
	position:relative;
}
table{
}
.center_center{
	position: absolute;
	top: 50%;
	left: 50%;
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
body{
	overflow-x:hidden;
	width:100%;
}
.inner{
	max-width:100%;
	width:1420px;
	margin:auto;
}
h1{
	text-align:center;
}
h2{
	text-align:center;
}
h3{
	text-align:center;
}
.flex{
	display:flex;
}


/*********ここまでよく使う初期css　それ以外はこれ以降に自由に記述*********/
.wrapper{
	width:100%;
	height:auto;
}
.main{
	height:100vh;
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
	overflow:hidden;
}
.b_img_1 svg,
.b_img_2 svg,
.b_img_3 svg,
.b_img_4 svg{
	width:100%;
}
.main .b_img_1{
	position:absolute;
	width:46%;
	right:0;
	top:0;
	mix-blend-mode: multiply;
	transform: translate(30%, -10%);
	transform-origin: center center;
}
.main .b_img_2{
	position:absolute;
	width:71%;
	left:0;
	top:0;
	mix-blend-mode: multiply;
	transform:translate(-11%, -57%);
	transform-origin: center center;
}
.main .b_img_3{
	position:absolute;
	width:62%;
	right:0;
	top:0;
	mix-blend-mode: multiply;
	transform:translate(26%, -56%);
	transform-origin: center center;
}
.main .b_img_4{
	position:absolute;
	width:41%;
	left:0%;
	top:0%;
	mix-blend-mode: multiply;
	transform:translate(-31%, 36%);
	transform-origin: center center;
}

.main .logo .text{
	color:#5188f8;
	text-align:center;
	margin-bottom:20px;
	font-size:34px;
	transform: translate(+20px, 0);
}
.catch_flex{
	display:flex;
	align-items:center;
}
.catch_flex .left{
	width:50%;
	text-align:center;
}
.catch_flex .left .catch{
	font-size:36px;
	letter-spacing:0.14em;
	color:#3e5582;
}
.catch_flex .right{
	width:50%;
	padding-left:30px;
}
.catch_flex .right .bold_text{
	font-size:20px;
	letter-spacing:0.2em;
	color:#3e5582;
	line-height:1.8;
}
.area_1{
	padding:0 0 130px;
}
.area_1 .inner{
	padding:100px 30px 200px 0;
}
.area_1 .grad{
	width:100%;
	background: linear-gradient(to bottom, #fff, #f6f4f2);
	margin-bottom:215px;
}
.area_1 .flex{
	align-items:center;
	justify-content:space-between;
}
.area_1 .flex .img{
	width:50%;
	padding-right:8%;
}
.area_1 .flex figure{
	width:820px;
	max-width:100%;
	border-top:20px solid #fff;
	border-right:20px solid #fff;
	border-bottom:20px solid #fff;
	box-shadow:0 0 20px rgba(0,0,0,0.4);
}
.area_1 .flex figure img{
	width:800px;
	max-width:100%;
	border-radius:0 20px 20px 0;
}
.area_1 .flex .right{
	width:50%;
	padding-right:5%;
	padding-left:5%;
	text-align:left;
}
.area_1 .flex .right .title{
	text-align:right;
	display:inline-block;
	margin-bottom:55px;
}
.area_1 .flex .right .big_title{
	font-size:86px;
	letter-spacing:0.02em;
	color:#5188f8;
	margin-bottom:25px;
}
.area_1 .flex .right .small_title{
	font-size:18px;
	letter-spacing:0.48em;
	color:#5188f8;
}
.area_1 .flex .right .in{
	display:inline-block;
	width:680px;
	max-width:100%;
}
.area_1 .flex .right .bold_text{
	font-size:16px;
	letter-spacing:0.16em;
	color:#3e5582;
	line-height:1.8;
}
.area_2{
	padding-top:100px;
	padding-bottom:180px;
	position:relative;
	overflow:hidden;
}
.area_2 .inner{
	position:relative;
	z-index:2;
}
.area_2 .a2_img_1{
	position:absolute;
	width:56%;
	right:0%;
	bottom:0%;
	mix-blend-mode: multiply;
	transform:translate(7%, -12%);
	transform-origin: center center;
	z-index:1;

}
.area_2 .flex{
	align-items:center;
	justify-content:space-between;
	margin-bottom:130px;
	position:relative;
	z-index:2;
}
.area_2 .flex .img{
	width:50%;
	padding-left:8%;
	order:2;
}
.area_2 .flex figure{
	width:820px;
	max-width:100%;
	border-top:20px solid #fff;
	border-left:20px solid #fff;
	border-bottom:20px solid #fff;
	box-shadow:0 0 20px rgba(0,0,0,0.4);
}
.area_2 .flex figure img{
	width:800px;
	max-width:100%;
	border-radius:20px 0px 0px 20px;
}
.area_2 .flex .right{
	width:50%;
	padding-right:5%;
	padding-left:5%;
	text-align:left;
	order:1;
}
.area_2 .flex .right .title{
	text-align:right;
	display:inline-block;
	margin-bottom:55px;
}
.area_2 .flex .right .big_title{
	font-size:86px;
	letter-spacing:0.02em;
	color:#5188f8;
	margin-bottom:25px;
}
.area_2 .flex .right .small_title{
	font-size:18px;
	letter-spacing:0.48em;
	color:#5188f8;
}
.area_2 .flex .right .in{
	display:inline-block;
	width:680px;
}
.area_2 .flex .right .bold_text{
	font-size:16px;
	letter-spacing:0.16em;
	color:#3e5582;
	line-height:1.8;
}
.area_2 .point_flex{
	justify-content:space-between;
	display:flex;
}
.area_2 .point_flex .box{
	width:390px;
	text-align:center;
}
.area_2 .point_flex .box figure{
	margin-bottom:20px;
}
.area_2 .point_flex .box .small_title{
	margin-bottom:20px;
}
.area_3{
	background:#ecf2fe;
	padding:160px 0 200px;
}
.area_title{
	text-align:center;
	display:block;
	margin-bottom:55px;
}
.area_title .big_title{
	font-size:86px;
	letter-spacing:0.02em;
	color:#5188f8;
	margin-bottom:25px;
}
.area_title .small_title{
	font-size:18px;
	letter-spacing:0.48em;
	color:#5188f8;
}
.area_3 .scroll_img{
	height:270px;
	width:100%;
	z-index:2;
	top:0;
	left:0;
	background-image:url(./images/scroll_img.jpg);
	background-position:top 0 right 0;
	background-repeat:repeat-x;
	animation: scroll_img 30s linear infinite;
}
@keyframes scroll_img {
  0%{ background-position:top 0 right 0;}
  100%{ background-position:top 0 right 2218px;}
}

.area_3 .inner{
	text-align:center;
	padding-top:100px;
}
.area_3 .inner .catch{
	font-size:27px;
	letter-spacing:0.26em;
	color:#5188f8;
	line-height:1.8;
	margin-bottom:30px;
}
.area_4 {
	padding:160px 0 270px;
	position:relative;
	overflow:hidden;
}
.area_4 .a4_img_1{
	position:absolute;
	width:41%;
	right:0%;
	top:0%;
	mix-blend-mode: multiply;
	transform:translate(21%, -13%);
	transform-origin: center center;
	z-index:1;
}
.area_4 .a4_img_2{
	position:absolute;
	width:61%;
	left:0%;
	bottom:0%;
	mix-blend-mode: multiply;
	transform:translate(-42%, 10%);
	transform-origin: center center;
	z-index:1;
}

.area_4 .inner{
	position:relative;
	width:1040px;
	padding:90px 170px 115px;
	box-shadow:0 0 20px rgba(0,0,0,0.2);
	z-index:2;
	background:#fff;
}
.area_4 .inner .border_title{
	text-align:center;
	margin-bottom:100px;
}
.area_4 .inner .border_title span{
	font-size:36px;
	letter-spacing:0.14em;
	color:#3e5582;
	position:relative;
	z-index:2;
	padding:0 10px;
}
.area_4 .inner .border_title span::before{
	position:absolute;
	height:10px;
	content:"";
	width:100%;
	bottom:0;
	left:0;
	background:#f5f3f1;
	z-index:-1;
}
.area_4 .inner th .th_flex,
.area_5 th .th_flex{
	display:flex;
	justify-content:space-between;
}
.area_4 .inner th span,
.area_5 th span{
	font-size:20px;
	letter-spacing:0.15em;
	font-weight:bold;
	text-align:justify;
	margin:0 2px;
}
.area_4 .inner td,
.area_5 td{
	padding:20px 10px 20px 50px;
	font-weight:400;
	line-height:1.5;
}
.area_4 .inner .first tr:last-child td{
	padding:20px 10px 40px 50px;
}
.area_4 .inner .second tr:first-child td{
	padding:40px 10px 20px 50px;
}
.area_4 .inner .flow{
	border-top:5px solid #f5f3f1;
	border-bottom:5px solid #f5f3f1;
	display:flex;
	padding:40px 0;
	justify-content:space-between;
}
.area_4 .inner .flow .box{
	width:287px;
	max-width:calc(50% - 15px);
}
.area_5{
	background:#f5f3f1;
	padding:160px 0 200px;
}
.area_5 .area_title{
	margin-bottom:80px;
}
.area_5 .flex{
	align-items:center;
	justify-content:space-between;
}
.area_5 .flex .right{
	width:50%;
	padding-left:8%;
	order:2;
}
.area_5 .flex #map{
	width:820px;
	height:300px;
	max-width:100%;
	background:#ddd;
}
.area_5 .flex #map iframe{
	width:100%;
	height:100%;
}
.area_5 .flex .left{
	width:50%;
	padding-right:5%;
	padding-left:5%;
	text-align:left;
	order:1;
	display:flex;
	justify-content:flex-end;
}
footer{
	padding:160px 30px 20px;
	background:#323637;
}
footer .flex{
	justify-content:space-between;
	width:1420px;
	max-width:100%;
	margin:0 auto 200px;
}
footer .flex .left_catch{
	font-size:59px;
	letter-spacing:0.16em;
	line-height:1.6;
	color:#fff;
	font-weight:400;
}
footer .flex .right{
	text-align:right;
}
footer .flex .right *{
	color:#5188f8;
}
footer .flex .right img{
	width:220px;
}
footer .flex .right .small{
	font-size:18px;
	letter-spacing:0.34em;
	margin-bottom:30px;
}
footer .flex .right .tel{
	font-size:56px;
	letter-spacing:0.1em;
	margin-bottom:30px;
}
footer .copy{
	font-size:10px;
	color:#fff;
	text-align:center;
	letter-spacing:0.1em;
}