@charset "utf-8";

/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body { min-width: 0px; font-size: 0.9em;}

.ta_right-s_center { text-align: center !important;}
.ta_left-s_center { text-align: center !important;}
.ta_center-s_left { text-align: left !important;}

.hidden_s { display: none !important;}

/* margin */
.mb30-15 { margin-bottom: 15px !important;}
.mb40-20 { margin-bottom: 20px !important;}
.mb60-30, .mb50-30 { margin-bottom: 30px !important;}
.mb80-40 { margin-bottom: 40px !important;}
.mb100-60 { margin-bottom: 60px !important;}
.mb120-60 { margin-bottom: 60px !important;}
.mb160-80 { margin-bottom: 80px !important;}

.mt80-00 { margin-top: 0px;}

/* ------------------------
	ヘッダー
------------------------ */

.header { display: block; padding: 0 60px 0 0.8em;}
.h1_wrap { flex-flow: row; align-items: center; gap: 1.3em; height: 50px; width: auto; font-size: min(1.9vw,0.65em);}
.h1_wrap h1 img { width: 20em !important;}

.clone-nav { display: none;}


/* ------------------------
	グローバルナビ
------------------------ */

/* ハンバーガーメニュー */
.humberger {
	background: #f29600;
	cursor: pointer;
	display: block;
	position: fixed;
	top: 0px;
	right: 0px;
	width: 50px;
	height: 50px;
	z-index: 10001;
}
.humberger span {
	background: #fff;
	border-radius: 15px;
	position: absolute;
	left: 10px;
	width: 30px;
	height: 3px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 9px;}
.humberger span:nth-of-type(2) { top: 17px;}
.humberger span:nth-of-type(3) { top: 25px;}
.humberger:after {
	color: #fff;
	content: 'MENU';
	display: block;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	transition: 0.4s;
	position: absolute;
	left: 0;
	bottom: 1px;
	width: 100%;
}
.is-open .humberger:after { content: 'CLOSE';}
.is-open .humberger span:nth-of-type(1) { transform: translateY(6px) rotate(-45deg);}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) { transform: translateY(-10px) rotate(45deg);}

