@charset "UTF-8";
/*
    Template: swell
    Theme Name: makuraga
    Theme URI: https://swell-theme.com/
    Description: 介護老人保健施設 まくらがの郷
    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=Zen+Maru+Gothic&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css');


/***** common *****/
*, body, html{
/*	font-size:16px; */
}
html{
	scroll-padding-top: calc((var(--headerHeight, 160px)) + 20px); 
}
@media screen and (min-width:960px) {
	*, body, html{
/*		font-size:12px; */
	}
}


h2,h3,h4,h5,strong{
	font-weight: 600;
	font-style: normal;
}
h3.wp-block-heading{
	margin-bottom:1em;
}
h4.wp-block-heading{
	font-size:1em;
	margin-bottom:0.5em;
}
h5.wp-block-heading{
	font-size:1em;
	margin-bottom:0em;
}

p{
	line-height:1.75em;
}

a:link{
	color:#309EAF;
}
.swell-block-button__link span{
	color:#fff;
}

.txt75p{
	font-size:75%;
}



/***** header *****/
#header{
	position:fixed;
	top: 0;
	width: 100%;
	height: 185px;
	z-index: 1000;
	background:#fff;
}
body {
	padding-top: 185px; /* ヘッダーの高さ分だけ余白を追加 */
}

.l-header__inner{
	display: grid;
	gap:10px;
	align-items: center;
	width:90%;
	max-width:90%;
	min-width:90%;
	margin:0 auto;
	grid-template-columns: 1fr auto;
}
.l-header{
	order:1;
	text-align:left;
	display:grid;
	flex:1;
	height:40px;
}
.l-header__logo{
	height:40px;
	padding:0 !important;
}
.l-header__logo img{
	padding:0 !important;
	margin:0 !important;
}
.l-header__logo *{
	color:#000;
}
.l-header__logo a{
	display:inline-block;
	width:100%;
}
.r-header{
	order:2;
	justify-items:right;
}

h1.logo{
	text-align:left;
	display: flex;
	align-items: center; /* 垂直方向の中央揃え */

}
h1.logo .siteTitle{
	font-size:1.5em;
}
.l-fixHeader h1.logo .siteTitle{
	font-size:1.25em;
}

@media (max-width: 960px) {
	#header{
		height:90px;
	}
	body {
		padding-top: 90px; /* ヘッダーの高さ分だけ余白を追加 */
	}
	h1.logo .siteTitle{
		font-size:1.25em;
	}

	.l-header__menuBtn.sp_{
		margin-top:-10px;
	}
	.c-iconBtn__icon.icon-menu-thin{
		border:1px solid #ccc;
		padding:5px;
	}
}

.headerBox .phoneBox,
.headerBox .linkBox{
	display: grid;
	gap:10px;
	align-items: center;
}
.headerBox .phoneBox{
	grid-template-columns: auto 1fr;
}
.headerBox .linkBox{
	grid-template-columns: 1fr 1fr;
	justify-items:right;
}
.headerBox .phoneBox div,
.headerBox .linkBox div{
	display:inline-block;
	font-size:80%;
}
.headerBox .linkBox div a{
	font-size:100%;
}
.headerBox .linkBox div a i{
	margin-right:3px;
	color:#e29d12;
}
.headerBox .phoneBox{
	font-size:90%;
}
.headerBox .phoneBox strong{
	font-size:2rem;
}
.headerBox .phoneBox strong i{
	font-size:1.5rem;
	margin-right:5px;
}
.linkBox div{
	width:100%;
}

#gnav{
	box-shadow:0 2px 3px rgba(125,125,125,0.4);
	background:#0eb6c9;
}
#gnav a,
#gnav a span{
	font-weight:bold;
}
#gnav a:before{
	display:none;
}
#gnav a span:before{
	font-family: "Font Awesome 5 Free";  
	content: "\f0da";  
	font-weight: 900;
	margin-right: 8px;
}

#content{
	background:#fff;
	width:100%;
}

#content img{
	border-radius:10px;
}
@media screen and (max-width:768px) {
	div#content.l-content.l-container{
		padding-top:0;
	}
}

