@charset "utf-8";
/*
Theme Name: Lightning Child Sample
Theme URI: ★ テーマの公式サイトなどのURL（空欄でも可） ★
Template: lightning
Description: ★ テーマの説明（空欄でも可） ★
Author: ★ テーマ作成者の名前（空欄でも可） ★
Tags: 
Version: 0.1.2
*/


body{
	font-size:16px;
	line-height:180%;
	letter-spacing:0.75px;
	color:#3d2a1f;
}

@media(max-width:767px){
	body{
	font-size:15px;
}
}

a{
	transition:0.5s ease;
}

a:hover{
	opacity:0.8;
}

img{
	vertical-align:top;
}

.pc{display:block;}
.tb{display:none;}
.sp{display:none;}

/***調整****/

.home .site-body {
    padding-bottom: 0;
	padding-top:0;
}

.site-footer{
	border:none;
	position:relative;
}

#header-top {
    background: #e08624;
}

.flex_between {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.flex48per {
    width:48%;
}

.flex49per {
    width:49%;
}

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

.global-nav--layout--penetration .global-nav-list>li {
    border-right: 1px solid #ccc;
}

.global-nav--layout--penetration .global-nav-list>li:first-child {
    border-left: 1px solid #ccc;;
}

.global-nav-list>li:before {
    display:none;
}

nav#global-nav {
    margin-bottom: 7px;
}

.global-nav-list>li a .global-nav-name {
    color: #333;
	transition:0.5s ease;
}

.device-pc .global-nav-list>li>a:hover {
    background:#f5f5f5;
	opacity:1;
}

.device-pc .global-nav-list>li>a:hover .global-nav-name{
    color:#e08624;
}

.header_info {
    font-size: 12px;
    line-height: 160%;
	text-align:right;
	color:#000;
}

.header_contact {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	margin-top:0.5rem;
}

.header_contact a:before{
	display:none;
}

.header_contact a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    line-height: 130%;
    border-radius: 100px;
    padding: 5px 30px;
	position:relative;
}

.header_contact a:first-of-type {
    margin-right:1rem;
}

.header_contact a.mail{
	background:#00a99d;
}

.header_contact a:hover{
	opacity:1;
}

.header_contact a:after{
	content:"";
	width:100%;
	height:100%;
	border-radius:100px;
	position:absolute;
	display: block;
	top:0;
	left:0;
	z-index:2;
	transition:0.5s ease;
}

.header_contact a.tel {
    background: #f15a24;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 500;
    font-size: 28px;
    letter-spacing: 2px;
}

