@charset "utf-8";

@font-face{
	src:  url('../font/NotoSansJP-Regular.woff') format('woff');
	font-family: 'NotoSansJP-Regular';
	font-style: normal;
	font-display: swap;
}
@font-face{
	src:  url('../font/NotoSansJP-Bold.woff') format('woff');
	font-family: 'NotoSansJP-Bold';
	font-style: normal;
	font-display: swap;
}
@font-face{
	src:  url('../font/Lato-Bold.woff') format('woff');
	font-family: 'Lato-Bold';
	font-style: normal;
	font-display: swap;
}
body{
    min-width: 1300px;
    position: relative;
    margin:0 auto;
	text-align: justify;
	text-justify: inter-ideograph;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-family:'NotoSansJP-Regular', 'NotoSansJP-Bold', 'Lato-Bold', sans-serif;
	overflow-x: hidden;
}

a[href^="tel:"] {pointer-events: none!important;}
/* 共通 */
.mb10{margin-bottom: 10px!important;}
.mb20{margin-bottom: 20px!important;}
.mb30{margin-bottom: 30px!important;}
.mb40{margin-bottom: 40px!important;}
.mb50{margin-bottom: 50px!important;}
.mb60{margin-bottom: 60px!important;}
.mb80{margin-bottom: 80px!important;}
.fs14{font-size: 14px!important;}
.fs18,.fs18 > *{font-size: 18px!important;}
.fs20,.fs20 > *{font-size: 20px!important;}
.wb{font-family: 'NotoSansJP-Bold'!important;}
.ls{letter-spacing: 0.08em!important;}
.ls2{letter-spacing: 0.15em!important;}
.lh,.lh > *{line-height: 2!important;}
.center,.center > *,.center_l{text-align: center;}
.cls-1 {fill: currentColor;}
.fcw,.fcw > *,.icw{color: #fff;}
.fcb,.fcb > *,.icb{color: #1768ff;}
.fcg{color: #2c9d5a;}
.fcn{color: #033b7c;}
.sp_on{display: none;}

/* フレックスボックス
----------------------------------------------*/
.flexbox{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* ヘッダー
------------------------------------------------------------*/
header{
	width: 95%;
	margin: 0 auto;
	padding-top: 25px;
	position: relative;
	z-index: 99;
}
header > div{
	display: flex;
	justify-content: space-between;
}
.header_L h1{
	font-size: 12px;
	margin-bottom: 20px;
}
.header_R > ul{
	display: flex;
	justify-content: flex-end;
	margin-bottom: 15px;
}
.header_tel{
	width: 310px;
	margin-right: 20px;
}
.header_mail{width: 245px;}
.header_tel a,.header_mail a{
	width: 100%;
	height: 100%;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px 0;
	transition: 0.3s;
}
.header_tel a{background: linear-gradient(to right,#fce82e,#fce82e);}
.header_mail a{background: linear-gradient(to right,#1768ff,#22a9f4);}
.header_mail a svg{margin-right: 15px;}
.header_mail a:hover{transform: translateY(-10px);}

/* ナビゲーション
------------------------------------------------------------*/
.pc-nav ul{	
	display: flex;
	justify-content: flex-end;
}
.pc-nav li:nth-child(n+7){display: none;}
.pc-nav li:not(:nth-child(n+6)){margin-right: 45px;}
.pc-nav li a{
	font-size: 18px;
	font-family: 'NotoSansJP-Regular';
	transition: 0.3s;
}
.pc-nav li a:hover{color: #1768ff;}

/* ドロワー */
.drawer-hamburger {display: none !important;}
.icon-menu::after{
	display: block;
	padding-top: 10.5px;
	content: 'MENU' !important;
	font-size: 13px !important;
	color: #1768ff;
	font-family: 'NotoSansJP-Bold';
}
.drawer-hamburger{
	width: 2.6rem !important;
	position: fixed;
	top: 15px !important;
	right: 17px !important;
	z-index: 99!important;
	padding: 10px 10px 3px !important;
    background-color: rgba(255,255,255,0.6) !important;
    border-radius: 13px;
}
.drawer-hamburger-icon,.drawer-hamburger-icon:after,.drawer-hamburger-icon:before {background-color: #1768ff !important;height: 2px !important;}
.drawer-open .drawer-hamburger-icon {background-color: transparent !important;}
.drawer-hamburger-icon:after {top: 8px !important;}
.drawer-hamburger-icon:before {top: -8px !important;}
.drawer-open .drawer-hamburger-icon:after, .drawer-open .drawer-hamburger-icon:before {top: 0 !important;}
.drawer-nav {
	width: 300px !important;
	height: 100%!important;
	z-index: 4!important;
}
/*.drawer--right.drawer-open .drawer-hamburger {right: 206px !important;}*/
.drawer-overlay {z-index: 0!important;background: none !important;}
/* この下でデザイン */
.drawer-nav{
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #204177E6!important;
	backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.drawer-nav ul li a{
	font-size: 16px;
	color: #fff;
	width: 200px;
}
.drawer-nav ul li:nth-child(-n+5),.drawer-nav ul li:nth-child(7){margin-bottom: 15px;}
.drawer-nav ul li:nth-child(6){margin-bottom: 30px;}
.drawer-nav .header_tel{margin-right: 0;}
.drawer-nav .header_tel,.drawer-nav .header_mail{
	width: 100%;
	height: 45px;
}

/* コンテンツ
------------------------------------------------------------*/
.content{padding: 150px 0;}
.content-top{padding-top: 150px;}
.inner_box01{max-width: 1200px;}
.inner_box02{max-width: 1400px;}
.inner_box01,.inner_box02{
	width: 92%;
	margin: 0 auto;
}
.bgy{background-color: #f7f6e8;}
.bgg{background: linear-gradient(135deg,#6f9f8f,#1984bf,#1051ca);}
.bgc{background: url("../images/cube_bg.webp") top center / contain repeat-y;}
.bgc_fixed{background: url("../images/cube_bg.webp") center / contain repeat-y fixed;}
.first-view_bg{background: url("../images/main-bg.webp") center / cover;}
#first_view,.bg-line{position: relative;}
#first_view::before,#first_view::after,.bg-line::before,.bg-line::after{
	content: "";
	background: #e0e0e0;
	position: absolute;
	z-index: -2;
}
#first_view::before,.bg-line::before{
	width: 100%;
	height: 1px;
}
#first_view::after,.bg-line::after{
	width: 1px;
	height: 100%;
	top: 0;
}
.bg-line::before{top: 88px;}
.bg-line::after{left: 10%;}

/* btn */
.btn{
	display: block;
	width: 100%;
	position: relative;
	font-family: 'NotoSansJP-Bold';
	letter-spacing: 0.08em;
	padding: 20px 0 20px 30px;
	border-radius: 5px;
	transition: 0.3s;
}
.btn::after{
	content: "";
	width: 10px;
	height: 20px;	
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-mask: url("../images/arrow.svg") no-repeat center;
  	-webkit-mask-size: contain;
 	mask: url("../images/arrow.svg") no-repeat center;
 	mask-size: contain;
}
.btn{font-size: 20px;}
.btn:hover{transform: translateY(-10px);}

/* タイトル */
.title > *,.contact_title > *{line-height: 1;}
.title p,.contact_title p{
	font-family: 'Lato-Bold';
	letter-spacing: 0.08em;
}
.title p{
	font-size: 51px;
	margin-bottom: 15px;
}
.title h2,.contact_title h2{
	font-family: 'NotoSansJP-Bold';
	letter-spacing: 0.15em;
}
.title h2{font-size: 20px;}
.subtitle::after,.subtitle_b::after{
	content: "";
	width: 35px;
	height: 2px;
	background-color: #f4e051;
	display: block;
	margin-top: 15px;
}
.subtitle::after{background-color: #f4e051;}
.subtitle_b::after{background-color: #1768ff;}

/* フッター
------------------------------------------------------------*/
.contact{
	background: url("../images/contact-bg.webp") center / cover no-repeat;
	padding: 110px 0;
	position: relative;
	border-radius: 75px;
}
.contact_title p{
    font-size: 60px;
    margin-bottom: 35px;
}
.contact_title h2{
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 24px;
}
.contact_title h2::before,.contact_title h2::after{
	content: "";
    width: 350px;
    height: 2px;
    background-color: #fff;
}
.contact ul li{
	width: 47%;
	border-radius: 15px;
	box-shadow: 0 0 6px rgba(13,35,73,0.7);
	padding: 45px 40px;
	display: flex;
	position: relative;
	transition: 0.3s;
}
.contact ul li::after{
	content: "";
	width: 30px;
	height: 30px;
	background: url("../images/arrow.svg") center / 7px 14px no-repeat,#f4e051;
	border-radius: 50%;
	position: absolute;
	right: 20px;
	bottom: 20px;
}
.form-btn{background: url("../images/form.webp") right bottom / 381px 90px no-repeat, #fff;}
.tel-btn{background: url("../images/tel.webp") right bottom / 230px 90px no-repeat, #fff;}
.contact ul li a{
	display: flex;
	align-items: center;
}
.contact ul li div{
	position: relative;
	margin-left: 35px;
	padding-left: 30px;
}
.contact ul li div::before{
	content: "";
	width: 1px;
	height: 135px;
	background-color: #e6e6e6;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.form-btn div p:first-child{
	font-size: 30px;
	line-height: 1.2;
}
.form-btn div p span,.tel-btn div p{font-size: 21px;}
.form-btn:hover{transform: scale(1.05);}
.footer{padding: 80px 0 40px;}
.footer_L{width: 242px;}
.footer_L a{display: block;}
.footer_R{width: 330px;}
.footer_R ul{
	display: flex;
	flex-wrap: wrap;
	width: 330px;
}
.footer_R ul li{
	width: fit-content;
	position: relative;
	padding-left: 20px;
}
.footer_R ul li:nth-child(2n+1){width: 180px;}
.footer_R ul li:not(:last-child){margin-bottom: 20px;}
.footer_R ul li::before,.footer_link li:last-child a::after{
	content: "";
	position: absolute;
	-webkit-mask: url(../images/arrow.svg) no-repeat center;
	-webkit-mask-size: contain;
	mask: url(../images/arrow.svg) no-repeat center;
	mask-size: contain;
}
.footer_R ul li::before{
	width: 7px;
	height: 14px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background-color: #f4e051;
}
.footer_link{
	padding-bottom: 60px;
	border-bottom: solid 1px #e6e6e6;
}
.footer_link a{text-decoration: underline;}
.footer_link li:last-child{transition: 0.3s;}
.footer_link li:last-child a{
	padding-right: 30px;
	position: relative;
	transition: 0.3s;
}
.footer_link li:last-child a::after{
	width: 10px;
	height: 20px;
	right: 3px;
	top: 50%;
	transform: translateY(-50%) rotate(-90deg);
	background-color: #f4e051;
}
.footer_R ul li a,.footer_link li a{transition: 0.3s;}
.footer_R ul li:hover a,.footer_link li:hover a{color: #1768ff;}
.footer_link li:last-child:hover{transform: translateY(-5px);}

/* 下層コンテンツ
------------------------------------------------------------*/
#inner_title{
	padding: 90px 0 150px;
	background: url("../images/inner-title_img.webp") bottom right 10% / 588px 409px no-repeat;
}
#inner_title > div{
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}
#pankuzu{
	display: flex;
	align-items: center;
	margin-bottom: 60px;
}
#pankuzu li:not(:last-child){
	display: flex;
	align-items: center;
}
#pankuzu li:not(:last-child)::after{
	content: "";
	width: 15px;
	height: 1px;
	background: #f4e051;
	margin: 0 10px;
}
#inner_title > div > *{
	letter-spacing: 0.1em;
	line-height: 1;
}
#inner_title > div > p{
	font-size: 81px;
	font-family: 'Lato-Bold';
	color: #1768ff;
	margin-bottom: 35px;
}
#inner_title > div > h2{
	font-size: 22px;
	font-family: 'NotoSansJP-Bold';
}
/* list*/
.list > li{
	position: relative;
	padding-left: 20px;
}
.list > li::before{
	content: "";
	width: 8px;
	height: 8px;
	background: #f4de73;
	border-radius: 50%;
	position: absolute;
	top: 0.75rem;
	left: 0;
	transform: translateY(-50%);
}

/* 1025px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1025px){
	body {min-width: 980px!important;}
	a[href^="tel:"]{pointer-events: auto!important;}
	
	/* 共通 */
	.mb10{margin-bottom: 5px!important;}
	.mb20{margin-bottom: 10px!important;}
	.mb30{margin-bottom: 20px!important;}
	.mb40{margin-bottom: 30px!important;}
	.mb50{margin-bottom: 40px!important;}
	.mb60{margin-bottom: 50px!important;}
	.mb80{margin-bottom: 60px!important;}
	.fs14{font-size: 12px;}
	.fs18,.fs18 > *{font-size: 16px!important;}
	.fs20,.fs20 > *{font-size: 18px!important;}
	.lh,.lh > *{line-height: 1.8!important;}
	
	/* ヘッダー
	------------------------------------------------------------*/
	header{padding-top: 15px;}
	.header_L h1{
		width: 350px;
		margin-bottom: 10px;}
	.header_L img{width: 200px;}
	.header_R > ul{margin-bottom: 8px;}
	.header_tel{
		width: 210px;
		margin-right: 10px;
	}
	.header_mail{width: 185px;}
	.header_tel a,.header_mail a{padding: 8px 0;}
	.header_mail a svg{
		margin-right: 7px;
		width: 22px;
	}
	.header_tel img{width: 85%;}
	
	/* ナビゲーション
	------------------------------------------------------------*/
	.pc-nav li:not(:nth-child(n+6)){margin-right: 25px;}
	.pc-nav li a{font-size: 14px;}

	/* コンテンツ
	------------------------------------------------------------*/
	.content{padding: 80px 0;}
	.content-top{padding-top: 80px;}
	.bg-line::before{top: 50px;}
	.bg-line::after{left: 3%;}
	
	/* btn */
	.btn{padding: 15px 0 15px 20px;}
	.btn::after{
		width: 8px;
		height: 16px;	
		right: 15px;
	}
	.btn{font-size: 18px;}

	/* title */
	.title p{
		font-size: 41px;
		margin-bottom: 10px;
	}
	.title h2{font-size: 18px;}
	.subtitle::after,.subtitle_b::after{
		width: 30px;
		margin-top: 10px;
	}
	
	/* フッター
	------------------------------------------------------------*/
	.contact{
		padding: 60px 0;
		border-radius: 30px;
	}
	.contact_title p{
		font-size: 40px;
		margin-bottom: 25px;
	}
	.contact_title h2{font-size: 18px;}
	.contact_title h2::before,.contact_title h2::after{width: 250px;}
	.contact ul li{
		border-radius: 15px;
		padding: 35px 30px;
	}
	.contact ul li::after{
		width: 25px;
		height: 25px;
		background-size: 6px 12px;
		right: 15px;
		bottom: 15px;
	}
	.form-btn{background-size: 250px 60px;}
	.tel-btn{background-size: 156px 60px;}
	.contact ul li div{
		margin-left: 25px;
		padding-left: 25px;
	}
	.contact ul li div::before{height: 95px;}
	.form-btn svg{width: 45px;}
	.form-btn div p:first-child{font-size: 24px;}
	.form-btn div p span,.tel-btn div p{font-size: 18px;}
	.tel-btn svg{width: 37px;}
	.tel-btn div p:first-child{
		width: 250px;
		margin: 0 auto;
	}
	.footer{padding: 60px 0 30px;}
	.footer_L{width: 210px;}
	.footer_R{width: 290px;}
	.footer_R ul li{padding-left: 15px;}
	.footer_R ul li:nth-child(2n+1){width: 160px;}
	.footer_R ul li:not(:last-child){margin-bottom: 10px;}
	.footer_R ul li::before{
		width: 6px;
		height: 12px;
	}
	.footer_link{padding-bottom: 40px;}
	.footer_link li:last-child a{padding-right: 25px;}
	.footer_link li:last-child a::after{
		width: 8px;
		height: 16px;
		right: 5px;
	}
	
	/* 下層コンテンツ
	------------------------------------------------------------*/
	#inner_title{
		padding: 60px 0 90px;
		background-size: 40%;
	}
	#pankuzu{margin-bottom: 40px;}
	#pankuzu li:not(:first-child)::before{
		width: 15px;
		margin: 0 8px;
	}
	#inner_title > div > p{
		font-size: 61px;
		margin-bottom: 25px;
	}
	#inner_title > div > h2{font-size: 18px;}
	/* list*/
	.list > li{padding-left: 15px;}
	.list > li::before{
		width: 6px;
		height: 6px;
	}
}

/* 750px以下から
------------------------------------------------------------*/
@media only screen and (max-width:750px){
	body {min-width: 700px!important;}
	.drawer-hamburger{display: block!important;}
	
	/* 共通 */
	.bgc{background: url("../images/cube_bg_SP.webp") top center / contain repeat-y;}
	.bgc_fixed{background: url("../images/cube_bg_SP.webp") center / contain repeat-y fixed;}
	
	/* ヘッダー
	------------------------------------------------------------*/
	.header_L h1{
		padding-right: 70px;
		width: auto;
	}
	.header_R > ul{display: none;}
	
	/* フッター
	------------------------------------------------------------*/
	.contact_title h2::before, .contact_title h2::after{width: 150px;}
	.contact ul li{
		max-width: 500px;
		width: 100%;
		margin: 0 auto;
		padding: 30px 25px;
	}
	.contact ul li:not(:last-child){margin-bottom: 20px;}
}

/* 500px以下から
------------------------------------------------------------*/
@media only screen and (max-width:500px){
	 body {min-width: inherit!important;width: 100%;}
	
	/* 共通 */
	.sp_on{display: block;}
	.sp_non{display: none;}
	.center_l{text-align: left;}
	
	/* フッター
	------------------------------------------------------------*/
	.contact_title h2::before, .contact_title h2::after{width: 15%;}
	.contact ul li a{
		flex-wrap: wrap;
		margin: 0 auto;
	}
	.contact ul li div{
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.form-btn svg,.tel-btn svg{margin: 0 auto 10px;}
	.contact ul li div > *{text-align: center;}
	.contact ul li div::before{display: none;}
	.footer_L{margin-bottom: 30px;}
	
	/* 下層コンテンツ
	------------------------------------------------------------*/
	#inner_title{padding: 50px 0 70px;}
	#pankuzu{flex-wrap: wrap;}
	#pankuzu li,#pankuzu li a{line-height: 1.8;}
	#inner_title > div > p{font-size: 40px;}
}