/*
Theme Name: 家づくり相談室_ver_01_2026
Theme URL:
Author:
Author URI:
Description: 家づくり相談室_のテンプレートver01
Version: 9999
Tags:
License:
License URI:
*/
/* ==========================================================================
   Foundation
   ========================================================================== */
/* Reset
   ----------------------------------------------------------------- */

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,main,menu,nav.gnav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:400;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav.gnav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}
figure{margin-bottom:0;}
/* Base
   ----------------------------------------------------------------- */
.serif{
	font-family:"Noto Serif JP", serif;
	font-weight: 500;
  font-style: normal;
}
body{
	font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
	color:#303030;
	/*max-width:2400px;*/
	margin:0 auto;
	letter-spacing: 1px;
	font-feature-settings: "palt";
	background-color:#fff;
}
@media screen and (max-width: 480px){
	body{letter-spacing:0;}
}
a{
	color:#303030;
	text-decoration:none;
}
a:hover{opacity:0.8;}
img{
	vertical-align:top;
	max-width:100%;
	height:auto;
}
figcaption{
	text-align:center;
	font-size:clamp(13px, 1.5vw, 16px);
	line-height:1.5em;
	margin:5px 0;
}
ol{list-style:none}
strong{font-weight:bold;}
/* ==========================================================================
   共通
========================================================================== */
html{
	font-size:clamp(14px, 1.5vw, 16px);
	scroll-padding-top: 100px;/*追従headerの高さ指定*/
}
main{/*overflow:hidden;*/}

/*文字寄せ*/
.txt-right{text-align:right;}
.txt-center{text-align:center;}
/*一文字空白*/
.indent{text-indent: 1em;}
/*URL改行防止*/
main p{word-break: break-all;}


/*共通ボタン*/

.btn {text-align:center;}
.btn a{
	font-size:18px;
  box-sizing:border-box;
  line-height:60px;
	border:solid 2px #303030;
  padding:0 70px 0 34px;
  display:inline-block;
  margin:0 auto;
  background-color:#fff;
  color:#303030;
  font-weight:bold;
  border-radius:30px;
  text-decoration:none;
  position:relative;
  overflow:hidden; /* はみ出し防止 */
	box-shadow:4px 4px 0 #303030;
}
.btn a:before{
	content:"";
  width:42px;
  height:42px;
  background:#303030;
  border-radius:50%;
  position:absolute;
  right:8px;
  top:9px;
  z-index:1;
}
.btn a:after{
	content:"";
	width:21px;
	height:21px;
	z-index:2;
	position:absolute;
	right:19px;
	top:19px;
	background-image:url(img/btn-arrow.svg);
	background-repeat:no-repeat;
	background-size:100%;
	background-position:center;
	
}
.btn a:hover{opacity:1;
transform: translateX(4px) translateY(4px);
  box-shadow: none;

}

@media screen and (max-width: 768px){
	.btn a{
		line-height:48px;
		font-size:15px;
		padding: 0 48px 0 20px;
		min-width: 250px;
		}
	.btn a:before{
	content:"";
  width:30px;
  height:30px;
}
.btn a:after{
	content:"";
	width:15px;
	height:15px;
	right:16px;
	top:16px;
}
}

/*相談ボタン*/
.btn-soudan {
	display: flex;
    justify-content: center;
    align-items: center;
		min-width: 250px;
	}
