@import "default.css";
@import "standard.css";
body {
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo, Osaka", "MS P ゴシック", "MS P Gothic", "sans-Serif";
	font-size: 16px;
	color: #333333;
}
a:hover {
	opacity: .7;
}
* {
	box-sizing: border-box;
}
/* スタイル
------------------------------------------------ */
/* ヘッダー */
header {
	width: 100%;
	max-width: 1920px;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 2;
}
header #inbox {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 10px;
	padding: 10px 0;
	padding-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 10px;
}
header h1 {
	width: 326px;
	margin: 0 40px;
}
header h1 img {
	width: 100%;
}
/* フッター */
/*バナー*/
footer #banner .bg_wrap {
	padding: 100px 0;
	background: url(/image/top/block_beige_50.png),url(/image/top/bg_wood.webp) center no-repeat;
	background-size: auto,cover;
}
footer #banner .list {
	max-width: 980px;
	width: 94%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
footer #banner .list li{
	width: 48%;
}
footer #banner .list li a{
	height: 100%;
	padding: 20px 10px;
	background: #fff;
	text-decoration: none;
	font-weight: bold;
	color: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}
footer #banner .list li.mitsumori i {
	width: 90px;
}
footer #banner .list li.kyufu i {
	width: 80px;
}
footer #banner .list li i img{
	width: 100%;
}
footer #banner .list li span{
	font-size: 28px;
	line-height: 1.6em;
	text-align: center;
	display: block;
}
footer #foot {
	max-width: 1260px;
	width: 98%;
	margin: 0 auto;
	padding: 80px 0;
	padding-bottom: 30px;
	display: flex;
	justify-content: space-between;
}
#foot .box .logo {
	width: 308px;
	margin-bottom: 20px;
}
#foot .box .logo img {
	width: 100%;
}
#foot .box .address {
	margin-bottom: 20px;
}
#foot .fnavi {
	flex: 1;
	max-width: 760px;
	padding: 30px 0;
	display: flex;
	justify-content: space-between;
}
#foot .fnavi li a {
	color: #000;
	text-decoration: none;
	position: relative;
}
#foot .contact {
	padding: 30px 34px;
	background: #FFF;
}
#foot .contact p {
	margin-bottom: 26px;
	font-size: 18px;
}
#foot .contact .wrap {
	display: flex;
	justify-content: space-between;
}
#foot .contact .form li {
	width: 260px;
}
#foot .contact .form li a {
	padding: 10px 0;
	font-size: 18px;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background: #FFB000;
	box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2), 0px 0px 2px rgba(0, 0, 0, 0.2), 0px 0px 3px rgba(0, 0, 0, 0.2), 0px 0px 4px rgba(0, 0, 0, 0.2), 0px 0px 5px rgba(0, 0, 0, 0.2);
	display: block;
}
#copyright {
	max-width: 1260px;
	width: 98%;
	margin: 0 auto;
	padding-bottom: 30px;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: .075em;
	text-indent: .075em;
}
#fixedTop {
	padding-top: 30px;
	font-weight: bold;
	color: #000;
	text-decoration: none;
	font-size: 28px;
	letter-spacing: .08em;
	text-align: center;
	display: none;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9999;
}
#fixedTop::before {
	content: "";
	display: block;
	position: absolute;
	top: -40px;
	left: 50%;
	width: 30px;
	height: 30px;
	border-top: solid 1px;
	border-left: solid 1px;
	transform: rotate(45deg);
	transform-origin: left top;
}
#fixedTop:hover {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.7;
}
#contact_sp {
	display: none;
}
/* ナビ部分
------------------------------------------------ */
nav {
	flex: 1;
	max-width: 800px;
}
#gnav {
	min-width: 670px;
	padding-right: 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
