/*
Theme Name: EK Theme
Theme URI: https://example.com/
Author: yj
Author URI: https://example.com/
Description: オリジナルテーマ「ek」の初期バージョンです。
Version: 1.0
*/


@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

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-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}
ol, ul, dl{
    list-style:none;
}

html{
	margin:0;
	padding:0;
}
html, body{
	overscroll-behavior-y: none;
}
body{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(12px, 1.2vw, 18px);
	line-height: 1.8;
	color:#002940;
}

.pc{
	display:block!important;
}
.sp{
	display:none!important;
}
.pcVisble{
	visibility:visible;
}
.spVisble{
	visibility:hidden;
}

a:link,a:visited {
	text-decoration: none;
	cursor:pointer;
	color:#002940;
}
a:hover{
	color:#000;
	text-decoration: underline;
}
a.readmore{
	display:block;
	width:157px;
	height:42px;
	padding:12px 0 0 24px;
	font-family: Albert Sans;
	font-weight: 500;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 1.28px;
	text-align:left;
	border-radius:52px;
	box-sizing: border-box;
	transition:0.3s ease-in-out;
}
a.readmore:hover{
	text-decoration: none;
}
a.readmore.white{
	background:#D3D7DC url(assets/img/arrow_b.svg) no-repeat;
	background-position:right 16px center;
	border:1px solid #D3D7DC;
}
a.readmore.white:hover{
	background:#002940 url(assets/img/arrow_w.svg) no-repeat;
	background-position:right 16px center;
	color:#fff;
	border:1px solid #002940;
}

a.readmore.blue{
	background:#002940 url(assets/img/arrow_w.svg) no-repeat;
	background-position:right 16px center;
	border:1px solid #002940;
	color:#fff;
}
a.readmore.blue:hover{
	background:#fff url(assets/img/arrow_b.svg) no-repeat;
	background-position:right 16px center;
	color:#002940;
}

a.readmore.white.external-link{
	background:#D3D7DC url(assets/img/arrow-external_b.svg) no-repeat;
	background-position:right 16px center;
	background-size:16px;
}
a.readmore.white.external-link:hover{
	background:#002940 url(assets/img/arrow-external_w.svg) no-repeat;
	background-position:right 16px center;
	background-size:16px;
	color:#fff;
	border:1px solid #002940;
}

a.readmore.white-border{
	background:url(assets/img/arrow_w.svg) no-repeat;
	background-position:right 16px center;
	color:#D3D7DC;
	border:1px solid #D3D7DC;
}
a.readmore.white-border:hover{
	background:#fff url(assets/img/arrow_b.svg) no-repeat;
	background-position:right 16px center;
	color:#002940;
}

a.readmore.blue-border{
	background:url(assets/img/arrow_b.svg) no-repeat;
	background-position:right 16px center;
	color:#002940;
	border:1px solid #002940;
}
a.readmore.blue-border:hover{
	background:#002940 url(assets/img/arrow_w.svg) no-repeat;
	background-position:right 16px center;
	color:#D3D7DC;
}
a.readmore.blue-border.external-link{
	background:url(assets/img/arrow-external_b.svg) no-repeat;
	background-position:right 16px center;
}
a.readmore.blue-border.external-link:hover{
	background:#002940 url(assets/img/arrow-external_b.svg) no-repeat;
	background-position:right 16px center;
}


a.readmore.center{
	margin:0 auto;
}
a.readmore.right{
	margin:0 0 0 auto;
}


/*------------------------------*/
header{
	position: fixed;
	width:100%;
	height:76px;
	margin:0;
	padding:0 80px;
	background:rgba(255,255,255,0.4);
	border-bottom:1px solid #fff;
	backdrop-filter: blur(40px);
	z-index:100;
	box-sizing: border-box;
	transition:0.4s ease-in-out;
}
.header{
	position:relative;
	display:flex;
	justify-content:space-between;
	z-index:101;
}
.header > li:nth-of-type(1){
	width:30%;
	margin:27px 0;
}
.header > li:nth-of-type(2){
	width:70%;
	margin:36px 0 0;
	text-align:right;
}
.header > li:nth-of-type(3){
	display:none;
}
/*------------*/
.header h1{
	max-width:308px;
}
.header h1 a{
	display:block;
	width:100%;
	height:100%;
}
.header h1 .logo{
	width:100%;
	aspect-ratio:11 / 1;
}

