@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700;900&family=Noto+Serif+JP:wght@700&display=swap');

html {
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size:18px;
	font-weight:500;
	text-align:center;
	line-height:2;
	color:#0f1f4b;
}

@media screen and (max-width:1024px){
	body {
		font-size:1.8vw;
	}
}

@media screen and (max-width:768px){
	body {
		font-size:3.8vw;
	}
}


.mincho{
	font-family: 'Noto Serif JP', serif;
}


a {
	color:#0f1f4b;
	transition : opacity 0.4s;
	-webkit-transition : opacity 0.4s;
	opacity:1;
	outline:none;
}
a:hover {
	opacity: 0.7;
}

img{
	max-width:100%;
}

.only_smart,
.only_smart_i{
	display:none !important;
}
@media screen and (max-width:768px){
	.only_pc{
		display:none !important;
	}
	.only_smart{
		display:block !important;
	}
	.only_smart_i{
		display:inline-block !important;
	}
}


#wrapper{
}


/* header */
header{
	width:100%;
	height:65px;
	padding-left:1.5%;
	background-color:#fff;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	position:fixed;
	z-index:100;
	left:0;
	top:0;
	box-shadow:0 0 5px rgba(0,0,0,0.3);
}
header .logo{
	width:228px;
}
header .btn{
	width:250px;
}

@media screen and (max-width:768px){
	header{
		height:50px;
		padding-left:3%;
	}
	header .logo{
		width:170px;
	}
	header .btn{
		display:block;
		width:100%;
		background:url(../images/head_link_bg.png)no-repeat center center;
		background-size:100% 100%;
		position:fixed;
		left:0;
		bottom:-15%;
		z-index:101;
		box-shadow:0 0 5px rgba(0,0,0,0.3);
		transition : bottom 0.4s;
		-webkit-transition : bottom 0.4s;
	}
	header .btn:hover{
		opacity:1;
	}
	header .btn img{
		max-width:300px;
		width:70%;
	}
}


/* article */
article{
	padding-top:65px;
}

@media screen and (max-width:768px){
	article{
		padding-top:50px;
	}
}


/* #cont1 */
#cont1{
	position:relative;
}
#cont1 dl{
	width:72%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	position:absolute;
	top:38.8%;
	left:50%;
	transform:translateX(-50%);
}
#cont1 dl dt{
	margin-right:0.3em;
	line-height:1.1;
	font-size:3vw;
	font-weight:900;
	color:#00579d;
	text-align:left;
	position:relative;
}
#cont1 dl dt img{
	width:30%;
	position:absolute;
	right:100%;
	bottom:85%;
}
#cont1 dl dt span{
	display:inline-block;
	vertical-align:0.3em;
	width:1.5em;
	height:1.5em;
	line-height:1.5em;
	margin:0 0.3em;
	font-size:1.4vw;
	text-align:center;
	color:#fff;
	background-color:#ff9494;
	border-radius:50%;
}
#cont1 dl dd{
	width:35%;
}

@media screen and (max-width:768px){
	#cont1{
		position:static;
	}
	#cont1 dl{
		width:100%;
		padding:1.5% 0;
		display: block;
		position:static;
		top:auto;
		left:auto;
		transform:none;
		background-color:#f3f7f7;
	}
	#cont1 dl dt{
		margin-right:0;
		font-size:5.6vw;
		text-align:center;
	}
	#cont1 dl dt img{
		width:15%;
		position:static;
		right:auto;
		bottom:auto;
		transform:translate(0,-50%);
	}
	#cont1 dl dt span{
		display:inline-block;
		vertical-align:0.3em;
		width:1.5em;
		height:1.5em;
		line-height:1.5em;
		margin:0 0.3em;
		font-size:2.6vw;
	}
	#cont1 dl dd{
		width:58%;
		margin:0 auto;
	}
}


.inner{
	max-width:980px;
	width:94%;
	margin:auto;
}



/* .cont */
.cont{
	padding:60px 0;
}

@media screen and (max-width:1024px){
	.cont{
		padding:9% 0;
	}
}

@media screen and (max-width:768px){
}


/* #cont2 */
#cont2{
	margin-top:-40%;
	position:relative;
}
#cont2 .inner{
	padding-bottom:5%;
}
#cont2 .inner h2{
	line-height:1.5;
	font-size:33px;
}
#cont2 .inner h2 img{
	display:block;
	width:390px;
	margin:0 auto 5%;
}
#cont2 .inner h2 span{
	margin:0 0.1em;
	line-height:1;
	font-size:75px;
}
#cont2 .inner p{
	margin-top:2em;
	letter-spacing:0.08em;
	text-align:justify;
	text-justify: inter-ideograph;
	color:#333;
}