#gnav li {
	margin-left: 2%;
	text-align: center;
}
#gnav li a {
	font-weight: bold;
	text-decoration: none;
	font-weight: bold;
	color: #000;
	display: block;
}
#gnav li a:hover {
	opacity: .7;
}
#gnav .instagram img{
	width: 40px;
	height: auto;
}
.sub-nav {
	margin-bottom: 20px;
	display: flex;
	justify-content: flex-end;
	gap: 25px;
	position: absolute;
	top: 0;
	right: 0;
}
.sub-nav .tel span {
	font-size: 14px;
}
.sub-nav .tel a {
	font-size: 28px;
	font-weight: bold;
	color: #D40000;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}
.sub-nav .tel a i {
	width: 22px;
	height: 18px;
	margin-right: 5px;
	display: block;
}
.sub-nav .contact a {
	margin-left: 10px;
	padding: 16px 12px;
	font-size: 20px;
	color: #FFF;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	background: linear-gradient(to bottom right, #FE6C21, #EC9A0C);
	display: block;
}
/* モーダルメニュー */
header .menu_btn,
header .menu,
header #insta_sp {
	display: none;
}
/* パンくずリスト
------------------------------------------------ */
#rootlist {
	width: 96%;
	max-width: 1760px;
	margin: 0 auto;
	margin-bottom: 50px;
	padding: 0 20px;
	font-size: 12px;
	position: relative;
}
#rootlist:before {
	content: "";
	width: 12px;
	height: 12px;
	background: url(/image/common/icon/icon_home.svg) no-repeat;
	background-size: contain;
	top: 2px;
	left: 0;
	position: absolute;
}
#rootlist span {
	margin: 0 5px;
	color: #999;
}
#rootlist a {
	color: #3666CA;
}
#rootlist a:hover {
	text-decoration: none;
}
/* Hタグ
------------------------------------------------ */
#h2_wrap {
	margin: 150px 0;
	margin-bottom: 10px;
	padding: 100px;
	background: url(/image/common/h2_bg_grd_w.webp) left top repeat-y,url(/image/common/h2_bg.webp) right center no-repeat;
	background-size: 1500px,contain !important;
}
#h2_wrap h2.title {
	max-width: 1760px;
	margin: 0 auto;
	font-size: 36px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	position: relative;
}
#h2_wrap h2.title::before {
	content: attr(data-en);
	font-size: 200px;
	font-family: 'Sawarabi Mincho', serif;
	font-weight: 400;
	font-style: normal;
	top: -260px;
	left: -40px;
	color: rgb(0, 132, 9, 0.1);
	position: absolute;
}
#p_about #h2_wrap {
	background: url(/image/common/h2_bg_grd_w.webp) left top repeat-y,url(/image/common/h2_bg_about.webp) right center no-repeat;
}
#p_reform #h2_wrap {
	background: url(/image/common/h2_bg_grd_w.webp) left top repeat-y,url(/image/common/h2_bg_reform.webp) right center no-repeat;
}
#p_flow #h2_wrap {
	background: url(/image/common/h2_bg_grd_w.webp) left top repeat-y,url(/image/common/h2_bg_flow.webp) right center no-repeat;
}
#p_faq #h2_wrap {
	background: url(/image/common/h2_bg_grd_w.webp) left top repeat-y,url(/image/common/h2_bg_faq.webp) right center no-repeat;
}
#p_works #h2_wrap {
	background: url(/image/common/h2_bg_grd_w.webp) left top repeat-y,url(/image/common/h2_bg_works.webp) right center no-repeat;
}
#p_contact #h2_wrap {
	background: url(/image/common/h2_bg_grd_w.webp) left top repeat-y,url(/image/common/h2_bg_contact.webp) right center no-repeat;
}
h3.title {
	margin-bottom: 30px;
	font-size: 30px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: #008409;
	text-align: center;
}
h3.title span {
	padding: 0 46px;
	background: linear-gradient(transparent 70%, #F5F5F5 70%);
}
h3.icon {
	padding-top: 56px;
	position: relative;
}
h3.icon::before {
	content: "";
	width: 40px;
	height: 46px;
	background: url(../image/common/icon_fuji.png) no-repeat;
	background-size: cover;
	top: 0;
	left: calc( 50% - 20px );
	position: absolute;
}
h3.title2 {
	margin-bottom: 30px;
	font-size: 36px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #FF6600;
	text-align: center;
}
h3.title3 {
	max-width: 1190px;
	min-width: 990px;
	margin: 0 auto;
	margin-bottom: 30px;
	padding: 5px 0;
	padding-left: 10px;
	font-size: 28px;
	font-weight: 500;
	border-left: 3px #554F8C solid;
	line-height: 1em;
}
h4.title {
	margin-bottom: 10px;
	padding: 4px 12px;
	font-size: 22px;
	font-weight: bold;
	color: #343055;
	border-left: 4px solid #353056;
}
h4.title span {
	margin-left: .5em;
	font-size: 16px;
	font-weight: normal;
}
/* 共通
------------------------------------------------ */
#contents {
	margin: 0 auto 80px;
}
#contents p {
	margin-bottom: 20px;
	line-height: 1.6em;
}
.cbox {
	max-width: 1020px;
	min-width: 940px;
	width: 94%;
	margin: 0 auto 120px;
}
.cbox_m0 {
	max-width: 1020px;
	min-width: 980px;
	width: 94%;
	margin: 0 auto;
}
.inbox {
	margin-bottom: 80px;
	padding: 0 10px;
}
.button li {
	width: 318px;
	margin: 0 auto;
	font-size: 16px;
	text-align: center;
}
.button li a {
	padding: 10px 0;
	color: #100F0F;
	text-decoration: none;
	background: #F5F5F5;
	display: block;
}
.button li a:hover {
	background: #ddd;
	opacity: 1;
}
.button.border li a {
	color: #008409;
	border: 1px solid #008409;
	background: url(/image/common/icon/icon_arrow_right_gray.svg) right 20px center no-repeat,#FFF;
	background-size: 8px;
}
.button.border li a:hover {
	background: #F5F5F5;
}
.wp-pagenavi {
	max-width: 980px;
	min-width: 880px;
	margin: 0 auto;
}
br.sp {
	display: none;
}
/*---テーブル---*/
table.stdt1 {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 10px;
	border-collapse: collapse;
	border: solid 1px #e0e0e0;
	background: #FFF;
}
table.stdt1 caption {
	text-align: left;
}
table.stdt1 th, table.stdt1 td {
	border: solid 1px #bfbfbf;
	padding: 10px;
	text-align: left;
}
table.stdt1 th {
	background: #ebebeb;
	white-space: nowrap;
	color: #333333;
}
/*詳細リスト*/
.detail_list {
	border-top: 1px solid #333;
}
.detail_list dl {
	display: flex;
	border-bottom: 1px solid #333;
}
.detail_list dl dt {
	width: 230px;
	padding: 20px 30px;
	font-weight: bold;
	background: #F5F5F5;
}
.detail_list dl dd {
	width: calc(100% - 230px);
	padding: 20px 30px;
}
.movie-wrap {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}
.movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.pc_none {
	display: none;
}
/* トップページ
------------------------------------------------ */
/*ヘッダー部分*/
#p_top .clone-nav #inbox {
	width: 100%;
	border-radius: 0;
}
#p_top .is-show {
	transform: translateY(0);
}
#p_top .bg_wrap {
	padding: 100px 0;
}
#p_top h3.title_top {
	margin-bottom: 60px;
	font-size: 40px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	text-align: center;
}
#p_top h3.title_top:before {
	content: "";
	width: 70px;
	height: 58px;
	margin: 0 auto;
	background: url(/image/common/title_point.svg) center no-repeat;
	background-size: contain;
	display: block;
}
/*メイン画像*/
#p_top {
	background: url(/image/top/bg_mark.webp) right calc( 50% + 260px) top -140px no-repeat,#F8F6F3;
	background-size: 1714px;
}
#p_top #main {
	background-size: cover;
}
#p_top #main .body_bg_wrap {
	max-width: 1920px;
	margin: 0 auto;
	padding: 120px 0;
	position: relative;
}
#p_top #main .swiper {
	width: 76%;
	aspect-ratio: 1460 / 760 ;
	margin-left: auto;
	margin-right: 0;
}
#p_top #main .swiper_wrap {
	position: relative;
}
#p_top #main .swiper-pagination {
	padding: 0 50px;
	text-align: right !important;
	position: absolute;
    bottom: -40px !important;
	z-index: 0 !important;
}
#p_top #main .swiper-pagination .swiper-pagination-bullet {
    width: 42px;
    height: 6px;
    background: #707070;
    border-radius: 0;
    opacity: 1;
    margin: 0 6px !important;
    transition: background-color 0.3s;
}
#p_top #main .swiper-pagination .swiper-pagination-bullet-active {
    background: #0B49A7;
}
#p_top #main .copy_wrap {
	position: absolute;
	top: 50%;
	left: 2%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	z-index: 1;
}
#p_top #main p.deco {
	margin-bottom: 80px;
	margin-top: -140px;
	font-size: 160px;
	color: transparent;
	-webkit-text-stroke: 2px #008409;
	font-family: "Noto Serif", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-variation-settings: "wdth" 100;
}
#p_top #main h2.lead {
	padding-left: 60px;
}
#p_top #main .lead span {
	padding: 8px 20px;
	background: #000;
	font-family: 'Sawarabi Mincho', serif;
	font-weight: 400;
	font-style: normal;
	font-size: 42px;
	letter-spacing: 0.2em;
	color: #FFF;
	display: inline-block;
}
#p_top #main .lead span.first_line {
	margin-bottom: 20px;
}
/*3つの強み*/
#p_top #relief .bg_wrap {
	padding: 60px 0;
	background: url(/image/top/block_grd_beige.png) left bottom repeat-x,url(/image/top/leaf_anshin.png) left calc( 50% + 650px) top 50px no-repeat,url(/image/top/bg_anshin.webp) center top no-repeat;
	background-size: auto,518px,100%;
}
#p_top #relief h3.title_top b {
	margin: 0 6px;
	font-size: 60px;
}
#p_top #relief .wrap {
	max-width: 1490px;
	width: 100%;
	margin: 0 auto;
}
#p_top #relief .box {
	margin-bottom: 50px;
	position: relative;
}
#p_top #relief .box.no02 {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}
#p_top #relief .text_box {
	max-width: 820px;
	width: 65%;
	padding: 50px 46px;
	background: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	top: 50px;
}
#p_top #relief .box:nth-of-type(odd) .text_box {
	right: 120px;
}
#p_top #relief .box:nth-of-type(even) .text_box {
	left: 120px;
}
#p_top #relief .text_box .text {
	line-height: 1.6em;
}
#p_top #relief .text_box .text span {
	font-weight: bold;
	background: linear-gradient(transparent 60%, rgba(255, 255, 102, 0.7) 60%);
}
#p_top #relief .lead {
	display: flex;
	align-items: center;
}
#p_top #relief .lead span {
	margin-right: 20px;
	color: #D9D9D9;
	text-align: center;
	line-height: 1.4em;
	font-size: 150px;
}
#p_top #relief .lead span em {
	color: #008409;
	font-style: normal;
}
#p_top #relief .lead h4 {
	font-size: 50px;
	font-family: 'Sawarabi Mincho', serif;
	font-weight: 400;
	font-style: normal;
}
#p_top #relief .text {
	font-size: 18px;
}
#p_top #relief .photo {
	max-width: 600px;
	width: 55%;
	margin-bottom: 200px;
}
#p_top #relief .photo:last-of-type {
	margin-bottom: 160px;
}
#p_top #relief .box:nth-of-type(even) .photo {
	margin-left: auto;
	margin-right: 0;
}
#p_top #relief .photo img {
	width: 100%;
}
/*施工カテゴリー*/
#p_top #service .bg_wrap {
	padding-bottom: 0;
	background: url(/image/top/block_w_sankaku.svg) center top no-repeat,url(/image/top/block_w100.svg) left top 130px repeat-x;
	background-size: 1920px,auto;
}
#p_top #service .bg_wrap .bg_white {
	padding-bottom: 100px;
	background: #fff;
}
#service .box {
	max-width: 1320px;
	width: 94%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#service .box::after {
	display: block;
	content:"";
	width: 32%;
}
#service .item {
	width: 32%;
	margin-bottom: 24px;
	background: #FFF;
}
#service .item a {
	padding: 10px;
	padding-right: 50px;
	background: url(/image/common/icon/icon_arrow_right_gray.svg) right 30px center no-repeat;
	background-size: 14px;
	font-size: 24px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	color: #161414;
	text-decoration: none;
	line-height: 1em;
	border: 5px solid #CBC1B3;
	display: flex;
	gap: 30px;
}
#service .item a span {
	font-size: 16px;
	font-weight: normal;
	opacity: .3;
	display: block;
}
#service .item .photo {
	width: 32%;
	max-width: 110px;
}
#service .item .photo img {
	width: 100%;
	border-radius: 50%;
}
#service .item .text {
	flex: 1;
	display: flex;
	align-items: center;
}
/*新着情報*/
#news_works .bg_wrap {
	background: url(/image/top/bg_mark_15.webp) center top no-repeat;
	background-size: 1240px;
}
#news #subsidy {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	margin-bottom: 80px;
	padding: 30px;
	border: 3px #FF0000 solid;
	text-align: center;
}
#news #subsidy dt {
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: bold;
}
#news .box {
	width: 96%;
	max-width: 1340px;
	margin: 0 auto 20px;
	padding: 80px 70px;
	background: #fff;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 70px;
}
#news .box h3 {
	width: 160px;
	height: 65px;
	padding-right: 40px;
	border-right: 1px #707070 solid;
	font-size: 40px;
	text-transform: uppercase;
	display: flex;
	justify-content: center;
	align-items: center;
}
#news .log {
	flex: 1;
}
#news .log dl {
	padding: 20px 24px;
	display: flex;
}
#news .log dt {
	margin-right: 18px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
