@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Oswald&display=swap');

/*------------------------------------------------------

	リセット

------------------------------------------------------*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: 500;
	vertical-align: baseline;
	background: transparent;
}
body { line-height: 1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
ul { list-style: none;}
blockquote, q { quotes: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none;}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
table { border-collapse: collapse; border-spacing: 0;}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #E0E0E0;
	margin: 0;
	padding: 0;
}
input, select { vertical-align: middle;}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	image-rendering: auto;
}
*, *:before, *:after { box-sizing: border-box;}


/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #000;
	font-size: 1em;
  font-weight: 500;
	line-height: 2;
	position: relative;
	min-width: 1030px;
}

p { margin-bottom: 25px;}
p:last-child { margin-bottom: 0px;}

a { color: #000; text-decoration: none;}
a:hover, a:active { color: #f29600;}
a.fo_red { text-decoration: underline;}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo105 { font-size: 1.05em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !important;}
.fo125 { font-size: 1.25em !important;}
.fo13 { font-size: 1.3em !important;}
.fo135 { font-size: 1.35em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo18 { font-size: 1.8em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}
.lh23 { line-height: 2.3;}

.ls01 { letter-spacing: 0.1em;}

.fo_noto { font-family: "Noto Sans JP", sans-serif;}
.fo_oswald { font-family: "Oswald", sans-serif; font-weight: 400;}

.fo_white { color: #FFFFFF;}
.fo_red { color: #e2003e;}
.fo_blue { color: #007bc6;}
.fo_gray { color: #777777;}
.fo_orange { color: #f29600;}

/* ボックス */
.container { max-width: 1030px; padding: 0px 15px; margin: 0px auto;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold, .bold * { font-weight: 700;}
.black, .black * { font-weight: 900;}
.regular { font-weight: 400;}

.break_keep { word-break: keep-all; overflow-wrap: anywhere;}

.ta_center { text-align: center !important;}
.ta_right { text-align: right !important;}
.ta_left { text-align: left !important;}
.ta_right-s_center { text-align: right !important;}
.ta_left-s_center { text-align: left !important;}
.ta_center-s_left { text-align: center !important;}

.back_white { background-color: #fff !important;}
.back_orange { background-color: #fce5bf !important;}
.back_orange02 { background-color: #fbdcab !important;}
.back_red { background-color: #e2003e !important;}

.back_stripe { background-size: auto auto; background-color: rgba(255, 255, 255, 1); background-image: repeating-linear-gradient(126deg, transparent, transparent 7px, rgba(255, 195, 63, 0.6) 7px, rgba(255, 195, 63, 0.6) 14px );}

@media (min-width: 861px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !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;}

.mb30-15 { margin-bottom: 30px !important;}
.mb40-20 { margin-bottom: 40px !important;}
.mb50-30 { margin-bottom: 50px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-60 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}
.mb160-80 { margin-bottom: 160px !important;}

.mt80-00 { margin-top: 80px;}

/* clearFix */
.clearFix { zoom: 100%;}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* ------------------------
	ヘッダー
------------------------ */

.header { display: flex; justify-content: space-between; align-items: center; padding: 15px 3% 20px;}
.h1_wrap { display: flex; flex-flow: column-reverse;}
.h1_wrap .text01 { font-size: 1.4em;}
.header .list01 { display: flex; align-items: center; gap: 1.3em;}
.header .list01 img, .sp-navi .list01 img { filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.5));}

.tel a { display: inline-block; background: url("../images/common/ico_tel.svg") no-repeat left 0.1em; background-size: 0.9em auto; padding-left: 1.2em; line-height: 1; vertical-align: middle; color: #000;}
.tel.free a { background-image: url("../images/common/ico_free.svg"); background-size: 1.6em auto; padding-left: 1.7em;}

.header .tel { font-size: 1.9em;}

.gn { display: flex; gap: 2em;}

.clone-nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	min-width: 1030px;
	transition: .3s;
	transform: translateY(-100%);
}
.is-show { transform: translateY(0);}

.clone-nav.header { padding: 7px 3% 10px;}
.clone-nav.header .h1_wrap .text01 { font-size: 1.2em;}
.clone-nav.header .h1_wrap h1 img { width: 16em;}
.clone-nav.header .list01 li:not(:first-child) { width: 14em;}
.clone-nav.header .list01 li:first-child { line-height: 1.2;}
.clone-nav.header .tel { font-size: 1.7em; margin-bottom: 0.2em !important;}
.clone-nav.header .gn { font-size: 1.05em !important; margin-top: -10px;}

@media only screen and (max-width: 1300px) {
  .header { padding: 15px 2%;}
  .h1_wrap { width: 19em; font-size: clamp(0.8em,1.15vw,1em);}
  .h1_wrap h1 img { width: 100% !important;}
  .header .list01 li:not(:first-child) { width: 13em !important;}

  .clone-nav.header .h1_wrap .text01 { font-size: 1.4em;}
}


/* ------------------------
	フッター
------------------------ */

.cta_box .back_white { padding: 40px 0 60px;}
.cta_box .text01 { display: flex; justify-content: center; align-items: center; gap: 0.7em; font-size: 1.8em;}
.cta_box .text02 { display: flex; justify-content: center; align-items: center; gap: 2.5em;}
.cta_box .tel { font-size: 2.5em; line-height: 1;}
.cta_box .btn_area02 a { display: inline-block; background: #007bc6; box-shadow: 0 0.2em 0 #002ec6; color: #fff; font-size: 1.4em; border-radius: 0.6em; padding: 0.3em 1.5em; transition: 0.3s}
.cta_box .btn_area02 a:hover { transform: translateY(0.2em); box-shadow: none;}

.footer { background: #353535; padding-top: 50px;}
.footer a { color: #fff;}
.footer a:hover { text-decoration: underline;}
.footer .box01 { display: flex; justify-content: space-between;}

.footer_nav { display: flex; gap: 6em; margin-top: 2em;}
.footer_nav02 { display: flex; justify-content: flex-end; gap: 3em;}

.copy { background: #f29600; padding: 1em;}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.top_slider01_wrap::before { content: ""; display: block; padding-top: calc(600 / 1500 * 100%);}
.top_slider01 { position: absolute; inset: 0; width: 100%; height: 100%;}
.top_slider01 > li { position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease;}
.top_slider01 > li.is-active { opacity: 1; z-index: 1;}
.top_slider01 picture, .top_slider01 img { display: block; width: 100%; height: 100%; object-fit: cover;}
.ts01_prev, .ts01_next { position: absolute; top: 50%; z-index: 500; transform: translateY(-50%); width: 20px; height: 35px; background: url("../images/common/ico_prev.svg") no-repeat center center; background-size: 100% auto; border: none; cursor: pointer;}
.ts01_prev { left: 10px;}
.ts01_next { right: 10px; transform: translateY(-50%) scale(-1,1);}
.ts01_dots { position: absolute; z-index: 500; left: 50%; bottom: 10px; transform: translateX(-50%); display: flex; gap: 0.8em;}
.ts01_dot { display: block; width: 0.9em; height: 0.9em; padding: 0; background: #c9c9c9; border: 0; cursor: pointer;}
.ts01_dot[aria-selected="true"] { background: #333333;}

.top_slider02_wrap { touch-action: pan-y; -webkit-user-select: none; user-select: none;}
.top_slider02 { display: flex; will-change: transform; transform: translate3d(0,0,0); transition: transform 400ms ease;}
.top_slider02 > li { flex: 0 0 auto; width: 315px; margin-right: 2em; padding-top: 1.5em;}
.ts02_prev, .ts02_next { position: absolute; top: calc(50% - 0.7em); transform: translateY(-50%); z-index: 2; border: none; background: url("../images/common/ico_prev02.svg") no-repeat center center; background-size: 100% auto;  width: 65px; height: 65px; cursor: pointer;}
.ts02_prev { left: 5%;}
.ts02_next { right: 5%; transform: translateY(-50%) scale(-1,1);}
.ts02_dot { display: flex; justify-content: center; gap: 0.5em; z-index: 2; padding-top: 40px;}
.ts02_dot button { width: 0.9em; height: 0.9em; padding: 0; border: 0; background: #fff; cursor: pointer;}
.ts02_dot button[aria-current="true"] { background: #e2003e;}

.top_slider02 .box01 { border: solid 4px #e2003e; border-radius: 1em; padding: 6em 1.3em 1em;}
.top_slider02 .class { background: #e2003e; border-radius: 0.4em; left: -0.7em; top: -1.8em; padding: 0.1em 1em;}
.top_slider02 .day { background: url("../images/top/top_sec01_slide_bg01.svg") no-repeat center center; background-size: 100% auto; width: 8.3em; height: 8.3em; display: flex; justify-content: center; align-items: center; flex-flow: column; right: -1.5em; top: -1.8em;}
.top_slider02 .day .text01 { border-bottom: solid 1px #fff;}
.top_slider02 .day .text02 { color: #ffff5a;}
.top_slider02 h3 { left: 0.9em; top: 1.1em;}
.top_slider02 .box02 { display: flex; gap: 1em; margin-top: 0.3em;}
.top_slider02 .box02 > div { width: calc((100% - 1em) / 2);}
.top_slider02 h4 { background: #e88b00; border-radius: 0.4em; padding: 0.1em; margin-bottom: 0.5em;}
.top_slider02 .price { color: #e88b00;}
.top_slider02 .box02 > div:last-child h4 { background: #f25400;}
.top_slider02 .box02 > div:last-child .price { color: #f25400;}

.top_sec01 { padding: 50px 0;}

.top_sec02 .list01 { display: flex; gap: 1.5em;}
.top_sec02 .list01 li { width: calc((100% - 3em) / 4); border-radius: 1em; padding: 2.9em 0.5em 1.6em;}
.top_sec02 .list01 p { display: flex; justify-content: center; align-items: center; height: 2.8em;}
.top_sec02 .pt_box { background: #f25400; font-size: 1.1em; line-height: 1; display: flex; justify-content: center; flex-flow: column; align-items: center; width: 3.8em; height: 3.8em; border-radius: 100%; left: 50%; top: 0; transform: translate(-50%,-50%);}

.top_sec02 .box01 { background: #eaeaea; padding: 30px 0;}
.top_sec02 .box01 .text01 { font-size: 4em; line-height: 1.3; padding-right: 1em;}
.top_sec02 .box01 .back_white { padding: 10px 0;}
.top_sec02 .box01 .img01 { right: -90px; top: -110px;}

.top_sec03 { background: #ffe276; padding: 50px 0;}
.top_sec03 .back_white { border-radius: 50px; padding: 20px 5% 40px;}
.top_sec03 .box01 { display: flex; align-items: center; gap: 5%;}
.top_sec03 .list01 { display: flex; flex-flow: column; gap: 0.4em; font-size: 1.9em;}
.top_sec03 .list01 li { background: url("../images/common/ico_check.svg") no-repeat left 0.2em; background-size: 1.2em auto; padding-left: 1.7em;}
.top_sec03 .img01 { right: -6em; top: 45%;}
.top_sec03 .img02 { margin: auto -20%;}
.top_sec03 .text01 { color: #8dc21f; font-size: 1.55em; display: flex; flex-flow: column;}
.top_sec03 .text01 span { display: flex; align-items: center; gap: 0.8em;}
.top_sec03 .text01 span:first-child:before, .top_sec03 .text01 span:last-child:after { content: ""; flex: 1; height: 4px; background: #8dc21f;}
.top_sec03 .text01 span:first-child { padding-right: 20%;}
.top_sec03 .text01 span:last-child { padding-left: 20%;}

.top_sec04 .list01 { display: flex; justify-content: center; gap: 40px; flex-wrap: wrap;}
.top_sec04 .list01:before { content: ""; position: absolute; z-index: -1; width: 200vw; top: 50px; bottom: 50px; left: 50%; transform: translateX(-50%); background-size: auto auto; background-color: rgba(255, 255, 255, 1); background-image: repeating-linear-gradient(126deg, transparent, transparent 7px, rgba(255, 195, 63, 0.5) 7px, rgba(255, 195, 63, 0.5) 14px );}
.top_sec04 .list01 li { width: calc((100% - 80px) / 3); border: solid 3px #7a7a7a; font-size: 1.9em; border-radius: 0.8em; padding: 0.5em 0;}
.top_sec04 .list01 p { display: flex; justify-content: center; align-items: center; height: 2.8em;}

.top_sec05 { padding: 50px 0;}
.top_sec05 section { display: flex; justify-content: space-between; gap: 5%;}
.top_sec05 section .box_inner { width: 45%;}
.top_sec05 dl { display: flex; align-items: center; gap: 1.3em;}
.top_sec05 dt { display: flex; align-items: center; border: solid 3px #f29600; background: #f29600; font-size: 1.5em;}
.top_sec05 dt .fo_white { padding: 0 0.6em;}
.top_sec05 dt .num { font-size: 2.2em; line-height: 1; padding: 0.15em 0.2em;}
.top_sec05 dd { font-size: 2.3em;}

.top_sec06 { background: url("../images/top/top_sec06_bg.jpg") no-repeat center center; background-size: cover; padding: 60px 0 1px;}
.top_sec06 .box01 { display: flex; justify-content: space-between; align-items: flex-end; gap: 4%;}
.top_sec06 section:nth-of-type(even) .box01 { flex-flow: row-reverse;}
.top_sec06 .box01 > figure { width: 51%;}
.top_sec06 .box01 .box_inner { flex: 1;}
.top_sec06 h2 { font-size: 2.3em;}
.top_sec06 section:nth-of-type(odd) .arrow { margin-left: -42%;}
.top_sec06 section:nth-of-type(even) .arrow { margin-right: -42%;}

.top_sec07 { padding: 60px 0;}
.top_sec07 h2 img { vertical-align: middle; width: 4.3em; margin-right: 0.6em;}
.faq_dl { border-top: solid 3px #fff;}
.faq_dl dt { font-size: 1.9em; padding: 1.6em 1.5em 1.6em 4em; background: url("../images/common/ico_q.svg") no-repeat left 1em; background-size: 3em auto; cursor: pointer;}
.faq_dl dt:after { content: ""; position: absolute; background: url("../images/common/ico_plus.svg") no-repeat center center; background-size: 100% auto; width: 1.7em; height: 1.7em; right: 0; top: 50%; transform: translateY(-50%);}
.faq_dl dt.open:after { background-image: url("../images/common/ico_minus.svg");}
.faq_dl dd { display: none; padding: 0 3em 20px 7em;}
.faq_dl dd .back_white { padding: 1.5em; border-radius: 1em;}

.faq_sec01 .faq_dl { border-color: #fce5bf;}

.top_sec08 h2:before { content: ""; position: absolute; z-index: -1; background-size: auto auto; background-color: rgba(255, 255, 255, 1); background-image: repeating-linear-gradient(126deg, transparent, transparent 7px, rgba(255, 195, 63, 1) 7px, rgba(255, 195, 63, 1) 14px ); top: 0.2em; bottom: 0.2em; left: 0; right: 0;}
.top_sec08 h2 span { display: inline-block; vertical-align: middle; font-size: 3em; line-height: 1; padding: 0 0.5em;}
.top_sec08 .box01 { display: flex; justify-content: space-between; gap: 3%;}
.top_sec08 .box01 .box_inner { font-size: 1.3em; width: 50%;}
.top_sec08 .box01 h4 { font-size: 2em;}
.top_sec08 .box01 .map { flex: 1;}
.top_sec08 .box01 .map iframe { width: 100%; height: 300px;}

.top_sec09 { padding: 60px 0;}

.blog_art { margin-bottom: 50px;}
.blog_art:not(:last-of-type) { border-bottom: solid 3px #fff; padding-bottom: 50px;}
.blog_art a { display: flex; justify-content: space-between; gap: 5%;}
.blog_art a > figure { flex: 1;}
.blog_art a .box_inner { width: 50%;}
.blog_art .text01 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3;}

.add_sec01 { display: flex; justify-content: space-between; align-items: flex-end; gap: 3.5%;}


/*------------------------------------------------------

	下層ページ

------------------------------------------------------*/

/* 共通 */
.show_sp { display: none;}
.over_hidden, .img_hover { overflow: clip;}

.img_hover img { transition: 0.3s; margin-bottom: -1px;}
.img_hover a:hover img, a:hover .img_hover img { transform: scale(1.05);}

.more_btn a { display: inline-block; font-family: "Noto Sans JP", sans-serif; font-weight: bold; color: #fff; line-height: 1.4; font-size: 1.65rem; background: url("../images/common/ico_c_arrow_red.svg") no-repeat calc(100% - 1em) center #e2003e; background-size: 1em auto; border: solid 2px #fff; border-radius: 60px; box-shadow: 2px 2px 3px rgba(0,0,0,0.6); padding: 0.6em 2em 0.6em 1.5em; width: 100%; max-width: 345px; transition: 0.3s;}
.more_btn a:hover { transform: translateX(0.3em);}

.more_btn.orange a { background-image: url("../images/common/ico_c_arrow_orange.svg"); background-color: #f29600;}
.more_btn.green a { background-image: url("../images/common/ico_c_arrow_green.svg"); background-color: #8dc21f;}

.more_btn02 a { display: inline-block; background: url("../images/common/ico_c_arrow_red.svg") no-repeat calc(100% - 1.5em) center #e2003e; background-size: 1.25em auto; border-radius: 60px; line-height: 1.6; color: #fff; font-size: min(4vw,1.1em); font-weight: bold; padding: 0.9em 3.5em 0.9em 1.7em; transition: 0.3s;}
.more_btn02 a:hover { transform: translateX(0.3em);}

.bal_text { background: #f29600; display: table; margin: auto; font-size: 1.8em; padding: 0.4em 2.5em; border-radius: 0.7em;}
.bal_text:after { content: ""; position: absolute; width: 1.3em; height: 0.6em; background: #f29600; clip-path: polygon(0 0, 100% 0, 50% 100%); bottom: -0.55em; left: 50%; transform: translateX(-50%);}
.bal_text.red, .bal_text.red:after { background: #e2003e;}

.heading_large { font-size: 3em;}
.heading_semi { font-size: 2.3em;}
.heading_middle { font-size: 2em;}

.heading_back { padding: 0.5em;}
.heading_back span { display: inline-block;}

.heading_btmline { border-bottom: solid 3px #e2003e; padding-bottom: 0.5em;}

.narrow { margin-right: -0.4em;}

.breadcrumb a { color: #f29600; text-decoration: underline;}
.breadcrumb a:hover { opacity: 0.7; text-decoration: none;}

.pagettl { padding: 1.2em 0; font-size: 2.9em;}

.table_bordered { width: 100%; border: solid 1px #bababa; font-size: 1.3em; line-height: 1.6;}
.table_bordered th, .table_bordered td { vertical-align: middle; padding: 0.8em 2em; text-align: left; border: solid 1px #bababa;}
.table_bordered th { font-weight: bold; color: #fff; background: #e2003e;}
.table_bordered th { width: 12em;}

.map iframe { width: 100%; height: 445px;}

.link_pad { padding-top: 150px; margin-top: -150px;}


/* ------------------------
	price
------------------------ */

.price_nav .list01 { display: flex; justify-content: center; flex-wrap: wrap; gap: 50px 10%; max-width: 720px; margin: auto;}
.price_nav .list01 a { display: block; color: #000; transition: 0.3s; background: url("../images/price/ico_arrow.svg") no-repeat center bottom; background-size: 2.1em auto; padding-bottom: 2.5em;}
.price_nav .list01 a:hover { transform: translateY(0.3em);}

.price_sec .box01 { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; gap: 30px;}
.price_sec .box01 .box_inner { width: 50%;}
.price_sec .box01 > figure { flex: 1;}
.price_sec .box01 table { width: 100%; font-size: 1.3em; line-height: 1.5;}
.price_sec .box01 th, .price_sec .box01 td { vertical-align: middle;}
.price_sec .box01 th { background: #ededed; width: 8.2em; padding: 0.5em 0;}
.price_sec .box01 tr:not(:last-child) th { border-bottom: solid 2px #fff;}
.price_sec .box01 td { border-bottom: solid 2px #ededed; padding: 0.3em 0 0.3em 1.7em;}
.price_sec .box01 .text01 { margin-right: -6em;}

.price_sec .box02 { display: flex; gap: 1.2em;}
.price_sec .box02 dl { width: calc((100% - 1.2em) / 2); border: solid 4px #f29600;}
.price_sec .box02 dt { background: #f29600; padding: 0.4em 0 calc(0.4em + 4px);}
.price_sec .box02 dd { padding: 0.5em 0;}
.price_sec .box02 dl:last-child { border-color: #f25400;}
.price_sec .box02 dl:last-child dt { background: #f25400;}
.price_sec sup { font-size: 0.6em; vertical-align: top;}


/* ------------------------
	support
------------------------ */

.sup_sec01 .box01 { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 50px 10%;}
.sup_sec01 .box01 section { width: 45%;}
.sup_sec01 .box01 h3 { padding: 0.05em 0.5em 0.05em 3.5em;}
.sup_sec01 .box01 h3 .pos_ab { display: block; width: 1.5em; height: 1.5em; line-height: 1.5; border-radius: 100%; left: 0.7em; top: 50%; transform: translateY(-50%);}
.sup_sec01 .box01 .tel { font-size: 3.2em; line-height: 1;}

.sup_sec01 .box02 { padding: 40px 13%;}


/* ------------------------
	insurance
------------------------ */

.ins_sec01 .box01 { padding: 8%;}
.ins_sec01 .box01 .tel01 { font-size: min(8.6vw,4.2em); line-height: 1;}
.ins_sec01 .box01 .tel02 { font-size: min(8vw,2.7em); line-height: 1;}

.ins_sec02 .list_indent div { text-indent: 0;}
.ins_sec02 .text01.fo13 { border: solid 2px #e2003e; padding: 0.5em 1em; display: table; font-size: min(4.5vw,1.3em) !important;}


/* ------------------------
	option
------------------------ */

.op_sec01 .table_bordered { font-size: min(3vw,1.3em);}
.op_sec01 .table_bordered th { padding: 0.8em 0.3em;}
.op_sec01 .table_bordered td { padding: 1.3em 0.3em;}


/* ------------------------
	privacy
------------------------ */

.privacy_sec section { border-bottom: solid 2px rgba(99,99,99,0.5); padding-bottom: 40px; margin-bottom: 40px;}
.privacy_sec h3 { letter-spacing: -0.01em;}


/* ------------------------
	contact
------------------------ */

.con_sec01 .nav_btn { display: flex; justify-content: center; gap: 20px 2em; font-size: 1.4em;}
.con_sec01 .nav_btn li { width: 50%;}
.con_sec01 .nav_btn a, .con_sec01 .nav_btn span { display: block; border: solid 1px #e2003e; line-height: 1.9; transition: 0.3s;}
.con_sec01 .nav_btn a { color: #e2003e;}
.con_sec01 .nav_btn a:hover { background: #e2003e; color: #fff;}

.contact_sec dl { display: flex; justify-content: space-between; align-items: center; gap: 0.5em 2em;}
.contact_sec dt { width: 12em;}
.contact_sec dt.align_start { align-self: flex-start;}
.contact_sec .hissu { display: inline-block; font-size: 0.75em; font-weight: 500; background: #e2003e; color: #fff; vertical-align: middle; border-radius: 0.3em; padding: 0 0.5em;}
.contact_sec dd { width: calc(100% - 14em);}
input[type="text"], input[type="email"], input[type="tel"], input[type="date"], textarea, select {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 17px;
	padding: 0.5em 0.7em;
	background-color: #efefef;
	border: solid 1px #ccc;
	border-radius: 0.3em;
	vertical-align: bottom;
	width: 100%;
}
.contact_sec .width_auto input[type="text"] { width: auto;}

.contact_sec .btn_area input {
	display: inline-block;
	width: calc(100% - 3em);
	max-width: 350px;
	color: #fff;
	font-size: 1.1em;
	text-decoration: none;
	text-align: center;
	background: #e2003e;
	border: none;
  border-radius: 60px;
	padding: 1em;
  margin: 0 1.5em 1.5em;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	transition: 0.3s;
}
.contact_sec .btn_area input:hover { opacity: 0.7;}
.contact_sec .btn_area input:focus { outline: 0;}

.wpcf7-spinner { display: block; margin: 20px auto;}
.wpcf7-checkbox .wpcf7-list-item { display: block; margin: 0px;}
.wpcf7-not-valid-tip { display: inline-block;}


/* ------------------------
	topics
------------------------ */

.archive_list { display: flex; flex-wrap: wrap; column-gap: 3.5%;}
.archive_list li { width: calc(89.5% / 4);}
.archive_list h1 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2; padding-bottom: 0.7em; position: relative;}
.archive_list h1:after { content: ""; position: absolute; width: 100%; height: 0.7em; background: #fff; border-bottom: solid 3px #e2003e; left: 0; bottom: 0;}
.archive_list .text01 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 6;}


.single_art h1 { border-bottom: solid 3px #e2003e; padding-bottom: 0.7em; font-size: 2em;}
.main_content { max-width: 710px; margin: auto;}

.blog_content h2 { font-family: "Noto Sans JP", sans-serif; font-weight: bold; font-size: 2em; line-height: 1.4; background: #e2003e; color: #fff; border-radius: 0.3em; padding: 0.2em 0.7em; margin-bottom: 30px; clear: both;}
.blog_content h3 { font-family: "Noto Sans JP", sans-serif; position: relative; padding-left: 1.1em; font-size: 1.7em; font-weight: bold; line-height: 1.4; margin-bottom: 30px; clear: both;}
.blog_content h3:before { content: ""; position: absolute; width: 0.8em; height: 0.95em; left: 0px; top: 0.3em; background: #e2003e; clip-path: polygon(0 0, 100% 50%, 0 100%);}
.blog_content h2 span, .blog_content h3 span { font-weight: bold;}
.blog_content h4, .blog_content h5, .blog_content h6 { font-weight: bold; font-size: 1.1em; line-height: 1.6; margin-bottom: 25px; clear: both;}
.blog_content blockquote { border: solid 1px #707070; background: #fff; padding: 1.5em 2em; margin-bottom: 40px; clear: both;}
.blog_content blockquote p:last-child { margin-bottom: 0px;}
.blog_content ul { margin-bottom: 30px;}
.blog_content li { position: relative; padding-left: 1em; margin-bottom: 1em;}
.blog_content li:before { content: ""; position: absolute; width: 0.7em; height: 0.85em; left: 0px; top: 0.5em; background: #e2003e; clip-path: polygon(0 0, 100% 50%, 0 100%);}
.blog_content table { width: 100%; border: solid 1px #bbbbbb;}
.blog_content td { border: solid 1px #bbbbbb; padding: 0.5em 0.6em; vertical-align: middle;}
.blog_content td:first-child { background: #cce3f7; font-weight: bold; text-align: center;}
.blog_content iframe { width: 100%;}

/*WP用 投稿表示*/
img.alignnone { margin: 20px auto;}
img.aligncenter { display: block; margin: 20px auto;}
img.alignright { margin: 20px 0 20px 20px; float: right;}
img.alignleft { margin: 20px 20px 20px 0; float: left;}

/* ページャー */
.pagination span.current, .pagination a {
	margin: 0px 0 0.5em;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
	color: #000;
  min-width: 2em;
  line-height: 2;
}
.pagination span.current, .pagination a:hover { background: #e2003e; color: #fff;}
.pagination .number { margin: 0px 1em 0.5em 0px; vertical-align: middle; display: inline-block;}

.pager ul { display: flex; justify-content: center; gap: 3em; align-items: center;}


/* toc */
#toc_container { margin-bottom: 80px; background: #f2f2f2;}
.toc_title { background: #e2003e; font-family: "Noto Sans JP", sans-serif; font-weight: bold; color: #fff; font-size: 1.4em; line-height: 1.4; padding: 0.5em 0.8em; margin-bottom: 0;}
.toc_list { padding: 30px 8%; margin-bottom: 0 !important;}
.toc_list ul, .toc_list li { margin-bottom: 0 !important;}
.toc_list > li { font-weight: bold; padding-left: 0;}
.toc_list > li:before { display: none;}
.toc_list ul { padding-left: 1em;}

:where(h1,h2,h3,h4,h5,h6){ scroll-margin-top:200px;}