.top #content{
	padding-top:0;
}

/* メインビジュアル */
.p-mainVisual {
	position: relative;
}

.p-mainVisual__textLayer {
	position: absolute;
	top: 50%;
/*	left:calc((100% - 75%) / 2); */
	left:calc((100% - 70%) / 2);
	transform: translateY(-50%);
	text-align:center;
}

.p-mainVisual__slide *{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	line-height:250%;
	font-size:14pt;
}
.p-mainVisual__slide .p-mainVisual__slideTitle{
	font-weight:bold;
	font-size:20pt;
	padding:0em 2em;
	letter-spacing:3px;
}
.p-mainVisual__slide .p-mainVisual__textLayer{
	margin:0 auto;
	background:rgba(255,255,255,0.75);
	border-radius:2em;
	max-width:70%;

	writing-mode: vertical-rl;         /* 縦書き（右→左） */
	text-orientation: mixed;           /* 漢字は縦、英数字は横 */
	text-align: start;
	height: 80%;                      /* 親要素に合わせる */
	max-height:28em;
	padding: 4em 2em;                      /* 上部に余白（必要なら） */
}

.p-mainVisual__slide .p-mainVisual__textLayer .p-mainVisual__slideText div{
	text-align:right;
	font-size:90%;
	padding:0 2em;
}
.p-mainVisual__slide .p-mainVisual__textLayer .p-mainVisual__slideText .p-mainVisual__slideText{
	letter-spacing:2px;
	line-height:2.5em
}
.p-mainVisual__slide .p-mainVisual__textLayer .p-mainVisual__slideText div span{
	font-size:80%;
}
@media (max-width: 1200px) {
	.p-mainVisual__textLayer {
		left:calc((100% - 80%) / 2);
	}
	.p-mainVisual__slide *{
		line-height:200%;
	}
	.p-mainVisual__slide .p-mainVisual__textLayer{
		max-width:80%;
		height: 80%;
		max-height:28em;
		padding: 2em 2em;                      /* 上部に余白（必要なら） */
	}
}
@media screen and (max-width:950px) {
	.p-mainVisual__textLayer {
		left:5%;
	}
	.p-mainVisual__slide .p-mainVisual__slideTitle{
		font-size:125%;
		font-weight:bold;
	}
	.p-mainVisual__slide .p-mainVisual__textLayer{
		height:90%;
	/*	top:5%; */
		max-width:90%;
	}
}
@media screen and (max-width:768px) {
	.p-mainVisual__slide .p-mainVisual__textLayer{
		max-width:90%;
		writing-mode: horizontal-tb;         /* 縦書き（右→左） */
		text-align: start;
		height: 80%;                      /* 親要素に合わせる */
		max-height:28em;
		padding: 1.5em;                      /* 上部に余白（必要なら） */
		font-size:125%;
		line-height:1.05em;
	}
	.p-mainVisual__slide .p-mainVisual__textLayer *{
		font-size:85%;
	}
	.p-mainVisual__slide .p-mainVisual__textLayer .p-mainVisual__slideText div span {
		font-size:90%;
		display:inline-block;
		width:100%;
		margin-top:1em;
	}
	.p-mainVisual__slide .p-mainVisual__slideTitle{
		font-size:100%;
		font-weight:bold;
		padding-left:0;
	}
	.p-mainVisual__slide .p-mainVisual__textLayer .p-mainVisual__slideText .p-mainVisual__slideText{
		letter-spacing:2px;
		line-height:1.5em
	}
	.p-mainVisual__slideText br{
		display:none;
	}
}

/* コンテンツ */
/* TOPお知らせカラム */
.availabilityBox h2{
	margin:0.5em 0;
}
.availabilityBox{
	border-radius:10px;
}
/*
.instaBox{
background: linear-gradient(to bottom,
        rgba(255,255,255,1)),
        rgba(247, 207, 0, 0.3)25%,
        rgba(246, 37, 2, 0.3) 45%,
        rgba(182, 47, 82, 0.3) 65%,
        rgba(113, 58, 166, 0.3))85%,
        rgba(255,255,255,1));
}*/
@media screen and (max-width:768px) {
	.topInformation .wp-block-column:first-of-type{
		padding-bottom:2em;
	}
}