.btn-soudan a{
	font-size:43px;
	font-size:clamp(15px, 2.5vw, 42px);
  box-sizing:border-box;
  line-height:100px;
	border:solid 2px #303030;
  padding:0 70px 0 34px;
  display:inline-block;
  margin:0 auto;
  background-color:#fff;
  color:#303030;
  font-weight:bold;
  border-radius:50px;
  text-decoration:none;
  position:relative;
  overflow:hidden; /* はみ出し防止 */
	box-shadow:4px 4px 0 #303030;
	display: flex;
	justify-content: center;
	align-items: center;
}
.btn-soudan a span{
	line-height:46px;
	font-size:clamp(7px, 1.75vw, 20px);
	padding:0 1rem;
	background:#303030;
	border-radius:30px;
	color:#fff;
	display:inline-block;
	margin-right:1rem;
}
.btn-soudan a:before{
	content:"";
  width:23px;
  height:27px;
  background:#303030;
  position:absolute;
  right:20px;
  top:40px;
  z-index:1;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.btn-soudan a:hover{
	opacity:1;
transform: translateX(4px) translateY(4px);
  box-shadow: none;
}
@media screen and (max-width: 768px){
	.btn-soudan a{
		line-height:40px;
	padding:0 23px 0 8px;
	}
	.btn-soudan a span{
		padding:0 5px;
		margin-right:4px;
		line-height:16px;}
	.btn-soudan a:before{
		right: 8px;
    top: 14px;
		    width: 9px;
    height: 13px;
	}
}

@media screen and (max-width: 480px){
	.btn-soudan a{font-size:13px;}
}


/*共通ボタンmin*/
.btn-min a{
	font-size:16px;
  box-sizing:border-box;
  line-height:33px;
	border:solid 1px #303030;
	background:#303030;
  padding:0 1.5rem;
  display:inline-block;
  color:#fff;
  font-weight:bold;
  border-radius:30px;
  text-decoration:none;
}
.btn-min a:hover{
	opacity:1;
	color:#303030;
	background:#fff;
}


/*共通テーブル*/
table.tbl100{width: 100%;}

.tbl01{
	margin-bottom: 2rem;
	box-sizing: border-box;
	border-top:solid 1px #ccc;
	border-left:solid 1px #ccc;
}
.tbl01 thead th{
	background:#e1dded;
	font-weight:bold;
	text-align:center;
}
.tbl01 tbody th{
	text-align:center;
}
.tbl01 tbody td{background:#fff;}
.tbl01 tbody td:nth-child(1){
	text-align:center;
}
.tbl01 tbody td.point{
	background:#f4f3f2;
}
.tbl01 tbody td.pr{text-align:center;}
.tbl01 td,
.tbl01 th{
	padding: 1rem ;
	line-height: 1.5rem;
	font-size:clamp(11px, 1.25vw, 15px);
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	vertical-align: middle;
}


@media screen and (max-width: 768px){
.scroll{
	overflow: auto;
	white-space: nowrap;
	margin-bottom: 1em;
}
.scroll table{
	width: 100%;
	margin-bottom: 0.5em;
}
}
@media screen and (max-width: 480px){
.tbl01 td,
.tbl01 th{padding: 1rem 1rem;}
}



/*線なしのミニテーブル*/
.tbl-min{
	margin-bottom: 2rem;
	box-sizing: border-box;
}
.tbl-min td,
.tbl-min th{
	padding: 0.5rem ;
	line-height: 1.5rem;
	font-size:clamp(13px, 1.5vw, 16px);
}
.tbl-min th{
	vertical-align: top;
	text-align: left;
}


/*mapレスポンシブ*/
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 36.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}
@media screen and (max-width: 640px){
	.gmap {padding-bottom: 56.25%;}
}

/*tel スマホサイズのみクリック可*/ 
@media (min-width: 769px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}



.sec{padding:6rem 2rem;}
@media screen and (max-width: 768px){.sec{padding:4rem 2rem;}}
@media screen and (max-width: 480px){.sec{padding:3rem 2rem;}}


.sec1800{
	padding:6rem 2rem;
	margin:0 auto;
	box-sizing:border-box;
}
@media screen and (max-width: 768px){.sec1800{padding:4rem 2rem;}}
@media screen and (max-width: 480px){.sec1800{padding:3rem 2rem;}}

.inner{ 
	max-width:1460px;
	margin:0 auto;
	box-sizing:border-box;
}

.inner1260{
	max-width:1260px;
	margin:0 auto;
	box-sizing:border-box;
}

.inner1050{
	max-width:1050px;
	margin:0 auto;
	box-sizing:border-box;
}
.inner900{
	max-width:900px;
	margin:0 auto;
	box-sizing:border-box;
}


/*sp用*/
@media screen and (min-width: 481px){.sp480{display:none;}}
@media screen and (min-width: 381px){.sp380{display:none;}}
/*見出し*/

/*共通の見出しサイズ*/
h1,
h2,
h3,
h4,
h5,
p{line-height:1.75em;}

h1:not(.not){font-size:clamp(32px, 3vw, 50px);}
h2:not(.not){font-size:clamp(22px, 2.75vw, 40px);}
h3:not(.not){font-size:clamp(20px, 2.5vw, 38px);}
h4:not(.not){font-size:clamp(18px, 2vw, 24px);}
h5:not(.not){font-size:clamp(16px, 1.75vw, 20px);}
h6:not(.not){font-size:clamp(14px, 1.5vw, 16px);}
p,a{font-size:clamp(14px, 1.5vw, 16px);}

h1:not(.not) span,
h2:not(.not) span,
h3:not(.not) span,
h4:not(.not) span,
h5:not(.not) span,
h6:not(.not) span{display:inline-block;}
p span{display:inline-block;}

/*共通の見出し装飾と余白*/
.bold{font-weight: 700;}
h1:not(.not){margin-bottom:2rem;font-weight: 700;}
h2:not(.not){margin-bottom:1rem;font-weight: 700;}
h3:not(.not){margin-bottom:1rem;font-weight: 700;}
h4:not(.not){margin-bottom:1rem;}
h5:not(.not){margin-bottom:1rem;}
h6:not(.not){margin-bottom:1rem;}
p:not(.not){margin-bottom:1rem;}



/*共通リスト*/

/*丸ドットのリスト*/
ul.list01{
	margin-left: 0.5rem;
	margin-bottom:1.5rem;
}
ul.list01 > li{
	font-size:clamp(14px, 1.5vw, 16px);
	line-height: 1.5em;
	padding:0 0 0 26px;
	position:relative;
	margin-bottom:1rem;
}
ul.list01 > li:before{
	content: "";
	position: absolute;
	left: 10px;
	top: calc(1em - 5px);
	width: 5px;
	height: 5px;
	background: #1F2E55;
	display: block;
	border-radius: 5px;
}
/*数字リスト*/
ol.list-num01 {
	margin-left: 0.5rem;
	margin-bottom:1.5rem;
	counter-reset: listnum;
}
ol.list-num01 > li{
	font-size:clamp(14px, 1.5vw, 16px);
	line-height: 1.5em;
	margin: 0 0 1rem 0;
	padding:0 0 0 26px;
	position:relative;
}
ol.list-num01 > li:before{
	position: absolute;
	left: 0px;
	counter-increment: listnum;
	content: counter(listnum) ".";
	width: 23px;
	text-align: right;
}


/*パンくず*/
#bread{
	padding:.75rem 1rem;
	background:#f4f3f2;
}
#bread ul{
	display:flex;
	flex-wrap:wrap;
	max-width:1140px;
	margin:0 auto;
}
#bread ul li{
	padding:0 .5rem 0 0;
	font-size:.8rem;
	line-height: 1rem;
	font-weight:bold;
}
#bread ul li a{
	font-size:.8rem;
	font-weight:normal;
}
#bread ul li a:after{content:"／";margin-left:.5rem;}

@media screen and (max-width: 769px){
	#bread ul li{padding:0 0.2rem 0 0 ; font-size:0.7rem;}
	#bread ul li a{font-size:0.7rem;}
}



/* ==========================================================================
   Layout
========================================================================== */


/* Header と side
----------------------------------------------------------------- */
header{
	position: sticky;
  top: 0;
	width:100%;
	box-sizing:border-box;
	padding:0;
	background:#fff;
	z-index:99;
	height:80px;
}
.header-in{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	height:80px;
}

.header-in .h-logo{
	position:relative;
	z-index:999;
	margin-right:1rem;
}
.header-in .item{
	flex:1;
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	justify-content: flex-end;
}
@media screen and (min-width: 769px) and (max-width: 980px){
	.header-in .h-logo img{width:220px;}
}
@media screen and (max-width: 768px){
	header,
.header-in{height:50px;}
.header-in .h-logo img{width:175px;}
}





/*追従
header.m_fixed{
	width:100%;
	box-sizing: border-box;
	position:fixed;
	z-index:999;
	left:0;
	top:0;
}
header.m_fixed .h-logo img{

}
*/
/*pcのheaderナビ*/
.h_nav li a:hover{
	opacity:1;
	color:#B7B7B7;
}
.h_nav li.yoyaku a:hover{
	color:#fff;
	background:#707070;
}



@media screen and (min-width: 769px){
.h_nav{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
}
.h_nav li a{
	padding: 0 2rem;
	margin-right: 1rem;
	height: 80px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	font-size:clamp(15px, 1.75vw, 22px);
	font-weight:bold;
}

.h_nav li a span{
	font-size:clamp(14px, 1.5vw, 16px);
	margin-top: 5px;
}
.h_nav li.yoyaku a{
	background:#EAF2D8;
}
}
@media screen and (min-width: 769px) and (max-width: 980px){
	.h_nav li a{padding:0 1.5rem; margin-right:0;}
}