#news .log dt .date {
	margin-right: 18px;
	font-size: 16px;
	color: #D84B4B;
}
#news .log dt .icon {
	width: 106px;
	font-size: 12px;
	color: #FFF;
	background: #008409;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#news .log dt .osusume {
	background: #F57838;
}
#news .log dd span {
	margin-left: 5px;
	color: #F00;
	font-size: 14px;
}
#p_top #news .link {
	width: 96%;
	max-width: 1340px;
	margin: 0 auto 120px;
	text-align: right;
}
#p_top #news .link a {
	font-size: 14px;
	color: #000;
	text-decoration: none;
}
#p_top #news a i {
	color: #D40000;
}
/*施工事例*/
#works .box {
	max-width: 1040px;
	width: 96%;
	margin: 0 auto;
}
#works #list {
	margin-bottom: 50px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 40px;
}
#works #list a {
	width: 31%;
	box-shadow: 6px 6px #008409;
	font-size: 18px;
	color: #000;
	text-decoration: none;
}
#works #list dt img {
	width: 100%;
	height: auto;
}
#works #list dd {
	padding: 25px 0;
}
  .works_swiper {
    overflow: visible;
  }
/* お知らせ
------------------------------------------------ */
h3.title_wp {
	width: 1020px;
	margin: 0 auto 50px;
	padding: 20px 5px;
	border-top: 1px #CCC solid;
	border-bottom: 1px #CCC solid;
	font-size: 26px;
	font-weight: bold;
	color: #008409;
}
#p_news .cbox {
	max-width: 990px;
	width: 94%;
	margin: 0 auto 120px;
}
#p_news #fixed {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	vertical-align: top;
}
#p_news #fixed dl {
	width: 320px;
	margin: 0 5px;
	margin-bottom: 15px;
}
#p_news #fixed dt {
	margin-bottom: 5px;
}
#p_news #fixed dt img {
	width: 320px;
	height: auto;
}
#p_news .fixed dd {
	font-size: 14px;
}
#p_news #post img {
	padding: 5px;
}
#p_news #pdf {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#p_news #pdf dl {
	width: 48%;
	margin-bottom: 20px;
	padding: 20px;
	border: 1px #FF0000 solid;
	display: flex;
	align-items: center;
}
#p_news #pdf dl dt {
	margin-right: 15px;
}
#p_news #pdf dl dt img {
	width: 100px;
	height: auto;
}
/* 会社案内
------------------------------------------------ */
#p_about #aisatu .photo {
	margin-bottom: 30px;
}
#p_about #aisatu .photo img {
	width: 100%;
}
#p_about #profile .detail_list {
	margin-bottom: 80px;
}
#p_about #movie {
	margin-bottom: 80px;
	padding: 50px 0;
	background: #F8F6F3;
}
/* リフォーム
------------------------------------------------ */
#p_reform #service #intro .title_lead {
	margin-bottom: 20px;
	font-size: 40px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #055904;
	text-align: center;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#p_reform #service #intro .title_lead::before,