.header_contact a.tel:after{
    background: linear-gradient(to right, #fbb03b, #f15a24);	
}

.header_contact a.mail:after{
	background:linear-gradient(to right,#00a99d,#99a63f);
}

.header_contact a:hover:after{
	opacity:0;
}

.header_contact a span:before{
	font-size:1.4rem;
	display:inline-block;
}

.header_contact a span{
	display:block;
	position:relative;
	z-index:3;
}

.header_contact a.tel span:before {
    font-family: "Font Awesome 5 Free";
    content: '\f095';
    font-weight: bold;
    transform: rotate(20deg);
	margin-right:5px;
}

.header_contact a.mail span:before {
    font-family: "Font Awesome 5 Free";
    content: '\f0e0';
    font-weight: bold;
	margin-right:8px;
}


/***トップページ****/

.top_about {
	background-image: url(/wp-content/uploads/2025/03/orange_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
	padding-top:8rem;
	padding-bottom:3rem;
	position:relative
}

.top_about:after{
	content:"";
	width:100%;
	height:8rem;
	display: block;
	position:absolute;
	bottom:0;
	left:0;
	background:#fcfaeb;
	z-index:2;
}

.top_about .container{
	position:relative;
	z-index:3;
}

.about_left {
    width: 55%;
    display: flex;
    flex-direction: column;
	align-items:flex-end;
}

.about_left img {
    border-radius: 1rem;
}

.about_img01 {
	max-width:420px;
	width:80%;
	margin-right:5%;
}

.about_decoimg {
    display: flex;
    justify-content: space-between;
    margin-top: 1.5rem;
	align-items:flex-end;
}

.about_img02, .about_img03 {
    position:relative;
}

.about_img02 {
    max-width: 320px;
    width: 60%;
}

.about_img02:before{
	content:"";
	width:4rem;
	height:6rem;
	display:block;
	position:absolute;
	top:-4.5rem;
	left:0.5rem;
	background-image:url(/wp-content/uploads/2025/03/about_deco01.png);
	background-repeat:no-repeat;
	background-size:contain;
	z-index:3;
}

.about_img03:before {
    content: "";
    width: 6rem;
    height: 10rem;
    display: block;
    position: absolute;
    top: -7.5rem;
    left: 0.5rem;
    background-image: url(/wp-content/uploads/2025/03/about_deco02.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 3;
}

.about_img02 img{
	position:relative:above;
	z-index:2;
}

.about_img03 {
    margin-bottom:-2rem;
    max-width: 210px;
    width: 35%;
}

.about_right {
    width: 40%;
	color:#fff;
}

h2.about_ttl {
    font-family: serif;
    padding: 0;
    border: none;
    font-size: 40px;
    margin: 0 0 0 2rem;
	letter-spacing:4px;
}

.about_txtBox {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	margin-bottom:5rem;
}

.about_catchBox {
    border: 1px solid #fff;
    border-radius: 1rem;
    padding: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 373px;
    width: 100%;
}

.about_catch {
    border-right: 1px solid #fff;
    padding: 0.5rem 1.5rem 0.5rem 0.5rem;
}

.about_catch img {
    width: 144px;
}

.about_catchBox p{
    padding-left: 1.5rem;
	margin:0;
}

.about_txt p {
    margin-bottom: 0;
	line-height:220%;
}

.about_txt p:last-of-type {
    margin-left: 0;
}

.top_service h2 {
    padding: 0;
    border: none;
    color: #af6629;
    font-weight: normal;
    font-family: serif;
	font-size:1.4rem;
	margin-bottom:2rem;
}

.top_service {
    background: #fcfaeb;
	padding-top:3rem;
	padding-bottom:5rem;
	margin-bottom:3rem!important;
}

.service_link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.service_link a {
    display: block;
    width: 50%;
    position: relative;
    min-height: 395px;
	overflow:hidden;
}

.service_link_img {
    position: relative;
	width:100%;
	height:100%;
}

.service_link_img img{
	transition:0.5s ease;
	width:100%;
	height:100%;
	object-fit:cover;
}

.service_link a:hover .service_link_img img{
	transform:scale(1.03);
}

.service_link a:after {
    content:"";
	width:100%;
	height:100%;
	display: block;
	position:absolute;
	top:0;
	left:0;
	z-index:2;
	mix-blend-mode:multiply;
	transition:0.5s ease;
}

.service_link a:hover{
	opacity:1;
}

.service_link a.service01:after {
    background:rgba(61,42,31,0.6);
}

.service_link a.service01:hover:after {
    background:rgba(61,42,31,0.4);
}

.service_link a.service02:after {
    background:rgba(75,113,135,0.6);
}

.service_link a.service02:hover:after {
    background:rgba(75,113,135,0.4);
}

.service_link a.service03:after {
    background:rgba(99,147,120,0.6);
}

.service_link a.service03:hover:after {
    background:rgba(99,147,120,0.4);
}

.service_link a.service04:after {
    background:rgba(198,156,109,0.6);
}

.service_link a.service04:hover:after {
    background:rgba(198,156,109,0.4);
}

.service_link_txt {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 3;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	padding:1rem;
}

.service_link_txt h3 {
    padding: 0;
    margin: 0 0 2.5rem;
    text-align: center;
    font-weight: bold;
    font-family: serif;
    font-size: 2rem;
    border: none;
	text-shadow: 1px 2px 3px #000;
}

.service_link_txt h3 span {
    display: block;
	font-size:1.3rem;
	line-height:160%;
}

.service_link_txt h3 span:before {
	content: "";
    width: 35px;
    height: 1px;
    display: block;
    background: #fff;
    margin: 0.8rem auto;
}

.service_link_btn {
    font-size: 1.3rem;
    font-family: serif;
    border-radius: 100px;
    border: 1px solid #fff;
    max-width: 240px;
    width: 100%;
    text-align: center;
    padding: 10px 20px;
    line-height: 160%;
    letter-spacing: 2px;
    position: relative;
	transition:0.5s ease;
}

.service_link_btn:after{
	content:"";
	width:40px;
	height:1px;
	background:#fff;
	display: block;
	position:absolute;
	top:50%;
	right:-20px;
	transform:translatey(-50%);
	transition:0.5s ease;
}

.service_link a:hover .service_link_btn:after{
	right:-25px;
}

.service_link a:hover .service_link_btn{
	background:rgba(0,0,0,0.2);
}


.service_link_txt h3:after {
    display: none;
}

h2.normal_h2 {
    border: none;
    text-align: center;
    padding: 0;
    margin: 0 0 3rem;
    font-family: serif;
    font-size: 1.7rem;
}

h2.normal_h2 span{
    display: block;
    font-size: 18px;
	line-height:150%;
}

h2.normal_h2 span:before {
    content: "";
    width: 55px;
    height: 2px;
    display: block;
    background: #3d2a1f;
    margin: 0.8rem auto;
}

.top_company {
    background: #efebdc;
    border-radius: 1rem;
    padding: 3rem 2rem;
}
.top_company_inner{
	max-width:946px;
	width:100%;
	margin:0 auto;
}

.company_img {
	margin-bottom:2rem;
}

.company_img .flex49per img{
	border-radius:1rem;
}

.company_name {
    text-align: center;
	font-size:1.3rem;
	font-weight:bold;
	font-family:serif;
	letter-spacing:2px;
	margin-bottom:1rem;
}

.normal_txt {
    text-align: center;
}

.normal_txt p:last-of-type{
    margin-bottom:0;
}

.areaBox {
    max-width: 800px;
    width: 100%;
    margin: 3rem auto;
    border-top: 1px solid #3d2a1f;
    border-bottom: 1px solid #3d2a1f;
    padding: 1rem;
	display:flex;
	flex-wrap:wrap;
}

.area_ttl {
    width: 200px;
    text-align: center;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    display: flex;
    font-family: serif;
    font-weight: bold;
    font-size: 1.3rem;
    border-right:1px solid #3d2a1f;
}

.area_txt {
    width: calc(100% - 200px);
    font-size: 15px;
    padding-left: 1.5rem;
}

span.color_red {
    color: #ff0000;
}

.mapArea{
	width:100%;
	height:380px;
	margin-bottom:1rem;
}

.mapArea iframe{
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);
	border-radius:1rem;
}

.contactArea {
    color: #fff;
}

h2.contact_h2 {
    padding: 0;
    margin: 0 0 3rem;
    border: none;
    text-align: center;
    font-family: serif;
    font-size: 2.2rem;
}

h2.contact_h2 span{
    display:block;
    font-size: 18px;
	line-height:180%;
}

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

.footerArea {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.footer_logo {
    margin-bottom: 2rem;
}

.footer_info {
    font-size: 14px;
    color: #fff;
}

.footer_left {
    width: 49%;
}

.footer_right {
    width: 49%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.site-footer-copyright {
    max-width: 100%;
    background: #fff;
}

.site-footer-copyright p{
	color:#704834;
	font-size:15px;	
	margin:0;
}

ul.footer_nuv {
    padding: 0;
    margin: 0;
}

ul.footer_nuv li {
    list-style-type: none;
    margin: 0 0 10px;
    line-height: 160%;
    letter-spacing: 2px;
}

ul.footer_nuv li:last-of-type {
    margin-bottom:0;
}

ul.footer_nuv li a:hover{
	padding-left:3px;
}

li.child_link a{
	display: flex;
	padding-left:10px;
}

ul.footer_nuv li.child_link a:hover{
	padding-left:10px;
}

li.child_link a:before {
    content: "";
    width: 15px;
    height: 1px;
    background: #fff;
    display: block;
	margin-right:5px;
	margin-top:8px;
	transition:0.5s ease;
}

li.child_link a:hover:before {
	margin-right:3px;
	margin-left:2px;
}

ul.footer_nuv li a{
    color:#fff;
	text-decoration:none;
	font-size:15px;
}

.container.site-footer-content {
    padding-bottom: 4rem;
}

.num{
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 500;
}

.contact_btn {
    max-width: 840px;
    width: 100%;
    margin: 4rem auto 0!important;
	display: flex;justify-content:space-between;
	flex-wrap:wrap;
}

.contact_btn a{
	border:1px solid #fff;
	border-radius:100px;
	width:48%;
	display: flex;
	align-items:center;
	justify-content:center;
	padding:1.6rem 0.5rem;
	color:#fff;
	font-size:1.5rem;
}

.contact_btn a:hover{
	background:#fff;
	color:#e08624;
	opacity:1;
}

.contact_btn a.tel {
	font-size:2.8rem;
}

.contact_btn a.mail {
    font-family: serif;
}

a.tel:before{
	font-family: "Font Awesome 5 Free";
	content: '\f095';
	font-weight: bold;
	transform:rotate(20deg);
}

a.mail:before{
	font-family: "Font Awesome 5 Free";
	content: '\f0e0';
	font-weight: bold;
}

.contact_btn a:before {
    font-size:2rem;
	margin-right:8px;
}

/****お客様の声*****/

h1.page-header-title {
    display: none;
}

.breadcrumb {
    border:none;
}

h2.child_h2 {
    border: none;
    text-align: center;
    margin: 0 0 3rem!important;
    font-family: serif;
    font-size: 20px;
    color: #af6629;
    padding: 0;
}

h2.child_h2 span {
    display: block;
    line-height: 180%;
    margin-top: 0.8rem;
}

.voiceArea {
    padding: 2.5rem 4rem;
	border-radius:1rem;
}

.reform_voice {
    background: #fffdf3;
}

.house_voice {
    background: #f2f7f9;
}

h3.voice_type {
    color: #af6629;
    font-family: serif;
    padding: 0;
    border: none;
    font-size: 1.5rem;
	display:flex;
	align-items:center;
	letter-spacing:4px;
}

.house_voice h3.voice_type {
    color: #4b7187;
}

h3.voice_type:after {
    content: "";
    height: 1px;
    border: none;
    background: #af6629;
    flex-grow: 2;
    display: block;
    margin-left: 1rem;
    width: auto;
    position: relative;
    bottom: 0;
}

.house_voice h3.voice_type:after {
    background: #4b7187;	
}

.voice_box {
    max-width: 900px;
    margin: 4.5rem auto 0;
    width: 100%;
}

.voice_icon {
    width: 105px;
    height: 105px;
    position: relative;
}

.voice_icon:before {
    content:"";
	width:100%;
	height:100%;
	display: block;
	background:#fff;
	border-radius:50%;
	position:absolute;
	top:0;
	left:0;
	z-index:2;
}

.voice_icon img{
	position:relative;
	z-index:3;
}

.voice_child {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	margin-bottom:4.5rem;
}

.voice_box .voice_child:last-of-type {
	margin-bottom:2rem;
}

.voice_txt {
    width: calc(100% - 150px);
}

.voice_catch {
    color: #af6629;
    font-family: serif;
    margin-bottom: 0.8rem;
    font-size: 1.25rem;
	letter-spacing:2px;
}

.house_voice .voice_catch {
    color: #4b7187;
}

.voice_txt p {
    color: #333;
    font-size: 15px;
    line-height: 190%;
}

.voice_txt p:last-of-type {
    margin-bottom:0;
}

/*****会社紹介*****/

.missionArea {
    background: #fcfaeb;
    border-radius: 1rem;
	padding:2.5rem;
	margin-bottom:5rem!important;
	margin-top:4rem!important;
}

h3.about_h3 {
    color: #af6629;
    font-family: serif;
    font-size: 36px;
    padding: 0;
    border: none;
    margin: 0 0 2rem;
    font-size: 2rem;
	text-align:center;
}

h3.about_h3 span {
    display: block;
    letter-spacing: 3px;
    font-size: 1.2rem;
    line-height: 180%;
    margin-top: 0.5rem;
}

h3.about_h3:after {
    display:none;
}

.missionArea p {
    max-width: 610px;
    width: 100%;
    margin: 0 auto;
    color: #333;
    line-height: 200%;
    font-size: 16px;
}

ul.value_list {
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
	justify-content:space-between;
}

ul.value_list li{
    list-style-type:none;
	background:#af6629;
	color:#fff;
	padding:1.2rem;
	border-radius:0.8rem;
	width:31%;
	font-size:17px;
	display:flex;
	align-items:center;
}

ul.value_list li p{
	margin-bottom:0;
	font-family:serif;
}

.round_img img {
    border-radius: 1rem;
}

.companyArea {
    background-image: url(/wp-content/uploads/2025/03/orange_bg.jpg);
    padding-bottom: 5rem;
	position:relative;
}

.companyArea .container{
	position:relative;
	z-index:3;
}

.companyArea:before {
    content: "";
    display: block;
    background: #fff;
    width: 100%;
    height: 12rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.company_catch {
    color: #fff;
    font-family: serif;
    text-align: center;
    font-size: 30px;
    line-height: 200%;
    margin: 4rem 0;
    font-size: 1.9rem;
}

.company_txt {
    color: #fff;
    max-width: 905px;
    width: 100%;
    margin: 0 auto;
}

.company_txt p{
    font-size:16px;
	line-height:200%;
}

.round_img {
    max-width: 965px;
    width: 100%;
	margin: 0 auto;
}

.feature_child {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	min-height:360px;
}

.feature_img {
    width: 50%;
}

.feature_img img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.feature_txt {
    width: 50%;
	padding:3rem 2rem;
}

.featurebox .feature_child:nth-of-type(even) {
    flex-direction:row-reverse;
}

.featurebox {
    background: #fcfaeb;
	border-radius:1rem;
	overflow:hidden;
}

h3.feature_h3{
	margin-bottom:3rem!important;
}

.feature_txt h4 {
    background: transparent;
    color: #af6629;
    font-family: serif;
    padding: 0;
    font-size: 1.6rem;
    line-height: 170%;
    margin-bottom: 1.5rem;
}

.feature_txt p{
    color:#333;
	font-size:15px;
	margin:0;
}

.info_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	margin:3rem 0!important;
}

.info_left, .info_right{
	padding:1rem 1.5rem;	
    width: 50%;
}

.info_right p{ 
	font-size:16px;
	margin:0;
	text-align:center;
}

.info_left {
	border-right:1px solid #af6629;
}

.info_left table {
    border: none;
}

.info_left table th, .info_left table td{
    border: none;
	padding:0 0 5px;
	font-weight:normal;
	text-align:left;
	font-size:16px;
	vertical-align:top;
}

.info_left table th{
	width:105px;
	padding-right:5px;
}

.info_map {
    width: 100%;
    height: 325px;
    margin-bottom: 1rem;
}

.about_serviceArea {
    padding: 1.5rem 1.5rem 2rem;
    background: #fcfaeb;
    border-radius: 1rem;
}

h3.main_h3_ja {
    color: #af6629;
    font-family: serif;
    padding: 0;
    border: none;
    text-align: center;
    font-size: 20px;
    font-size: 1.2rem;
    margin-bottom: 1rem;
}

h3.main_h3_ja:after {
    display:none;
}

.about_service {
    max-width: 655px;
    width: 100%;
    margin: 0 auto;
}

.about_service p{
	font-size:16px;
	margin:0;
	line-height:200%;
}

.informationArea{
	max-width: 965px;
    width: 100%;
    margin: 0 auto;
}

.about_service p {
    margin-bottom: 5px!important;
}

.company_info .normal_txt p span {
    display: inline-block;
}

.about_decoimg.sp{
	display:none;
}

/***サービスページ****/

.post-name-service01 .site-body, .post-name-service02 .site-body, .post-name-service03 .site-body, .post-name-service04 .site-body{
	padding-bottom:0;
}

.post-name-service01 .main-section, .post-name-service02 .main-section, .post-name-service03 .main-section, .post-name-service04 .main-section{
	margin-bottom:0;
}

.color_blue {
    color: #4b7187 !important;
}

.feature_num {
    background: #4b7187;
    color: #fff;
    font-family: serif;
    display: inline-block;
    line-height: 100%;
    border-radius: 100px;
    padding: 5px 15px;
    font-size: 1.1rem;
}

.service_feature_txt h4 {
    background: transparent;
    color: #4b7187;
    font-family: serif;
    font-size: 26px;
    font-size: 1.6rem;
    line-height: 180%;
    padding: 0;
    letter-spacing: 1px;
    margin: 1rem 0 1.5rem;
}

.service_feature_txt{
	padding-top:1rem;
}

.service_feature_txt p{
	font-size:15px;
	margin:0;
	color:#333;
	line-height:190%;
    letter-spacing: 1px;
}

.service_feature {
    margin-bottom: 5rem;
}

.service_featureArea{
	margin-top:5rem!important;
	margin-bottom:3rem!important;
}

.service_featureArea .service_feature:last-of-type {
    margin-bottom: 0;
}

.service_roundArea {
    max-width: 860px;
    margin: 12rem auto 0!important;
    width: 100%;
}

.service_txt_inner {
    max-width: 765px;
    margin: 0 auto;
    width: 100%;
}

.yellow_bg {
    background: #fcfaeb;
    border-radius: 1rem;
    padding: 3rem 2rem;
	margin-bottom:2rem;
}

.yellow_bg p{
	font-size:16px;
	line-height:200%;
	letter-spacing:1px;
}

.yellow_bg p:last-of-type{
	margin-bottom:0;
}

.yellow_bg.type01 {
    margin-top: 10rem;
}

ul.roundList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0;
    margin: 8rem auto 8rem!important;
	max-width: 765px;
	width:100%;
}

ul.roundList li{
    list-style-type:none;
	margin:0 0 0;
	width:32%;
	position:relative;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
}

ul.roundList li p{
	position:relative;
	z-index:3;
	margin:0;
	font-family:serif;
	font-size:1.4rem;
}

ul.roundList li:before{
	content:"";
	width:14rem;
	height:14rem;
	display:block;
	border-radius:50%;
	background:#af6629;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	z-index:1;
}

ul.roundList li:after{
	content:"";
	width:1.6rem;
	height:1.6rem;
	display:block;
	background-image:url(/wp-content/uploads/2025/03/x.png);
	background-repeat:no-repeat;
	background-size:contain;
	position:absolute;
	z-index:3;
	top:50%;
	right:-8%;
	transform:translatey(-50%);
}

ul.roundList li:last-of-type:after{
	display: none;
}

.service_feature .flex48per:first-of-type img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
}

.yellow_bg.type02 {
    text-align: center;
	padding-top:6rem;
	padding-bottom:6rem;
}

.yellow_bg.type02 .service_txt_inner > p{
	font-size:18px;
}

.service_catch {
    color: #af6629;
    font-family: serif;
    font-size: 2rem;
    line-height: 180%;
    margin-bottom: 2rem;
    letter-spacing: 2px;
	font-weight:bold;
}

.yellow_bg.type02 ul.roundList{
	margin-bottom:5rem!important;
}

.flowArea {
    border: 1px solid #3b7b9e;
    border-radius: 1rem;
    padding: 4rem 2rem;
    margin-top: 2rem !important;
}

.flow_inner {
    max-width: 840px;
    margin: 0 auto;
    width: 100%;
}

ul.flow_list {
    padding: 0 0 3rem;
    margin: 7rem 0 1rem;
    position: relative;
}

ul.flow_list:before{
	content:"";
	width:1px;
	height:100%;
	display:block;
	background:#666;
	position:absolute;
	top:0;
	left:50px;
	z-index:2;
}

ul.flow_list:after{
	content:"";
	width:15px;
	height:19px;
	display:block;
	background-image:url(/wp-content/uploads/2025/03/arrow.png);
	background-repeat:no-repeat;
	background-size:contain;
	position:absolute;
	bottom:-2px;
	left:43px;
	z-index:3;
}

ul.flow_list li{
    list-style-type:none;
	margin:0 0 5rem;
	display: flex;
	justify-content:space-between;
	position:relative;
	z-index:4;
}

ul.flow_list li:last-of-type{
	margin-bottom:0;
}

.flow_num {
    align-items: center;
    justify-content: center;
    height: 100px;
    background: #f2f7f9;
    border-radius: 50%;
    display: flex;
    width: 100px;
    font-size: 40px;
    font-family: serif;
}

.flow_txt {
    width: calc(100% - 125px);
}

.flow_ttl {
    color: #4b7187;
    font-family: serif;
    font-weight: bold;
    font-size: 26px;
    font-size: 1.6rem;
    line-height: 180%;
    margin-bottom: 0.5rem;
	letter-spacing:2px;
}

.flow_txt p{
	margin:0;
	font-size:18px;
	letter-spacing:1px;
	color:#1a1a1a;
}

/***お問い合わせ****/

h2.contact_ttl {
    font-size: 1.7rem;
    padding: 0;
    margin: 0 0 3rem;
    border: none;
	text-align:center;
}

h2.contact_ttl:after{
	content:"";
	width:60px;
	height:5px;
	background:#e08624;
	display:block;
	margin:1.5rem auto 0;
}

table.contact_table {
	border-left:none;
	border-right:none;
	max-width:900px;
	width:100%;
	margin: 4rem auto 2rem;
}

table.contact_table tr:nth-of-type(odd){
	background:#f5f5f5;
}

table.contact_table th {
	width:300px;
}

table.contact_table th, table.contact_table td{
	border:none;
	text-align:left;
	padding:1.5rem 2rem;
}

input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea{
	margin-bottom:0;
}

.submit_btn {
    text-align:center;
}

.submit_btn p{
    display: flex;
    align-items: center;
    justify-content: center;
	flex-direction:column;
}

.page-id-274 .submit_btn p{
	flex-direction:row;
}

table.contact_table th p, table.contact_table td p{
	margin-bottom:0;
}

.wpcf7-previous {
    background: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: var(--vk-size-radius);
    padding: .5em 2em;
    font-size: 1rem;
    margin-right: 1rem;
	cursor:pointer;
	transition:0.5s ease;
}

.wpcf7-previous:hover{
	opacity:1;
	background:#ccc;
	color:#fff;
}

span.wpcf7-spinner {
    display: none;
}

span.required {
    color: #dc3232;
    font-weight: normal;
}

/***アニメーション****/

.effect{
	opacity:0;
	transition:0.5s ease;
}

.effect.active{
	animation:scroll_anime 1.5s ease 1 forwards;
}

@keyframes scroll_anime{
	0%{opacity:0}
	100%{opacity:1;}
}

/***レスポンシブ****/

@media(max-width:991.89px){
.tb{display:block;}	

.about_txt p {
    font-size: 15px;
}
	
h2.about_ttl {
    font-size: 35px;
}
	
.about_txtBox {
    margin-bottom: 3rem;
}
	
.about_catch img {
    width: 90px;
}
	
.about_catchBox {
    padding: 10px 13px;
}

.about_service p {
	text-align:center;
}
	
.about_catchBox p {
    font-size: 14px;
}

.info_left table th, .info_left table td {
    font-size: 14px;
	line-height:180%;
}
	
.info_right p{
	font-size:15px;
}
	
.top_about:after {
    height: 3rem;
}
	
.about_decoimg {
    margin-top: 2.5rem;
}
}

@media(max-width:767px){
.flex48per {
    width: 100%;
}
	
.top_about {
    padding-top: 50px;
    padding-bottom: 50px;
}
	
.top_about:after{
	display:none;
}

.about_left {
    max-width: 600px;
    margin: 0 auto;
    width: 90%;
}
	
.about_right {
    width: 100%;
    margin-top: 35px;
}
	
.about_txtBox {
	margin-bottom: 35px;
	writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
	
h2.about_ttl {
    font-family: serif;
    padding: 0;
    border: none;
    font-size: 30px;
    margin: 0 0 30px;
    letter-spacing: 3px;
}
	
.about_txt{
	-ms-writing-mode: horizontal-tb;
	writing-mode: horizontal-tb;
	padding:0 15px;
}
	
.about_catch {
    width: 125px;
}
	
.about_catchBox {
    max-width: 290px;
    margin: 0 auto;
}
	
.about_catchBox p {
    font-size: 14px;
}
	
.service_link a {
    width: 100%;
}
	
.service_link_txt h3 {
    margin: 0 0 20px;
    font-size: 20px;
}
	
.service_link_txt h3 span {
    font-size: 14px;
}
	
.service_link_btn {
    font-size: 16px;
}
	
.top_service h2 {
    font-size: 18px;
    margin-bottom: 25px;
}
	
h2.normal_h2 {
    margin: 0 0 30px;
    font-size: 20px;
}
	
h2.normal_h2 span {;
    font-size: 15px;
}
	
h2.normal_h2 span:before {
    width: 35px;
}
	
.top_company {
    padding: 30px 20px;
}
	
.company_name {
    font-size: 18px;
    letter-spacing: 1px;
    margin-bottom: 15px;
}
	
.normal_txt p {
    font-size: 14px;
	line-height:200%;
}
	
.area_ttl {
    width: 100%;
    font-size: 16px;
    border-right: none;
}
	
.area_txt {
    width: 100%;
    font-size: 14px;
    padding-left: 0;
}
	
.areaBox {
    margin: 30px auto;
    padding: 20px;
}
	
.mapArea {
    width: 100%;
    margin-bottom: 20px;
}
	
h2.contact_h2 {
    margin: 0 0 30px;
    font-size: 22px;
}
	
h2.contact_h2 span {
    font-size: 15px;
}
	
.contact_btn a {
    width: 100%;
    padding: 20px 10px;
    font-size: 18px;
}
	
.contact_btn a:first-of-type {
    margin-bottom:15px;
}
	
.contact_btn {
    max-width: 360px;
    width: 100%;
    margin: 30px auto 0 !important;
}
	
.footer_left {
    width: 100%;
}
	
.footer_right {
    width: 100%;
	margin-top:20px;
	border-top: 1px solid rgba(245, 245, 245, 0.5);
	padding-top: 20px;
}
	
.footer_logo {
    margin-bottom: 20px;
    text-align: center;
}
	
.footer_info {
    text-align: center;
    font-size: 13px;
}
	
ul.footer_nuv li a {
    font-size: 14px;
}
	
.contact_btn a.tel {
    font-size: 30px;
}
	
.contact_btn a:before {
    font-size: 25px;
}
	
h2.child_h2 img {
    height: 40px;
}
	
h2.child_h2 {
    margin: 0 0 30px !important;
    font-size: 15px;
}
	
h2.child_h2 span {
    margin-top: 8px;
    font-size: 15px;
}
	
h3.voice_type {
    font-size: 16px;
    letter-spacing: 2px;
}
	
h3.voice_type:before {
    content: "";
    height: 1px;
    border: none;
    background: #af6629;
    flex-grow: 2;
    display: block;
    margin-right: 1rem;
    width: auto;
    position: relative;
    bottom: 0;
}

.house_voice h3.voice_type:before{
	background:#4b7187;
}
	
.voiceArea {
    padding: 30px 20px;
}
	
.voice_child {
    margin-bottom: 50px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
	
.voice_txt {
    width: 100%;
    margin-top: 25px;
}
	
.voice_icon {
    width: 90px;
    height: 90px;
}
	
.voice_child {
    margin-bottom: 40px;
}
	
.voice_box {
    margin: 40px auto 0;
}
	
.voice_txt p {
    font-size: 14px;
    line-height: 180%;
}
	
.voice_catch {
    margin-bottom: 8px;
    font-size: 16px;
	font-weight:bold;
}
	
.missionArea {
    padding: 30px 20px;
    margin-bottom: 40px !important;
    margin-top: 30px !important;
}
	
h3.about_h3 {
    margin: 0 0 20px;
    font-size: 22px;
}
	
.missionArea p {
    font-size: 15px;
}
	
ul.value_list li {
    padding: 20px;
    width: 100%;
    font-size: 15px;
    margin: 0 0 15px;
	text-align:center;
}
	
ul.value_list li p {
    width: 100%;
}
	
.feature_img, .feature_txt{
    width: 100%;
}
	
.info_left, .info_right {
    padding: 20px;
    width: 100%;
}

.info_left {
    border-right: none;
}
	
.info_flex {
    margin: 15px 0 !important;
}
	
.info_left table td a {
    color: #333;
}
	
.footer_info p a{
	color:#fff;
}
	
.companyArea:before {
    height: 90px;
}
	
.company_catch {
    margin: 30px 0;
    font-size: 20px;
}
	
.company_txt p {
    font-size: 14px;
    padding-left: 20px;
    padding-right: 20px;
}
	
.companyArea {
    padding-bottom: 40px;
}
	
h3.about_h3 span {
    letter-spacing: 2px;
    font-size: 14px;
    margin-top: 3px;
}
	
h3.feature_h3 {
    margin-bottom: 20px !important;
}
	
.feature_txt h4 {
    font-size: 19px;
    margin-bottom: 20px;
	text-align:center;
}
	
.feature_txt {
    padding: 30px 20px;
}

.feature_txt p {
    font-size: 14px;
	line-height:200%;
}
	
.about_serviceArea {
    padding: 30px 20px;
}
	
h3.main_h3_ja {
    font-size: 18px;
    margin-bottom: 15px;
}
	
.about_service p {
    font-size: 15px;
	line-height: 180%;
}
	
.pc{display:none;}
.sp{display:block;}
.tb{display:block;}
	
.info_left table th {
    width: 90px;
    vertical-align: top;
}
	
.site-footer-copyright p {
    font-size: 13px;
}
	
.company_info .normal_txt p a{
	color:#333;
}
	
.company_info .normal_txt p span {
    font-size: 13px;
}
	
.flex49per {
    width: 100%;
}
	
.company_img .flex49per:first-of-type {
    margin-bottom:15px;
}
	
.about_decoimg.sp{
	display:flex;
	max-width: 90%;
	margin: 65px auto 0;
}
	
.about_decoimg img{
	border-radius:1rem;
}
	
.about_img02:before {
	width: 45px;
	height: 70px;
	top: -54px;
}
	
.about_img03:before {
    width: 60px;
    height: 100px;
    top: -70px;
}

.about_txt p {
    font-size:14px;
    line-height: 200%;
}
	
h2.about_ttl {
	font-size: 25px;
	margin: 0 0 25px;
}
	

ul.roundList li {
    font-size: 13px;
}
	
ul.roundList li:before {
    width: 110px;
    height: 110px;
}
	
ul.roundList li:after {
    width: 15px;
    height: 15px;
}
	
ul.roundList {
    margin: 30px 0 60px !important;
	min-width:380px;
}
	
.service_roundArea {
    margin: 60px auto 0 !important;
}

.yellow_bg.type01 {
    margin-top: 50px;
}
	
.yellow_bg p {
    font-size: 14px;
    line-height: 180%;
}
	
.yellow_bg {
    padding: 30px 20px;
    margin-bottom: 20px;
}
	
.service_featureArea {
    margin-top: 35px !important;
    margin-bottom: 20px !important;
}
	
.service_feature_txt h4 {
    font-size: 20px;
    margin: 15px 0;
    text-align: center;
}

.service_feature_txt {
    margin-top: -30px;
    text-align: center;
}
	
.service_feature_txt p{
	text-align:left;
	padding-left:15px;
	padding-right:15px;
	font-size:14px;
}
	
.service_feature {
    margin-bottom: 40px;
}
	
.post-name-service03 h3.about_h3.color_blue, .post-name-service02 h3.about_h3.color_blue, .post-name-service01 h3.about_h3.color_blue {
    margin-top: 20px !important;
}
	
ul.roundList li p{
	font-size:13px;
}
	
.yellow_bg.type02 .service_txt_inner > p {
    font-size: 14px;
}

.service_catch {
    font-size: 20px;
    margin-bottom: 20px;
}
	
.yellow_bg.type02 {
    padding:40px 0;
	margin-bottom:20px!important;
}
	
.yellow_bg.type02 ul.roundList {
    margin: 40px 0 25px !important;
}
	
.flowArea {
    padding: 30px 20px;
    margin-top: 20px!important;
}
	
ul.flow_list {
    padding: 0 0 30px;
    margin: 50px 0 15px;
}
	
.flow_num {
    height: 50px;
    width: 50px;
    font-size: 22px;
}
	
.flow_txt {
    width: calc(100% - 65px);
}
	
.flow_ttl {
    font-size: 17px;
    margin-bottom: 5px;
    letter-spacing: 1px;
}

.flow_txt p {
    font-size: 14px;
}
	
ul.flow_list:before {
    left: 25px;
}
	
ul.flow_list:after {
    width: 12px;
    height: 14px;
    left: 20px;
}
	
ul.flow_list li {
    margin-bottom: 40px;
}
	
.yellow_bg.type02 ul.roundList li p {
	line-height: 160%;
}
	
ul.roundList li:after {
    right: -9%;
}
	
h2.contact_ttl {
    font-size: 18px;
    margin: 0 0 30px;
}
	
h2.contact_ttl:after {
    width: 35px;
    height: 3px;
    margin: 15px auto 0;
}
	
.normal_txt.contact_page_txt {
    text-align: left;
    padding-left: 15px;
    padding-right: 15px;
}
	
table.contact_table th, table.contact_table td {
    padding: 10px 15px;
	margin-bottom:10px;
}
	
table.contact_table {
    margin: 30px auto 20px;
}
	
table.contact_table th {
    width: 100%;
    display: block;
    background: #f5f5f5;
}
	
table.contact_table td {
    width: 100%;
    display: block;
}
	
table.contact_table tr:nth-of-type(odd) {
    background: transparent;
}
}

@media(max-width:450px){
.service_link a {
    min-height: 265px;
}
	
.mapArea {
    height: 320px;
}
	
.site-header-logo img {
	max-height: 40px;
}
	
ul.roundList li:before {
    width: 105px;
    height: 105px;
}
	
ul.roundList {
	min-width: 360px;
}
	
ul.roundList {
	min-width: 335px;
}
}

/***佐々木***/
.site-header {
	box-shadow: none;
}

/*FAQ*/
.is-style-vk_faq-bgfill-circle .vk_faq_title::before {
	/*background-color: #e08624;*/
	background: linear-gradient(to right, #fbb03b, #f15a24);
}
.vk_faq .vk_faq_content::before {
	/*background: linear-gradient(to right,#00a99d,#99a63f);*/
	background: linear-gradient(to right,#1b95f2,#00a99d);
}
.vk_faq .vk_faq_title p {
	line-height: 2;
	font-family: serif;
	color: #af6629;
}
.vk_faq .vk_faq_content p {
	color: #333;
	font-size: 15px;
	line-height: 190%;
}

/***施工事例のアップロード情報***/
.entry-meta {
	display: none;
}