@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&display=swap');

body {
  font-family: "M PLUS 1", sans-serif;
}
#content{
	margin-bottom:0;
}
/*header*/
.l-header__bar{
	display:none;
}

@media (min-width: 960px) {
	.-series .l-header__logo{
		padding:8px 0;
	}
}

.l-fixHeader__logo{
	padding:8px 0;
}
.tel_btn{
	background: #D03530;
    color: #fff;
	p{
		color:#FEE573;
		margin-top: 5px;
        font-weight: bold;
	}
}
.mail_btn{
	background:#F16E2F;
	color:#fff;
}

.c-gnav .mail_btn a::after, .c-gnav .tel_btn a::after{
	background:none;
}
.top #content{
	padding-top:0;
}


/*main_KV*/

h2.kv_h2{
	margin-bottom:1rem;
}
.kv_box{
	position:relative;
	background:#fff;	
    padding:1rem 0 1rem 2rem;
    border-radius: 14px;
    margin-top: 2rem;
	font-size: 1.2em;
	width: 75%;
    margin: 2rem auto;
	@media(width<=1180px){
		width:100%;
	}
	@media(width<=820px){
		width:70%;
	}
	@media(width<=540px){
		width:100%;
	}
	figure{
		position:absolute;
		bottom:0;
		right:0;
		width:180px;
		@media(width<=540px){
		width:120px;
		}
	}
}
.cta_btn{
	display:flex;
	justify-content:space-around;
	gap:1rem;	
	width: 75%;
    margin: 0 auto;
	@media(width<=1180px){
		width:100%;
	}
	@media(width<=820px){
		width:70%;
	}
	@media(width<=540px){
		width:100%;
		flex-wrap:wrap;
	}
	a{
		color: #fff;
		padding: 0.5rem 1rem;
		display: inline-block;
		border-radius: 50px;
		width:48%;
		text-align:center;
		line-height:1.2;
		transition: opacity 0.3s;
		@media(width<=540px){
			width:80%;
		}
		&:hover{
			opacity: 0.7;
		}
	}
	.tel{
		background: var(--color_list_check);
		span{
			color:#FEE573;
			display:block;
			font-size:1.2em;
		}
	}
	.mail{
		background:#F16E2F;
		display: flex;
        gap: 1rem;
        justify-content: center;
		img{
			width: 55px;
			object-fit: contain;
			@media(width<=540px){
				width: 40px;
			}
		}
	}
}