/* TOPまくらがの郷について */

.TopAboutBottom img{
	width:100%;
	height:atuo;
}

.TopAbout h2.wp-block-heading{
	display:inline-block;
	width:100%;
	padding-top:8em;
}
.TopAbout h2.wp-block-heading span{
	font-size:75%;
}


.TopAbout .swell-block-columns{
	margin:0 auto;
	margin-bottom:3em;
	padding:3em;
	max-width:960px;
	border-radius:2em;
	background:#E6F5F4;
	box-shadow:3px 3px 3px rgba(0,0,0,0.2);
}
.TopAbout .swell-block-columns:last-of-type{
	margin-bottom:0;
}

@media screen and (min-width:768px) {
	.TopAbout .swell-block-columns{
		max-width:80%;
	}
}

/** トップページご相談 **/
.TopConsult h2.wp-block-heading{
	border-top:1px dotted #000;
	border-bottom:1px dotted #000;
	padding:2em 1em;
	margin-bottom:3em;
}
.TopConsult .swell-block-columns{
	margin-bottom:4em;
}
.TopConsult .swell-block-columns:last-of-type{
	margin-bottom:0;
}

/** トップページ採用 **/
.TopRecruit::before,
.TopRecruit::after{
	display:inline-block;
	content:'';
	height:10px;
	background:#fff;
	margin-bottom:3px;
	position:absolute;
	width:100%;
	border-top:5px solid #f82584;
}
.TopRecruit::before{
	top:0;
}
.TopRecruit::after{
	bottom:0;
}
.TopRecruit .swell-block-column .recruit_innerBox{
	height:100%;
	min-height:100%;
}
.TopRecruit .swell-block-column .recruit_innerBox iframe{
	height:100%;
}
.TopRecruit a{
	color:#fff;
	text-decoration:underline;
}

/** トップページアクセス **/
.TopAccess h2.wp-block-heading{
	border-bottom:2px solid #000;
	width:100%;
}
.TopAccess .trafficBox .swell-block-column{
	border:1px solid #ccc;
	padding:1.5em 2em;
}

/** 3カラムの連絡先 **/
.TopContact.swell-block-columns .swell-block-column{
	padding:1em;
	font-size:90%;
	background:#eaf4e3;
	border-radius:10px;
}
.TopContact.swell-block-columns .swell-block-column:nth-child(2){
	background:#edf5f7;
}
.TopContact.swell-block-columns .swell-block-column:nth-child(3){
	background:#f9edf4;
}
.TopContact.swell-block-columns .swell-block-column{
}
.accessGroup h3.wp-block-heading{
	border-bottom:1px solid #bbd9d1;
}



/** 各コンテンツページ **/

/** ページ内リンク **/
.wp-block-aioseo-table-of-contents > ul{
	list-style-type:none;
	background:#fafafa;
	padding:1em;
	margin-left:0;
	width:100%;
}
.wp-block-aioseo-table-of-contents ul li{
	display:inline-block;
	font-size:80%;
	margin-right:1em;
}
.wp-block-aioseo-table-of-contents ul li a:before{
	font-family: "Font Awesome 5 Free";  
	content: "\f0d7";  
	font-weight: 900;
	margin-right: 8px;
}
.wp-block-aioseo-table-of-contents ul li a > ul{
	display:none;
}

.swell-block-bannerLink{
	box-shadow:2px 2px 2px rgba(125,125,125,0.5);
	border-radius:10px;
	overflow:hidden;
}
.swell-block-bannerLink .c-bannerLink__text *{
	background:#0eb6c9;
	padding:0.5em;
	border-radius:5px;
}
figure.wp-block-gallery .wp-block-image,
figure.wp-block-gallery .wp-block-image img{
	max-width:350px !important;
	margin-bottom:2.5em;
}
figure.wp-block-gallery .wp-block-image *,
figcaption.wp-element-caption *,
figcaption.wp-element-caption:before{
	background: none !important;
}
figcaption.wp-element-caption{
	color:#000 !important;
	background: none !important;
}