.navi.navi-sp{display:none;}
.navi{
	display:flex;
	justify-content:right;
	margin:0 0 0 auto;
	z-index:99;
	transition:0.4s ease-in-out;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.navi > li{
	margin:0 0 0 40px;
	font-size:14px;
	text-align:right;
	line-height:1;
}
.navi > li a{
	color:#002940;
	transition-duration: 0.3s;
	font-family: Albert Sans;
	font-weight: 600;
	line-height: 100%;
	letter-spacing: 1.12px;
}
.navi > li a:hover{
	color:#D3D7DC;
	text-decoration:none;
	transition-duration: 0.3s;
}
.navi > li a.external-link{
	padding:0 18px 0 0;
	background:url(assets/img/arrow-external_b.svg) right center no-repeat;
}
.navi > li a.external-link:hover{
	background:url(assets/img/arrow-external_w.svg) right center no-repeat;
	transition-duration: 0.3s;
}

/*top-visual----*/
.top-visual {
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	/*height: 100vh;*/
	right: 0;
	bottom: 0;
	overflow: hidden;
	background:#fff;
	z-index:0;
}
.bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 1.5s;
}
.bg01 {
	background-image: url(assets/img/bg01.jpg);
	z-index: 0;
}
.bg02 {
	background-image: url(assets/img/bg02.jpg);
	z-index: 1;
	animation: bg 2s forwards;
}
@keyframes bg {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

/*main---------------*/
main{
	padding:76px 0 0;
}
section{
	position:relative;
	padding:0 80px;
}
section.title{
	padding:80px 80px 0;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
section.gray{
	margin:0;
	padding:80px;
	background:#D3D6DB;
}
section.blue{
	margin:0;
	padding:80px;
	background:#002940;
}
section .inner{
	position:relative;
	max-width:1120px;
	margin:0 auto 80px;
	padding:0;
	border-radius:32px;
}
section .inner:last-of-type{
	margin:0 auto;
	border-radius:32px;
}
section .inner.blue{
	padding:80px;
	background:#002940;
	color:#fff;
}
section .inner.gray{
	padding:80px;
	background:#D3D6DB;
	color:#fff;
}
section .inner.white{
	padding:80px;
	background:rgba(255,255,255,0.8);
	color:#002940;
}
section h1{
	margin:0 0 100px;
	font-size:36px;
	font-weight:600;
	font-family: "Albert Sans", sans-serif;
	line-height:1;
	letter-spacing:2.88px;
	color:#D3D7DC;
	overflow:hidden;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	transition:0.4s ease-in-out;
}
section h1.animate-on-scroll{
	height:66px;
	padding-top:66px;
}
section h1.navy{
	color:#002940;
}
section h1.center{
	text-align:center;
	margin:0 auto 40px;
}
section h1 span{
	display:block;
	margin:14px 0 0;
	font-size:16px;
	font-weight:500;
	line-height:1;
	letter-spacing:1.28px;
	color:#D3D7DC;
}
section h1.navy span{
	color:#3E4C54;
}
section .inner.blue h1 span{
	color:#D3D7DC;
}
section h1.inview {
	padding-top:0;
}
section h2{
	margin:0 0 40px;
	font-size:30px;
	font-weight:600;
	line-height:1.6;
	color:#002940;
}
section h2.white{
	color:#fff;
}
section h3{
	margin:0 0 5px;
	font-family: Albert Sans;
	font-weight: 600;
	font-size: 20px;
}
.lead-article{
	line-height:2;
}

.pagination{
	margin:-40px auto 40px;
	text-align:center;
}
.pagination .page-numbers{
	display:inline-block;
	padding: 5px 9px 6px 10px;
	border-radius:20px;
	line-height:1;
	border:1px solid #002940;
	background:#002940;
	text-decoration:none;
	font-size:16px;
	color:#fff;
}
.pagination .page-numbers:hover{
	background:#fff;
	border:1px solid #002940;
	color:#002940;
}
.pagination .current{
	background:#fff;
	color:#002940;
}
.pagination .next,.pagination .prev, .pagination .dots{
	border:none;
	background:transparent;
	color:#002940;
}
.pagination .next,.pagination .prev{
	font-size:26px;
}
.pagination .next:hover,.pagination .prev:hover, .pagination .dots:hover{
	background:transparent;
	border:none;
	color:#fff;
}

/*reCAPTCHAバッジを非表示 */
.grecaptcha-badge {
	display: none;
}

/*------------------------------*/
footer{
	position:relative;
	height:236px;
	padding:80px 80px 0;
	background:#002940;
	color:#fff;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	z-index:3;
}
footer a:link,footer a:visited{
	color:#fff;
}
footer a:hover{
	text-decoration:none;
}
footer .footer{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
footer .footer > li:first-child{
	width:27.5%;
	font-weight: 300;
	font-size: 12px;
	letter-spacing: 0.96px;
}
footer .footer > li:last-child{
	width:540px;
}

footer .footer > li:first-child img{
	display:block;
	margin:0 0 50px;
}

footer #footnavi{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin:14px 0 40px;
}
footer #footnavi li{
	margin:0;
	font-size:14px;
	letter-spacing:1.12px;
}
footer #footnavi li a.external-link{
	padding:0 18px 0 0;
	background:url(assets/img/arrow-external_w.svg) right center no-repeat;
}