.check_list{
	padding-left:0 !important;
	li{
	background:url(https://kinki-restoration-support.jp/wp-content/uploads/2025/10/check_img-1.png) no-repeat 0;
	background-size: 20px 20px;
    padding-left: 30px;
    list-style: none;
	}
}
.top_kv{
	@media(width<=820px){
		display:block;
	}
}
.kv_rimg{
	@media(width<=820px){
		display:none;
	}	
}

/**/
.about_box{
	p{line-height:2}
}
.service_box{
	display:flex;
	flex-direction:column;
	background-repeat:no-repeat;
	border-radius:40px;
	background-position: 1rem 1rem;
	@media(width<=540px){
		background-size:50px;
	}
}

.bg01{
		background-image:url(https://kinki-restoration-support.jp/wp-content/uploads/2025/10/service_b01.png);
	}
.bg02{
		background-image:url(https://kinki-restoration-support.jp/wp-content/uploads/2025/10/service_b02.png);
	}
.bg03{
		background-image:url(https://kinki-restoration-support.jp/wp-content/uploads/2025/10/service_b03.png);
	}
.bg04{
		background-image:url(https://kinki-restoration-support.jp/wp-content/uploads/2025/10/service_b04.png);
	}

.service_flex{
	display:flex;
	align-items:center;
	justify-content:center;
	margin-top:auto;
	img{
		margin-right:5px;
	}
}

.reazon_box{
	background:#F16E2F;
	padding: 2rem;
    border-radius: 40px 40px 0 0;
	margin-bottom: 0;
	.box_in{
		border-radius:40px;
		@media(width<=540px){
			border-radius:20px;
		}
		
	}
	.bg01{
		background-image:url(https://kinki-restoration-support.jp/wp-content/uploads/2025/10/Reason_bg01.png);
		background-repeat:no-repeat;
		background-position:right 2rem top 1rem;
	}
	.bg02{
		background-image:url(https://kinki-restoration-support.jp/wp-content/uploads/2025/10/Reason_bg02.png);
		background-repeat:no-repeat;
		background-position:left 2rem top 1rem;
	}
	.bg03{
		background-image:url(https://kinki-restoration-support.jp/wp-content/uploads/2025/10/Reason_bg03.png);
		background-repeat:no-repeat;
		background-position:right 2rem top 1rem;
	}
	.bg04{
		background-image:url(https://kinki-restoration-support.jp/wp-content/uploads/2025/10/Reason_bg04.png);
		background-repeat:no-repeat;
		background-position:left 2rem top 1rem;
	}
}
@media(width<=540px){
	.reazon_box .bg01, .reazon_box .bg03{
		flex-direction: column-reverse;
		background-position: left bottom;
        background-size: 80%;
	}
	.reazon_box .bg02, .reazon_box .bg04{
		background-position: left bottom;
        background-size: 80%;
	}
}


.reazon_top_img{
	max-width: 60%;
    margin: 0 auto;
}

.reazon_flex{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    gap: 0.8rem;
    img{
      width:250px;
		@media(width<=540px){
			display:block;
			margin:0 auto 1rem;
		}
	}
	@media(width<=540px){
		display:block;
		margin-bottom:2rem;
	}
  }
.speechBubble {
  position: relative;
  display: inline-block;
  margin-left: 16px;
  padding: 16px;
  border-radius: 12px;
  background-color: #ffebeb;
  text-align: left;
  font-size: 20px;
  font-weight: 400;
  line-height: 2;

	@media(width<=540px){
		margin-top: 16px;
		margin-left: 0;
		font-size:18px;
	}
}

.speechBubble::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 0 16px 16px 0;
  border-color: transparent #ffebeb transparent transparent;
  translate: -100% calc(-50% - 0.4px);
  transform: skew(0, -10deg);
  transform-origin: right;
	@media(width<=540px){
		top: 0;
		left: 50%;
		border-color: transparent transparent #ffebeb;
		translate: calc(-50% - 0.4px) -100%;
		transform: skew(-10deg);
		transform-origin: bottom;
	}
}


.price_box{
	border: 4px solid #F16E2F;
    border-radius: 22px;
	padding-bottom:2rem;
	h3{
		border-radius: 10px 10px 0 0 !important;
		padding: 1rem 0 !important;
		margin-bottom: 0.5rem;
	}
}


.flow_box{
	border-radius:40px;
}

.triangle {
	width: 0;
    height: 0;
    border-style: solid;
    border-right: 16px solid transparent;
    border-left: 16px solid transparent;
    border-top: 40px solid #f16e2f;
    border-bottom: 0;
    margin: 0 auto 2rem;
}

.fukidashi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
}
.fukidashi::before {
  content: "";
  width: 25px;
  height: 2px;
  transform: rotate(60deg);
  box-sizing: border-box;
  background-color: #23272D;
}
.fukidashi::after {
  content: "";
  width: 25px;
  height: 2px;
  transform: rotate(-60deg);
  box-sizing: border-box;
  background-color: #23272D;
}

[data-a=col-custom] .faq_a:before{
	color: var(--color_main) ;
}


/********************contact********************/


.contact_box{
	padding:2em;
	border-radius:40px;
	background:#fbf3e5;
	
	td, th{
		border: none;
		padding:1em;
		background:none;
		font-weight:normal;
	}
	th{
		min-width:280px;
		p{
		display:flex;
		justify-content:space-between;
		}
	}
	.wpcf7-form-control{
		width:100%;
	}
	.wpcf7-list-item{
		display:block;
	}
	button, input, select, textarea{
		background:#fff;
		border: none;
		border-radius: 10px;
	}
}
@media (max-width: 600px) {
	.contact_box{
		padding:0.5em;
		th{
			border:none;
			padding-bottom:0;
		}
	}
}

.hissu, .nini{
	background: var(--color_main) ;
    color: #fff;
    font-size: 13px;
    padding: 0 1em;
	line-height:2;
	border-radius:10px;
}

.nini{
	background:#A29F9F;
}

.contact_btn{
	text-align:center;
	margin:2em;
	.wpcf7-form-control{
		width:200px;
		background: #F16E2F;
        color: #fff;
	}
}

.wpcf7-spinner{
	display:block;
}

.wpcf7 textarea[name="biko"] {
        height: 150px !important;
}

/*footer*/
.l-footer__nav a:hover{
	text-decoration:none;
}
@media (min-width: 600px) {
	.l-footer__nav li:first-child a {
        border-left: none;
    }
    .l-footer__nav li:last-child a {
        border:none;
    }
}
.w-footer{
	align-items:center;
}
.footer_add{
	display:flex;
	align-items:center;
	background:#FBF3E5;
	border-radius:20px;
	padding: 1rem;
    color: #23272D;
    gap: 1rem;
	width:80%;
	margin:0 auto;
	@media(width<=540px){
		display:block;
		width:100%;
	}
	img{
		width:100px;
		@media(width<=540px){
			display:block;
			margin:0 auto;
		}
	}
	
}
.add_tel{
	color:var(--color_main) ;
	font-size:1.3em;
}

/*固定ページ*/
.l-topTitleArea{
	text-align:center;
}

.campany_table{
	max-width:800px;
	margin:0 auto;
	td{
		padding:1rem;
	}
}

/*other*/

.flex_C{
	display:flex;
	justify-content:center;
}
.shadow{
	box-shadow: 0px 0px 15px -5px #777777;
}
.mb0{
	margin-bottom:0;
}
.mt2{
	margin-top:2rem;
}