@charset "utf-8";
@import url(https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Noto+Sans+JP:wght@700&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, sub, 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;
	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;
}
/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
	-webkit-backface-visibility: hidden;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	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;
	font-weight: 500;
	color: #403937;
	font-size: 1em;
	line-height: 1.8;
	position: relative;
	min-width: 1130px;
}

.fo_bebas { font-family: 'Bebas Neue', cursive;}
.fo_noto { font-family: 'Noto Sans JP', sans-serif;}

p { margin-bottom: 30px;}
p:last-child { margin-bottom: 0px;}

a { color: #403937; text-decoration: none;}
a:hover { color: #727070;}

/* 文字装飾 */
.fo040 { font-size: 0.40em !important;}
.fo045 { font-size: 0.45em !important;}
.fo05 { font-size: 0.5em !important;}
.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;}
.fo088 { font-size: 0.875em !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;}
.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;}
.fo19 { font-size: 1.9em !important;}
.fo20 { font-size: 2em !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;}

.fo_white { color: #FFFFFF;}
.fo_brown { color: #775f56;}
.fo_orange { color: #e68547;}
.fo_green { color: #77b477;}
.fo_blue { color: #5486bd;}
.fo_pink { color: #d17eb1;}

/* ボックス */
.container {
	max-width: 1080px;
	padding: 0px 15px;
	margin: auto;
}
.container02 {
	max-width: 1230px;
	padding: 0px 15px;
	margin: auto;
}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}
.ta_center-s_left { text-align: center;}

.back_white { background-color: #fff;}
.back_orange { background-color: #e68547;}
.back_green { background-color: #77b477;}
.back_blue { background-color: #5486bd;}
.back_pink { background-color: #d17eb1;}

.back_image01 { background: var(--wpr-bg-0e18770a-dde6-4192-b484-596b152e84dc);}

@media print,  (min-width: 861px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

/* 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;}

.mb40-20 { margin-bottom: 40px !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;}
.mb120-80 { margin-bottom: 120px !important;}
.mb160-80 { margin-bottom: 160px !important;}

.mt10 { margin-top: 10px !important;}
.mt20 { margin-top: 20px !important;}
.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}
.mt50 { margin-top: 50px !important;}
.mt60 { margin-top: 60px !important;}
.mt70 { margin-top: 70px !important;}
.mt80 { margin-top: 80px !important;}

/* clearFix */
.clearFix { zoom: 100%;}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* ------------------------
	ヘッダー
------------------------ */

.header { font-size: 0.95em;}
.header .box01 { max-width: 1420px; padding: 15px 10px 20px; margin: auto; display: flex; justify-content: space-between; align-items: center;}
.header .box02 { display: flex; align-items: flex-end;}

.gn > li { display: inline-block; font-weight: bold;}
.gn > li:not(:last-child):after { content: "／";}

.header .tel_box { margin-left: 20px;}
.tel_box .text01 { display: inline-block;}
.tel_box .text01:before, .tel_box .text01:after { content: ""; position: absolute; background: #3f3837; width: 1px; height: 1.2em; top: 50%;}
.tel_box .text01:before { left: -0.7em; transform: translateY(-50%) rotate(-30deg);}
.tel_box .text01:after { right: -0.4em; transform: translateY(-50%) rotate(30deg);}
.tel_box .text01 span { letter-spacing: -0.5em;}
.tel_box a { display: inline-block; line-height: 1; color: #77b477; text-decoration: none; font-size: 3em; position: relative; padding-left: 30px;}
.tel_box a:before { content: ""; position: absolute; background: var(--wpr-bg-dd96fc27-ea31-42ad-8d1b-2e45d3779616) no-repeat center center; background-size: 100% auto; width: 24px; height: 33px; left: 0px; top: 50%; transform: translateY(-50%);}

/* ドロップダウンメニュー */
.gn .dd {
	position: relative;
	z-index: 99999;
}
.gn .dd > div {
	position: absolute;
	display: none;
	left: 50%;
	transform: translateX(-50%);
	padding-top: 10px;
}
.gn .dd ul {
	width: 150px;
	border: solid 4px #77b477;
	background-color: #fff;
	padding: 15px 15px 10px;
	z-index: 99999;
	font-size: 0.95em;
	text-align: center;
}
.gn .dd ul:before {
	content: "";
	top: -5px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 7px 15px 7px;
    border-color: transparent transparent #77b477 transparent;
}
.gn .dd ul li { margin-bottom: 5px;}


.clone-nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	min-width: 1090px;
	max-width: initial;
	transition: .3s;
	transform: translateY(-100%);
	background: #fff;
	text-align: center;
	box-shadow: 0px 2px 6px rgba(0,0,0,0.2);
}
.is-show { transform: translateY(0);}

.clone-nav.header .box01 { padding: 10px 15px;}
.clone-nav h1 img { width: auto; height: 50px;}
.clone-nav .tel_box { display: none;}

.fixed_btn { position: fixed; right: -20px; top: 115px; z-index: 9999; transition: 0.3s;}
.fixed_btn:hover { transform: translateX(-5px);}

/* ------------------------
	フッター
------------------------ */

.footer .box01 { background: var(--wpr-bg-e3ffa469-090c-4d28-8f7a-6fef73e13ccb) no-repeat center center; background-size: cover; padding: 50px 0px;}
.footer .box01 .box { background: rgba(255,255,255,0.75); width: 700px; margin: auto; outline: solid 10px rgba(255,255,255,0.3); padding: 40px 15px;}
.footer .box01 h2 { font-size: 1.9em; letter-spacing: 0.05em;}
.footer .box01 .btn_area a { display: inline-block; color: #fff; font-size: 1.1em; background: #f08a46; width: 100%; max-width: 400px; border-radius: 80px; position: relative; text-decoration: none; padding: 20px 25px 25px; transition: 0.3s;}
.footer .box01 .btn_area a:hover { transform: translate(3px,3px);}
.footer .box01 .btn_area a:before { content: ""; display: inline-block; background: var(--wpr-bg-16c90f86-3ab0-4d1a-8c64-be3d0e4d0322) no-repeat center center; background-size: 100% auto; width: 30px; height: 18px; vertical-align: middle; margin-right: 0.5em;}
.footer .box01 .btn_area a:after { content: ""; position: absolute; border: solid 1px #fff; border-radius: 75px; top: 5px; right: 5px; bottom: 5px; left: 5px;}
.footer .box01 h3 { font-size: 1.55em; letter-spacing: 0.05em;}

.footer_tel { display: flex; justify-content: center; align-items: center; flex-wrap: wrap;}
.footer_tel .tel { margin-right: 20px;}
.footer_tel .tel a { display: inline-block; color: #77b477; font-size: 4.4em; line-height: 1; text-decoration: none;}
.footer_tel .tel a:before { content: ""; display: inline-block; background: var(--wpr-bg-481b4118-84a4-4d38-86f0-f196a44ae36b) no-repeat center center; background-size: 100% auto; width: 34px; height: 46px; vertical-align: middle; margin-right: 0.15em;}

.footer .box02 { display: flex; justify-content: space-between; align-items: flex-end;}
.footer_nav { display: flex; flex-wrap: wrap;}
.footer_nav ul { margin-left: 100px;}
.footer_nav li { margin-bottom: 5px;}

.footer .box03 { background: var(--wpr-bg-fda49dbb-0dcb-46ae-90dc-d53de9958be1) no-repeat center center; background-size: cover; padding: 10px 0px;}
.footer .box03 ul { display: flex; justify-content: center; align-items: center; flex-wrap: wrap;}
.footer .box03 li { margin: 5px 2em;}

.pagetop { position: fixed; right: 30px; bottom: 0px; padding-bottom: 60px; z-index: 9999;}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.slide_wrap { max-width: 1380px; margin: auto;}
.slide_text { left: 0px; bottom: 3px; line-height: 1.1; font-size: 3.3em; z-index: 200;}
.slide_text span { font-size: 1.65em;}

.viewer {
	margin: 0 auto;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.viewer ul {
	width: 100%;
	overflow: hidden;
	position: relative;
}
.viewer ul li {
	top: 0;
	left: 0;
	width: 100%;
	position: absolute;
}
.viewer ul li img { width: 100%;}

.top_sec01 h2 { font-size: 2.5em; letter-spacing: 0.1em;}
.top_sec01 .box01 { max-width: 750px; margin: auto; border: solid 1px #403937; padding: 0px 120px 50px;}
.top_sec01 .box01:before, .top_sec01 .box01:after { content: ""; position: absolute; background: #fff; width: 6px; top: 25px; bottom: 25px;}
.top_sec01 .box01:before { left: -3px;}
.top_sec01 .box01:after { right: -3px;}
.top_sec01 .box01 .pos_ab { right: -25px; bottom: -45px;}
.top_sec01 .box01 h3 span { display: inline-block; font-size: 1.55em; transform: translateY(-50%); padding: 0px 0.8em;}

.top_sec02 .box_inner { bottom: 0px; border-top-left-radius: 30px; border-top-right-radius: 30px; padding: 80px 60px;}
.top_sec02 section:nth-of-type(odd) .box_inner { left: 0px;}
.top_sec02 section:nth-of-type(even) .box_inner { right: 0px;}
.top_sec02 figcaption { bottom: 0px; font-size: 9.5em; line-height: 0.6;}
.top_sec02 section:nth-of-type(odd) figcaption { right: 30px;}
.top_sec02 section:nth-of-type(even) figcaption { left: 30px;}
.top_sec02 h3 { font-size: 2.15em;}

.top_sec03 { z-index: 10;}
.top_sec03 h2 { transform: translateY(-50%);}

.use_sec h3 span { display: inline-block; font-size: 2.2em; letter-spacing: 0.1em; background: linear-gradient(transparent 75%, rgba(234,168,47,0.47) 0%);}
.use_sec h3 span:before, .use_sec h3 span:after { content: ""; position: absolute; width: 3px; height: 1.2em; background: #6b5651; border-radius: 5px; top: 50%;}
.use_sec h3 span:before { transform: translateY(-40%) rotate(-30deg); left: -0.7em;}
.use_sec h3 span:after { transform: translateY(-40%) rotate(30deg); right: -0.7em;}
.use_sec .list01, .use_sec .list02 { display: flex; justify-content: center; align-items: center;}
.use_sec .list01 li:last-child { margin-left: 20px;}
.use_sec .list02 li:last-child { margin-left: 7px;}

.plan_sec h3 span { display: inline-block; font-size: 2.6em; text-shadow: 1px  1px 0px #403937, -1px  1px 0px #403937, 1px -1px 0px #403937, -1px -1px 0px #403937, 1px  0px 0px #403937, 0px  1px 0px #403937, -1px  0px 0px #403937, 0px -1px 0px #403937; padding: 0px 1em;}
.plan_sec h3:before { content: ""; position: absolute; z-index: -1; width: 100%; left: 0px; top: 50%; border-top: dashed 1px #403937;}

.top_sec03 { padding-bottom: 1px;}
.top_sec03 .sec01 ul {  display: flex; justify-content: space-between; flex-wrap: wrap;}
.top_sec03 .sec01 li { width: 500px;}
.top_sec03 .sec01 dl { display: table; width: 100%;}
.top_sec03 .sec01 dl > * { display: table-cell; vertical-align: middle;}
.top_sec03 .sec01 dt { width: 3.7em; font-size: 2.7em; line-height: 0.5;}
.top_sec03 .sec01 li:nth-child(1) dt span { background: linear-gradient(transparent 85%, #f6df71 0%);}
.top_sec03 .sec01 li:nth-child(2) dt span { background: linear-gradient(transparent 85%, #f3b0cb 0%);}
.top_sec03 .sec01 li:nth-child(3) dt span { background: linear-gradient(transparent 85%, #84c9ef 0%);}
.top_sec03 .sec01 li:nth-child(4) dt { width: 4.8em;}
.top_sec03 .sec01 li:nth-child(4) dt > span { background: linear-gradient(transparent 85%, #a6d081 0%);}
.top_sec03 .sec01 li:nth-child(5) dt { line-height: 0.8;}

.top_sec03 .dl01 { display: flex; justify-content: center; align-items: center;}
.top_sec03 .dl01 > * { margin: 0px 0.7em 7px;}
.top_sec03 .dl01 dt span { display: block; border: solid 2px #3f3837; padding: 5px 0.7em;}
.top_sec03 .dl01 dd { border-bottom: solid 1px #3f3837; line-height: 1.6;}

.top_sec03 .list01 { display: flex; justify-content: space-between;}
.top_sec03 .sec02 .text01 span { display: inline-block; font-size: 1.5em; line-height: 1.2; letter-spacing: 0.1em;}
.top_sec03 .sec02 .text01 span:before, .top_sec03 .sec02 .text01 span:after { content: ""; position: absolute; width: 2px; height: 1.1em; top: 50%; background: #3f3837;}
.top_sec03 .sec02 .text01 span:before { transform: translateY(-50%) rotate(-30deg); left: -0.7em;}
.top_sec03 .sec02 .text01 span:after { transform: translateY(-50%) rotate(30deg); right: -0.7em;}
.top_sec03 .sec02 h4 { font-size: 2.3em;}
.top_sec03 .dl02 { display: flex; justify-content: center; align-items: center;}
.top_sec03 .dl02 dt { width: 80px; height: 80px; border-radius: 100%; display: flex; justify-content: center; align-items: center; margin: 0px 6px; font-size: 2.15em; line-height: 0.55;}
.top_sec03 .dl02 dt > span { display: block;}
.top_sec03 .dl02 dd { margin-left: 7px;}
.top_sec03 .sec02 .text02 { font-size: 1.7em;}
.top_sec03 .sec02 .price { font-size: 2.15em;}

.top_sec04 .list01 { display: flex; justify-content: center; align-items: center;}
.top_sec04 .list01 li:nth-child(2) { margin-left: -120px;}
.top_sec04 .list01 .img01 { left: -20px; top: 20px;}
.top_sec04 .list01 .img02 { right: -45px; bottom: 10px;}

.top_bnr { max-width: 1570px; margin: auto; padding: 0px 15px;}
.top_bnr ul { display: flex; justify-content: space-between;}
.top_bnr li { width: calc(50% - 10px);}
.top_bnr a { display: flex; justify-content: center; align-items: center; height: 370px; background-repeat: no-repeat; background-position: center center; background-size: auto 100%; transition: 0.3s;}
.top_bnr a:hover { background-size: auto 105%;}
.top_bnr li:first-child a { background-image: var(--wpr-bg-b0bc1743-bbc3-4cd2-8284-f9b9b58f0866);}
.top_bnr li:last-child a { background-image: var(--wpr-bg-600d9d0b-a939-426f-bd26-bffd6289fa56);}
.top_bnr span { display: block; width: 380px; font-size: 1.35em; letter-spacing: 0.05em; padding: 25px;}
.top_bnr span:after { content: ""; position: absolute; top: 5px; right: 5px; bottom: 5px; left: 5px; border: solid 1px #403937;}

.top_sec05 .box { display: flex; justify-content: space-between;}
.top_sec05 .box section { width: 48%; background: #f9f8f8; padding: 10px; position: relative; z-index: 100;}
.top_sec05 .border { border: solid 1px #fff; padding: 0px 4% 50px;}
.top_sec05 h2 { transform: translateY(calc(-50% - 10px));}
.top_sec05 .sec01 dl { display: table; width: 100%; border-bottom: dotted 1px #3c3c3c; padding-bottom: 20px; margin-bottom: 20px;}
.top_sec05 .sec01 dl:last-of-type { margin-bottom: 40px;}
.top_sec05 .sec01 dl > * { display: table-cell; vertical-align: top;}
.top_sec05 .sec01 dt { width: 7em;}

.top_sec05 .art { display: flex; justify-content: space-between; margin-bottom: 40px;}
.top_sec05 .art figure { width: 35%;}
.top_sec05 .art .box_inner { width: 60%;}
.top_sec05 .art .pos_ab { z-index: 50; left: 8px; top: 0px; transform: translateY(-50%);}
.top_sec05 .date_wrap { font-size: 0.95em; margin-bottom: 5px;}

.date_wrap { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center;}
.category li { display: inline-block; margin: 0px 0px 5px 0.7em;}
.category a { display: block; background: #fff; border: solid 1px #6aa9c0; color: #6aa9c0; text-decoration: none; text-align: center; border-radius: 30px; line-height: 1.4; padding: 0px 1em; transition: 0.2s;}
.category a:hover { color: #fff; background: #6aa9c0;}


/*------------------------------------------------------

	下層ページ

------------------------------------------------------*/

.show_sp { display: none;}
.over_hidden { overflow: hidden;}

.img_hover { overflow: hidden;}
.img_hover a img { transition: 0.3s;}
.img_hover a:hover img { transform: scale(1.05);}

/* 下層共通 */
.more_btn a {
	font-family: 'Noto Sans JP', sans-serif;
	display: inline-block;
	line-height: 1.6;
	color: #fff !important;
	background: #82b582;
	padding: 10px 35px 13px;
	text-decoration: none !important;
	text-align: center;
	min-width: 300px;
	border-radius: 50px;
	position: relative;
	transition: 0.3s;
}
.more_btn a:after { content: ""; display: inline-block; position: absolute; background: var(--wpr-bg-adb2652c-a52c-47f6-8503-679ad9ffd623) no-repeat center center; background-size: 100% auto; width: 15px; height: 18px; right: 12px; top: 50%; transform: translateY(-50%);}
.more_btn a:hover { transform: translate(2px, 2px);}

.more_btn02 a { display: inline-block; background: #fff; border: solid 1px #3f3837; border-radius: 60px; text-align: center; text-decoration: none; font-family: 'Noto Sans JP', sans-serif; min-width: 300px; line-height: 1.6; color: #3f3837; padding: 10px; transition: 0.2s;}
.more_btn02 a:hover { transform: translate(3px,3px);}
.more_btn02 a:after { content: ""; display: inline-block; background: var(--wpr-bg-09d77898-ff15-490a-8bac-39705f8eea04) no-repeat center center; background-size: 100% auto; width: 16px; height: 19px; vertical-align: middle; margin-left: 0.5em; transform: translateY(-0.1em);}

.heading_wood { text-align: center;}
.heading_wood span { display: inline-block; width: 400px; border: solid 1px #403937; font-size: 1.5em; line-height: 1.6; letter-spacing: 0.1em; padding: 5px; position: relative;}
.heading_wood span:before { content: ""; position: absolute; top: 5px; right: -7px; bottom: -7px; left: 5px; background: var(--wpr-bg-e70b196c-11c2-4b43-86e3-23636f97e20b); background-size: cover; z-index: -1;}

.heading_wood.service span { font-size: 2.7em; width: 550px;}
.heading_wood.service span:before { top: 8px; right: -10px; bottom: -10px; left: 8px;}


/* ----------------------------
	固定ページテンプレート
---------------------------- */

.mainimage img { width: 100%; height: auto;}

.pagettl { font-size: 2.6em; line-height: 1.4; color: #fff; text-shadow: 1px  1px 0px #403937, -1px  1px 0px #403937, 1px -1px 0px #403937, -1px -1px 0px #403937, 1px  0px 0px #403937, 0px  1px 0px #403937, -1px  0px 0px #403937, 0px -1px 0px #403937;}

.main_contents { max-width: 1030px; margin: auto; padding: 0px 15px;}
.main_contents:last-child { margin-bottom: 100px;}

.catchcopy { font-family: 'Noto Sans JP', sans-serif; font-size: 2em; text-align: center; line-height: 1.5; margin-bottom: 100px;}

.box30 { display: flex; flex-wrap: wrap; margin: auto -2%;}
.box30 > div { width: 29.3333%; margin: 0px 2% 50px;}

.ttl01 { position: relative; padding-left: 25px;}
.ttl01:before { content: ""; position: absolute; left: 0px; top: 0.2em; background: var(--wpr-bg-5d4f747c-803f-4470-8cab-2223d714cacf) no-repeat center center; background-size: 100% auto; width: 20px; height: 18px;}

.box50 { display: flex; justify-content: space-between; flex-wrap: wrap;}
.box50 > div { width: 48%; margin: 0px 0px 50px; background: #fff;}
.box50 figure img { width: 100%; height: auto;}
.blog_content .box50 h5 { font-size: 1.5em;}

.blog_content .box50 h5.square { padding-left: 27px;}
.blog_content .box50 h5.square:before { border-radius: 0px; width: 18px; height: 18px; background: #403937;}
.blog_content .box50 h5.border { padding: 0px 0px 7px; border-bottom: dashed 1px #3f3837;}
.blog_content .box50 h5.border:before { display: none;}

.img_wide { margin-bottom: 80px; text-align: center;}
.img_wide img { width: 100%; height: auto;}

.imgbox { margin: 100px auto; max-width: 1230px; padding: 0px 15px; position: relative;}
.imgbox .box_inner { width: 600px; padding: 7% 6%; bottom: 0px; z-index: 100;}
.imgbox h3 { font-size: 2em;}

.img_left .box_inner { border-top-left-radius: 40px; right: 0px;}
.img_right .box_inner { border-top-right-radius: 40px; left: 0px;}

.box_img_left { display: flex; justify-content: space-between;}
.box_img_left figure { width: 45%;}
.box_img_left > div { width: 50%;}
.blog_content .box_img_left h6 { font-size: 1.4em;}
.blog_content .box_img_left h6.image { border: none; display: inline-block; padding: 0px 20px; font-size: 1.3em; position: relative;}
.blog_content .box_img_left h6.image:before, .blog_content .box_img_left h6.image:after { content: ""; position: absolute; top: 50%; transform: translateY(-50%); background: var(--wpr-bg-be9f1a70-ad32-4b23-b8a1-8915560ff809) no-repeat center center; background-size: 100% auto; width: 19px; height: 30px;}
.blog_content .box_img_left h6.image:before { left: -8px;}
.blog_content .box_img_left h6.image:after { right: -8px; transform: translateY(-50%) scale(-1,1);}

.ico_arrow01, .ico_arrow02, .ico_arrow03, .ico_arrow04, .ico_arrow05 { padding-left: 33px; position: relative;}
.ico_arrow01:before, .ico_arrow02:before, .ico_arrow03:before, .ico_arrow04:before, .ico_arrow05:before { content: ""; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; width: 25px; height: 25px; left: 0px; top: 0.1em;}
.ico_arrow01:before { background-image: var(--wpr-bg-1f9d16f8-0b1b-4f4d-bd35-ca0a95290609);}
.ico_arrow02:before { background-image: var(--wpr-bg-5a36e4fd-7044-4afe-82e4-84c36dedd7f5);}
.ico_arrow03:before { background-image: var(--wpr-bg-758bd053-9987-4dfc-8e07-fb4b285ca83c);}
.ico_arrow04:before { background-image: var(--wpr-bg-0166e2bf-5d04-4cc7-8864-03383b737c00);}
.ico_arrow05:before { background-image: var(--wpr-bg-be1d5a37-fa58-4883-ae62-2ae9ecdfb534);}

.faq_sec { margin: 80px 0px;}
.faq_sec dt, .faq_sec dd { position: relative; padding-left: 58px;}
.faq_sec dt:before, .faq_sec dd:before { content: ""; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; width: 40px; height: 40px; left: 0px; top: 0px;}
.faq_sec dt:before { background-image: var(--wpr-bg-14da0091-76ac-4a23-b616-6e9812e16d9b);}
.faq_sec dd:before { background-image: var(--wpr-bg-2f7fe64f-d877-43ab-bb4c-59ca514ceca7);}
.faq_sec dt { padding-bottom: 15px; border-bottom: dotted 1px #ccc; margin-bottom: 15px; font-size: 1.5em; line-height: 1.5; padding-top: 0.1em; font-weight: bold;}
.faq_sec dd { padding-top: 0.3em;}

.blog_content .step_sec01 h2, .blog_content .step_sec02 h2 { font-size: 1.7em; position: relative;}
.step_sec01 { display: flex; justify-content: space-between; margin-bottom: 80px;}
.step_sec01 > figure { width: 36%; align-self: flex-start;}
.step_sec01 > div { width: 60%;}
.step_sec01 .num { font-size: 5.8em; line-height: 0.9;}
.step_sec01 figure .pos_ab { right: -60px; bottom: -40px;}

.step_sec02 { display: flex; justify-content: space-between; align-items: center; margin: 80px 0px;}
.step_sec02 > figure { width: 35%;}
.step_sec02 > figure img { border-radius: 100%; border: solid 10px #b1a6a3;}
.step_sec02 > div { width: 60%;}
.step_sec02 figcaption { top: -30px; left: 0px; font-size: 3.7em; line-height: 1; letter-spacing: 0.03em;}
.step_sec02 .num { font-size: 1.2em;}
.blog_content .step_sec02 h2 { padding-bottom: 8px;}
.blog_content .step_sec02 h2:before { content: ""; position: absolute; right: 0px; left: -80px; z-index: -1; bottom: 0px; border-bottom: dashed 1px #403937;}

/* ----------------------------
	contact
---------------------------- */

.contact_sec01 { max-width: 830px; margin: auto;}

.contact_sec dl { display: table; width: 100%; border-bottom: dashed 1px #ddd; padding-bottom: 20px; margin-bottom: 20px;}
.contact_sec dl:last-of-type { border-bottom: none;}
.contact_sec dt, .contact_sec dd {
	display: table-cell;
	vertical-align: middle;
}
.contact_sec dt {
	width: 14em;
	font-weight: bold;
}
.contact_sec .hissu {
	font-size: 0.7em;
	font-weight: bold;
	color: #fff;
	line-height: 1;
	border-radius: 3px;
	padding: 5px;
	background-color: #FF6467; /* 赤 */
}

.contact_sec dt .hissu {
	float: right;
}

.contact_sec dt .ninni {
	font-size: 0.7em;
	font-weight: bold;
	color: #fff;
	line-height: 1;
	border-radius: 3px;
	padding: 5px;
	background-color: #4c6cb3; /* 青系（任意） */
	float: right;
}

.contact_sec h3 .hissu {
	display: inline-block;
	margin-left: 0.3em;
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.6em;
	vertical-align: top;
	margin: 0.3em 0px 0px 0.8em;
}

.contact_sec h3 .ninni {
	display: inline-block;
	margin-left: 0.3em;
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.6em;
	vertical-align: top;
	margin: 0.3em 0px 0px 0.8em;
	color: #fff;
	background-color: #4c6cb3;
	padding: 5px;
	border-radius: 3px;
	font-weight: bold;
	line-height: 1;
}

.contact_sec dd { padding-left: 20px;}
.contact_sec input[type="text"], .contact_sec input[type="email"], .contact_sec textarea, .contact_sec select {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 1.1em;
	border: solid 2px #ddd;
	border-radius: 5px;
	padding: 5px;
	width: 100%;
}
.contact_sec select { font-size: 16px; -webkit-appearance: menulist-button; height: 40px; line-height: 40px;}
.contact_sec .width_auto input[type="text"], .contact_sec .width_auto select { width: auto; max-width: 100%;}

.contact_sec .btn_area input { display: inline-block; min-width: 300px; background: #82b582; color: #fff; padding: 12px 30px; text-align: center; line-height: 1.6; font-weight: bold; text-decoration: none !important; transition: 0.3s; cursor: pointer; -webkit-appearance: none; font-size: 1.05em; margin: 0px 10px 10px; font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif; border-radius: 5px; border: solid 1px #82b582;}
.contact_sec .btn_area input:hover { background: #fff; color: #82b582;}
.contact_sec .btn_area input:focus { outline: 0;}

.mwform-checkbox-field label, .mwform-radio-field label { margin-right: 1.2em; display: inline-block;}
.mwform-checkbox-field input, .mwform-radio-field input { transform: scale(1.2); margin: -0.2em 0.3em 0px 0px;}
.mw_wp_form .horizontal-item + .horizontal-item { margin-left: 0px !important;}

.mw_wp_form .error {
	background-color: #F7CCE6;
	border: #ee4d89 solid 1px;
	border-radius: 3px;
	color: #EE4D89;
	display: inline-block;
	vertical-align: middle;
	font-size: 75%;
	padding: 3px 5px 2px;
	margin-left: 5px;
}
.confirm_show { display: none;}
.mw_wp_form_confirm .confirm_show { display: block;}
.mw_wp_form_confirm .confirm_hidden { display: none !important;}


/* ------------------------
	投稿
------------------------ */

.blog_bg { padding-bottom: 1px;}
.blog_wrap { display: flex; justify-content: space-between; align-items: flex-start; max-width: 1330px; padding: 0px 15px; margin: auto; position: relative; z-index: 100;}
.contents { width: calc(100% - 370px); border: dashed 1px #403937; box-shadow: 0px 0px 0px 15px #fff; border-radius: 40px; padding: 4%; position: relative; z-index: 100;}
.rNavi { width: 320px;}
.rNavi:before, .rNavi:after { content: ""; display: table; background: var(--wpr-bg-bf8602a7-73d8-4c1a-b09b-49ec4a7df46a) no-repeat center center; background-size: 100% auto; width: 95px; height: 43px; margin: auto;}
.rNavi:before { margin: -30px auto 20px;}
.rNavi:after { transform: scale(-1,1);}

/* サイドバー */
.rNavi .heading_wood span { width: 100%;}
.rNavi a { color: #3c3c3c;}
.rNavi a:hover { color: #f19ca6;}

.side_sec01 dl { padding: 0px 0.5em 15px; position: relative; margin-bottom: 15px; line-height: 1.6; padding-bottom: 15px; border-bottom: dashed 1px #403937;}

.side_sec02 li { margin-bottom: 3px; padding-left: 15px; position: relative;}
.side_sec02 li:before { content: ""; position: absolute; left: 0px; top: 0.5em; width: 10px; height: 10px; border-radius: 100%; background: #f08a46;}

.side_sec03 select {
	width: 100%;
	padding: 10px 15px;
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 1em;
	border: solid 1px #403937;
	border-radius: 60px;
	-webkit-appearance: menulist-button;
	height: 50px;
	line-height: 50px;
}
.side_sec03 select:focus { outline: none;}

/* 記事ヘッダー */
.blog_header h1 { display: table; font-size: 2.5em; line-height: 1.5; border-bottom: dashed 1px #403937; padding: 0px 0px 5px 42px; position: relative; color: #fff; text-shadow: 1px  1px 0px #403937, -1px  1px 0px #403937, 1px -1px 0px #403937, -1px -1px 0px #403937, 1px  0px 0px #403937, 0px  1px 0px #403937, -1px  0px 0px #403937, 0px -1px 0px #403937;}
.blog_header h1:before { content: ""; position: absolute; background: #82b582; width: 26px; height: 26px; border-radius: 100%; left: 0px; top: 0.4em;}
.blog_header h1 a { color: #fff; text-decoration: none;}
.blog_header h1 a:hover { opacity: 0.7;}
.cat_wrap { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.cat_wrap li { display: inline-block; vertical-align: middle; margin: 0px 0.7em 8px 0px;}
.cat_wrap p { margin-bottom: 8px;}
.blog_header .category a { border-color: #82b582; color: #403937; padding: 5px 1em;}
.blog_header .category a:hover { background-color: #82b582; color: #fff;}

/* 本文 */
.blog_content p:last-child { margin-bottom: 30px;}
.blog_content h2 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2.5em;
	line-height: 1.5;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h3 {
	display: inline;
	background: linear-gradient(transparent 75%, #fbe2d1 0%);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2em;
	line-height: 1.5;
	clear: both;
	position: relative;
	margin-bottom: 30px;
}
.blog_content h3:after { content: ""; display: block; width: 100%; height: 30px;}
.blog_content h3.img { display: block; background: none; padding-left: 65px;}
.blog_content h3.img:before { content: ""; background: var(--wpr-bg-2a3594ec-0ceb-4ed1-98c7-bb73c962ac47) no-repeat center center; background-size: 100% auto; width: 51px; height: 62px; position: absolute; top: 50%; transform: translateY(-50%); margin-left: -65px;}
.blog_content h3.img:after { display: none;}
.blog_content h4 {
	border-bottom: solid 3px #403937;
	padding-bottom: 15px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8em;
	line-height: 1.5;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h5 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8em;
	line-height: 1.5;
	padding-left: 35px;
	position: relative;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h5:before { content: ""; position: absolute; width: 25px; height: 25px; border-radius: 100%; background: #82b582; left: 0px; top: 0.4em;}
.blog_content h6 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8em;
	line-height: 1.5;
	border-bottom: dotted 2px #403937;
	padding-bottom: 10px;
	clear: both;
	margin-bottom: 30px;
}

/* 引用 */
.blog_content blockquote {
	position: relative;
	padding: 20px 6%;
	margin-bottom: 70px;
	border: solid 25px #fff;
	outline: solid 1px #403937;
	background: #f9f8f8;
	clear: both;
}
.blog_content blockquote:before, .blog_content blockquote:after { content: ""; position: absolute; background: var(--wpr-bg-fffe7a43-1f16-4b22-ab25-2e76ac1e2b2b) no-repeat center center #fff; background-size: auto 100%; width: 50px; height: 23px;}
.blog_content blockquote p:last-child { margin-bottom: 0px !important;}
.blog_content blockquote:before { left: 10px; top: -25px; transform: translateY(-50%);}
.blog_content blockquote:after { right: 10px; bottom: -25px; transform: translateY(50%) scale(-1,-1);}

/* リスト */
.blog_content ul { margin-bottom: 30px; clear: both;}
.blog_content li { position: relative; padding-left: 23px;}
.blog_content li:before { content: ""; position: absolute; left: 0px; top: 0.4em; width: 15px; height: 15px; border-radius: 100%; background: #f08a46;}
.blog_content li li:before {
	width: 0;
	height: 0;
	left: 0.3em;
	top: 0.55em;
	border-style: solid;
	border-width: 0 5px 8px 5px;
	border-color: transparent transparent #3c3c3c transparent;
	border-radius: 0px;
	background: none;
}

.blog_content ol { margin-bottom: 30px; padding-left: 2em;}
.blog_content ol li { list-style: outside decimal;}

/* テーブル */
.blog_content table {
	clear: both;
	margin-bottom: 30px;
	width: 100%;
}
.blog_content table th, .blog_content table td { padding: 7px 1em; vertical-align: top; border: solid 1px #77b477;}
.blog_content table th { background: #b4d8b4; font-weight: bold;}

.blog_content table.gray th, .blog_content table.gray td { border-color: #403937;}
.blog_content table.gray th { background: #f9f8f8;}

.blog_content iframe { max-width: 100%;}

.blog_content strong { font-weight: bold;}
.blog_content em { font-weight: bold; color: #f08a46;}

.blog_content a { color: #77b477; text-decoration: none;}
.blog_content a:hover { color: #f08a46; text-decoration: underline;}
.blog_content a.icon { background: var(--wpr-bg-336d9bde-dc31-46e3-b604-1b3c81457625) no-repeat left 50%; padding-left: 20px;}
.blog_content a.icon:hover { background-image: var(--wpr-bg-e6175a1d-7bb9-43c3-9d1c-10155acd52c2);}
.blog_content a.box { background: var(--wpr-bg-e61e05c8-da19-41c3-a98e-4e49bfa6e1fc) no-repeat 15px 50%; border-left: solid 8px #77b477; border-bottom: dotted 1px #77b477; padding: 5px 15px 7px 35px; display: inline-block;}
.blog_content a.box:hover { background-image: var(--wpr-bg-28c766de-cff3-4cec-aae0-721b542c3e2b);}

.blog_content a.btn01, .blog_content a.btn02, .blog_content a.btn03 { display: inline-block; min-width: 250px; font-weight: bold; position: relative; transition: 0.3s; text-align: center; text-decoration: none; line-height: 1.6; color: #fff; padding: 8px 30px;}
.blog_content a.btn01:hover, .blog_content a.btn02:hover, .blog_content a.btn03:hover { transform: translate(3px, 3px);}

.blog_content a.btn01 { border-radius: 60px; background: #82b582;}
.blog_content a.btn01:after { content: ""; position: absolute; background: var(--wpr-bg-8eba9e4c-dfe8-41a5-99ae-1064b298f3eb) no-repeat center center; width: 15px; height: 18px; right: 15px; top: 50%; transform: translateY(-50%);}

.blog_content a.btn02 { background: #f08a46; border-radius: 60px; padding: 10px 15px;}
.blog_content a.btn02:after { content: ""; position: absolute; top: 3px; right: 3px; bottom: 3px; left: 3px; border-radius: 55px; border: solid 1px #fff;}

.blog_content a.btn03 { background: #f9f8f8; color: #3c3c3c; border: solid 1px #3c3c3c; outline: solid 3px #f9f8f8;}
.blog_content a.btn03:after {
	content: "";
	right: 20px;
	top: 50%;
	position: absolute;
    width: 13px;
    height: 13px;
    border-top: 1px solid #3c3c3c;
    border-right: 1px solid #3c3c3c;
    transform: rotate(45deg) translateY(-65%);
}

.blue_box { background: #e5f4f8; border-radius: 10px; padding: 1em;}
.blue_box p:last-child { margin-bottom: 0px;}


/* tag */
.tag li { display: inline-block; vertical-align: top; margin: 0px 10px 10px 0px;}
.tag li a { display: block; text-decoration: none; color: #3c3c3c; line-height: 1.5; padding: 3px 1.2em; border-right: solid 12px #6c5752; background: #d3b8a3; transition: 0.2s;}
.tag li a:hover { transform: translate(2px,2px);}

/*WP用 投稿表示*/
img.aligncenter { display: block; margin: 0px auto 20px;}
img.alignright { margin: 0px 0 20px 20px; float: right;}
img.alignleft { margin: 0px 20px 20px 0; float: left;}

/* ページャー(アーカイブ) */
.pagination .number { position: absolute; left: 0px; top: 5px;}
.pagination span.current, .pagination a {
	margin: 0px 5px 8px;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
	min-width: 35px;
	height: 35px;
	line-height: 35px;
	padding: 0px 8px;
	background-color: #f2f2f2;
	color: #3c3c3c;
}
.pagination span.current, .pagination a:hover { background: #6c5752; color: #fff;}

/* ページャー(シングル) */
.pager ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
.pager li { margin: 0px 5% 5px;}
.pager a { color: #3c3c3c; display: block; position: relative;}
.pager a:hover { color: #f08a46;}
.pager .previous a:before, .pager .next a:before { content: ""; position: absolute; top: 50%; transform: translateY(-50%); background: var(--wpr-bg-d7828d2f-e652-4e86-aa40-1531c7b6458e) no-repeat center center; background-size: 100% auto; width: 16px; height: 16px;}
.pager .previous a:before { left: -23px;}
.pager .next a:before { right: -23px; transform: translateY(-50%) scale(-1,1);}

/* 関連記事 */
.blog_related > ul { display: flex; margin: auto -2%; flex-wrap: wrap;}
.blog_related > ul > li { width: 29.3333%; margin: 0px 2% 35px;}
.blog_related .cat_wrap li { margin: 0px 0px 8px 0.5em;}
.blog_related .cat_wrap a { padding: 3px 1em 1px; background: #82b582; color: #fff; border: solid 1px #82b582;}
.blog_related .cat_wrap a:hover { color: #82b582; background: #fff;}

.breadcrumb { padding-left: 50px;}
.breadcrumb:before { content: ""; position: absolute; left: 0px; top: 50%; transform: translateY(-50%); background: var(--wpr-bg-e61a8236-b90c-4150-9932-1e6e2ffb481c) no-repeat center center; background-size: 100% auto; width: 36px; height: 44px;}


/*======================================
	背景
=======================================*/

.bgblue {background-color:#ddecfc;}
.bgyellow {background-color:#fffc00;}
.bgyellow2 {background-color:#fbfad0;}
.bgpink{background-color:#fde2fa;}
.bggreen{background-color:#e7fbdb;}
.bgred{background-color:red;}

/*======================================
	色
=======================================*/
.boxes{border: 1px dotted #777;padding:8px;}
.col-red {color:#f01c53;}
.col-red2 {color:#f01c1c;}
.col-red3 {color:#b02727;}
.col-blue {color:#3427b0;}
.col-blue2 {color:#2741b0;}
.col-blue3 {color:#183fe7;}
.col-pink{color:#f431a9;}
.col-pink2{color:#fb8174;}
.col-pink3{color:#ff7567;}
.col-yellow{color:#beae22;}
.col-yellow2{color:#e2cd17;}
.col-yellow3{color:#b3a63b;}
.col-green{color:#3bb357;}
.col-green2{color:#1e7132;}
.col-green3{color:#33840c;}
.col-purple{color:#861ddf;}
.col-purple2{color:#b16dea;}
.col-orange{color:#e49915;}
.col-mizu{color:#17cda0;}
.col-gray{color:#999;}
.col-gray2{color:#666666;}


/* ------------------------
	service
------------------------ */

.use_sec_wrap { padding: 70px 15px 1px;}
.service_art .back_image01 { z-index: 100; margin-top: -50px; padding: 60px 0px 1px;}
.service_art .catch { font-size: 1.35em; line-height: 1.6;}
.service_art .desc_box { max-width: 725px; margin: auto; padding: 4%;}
.service_art .desc_box:before, .service_art .desc_box:after { content: ""; position: absolute; background: var(--wpr-bg-a2363c81-99b4-4650-9e59-e8a95b7bceb5) no-repeat center center; background-size: 100% auto; width: 60px; height: 60px;}
.service_art .desc_box:before { top: -8px; left: -8px;}
.service_art .desc_box:after { bottom: -8px; right: -8px; transform: rotate(180deg);}

.plan_test { font-size: 1.4em;}
.plan_test .underline { background: linear-gradient(transparent 80%, #f6df71 0%);}
.plan_test .underline.pink { background: linear-gradient(transparent 80%, #f3b0cb 0%);}
.plan_test .underline.blue { background: linear-gradient(transparent 80%, #84c9ef 0%);}
.plan_test .underline.green { background: linear-gradient(transparent 80%, #a6d081 0%);}
.plan_test .underline.purple { background: linear-gradient(transparent 80%, #b49ed8 0%);}

.type_header { font-size: 1.6em;}
.type_header .dl02 dt { width: 140px; height: 140px; margin: 0px 10px;}

.accordion_btn span { display: inline-block; font-size: 1.5em; letter-spacing: 0.05em; line-height: 1.6; cursor: pointer; border: solid 3px #96514d; border-radius: 60px; padding: 13px 70px 15px 35px; transition: 0.3s;}
.accordion_btn span:hover { opacity: 0.7;}
.accordion_btn span:after {
	content: "";
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 13px 0 13px;
	border-color: #96514d transparent transparent transparent;
}
.accordion_btn span.open:after { content: "×"; border: none; font-size: 1.3em; color: #96514d; width: auto; height: auto; top: 47%;}

.accordion_main { padding-top: 60px; display: none;}
.accordion_main > ul { max-width: 980px; margin: auto; display: flex; flex-wrap: wrap;}
.accordion_main > ul > li { width: calc(33.3333% - 30px); margin: 0px 15px 40px;}
.accordion_main .ttl_dl { display: flex; align-items: flex-end; flex-wrap: wrap; font-size: 1.2em; line-height: 1.6; margin-bottom: 15px; color: #96514d;}
.accordion_main .ttl_dl dt { font-size: 1.8em; line-height: 1.4; letter-spacing: 0.05em; margin-right: 0.4em; color: #96514d;}

.accordion_btn_blue span { 
    display: inline-block; 
    font-size: 1.5em; 
    letter-spacing: 0.05em; 
    line-height: 1.6; 
    cursor: pointer; 
    border: solid 3px #4d8cbf !important; /* 青色のボーダー */
    border-radius: 60px; 
    padding: 13px 70px 15px 35px; 
    transition: 0.3s;
}
.accordion_btn_blue span:after {
    border-color: #4d8cbf transparent transparent transparent !important; /* 青色の矢印 */
}
.accordion_btn_blue span.open:after { 
    content: "×"; 
    border: none; 
    font-size: 1.3em; 
    color: #4d8cbf !important; /* 青色の「×」マークに優先度を付与 */
    width: auto; 
    height: auto; 
    top: 47%;
}

.plan_sec01 .accordion_btn span { border-color: #e68547;}
.plan_sec01 .accordion_btn span:after { border-color: #e68547 transparent transparent transparent;}
.plan_sec01 .accordion_btn span.open:after { color: #e68547;}
.plan_sec01 .accordion_main .ttl_dl dt { color: #e68547;}

.plan_sec02 .accordion_btn span { border-color: #77b477;}
.plan_sec02 .accordion_btn span:after { border-color: #77b477 transparent transparent transparent;}
.plan_sec02 .accordion_btn span.open:after { color: #77b477;}
.plan_sec02 .accordion_main .ttl_dl dt { color: #77b477;}

.plan_sec03 .accordion_btn span { border-color: #d17eb1;}
.plan_sec03 .accordion_btn span:after { border-color: #d17eb1 transparent transparent transparent;}
.plan_sec03 .accordion_btn span.open:after { color: #d17eb1;}
.plan_sec03 .accordion_main .ttl_dl dt { color: #d17eb1;}

.plan_sec04 .accordion_btn span { border-color: #5486bd;}
.plan_sec04 .accordion_btn span:after { border-color: #5486bd transparent transparent transparent;}
.plan_sec04 .accordion_btn span.open:after { color: #5486bd;}
.plan_sec04 .accordion_main .ttl_dl dt { color: #5486bd;}

.option_box section { display: flex; justify-content: space-between; align-items: flex-start; max-width: 700px; margin: auto;}
.option_box section .num { width: 60px; height: 60px; border-radius: 100%; line-height: 53px; font-size: 1.5em; border: solid 1px #000;}
.option_box section:not(:last-child) { margin-bottom: 60px;}
.option_box section .box01 { width: calc(100% - 85px);}
.option_box dl { display: flex; justify-content: space-between; align-items: center; position: relative; font-size: 1.1em; margin-bottom: 25px;}
.option_box dl:before { content: ""; position: absolute; width: 100%; height: 1px; background: #000; z-index: -1; left: 0px; top: 50%;}
.option_box dt, .option_box dd { background: #fff;}
.option_box dt { padding-right: 0.5em;}
.option_box dd { font-size: 1.9em; line-height: 1.2; padding-left: 0.4em;}
.option_box dd span { font-size: 0.5em;}

.top_sec03.archive { z-index: 100; margin-top: -50px; padding-top: 60px;}
.top_sec03.archive h2 { transform: none;}


.faq_add { margin-top: 60px;}
.blog_content .faq_add h3 { background: none; font-size: 2.1em; letter-spacing: 0.1em;}
.blog_content .faq_add h3 span { background: linear-gradient(transparent 75%, rgba(234,168,47,0.4) 0%);}
.faq_add dl { display: flex; font-size: 1.45em; margin-bottom: 30px; letter-spacing: 0.1em;}
.faq_add dt { width: 1.5em;}
.faq_add dd { border-bottom: dashed 1px #6b5651; padding-right: 1em;}
.faq_add dd .pos_ab { margin: -5px 0px 0px 10px;}
.blog_content .faq_add li { padding-left: 0px;}
.blog_content .faq_add li:before { display: none;}


.archive_list { display: flex; flex-wrap: wrap; margin: auto -1.5%;}
.archive_list li { width: 30.3333%; margin: 0px 1.5% 40px;}


/* voice */
.voice_wrap { padding: 80px 0px 1px; position: relative; z-index: 10;}
.voice_nav ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
.voice_nav a, .voice_list figcaption a { display: block; background: #fff; font-size: 1.2em; line-height: 1.4; border-radius: 40px; padding: 4px 1em 6px; min-width: 6.5em; margin: 0px 0.5em 10px; text-decoration: none; border: solid 2px #a6d081;}
.voice_nav .self a, .voice_list .self a { border-color: #f6df71;}
.voice_nav .pair a, .voice_list .pair a { border-color: #f3b0cb;}
.voice_nav .deseased a, .voice_list .deseased a { border-color: #84c9ef;}
.voice_nav .history a, .voice_list .history a { border-color: #b49ed8;}
.voice_wrap .back_white { border: dashed 1px #999; box-shadow: 0px 0px 0px 15px #fff; border-radius: 30px; padding: 60px;}

.voice_list { display: flex; margin: 0px -15px; flex-wrap: wrap;}
.voice_list li { width: calc(33.3333% - 30px); margin: 0px 15px 40px; line-height: 1.5;}
.voice_list figure { overflow: hidden;}
.voice_list figure img { transition: 0.3s;}
.voice_list figure a:hover img { transform: scale(1.05);}
.voice_list figcaption { top: 8px; left: 8px;}
.voice_list figcaption a { font-size: 0.95em; padding: 1px 0.5em 3px; margin: 0px;}
.voice_list h3 { font-size: 1.15em;}


.voice_head dl { display: table; width: 100%;}
.voice_head dt, .voice_head dd { display: table-cell; vertical-align: middle;}
.voice_head dt { width: 11.5em;}
.voice_head dt a { margin: 0px;}
.voice_head dd { padding-left: 1em;}
.voice_head h1 { font-size: 1.8em; line-height: 1.4;}