@media screen and (max-width:1024px){
	#cont2 .inner h2{
		font-size:3.3vw;
	}
	#cont2 .inner h2 img{
		width:39%;
	}
	#cont2 .inner h2 span{
		font-size:7.5vw;
	}
}

@media screen and (max-width:768px){
	#cont2{
		margin-top:0;
		padding-top:5%;
		background:url(../images/cont2_bg.jpg)no-repeat center top;
		background-size:100% auto;
	}
	#cont2 .inner h2{
		font-size:5.4vw;
	}
	#cont2 .inner h2 img{
		width:75%;
		margin-bottom:1.5%;
	}
	#cont2 .inner h2 span{
		font-size:12vw;
	}
	#cont2 .inner p{
		margin-top:1em;
	}
}


/* #cont3 */
#cont3{
}
#cont3 ul{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}
#cont3 ul li{
	width:167px;
	margin:0 10px;
}
#cont3 h2{
	margin:0.8em 0 0.5em;
	line-height:1.4;
	letter-spacing:0.2em;
	text-indent:0.2em;
	font-size:30px;
}
#cont3 h2 + p{
	display:inline-block;
	padding:0 1.5em;
	font-size:24px;
	font-weight:bold;
	color:#fff;
	background-color:#ff9494;
	letter-spacing:0.1em;
	text-indent:0.1em;
}
#cont3 h3{
	margin:0.5em 0;
	line-height:1.1;
	letter-spacing:0.1em;
	text-indent:0.01em;
	font-size:54px;
}
#cont3 h3 .small{
	font-size:42px;
}
#cont3 h3 .large{
	margin:0 0.1em;
	line-height:1;
	letter-spacing:normal;
	text-indent:0;
	font-size:84px;
	background:linear-gradient(transparent 75%, #ffee00 75%, #ffee00 85%, transparent 85%);
}
#cont3 p{
	color:#333;
}

@media screen and (max-width:1024px){
	#cont3 ul li{
		width:16%;
		margin:0 1%;
	}
	#cont3 h2{
		font-size:3vw;
	}
	#cont3 h2 + p{
		font-size:2.4vw;
	}
	#cont3 h3{
		font-size:5.1vw;
	}
	#cont3 h3 .small{
		font-size:4.2vw;
	}
	#cont3 h3 .large{
		font-size:8.3vw;
	}
}

@media screen and (max-width:768px){
	#cont3 ul li{
		width:29%;
		margin:0 1.5%;
	}
	#cont3 h2{
		font-size:5vw;
	}
	#cont3 h2 + p{
		width:94%;
		padding:0.3em 2em;
		line-height:1.3;
		font-size:4vw;
	}
	#cont3 h3{
		line-height:1.5;
		margin:0.8em 0;
		font-size:6.5vw;
	}
	#cont3 h3 .small{
		font-size:5vw;
	}
	#cont3 h3 .large{
		font-size:10vw;
	}
	#cont3 h3 .large{
		line-height:0;
	}
	#cont3 h3 + P{
		font-size:4.2vw;
	}
}


/* .tbl */
.tbl{
	line-height:1.5;
	padding:50px 50px 0;
	text-align:left;
}
.tbl > dt{
	width:22%;
	float:left;
}
.tbl > dd{
	margin-bottom:1em;
	padding:0 0 1em 25%;
	border-bottom:1px solid rgba(15,31,75,0.2);
}
.tbl > dd:last-of-type{
	margin-bottom:0;
}
.tbl > dd small {
	font-size: 13px;
	line-height: 140%;
	display: block;
	margin: 10px 0 0 0;
}
.tbl > dd .beta {
	background-color: #059de1;
	color: #FFF;
	padding: 3px 5px;
}

@media screen and (max-width:1024px){
	.tbl{
		padding:5% 5% 0;
	}
	.tbl > dd .beta {
		background-color: #059de1;
		padding: 10px 10px;	}
}