/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 10000;
}
.sp-navi .sp-navi-inner {
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0px;
	height: 100%;
	width: 100%;
	transition: .5s;
	padding-bottom: 30px;
}
.sp-navi .sp-navi-inner .navi-main li:first-child { border-top: 1px solid #fff;}
.sp-navi .navi-main li { position: relative;}
.sp-navi .navi-main li > a { display: block; text-decoration: none; border-bottom: dashed 1px #fff; padding: 0.5em 0.5em 0.5em 3em; font-size: 1.2em; position: relative;}
.sp-navi .navi-main > li > a:before { content: ""; position: absolute; left: 1em; top: 50%; margin-top: -1.5px; width: 0.8em; height: 3px; background-color: #f29600;}

.sp-navi .logo { padding: 0px 60px 0px 10px; line-height: 50px;}
.sp-navi .logo img { max-height: 36px; width: auto; vertical-align: middle;}

.sp-navi .list01 { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 1em; padding: 0 20px;}
.sp-navi .list01 li:first-child { width: 100%; display: flex; justify-content: center; margin-bottom: 10px;}
.sp-navi .list01 .tel { font-size: 2em;}
.sp-navi .list01 li:not(:first-child) { max-width: calc((100% - 1em) / 2); min-width: 200px;}


/* ------------------------
	フッター
------------------------ */

.cta_box .back_white { padding: 1em 2em 2.5em; margin: 0 -15px;}
.cta_box .text01 { font-size: min(4.2vw,1.3em); max-width: 370px; margin: 0px auto !important;}
.cta_box .text01 figure { width: 22%;}
.cta_box .btn_area01 { margin: auto -15px;}
.cta_box .text02 { flex-flow: column; gap: 1em; font-size: min(3.7vw,1.2em);}
.cta_box .tel { margin-top: -0.4em;}

.footer { padding-top: 40px; font-size: min(3.2vw,1.3em);}
.footer .box01 { flex-flow: column; padding: 0px 5%;}

.footer_nav { gap: 4em;}
.footer_nav02 { justify-content: center; gap: 3em; margin-top: -50px;}

.fixed_btn { position: fixed; z-index: 9999; left: 0; bottom: 0; width: 100%; display: flex; background: #e2003e;}
.fixed_btn li { width: 50%;}
.fixed_btn li:first-child { border-right: solid 1px #fff;}
.fixed_btn a { display: block; padding: 2vw 8vw;}

body { padding-bottom: 15.5%;}

@media only screen and (max-width: 640px) {
  .footer .logo { width: 22em;}
  .footer_nav { gap: 2.5em;}
}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.top_slider01_wrap { padding-bottom: 2em; background: #fce5bf;}
.top_slider01_wrap::before { padding-top: calc((980 / 860 * 100%) + 2em);}
.top_slider01 { height: calc(100% - 2em);}
.ts01_dots { bottom: 0;}

.ts02_viewport { padding-left: 2em;}
.top_slider02 > li { width: calc(100% - 2em - 2em - 10%); font-size: min(3.5vw,2em);}
.ts02_dot { padding-top: 20px;}
.ts02_prev, .ts02_next { width: 3em; height: 3em; font-size: min(3.5vw,2em); top: 45%;}
.ts02_prev { left: 3%;}
.ts02_next { right: 3%;}
.top_slider02 .day { width: 8em; height: 8em;}

.top_sec02 .list01 { flex-wrap: wrap; gap: 2em; padding: 0 1em; font-size: min(2.5vw,1.2em); margin-bottom: -10px;}
.top_sec02 .list01 li { width: calc((100% - 2em) / 2); padding: 2.3em 0.2em 1.8em;}
.top_sec02 .pt_box { left: -1em; top: -1.3em; transform: none;}

.top_sec02 .box01 { padding: 1rem 0;}
.top_sec02 .box01 .text01.mb40 { font-size: min(6.5vw,3.5em); padding-right: 0; margin-bottom: 1rem !important;}
.top_sec02 .box01 .back_white { padding: 0.5em 25% 0.5em 15%;}
.top_sec02 .box01 .img01 { width: 30%; right: -35%; top: -80%;}

.top_sec03 { padding: 20px 5px;}
.top_sec03 .back_white { border-radius: 2em; padding: 1em 1.5em 40px;}
.top_sec03 .box01 { flex-flow: column; gap: 0.5em;}
.top_sec03 h4 { margin: 0 -2em; width: calc(100% + 4em);}
.top_sec03 h4 img { width: 100%;}
.top_sec03 .list01 { font-size: min(4.5vw,1.8em);}
.top_sec03 .img01 { width: 4em; right: -3em; top: 40%; font-size: min(4.5vw,1.8em);}
.top_sec03 .img02 { margin: auto -45px;}
.top_sec03 .text01 { font-size: min(4vw,2em);}
.top_sec03 .text01 span:first-child:before, .top_sec03 .text01 span:last-child:after { height: 2px;}
.top_sec03 .text01 span:first-child { padding-right: 0px; margin-left: -50px;}
.top_sec03 .text01 span:last-child { padding-left: 0px; margin-right: -50px;}

.top_sec04 .list01 { gap: 1.3em; padding: 0 0.7em; font-size: min(2.2vw,1em);}
.top_sec04 .list01:before { top: 5em; bottom: 5em;}
.top_sec04 .list01 li { width: calc((100% - 1.3em) / 2); border-width: 2px;}
.top_sec04 .list01 figure { padding: 0 1.5em;}

.top_sec05 { padding: 30px 0 1px;}
.top_sec05 section { flex-flow: column; justify-content: center; padding: 0 4%; gap: 20px;}
.top_sec05 section .box_inner { width: 100%;}
.top_sec05 dl { font-size: min(2.7vw,0.8em);}

.top_sec06 { padding-top: 30px;}
.top_sec06 .box01 { display: block;}
.top_sec06 .box01 > figure { width: auto; margin: 0 -15px 1em;}
.top_sec06 h2 { font-size: min(7vw,2em);}

.top_sec07, .top_sec09 { padding: 40px 0 50px;}
.top_sec07 h2.heading_large { font-size: min(6.7vw,2em);}
.faq_dl { border-width: 2px;}
.faq_dl dt { font-size: 1.4em; padding: 1em 2em 1em 3.2em; background-size: 2.5em auto; background-position: left 0.6em;}
.faq_dl dt:after { width: 1.3em; height: 1.3em;}
.faq_dl dd { padding: 0 0.5em 20px;}

.top_sec08 h2 span { font-size: 2em;}
.top_sec08 .box01 { display: block;}
.top_sec08 .box01 .box_inner { font-size: min(3.5vw,1em); line-height: 1.8; width: auto; margin-bottom: 30px}
.top_sec08 .box01 h4.mb30 { font-size: 1.8em; margin-bottom: 20px !important;}
.top_sec08 .box01 .map iframe { height: 250px;}

.blog_art { margin-bottom: 30px;}
.blog_art:not(:last-of-type) { padding-bottom: 30px;}
.blog_art a .box_inner { width: 55%;}
.blog_art .fo15 { font-size: 1.3em !important;}
.blog_art .text01 { -webkit-line-clamp: 6; line-height: 1.6;}

@media only screen and (max-width: 740px) {
  .add_sec01 { flex-flow: column; gap: 40px; align-items: center;}
}

@media only screen and (max-width: 480px) {
  .top_sec03 .text01 { font-size: min(4vw,1.55em); margin: -1em 0;}
}


/*------------------------------------------------------

	コンテンツ

------------------------------------------------------*/

.more_btn a { font-size: 1.2rem; max-width: 270px;}

.bal_text { font-size: min(5vw,1.6em); padding: 0.4em 1.5em;}

.heading_large { font-size: 2em;}

.pagettl { padding: 1.2em 0; font-size: min(8vw,2em);}

.table_bordered { font-size: max(0.9em,2.5vw);}
.table_bordered th, .table_bordered td { padding: 0.8em 1em;}
.table_bordered th { width: 7.5em;}

.map iframe { height: 250px;}

.link_pad { padding-top: 50px; margin-top: -50px;}


/* ------------------------
	price
------------------------ */

.price_nav .list01 { gap: 1.5em;}
.price_nav .list01 li { width: calc((100% - 3em) / 3);}
.price_nav .list01.fo15 { font-size: min(2.7vw,1.5em) !important;}
.price_nav .list01 a { background-size: 2.7em auto; padding-bottom: 3.1em;}

.price_sec .box01 { flex-direction: column; gap: 0;}
.price_sec .box01 .box_inner { display: contents;}
.price_sec .box01 > figure { padding: 0 10% 15px;}
.price_sec .box01 .text01.fo15 { order: -1; margin-right: 0; width: 100%; font-size: min(4.7vw,1.5em) !important;}
.price_sec .box01 .text01 img { width: 3em; margin-bottom: 0.4rem;}
.price_sec .box01 .text01 .fo085 { font-size: 0.75em !important; margin-bottom: 0.4rem;}
.price_sec .box01 table { font-size: min(3.8vw,1.3em);}
.price_sec .box02.fo11 { gap: 0.8em; font-size: min(2.8vw,1.2em) !important;}
.price_sec .box02 dl { width: calc((100% - 0.8em) / 2);}


/* ------------------------
	insurance
------------------------ */

.ins_sec01 .table_bordered { font-size: min(3vw,1em);}
.ins_sec01 .table_bordered th, .ins_sec01 .table_bordered td { padding: 0.8em 0.5em;}

.ins_sec01 .box01 { padding: 40px 2em; font-size: min(3.5vw,1em);}
.ins_sec01 .box01 .fo14.text01 { font-size: min(3.6vw,1.4em) !important;}
.ins_sec01 .box01 .text02 span { display: inline-block;}

@media only screen and (max-width: 530px) {
}


/* ------------------------
	support
------------------------ */

.sup_sec01 .box01 { gap: 50px 5%;}
.sup_sec01 .box01 section { width: 47.5%;}
.sup_sec01 .box01 figure { padding: 0 25%;}
.sup_sec01 .box01 .tel { font-size: min(5vw,3.2em);}

.sup_sec01 .box02 { padding: 40px 30px;}
.sup_sec01 .box02 .heading_middle { font-size: min(6vw,1.8em)}


@media only screen and (max-width: 640px) {
  .sup_sec01 .box01 { flex-flow: column;}
  .sup_sec01 .box01 section { width: 100%;}
  .sup_sec01 .box01 .tel { font-size: min(8vw,3.2em);}
}

.privacy_sec h3.fo15 { font-size: 1.25em !important;}


/* ------------------------
	contact
------------------------ */

.con_sec01 .nav_btn { flex-wrap: wrap;}
.con_sec01 .nav_btn li { max-width: 300px; width: 100%;}

@media only screen and (max-width: 640px) {
	.contact_sec dl { flex-flow: column; align-items: flex-start;}
	.contact_sec dt { text-align: left; width: auto;}
  .contact_sec dt br { display: none;}
  .contact_sec dt .hissu { margin-left: 0.5em;}
  .contact_sec dd { width: 100%;}
}

@media only screen and (max-width: 480px) {
	.wpcf7-checkbox .wpcf7-list-item { width: 100% !important;}
	.wpcf7-checkbox .wpcf7-list-item:nth-child(2) { order: 1;}
	.wpcf7-checkbox .wpcf7-list-item:nth-child(3) { order: 3; margin-top: 1em;}
	.wpcf7-checkbox .wpcf7-list-item:nth-child(4) { order: 2;}
}


/* ------------------------
	topics
------------------------ */

.archive_list { column-gap: 4%;}
.archive_list li { width: calc(92% / 3);}

.single_art h1 { font-size: 1.8em;}

.blog_content h2 { font-size: 1.6em;}
.blog_content h3 { font-size: 1.4em;}
.blog_content table { font-size: 0.9em;}

.pager ul { gap: 2em; font-size: min(3.5vw,1em);}

img.aligncenter, img.alignright, img.alignleft { display: block; margin: 20px auto; float: none;}

@media only screen and (max-width: 640px) {
  .archive_list { column-gap: 5%;}
  .archive_list li { width: calc(95% / 2);}
}