/** ショートステイ **/
.su-tabs .su-tabs-nav span{
	display:inline-block;
	font-weight:bold;
	font-size:1em;
	color:#0eb6c9;
	padding:1em;
}
.su-tabs .su-tabs-nav span:before{
	font-family: "Font Awesome 5 Free";  
	content: "\f0da";  
	font-weight: 900;
	margin-right: 8px;
}
.su-tabs-nav span.su-tabs-current:before{
	content: "\f0d7";  
}
.su-tabs-panes .su-tabs-pane{
	padding-top:2em;
}


/** 基本料金 **/
@media (max-width: 768px) {
	.wp-block-flexible-table-block-table *{
		font-size:90%;
	}
}

/** 採用 **/
.recruit .c-pageTitle__subTitle{
	display:none;
}
.recruit .p-postList.-type-simple{
	border-top:none;
}
.recruit_linkBox{
	display:inline-block;
	margin-top:1em;
	padding-bottom:1em;
	border-bottom:1px solid #e0e0e0;
	width:100%;
}
.recruit_linkBox > *{
	display:inline-block;
	width:100%;
}
.recruit_linkBox strong{
	font-size:120%;
}
.recruit_linkBox strong::before{
	font-family: "Font Awesome 5 Free";  
	content: "\f0da";  
	font-weight: 900;
	margin-right: 8px;
}

.recruit_linkBox .recruit_detail_worktype,
.recruit_linkBox .recruit_detail_date{
	font-size:80%;
}
.recruit_linkBox .recruit_detail_worktype span{
	display:inline-block;
/*	background:#0eb6c9; */
	border:1px solid #ccc;
	color:#333;
	margin-right:2px;
	padding:0 5px;
}
.recruit .entryform_link_big{
	display:inline-block;
	padding:1em 5em;
	margin-top:3em;
	background:#0eb6c9;
	color:#fff !important;
	font-weight:bold;
	font-size:1.25em;
}

/* エントリーフォーム */
.recruit_entry_detailBox{
	border:3px solid #f0f0f0;
	padding:0.5em 2em;
	margin-bottom:1em;
}
.recruit_entry_detailBox div{
	margin:0;
	margin-bottom:0.5em;
	padding-bottom:0.5em;
	border-bottom:1px dotted #f0f0f0;
	width:100%;
}
.recruit_entry_detailBox div:last-of-type{
	border-bottom:none;
}
.recruit_entry_detailBox02#no{
	text-align:right;
	display:inline-block;
	width:100%;
	margin:0;
	background:#f0f0f0;
	padding:0 0.5em;
}
.recruit_entry_detailBox02#no span{
	font-size:75%;
}
.recruit_entry_detailBox #base{
	text-align:right;
	display:inline-block;
}
.recruit_entry_detailBox #base a{
	background:#0eb6c9;
	border-radius:10px;
	box-shadow:1px 1px 2px #ccc;
}
.recruit_entry_detailBox #base a:hover{
	background:rgba(14, 182, 201,0.8);
	box-shadow:0px 0px 2px #ccc;
}
.recruit_entry_detailBox #base *{
	font-weight:normal;
	color:#fff;
	font-weight:bold;
}


#entryform_link,
.entryform_link{
	display:inline-block;
	padding:0 0.5em;
	background:#e29d12;
	color:#fff;
	font-weight:bold;
}
#entryform_link{
	padding:1em 2em;
	width:50%;
	margin:0 auto;
	margin-top:2em;
}

