@charset "UTF-8";

*{
	line-height:1.8;
}
html{
	scroll-behavior: smooth;
	scroll-padding-top: 76px;
}
body{
	letter-spacing:.02em;
	min-width:320px;
	color:#333;
	font-family:"Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
body.fixed{
	width:100%;
	height:100%;
	position:fixed;
}
a{
	color:#175ab0;
	transition:opacity .1s;
}
@media (hover:hover) and (pointer:fine){
	a:hover{
		text-decoration:none;
		opacity:.6;
	}
}
ul,ol{
	list-style:none;
}
.btn_wrap{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin-top: 40px;
}
.btn{
	display:inline-block;
	margin:16px 4px 0;
	min-width:160px;
	min-height: 48px;
	border-radius:3px;
	text-decoration:none;
	transition:opacity .1s;
}
.btn-basic{
	color: #fff;
	font-weight: bold;
	background: #5384c6;
}
@media (hover:hover) and (pointer:fine){
	.btn:hover{
		opacity:.6;
	}
}

/* header------------------------------------------------- */
header{
	position:fixed;
	top:0;
	right:0;
	left:0;
	z-index:10;
	background:#ecf9fe;
	box-shadow:0px 2px 7px -3px rgba(0,0,0,.25);
	padding:0 16px;
}
.h_top{
	display: none;
}
.header_inner{
	display:flex;
	align-items:center;
	max-width:960px;
	height:60px;
	margin:0 auto;
	padding: 4px 0;
}
.header_logo img{
	max-height: 40px;
}
.gnav_btn{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:8px;
	right:20px;
	width:42px;
	height:42px;
	text-indent:200%;
	white-space:nowrap;
	overflow:hidden;
}
.gnav_btn:focus + .gnav_btn{
	border:1px dotted #fff;
}
.gnav_btn_inner{
	display:block;
	position:relative;
	width:42px;
	height:3px;
	background:#175ab0;
}
.gnav_btn_inner:before,
.gnav_btn_inner:after{
	content:"";
	position:absolute;
	left:0;
	width:inherit;
	height:inherit;
	background:#175ab0;
	transition:transform .2s;
}
.gnav_btn_inner:before{
	top:-12px;
}
.gnav_btn_inner:after{
	top:12px;
}
#gnav_btn:checked + .gnav_btn .gnav_btn_inner{
	background:transparent;
	z-index:100;
}
#gnav_btn:checked + .gnav_btn .gnav_btn_inner:before,
#gnav_btn:checked + .gnav_btn .gnav_btn_inner:after{
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	background:#175ab0;
}
#gnav_btn:checked + .gnav_btn .gnav_btn_inner:before{
	transform:rotate(45deg);
}
#gnav_btn:checked + .gnav_btn .gnav_btn_inner:after{
	transform:rotate(135deg);
}
.gnav_wrap{
	display:none;
	position:fixed;
	top:60px;
	right:0;
	bottom:0;
	left:0;
	z-index:1000;
	padding:30px 16px 0;
	background:#ecf9fe;
}
#gnav_btn.is-active + .gnav_btn + .gnav_wrap{
	display:block;
}
.gnav{
	display: flex;
	flex-direction: column;
	gap: 20px;
	height: 100%;
}
.gnav_link{
	display:block;
	color:#175ab0;
	font-size:16px;
	text-decoration:none;
	font-weight: bold;
}
.gnav_item_tel {
	margin: auto -16px 0;
}
.headIcon-tel{
	display: block;
	padding: 10px;
	background: #5384c6;
	text-align: center;
	color:#fff !important;
	font-size:20px;
	line-height:1.2;
	text-decoration:none;
}
.headIcon-tel::before{
	content:"";
	display:inline-block;
	margin-right:8px;
	width:20px;
	height:20px;
	background-image:url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 40 40'%3E%3Cg transform='translate(0 0)'%3E%3Crect width='40' height='40' fill='%23fcfcfc' opacity='0'/%3E%3Cg transform='translate(0.026 0)'%3E%3Cpath d='M42.493,32.355v6.02a4.016,4.016,0,0,1-4.379,4.015,39.787,39.787,0,0,1-17.336-6.162A39.164,39.164,0,0,1,8.726,24.185,39.691,39.691,0,0,1,2.56,6.785a4.017,4.017,0,0,1,4-4.377h6.027A4.021,4.021,0,0,1,16.6,5.861a25.7,25.7,0,0,0,1.406,5.64,4.016,4.016,0,0,1-.9,4.235l-2.552,2.548A32.129,32.129,0,0,0,26.6,30.327l2.55-2.548a4.02,4.02,0,0,1,4.239-.9,25.749,25.749,0,0,0,5.645,1.405A4.015,4.015,0,0,1,42.493,32.355Z' transform='translate(-2.543 -2.408)' fill='%23fff'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	vertical-align: middle;
}
.gnav .acc_content > li{
	display: flex;
	align-items: center;
	gap: 4px;
}
.gnav .acc_content > li::before{
	content: "";
	display: inline-block;
	width: 6px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #5384c6;
}
.gnav .acc_content a{
	text-decoration: none;
}

