@charset "utf-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	box-sizing: border-box;word-break: break-all;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
	/* -webkit-text-size-adjust: 100%; */
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	vertical-align: middle;
}

body {
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	text-rendering: optimizeLegibility;
	font-variant-ligatures: no-common-ligatures;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}

@media only screen and(-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	body {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

*, *::after, *::before {
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
}

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;-webkit-tap-highlight-color:transparent;
}

a:hover {
	opacity: 0.8;
}

/*common*/
html {font-size: 18px;}
img {vertical-align: middle;}
body {color: #4d4d4d;font-family: 'Noto Sans JP', sans-serif;font-weight:500;letter-spacing:0.07em;}

.outer {width:100%;padding: 0 10px;}
.w700 {max-width: 720px;margin: 0 auto;padding: 0 10px;}
.w800 {max-width: 820px;margin: 0 auto;padding: 0 10px;}
.w900 {max-width: 920px;margin: 0 auto;padding: 0 10px;}
.w1000 {max-width: 1020px;margin: 0 auto;padding: 0 10px;}
a {transition: opacity 0.2s;will-change: contents;}
a:hover {opacity: 0.8;}
.spview {display: none;}
.pcview {display: block;}

@media screen and (max-width:750px) {
html {font-size: 3.7vw;}
.outer {padding: 0 6vw;}
.w700 {width: 100%;padding: 0 4vw;}
.w800 {width: 100%;padding: 0 4vw;}
.w900 {width: 100%;padding: 0 4vw;}
.w1000 {width: 100%;padding: 0 4vw;}
.spview {display: block;}
.pcview {display: none;}
}


/*header*/
header{position:fixed;top:0;left:0;width: 100%;background:rgba(255,255,255,0.95);height:70px;display:flex;align-items:center;justify-content:space-between;z-index:15;padding:0 2em;box-shadow:0 1px 5px rgba(0,0,0,0.1);}
header h1{flex-shrink:0;}
header h1 img{width:100%;height:40px;}
header h1 span{display:none;}

@media screen and (max-width:750px) {
header{height:54px;padding:0 14px;justify-content:space-between;}
header h1{position:relative;z-index:99;}
header h1 img{height:32px;width:auto;}
header nav{display:none;}

}

.headerbtn{position:absolute;top:50%;right:14px;z-index:25;transform: translateY(-50%);display: none;}
#openbtn{border:none;outline:none;padding:0;margin:0;background:none;-webkit-appearance:none;appearance:none;border-radius:none;z-index:1;
-webkit-tap-highlight-color: rgba(0,0,0,0);font-family:inherit;cursor:pointer;box-sizing:content-box;height:41px;width:41px;}
#openbtn span{position:absolute;right:0;transform:rotate(0deg);transform-origin:center center;transition:0.2s;display:block;height:3px;border-radius:10px;background:#0268CC;}
#openbtn span:nth-of-type(1){top:7px;width:34px;}
#openbtn span:nth-of-type(2){top:19px;width:26px;}
#openbtn span:nth-of-type(3){top:31px;width:18px;}

@media only screen and (max-width: 750px) {
.headerbtn{display: block;}
}



/*pulldown navi*/
#navi{}
#pulldown_navi{font-size:0.9em;font-weight:500;}
#pulldown_navi ul{display: flex;flex-wrap: wrap;justify-content: flex-end;}
#pulldown_navi li{padding:0.2em 0 0.2em 1.5em;}
#pulldown_navi li a:hover{text-decoration:underline;}

@media only screen and (max-width: 750px) {
#navi{display:none;position:absolute;width:100%;background:rgba(255, 255, 255, 0.97);left:0;z-index:14;top:0;height:100vh;}
#pulldown_navi{padding:60px 0 20vw;font-size:4vw;height:100%;overflow-y:auto;}
#pulldown_navi ul{display: block;}
#pulldown_navi li{padding:0 4vw 0;}
#pulldown_navi li:first-child{box-shadow: 0 5px 5px -5px rgba(0,0,0,0.15) inset;padding-top:1vw;}
#pulldown_navi li a{display:inline-block;padding:5vw 2vw;border-bottom:1px dotted #aaa;width:100%;}
#pulldown_navi li a:hover{text-decoration:none;}
}


footer{background:#0268CC;color:#fff;padding:20px 0px 20px;}
footer .copy{font-size:0.7em;text-align: center;}

@media only screen and (max-width: 750px) {
footer{padding:4vw 0px 4vw;}
}

.main_img{background:#CCE0F4;position: relative;z-index: 2;height:520px;overflow:hidden;margin-top:70px;}
.main_img .img{position:absolute;top:0;left:50%;width:1300px;transform: translateX(-50%);}
.main_img .img img{width:100%;}
.main_img .txt{position:absolute;top:50%;left:50%;transform: translate(-50%,-50%);}
.main_img .txt>div{background:rgba(255,255,255,0.9);padding:30px 50px;width: max-content;border-radius: 8px;}
.main_img .txt p{text-align: center;}
.main_img .txt p:nth-of-type(1){font-size: 1.25em;font-weight:700;color: #0268CC;}
.main_img .txt p:nth-of-type(2){font-size: 2.5em;font-weight:800;margin: 0.3em 0 0.5em;color: #0268CC;}
.main_img .txt p:nth-of-type(3){font-size: 1em;line-height: 1.6;}

@media only screen and (max-width: 750px) {
.main_img{margin-top:54px;height:auto;}
.main_img .img{width:100%;height:45vw;position:static;transform:unset;}
.main_img .img img{height: 100%;object-fit: cover;}
.main_img .txt{position:static;transform:unset;}
.main_img .txt>div{width:100%;background:none;padding:5vw 0 4vw;}
.main_img .txt p:nth-of-type(1){font-size: 1em;}
.main_img .txt p:nth-of-type(2){font-size: 2em;margin: 0.2em 0 0.3em;}
.main_img .txt p:nth-of-type(3){font-size: 0.85em;line-height: 1.5;}
}

/*anime*/
.fade{opacity: 0;visibility: hidden;transform: translate(0,30px);transition: opacity 1s,visibility 1s, transform 1s;}
.fadein{opacity: 1;visibility: visible;transform: translate(0);}


/*section*/
[data-scroll]{padding-top:140px;margin-top:-140px;}
.sec_outer{padding:100px 0;}
.sec_outer.bg{background:#f4f4f7;}
.sec_outer h2{text-align:center;font-size: 2.2rem;font-weight: 700;margin-bottom:50px;line-height: 1;}
@media only screen and (max-width: 750px) {
[data-scroll]{padding-top:20vw;margin-top:-20vw;}
.sec_outer{padding:10vw 0 12vw;}
.sec_outer h2{font-size: 1.5rem;margin-bottom:1em;line-height: 1.3;}
}

/*features*/
#features .features{display:flex;justify-content:space-between;}
#features .features_inner{width:calc((100% - 100px) / 3);}
#features .features_inner .img{}
#features .features_inner .img img{width:100%;}
#features .features_inner h3{text-align:center;font-size:1.45em;font-weight:700;line-height:1.3;color:#0268CC;margin:0.7em 0 0.4em;}
#features .features_inner .txt{text-align:center;font-size: 0.9em;line-height:1.6;}
@media only screen and (max-width: 750px) {
#features .features{display:block;margin-bottom:-7vw;}
#features .features_inner{width:100%;margin-bottom:7vw;padding:0 10vw;}
#features .features_inner .img{margin-bottom:0.5em;}
#features .features_inner h3{font-size:1.3em;}
#features .features_inner .txt{margin-top:0.5em;}

}

/*site*/
#site_outer{}
#site .site{display:flex;justify-content:center;gap:70px;}
#site .site_inner{width: 40%;}
#site .site_inner .img{margin:30px 40px;border:1px solid #ccc;border-radius: 4px;box-shadow: 0 0 8px rgba(0,0,0,0.15);}
#site .site_inner .img img{width:100%;}
#site .site_inner .msg{text-align: center;font-weight: 800;color: #0268CC;margin-bottom: 15px;line-height: 1.6;font-size: 1.2em;text-decoration: underline;text-decoration-color: #FFF888;text-decoration-thickness: 0.7em;text-underline-offset:-0.35em;text-decoration-skip-ink: none;}
#site .site_inner h3{text-align: center;font-weight: 800;color: #0268CC;font-size: 1.8em;}
#site .site_inner .txt{text-align: center;font-size: 0.9em;line-height: 1.7;}
#site .site_inner .btn{text-align: center;margin-top: 25px;}
#site .site_inner .btn a{font-weight: 700;color: #fff;background:#0268CC;color:#fff;display: inline-block;padding:0.6em 4em 0.75em;border-radius: 50px;font-size: 1.15em;}
@media only screen and (max-width: 750px) {
#site .site{display:block;}
#site .site_inner{width:100%;}
#site .site_inner:nth-of-type(2){margin-top: 8vw;border-top: 1px dotted #67A4E0;padding-top:6vw;}
#site .site_inner .img{margin:0;width: 40%;flex-shrink: 0;margin-right: 4vw;}
#site .site_inner .msg{margin-bottom: 4vw;font-size: 1.05em;}
#site .site_inner h3{font-size: 1.7em;}
#site .site_inner h3+div{display: flex;justify-content: space-between;margin-top: 7vw;padding:0 3vw;}
#site .site_inner .txt{font-size: 0.9em;line-height: 1.6;text-align: justify;margin-top:-0.4em;}
#site .site_inner .btn{margin-top: 7vw;}

}


/*corp*/
#corp{}
#corp dl{border:1px solid #ccc;font-size:0.95em;}
#corp dl div{display:flex;justify-content:space-between;align-items:stretch;}
#corp dl div:not(:last-of-type){border-bottom:1px solid #ccc;}
#corp dl dt{flex-shrink:0;width:200px;padding:0.7em 0;border-right:1px solid #ccc;display:flex;justify-content:center;align-items:center;font-weight:500;text-align:center;background:#F4F4F7;line-height: 1.6;}
#corp dl dd{flex:1;padding:0.7em 2em;display:flex;justify-content:flex-start;align-items:center;line-height: 1.6;}
#corp dd a{text-decoration:underline;color: #0268CC;}
@media only screen and (max-width: 750px) {
#corp dl{font-size:0.9em;}
#corp dl div{display:block;}
#corp dl dt{width:100%;text-align:center;padding:0.5em 0;border:none;border-bottom:1px solid #ccc;display:block;line-height: 1.4;}
#corp dl dd{padding:1em 0;display:block;text-align:center;line-height: 1.4;}
}



/*contact*/
#contact{}
#contact .contact_inner{background:#fff;padding:40px 0;border-radius: 12px;box-shadow: 0 0 12px rgba(0,0,0,0.1);}
#contact .contact_inner:nth-of-type(2){margin-top: 35px;}
#contact .contact_inner h3{font-size: 1.4em;font-weight: 800;color: #0268CC;border-bottom: 3px double #0268CC;width: max-content;margin:0 auto 30px;padding:0 0.5em 0.4em;}
#contact .contact_inner p{text-align: center;}
#contact .contact_inner p a{display: inline-block;margin:0 10px;border-radius: 40px;background: #0268CC;color:#fff;padding:0.4em 3em 0.55em;border: 1px solid #0268CC;font-weight: 700;transition: background 0.2s,color 0.2s;}
#contact .contact_inner p a:hover{background: #fff;color:#0268CC;opacity: 1;}
#contact .note{text-align: center;font-size: 0.75em;line-height: 1.4;margin-top: 30px;}
@media only screen and (max-width: 750px) {
#contact .contact_inner{padding:5vw 0;}
#contact .contact_inner:nth-of-type(2){margin-top:4vw;}
#contact .contact_inner h3{font-size: 1.2em;margin:0 auto 2vw;}
#contact .contact_inner p a{margin:3vw 0 0;width: 70%;padding:0.7em 3em 0.8em;}
#contact .note{margin-top: 5vw;}
}