.entryform_form{
	display: grid;
	grid-template-columns: [key] minmax(6em, min-content) [value] 1fr;
}
.entryform_form dt {
	display:inline-block;
	grid-column: key;
	white-space: nowrap;
	padding:1em;
}
.entryform_form dd {
	display:inline-block;
	grid-column: value;
	margin-left: 0;
	padding:1em;
	padding-right:0;
}
.entryform_form dt:nth-of-type(odd),
.entryform_form dd:nth-of-type(odd){
	background:#f9f9f9;
}
.entryform_form dd input[type="text"],
.entryform_form dd input[type="tel"],
.entryform_form dd input[type="email"],
.entryform_form dd textarea{
	width:100%;
	background:#fff;
}
.entryform_form dd input[type="number"]{
	background:#fff;
}
.entryform_form dd #zip{
	width:8em;
	margin-bottom:0.5em;
	margin-left:0.5em;
}
.entryform_form dd #addr{
	height:6em;
}
.entryform_form dd #birth-year{
	width:6em;
	margin-right:0.5em;
}
.entryform_form dd #birth-mon,
.entryform_form dd #birth-day{
	width:3em;
	margin-right:0.5em;
	margin-left:0.5em;
}
.ns{
	color:#c00;
}

/** フォーム全般 **/
@media screen and (max-width:768px) {
	form.wpcf7-form{
	}
	form.wpcf7-form dl,
	form.wpcf7-form dl dt,
	form.wpcf7-form dl dd{
		display:inline-block;
		width:100%;
		min-width:100%;
		max-width:100%;
	}
	form.wpcf7-form dl dt{
		line-height:1em;
		margin-bottom:0;
		padding-bottom:0;
		padding-top:1em;
	}
	form.wpcf7-form dl dd{
		margin-top:0;
		padding-top:0;
		padding-bottom:1em;
	}
	.wpcf7-form-control.wpcf7-submit{
		width:90%;
		min-width:90%;
		max-width:90%;
	}
}


@media (max-width: 768px) {
	.l-mainContent .post_content > h2.wp-block-heading{
		margin-top:2em !important;
	}
}


/** サイドバー **/
.l-sidebar{
/*
	border-left:1px solid #fafafa;
	border-top:1px solid #fafafa;
	border-bottom:1px solid #fafafa;*/
	border-color:rgba(14, 182, 201, 0.5);
	border-radius:10px;
	padding:1.5em 1.5em 0 1.5em;
	background:rgba(222, 222, 191, 0.15);
/*	background-color:rgba(14, 182, 201,0.05); */
	/* ドットの色と形状、透明度を指定 */
	background-image: radial-gradient(rgba(255,255,255,0.8) 50%, transparent 50%), 
		radial-gradient(rgba(255,255,255,0.8) 50%, transparent 50%); 
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px; 
	/* ドットの大きさ（間隔）を指定 */
/*	background-size: 3px 3px, 3px 3px; */
	/* ドットの繰り返す */
	background-repeat: repeat;
	/* 要素の大きさを設定（ドットが画面全体に表示されるようにするため） */
	width: 100%;
	min-height: 100vh; /* ビューポートの高さの100%を指定 */
}

.side_pageLink{
	margin-bottom:2em;
}
.l-sidebar h3.wp-block-heading,
.side_pageLink .c-widget__title.-side,
.side_pageLink h4.pageLinkTitle{
	font-size:1rem;
	padding-bottom:0.5rem;
	margin-bottom:0.5rem;
	border-bottom:1px solid #e0e0e0;
	position:relative;
}
.l-sidebar h3.wp-block-heading::before{
	content:none;
}
.l-sidebar h3.wp-block-heading::after,
.side_pageLink h4.pageLinkTitle::after{
	display:inline-block;
	content:' ';
	height:1px;
	width:40%;
	position:absolute;
	bottom:-1px;
	left:0;
	background:#0eb6c9;
}
.l-sidebar .widget_recent_entries .c-widget__title.-side{
	margin-bottom:0;
	padding-bottom:0;
}
.l-sidebar .widget_recent_entries li:last-of-type{
	border-bottom:none;
}
.l-sidebar .widget_recent_entries .recent_entries_date{
	color:#333;
	text-align:right;
}
.l-sidebar .contactus{
	background:#fff;
	border-radius:10px;
	padding:1em;
	border:1px solid rgba(222, 222, 191, 0.3);
}
.l-sidebar li a:before{
	font-family: "Font Awesome 5 Free";  
	content: "\f0da";  
	font-weight: 900;
	margin-right: 8px;
}
.widget_recent_entries li {
	border-bottom:1px dotted rgba(222, 222, 191, 0.8);
}
/** footer map **/
.footerMap iframe{
	width:100%;
	max-width:100%;
	min-width:100%;
	height:450px;
}
.footerContactBox{
	border-top:5px solid #008F62;
	border-bottom:5px solid #008F62;
}

