@charset "utf-8";
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/NotoSansJP.woff2') format('woff2');
}
@font-face {
  font-family: "Sniglet";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/Sniglet-Regular.woff2') format('woff2');
}
*{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;}
a {color: #004c84;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;}
strong{font-weight:bold;}
/*mark {background: linear-gradient(transparent 70%, #ff8ea4 0%); font-weight: 500;}*/
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”,sans-serif;font-weight: 400; color: #333333;line-height: 1.6;font-size:clamp(14px, calc(18/1280*100vw), 18px); }
.inner-box{width:95%;max-width:1500px;padding:clamp(40px,calc(90/1920*100vw), 90px) 0; margin:auto;}
.inner-box2,.inner-boxb0{width:95%;max-width:1280px;padding:clamp(40px,calc(90/1500*100vw), 90px) 0;margin:auto;}
.inner-boxb0{padding-bottom:0;}
.mb1em{margin-bottom:1em;}
.mb30{margin-bottom:clamp(15px,calc(30/1500*100vw),30px)!important;}
.mb60{margin-bottom:clamp(30px,calc(60/1500*100vw),60px)!important;}
.fs24{font-size:clamp(20px,calc(24/1280*100vw),24px);}
.fs26{font-size:clamp(20px,calc(26/1280*100vw),26px);}
.fs30{font-size:clamp(22px,calc(30/1280*100vw),30px);}
.fcb{color:#004c84 !important;}
.fcp{color:#ff8ea4 !important;}
.bg_g{background:#f6f3f1;}
.bg_p{background:#fee8ee;}
.bg_w{background:#FFFFFF;}
.bg_grid{background:url("../images/bg_grid.webp") repeat;}
.center,.center_l{text-align: center;}
.right{text-align: right;}
.wb{font-weight:500;}
.lh{line-height:2.0;}
.sp_on{display:none;}
.flexbox{
	display: flex;
    flex-wrap: wrap;
	row-gap:max(1.5em,30px);
	margin:auto;
}
.flexbox.c2{column-gap: 3%;row-gap:60px;}
.flexbox.c3{column-gap: 2.75%;row-gap:60px;}
.flexbox.c4{column-gap: 2%;row-gap:60px;}
.c2{justify-content: space-between;}
.c2 > *{width: 48.5%;}
.c3 > *{width: 31.5%;}
.c4 > *{width:23.5%;}
.c2 img ,.c3 img,.c4 img{display:block; align-content: flex-start ;margin:0 auto 20px;}

/*見出し*/
.tih2{font-size:clamp(22px ,calc(34/1500*100vw),34px);color:#004c84;text-align: center;margin-bottom:clamp(30px,calc(60/1500*100vw),60px);letter-spacing: 0.1em;}
.tih2::before{color:#ff8ea4;font-size:clamp(16px ,calc(26/1500*100vw),26px);display: block;  font-family: "Sniglet", system-ui;font-weight: 400;}
h2,h3,h4{font-weight:500;}
/*箇条書き*/
ul.list li {position: relative; padding-left: 15px;}
ul.list li:not(:last-child){margin-bottom:0.5rem;}
ul.list li::before {
    content: "";
    background:#ff8ea4; 
    position: absolute;
    border-radius: 50%;
    left: 0; 
    top: 12px;
    width: 6px;
    height: 6px;
}
/*リンクボタン*/
.linkbtn{position:relative;background:#ff8ea4;color:#FFF !important;padding:10px 35px;border-radius: 30px;font-size:16px;width:280px; text-align: center;}
.linkbtn::after{position:absolute;right:16px; top:50%; transform: translateY(-50%);content:url("../images/arrow2.webp");}
/* ヘッダー
------------------------------------------------------------*/
header{position:relative;display:flex;justify-content: space-between; align-items: center;max-width:1500px;padding:20px 0;margin:auto;}
h1{font-size:14px;position: absolute;right:0;top:0;}
a.entrybtn{display:flex;align-items: center;background:#ff8ea4;color:#FFF !important;padding:10px 35px;border-radius: 30px;font-size:16px;}
a.entrybtn::before{content:"";background:url("../images/mail.webp") center/contain;display:inline-block;margin-right:10px;width:20px;height:15px}
/*サイドお問い合わせ固定追従*/
a.sidecnt{display:none;}
/*a.sidecnt{position:fixed;top:350px;right:0;width:46px;background:#004c84;color:#FFF !important;writing-mode: vertical-rl;padding:15px 10px !important;font-size:16px;z-index:9999;}
a.sidecnt::before{content:"";background:url("../images/mail.webp") center/contain;display:inline-block;margin-bottom:10px;width:21px;height:16px}*/
/* ナビゲーション
------------------------------------------------------------*/
/* 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:60px;
	width:100%;
	border:1px solid #004c84;
	animation: slideDownFade 0.4s ease-out;
    z-index: 9999;
}
.pcnav #nav.fixed li:nth-last-child(2){display:inline-block!important; color:#FFF !important;}

@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{font-size:clamp(16px,calc(18/1500*100vw),18px);margin:0 auto;text-align: center;}
.pcnav .drawer-nav > li{display: inline-block;}

.pcnav .drawer-nav a{
	display:block;
	color:#333;
	padding:10px 1.3vw;
}
.pcnav .drawer-nav >li a:hover{	color: #ff8ea4;}

/* ドロワー */
@media screen and (max-width: 1025px) {
	.hamburger-input {display: none;}
	.hamburger-mark {
		background-color: #ff8ea4; /* カスタム */
		display: block;
		height: 1px; /* カスタム */
		transition: 0.3s; /* カスタム */
		width: 30px; /* カスタム */
	}
	.drawer .drawer-nav {
		position: fixed;
		top:0;
  		right:0;  
		transform: translateX(108%); /* 縦Y・横Xカスタム */
    	transition: transform .4s;
		height: 100%;
        width:320px;
		padding:70px 0px 0;
        background:rgba(246, 243, 241,1.0); /* カスタム */
    }
	#hamburger:checked ~ ul.drawer-nav {
        transform: translateX(0%); /* 縦Y・横Xカスタム */
		z-index: 9998;
	}
	.hamburger-button {
		position: fixed;
		top:5px;
		right:5px;
		align-items: center;
		background-color: #f6f3f1; /* カスタム */
		border: 1px solid #ff8ea4; /* カスタム */
		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: 9998;
	}
	.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 .drawer-nav a{display:block;padding:10px; border-bottom: 1px dotted #192350;text-align: center;}
    .drawer .drawer-nav li:last-child a{margin: 30px auto 0; border-bottom: none; width:85%;}
    /*お問い合わせ*/
    a.cnt{display:flex;align-items: flex-end;justify-content: center;background:#004c84;color:#FFF !important;padding:10px 35px;border-radius: 30px;font-size:16px;}
    a.cnt::before{content:"";background:url("../images/mail.webp") center/contain;display:inline-block;margin-right:10px;width:21px;height:16px;}

}
/* フッター
------------------------------------------------------------*/
.cta{position:relative;height:360px; width:100%;}
.cta > div{position:absolute;right:5%;bottom:30px;}
.cta > div p{font-size:clamp(16px,calc(20/1920*100vw),20px) !important;text-align: center;margin-bottom: clamp(10px,calc(30/1280*100vw),30px);font-weight: 500;
    text-shadow: 1px 1px 2px #FFF;}
.cta > div p.mark {font-size:clamp(18px,calc(26/1920*100vw),26px) !important; }
a.contact{display:flex; align-items: center;justify-content: center;gap:10px;background:#ff8ea4;color:#FFF !important;padding:10px 35px;border-radius: 30px;font-size:16px;width:100%;text-align: center;position:relative;}
a.contact::before{position:absolute;content:"";background:url("../images/mail.webp") ;display:block;width:24px;height:18px;left:20px;}

.address{padding:30px; align-items:center; gap:clamp(20px,calc(50/1920*100vw),50px); justify-content: center;}
.address a{color:#333;}
.gmap{background:#fafafa;border:1px solid #c7b299;padding:3px 20px;border-radius: 30px;}
.gmap::after{content:url("../images/arrow.webp");margin-left:10px;}
footer .copy{text-align:center;background:#004da1;padding:15px 0;color:#FFF;}
#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.8;}
#pagetop.visible {
  opacity: 1;
  pointer-events: auto;
}
/* 1025px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1025px){
    header{padding: 24px 1% 10px;}
	/* 共通 
	--------------------------------------*/
	.center_l{text-align: inherit;}
	a[href^="tel:"] {pointer-events: auto;}
	/* ヘッダー
	--------------------------------------*/
	h1{left:1%;}
    .ctawrap{position:fixed;bottom:0;left:0;z-index: 999;display:flex;width:100%;padding-bottom: env(safe-area-inset-bottom);}
    .ctawrap a{width:100%;font-size:14px;display: flex;align-items: center;justify-content: center; padding:10px 0px !important;border-radius: 0;}
    .ctawrap a span{font-size:12px;}
    a.sidecnt{position:fixed;left:50%;transform: translateX(-50%);background:#ff8ea4;color:#FFF !important;font-size:16px;z-index:9999;}
    a.sidecnt::before{content:"";background:url("../images/mail.webp") center/contain;display:inline-block;margin:0 5px 0 0;width:16px;height:12px}
    /* フッター
	--------------------------------------*/
    .ctabtn a{width:280px !important;text-align: center;}
    footer .copy{padding:10px 0;font-size: 14px;}
    .address li{text-align: center;}
    .gmap{margin:10px 0;display: inline-block;}
	#pagetop {bottom:45px;right:5px;}
	#pagetop img{width:38px;height: auto;}
    footer {
      padding-bottom: var(--bottom-btn-height);
    }
    :root {
      --bottom-btn-height: 42px;
    }
    .ctawrap {
        height: var(--bottom-btn-height);
        padding-bottom: env(safe-area-inset-bottom);
    }
}
/* 768px以下から
------------------------------------------------------------*/
@media only screen and (max-width:768px){
	.c2 > *{width: 100%;}
	.c3 > *{width: 48.5%;}
	.c4 > *{width:31.5%;}
    .flexbox.c2{row-gap:40px; }
	.flexbox.c3{column-gap: 3%; row-gap:40px; }
	.flexbox.c4{column-gap: 2.75%;row-gap:40px; }
    /*フッター*/ 
    .cta{position:relative;height:340px; width:100%;}
    .cta > div{position:absolute;bottom:30px;left:50%;right:inherit;transform: translateX(-50%);width:95%;}
    .ctabtn{display:flex;gap:1%;flex-wrap: nowrap;justify-content: center;align-items: center;}
    .ctabtn a{width:47%;font-size:14px;display: flex;align-items: center;justify-content: center; padding:10px 0px !important;}
}
/* 450px以下から
------------------------------------------------------------*/
@media only screen and (max-width:450px){
	/* 共通 */
    .inner-box,.inner-box2,.inner-boxb0{width:90%;}
	h1{font-size:12px; margin-right:65px;white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
    .sp_on{display: block !important;}
	.sp_non{display: none !important;}
	.c3 > *{width: 100%;}
	.c4 > *{width:48.5%;}
    .flexbox.c3{column-gap: 3%; row-gap:20px; }
	.flexbox.c4{column-gap: 3%;row-gap:20px;}
	.c2,.c3,.c4{row-gap: 15px;}
	/* ヘッダー*/
    .logo{width:210px;}
	/* フッター*/
    .address{padding:15px;} 
    .address img{display:none;}
    .cta{height:200px;margin-bottom: 50px;} 
    .cta > div{bottom:-35px;}
    .cta > div p {margin-bottom:5px;
        text-shadow:
        1px 1px 1px rgba(255,255,255),
        -1px 1px 1px rgba(255,255,255),
        1px -1px 1px rgba(255,255,255),
        -1px -1px 1px rgba(255,255,255);}
    .ctabtn a{padding:5px 0px !important;font-size:13px;}
}