.snsNavi{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	justify-content:left;
}
.snsNavi li{
	height:24px;
	margin:0 24px 0 0;
	font-size:14px;
}
.snsNavi li a {
	display: block;
	width: 24px;
	height: 24px;
	text-indent: -9999px;
	overflow: hidden;
}

.snsNavi li.sns-note a {
	background: url('assets/img/icon_note.svg') no-repeat center center;
	background-size: contain;
}
.snsNavi li.sns-instagram a {
	background: url('assets/img/icon_instagram.svg') no-repeat center center;
	background-size: contain;
}
.snsNavi li.sns-facebook a {
	background: url('assets/img/icon_facebook.svg') no-repeat center center;
	background-size: contain;
}
.snsNavi li.sns-linkedin a {
	background: url('assets/img/icon_in.svg') no-repeat center center;
	background-size: contain;
}
footer .snsNavi li:last-child{
	position:absolute;
	bottom:0;
	right:0;
	margin:0;
}
footer .snsNavi li:last-child a{
	display:inline;
	font-family: Albert Sans;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.96px;
	text-indent:0;
	color:#8E9CA4;
}

@media screen and (max-width: 960px) {
	html{
		height: -webkit-fill-available;
	}
	body{
		font-size: clamp(14px, 1.4vw, 16px);
	}

	.pc{
		display:none!important;
	}
	.sp{
		display:block!important;
	}
	.pcVisble{
		visibility:hidden;
	}
	.spVisble{
		visibility:visible;
	}
	
	a.readmore{
		width:126px;
		height:34px;
		padding:10px 0 0 16px;
		font-size: 14px;
		letter-spacing: 1.12px;
	}
	
	a.readmore.blue{
		background-position:right 7px center;
	}
	a.readmore.blue:hover{
		background-position:right 7px center;
	}
	
	a.readmore.white{
		background-position:right 7px center;
	}
	a.readmore.white:hover{
		background-position:right 7px center;
	}
	
	a.readmore.white.external-link{
		background-position:right 7px center;
	}
	a.readmore.white.external-link:hover{
		background-position:right 7px center;
	}
	
	a.readmore.white-border{
		background-position:right 7px center;
	}
	a.readmore.white-border:hover{
		background-position:right 7px center;
	}
	
	a.readmore.blue-border{
		background-position:right 7px center;
	}
	a.readmore.blue-border:hover{
		background-position:right 7px center;
	}
	/*------------------------------*/
	header{
		height:48px;
		padding:0 6.4%;
	}
	.header > li:nth-of-type(1){
		width:58%;
		margin:16px 0 0;
	}
	.header > li:nth-of-type(2){
		width:0;
		min-width:0;
		padding:0;
		margin:0;
	}
	.header > li:nth-of-type(3){
		display:block;
		width:24px;
		height:24px;
		padding:12px 0 0;
	}
	.header h1 .logo{
		width:auto;
		max-height:15px;
	}
	/*------------*/
	.navi.navi-pc{display:none;}
	.navi-sp{
		display:block;
		position:fixed;
		top:-100%;
		left:0;
		width:100%;
		height: calc(calc(var(--vh, 1vh) * 100) - 48px);
		background:rgba(255,255,255,0.4);
		backdrop-filter: blur(40px);
		z-index:99;
		isolation: isolate;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
	}
	.navi-sp.open{
		top:48px;
		transition:0.4s ease;
	}
	.navi-sp{
		padding:80px 0 0;
	}
	.navi-sp > li{
		margin:0 6.4% 30px;
		text-align:left;
	}
	.navi-sp > li.privacypolicy{
		padding:16px 0 0;
		border-top:1px solid #fff;
	}
	.navi-sp > li:last-child{
		position:absolute;
		bottom:0;
	}
	.navi-sp .snsNavi li.sns-note a {
		background: url('assets/img/icon_note_b.svg') no-repeat center center;
		background-size: contain;
	}
	.navi-sp .snsNavi li.sns-instagram a {
		background: url('assets/img/icon_instagram_b.svg') no-repeat center center;
		background-size: contain;
	}
	.navi-sp .snsNavi li.sns-facebook a {
		background: url('assets/img/icon_facebook_b.svg') no-repeat center center;
		background-size: contain;
	}
	.navi-sp .snsNavi li.sns-linkedin a {
		background: url('assets/img/icon_in_b.svg') no-repeat center center;
		background-size: contain;
	}
	.navi-sp > li img{
		width:100%;
	}
	.navi-sp > li a.external-link{
		padding:0;
		background:none;
	}
	#naviBtn{
		display:inline-block;
		width:100%;
		height:100%;
		background:url(assets/img/navi.svg) no-repeat center;
		background-size:100%;
		cursor:pointer;
		text-align:right;
		z-index:101;
	}
	#naviBtn.open{
		background:url(assets/img/navi_close.svg) no-repeat center;
		background-size:100%;
	}
	/*------------------------------*/
	.top-visual {
		height: calc(var(--vh, 1vh) * 100);
	}
	.bg02 {
		background-image: url(assets/img/bg02_sp.jpg);
	}

	/*------------------------------*/
	main{
		padding:48px 0 0;
	}
	section,section.gray,section.blue{
		margin:0 auto;
		padding:40px 6.4%;
	}
	section.title{
		padding:10vh 6.4% 40px;
	}
	section .inner{
		margin:0 0 40px;
		padding:0;
	}
	section .inner.blue,section .inner.gray,section .inner.white{
		padding:40px 6.4%;
	}
	section h1{
		margin:0 0 10vh;
		font-size:28px;
		letter-spacing:2.24px;
	}
	section h1.center{
		margin:0 auto 24px;
	}
	section h1 span{
		font-size:14px;
	}
	section h2{
		margin:0 0 24px;
		font-size:20px;
	}
	section h3{
		font-size:18px;
	}
	.pagination{
		margin:0 auto;
	}
	/*-------------------------*/
	footer{
		height:auto;
		padding:40px 6.4% 20px;
	}
	.footer{
		margin:0 auto 20px;
	}
	footer .footer > li:first-child{
		width:66.66%;
	}
	footer .footer > li:first-child img{
		width:100%;
		margin:0 0 80px;
	}
	footer #footnavi{
		margin:0 0 25px;
	}
	footer #footnavi li{
		width:100%;
		margin:0 0 15px;
		line-height:1;
	}
	
	footer .snsNavi li:last-child{
		position:relative;
		width:100%;
		margin:20px 0 32px;
	}
	.copyright{
		font-size:12px;
		font-weight: 300;
		letter-spacing: 0.96px;
	}
}