/* main------------------------------------------------- */
main{
	background: #efffff;
}

.sec{
	padding:0px 16px 60px;
}
.sec:nth-child(odd){
	background:#e2f1fa;
}
.subsec + .subsec{
	margin-top: 80px;
}
.sec_inner{
	max-width:960px;
	margin:0 auto;
}
.sec_ttl{
	position:relative;
	padding:20px;
	font-size:30px;
	font-weight:normal;
}
.sec_ttl.center{
	text-align:center;
	margin-bottom: 40px;
}
.sec_ttl::after{
	position:absolute;
	content:" ";
	bottom:0;
	left:0;
	width:2em;
	height:3px;
	background:#a5bad6;
}
.sec_ttl.center::after{
	left:50%;
	transform:translateX(-50%);
}
.sec_body{
	margin-top:40px;
}
.ttl_m{
	font-size:20px;
	margin-bottom:10px;
}
/*media*/
.media{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 30px;
}
/*pagelink*/
.pagelink{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.sec .pagelink{
	justify-content: center;
}
.pagelink + .subsec{
	margin-top: 40px;
}
.pagelink a{
	display: flex;
	align-items: center;
	padding: 10px 20px 10px 10px;
	color: #fff;
	background: #5384c6;
	border-radius: 5px;
	text-decoration: none;
}
.pagelink a::after{
	content: "";
	display: inline-block;
	position: relative;
	inset: -2px auto auto 6px;
	margin-left: auto;
	width: 10px;
	aspect-ratio: 1;
	border-right: 2px solid;
	border-bottom: 2px solid;
	transform: rotate(45deg);
	flex: none;
}
/*dl_table*/
.dl_table_wrap dl:not(:first-child) dt{
	padding-top: 20px;
}
form .dl_table_wrap dl:not(:first-child) dt{
	padding-top: 30px;
}
.dl_table_wrap dt{
	font-weight: bold;
	color: #777;
}
/*gmap*/
.gmap iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
}
/*notes*/
.notes{
	margin-top: 20px;
}
.notes li{
	display: flex;
}
.notes li::before{
	content: "※";
}
/*list_word*/
.list_word li{
	display: inline-block;
}
.list_word li:not(:last-child)::after{
	content: "/";
	padding: 0 .5em;
}
/*card*/
.card_border{
	padding: 16px;
	border: 1px solid #b5c0c5;
	background: #fff;
}
/*acc*/
.faq{
	display: grid;
	gap: 10px;
}
.acc label{
	position: relative;
	display: block;
	padding: 8px 45px;
	background: #fff;
}
.acc label::before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto 14px auto 0;
	width: 20px;
	height: 4px;
	background: #5384c6;
}
.acc label::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	margin: auto 14px auto 0;
	width: 4px;
	height: 20px;
	background: #5384c6;
	transition: .1s ease-out;
}
.acc [type="checkbox"]:checked + label::after{
	opacity: 0;
}
label + .acc_content{
	line-height: 0;
	opacity: 0;
	transition: padding .2s ease-out, line-height .2s ease-out, opacity .2s linear, visibility .1s ease-out;
	visibility: hidden;
}
.acc [type="checkbox"]:checked + label + .acc_content{
	font-size: 16px;
	line-height: 1.78;
	padding: 20px 0;
	opacity: 1;
	visibility: visible;
	transition: padding .2s ease-out, line-height .2s ease-out, opacity .2s linear;
}
label + .acc_content *{
	display: none;
}
.acc [type="checkbox"]:checked + label + .acc_content *:not(a){
	display: block;
}
a.arrow{
	display: inline-block;
}
.faq_m{
	margin:0 20px;
}
.acc [type="checkbox"] {
	display:none;
}
.icon_faq::before{
	content: "Q";
	position: absolute;
	top: 8px;
	left: 8px;
	width: 28px;
	height: 28px;
	background: #5384c6;
	font-weight: bold;
	color: #fff;
	text-align: center;
	border-radius: 50%;
}