/* #cont4 */
#cont4{
	background:
		url(../images/cont4_top.png)repeat-x center top,
		url(../images/cont4_bottom.png)repeat-x center bottom,
		#9dd6f0;
	background-size:auto 400px;
}
#cont4 .tit{
	max-width:860px;
	width:90%;
	margin:auto;
	padding:0 0 50px 320px;
	
	background:url(../images/cont4_1.png)no-repeat left bottom;
	background-size:278px auto;
}
#cont4 .tit h2{
	line-height:1.5;
	font-weight:900;
	color:#00579d;
}
#cont4 .tit h2 .small{
	padding-right:3em;
	display:block;
	font-size:24px;
	letter-spacing:0.1em;
}
#cont4 .tit h2 .pink{
	display:block;
	font-size:30px;
	color:#ff9494;
	text-align:left;
}
#cont4 .tit h2 .large{
	line-height:1.1;
	display:block;
	font-size:60px;
	text-align:left;
	position:relative;
}
#cont4 .tit h2 .large img{
	width:16%;
	position:absolute;
	right:101%;
	bottom:65%;
}
#cont4 .tit h2 .large span{
	display:inline-block;
	vertical-align:0.3em;
	width:1.5em;
	height:1.5em;
	line-height:1.5em;
	margin:0 0.3em;
	font-size:26px;
	text-align:center;
	color:#fff;
	background-color:#ff9494;
	border-radius:50%;
}
#cont4 .tit p{
	padding-top:1.5em;
	text-align:left;
}
#cont4 section{
	margin-bottom:50px;
	padding-bottom:50px;
	background-color:#fff;
}
#cont4 section h3{
	font-size:24px;
	font-weight:900;
	color:#059de1;
	background-color:#ffee00;
}
#cont4 section .tbl{
	font-weight:bold;
}
#cont4 section .tbl > dd dl dt{
	width:9em;
	float:left;
}
#cont4 section .tbl > dd dl dt:before{
	content:'▼';
	margin-right:0.5em;
	display:inline-block;
	vertical-align:0.15em;
	font-size:10px;
	transform:rotate(-90deg);
}
#cont4 section .tbl > dd dl dt.c_non:before{
	content:'';
}
#cont4 section .tbl > dd dl dd{
	margin-bottom:1em;
	padding:0 0 1em 10em;
	border-bottom:1px solid rgba(15,31,75,0.2);
}
#cont4 section .tbl > dd dl dd:last-of-type{
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:none;
}
#cont4 section .tbl > dd dl dd .small{
	display:block;
	font-size:14px;
}


@media screen and (max-width:1024px){
	#cont4 .tit{
		padding:0 0 5% 32%;
		background:url(../images/cont4_1.png)no-repeat left bottom;
		background-size:32% auto;
	}
	#cont4 .tit h2 .small{
		font-size:2.4vw;
	}
	#cont4 .tit h2 .pink{
		font-size:3vw;
	}
	#cont4 .tit h2 .large{
		font-size:6vw;
	}
	#cont4 .tit h2 .large img{
		width:15%;
		bottom:70%;
		right:100%;
	}
	#cont4 .tit h2 .large span{
		font-size:2.6vw;
	}
	#cont4 section{
		margin-bottom:5%;
		padding-bottom:5%;
	}
	#cont4 section h3{
		font-size:2.4vw;
	}
	#cont4 section .tbl > dd dl dt:before{
		font-size:1vw;
	}
	#cont4 section .tbl > dd dl dd .small{
		font-size:1.4vw;
	}
}

@media screen and (max-width:768px){
	#cont4{
		background-size:auto 200px;
	}
	#cont4 .tit{
		width:94%;
		padding:0;
		background-image:none;
	}
	
	#cont4 .tit h2 .small{
		padding-right:0;
		font-size:4vw;
		text-indent:0.1em;
	}
	#cont4 .tit h2 .pink{
		padding-left:16%;
		font-size:4.5vw;
	}
	#cont4 .tit h2 .large{
		padding-left:16%;
		font-size:9.5vw;
	}
	#cont4 .tit h2 .large img{
		width:15%;
		position:absolute;
		right:auto;
		left:0%;
		bottom:62%;
	}
	#cont4 .tit h2 .large span{
		font-size:3vw;
	}
	#cont4 .tit p{
		line-height:1.5;
		padding:1em 0 5% 33%;
		background:url(../images/cont4_1.png)no-repeat left bottom;
		background-size:32% auto;
	}
	#cont4 section h3{
		font-size:4vw;
	}
	#cont4 section .tbl > dd dl dt{
		float:none;
	}
	#cont4 section .tbl > dd dl dt:before{
		font-size:2vw;
	}
	#cont4 section .tbl > dd dl dd{
		padding-left:0;
	}
	#cont4 section .tbl > dd dl dd .small{
		font-size:3vw;
	}
}