/*----ハンバーガー ここから----*/
/*ハンバーガーメニューの高さがはみ出した時のスクロールバー*/
.h_menu::-webkit-scrollbar{width: 8px;}
.h_menu::-webkit-scrollbar-track{background-color: #ddd;}
.h_menu::-webkit-scrollbar-thumb{background-color: #0088FF;}

@media screen and (max-width: 768px){





/* メニューのスタイル */
.h_menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background-color: #F7F2EA;
  color: #333;
  transition: right 0.8s ease; 
  padding: 120px 20px 20px 20px; 
  box-sizing: border-box;
  z-index: 999;
}

/* メニューが開いているとき */
.h_menu.open {
  right: 0;
}

/* ボタンのスタイル */
.hamburger {
  position: fixed;
  top: 8px;
  right: 20px;
  width: 30px;
  cursor: pointer;
  z-index: 20;
}

.hamburger span {
  display: block;
  height: 2px;
  width: 100%;
  background-color: #707070;
  margin: 8px 0;
  transition: 0.4s;
}

/* バツ印に変化するスタイル */
.hamburger.active span:nth-child(1) {
  transform: rotate(35deg) translate(8px, 8px);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  transform: rotate(-35deg) translate(6px, -6px);
}

/* メニューリストのスタイル */

.h_menu .h_nav li {
	margin-bottom:2rem;
}
.h_menu .h_nav li a {
	display:block;
	font-size:28px;
	font-weight:bold;
	text-align:center;
}
.h_menu .h_nav li a span{
	font-size:15px;
	margin-top: 10px;
}



.h_nav_min{
	padding-top: 2rem;
}
.h_nav_min li{
	text-align: center;
}
.h_sns{
	padding-top: 2rem;
	text-align:center;
}
.h_sns li{
	display:inline-block;
	padding:5px;
}
}







@media screen and (min-width: 769px){.h_menu .sp{display:none;}}
@media screen and (max-width: 768px){.h_menu .pc{display:none;}}


/*----ハンバーガー end----*/



/* footer
---------------------------------------------------------------- */

footer{
	padding:8rem 2rem 0 2rem;
}
.f-inner{
	max-width:1800px;
	padding:8rem 2rem 2rem;
	background-color:#F7F2EA;
	margin:0 auto;
	border-radius:40px 40px 0 0;
}
.f-inner .col{
	max-width:1460px;
	margin:0 auto 4rem;
}
.f_sns li{display:inline-block;padding:8px;}

@media screen and (min-width: 821px){
.f-inner .col{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	margin-bottom:8rem;
}
.f-inner .col .item-add{
	
	margin-right:2rem;
}


}
@media screen and (max-width: 820px){
	.f-inner .col{margin-bottom:4rem;}
	.f-inner .col .item-add{margin-bottom:4rem;}
	.f_nav-wrap{
	display: flex;
	flex-direction: column;
	align-items: center;
}
}

@media screen and (min-width: 521px){
	.f-inner .col .item-add{
	display:flex;
	flex-wrap:wrap;
	flex:1;
	
}
.f-logo{width:30%;margin:0 1rem 1rem 0;max-width: 250px;}
.f-inner .col .item-add .txt{flex:1;}

}

@media screen and (max-width: 520px){
	.f-inner {padding:4rem 1.5rem 2rem; border-radius:30px 30px 0 0;}
	.f-logo{width:40%; margin:0 0 1rem;}
	.f-inner .col{position:relative; padding-bottom:6rem;}
	.f-inner .col .item-add{
		max-width: 300px;
	margin: 0 auto 4rem;
	}
	
	.f_sns{
		position:absolute;
		left:0;
		bottom:0;
		width:100%;
		margin: 0 auto;
		text-align:center;
	}

}


.f_nav li{
	margin-bottom:2rem;
}

.f_nav li a{
	display:inline-block;
	font-size:18px;
	position:relative;
	line-height:24px;
	margin-left:30px;
	box-sizing:border-box;
	border-bottom:solid 1px #F7F2EA;
}
.f_nav li a:before{
	width:23px;
	height:23px;
	border:solid 1px #303030;
	background:#fff;
	border-radius:50%;
	content:"";
	position:absolute;
	left:-30px;
	top:0;
}
.f_nav li a:after{
	content:"";
	position:absolute;
	width: 7px;
	height: 7px;
	left: -23px;
	top: 9px;
	border-top: 1px solid #303030;
	border-right: 1px solid #303030;
	transform: rotate(45deg); 
}

.f_nav li a:hover{
	opacity:1;
	border-bottom:solid 1px #303030;
	
}
.f_nav li a:hover:before{background:#303030;}
.f_nav li a:hover:after{border-top: 1px solid #fff;
	border-right: 1px solid #fff;}

@media screen and (max-width: 520px){
	.f_nav{width:100%;margin-bottom:3rem;}
	.f_nav li{
	margin-bottom:.5rem;
}
.f_nav li a{font-size:16px;}
}

footer .address{
font-size:clamp(12px, 1.15vw, 13px);
text-align: center;
}

/* カテゴリー
---------------------------------------------------------------- */
#category .entry_content{
	padding: 4rem 6rem;
}
.sec{padding:6rem 2rem;}
@media screen and (max-width: 768px){#category .entry_content{padding:4rem 2rem;}}
@media screen and (max-width: 480px){#category .entry_content{padding:3rem 2rem;}}

.cat_list_wrap{
	max-width:1260px;
	margin:0 auto;
}
.cat_list{
	display: flex;
	margin-bottom: 4rem;
}
.cat_list .cat_img {
	margin: 0 2rem;
	width: 40%;
	max-width: 420px;
	aspect-ratio: 42 / 30;
	border-radius:40px;
}
.cat_list .cat_img img{
	display: inline-block;
	aspect-ratio: 42 / 30;
	object-fit: cover;
	border-radius:40px;
}
.cat_list .cat_img .noimg{
	display: inline-block;
	aspect-ratio: 42 / 30;
	object-fit: cover;
	border-radius:40px;
	background-color: #F7F2EA;
	width: 100%;
	height: auto;
	background-image: url(img/logo.svg);
	background-size: 70% auto;
	background-position: center;
	background-repeat: no-repeat;
}
.cat_list .cat_txt{
	flex:1;
	padding: 2rem;
	max-width: 680px;
	margin-left:auto;
}
.cat_list .cat_txt .date{
	margin-bottom:1rem;
	line-height:1.75em;
	font-size:clamp(12px, 1.125vw, 16px);
	color:#707070;
}
.cat_list .cat_txt h2{
	margin-bottom:1rem;
	line-height:1.75em;
	font-size:clamp(20px, 1.5vw, 22px);
	font-weight:bold;
}
.cat_list .cat_txt p{
	font-size:clamp(14px, 1.25vw, 16px);
	color:#707070;
	margin-bottom:1rem;
}

@media screen and (max-width: 768px){
	.cat_list .cat_img{margin:0 2rem 0 0;}
	.cat_list .cat_txt{padding:0;}
	.cat_list .cat_img,
	.cat_list .cat_img img,
	.cat_list .cat_img .noimg{border-radius:20px;}
}

@media screen and (max-width: 480px){
	.cat_list{display:block;}
	.cat_list .cat_img{margin:0 auto 2rem;width:unset;}
	
}


/*pagenavi*/
.pagenavi{
	color: #fff;
	margin: 20px auto 20px;
	line-height:2em;
	text-align:center;
	clear: both;
	margin-bottom:2em;
}
.pagenavi a{
	text-decoration:none;
	color: #303030;
}
.pagenavi a.page-numbers, .pagenavi .current{
	line-height: 33px;
	display: inline-block;
	padding: 0 10px;
	text-decoration: none;
	font-size: 16px;
	border-radius:30px;
}
.pagenavi .current{
	color: #303030;
	font-weight: bold;
}
.pagenavi .prev.page-numbers,
.pagenavi .next.page-numbers{
	background:none;
	color:#1f1f1f;
}
@media screen and (max-width: 480px){
	.pagenavi a.page-numbers, .pagenavi .current{
		font-size:12px;
		padding:0 9px;
		line-height:24px;
	}
	
}



/*次の記事*/
/*
.navigation{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.navigation .alignleft,
.navigation .alignright{
	width:50%;
	box-sizing:border-box;
	position:relative;
}
.navigation .alignleft{padding-right:1rem;}
.navigation .alignright{padding-left:1rem;text-align:right;}

.navigation .next,
.navigation .prev{
	position:absolute;
	z-index:1;
	top:0;
	background:#958bbd;
	padding:3px 6px;
	color:#fff;
	font-size:12px;
}

.navigation .next{right:0;}
.navigation .prev{left:0;}


.navigation .tit{margin-bottom:0;}
.navigation a{
	display:block;
	padding:2rem 0;
	font-weight:bold;
	position:relative;
}
.navigation .date{
	position:absolute;
	bottom:5px;
	font-size:12px;
	color:#666;
}
.navigation .alignleft .date{left:0;}
.navigation .alignright .date{right:0;}
*/


#single{}

#single .item-thumb{
	margin: 0 auto 4rem;
	aspect-ratio: 900 / 650;
	border-radius:20px;
}

#single .item-thumb img{
	display: inline-block;
	aspect-ratio: 900 / 650;
	border-radius:20px;
	object-fit: cover;
}
#single .tit-wrap .date{
	margin-bottom:1rem;
	line-height:1.75em;
	font-size:clamp(12px, 1.125vw, 16px);
	color:#707070;
}
#single .tit-wrap{margin-bottom:2rem;}
#single .tit-wrap h1.single-title{
	margin-bottom:1rem;
	line-height:1.75em;
	font-size:clamp(20px, 1.5vw, 22px);
	font-weight:bold;
}


