@charset "utf-8";
*{margin:0;padding:0;box-sizing:border-box;-webkit-appearance: none;-webkit-text-size-adjust: 100%;}
*:before, *:after {box-sizing: border-box;}
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, p, blockquote, pre,em, img, strong,b,dl, dt, dd, ol, ul, li,fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td,canvas, details,figure,footer, header, hgroup, menu, nav, section, summary,mark, audio, video {margin:0;padding:0;border:0;outline:0;vertical-align: baseline;background: transparent;font-weight: normal;font-style: normal;}
img{max-width: 100%;height:auto !important;vertical-align: middle;}
ul {list-style: none;}
ol {padding-left: 20px;}
a {color: #005eae;vertical-align:baseline;background:transparent;text-decoration: none;}
a:hover{transition-property: all;transition: 0.2s linear;opacity: 0.8;}
a[href^="tel:"] {pointer-events: none;}
a.link{text-decoration:underline;}
mark {background: linear-gradient(transparent 70%, #B1DDF1 0%);}
hr {display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0;}
input, select {vertical-align:middle;}

/* 共通 */
body {margin:0 auto;font-feature-settings: "palt";font-family:"Noto Sans JP",'Hiragino Sans','Hiragino Kaku Gothic ProN',sans-serif;font-weight: 400; color: #333333;line-height: 1.6;font-size:clamp(1rem, 0.932rem + 0.24vw, 1.125rem); overflow-x:hidden;}
.inner-box{width:95%;max-width:1280px;padding:clamp(2.5rem, 0.467rem + 7.23vw, 6.25rem) 0; margin:auto;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb50{margin-bottom: clamp(1.875rem, 1.197rem + 2.41vw, 3.125rem)!important;}/*50-30*/
.mb80{margin-bottom: clamp(2.5rem, 1.145rem + 4.82vw, 5rem)!important;}/*80-40*/
.mb100{margin-bottom: clamp(3.125rem, 1.431rem + 6.02vw, 6.25rem) !important;}/*100-50*/
.fs22{font-size:clamp(1.125rem, 0.989rem + 0.48vw, 1.375rem);}/*22-18*/
.fs30{font-size:clamp(1.25rem, 0.911rem + 1.2vw, 1.875rem);}/*30-20*/
.fcb{color:#005eae;}
.center,.center_l{text-align: center;}
.right{text-align: right;}
.bold{font-weight:700;}
.sp_on{display:none;}
.flexbox{
	display: flex;
    flex-wrap: wrap;
	margin:auto;
}
.flexbox.c2{column-gap: 3%;row-gap:60px;}
.flexbox.c3{column-gap: 2.75%;row-gap:60px;}
.flexbox.c4{column-gap: 1.5%;row-gap:40px;}
.c2{justify-content: space-between;}
.c2 > *{width: 48.5%;}
.c3 > *{width: 31.5%;}
.c4 > *{width:23.5%;}

/*見出し*/
.tih2{position:relative;font-size:clamp(1.25rem, 1.047rem + 0.72vw, 1.625rem);}
.tih2::before{font-family: "Montserrat", sans-serif;color:#005eae;line-height: 1.0; }

/*箇条書き*/
ul.list li {position: relative; padding-left: 15px;}
ul.list li:not(:last-child){margin-bottom:0.3rem;}
ul.list li::before {
  content: "";
  background-image: url("../images/li-circle.webp"); 
  background-size: 6px 6px; 
  background-repeat: no-repeat;
  position: absolute;
  left: 0; 
  top: 12px;
  width: 6px;
  height: 6px;
}
/* ヘッダー
------------------------------------------------------------*/
header{display:flex;max-width:1280px;padding:clamp(0.938rem, -2.831rem + 5.88vw, 1.875rem) 0; margin:auto;align-items: center;justify-content: space-between;}
h1 img{width:clamp(6.25rem, -6.814rem + 20.39vw, 9.5rem); height: auto;}

/* ナビゲーション
------------------------------------------------------------*/
/* pcnav */
/*固定追従時CSS*/
.pcnav #nav.fixed{
	position:fixed;
	top:0;
	left:0;
	inset:0;
	margin: 0 auto;
	justify-content: center;
	background:rgba(255,255,255,1.0);
	height:80px;
	width:100%;
	border:1px solid #192350;
	animation: slideDownFade 0.4s ease-out;
    z-index: 9999;
}
@keyframes slideDownFade {
  from {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*----固定追従用ここまで*/
.hamburger-button,.hamburger-input,.hamburger-button {display: none;}
.pcnav .drawer-nav{display: flex; gap:0 clamp(2rem, -6.039rem + 12.55vw, 4rem);width:100%;align-items: center; justify-content: space-between; }
.pcnav .drawer-nav a{color:#000;font-size:clamp(1.125rem, 0.989rem + 0.48vw, 1.375rem);}
.pcnav .drawer-nav li:nth-last-child(2) a{background:#005eae;padding:15px clamp(1rem, -0.152rem + 4.1vw, 3.125rem);border-radius: 10px;color:#FFF !important;}
.pcnav .drawer-nav li:nth-last-child(2) a:hover{color: #005eae;opacity: 0.8;}
.pcnav .drawer-nav li:last-child{display: none;}
/* ドロワー */
@media screen and (max-width: 1025px) {
	.hamburger-input {display: none;}
	.hamburger-mark {
		background-color: #2350b5; /* カスタム */
		display: block;
		height: 1px; /* カスタム */
		transition: 0.3s; /* カスタム */
		width: 30px; /* カスタム */
	}
	.drawer .drawer-nav {
		position: fixed;
		top:0;
		transform: translateY(-100%); /* 縦Y・横Xカスタム */
	}
	#hamburger:checked ~ ul.drawer-nav {
		position:fixed;
		top:0;
		bottom:inherit;
		width:100%!important;
		inset:0;
		height: 100%;
		margin:auto;
		padding:50px 0px 0;
		background:rgba(255, 255, 255,1.0); /* カスタム */
		transform: translateY(0%); /* 縦Y・横Xカスタム */
		transition: 0.5s;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		z-index: 9998;
	}
	.hamburger-button {
		position: fixed;
		top:5px;
		right:5px;
		align-items: center;
		background-color: #f6f2ee; /* カスタム */
		border: 1px solid #005eae; /* カスタム */
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 7px; /* カスタム */
		height:clamp(3.75rem, 3.261rem + 1.74vw, 4.375rem); /* カスタム */
		width: clamp(3.75rem, 3.261rem + 1.74vw, 4.375rem); /* カスタム */
		border-radius: 5px;
        z-index: 9999;
	}
	.hamburger-button span:last-child {position:absolute;bottom:0; left:50%; transform: translateX(-50%);font-size:11px; color:#192350;}
	#hamburger:checked ~ .hamburger-button{position: fixed;top:5px;right:5px;z-index: 9999;}
	#hamburger:checked	~ .hamburger-button	.hamburger-mark:nth-of-type(1) {transform:translate(4px, -3px) rotate(45deg); transform-origin: 0%;}
	#hamburger:checked ~ .hamburger-button .hamburger-mark:nth-of-type(2) {opacity: 0;}
	#hamburger:checked ~ .hamburger-button .hamburger-mark:nth-of-type(3) {transform:translate(4px, 3px) rotate(-45deg); transform-origin: 0%;}
	#hamburger:checked ~ .hamburger-button span:last-child{display:none;}
    .drawer-nav li{width:90%;margin:auto;}
	.drawer-nav li:not(:nth-last-child(-n+2)) a{display:block;font-weight: normal;font-size:16px;border-bottom: 1px dotted #192350; padding:10px 0; color:#000;}
    .drawer-nav li:nth-last-child(-n+2) a{display:block;width:300px;background:#005eae; margin:15px auto;padding:15px; border-radius: 10px;text-align: center;color:#FFF;font-size:22px;}

}
/* フッター
------------------------------------------------------------*/
footer{background:#005eae;color:#FFF;}
footer .inner-box{width:95%;max-width:1280px;padding:30px 0; margin:auto;}
footer .flexbox{justify-content: space-between;}
footer h2{font-size: clamp(1.125rem, 1.057rem + 0.24vw, 1.25rem);}
.fbtn{display: inline-block;background: #FFF; padding:20px 50px;border-radius: 10px;color:#005eae;margin-left:clamp(1.25rem, -0.105rem + 4.82vw, 3.75rem);}
.copy{text-align: right;}
.flogo{position: relative;padding-left: 100px;}
.flogo::before{
    position: absolute;
    left:0;
    content:"";
    background:url("../images/flogo.webp") no-repeat left center /cover;
    width:81px;
    height: 95px;
}
#pagetop {
	position:fixed;
	bottom:20px;
	right:20px;
	opacity: 0;
	transition: 0.8s ease;
	pointer-events: none;
	z-index: 99!important;
}
#pagetop a:hover {opacity: 0.5;}
#pagetop.visible {
  opacity: 1;
  pointer-events: auto;
}

/* 1025px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1025px){
	/* 共通 
	--------------------------------------*/
	.center_l{text-align: inherit;}
	a[href^="tel:"] {pointer-events: auto;}
	.sp_on{display: block !important;}
	.sp_non{display: none !important;}
	/* ヘッダー
	--------------------------------------*/
    header{justify-content: center;}

    /* フッター
	--------------------------------------*/
    footer .flexbox{flex-direction: column;align-items: center;}
	#pagetop {bottom:20px;right:5px;}
	#pagetop img{width:38px;height: auto;}
    .copy{text-align: center;}
}
/* 768px以下から
------------------------------------------------------------*/
@media only screen and (max-width:768px){
	.c2 > *{width: 100%;}
	.c3 > *{width: 48.5%;}
	.c4 > *{width:31.5%;}
    .flexbox.c2{row-gap:30px; }
	.flexbox.c3{column-gap: 3%; row-gap:30px; }
	.flexbox.c4{column-gap: 2.75%;row-gap:30px; }
}
/* 450px以下から
------------------------------------------------------------*/
@media only screen and (max-width:450px){
    h2,h3,h4{font-weight: 700;}
	/* 共通 */
	.sp_on{display: inherit;}
	.sp_non{display: none;}
	.c3 > *{width: 100%;}
	.c4 > *{width:48.5%;}
	.flexbox.c4{column-gap: 3%;}
	.c2,.c3,.c4{row-gap: 15px;}
	/* フッター*/
    footer .flexbox a{display: block;margin:20px;text-align: center;}
}