/* #contact */
#contact{
}
#contact dl{
	margin-bottom:30px;
}
#contact dl dt{
	line-height:40px;
	position:relative;
}
#contact dl dt.hissu:after{
	content:'必須';
	display:inline-block;
	line-height:1.5;
	padding:0 0.5em;
	font-size:15px;
	color:#fff;
	background-color:#b81b21;
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%);
}
#contact dl dd ul{
	display: -webkit-flex;
	display: flex;
}
#contact dl dd ul li{
	line-height:40px;
	padding-right:2em;
}
#contact a{
	text-decoration:underline;
}

@media screen and (max-width:1024px){
	#contact dl{
		margin-bottom:3%;
	}
	#contact dl dt.hissu:after{
		font-size:1.5vw;
	}
}
@media screen and (max-width:768px){
	#contact dl dt{
		line-height:1.5;
		width:auto;
		margin-bottom:0.3em;
		font-size:16px;
		float:none;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	#contact dl dt.hissu:after{
		font-size:12px;
		position:static;
		right:auto;
		top:auto;
		transform:none;
		margin-left:0.5em;
	}
	#contact dl dd{
		padding-left:0;
	}
}


/* #contact.thanks */
#contact.thanks{
	min-height:calc(100vh - 160px);
}
#contact.thanks h2{
	font-size:30px;
}

@media screen and (max-width:1024px){
	#contact.thanks h2{
		font-size:3vw;
	}
}

@media screen and (max-width:768px){
	#contact.thanks{
		min-height:calc(100vh - 120px);
	}
	#contact.thanks h2{
		font-size:5vw;
	}
}



/* #cont5 */
#cont5{
	padding-bottom:100px;
	background-color:#f3f7f7;
}
#cont5 h2{
	font-size:30px;
}
#cont5 dl{
	font-weight:bold;
}
#cont5 dl dd p,
#cont5 dl dd dl{
	font-size:16px;
	font-weight:500;
}
#cont5 dl dd dl dt{
	float:left;
}
#cont5 dl dd dl dd{
	padding-left:5.5em;
}

@media screen and (max-width:1024px){
	#cont5{
		padding-bottom:10%;
	}
	#cont5 h2{
		font-size:3vw;
	}
}

@media screen and (max-width:768px){
	#cont5 h2{
		font-size:5.6vw;
	}
	#cont5 dl dd p,
	#cont5 dl dd dl{
		font-size:3.4vw;
	}
}


/* footer */
footer{
	padding:20px 0 10px;
	font-size:10px;
	color:#fff;
	background-color:#0f1f4b;
}
footer img{
	width:163px;
	display:block;
	margin:0 auto 20px;
}
@media screen and (max-width:1024px){
	footer{
		padding:2% 0 1%;
		font-size:1vw;
	}
	footer img{
		margin:0 auto 3%;
	}
}

@media screen and (max-width:768px){
	footer{
		padding-bottom:0;
		font-size:2.8vw;
	}
	footer img{
		max-width:300px;
		width:30%;
	}
	footer.contact{
		padding-bottom:20%;
	}
}


/* top_top */
#topbtn{
	width:50px;
	line-height:50px;
	font-size:18px;
	border-radius:50%;
	color:#fff;
	background-color:rgba(0,0,0,0.5);
	position:fixed;
	z-index:90;
	right:30px;
	bottom:-150px;
	-webkit-transition: bottom 0.8s;
	-moz-transition: bottom 0.8s;
	-ms-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
@media screen and (max-width:768px){
	#topbtn{
		width:40px;
		line-height:40px;
		right:20px;
	}
}


/* fadein */
.fadein {
	opacity : 0;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_0 {
	opacity : 0;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_l {
	opacity : 0;
	-webkit-transform : translate(-100px, 0);
	transform : translate(-100px, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_r {
	opacity : 0;
	-webkit-transform : translate(100px, 0);
	transform : translate(100px, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.delay1 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.2s;
	transition-delay : 0.2s;
}
.delay2 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.4s;
	transition-delay : 0.4s;
}
.delay3 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.6s;
	transition-delay : 0.6s;
}
.delay4 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.8s;
	transition-delay : 0.8s;
}

.fadein.scrollin,
.fadein_0.scrollin,
.fadein_l.scrollin,
.fadein_r.scrollin{
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}