#single .cont-wrap{
	margin-bottom:4rem;
}
#single .btn-min{text-align:center;}

/* ==========================================================================
   main内共通
========================================================================== */


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

.page-tit-wrap h1{
	font-size:clamp(13px, 1.5vw, 18px);
}
.page-tit-wrap .sub-tit{
	font-size:clamp(65px, 4.5vw, 103px);
	font-weight:bold;
	color:rgba(48,48,48,0.2);
}




/*ページトップ画像がある場合*/



.page-tit-wrap{
	position: relative;
	max-width: 1460px;
	padding: 0 2rem;
	
}
.page-tit-wrap h1{
	padding-left:1rem;
	margin-bottom: 1rem;
	position: relative;
	font-weight:bold;
}
.page-tit-wrap h1:before{
	content:"";
	width:10px;
	height:10px;
	position:absolute;
	left:0;
	top:10px;
	background:#B1D255;
	border-radius:50%;
}

.page-tit-wrap .sub-tit{
	color:rgba(48,48,48,0.2);
	
}
@media screen and (min-width: 821px){
	.page-tit-wrap{
	margin: -3rem auto 0;
	bottom: -6rem;
}
}
@media screen and (max-width: 820px){
	.page-tit-wrap{margin:2rem 0 2rem;}

}



.page-top .page-top-img-wrap{
	padding: 4rem 0 6rem;
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	align-items: flex-start;
	position: relative;
}
.page-top .page-top-img-wrap .page-top-txt{
	flex: 1;
	padding:6rem 2rem 6rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
		position:relative;

}




.page-top .page-top-img-wrap .page-top-txt .txt-wrap{
	flex:1;
}
.page-top .page-top-img-wrap .page-top-txt .page-catch{
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	font-size: clamp(22px, 4.75vw, 40px);
	font-weight: 700;
	padding: 0 8px;
	line-height: 1.75em;
	background: #fff;

}

.page-top .page-top-img-wrap .page-top-txt .page-hook{
	margin:4rem 0 0 0;
	line-height:2rem;
	max-width: 600px;
	letter-spacing: 1.5px;
	font-size:clamp(14px, 1.25vw, 16px);
	font-weight:bold;
}

@media screen and (min-width: 1521px){
.page-top .page-top-img-wrap .page-top-txt{padding-left: calc((100% - 1460px) / 2);}
}

@media screen and (min-width: 821px){
.page-top-txt .page-tit-wrap{margin-bottom: 4rem;}

.page-top .page-top-img-wrap .page-top-txt:after{
	content:"";
	position:absolute;
	z-index: -1;
	left:0;
	bottom:0;
	background:#F5F0E7;
	width:70vw;
	height:100%;
	border-radius:0 40px 40px 0;

}




.page-top .page-top-img-wrap .page-top-img{
	position:relative;
	width:calc(50vw + 60px);
	right:-60px;
	margin-left: -60px;
	max-height: 67vh;
	overflow: hidden;
	border-radius:40px 0 0 40px;
	min-height:400px;
	border-radius:40px;
	border:solid 10px #fff;
	top: -4rem;
	
}

.page-top .page-top-img-wrap .page-top-img img{
	width:100%;
	min-height:400px;
	object-fit: cover;
}

}
@media screen and (max-width: 820px){
	.page-top .page-top-img-wrap{padding:0;}
.page-top .page-top-img-wrap:after{
	content:"";
	position:absolute;
	z-index: -1;
	left:0;
	bottom:0;
	background:#F5F0E7;
	width: calc(100% - 5rem);
	height:calc(100% - 5rem);
	border-radius:0 40px 40px 0;

}

	.page-top-txt .page-tit-wrap{margin-bottom: 4rem;}
	.page-top .page-top-img-wrap{flex-direction: column-reverse;}
	.page-top .page-top-img-wrap .page-top-img {
		margin:0 2rem 2rem;
		position: relative;
        top: 0em;
        right: -5rem;
		}
	.page-top .page-top-img-wrap .page-top-img img{
	border:solid 5px #fff;
	border-radius:20px;
}
.page-top .page-top-img-wrap .page-top-txt{
	padding:0 2rem;
}
.page-top .page-top-img-wrap .page-top-txt .txt-wrap{
	position: relative;
	top: -5em;
	z-index: 2;
	        margin-bottom: -5rem;
}

.page-top .page-top-img-wrap .page-top-txt .page-hook{
	margin:2rem 0;
	width: calc(100% - 5rem);
}


}