.ttl_l{
	display:flex;
	margin-bottom:8px;
	font-size:28px;
}
.ttl_colmun{
	padding-top:20px;
}

/* form------------------------------------------------- */
:where(:not(:active)):focus-visible,
:focus {
	outline-offset: 0;
	outline-color: #5384c6;
}
::placeholder{
	color: #999;
}
input,
textarea{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="text"],
input[type="email"],
textarea{
	min-height: 48px;
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 8px;
}
input[type="radio"],
input[type="checkbox"]{
	display: none;
}
textarea{
	width: 100%;
	height: 200px;
}
.control_xs{
	width: 100%;
	max-width: 60px;
}
.control_s{
	width: 100%;
	max-width: 120px;
}
.control_m{
	width: 100%;
	max-width: 400px;
}
.control_l{
	width: 100%;
}
.control_space{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.required::after{
	content: "必須";
	display: inline-block;
	padding: 2px 8px;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	background: #5384c6;
	border-radius: 5px;
	margin: 0 0 6px 8px;
}
.label_form{
	display: inline-block;
	cursor: pointer;
}
.label_form span{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	position: relative;
	background: #fff;
	border: 1px solid #b4cced;
	border-radius: 5px;
	padding: 10px;
	transition: background .2s;
}
.label_form span::before,
.label_form span::after{
	content: "";
	display: inline-block;
	aspect-ratio: 1;
	border-radius: 50%;
}
.label_form span::before{
	width: 16px;
	border: 1px solid #777;
	background: #fff;
}
.label_form span::after{
	position: absolute;
	inset: 0 auto 0 13px;
	margin: auto 0;
	width: 10px;
	background: #5384c6;
	transform: scale(0);
	transition: transform .2s;
}
.label_form input:checked + span{
	background: #dae7f9;
	border-color: #5384c6;
}
.label_form input:checked + span::after{
	transform: scale(1);
}

/* footer------------------------------------------------- */
footer{
	background: #ecf9fe;
	border-top: 6px double #a5bad6;
}
.footer_inner{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap: 20px;
	max-width:960px;
	margin:0 auto;
	padding:40px 16px;
	border-bottom:1px solid #b5c0c5;
}
.footer_inner > .col{
	width: 100%;
}
.footer_logo{
	display: inline-block;
	text-decoration:none;
}
.footer_nav_inner{
	padding:10px 16px;
}
.footer_nav {
	width: 100%;
}
.footer_nav_item:not(.is-current) .gnav_link {
	color:#333;
}
.copyright{
	margin:0;
	padding:6px 16px;
	text-align:center;
	font-size:12px;
}
#btn-top{
	position:fixed;
	width:50px;
	height:50px;
	right:20px;
	bottom:20px;
	background:#5384c6;
	border: 1px solid #ecf9fe;
	border-radius:50%;
	opacity:1;
	z-index:1;
}
#btn-top a{
	position:relative;
	display:block;
	width:50px;
	height:50px;
	text-decoration:none;
}
#btn-top a::before{
	content:'TOP';
	color:#fff;
	position:absolute;
	margin:auto;
	width:100%;
	height:100%;
	inset: 17px 0 auto auto;
	text-align:center;
}
#btn-top a::after{
	content:'';
	color:#fff;
	position:absolute;
	width:10px;
	height:10px;
	inset: 13px 0 auto;
	margin:0 auto;
	transform:rotate(45deg);
	border-left:#fff 2px solid;
	border-top:#fff 2px solid;
}

/* jQuery------------------------------------------------- */
.js-fixed{
	position:fixed;
}

.remodal{
	max-width:776px;
	padding:48px 24px 24px;
}
.remodal-close{
	right:0;
	left:auto;
	width:48px;
	height:48px;
	transition:opacity .1s;
}
.remodal-close:before,
.remodal-close:after{
	content:"";
	display:block;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:2px;
	height:24px;
	margin:auto;
	background:#333;
}
.remodal-close:before{
	transform:rotate(45deg);
}
.remodal-close:after{
	transform:rotate(-45deg);
}
@media (hover:hover) and (pointer:fine){
	.remodal-close:hover{
		opacity:.6;
	}
}
.remodal-cancel{
	position:relative;
	min-width:160px;
	margin-top:24px;
	padding:10px 8px 10px 0;
	background:#175ab0;
	border-radius:3px;
	transition:opacity .1s;
}
.remodal-cancel:hover,
.remodal-cancel:focus{
	background:#175ab0;
	opacity:.6;
}
.remodal-cancel:before,
.remodal-cancel:after{
	content:"";
	display:block;
	position:absolute;
	top:0;
	right:22px;
	bottom:0;
	width:2px;
	height:16px;
	margin:auto;
	background:#fff;
}
.remodal-cancel:before{
	transform:rotate(45deg);
}
.remodal-cancel:after{
	transform:rotate(-45deg);
}