#p_reform #service #intro .title_lead::after {
	content: '';
	width: 4px;
	height: 56px;
	background-color: #FFCC00;
}
#p_reform #service #intro .title_lead::before {
	margin-right: 50px;
	transform: rotate(-45deg)
}
#p_reform #service #intro .title_lead::after {
	margin-left: 50px;
	transform: rotate(45deg)
}
#p_reform #service #intro{
	margin-bottom: 70px;
}
#p_reform #service #intro .sub{
	text-align: center;
}
#p_reform #service .sv{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#p_reform #service .sv dt{
	width: 40%;
}
#p_reform #service .sv dt img{
	width: 100%;
	height: auto;
}
#p_reform #service .sv dd{
	width: 54%;
}
#p_reform #service .other{
	max-width: 1320px;
	width: 94%;
	margin: 0 auto;
}
#p_reform #price #list{
	width: 90%;
	margin: 0 auto 80px;
}
#p_reform #price #list dl{
	margin-bottom: 40px;
	display: flex;
	align-items: center;
}
#p_reform #price #list dl dt{
	width: 180px;
	height: 180px;
	margin-right: 20px;
	border: 4px #FFB000 solid;
	border-radius: 50%;
	font-weight: bold;
	color: #D40000;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
#p_reform #price #list dl dt span{
	font-size: 26px;
}
#p_reform #price #list dl dd h4{
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: bold;
}
#p_reform #price #option{
	width: 86%;
	margin: 0 auto;
}
#p_reform #price #option h4{
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: bold;
}
#p_reform #price #option ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#p_reform #price #option ul:after{
	content: "";
	display: block;
	width: 31%;
	height: 0;
}
#p_reform #price #option ul li{
	width: 31%;
	margin-bottom: 20px;
	padding: 0 5px 10px;
	border-bottom: 1px #CCC solid;
	font-size: 14px;
}
/* 施工事例
------------------------------------------------ */
#p_works #category {
	width: 990px;
	margin: 0 auto;
	margin-bottom: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#p_works #category li {
	width: 23%;
}
#p_works #category li a {
	width: 100%;
	margin-bottom: 15px;
	padding: 10px;
	display: inline-block;
	border: 1px #4CAF50 solid;
	color: #000;
	text-align: center;
}
#p_top #works #list dl {
	height: 100%;
	background: #FFF;
}
#p_top #works #list dd {
	padding: 20px;
}
#p_works #details .contents {
	margin-bottom: 80px;
}
#p_works #details .ba {
	margin-bottom: 80px;
	font-size: 0;
}
#p_works #details .ba dl {
	width: 480px;
	display: inline-block;
	position: relative;
	vertical-align: top;
}
#p_works #details .ba dl.before {
	margin-right: 60px;
	color: #03C;
}
#p_works #details .ba dl.before:after {
	content: "＞";
	position: absolute;
	top: 190px;
	right: -52px;
	margin-top: -12px;
	font-size: 36px;
	color: #C00;
}
#p_works #details .ba dl.after {
	color: #C00;
}
#p_works #details .ba dt {
	margin-bottom: 10px;
	text-align: center;
	font-size: 24px;
	letter-spacing: 0.2em;
}
#p_works #details .ba dd.img {
	margin-bottom: 20px;
	padding: 9px;
	background: #FFF;
	border: 1px #CCC solid;
}
#p_works #details .ba dd.img img {
	width: 460px;
	height: 300px;
	object-fit: cover;
}
#p_works #details .ba dd {
	font-size: 16px;
	color: #333;
}
#p_works #details .ba_only dl.after {
	color: #C00;
}
#p_works #details .ba_only dt {
	margin-bottom: 10px;
	text-align: center;
	font-size: 24px;
	letter-spacing: 0.2em;
}
#p_works #details .ba_only {
	margin-bottom: 80px;
	font-size: 0;
	text-align: center;
	border: 1px #CCC solid;
}
#p_works #details .ba_only dl {
	width: 600px;
	padding: 20px 0;
	display: inline-block;
	position: relative;
	vertical-align: top;
}
#p_works #details .ba_only dd.img {
	margin-bottom: 20px;
	text-align: center;
}
#p_works #details .ba_only dd.img img {
	width: 100%;
	height: 390px;
	object-fit: cover;
	box-shadow: 0px 0px 1px #D1C98F, 0px 0px 2px #C2BCAF, 0px 0px 3px #C2BCAF, 0px 0px 4px #C2BCAF, 0px 0px 5px #C2BCAF, 0px 0px 6px #C2BCAF, 0px 0px 7px #FFF, 0px 0px 8px #C2BCAF;
}
#p_works #details .ba_only dd {
	font-size: 16px;
	color: #333;
	text-align: left;
}
#p_works #details .free {
	margin-bottom: 80px;
}
#p_works #details #option {
	font-size: 0;
}
#p_works #details #option dl {
	width: 480px;
	margin-bottom: 80px;
	display: inline-block;
	vertical-align: top;
	font-size: 16px;
}
#p_works #details #option dl:nth-child(odd) {
	margin-right: 60px;
}
#p_works #details #option dt {
	margin-bottom: 10px;
	padding: 9px;
	background: #FFF;
	border: 1px #CCC solid;
}
#p_works #details #option dt img {
	width: 460px;
	height: 300px;
	object-fit: cover;
}
#p_works #details #option dd.title {
	margin-bottom: 10px;
	font-weight: bold;
}
/* ご依頼の流れ
------------------------------------------------ */
#p_flow #flow .box {
	margin-bottom: 50px;
	padding: 26px;
	border: 3px solid #D7D5E8;
	background: #FFF;
	border: 6px solid #EBEBEB;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: relative;
}
#p_flow #flow .box::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 28px 15px 0 15px;
	border-color: #EBEBEB transparent transparent transparent;
	bottom: -28px;
	left: calc(50% - 15px);
	position: absolute;
}
#p_flow #flow .box::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 28px 15px 0 15px;
	border-color: #fff transparent transparent transparent;
	bottom: -16px;
	left: calc(50% - 15px);
	position: absolute;
}
#p_flow #flow .box:last-child::before, #p_flow #flow .box:last-child::after {
	content: none;
}
#p_flow #flow dt {
	margin-bottom: 10px;
	font-size: 24px;
	font-weight: bold;
}
#p_flow #flow dt i {
	width: 60px;
	height: 60px;
	margin-right: 30px;
	line-height: 60px;
	font-size: 30px;
	color: #FFF;
	text-align: center;
	background: #008409;
	display: inline-block;
}
#p_flow #flow .box:nth-child(even) dt i {
	background: #51B457;
}
#p_flow #flow dd {
	padding-left: 90px;
}
#p_flow #flow .photo {
	width: 180px;
	height: 180px;
}
#p_flow #flow .photo img {
	width: 100%;
	border-radius: 50%;
}
/* よくある質問
------------------------------------------------ */
#p_faq #faq dl {
	margin: 0 auto 40px;
	padding-bottom: 30px;
	background: #FFF;
	border-bottom: 1px #CCC solid;
}
#p_faq #faq dt {
	margin-bottom: 30px;
	padding-left: 70px;
	font-size: 18px;
	font-weight: bold;
	position: relative;
}
#p_faq #faq dt::before {
	content: "Q";
	width: 46px;
	height: 46px;
	padding-top: 7px;
	font-size: 20px;
	color: #008409;
	text-align: center;
	border-radius: 50%;
	background: #F5F5F5;
	border: 1px #008409 solid;
	box-sizing: border-box;
	top: -8px;
	left: 0;
	position: absolute;
}
#p_faq #faq dd {
	padding-left: 70px;
}
/* 業者様向け
------------------------------------------------ */
#p_supplier #rootlist {
	margin-bottom: 70px;
}
#p_supplier #sample .title_lead {
	margin-bottom: 70px;
	font-size: 40px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#p_supplier #sample .title_lead::before, #p_supplier #sample .title_lead::after {
	content: '';
	width: 4px;
	height: 56px;
	background-color: #FFCC00;
}
#p_supplier #sample .title_lead::before {
	margin-right: 50px;
	transform: rotate(-45deg)
}
#p_supplier #sample .title_lead::after {
	margin-left: 50px;
	transform: rotate(45deg)
}
#p_supplier #sample .wrap {
	margin-bottom: 100px;
	padding: 70px 0 0;
	background: url(../supplier/image/bg_sample.jpg) no-repeat;
	background-size: cover;
}
#p_supplier #sample .flex {
	min-width: 1000px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#p_supplier #sample .flex dl {
	width: 30%;
	max-width: 320px;
	margin-bottom: 70px;
	text-align: center;
}
#p_supplier #sample .flex dt {
	margin-bottom: 6px;
	font-size: 22px;
	font-weight: bold;
}
#p_supplier #sample .flex dd img {
	width: 100%;
}
#p_supplier #sample .button_contact {
	width: 458px;
	margin: 0 auto 180px;
}
#p_supplier #sample .button_contact li a {
	padding: 20px 0;
	color: #FFF;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background: #FFB000;
	display: block;
}
/* 助成金
------------------------------------------------ */
#p_subsidy h3{
	margin-bottom: 30px;
	padding: 15px;
	background: #F5F5F5;
	font-size: 24px;
	font-weight: bold;
}
#p_subsidy #project dl{
	width: 98%;
	margin: 0 auto;
	margin-bottom: 60px;
}
#p_subsidy #project dt{
	margin-bottom: 15px;
	color: #008409;
	font-size: 18px;
	font-weight: bold;
}
#p_subsidy #project .list{
	margin-bottom: 15px;
}
#p_subsidy #project .list li{
	margin-bottom: 5px;
}
#p_subsidy #project .link{
	font-size: 14px;
}
#p_subsidy #project .link li:before{
	content: ">>";
	margin-right: 5px;
	color: #F00;
}
/* お問い合わせ
------------------------------------------------ */
#p_contact h3.title b{
	font-weight: normal;
}
#p_contact #phone .wrap {
	padding: 60px;
	background: #F5F5F5;
}
#p_contact #phone #list {
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
}
#p_contact #phone #list li {
	padding: 20px;
	width: 48%;
	background: #FFF;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#p_contact #phone #list li a{
	color: #333;
	text-decoration: none;
}
#p_contact #phone #list li i {
	margin-right: 15px;
}
#p_contact #phone #list dl {
	font-weight: bold;
}
#p_contact #phone #list dt {
	font-size: 20px;
}
#p_contact #phone #list dd {
	font-size: 30px;
}
#p_contact #phone .hours {
	text-align: center;
}
#p_contact #explanation p{
	text-align: center;
}
#form .detail_list {
	margin-bottom: 50px;
}
#form .detail_list dt {
	width: 270px;
	display: flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#form .detail_list dt i {
	font-size: 14px;
	font-style: normal;
	font-weight: normal;
}
#form .detail_list dt b {
	color: #C00;
	font-size: 14px;
}
#form input, #form textarea {
	padding: 2px;
	font-size: 100%;
}
#form select {
	width: 20%;
	padding: 2px;
	font-size: 100%;
	border: 1px solid rgb(118, 118, 118);
}
#form .button input {
	width: 318px;
	padding: 10px 0;
	margin: 0 auto;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #100F0F;
	border: none;
	background: #f3f3f7;
	display: block;
	cursor: pointer;
}
#form .button input:hover {
	background: #e9e8f4;
}
form .wl {
	width: 96%;
}
form .ws {
	width: 50%;
}
form .wss {
	width: 25%;
}
form .wsss {
	width: 10%;
}
/* フェードイン用のCSS
------------------------------------------------ */
/* 左からフェードイン */
.slide-left {
	opacity: 0;
	transform: translate(-50px, 0);
	transition: all 1s ease-out;
}
/* 右からフェードイン */
.slide-right {
	opacity: 0;
	transform: translate(50px, 0);
	transition: all 1s ease-out;
}
/* 下からフェードイン */
.slide-bottom {
	opacity: 0;
	transform: translate(0, 50px);
	transition: all 1s ease-out;
}