@media screen and (max-width: 380px){
	.page-top .page-top-img-wrap:after{
		width: calc(100% - 2rem);
	}
	.page-top .page-top-img-wrap .page-top-txt .txt-wrap{
		width: calc(100% - 2rem);
	}
	.page-top .page-top-img-wrap .page-top-txt .page-hook{
		
	}
}


/*ページトップ画像がない場合*/
.page-top .t-center{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column-reverse;
	padding: 0 1rem;
	height:40vh;
	margin:3rem auto;
}

.page-top .t-center h1,
.page-top .t-center .cat-tit{
	font-size:clamp(20px, 2.5vw, 37px);
	font-weight:bold;
	line-height: 1.75;
}
.page-top .t-center .sub-tit{
	font-size:clamp(38px, 4.5vw, 103px);
	font-weight:bold;
	color:rgba(48,48,48,0.2);
}

@media screen and (max-width: 768px){
.page-top .page-top-txt.t-center{
	aspect-ratio: 1 / 1;
}
}
/* ==========================================================================
   section別
========================================================================== */

/*index*/
#index-catch{
	position: relative;
  padding: 0;
}
#index-catch::before{
	content: "";
  position: absolute;
  inset: 0;
  background: #F5F0E7;
  clip-path: polygon(0 0, calc(100% - 180px) 0, 0 100%);
  z-index: -1;
}

.catch01{
	padding:5rem 0 2rem;
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	overflow: hidden;
}
.catch01 .item-txt{
	flex:1;
	padding-left:2rem;
	padding-right:2rem;
	box-sizing:border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
@media screen and (min-width: 1521px){
	.catch01 .item-txt{padding-left:calc((100% - 1460px) / 2);}
}

.catch01 .item-txt h1{
	font-size:clamp(27px, 2.75vw, 44px);
	line-height: 2em;
	margin-bottom: 2rem;
	text-align: center;
	font-weight:bold;
	letter-spacing: 2px;
}
.catch01 .item-txt h1 strong{
	font-size:clamp(40px, 3.25vw, 71px);
	display:inline-block;
	padding:0 1.5rem;
	background: #fff;
}
.catch01 .item-txt p.moyamoya{
	position:relative;
	padding-left:50px;
	font-size:clamp(15px, 1.5vw, 18px);
	font-weight:bold;
	margin-bottom: 2rem;
}
.catch01 .item-txt p.moyamoya:before{
	position:absolute;
	left:0;
	top:0;
	z-index:1;
	content:"";
	width:40px;
	height:40px;
	background-image:url(img/moyamoya01.svg);
	background-size:100%;
	background-position:center;
	background-repeat:no-repeat;
}



@media screen and (min-width: 821px){
.catch01 .item-img{
	position:relative;
	width:calc(50vw + 60px);
	right:-60px;
	margin-left: -60px;
	max-height: 67vh;
	overflow: hidden;
	border-radius:40px 0 0 40px;
	min-height:400px;
	border-radius:40px;
	border:solid 10px #fff;
}

.catch01 .item-img img{
	width:100%;
	min-height:400px;
	object-fit: cover;
}

}

@media screen and (max-width: 820px){
	#index-catch::before{
  clip-path: polygon(0 0, 82vw 0, 0 80%);
  z-index: -1;
}

	
	
	.catch01{flex-direction: column-reverse;}
	.catch01 .item-txt{margin:0 auto;}
	.catch01 .item-img {margin:0 2rem 2rem;}
	.catch01 .item-img img{
	border:solid 5px #fff;
	border-radius:40px;
}
}
@media screen and (max-width: 350px){
	.catch01 .item-txt h1 strong{
	font-size:clamp(37px, 3.25vw, 71px);
	padding: 0 1rem;
	}
}


.catch02{
	position:relative;
	max-width:1460px;
	margin:0 auto;
	padding:2rem 4rem;
	box-sizing: border-box;
	min-height: 80vh;
	    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 768px){
	.catch02{padding:8rem 2rem 2rem;}
}


.catch02 .scrollbar{
	flex:1;
	display: flex;
	align-items: center;
	flex-direction: column;
}
.catch02 .scrollbar span{
	position:relative;
	width:50px;
	text-align:center;
}
.catch02 .scrollbar a{font-weight:bold;}
.yazirusi {
  position: relative;
	top: 10px;
	height: 25vh;
	width: 40px;
	margin-bottom:2rem;
}
.yazirusi .line01 {
  width: 1px;
	height: 25vh;
  background-color: #303030;
	position: absolute;
	left:20px;
}
.yazirusi .line02 {
  position: absolute;
  bottom: 0;
  left:0;
  transform-origin: right bottom;
  width: 20px;
  height: 1px;
  background-color: #303030;
  transform: rotate(-225deg);
}

@media screen and (min-width: 821px){
.catch02 .item-txt{
	display:flex;
	flex-wrap:wrap;
	align-items: end;
}
.catch02 .item-txt .txt{flex:1;}
}
.catch02 .item-txt .txt p{
	font-size:clamp(14px, 1.5vw, 18px);
	font-weight:bold;
	line-height:2em;
	margin-bottom:2em;
}
@media screen and (max-width: 768px){
	.catch02 .scrollbar{
	right: 20px;
	top: 0;
	position: absolute;
}
}
@media screen and (min-width: 769px){
.catch02 .item-txt .btn{margin-left:2rem;}
}
/*お知らせ*/
#index-news {
	padding: 6rem 4rem 4rem;
}
#index-news .tit {margin-bottom:4rem;}
#index-news .tit h2{
	text-align:center;
	font-size:clamp(30px, 2.5vw, 40px);
}