/* page------------------------------------------------- */
.page_ttl_wrap {
	background:#dae7f9;
	border-bottom:4px solid #175ab0;
	border-image:linear-gradient(to right, #5a8fd5 0%, #175ab0 60%, #0c3c7a 100%);
	border-image-slice:1;
	border-top:0px;border-left:0px;border-right:0px;
}
.page_ttl_inner {
	max-width:960px;
	margin:0 auto;
	padding:80px 16px 40px;
}
.breadcrumbs {
	display:flex;
	font-size:.8em;
}
.breadcrumbs_item + .breadcrumbs_item {
	position:relative;
	padding-left:2em;
}
.breadcrumbs_item + .breadcrumbs_item::before {
	position:absolute;
	content:" ";
	top:calc(50% - 2px);
	left:5px;
	width:8px;
	height:8px;
	border-top:1px solid #999;
	border-right:1px solid #999;
	transform:rotate(45deg) translateY(-50%);
}
.page_ttl {
	margin:20px 0 8px;
	font-size:7vw;
}
.page_txt_list .page_txt_list_item {
	position:relative;
	padding-left:24px;
}
.page_txt_list .page_txt_list_item + .page_txt_list_item {
	margin-top:10px;
}
.page_txt_list .page_txt_list_item::after {
	position:absolute;
	content:" ";
	top:calc(.5em - 7px + .4em );
	left:0;
	width:14px;
	height:14px;
	background: #5e8ac6;
	border-radius: 50%;
}
.subcon{
	margin:0px auto;
	font-size:1.2em;
	font-weight:bold;
}

/* utility------------------------------------------------- */
.u-w100p{
	width:100%;
}
.u-mt4{
	margin-top:4px;
}
.u-mt8{
	margin-top:8px;
}
.u-mt16{
	margin-top:16px;
}
.u-mt24{
	margin-top:24px;
}
.u-mt40{
	margin-top:40px;
}
.u-ta-c{
	text-align:center;
}
.u-ta-r{
	text-align:right;
}
.u-col-primary{
	color: #5384c6;
}
.u-fc-gray{
	color:#999;
}
.u-fc-red{
	color:#dd0721;
}
.u-fw-b{
	font-weight:bold;
}
br.is-pc {
	display:none;
}
/*=====================================================================
   768 start
======================================================================*/
@media screen and (min-width:768px){
a[href^="tel:"]{
	pointer-events:none;
	color:inherit;
	text-decoration:none;
}

/* header------------------------------------------------- */
.header_logo img{
	max-height: 100%;
}

/* main------------------------------------------------- */
/*pagelink*/
.pagelink{
	flex-direction: row;
}
/*dl_table*/
.dl_table_wrap{
	display: table;
}
.dl_table_wrap dl{
	display: table-row;
}
.dl_table_wrap :is(dt, dd){
	display: table-cell;
}
form .dl_table_wrap dl:not(:first-child) :is(dt, dd){
	padding-top: 30px;
}
.dl_table_wrap dt{
	padding-right: 20px;
	white-space: nowrap;
}

/* footer------------------------------------------------- */
.footer_inner{
	flex-direction:row;
	align-items:flex-end;
	justify-content:space-between;
}
footer .col{
	margin:0 !important;
}

.footer_nav {
	display: flex;
	justify-content: center;
}
.footer_nav_inner {
	justify-content: center;
}
.footer_nav_item {
	width:auto;
}
.footer_nav_item .gnav_link {
	margin-right:24px;
	padding:0;
}
/* page------------------------------------------------- */
.page_ttl_inner {
	padding:80px 16px 40px;
}
.page_ttl {
	font-size:40px;
}
.subcon{
	width:65%;
}

/* utility------------------------------------------------- */
br.is-sp {
	display: none;
}
br.is-pc {
	display:inline-block;
}
}

/*=====================================================================
   960 start
======================================================================*/
@media screen and (min-width:960px){
html{
	scroll-padding-top: 125px;
}
body.fixed{
	position: static !important;
}
/* header------------------------------------------------- */
.h_top{
	display: block;
	background: #5384c6;
	padding: 6px 16px;
	margin: 0 -16px;
}
.h_top_inner{
	text-align: right;
	max-width: 960px;
	margin: 0 auto;
}
.h_top a{
	color: #fff !important;
	font-weight: bold;
	font-size: 16px !important;}
.header_inner{
	padding: 10px 0;
	justify-content:space-between;
	height: auto
}
.header_logo_link{
	font-size:36px;
}
.header_logo_link img{
	height:56px;
}
#gnav_btn,
.gnav_btn{
	display:none;
}
.gnav_wrap{
	display:block;
	position:static;
	margin-left:16px;
	padding:0;
	background:none;
}
.gnav{
	display:flex;
	flex-direction: row;
	flex-wrap:wrap;
	justify-content:flex-end;
	align-items: center;
	gap: 25px;
}
.gnav_link {
	display:block;
	border-bottom:1px solid #fff;
	
	font-size:16px;
	text-decoration:none;
	padding:.8em 0 .6em 0;
}
.gnav_link{
	font-size:16px;
	color:#333;
	border-bottom: 0;
}
.gnav_link:hover,
.is-current .gnav_link {
	color:#175ab0;
}
.gnav_item.is-current {
	position:relative;
}
.gnav_item.is-current::after {
	position:absolute;
	content:" ";
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	width:8px;
	height:8px;
	border-radius:50%;
	background:#DEC3C9;
}
.gnav_item_tel {
	display: none;
}
.headIcon-tel{
	display: inline-block;
	position: relative;
	padding: 0;
	font-size:22px;
	color: #175ab0 !important;
	background: transparent;
}
.headIcon-tel::before{
	content:"";
	width:16px;
	height:16px;
	background-image:url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 40 40'%3E%3Cg transform='translate(0 0)'%3E%3Crect width='40' height='40' fill='%23fcfcfc' opacity='0'/%3E%3Cg transform='translate(0.026 0)'%3E%3Cpath d='M42.493,32.355v6.02a4.016,4.016,0,0,1-4.379,4.015,39.787,39.787,0,0,1-17.336-6.162A39.164,39.164,0,0,1,8.726,24.185,39.691,39.691,0,0,1,2.56,6.785a4.017,4.017,0,0,1,4-4.377h6.027A4.021,4.021,0,0,1,16.6,5.861a25.7,25.7,0,0,0,1.406,5.64,4.016,4.016,0,0,1-.9,4.235l-2.552,2.548A32.129,32.129,0,0,0,26.6,30.327l2.55-2.548a4.02,4.02,0,0,1,4.239-.9,25.749,25.749,0,0,0,5.645,1.405A4.015,4.015,0,0,1,42.493,32.355Z' transform='translate(-2.543 -2.408)' fill='%23fff'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/*acc*/
.acc_menu .acc_content li + li{
	border-top: 1px solid #fff;
}
.acc_menu .acc_content a{
	padding: 10px;
	background: #b4cced;
	text-decoration: none;
	color: #333;
	font-weight: bold;
	white-space: nowrap;
	transition: background .2s;
}
.acc_menu .acc_content a:hover{
	opacity: 1;
	background: #c5d9f6;
}
.acc_menu > a{
	display: flex;
	align-items: center;
}
.acc_menu > a::after{
	content: "";
	display: inline-block;
	position: relative;
	inset: -2px auto auto 6px;
	margin-left: auto;
	width: 7px;
	aspect-ratio: 1;
	border-right: 2px solid #5384c6;
	border-bottom: 2px solid #5384c6;
	transform: rotate(45deg);
	flex: none;
}
.acc_content{
	line-height: 0;
	opacity: 0;
	transition: padding .2s ease-out, line-height .2s ease-out, opacity .2s linear, visibility .1s ease-out;
	visibility: hidden;
}
.acc_menu:hover .acc_content{
	font-size: 16px;
	line-height: 1.78;
	opacity: 1;
	visibility: visible;
	box-shadow: 0px 0px 10px rgba(0,0,0,.2);
	transition: padding .2s ease-out, line-height .2s ease-out, opacity .2s linear;
}
.acc_content *{
	display: none;
}
.acc_menu:hover .acc_content *{
	display: block;
}
.acc_menu{
	position: relative;
	display: flex;
	align-items: center;
}
.acc_menu:hover .acc_content{
	position: absolute;
	top: 45px;
	right: 0;
	display: block;
}
.gnav .acc_content > li::before{
	content: none;
}
/* page------------------------------------------------- */
.page_ttl_inner {
	padding-top: 150px;
}

}
