@charset "utf-8";

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

	グローバル

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

body { min-width: 0px; font-size: 0.85em;}

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

.hidden_s { display: none !important;}

.mb40-20 { margin-bottom: 20px !important;}
.mb60-30 { margin-bottom: 30px !important;}
.mb80-40 { margin-bottom: 40px !important;}
.mb100-60 { margin-bottom: 60px !important;}
.mb120-60 { margin-bottom: 60px !important;}
.mb120-80 { margin-bottom: 80px !important;}
.mb160-80 { margin-bottom: 80px !important;}

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

.header .box01 { padding: 10px 15px; display: block;}
.header h1 img { width: auto !important; height: 50px !important;}

.clone-nav { display: none;}

.fixed_btn { right: 55px; top: 0px; width: 50px;}
.fixed_btn:hover { transform: none; opacity: 0.7;}

/* ------------------------
	グローバルナビ
------------------------ */

/* ハンバーガーメニュー */
.humberger {
	background: #77b477;
	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) {
  -webkit-transform: translateY(6px) rotate(-45deg);
	  -ms-transform: translateY(6px) rotate(-45deg);
		  transform: translateY(6px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
	  -ms-transform: translateY(-10px) rotate(45deg);
		  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 {
	background: var(--wpr-bg-eddbf97f-6d8e-46df-81e2-56fe56d80f55);
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0px;
	height: 100%;
	width: 100%;
	transition: .5s;
	padding-bottom: 30px;
}
.sp-navi .logo { padding: 10px 0px 10px 15px; background: #fff;}
.sp-navi .logo img { width: auto; height: 50px !important;}
.sp-navi .list01 a { color: #000;}
.sp-navi .list01 li > a, .sp-navi .list01 li > span { display: block; text-decoration: none; border-bottom: solid 1px #fff; padding: 7px 5px 7px 40px; font-size: 1.15em; position: relative;}
.sp-navi .list01 > li > a:before, .sp-navi .list01 > li > span:before { content: ""; position: absolute; left: 15px; top: 50%; margin-top: -1.5px; width: 10px; height: 3px; background-color: #77b477;}
.sp-navi .list01 > li li a { display: block; text-decoration: none; border-bottom: dashed 1px #fff; padding: 7px 5px 7px 55px; font-size: 1.15em; position: relative;}
.sp-navi .list01 > li li a:before { content: ""; position: absolute; left: 30px; top: 50%; margin-top: -0.5px; width: 10px; height: 1px; background-color: #77b477;}


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

.footer .box01 { padding: 35px 0px;}
.footer .box01 .box { width: auto; outline: solid 5px rgba(255,255,255,0.3); padding: 30px 10px;}
.footer .box01 .btn_area a { font-size: 1.05em; padding: 20px 10px 25px;}
.footer .box01 .btn_area a:before { width: 20px; height: 10px;}
.footer .box01 .btn_area a:after { top: 3px; right: 3px; bottom: 3px; left: 3px;}

.footer_tel .tel { margin-right: 15px;}
.footer_tel .tel a { font-size: 3em;}
.footer_tel .tel a:before { width: 20px; height: 30px;}

.footer .box02 { display: block;}
.footer .box02 h2 { margin-bottom: 25px;}
.footer .box02 h2 img { width: auto; height: 100px;}
.footer_nav { justify-content: space-between;}
.footer_nav ul { margin: 0px 1.5em 0px 0px;}

.footer .box03 li { margin: 5px 1em;}
.footer .box03 img { width: auto; height: 25px;}

.pagetop { width: 40px; right: 20px; padding-bottom: 20px;}


@media only screen and (max-width: 480px) {
	.footer .box01 h2 { font-size: 5.5vw;}
	.footer .box01 h3 { font-size: 5vw;}
}


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

	トップページ

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

.slide_text { left: 5px; bottom: 0px; line-height: 1; font-size: 5.5vw;}

.top_sec01 h2 { font-size: 5vw;}
.top_sec01 .box01 { padding: 0px 7% 45px;}
.top_sec01 .box01 .pos_ab { width: 100px; right: -10px; bottom: -40px;}
.top_sec01 .box01 h3 span { font-size: 1.45em;}

.top_sec02 .box_inner { border-top-left-radius: 15px; border-top-right-radius: 15px; padding: 30px 25px 0px; margin: -20px 8px auto; position: relative; z-index: 100;}
.top_sec02 figcaption { font-size: 23vw; bottom: 20px;}
.top_sec02 h3 { font-size: 1.75em;}

.use_sec h3 span { font-size: 1.8em;}

.plan_sec h3 span { font-size: 2.2em; padding: 0px 0.7em;}

.top_sec03 .sec01 ul { display: block;}
.top_sec03 .sec01 li { width: auto;}
.top_sec03 .sec01 dt { font-size: 2em; line-height: 1; position: relative; top: -0.15em;}
.top_sec03 .sec01 figure { padding: 0px 5%;}

.top_sec03 .dl01 { flex-wrap: wrap; justify-content: flex-start;}
.top_sec03 .dl01 > * { margin: 0px 1.5em 10px 0px;}
.top_sec03 .dl01 dt { width: calc(100% - 0.7em);}
.top_sec03 .dl01 dt span { display: inline-block;}

.top_sec03 .list01 li { width: 48%;}
.top_sec03 .sec02 .text01 span { font-size: 1.3em; letter-spacing: 0.05em;}
.top_sec03 .sec02 h4 { font-size: 1.8em;}
.top_sec03 .dl02 { flex-wrap: wrap;}
.top_sec03 .dl02 dt { margin-bottom: 10px;}
.top_sec03 .dl02 dd { margin-left: 15px;}
.top_sec03 .sec02 .text02 { font-size: 1.7em;}
.top_sec03 .sec02 .price { font-size: 2em;}

.top_sec04 h2 { padding: 0px 5% 10px;}
.top_sec04 .list01 li:nth-child(2) { margin-left: -18%;}
.top_sec04 .list01 .img01 { width: 18%; left: 0px; top: -20px;}
.top_sec04 .list01 .img02 { width: 17%; right: -5px; bottom: -15px;}

.top_bnr a { height: auto; padding: 40px 10%; background-size: cover;}
.top_bnr span { width: 100%; padding: 15px;}

.top_sec05 .box { display: block;}
.top_sec05 .box section { width: auto; padding: 7px;}
.top_sec05 .border { padding: 0px 15px 30px;}
.top_sec05 .sec01 dt img, .top_sec05 .art .pos_ab { width: auto; height: 17px;}

@media only screen and (max-width: 640px) {
	.use_sec .list01, .use_sec .list02 { display: block;}
	.use_sec .list01 li:last-child { margin: 4% 0px 0px;}
	.use_sec .list02 li:last-child { margin: 1.5% 0px 0px;}
	.use_sec .show_sp { display: inline;}
	
	.top_sec01 .box01 p.ta_center { text-align: left;}
	.top_sec01 .box01 .hide_sp { display: none;}
	.top_sec01 .box01 .show_sp { display: inline;}
	.top_sec03 .list01, .top_sec04 .list01 { display: block;}
	.top_sec03 .list01 li { width: auto;}
	
	.top_sec04 .list01 li:nth-child(2) { margin: 5% 0px 0px;}
	.top_sec04 .list01 .img01 { width: 30%; top: -15px;}
	.top_sec04 .list01 .img02 { width: 30%; bottom: -25px;}
}

@media only screen and (max-width: 480px) {
	.top_bnr ul { display: block;}
	.top_bnr li { width: auto;margin-bottom: 15px;}
	
	.top_sec03 .sec01 dl { font-size: 3.3vw;}
}


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

	下層ページ

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

.more_btn a { padding: 10px 35px 13px; min-width: 250px;}
.more_btn a:after { width: 11px; height: 14px;}

.more_btn02 a { min-width: 250px;}
.more_btn02 a:after { width: 11px; height: 16px;}

.heading_wood span { font-size: 1.45em; max-width: 250px;}
.heading_wood.service span { font-size: 1.8em; max-width: 515px; min-width: 250px; width: auto;}
.heading_wood.service span:before { top: 5px; right: -7px; bottom: -7px; left: 5px;}

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

.mainimage img { width: 150% !important; margin-left: -25%; max-width: initial !important;}
.mainimage:after { height: 7px;}

.pagettl { font-size: 2em;}

.main_contents:last-child { margin-bottom: 80px;}

.catchcopy { font-size: 1.5em; margin-bottom: 60px;}

.img_wide { margin-bottom: 60px;}

.ttl01 { padding-left: 22px;}
.ttl01:before { top: 0.3em; width: 15px; height: 13px;}


.imgbox { margin: 70px auto;}
.imgbox .box_inner { position: relative; width: auto; padding: 30px 6% 10px; border-top-left-radius: 20px; border-top-right-radius: 20px; margin: -50px 15px 0px; right: 0px !important; left: 0px !important;}
.imgbox.sp_under .box_inner { padding: 10px 6% 30px; border-radius: 0px; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; margin: 0px 15px -50px;}
.imgbox h3 { font-size: 1.7em;}

.blog_content .box_img_left h6.image:before, .blog_content .box_img_left h6.image:after { width: 13px; height: 25px;}

.step_sec01 .num { font-size: 4em;}
.step_sec01 figure .pos_ab { width: 50px; right: -10px; bottom: -20px;}

.step_sec02 figcaption { top: -20px; left: 0px; font-size: 3em;}

@media only screen and (max-width: 640px) {
	.box30 { display: block; margin: auto;}
	.box30 > div { width: 100%; display: flex; flex-wrap: wrap; flex-flow: column-reverse; margin: 60px 0px;}

	.box50 { display: block;}
	.box50 > div { width: 100%;}
	
	.step_sec01, .step_sec02 { flex-wrap: wrap;}
	.step_sec02.reverse { flex-flow: column-reverse;}
	.step_sec01 > figure, .step_sec01 > div, .step_sec02 > div { width: auto;}
	.step_sec01 > figure, .step_sec02 > figure { width: 75%; max-width: 400px; margin: 0px auto 20px;}
	.blog_content .step_sec02 h2:before { left: 0px;}
	.faq_sec.show_sp { display: inline;}
}



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

.contact_sec .btn_area input { background-size: 7px auto; padding: 7px 30px; min-width: 180px;}

@media only screen and (max-width: 570px) {
	.contact_sec01 h3 .show_sp { display: inline;}

	.contact_sec dl { display: block;}
	.contact_sec dt, .contact_sec dd {
		display: block;
		border-bottom: none;
		padding: 0px;
	}
	.contact_sec dt {
		width: 100%;
		margin-bottom: 10px;
	}
	.contact_sec dt span {
		display: inline-block;
		vertical-align: middle;
		padding: 3px 5px;
		float: none;
		margin-left: 10px;
	}
	.contact_sec dt br { display: none;}
	.contact_sec input[type="text"], .contact_sec input[type="email"], .contact_sec textarea, .contact_sec select { width: 100%;}
}

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

.blog_bg .pagettl.mb80-40 { margin-bottom: 50px !important;}
.blog_wrap { display: block;}
.contents { width: auto; margin-bottom: 60px; padding: 30px 15px; border-radius: 25px; box-shadow: 0px 0px 0px 9px #fff;}
.rNavi { width: auto; max-width: 500px; margin: auto;}
.rNavi:before, .rNavi:after { width: 50px; height: 25px;}
.rNavi:before { margin: 0px auto 10px;}

.blog_header.mb60 { margin-bottom: 40px !important;}
.blog_header h1 { font-size: 1.95em; padding-left: 30px;}
.blog_header h1:before { width: 17px; height: 17px; top: 0.35em;}

/* 本文 */
.blog_content h2 { font-size: 1.7em;}
.blog_content h3 { font-size: 1.6em;}
.blog_content h3.img { padding-left: 37px;}
.blog_content h3.img:before { width: 30px; height: 40px; margin-left: -37px;}
.blog_content h4, .blog_content h5, .blog_content h6 { font-size: 1.45em;}
.blog_content h5 { padding-left: 25px;}
.blog_content h5:before { width: 15px; height: 15px;}

.blog_content blockquote { padding: 25px 6%; border: solid 13px #fff;}
.blog_content blockquote:before, .blog_content blockquote:after { width: 40px; height: 14px;}
.blog_content blockquote:before { top: -13px;}
.blog_content blockquote:after { bottom: -13px;}

.blog_content li { padding-left: 18px;}
.blog_content li:before { width: 11px; height: 11px; top: 0.4em;}

.blog_content table th, .blog_content table td { padding: 5px 0.5em; font-size: 0.8em;}

.blog_content a.icon { background-size: auto 10px; padding-left: 17px;}
.blog_content a.box { background-size: auto 10px; padding: 5px 20px 5px 35px;}

.blog_content a.btn01:after { background-size: 100% auto; width: 10px; height: 13px; right: 12px;}

.pagination .number { position: static; margin-right: 15px;}

.pager .previous a:before, .pager .next a:before { width: 11px; height: 11px;}
.pager .previous a:before { left: -20px;}
.pager .next a:before { right: -20px;}

.breadcrumb { padding-left: 27px;}
.breadcrumb:before { width: 20px; height: 30px;}

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

@media only screen and (max-width: 640px) {
	.blog_content .step_sec01 h2, .blog_content .step_sec02 h2 { font-size: 1.25em;}

	.blog_related > ul > li { width: 46%; margin: 0px 2% 20px;}
}

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

.use_sec_wrap { padding-top: 40px;}
.service_art .back_image01 { padding-top: 45px;}
.service_art .desc_box { padding: 20px;}
.service_art .desc_box:before, .service_art .desc_box:after { width: 30px; height: 30px;}
.service_art .desc_box:before { top: -5px; left: -5px;}
.service_art .desc_box:after { bottom: -5px; right: -5px;}

.plan_test { font-size: 1.2em;}

.type_header { font-size: 1.1em;}
.type_header .dl02 dt { width: 100px; height: 100px; margin: 0px 7px 10px;}

.accordion_btn span { font-size: 1.2em; letter-spacing: 0px; line-height: 1.4; padding: 10px 50px 12px 25px;}
.accordion_btn span:after { right: 15px; border-width: 15px 10px 0 10px;}

.accordion_main { padding-top: 35px;}
.accordion_main > ul > li { width: calc(50% - 20px); margin: 0px 10px 35px;}
.accordion_main .ttl_dl dt { font-size: 1.4em;}

.option_box section .num { width: 40px; height: 40px; line-height: 35px;}
.option_box section:not(:last-child) { margin-bottom: 40px;}
.option_box section .box01 { width: calc(100% - 55px);}
.option_box dl { flex-wrap: wrap; margin-bottom: 20px;}
.option_box dl:before { top: 1em;}
.option_box dd { font-size: 1.7em;}

@media only screen and (max-width: 480px) {
	.accordion_btn span .show_sp { display: inline;}
}


.top_sec03.archive { padding-top: 45px;}


.blog_content .faq_add h3 { font-size: 1.45em; letter-spacing: 0px;}
.faq_add dl { font-size: 1.2em; letter-spacing: 0px;}
.faq_add dd { padding-right: 60px;}
.faq_add dd .pos_ab { width: 55px; margin: 0px 0px 0px 10px;}

@media only screen and (max-width: 640px) {
	.faq_add { margin-top: 130px;}
}


/* voice */
.voice_wrap { padding: 35px 0px 1px;}
.voice_nav a { font-size: 1.1em;}
.voice_wrap .back_white { box-shadow: 0px 0px 0px 10px #fff; border-radius: 20px; padding: 20px 20px 30px;}

.voice_head h1 { font-size: 1.65em;}
.voice_head dl, .voice_head dd { display: block;}
.voice_head dt { display: inline-block; margin-bottom: 10px;}
.voice_head dd { padding-left: 0px;}

@media only screen and (max-width: 640px) {
	.archive_list li { width: 47%;}

	.voice_list li { width: calc(50% - 30px);}
}

@media only screen and (max-width: 480px) {
	.voice_list li { width: calc(100% - 30px);}
}