#index-news .cont{
	margin-bottom:2rem;
}
#index-news .cont .news-list{
	border-top:solid 1px #303030;
	margin-bottom:2rem;
}
#index-news .cont .news-list li > a{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	padding:0.5rem 1rem;
	border-bottom:solid 1px #303030;
}
#index-news .cont .news-list li > a:hover{
	opacity:1;
	background:#EAF2D8;
}
#index-news .cont .news-list li .img-wrap{
	margin-right:2rem;
	width:25%;
	max-width:300px;
	aspect-ratio: 3 / 2;
}
#index-news .cont .news-list li .img-wrap img,
#index-news .cont .news-list li .img-wrap .noimg{
	display:inline-block;
	aspect-ratio: 3 / 2;
	object-fit:cover;
}
#index-news .cont .news-list li .img-wrap .noimg{
	background-color: #F7F2EA;
	width: 100%;
	height: auto;
	background-image:url(img/logo.svg);
	background-size:70% auto;
	background-position:center;
	background-repeat:no-repeat;
}
#index-news .cont .news-list li .txt-wrap{flex:1;}
#index-news .cont .news-list li .txt-wrap .date{
	font-weight:bold;
	font-size:clamp(14px, 1.25vw, 18px);
}
#index-news .cont .news-list li .txt-wrap .in-tit{
	font-size:clamp(14px, 1.25vw, 18px);
}
@media screen and (min-width: 769px){
	#index-news .cont .news-list li .txt-wrap{
		display:flex;
		flex-wrap:wrap;
		align-items:center;
	}
	#index-news .cont .news-list li .txt-wrap .date{
		width: 25%;
    text-align: center;
	}
	#index-news .cont .news-list li .txt-wrap .in-tit{
		flex:1;
	}
}
@media screen and (max-width: 768px){
#index-news {padding: 2rem;}
#index-news .cont .news-list li a{padding:2px 0;}
#index-news .cont .news-list li .img-wrap{
	margin-right:1rem;
	width:25%;
	max-width:300px;
	min-width:90px;
	aspect-ratio: 1 / 1;
}
#index-news .cont .news-list li .img-wrap img,
#index-news .cont .news-list li .img-wrap .noimg{
	aspect-ratio: 1 / 1;
}
#index-news .cont .news-list li .txt-wrap{
	display: flex;
	flex-direction: column;
	justify-content: center;
}
#index-news .cont .news-list li .txt-wrap .date{
	margin-bottom:1rem;
}

}
@media screen and (max-width: 480px){
#index-news {padding: 2rem 1.5rem;}

}

/*色違い共通*/
#reason,
#support,
#promise{
	box-sizing:border-box;
	max-width:1800px;
	border-radius:40px;
	position:relative;
}


#reason .sub-tit,
#support .sub-tit,
#promise .sub-tit{
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
	top: -3rem;
	width:258px;
	box-sizing:border-box;
	padding:3rem 0 1rem;
	border-radius:50%;
	background: #fff;
	font-size:clamp(9px, 2vw, 18px);
	display: flex;
	justify-content: center;
	align-items: center;
}

#reason .sub-tit:before,
#support .sub-tit:before,
#promise .sub-tit:before,
#reason .sub-tit:after,
#support .sub-tit:after,
#promise .sub-tit:after{
	content:"";
	width:8px;
	height:8px;
	display:block;
	border-radius: 50%;
	background:#303030;
}


#reason .sub-tit:before,
#support .sub-tit:before,
#promise .sub-tit:before{
	margin-right: 5px;
}
#reason .sub-tit:after,
#support .sub-tit:after,
#promise .sub-tit:after{
	margin-left: 5px;
}



#reason .tit,
#support .tit,
#promise .tit{
	text-align:center;
	margin:0 auto 4rem;
}
#reason .tit h2,
#support .tit h2,
#promise .tit h2{
	
}
#reason .tit h2 span,
#support .tit h2 span,
#promise .tit h2 span{
	font-weight:bold;
	display:inline-block;
	border-bottom:solid 2px #707070;
	padding:1rem 4rem;
	margin-bottom: 1rem;
}
#reason .tit p,
#support .tit p,
#promise .tit p{
	max-width:710px;
	margin:0 auto;
	font-size:clamp(14px, 1.5vw, 18px);
	font-weight:bold;
	line-height:1.75rem;
}


@media screen and (min-width: 1861px){
#reason,
#support,
#promise{margin:6rem auto;padding:6rem 4rem 4rem;}
}

@media screen and (max-width: 1860px){
#reason,
#support,
#promise{margin:6rem 2rem;padding:6rem 4rem 4rem;}
}
@media screen and (min-width: 769px) and (max-width: 1280px){
#reason,
#support,
#promise{margin:4rem 2rem;padding:6rem 2rem 3rem;}
}



@media screen and (max-width: 768px){
#reason,
#support,
#promise{margin:3rem 2rem 5rem;padding:4rem 2rem 3rem;}

#reason .sub-tit,
#support .sub-tit,
#promise .sub-tit{
	width:138px;
}
#reason .sub-tit:before,
#support .sub-tit:before,
#promise .sub-tit:before,
#reason .sub-tit:after,
#support .sub-tit:after,
#promise .sub-tit:after{
	width:4px;
	height:4px;
}

}

@media screen and (max-width: 480px){
	#reason,
#support,
#promise{margin:3rem 1.5rem 5rem;padding:4rem 1.5rem 3rem;border-radius: 15px;}
}




/*私たちが選ばれる3つの理由*/
#reason{background:#FFF7CC;}
.reason-list li{
	max-width:400px;
	background:#fff;
	box-sizing:border-box;
}
.reason-list li figure{text-align:center;}
.reason-list li h3{
	font-weight:bold;
	font-size:clamp(18px, 2vw, 25px);
	text-align:center;
	position:relative;
	z-index: 2;
}

.reason-list li h3:before{
	content: attr(data-en);
	position: absolute;
	top: -25px;
	left: 0px;
	color: rgb(48,48,48,0.15);
	font-size: clamp(62px, 6vw, 90px);
	font-weight: 900;
	z-index: -1;
}

.reason-list li p{
	line-height:1.75rem;
}

@media screen and (min-width: 769px){
	.reason-list{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.reason-list li{
	width:calc((100% - 2rem) / 3);
	border-radius:70px 0 70px 0;
	padding:2rem;
	
}
.reason-list li:not(:nth-child(3n)){margin-right:1rem;}
}

@media screen and (max-width: 768px){
	.reason-list li{
		border-radius:50px 0 50px 0;
		padding: 2rem;
		margin: 0 auto 3rem;
	}
}
@media screen and (max-width: 480px){
	.reason-list li{
		border-radius:50px 0 50px 0;
		padding: 1.5rem;
		margin: 0 auto 2rem;
	}
}


/*6つのサポート*/
#support{background:#F1F8E3;}

.support-list li{
	max-width:400px;
	background:#fff;
	box-sizing:border-box;
	border-radius:20px;
	position:relative;
}
.support-list li .icon{
	position:absolute;
	z-index:1;
	left:0;
	right:0;
	margin:0 auto;
	top:-65px;
	width:130px;
	height:130px;
	border-radius: 50%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}
.support-list li .icon img{
	    position: relative;
    top: -15px;
		
}
.support-list li figure{
	position:relative;
	z-index:2;
	margin-bottom:1rem;
}
.support-list li h3{
	font-size:clamp(18px, 2vw, 24px);
	text-align:center;
}

@media screen and (max-width: 1280px){
.support-list li .icon{
	top: -50px;
	width: 100px;
	height: 100px;
}
}
@media screen and (min-width: 769px){
.support-list{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	
}
.support-list li{
	width:calc((100% - 6rem) / 3);
	padding:2rem;
	margin:4rem 1rem 2rem;
}

}
@media screen and (max-width: 768px){
	.support-list li{
	padding:2rem;
	margin:5rem auto 2rem;
}

}

/*2つの誓約*/
#promise{background:#DCF1D0;}
#promise .col{
	margin-bottom:2rem;
}
#promise .col .item-img{
	overflow: hidden;
	border-radius: 40px;
	border: solid 10px #fff;
}
#promise .col .promise-list{
	max-width:595px;
	margin:0 auto;
}

