@charset "UTF-8";
/* CSS Document */
:root {
  --main-color: #8D6E53;
}
/***********************
	固定ページ基本
***********************/
/*** Flex Box ***/
.flex-box{
	display: flex;
	align-items: center;
	justify-content: center;
}
/*** PCのみセンター揃え ***/
.align-center-pc{
	text-align: center;
}
@media screen and (max-width: 520px) {
	.align-center-pc{
		text-align: left;
	}
}
/** ページヘッダー **/ 
h1#Page_title{
	margin-bottom: 0 !important;
	color: #fff !important;
}
/** 本文 **/
#page_contents p{
	margin-bottom: 2rem !important;
}
/** ブロックエディタ 見出し **/
.wp-block-heading{
	margin-bottom: 1.5rem !important;
}
/** パンくず **/
#bread_crumb{
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
#bread_crumb ul{
	display: flex;
	align-items: center;
}
/***********************
	私たちについて
***********************/
/** 代表メッセージ **/
.message_image{
	max-width: 500px;
	margin: auto;
}
/** アクセスMAP **/
.company_map,
.company_table{
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}
.company_map{
	margin-top: 2.5rem;
	margin-bottom: 3.5rem !important;
}
.access_lead{
	margin-top: 1rem !important;
	text-align: center;
}
.access_line{
	display: inline-block;
	border-top: solid 1px #8D6E53;
	line-height: 1.7 !important;
	margin-top: 1rem;
	padding-top: 1rem;
}
/***********************
	イメージバナー
***********************/
.page_image_banner{
	height: 400px;
	background-image: url("../img/bg/page_imagenbanner.jpg");
	background-position: center;
	background-size: cover;
	position: relative;
	margin: 80px 0 80px;
}
#Image_banner_recruit{
	background-image: url("../img/bg/spa_image_02.png");
	margin-bottom: 0;
}
/** 暗幕 **/
.page_image_banner::after{
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.4); /* 暗さ調整 */
	pointer-events: none;
}
.image_banner_desc{
	position: relative;
	z-index: 10;
}
/* モバイル（〜520px） */
@media screen and (max-width: 520px) {
	.page_image_banner{
		height: 300px;
		margin: 50px 0 50px;
	}
	#page_contents .image_banner_desc{
		margin-bottom: 0 !important;
	}
}
/***********************
	固定ページフルワイド
***********************/
body.page-id-123 #page_contents .post_content,
body.page-id-125 #page_contents .post_content{
	width: 100% !important;
}
body.page-id-123 #page_contents,
body.page-id-125 #page_contents{
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
}
body.page-id-123 #page_contents .content,
body.page-id-125 #page_contents .content{
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 4rem !important;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
/***********************
	ご利用について
***********************/
/** ご利用の流れ **/
.flow_item_wrap{
	max-width: 700px;
	margin: auto;
}
.flow_item{
	border: solid 1px #8D6E53;
	position: relative;
	margin-bottom: 2.5rem !important;
	display: flex;
	justify-content: flex-start;
}
.flow_item:not(:last-child)::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1.5rem;          /* 矢印の出る位置 */
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 1rem solid transparent;
  border-right: 1rem solid transparent;
  border-top: 1.5rem solid #B2977E; /* 矢印の色 */
}
.flow_item_no{
	max-width: 100px;
}
.flow_no{
	text-align: center;
	width: 100px;
	color: #fff;
	font-size: 2rem;
	display: block;
	background: #B2977E;
	height: 100%;
	padding: 4rem 1rem;
}
.flow_item_lead{
	padding: 1.5rem !important;
}
.flow_lead_title{
	margin-bottom: 0.5rem !important;
	font-size: 1.35rem !important;
}
#page_contents p.flow_lead{
	margin-bottom: 0 !important;
}
/** よくあるご質問 **/
#Page_faq{
	background: url("../img/bg/repeat_bg.jpg");
	padding: 5rem 0 3rem;
}
.page_qa_area{
	max-width: 700px;
	margin: auto;
}
/* タブレット（〜768px） */
@media screen and (max-width: 768px) {
	.flow_item_lead{
		padding: 1.15rem !important;
	}
}
/* モバイル（〜520px） */
@media screen and (max-width: 520px) {
	#Page_faq{
		padding: 2rem 0 1rem;
	}
	body.page-id-123 #page_contents .content{
		margin-bottom: 3rem !important;
	}
	.flow_item_lead{
		padding: 1.15rem !important;
	}
	.flow_item{
		flex-direction: column;
	}
	body.mobile_device .flow_lead_title{
		font-size: 1.15rem !important;
		text-align: center;
		font-weight: bold !important;
	}
	.flow_item_no{
		max-width: 100%;
		width: 100%;
	}
	.flow_no{
		font-size: 1.75rem;
		width: 100% !important;
		padding: 0.5rem 1rem;
	}
	body.page-id-123 #page_contents .content{
		padding-left: 1rem;
		padding-right: 1rem;
	}
}
/***********************
	施設紹介
***********************/
/** 3つのポイント **/
#Page_3point{
	background-image: url("../img/bg/point_bg.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 5rem 3rem 7rem;
}
body.page-id-125 #Page_3point .content{
	margin-bottom: 0 !important;
}
#Page_3point .catch{
	color: #fff !important;
}
#Page_3point .catch_jp::before{
	background: url(../img/icon/flower_icon_w.svg) no-repeat center / contain;
}
#Page_3point .point_contents p{
	margin-bottom: 0 !important;
}
/** イメージバナー **/
#Image_banner_cta{
	height: 500px;
	padding: 1rem;
	background-image: url("../img/bg/cta_recruit_bg.jpg");
}
.image_banner_inner{
	position: relative;
	z-index: 10;
	text-align: center;
}
p.image_banner_lead{
	margin-top: 1.5rem !important;
	color: #fff !important;
}
.image_banner_btn{
	margin: auto !important;
}
.image_banner_btn a.design_button{
	color: #8D6E53 !important;
	background: #fff !important;
}
.image_banner_btn a.design_button:hover{
	color: #8D6E53 !important;
}
/** 1日の流れ **/
.oneday{
	max-width: 620px;
	margin: auto;
}
.oneday_item{
	list-style-type: none;
	padding-bottom: 2rem !important;
	position: relative;
}
.oneday_item:last-child{
	padding-bottom: 0 !important;
}
.oneday_item::after{
	content: "";
	  position: absolute;
	  left: 50%;
	  transform: translateX(-50%);
	  width: 1px;
	  height: 2rem;
	  background: var(--main-color);
}
.oneday_item:last-child::after{
	content: none;
}
.oneday_item__inner{
	border: solid 1px var(--main-color);
	padding: 1.5rem !important;
	display: flex;
	flex-direction: column;
	align-content: center;
	justify-content: center;
	text-align: center;
}
.oneday_item--title{
	margin-bottom: 0.5rem !important;
}
#page_contents p.oneday_item--lead{
	margin-bottom: 0 !important;
	padding: 0 1rem !important;
}
/* タブレット（〜768px） */
@media screen and (max-width: 768px) {
	/** 3つのポイント **/
	#Page_3point{
		padding: 5rem 1rem 3rem;
	}
	.page-id-125 .company_table{
		padding: 0 1rem !important;
	}
	#Image_banner_cta{
		height: 400px;
	}
}
/* モバイル（〜520px） */
@media screen and (max-width: 520px) {
	#Page_3point{
		margin-bottom: 0 !important;
		padding: 2rem 0 2rem;
	}
}
/***********************
	プライバシーポリシー
***********************/
.privacy_info{
	padding: 1rem 1.5rem !important;	
}
.privacy_info a{
	color: #688060 !important;	
}
/***********************
	問い合わせフォーム
***********************/
#page_contents .wpcf7{
	max-width: 780px;
	margin: 0 auto 2.5em !important
}
.cf7-grid{
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
}
.cf7-grid,
.cf7-grid p,
.cf7-grid input{
	font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic","Meiryo",sans-serif;
}
.cf7-col--full {
    grid-column: 1 / -1;
}
.cf7-label{
	font-size: 1rem;
	font-weight: bold;
	color: #464646;
}
.wpcf7-list-item{
	margin-bottom: 12px !important;
	color: #464646 !important;
}
.wpcf7 select, .wpcf7 .wpcf7-list-item-label{
	font-size: 16px !important;
}
span.req{
	color: #EA5514;
	font-size: 14px;
}
span.opt{
	color: #777777;
	font-size: 14px;
}
/*** 送信ボタン ***/
.wpcf7 .wpcf7-submit{
    background-color: #8D6E53 !important;
	border-radius: 0;
	transition: border-radius 0.25s ease;
}
/*** ボタン hover 角丸 ***/
.wpcf7 .wpcf7-submit:hover {
	border-radius: 72px;
	background-color: #688060 !important;
}
/*** 注意文章 ***/
.cf7_lead{
	font-size: 15px !important;
	line-height: 1.7 !important;
	margin-bottom: 12px !important;
	color: #464646 !important;
}
.cf7_lead a{
	color: #8D6E53 !important;
}
.cf7_lead a:hover{
	color: #688060 !important;
}