/** footer access **/
.footerAccess h4.wp-block-heading{
	border:none;
	padding:0;
	margin:0;
}
.footerAccess h2.is-style-section_ttl{
	margin-bottom:0.5em;
	border-bottom:1px solid #000;
}

/** footer contact **/
.footerContact{
	display:inline-block;
	background:#F9F6EB;
	border-radius:10px;
}
.footerContact p{
	margin:0;
	padding:0;
}
.footerContact h3{
	margin:0;
	border:none;
}
.footerContact h3:before{
	display:none;
}
.footerContact h4.wp-block-heading{
	border-radius:3em;
	color:#fff;
	text-align:left;
	padding:0.25em 1em;
	margin:0 0 0.5em 0;
}
.footerContact p + h4.wp-block-heading{
	margin-top:1em;
}

.footerContact h4.wp-block-heading.koyanagiTtl{
	background:#008f62;
}
.footerContact h4.wp-block-heading.ninchiTtl{
	background:#FFB14A;
	color:#000;
}

/** お知らせfooter **/
.p-pnLinks__item a{
	background:#fafffa;
	border:1px solid rgba(200, 255, 200, 0.1);
	box-shadow:1px 1px 3px #fafafa;
}


/** footer **/
.home #content{
	margin-bottom:0;
}
.l-footer .l-container{
	display:grid;
	grid-template-columns:5fr 1fr;
}
.l-footer .l-container p{
	display:inline-block;
	color:#fff;
}
.l-footer .l-container a,
.l-footer .l-container i{
	color:#fff;
	font-size:80%;
}
.l-footer .l-container i{
	margin-right:3px;
}
.l-footer .l-container {
	grid-template-columns: 1fr 1fr;
}
.l-footer__nav {
	justify-content: right;
	font-size:80%;
}
.l-footer__nav .menu-item a{
	color:#fff;
}
.l-footer__nav .menu-item a:after{
	content:' ｜ ';
	color:#fff;
}
.l-footer__nav .menu-item a:last-of-type:after{
	content:none;
}


/*モバイル用*/
@media (max-width: 768px) {
	.l-sidebar {
		border: 2px solid rgba(222, 222, 191, 0.8);
		border-radius: 10px;
		padding: 1.5em;
		background: rgba(222, 222, 191, 0.3);
		background-image: radial-gradient(rgba(255, 255, 255, 0.8) 50%, transparent 50%), radial-gradient(rgba(255, 255, 255, 0.8) 50%, transparent 50%);
		background-size: 4px 4px;
		background-position: 0 0, 2px 2px;
		/* background-size: 3px 3px, 3px 3px; */
		background-repeat: repeat;
		width: 100%;
		min-height: auto;
	}
	.side_pageLink{
		display:none;
	}
	.l-footer__inner{
		font-size:80%;
	}
	.l-footer__inner .copyright{
		font-size:80%;
	}
}


@media (max-width: 960px) {
	.p-fixBtnWrap{
		bottom:6em;
	}
}


/** 子ページ一覧 **/
/*
.custom-html-widget .child-pages-menu li{
	margin-bottom:0.5em;
}
.custom-html-widget .child-pages-menu li:before{
	font-family: "Font Awesome 6 Free";  
	content: "\f0da";
	font-weight: 900;
	margin-right: 8px;
	color:#309EAF;
}
*/

/*reCAPTCHA v3 バッジを左下に移動*/
.grecaptcha-badge {
width: 70px !important;
overflow: hidden !important;
transition: all 0.3s ease !important;
left: 4px !important;
}
.grecaptcha-badge:hover {
width: 256px !important;
}