#promise .col .promise-list li h3{
	font-weight:bold;
	font-size:clamp(17px, 2vw, 25px);
	text-align:center;
	position:relative;
	z-index: 2;
	margin-top:5em;
	background:#fff;
	padding:0 1.5em;
}

#promise .col .promise-list li h3:before{
	content: attr(data-en);
	position: absolute;
	top: -70px;
	left: 0px;
	right:0;
	margin:0 auto;
	width:;
	color: #303030;
	font-size: clamp(25px, 6vw, 34px);
	font-weight: bold;
	z-index: -1;
	background: #fff;
	aspect-ratio: 1 / 1;
	width: 40px;
	line-height: 40px;
	padding: 10px;
	border-radius: 50%;
	text-align: center;
}
#promise .col .promise-list li p{
	max-width:480px;
	margin:0 auto 1rem;
}

@media screen and (min-width: 821px){
#promise .col{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
}
#promise .col .promise-list{
	flex:1;
}
#promise .col .item-img{
	flex:1;
	max-width:770px;
	margin-left:2rem;
}
#promise .col .promise-list li h3 .sp{display:none;}

}
@media screen and (max-width: 820px){
	#promise .col{
	display:flex;
	flex-direction: column-reverse;
}
	#promise .col .item-img{
	border-radius: 30px;
	border: solid 5px #fff;
}
}
@media screen and (max-width: 480px){
	
}
/*アクセス*/
#access{
	padding:6rem 2rem;
}
#access .tit{margin-bottom:2rem;}
#access .tit h2{
	text-align:center;
}



#access .grid-container{
	display: grid;
	grid-template-columns: 1fr 1fr; /* 左1：右1（比率は自由） */
	align-items: stretch; /* 高さを揃える */
	border-top: 1px solid #303030;
	border-left: 1px solid #303030;
}
/* 左右のブロック */
#access .grid-tbl-row {
	display: block;
}

/* 右側だけ縦グリッドにする */
#access .grid-container > .grid-tbl-row:nth-child(2) {
	display: grid;
	grid-template-rows: repeat(4, auto);
}
/* 左側の中身を右と同じ高さにする */
.grid-container > .grid-tbl-row:first-child .grid-item {
	/*height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center; *//* 縦中央（不要なら消す） */
}
/* 見た目用 */
#access .grid-item {
	
	box-sizing: border-box;
	display: flex;
	align-items: stretch;
	height: 100%;
}

#access .grid-th {
	padding: 2rem;
	border-right:solid 1px #303030;
	border-bottom:solid 1px #303030;
	width: 180px;
	margin: 0;
	display: flex;
	align-items: center; /* 縦中央 */
	justify-content: center;
	background:#DDE9C5;
	font-size:clamp(14px, 1.25vw, 18px);
	font-weight:bold;
	box-sizing: border-box;
}


#access .grid-td{
	flex: 1;              /* 残り全部 */
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem;
	border-right:solid 1px #303030;
	border-bottom:solid 1px #303030;
	box-sizing: border-box;
}
#access .grid-td p{
	font-size:clamp(14px, 1.25vw, 18px);
	margin-bottom:0;
}

#access .gmap{
	padding-bottom: 56.25%;
	margin-top:2rem;
}


@media (max-width: 1200px) {
	#access .grid-container {
		grid-template-columns: 1fr;
	}
	#access .grid-th {width:110px;padding:1rem;}
	#access .grid-td {padding:1rem;}
}



@media screen and (max-width: 768px){
#access{padding:4rm 2rem;}


}
@media screen and (max-width: 480px){
#access{padding:3rm 1.5rem;}
#access .grid-th {width:80px;padding:1rem 0;}
#access .gmap{
	padding-bottom: 126.25%;
	margin-top:1.5rem;
}

}




/*私たちについて*/
#faq .tit{
	margin-bottom:4rem;
}
#faq .tit h2{
	text-align:center;
	font-size:clamp(18px, 2.5vw, 38px);
}

#faq .faqbox{
	border:solid 1px #707070;
	border-radius:40px;
	padding:4rem 2rem;
	margin-bottom: 4rem;
	
}
#faq dl.faq-list{
	
	max-width:880px;
	margin:0 auto;
}
#faq dl.faq-list dt,
#faq dl.faq-list dd{
	position:relative;
	padding-left:clamp(35px, 5.5vw, 76px);
	/*padding:2rem 0 2rem clamp(35px, 5vw, 70px);*/

}
#faq dl.faq-list dt{
	margin-bottom:3rem;
	line-height:2em;
	font-size:clamp(16px, 1.75vw, 25px);
	font-weight:bold;
}

#faq dl.faq-list dd{
	font-size:clamp(14px, 1.25vw, 18px);
	line-height:2rem;
}

#faq dl.faq-list dt:before,
#faq dl.faq-list dd:before{
	font-weight:bold;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	width: clamp(30px, 4vw, 63px);
	font-size: clamp(25px, 3vw, 46px);
	font-weight: bold;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
}

#faq dl.faq-list dt:before{
	content:"Q";
	color:#303030;
	background:#DCF1D0;
}
#faq dl.faq-list dd:before{
	content:"A";
	color:#DCF1D0;
	background:#303030;
}
#faq .btn-soudan{margin-top:6rem;}

@media screen and (max-width: 768px){
	#faq .faqbox{
		padding:2rem 1.5rem;
		border-radius:15px;
	}
}

/*ご利用の流れ*/