/* 小さめタブレット・大きめスマホ */
@media (max-width: 600px) {
	.cf7-grid{
		display: block;
	}
	.cf7-col{
		margin-bottom: 16px;
	}
	.cf7-col p{
		margin-bottom: 4px !important;
	}
}
/***********************
	フッターリンクバナー
***********************/
#Footer_link{
	width: 100%;
}
.link_banner{
	display: flex;
	align-items: center;
    justify-content: center;
}
.link_banner_item{
	width: 33.333333%;
	text-align: center;
	padding: 0.8rem !important;
	
}
.link_banner_item:first-child{
	background-color: #688060;
}
.link_banner_item:nth-child(2){
	background-color: #B2977E;
}
.link_banner_item:nth-child(3){
	background-color: #8D6E53;
}
.link_banner_item_inner{
	color: #fff !important;
	display: block;
	border: solid 1px #fff;
	 border-radius: 0;
	padding: 1.8rem 1rem;
	transition: background-color 0.3s ease, border-radius 0.3s ease;
}
.link_banner_item_inner .catch_en {
    display: block;
    font-size: 1rem;
    margin-bottom: 1.5rem !important;
    line-height: 1.4 !important;
	transition: transform 0.3s ease;
	font-family: "Noto Serif JP",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Yu Mincho",
    "YuMincho",
    "MS PMincho",
    "MS Mincho" ,
    "Noto Serif CJK JP",
    serif !important;
	font-weight: 600 !important;
}
.link_banner_item_inner .catch_jp{
	font-size: 1.5rem !important;
}
.link_banner_item_inner .catch_jp::before {
    content: "";
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
    width: 1.5rem;
    height: 1.5rem;
    background: url(../img/icon/flower_icon_w.svg) no-repeat center / contain;
	transition: transform 0.3s ease;
}
/* タブレット（〜768px） */
@media screen and (max-width: 768px) {
	.link_banner_item{
		padding: 0.5rem !important;
	}
	.link_banner_item_inner{
		padding: 1.2rem 1rem;
	}
	.link_banner_item_inner .catch_en {
		font-size: 0.85rem;
	}
	.link_banner_item_inner .catch_jp{
		font-size: 1.2rem !important;
	}
}
/* モバイル（〜554px） */
@media screen and (max-width: 554px) {
	.link_banner{
		flex-direction: column;
	}
	.link_banner_item{
		width: 100%;
	}
	.link_banner_item_inner{
		padding: 1.4rem 1rem;
	}
	.link_banner_item_inner .catch_jp{
		font-size: 1.4rem !important;
	}
}
/** ホバーアクション **/
.link_banner_item_inner:hover {
	border-radius: 0.8rem;
}
.link_banner_item:hover .link_banner_item_inner .catch_en{
	 transform: translateY(-0.25rem);
}
.link_banner_item:hover .link_banner_item_inner .catch_jp::before{
	transform: translate(-50%, -0.25rem);
	}