.flow-list li{
	position: relative;
	margin-bottom: 1rem;
	padding: 0 0 6rem clamp(78px, 6rem, 130px);
}
.flow-list li:not(:last-child):before{
	content: "";
	position: absolute;
	top: 0;
	left: clamp(34px, 2.25rem, 60px);
	height: 100%;
	width: 2px;
	background-color: #303030;
}
.flow-list li:not(:last-child):after{
	content: "";
	position: absolute;
	bottom: 0;
	left: clamp(34px, 2.25rem, 60px);
	transform-origin: right bottom;
	width: 2px;
	height: 20px;
	background-color: #303030;
	transform: rotate(45deg);
}
.flow-list li .num{
	position: absolute;
	left: 0;
	top: 0;
	width: clamp(68px, 5rem, 120px);
	aspect-ratio: 1 / 1;
	z-index: 9;
}
.flow-list li h3 span{
	font-size:clamp(17px, 2vw, 30px);
	display:inline-block;
	border-bottom:solid 2px #000000;
	font-weight: bold;
	line-height: 1.5em;
}
.flow-list li p{
	font-size:clamp(14px, 1.5vw, 16px);
	font-weight: bold;
}
@media screen and (max-width: 768px){
	.flow-list li{padding: 0 0 2rem clamp(78px, 6rem, 130px);}
	
}
/*プライバシーポリシー*/
#policy{
	max-width:1800px;
	background:#F1F8E3;
	border-radius:40px;
	margin:0 auto;
}
@media screen and (max-width: 1860px){
#policy{
	margin: 6rem 2rem;
	padding: 6rem 4rem 4rem;
}
}
@media screen and (min-width: 769px) and (max-width: 1280px){
#policy{
	margin: 4rem 2rem;
	padding: 6rem 2rem 3rem;}
}
@media screen and (max-width: 768px){
	#policy{
	margin: 3rem 2rem;
	padding: 4rem 2rem 3rem;
}
}
@media screen and (max-width: 480px){
	#policy{
	        margin: 3rem 1.5rem;
        padding: 4rem 1.5rem 3rem;
        border-radius: 15px;
}
	
}




#policy p{
	font-size: clamp(15px, 1.5vw, 18px);
	line-height:2.5rem;
	margin-bottom:2rem;
}

/*予約*/

#reserve{
	max-width:1800px;
	background:#DCF1D0;
	border-radius:40px;
	margin:0 auto;
}
@media screen and (max-width: 1860px){
#reserve{
	margin: 6rem 2rem;
	padding: 6rem 4rem 4rem;
}
}
@media screen and (min-width: 769px) and (max-width: 1280px){
#reserve{
	margin: 4rem 2rem;
	padding: 6rem 2rem 3rem;}
}
@media screen and (max-width: 768px){
	#reserve{
	margin: 3rem 2rem;
	padding: 4rem 2rem 3rem;
}
}
@media screen and (max-width: 480px){
	#reserve{
	margin: 3rem 1.5rem;
	padding: 4rem 1.5rem 3rem;
	border-radius: 15px;
}
	
}

#reserve .tit{
	margin-bottom:4rem;
}

#reserve .tit h2{
	font-size:clamp(20px, 2.5vw, 33px);
	text-align:center;
}

#reserve .form_box{
	padding:4rem 1rem;
	background:#fff;
	border-radius:40px;
	margin-bottom:2rem;
}

.field{
	max-width:900px;
	margin:0 auto 2rem;
}
.field p{margin-bottom:0;}
.field .field-head p{
	margin-bottom:0.5rem;
	font-size:clamp(15px, 1.25vw, 20px);
	font-weight:bold;
	color:#234461;
}


.form_box .col{
	margin-bottom:1rem;
	max-width:900px;
	margin:0 auto;
}
.form_box .col .field{
	margin:0 0 1rem;
}
.field .kibou > p{
	margin-bottom:1rem;
}

@media screen and (min-width: 481px){
.form_box .col{
	display:flex;
	justify-content: space-between;
}
	.form_box .col .field{width:48%;}
	.field .kibou > p{
	display:flex;
	justify-content: space-between;
}
	.field .kibou > p > span{width:48%;}
}
@media screen and (max-width: 480px){
#reserve .form_box{border-radius:15px;}
.field .kibou > p > span{margin-bottom:.5rem;}

}

.field-label{font-weight:bold;font-size:clamp(14px, 1.25vw, 18px);}
.field input[type="radio"],
.field input[type="checkbox"]{
	-ms-transform: scale(1.5, 1.5);
    -webkit-transform: scale(1.5, 1.5);
    transform: scale(1.5, 1.5);
    margin-top: 0;
    margin-right: 8px;
}

.field input[type="text"],
.field input[type="tel"],
.field input[type="email"],
.field input[type="date"],
.field select,
.field textarea{
	padding: 1rem;
	border: solid 1px #303030;
	width: 100%;
	box-sizing: border-box;
	font-size:clamp(15px, 1.25vw, 20px);
	font-weight:bold;
	border-radius:10px;
}
::placeholder{font-size:clamp(14px, 1.25vw, 20px);color:rgba(48,48,48,0.2);}
.field .hissu{font-size:clamp(10px, 1vw, 15px);color:#FF3E3E;padding-left: .5rem;font-weight: bold;}
.wpcf7 select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
	    color: #303030;
}

.wpcf7-list-item-label{
	font-size:clamp(14px, 1.25vw, 18px);
	font-weight:bold;
	margin: 0 0 .5rem 0;
}


.field .wpcf7-form-control-wrap{
	display: block;
}
.field .your-service .wpcf7-list-item{
	display: block;
	margin: 0;
}

@media screen and (max-width: 480px){
.field .kiku .wpcf7-list-item,
.field .shiru .wpcf7-list-item{display:block;}
.field input[type="text"],
.field input[type="tel"],
.field input[type="email"],
.field input[type="date"],
.field select,
.field textarea{
	padding: .5rem;
	border-radius:5px;
}
}



.form-submit {text-align:center;}
.form-submit > p{
		display: flex;
    justify-content: center;
    flex-direction: column;
	}
.form-submit input{
	font-size:18px;
  box-sizing:border-box;
  line-height:60px;
	border:solid 2px #303030;
  padding:0 10px 0 10px;
	text-align:center;
  display:inline-block;
  margin:0 auto;
  background-color:#fff;
  color:#303030;
  font-weight:bold;
  border-radius:30px;
  text-decoration:none;
  position:relative;
  overflow:hidden; /* はみ出し防止 */
	box-shadow:4px 4px 0 #303030;
	min-width: 200px;
}
.form-submit input:hover{
	transform: translateX(4px) translateY(4px);
  box-shadow: none;
}

@media screen and (max-width: 768px){
	.form-submit input{
		line-height:48px;
		font-size:15px;
		}
	
}
.form-agreement{font-weight:bold;}
.form-agreement a{
	color:#398826;
	font-weight:bold;
	text-decoration: underline;
}




.field input[type="checkbox"]{
	transform: scale(1.4); 
	margin-right: 0.4em;
}


@media screen and (max-width: 768px){
.field{display:block;}
.field .field-head .field-label{font-weight:bold;}
.field .field-body{margin-bottom:1rem;}
}



/*ファル追加した時のボタン*/
.entry_content .wp-block-file *+.wp-block-file__button{
	    padding: 2px 5px;
    font-size: 12px;
}