@charset "UTF-8";

/* 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,figure,footer,header,hgroup,menu,nav,section,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}article,aside,figure,footer,header,hgroup,nav,section{display:block;}img,object,embed{vertical-align: bottom;}html{overflow-y:scroll;}ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';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 #000;cursor:help;}table{border-collapse:collapse;border-spacing:0;}th{font-weight:bold;vertical-align:bottom;}td{font-weight:inherit;vertical-align:top;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input,select{vertical-align:middle;}pre{white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word;}input[type="radio"]{vertical-align:text-bottom;}input[type="checkbox"]{vertical-align:bottom;*vertical-align:baseline;}select,input,textarea{font:99% sans-serif;}table{font-size:inherit;font:100%;}a:hover,a:active{outline:none;}strong,th{font-weight:bold;}td,td img{vertical-align:top;}sub,sup{font-size:75%;line-height:0;position:relative;}sup{top:-0.5em;}sub{bottom:-0.25em;}pre,code,kbd,samp{font-family:monospace,sans-serif;}label,input[type=button],input[type=submit],button{cursor:pointer;}button,input,select,textarea{margin:0;}button{width:auto;overflow:visible;}[hidden]{display:none !important;}[disabled]{cursor:not-allowed;}:focus:not(:focus-visible){outline:none;}

/* clear */
.clear:before,.clear:after{content:"\0020";display:block;height:0;overflow:hidden;}.clear:after{clear:both;}.clear{zoom:1;}

/* base */

:root {
  --COL-WHT: #fff;
  --COL-WHT-rgb: 255, 255, 255;
  --COL-BLK: #000;
  --COL-BLK-rgb: 0, 0, 0;
  --COL-TXT: #5c2715;
  /* Gray */
  /* others */
  --COL-RED: #de0b19;
  --COL-BEI: #eacca4;
  --COL-BEI-rgb: 234, 204, 164;
  --COL-YEL: #f4e827;

  /* seiaikai */
  --COL-TXT02: #3e3a39;
  --COL-TXT02-rgb: 62,58,57;
  --COL-GRY02: #998fa1;
  --COL-GRY02-rgb: 153,143,161;
  --COL-BEI02: #F8F1E6;

  --COL-PPL: #4d489a;
  --COL-LPP: #7d6cae;
  --COL-LPP-rgb: 125,108,174;
  --COL-ORA: #e47600;
  --COL-ORA-rgb: 228,118,0;
  --GRD-ORA: linear-gradient(97deg, rgba(239, 181, 42, 0.25) 0%, rgba(242, 137, 0, 0.5) 100%);

  --FNT-base: 'Noto Sans JP', sans-serif;
  --FNT-serif: 'Zen Old Mincho', serif;
  --WGT-R: 400;
  --WGT-M: 400;
  --WGT-D: 700;
  --WGT-B: 700;

}

html {
	height: 100vh;
    overflow: auto;
    font-family: var(--FNT-base);
    font-weight: var(--WGT-R);
    font-style: normal;
    line-height: 1;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
    position: relative;
    width: 100%;
    min-height: 100%;
    line-height: 1;
    color: var(--COL-TXT02);
    background-color: var(--COL-WHT);
}

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

	html { font-size: 1px; }

	@media ( max-width: 1280px ) { html { font-size: 0.078125vw; /*w1280のときの1px*/ } }

	body {
		min-width:1280rem;
		height: 100vh;
		font-size: 16rem;
		letter-spacing: 0.05em;
		padding-top: 88rem;
	}
	body.b-home {
		padding-top: 0;
	}

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

	html {
		font-size: .266666667vw;; /* base 375 */
		-webkit-font-smoothing: antialiased;
	}
	body{
		min-width: 375rem;
		min-height: 100vh;
		font-size: 14rem;
		letter-spacing: 0;
		padding-top: 56rem;
	}
	body.b-home {
		padding-top: 0;
	}

}

/* 明朝 */
.serif{
    font-family: var(--FNT-serif);
    font-weight: var(--WGT-R);
}

/* 見出し文字 */
.bold{
    font-family: var(--FNT-base);
    font-weight: var(--WGT-B);
}


*,
*::before,
*::after {
	box-sizing: border-box;
}

p,li,dd,td {
	text-align: justify;
	text-justify: inter-ideograph;
}

h1,h2,h3,h4,h5{
    font-weight: var(--WGT-R);
}

img {
	max-width: 100%;
	height: auto;
	/* image-rendering: -webkit-optimize-contrast; Chromeぼやけ対策 */
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
}

i {
    font-size: 0%;
}

a:link,
a:visited,
a:hover,
a:active{
    color: var(--COL-TXT02);
	text-decoration: none;
	overflow-wrap: break-word;
}

a.textlink:link,
a.textlink:visited{
    color: var(--COL-TXT02);
	text-decoration: underline;
	text-decoration-color: rgba(var(--COL-TXT02-rgb), 0.6);
}
a.textlink:hover,
a.textlink:active{
    color: rgba(var(--COL-TXT02-rgb), 0.6);
}
a.alpha:link,
a.alpha:visited,
a.trans:link,
a.trans:visited {
	transition-property: opacity;
	opacity: 1;
}
a.alpha:hover,
a.alpha:active {
	opacity: 0.6;
}
a.trans:hover,
a.trans:active {
	opacity: 0;
}

a.btn_shadow{
	filter: drop-shadow(2px 3px 4px rgba(0,0,0,0));
	transition-property: all;
}
a.btn_shadow:hover{
	filter: drop-shadow(2px 3px 4px rgba(0,0,0,0.4));
}

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

	.br_sp,
	.text_sp,
	.block_sp{
		display:none;
	}
	.br_pc,
	.text_pc{
		display:inline;
	}
	.block_pc{
		display:block;
	}

	a[href^="tel:"] { pointer-events: none !important; }

	a,a > *,a::before,a::after,
	button,button::before,button::after {
	  transition-property: none;
	  transition-duration: .5s;
	  transition-timing-function: ease-in-out;
	}

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

	.br_sp,
	.text_sp{
		display:inline;
	}
	.block_sp{
		display:block;
	}
	.br_pc,
	.text_pc,
	.block_pc{
		display:none;
	}

}

/* utility */

.touch_anime{transition: opacity .3s;}
@media all and (min-width:768px) {.touch_anime:not(.nopacity):hover{opacity: .7;}}
@media all and (max-width:767px) {.touch_anime:not(.nopacity).touch__start{opacity: .7;}}
.scroll_anime{transition: all 1.5s ease .1s;}
.scroll_anime.fuwa{opacity:0; transform: scale(.95);}
.scroll_anime.fuwa.scroll__start{opacity:1;transform: scale(1)}
.scroll_anime.fuwa-up{transform: translateY(50px);opacity:0;}
.scroll_anime.fuwa-up.scroll__start{transform: translateY(0px);opacity:1;}
.scroll_anime.fuwa-down{transform: translateY(-50px);opacity:0;}
.scroll_anime.fuwa-down.scroll__start{transform: translateY(0px);opacity:1;}
.scroll_anime.fuwa-right{transform: translateX(-30px);opacity:0;}
.scroll_anime.fuwa-right.scroll__start{transform: translateX(0px);opacity:1;}
.scroll_anime.fuwa-left{transform: translateX(30px);opacity:0;}
.scroll_anime.fuwa-left.scroll__start{transform: translateX(0px);opacity:1;}
.scroll_filter{position: relative;overflow: hidden;}
.scroll_filter::before{content: '';width: 100%;height: 100%;background: #fff;position: absolute;left:0;top:0;transition: all 3.5s ease .1s;}
.scroll_filter.filter-left.scroll__start::before{left:-100%;}
.scroll_filter.filter-right.scroll__start::before{left: 100%;}
.scroll_filter.filter-up.scroll__start::before{top:-100%;}
.scroll_filter.filter-down.scroll__start::before{top: 100%;}


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


/******************************************************
header
******************************************************/

.header{
    position: fixed;
	top: 0;
	left: 0;
    width: 100%;
	background-color: rgba(var(--COL-WHT-rgb), 0.95);
	filter: drop-shadow(0 1px 4px rgba(var(--COL-BLK-rgb), 0.1));
	z-index: 500;
	
	@media screen and (min-width: 768px) {
	    min-width: 1280rem;
	}
	@media screen and (max-width: 767px) {
	}

	.header_inner{
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		
		@media screen and (min-width: 768px) {
			height: 88rem;
			padding: 0 2.5%;
		}
		@media screen and (max-width: 767px) {
			height: 56rem;
			padding-left: 14rem;
		}

		.header_logo{
			display: block;
			font-size: 0%;
			line-height: 0%;
			text-indent: 100%;
			letter-spacing: 0;
			white-space: nowrap;
			overflow: hidden;
			background: url("../../img/common/logo.svg") 50% 50% no-repeat;
			background-size: contain;
			@media screen and (min-width: 768px) {
				width: 211rem;
				height: 60rem;
			}
			@media screen and (max-width: 767px) {
				width: 142rem;
				height: 40rem;
				margin-top: 2rem;
			}
		}

		@media screen and (min-width: 768px) {
			.header_nav{
				padding-top: 1em;
				.global_nav{
					display: flex;
					justify-content: flex-end;
					align-items: center;
					gap: 2em;
					font-family: var(--FNT-serif);
					> li{
						> a{
							position: relative;
							display: block;
							padding: 0.25em 0.5em;
							line-height: 1.3;
							> .gnav_label{
								display: inline-block;
								font-size: 16rem;
							}
							&::after{
								position: absolute;
								bottom: 0;
								left: 0;
								display: block;
								width: 100%;
								height: 1rem;
								content: "";
								background-color: rgba(var(--COL-LPP-rgb), 0.9);
								transform: scale(0, 1);
								transform-origin: right bottom;
								transition-property: transform;
								transition-duration: .3s;
								z-index: -1;
							}
							&:hover{
								&::after{
									transform: scale(1, 1);
									transform-origin: left bottom;
								}
							}
						}
					}
					> li.gnav_li_home{
						display: none;
					}
				}
			}
		}
		@media screen and (max-width: 767px) {
			.header_nav{
				position:fixed;
				top: 56rem;
				right: -65vw;
				width: 60vw;
				/*height: calc(100% - 56rem);*/
				height: auto;
				background-color: var(--COL-BEI02);
				border-bottom-left-radius: 2em;
				overflow: hidden;
				z-index:400;
				transition: all 0.3s;

				> .global_nav{
					/*position: relative;
					overflow-y: auto;
					width: 100%;
					height: 100%;
					padding:0;*/
					padding: 24rem 40rem;
					font-family: var(--FNT-serif);
					> li{
						> a{
							position: relative;
							display: block;
							padding: 1em;
							line-height: 1.3;
							text-align: center;
							> .gnav_label{
								display: inline-block;
								font-size: 16rem;
							}
						}
					}
					> li + li{
						border-top: solid 1rem rgba(var(--COL-LPP-rgb), 0.5);
					}
				}
			}
			.header_nav.active{
				right: 0;
			}
		}

		@media screen and (min-width: 768px) {
			.btn_menu,
			.bg_menu{
				display: none;
			}
		}
		@media screen and (max-width: 767px) {
			.btn_menu{
				width: 60rem;
				height: 56rem;
				> a{
					display: flex;
					flex-direction: column;
					justify-content: flex-end;
					align-items: center;
					gap: 3rem;
					width: 100%;
					height: 100%;
					padding: 12rem 0;
					/*background-color: var(--COL-WHT);*/
					position: relative;
					transition: .35s ease-out;
					&::before,
					&::after{
						position: absolute;
						left: 0;
						right: 0;
						margin: auto;
						display: block;
						content: "";
						width: 24rem;
						height: 1rem;
						background-color: var(--COL-LPP);
						transition: .35s ease-in-out;
					}
					&::before{
						top: 18rem;
					}
					&::after{
						top: 24rem;
					}
					> span{
						/*font-family: var(--FNT-serif);*/
						font-size: 10rem;
						letter-spacing: 0;
						color: var(--COL-PPL);
					}
				}
			}
			.btn_menu.active{
				> a{
					&::before{
						transform: translateY(3rem) rotate(135deg);
					}
					&::after{
						transform: translateY(-3rem) rotate(-135deg);
					}
					> span{
						font-size: 0%;
						&::before{
							font-size: 10rem;
							content: "CLOSE";
						}
					}
				}
			}
		}
	}

}


/******************************************************
.header_visual
******************************************************/

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

	.header_visual img{
		width: 100%;
		height: 480rem;
		object-fit: cover;
	}

}

/* .breadcrumb ********************/

.breadcrumb{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background: var(--COL-BEI02);
	> ol{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		list-style: none;
		line-height: 1;
		> li {
			> a{
				display: flex;
				align-items: center;
				color: var(--COL-GRY02);
				text-transform: capitalize;
				&::after{
					display: block;
					content: "";
					border-right: 1rem solid rgba(var(--COL-BLK-rgb), 0.3);
					border-top: 1rem solid rgba(var(--COL-BLK-rgb), 0.3);
					transform: translate(0, 20%) rotate(45deg);
				}
			}
			&:first-child{
				> a{
					&::before{
						display: block;
						content: "";
						background: url("../../img/common/icn_home.svg");
						background-size: contain;
					}
				}
			}
			&:last-child{
				> a{
					color: var(--COL-TXT02);
					cursor: default;
					&::after{
						display: none;
					}
				}
			}
		}
	}

	@media screen and (min-width: 768px) {
		min-height: 48rem;
		padding: 8rem 6%;
		> ol {
			gap: 0.5em 1em;
			font-size: 14rem;
			> li {
				> a{
					opacity: 1;
					transition-property: opacity;
					&:hover{
						opacity: 0.4;
					}
					&::after{
						width: 9rem;
						height: 9rem;
						margin-left: 1em;
					}
				}
				&:first-child{
					> a{
						&::before{
							width: 20rem;
							height: 20rem;
							margin-right: 8rem;
						}
					}
				}
				&:last-child{
					> a{
						&:hover{
							opacity: 1;
						}
					}
				}
			}
		}
	}
	@media screen and (max-width: 767px) {
		min-height: 32rem;
		padding: 4rem 20rem;
		> ol {
			gap: 0.4em;
			font-size: 12rem;
			> li {
				> a{
					&::after{
						width: 6rem;
						height: 6rem;
						margin-left: 0.4em;
					}
				}
				&:first-child{
					> a{
						&::before{
							width: 16rem;
							height: 16rem;
							margin-right: 2rem;
						}
					}
				}
			}
		}
	}
	
}


/******************************************************
.contents
******************************************************/

.contents{
    overflow-x: hidden;
	overflow-y: hidden;
	line-height: 1.5;
}


/******************************************************
.contents_header
******************************************************/




/******************************************************
.section
******************************************************/

/* .section ********************/

.section{
    width: 100%;

	@media screen and (min-width: 768px) {
		max-width: 1200rem;
		margin-left: auto;
		margin-right: auto;
		padding-left: calc((100vw - 1200rem)/ 2);
		padding-right: calc((100vw - 1200rem)/ 2);
		padding-top: 80rem;
		padding-bottom: 80rem;
		box-sizing: content-box;

	}
	@media screen and (max-width: 767px) {
		padding-top: 40rem;
		padding-bottom: 40rem;
		padding-left: 8rem;
		padding-right: 8rem;
	}

}

.section.section_card{

	@media screen and (min-width: 768px) {
		position: relative;
		max-width: 900rem;
		padding-left: calc((100vw - 900rem)/ 2);
		padding-right: calc((100vw - 900rem)/ 2);
		padding-top: 200rem;
		padding-bottom: 200rem;
		&::before{
			position: absolute;
			top: 120rem;
			left: 50%;
			transform: translateX(-50%);
			display: block;
			width: 100%;
			max-width: 1200rem;
			height: calc(100% - 240rem);
			content: "";
			background-color: rgba(var(--COL-BEI-rgb), 0.3);
			border-top-right-radius: 32rem;
			z-index: -1;
		}
	}
	@media screen and (max-width: 767px) {
		margin-top: 40rem;
		background-color: rgba(var(--COL-BEI-rgb), 0.3);
		border-top-right-radius: 32rem;
	}

}

.section.section_wood{
	background: url("../../img/community-top/bg_wood.png") 0 0 repeat;

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

}


/* .section_label ********************/

.section_label{
	position: relative;
	margin-bottom: 2em;
	padding: 1em 1em 1em 3.5em;
	background: var(--GRD-ORA);
	font-family: var(--FNT-serif);
	color: var(--COL-TXT);
	letter-spacing: 0.2em;
	@media screen and (min-width: 768px) {
		font-size: 28rem;
		border-top-right-radius: 2em;
	}
	@media screen and (max-width: 767px) {
		font-size: 18rem;
		border-top-right-radius: 1.5em;
	}
	&::before{
		position: absolute;
		top: -0.8em;
		left: 0.8em;
		display: block;
		width: 1.9em;
		height: 3em;
		content: "";
		background: url("../../img/common/ill_tori_ora.svg") 0 0 no-repeat;
		background-size: contain;
	}
}

/* .section_body ********************/

.section_body{

	.sbody_text{
		p{
			@media screen and (min-width: 768px) {
				line-height: 2;
			}
			@media screen and (max-width: 767px) {
				line-height: 1.75;
			}
		}
		p + p{
			padding-top: 1em;
		}
	}
	.sbody_text + .sbody_text{
		@media screen and (min-width: 768px) {
			margin-top: 56rem;
		}
		@media screen and (max-width: 767px) {
			margin-top: 40rem;
		}
	}

}
.section_body + .section_body{

	@media screen and (min-width: 768px) {
		margin-top: 64rem;
	}
	@media screen and (max-width: 767px) {
		margin-top: 40rem;
	}

}
.section_body.section_body_narrow{
	@media screen and (min-width: 768px) {
		width: 100%;
		max-width: 900rem;
		margin: 0 auto;
	}
	@media screen and (max-width: 767px) {
		padding-left: 16rem;
		padding-right: 16rem;
	}
}
.section_body.section_body_bg{
	background-color: var(--COL-BEI02);
	@media screen and (min-width: 768px) {
		width: 100%;
		padding: 64rem 100rem;
	}
	@media screen and (max-width: 767px) {
		padding-top: 32rem;
		padding-bottom: 32rem;
		padding-left: 16rem;
		padding-right: 16rem;
	}
}


/* 見出し ********************/

.section_body_label{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1em;
	margin-bottom: 1.5em;
	font-family: var(--FNT-serif);
	color: var(--COL-PPL);
	letter-spacing: 0.2em;
	@media screen and (min-width: 768px) {
		font-size: 28rem;
	}
	@media screen and (max-width: 767px) {
		font-size: 19rem;
	}
	&::before,
	&::after{
		display: block;
		width: 2.6786em;
		height: 0.5358em;
		content: "";
		border-top: solid 0.2143em rgba(var(--COL-LPP-rgb), 0.3);
		border-bottom: solid 0.2143em rgba(var(--COL-ORA-rgb), 0.3);
		border-radius: 0.1em;
	}
}

.sbody_text_label{
	margin-bottom: 1.0em;
	font-family: var(--FNT-serif);
	color: var(--COL-PPL);
	letter-spacing: 0.1em;
	line-height: 1.75;
	border-bottom: solid 1rem var(--COL-GRY02);
	@media screen and (min-width: 768px) {
		font-size: 24rem;
	}
	@media screen and (max-width: 767px) {
		font-size: 18rem;
	}
}




/* 汎用 ********************/

/* 　ボタンの入れ物　 */

.btn_center{
	display: flex;
	justify-content: center;
	align-items: center;
}

/* 　MOREボタン　 */

.btn_box_arrow{
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0.75em;
	border-radius: 0.5em;
	border: 2rem solid var(--COL-GRY02);
	background-color: var(--COL-WHT);
	width: auto;
	min-width: 240rem;
	height: auto;
	padding: 0.25em 2.5em 0.25em 1em;
	transition-property: border, background;
	@media screen and (min-width: 768px) {
		min-height: 48rem;
	}
	@media screen and (max-width: 767px) {
		min-height: 56rem;
	}
	> .btn_icn{
		width: 22rem;
		height: 28rem;
		fill: var(--COL-RED);
		transition-property: fill;
	}
	> .label{
		line-height: 1.2;
		color: var(--COL-TXT02);
		transition-property: color;
		@media screen and (min-width: 768px) {
		}
		@media screen and (max-width: 767px) {
		}
	}
	&::before{
		position: absolute;
		top: 50%;
		right: 0.75em;
		display: block;
		width: 1em;
		height: 1em;
		content: "";
		border-radius: 0.5em;
		background-color: var(--COL-GRY02);
		transform: translateY(-50%);
		transition-property: background;
	}
	&::after{
		position: absolute;
		top: 50%;
		right: 1.2em;
		display: block;
		width: 0.3em;
		height: 0.3em;
		content: "";
		border-right: 1rem solid var(--COL-WHT);
		border-top: 1rem solid var(--COL-WHT);
		transform: translateY(-50%) rotate(45deg);
		transition-property: border;
	}
}

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

	.btn_box_arrow:hover,
	a:hover .btn_box_arrow{
		/*border-color: var(--COL-WHT);*/
		background-color: var(--COL-GRY02);
		> svg{
			fill: var(--COL-WHT);
		}
		> .label{
			color: var(--COL-WHT);
		}
		&::before{
			background-color: var(--COL-WHT);
		}
		&::after{
			border-right-color: var(--COL-GRY02);
			border-top-color: var(--COL-GRY02);
		}
	}

}



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


/******************************************************
■ HOME　■
******************************************************/

/* 聖愛会の理念 ********************/

.list_rinen{
	display: flex;

	@media screen and (min-width: 768px) {
		align-items: stretch;
		gap: 20rem;
	}
	@media screen and (max-width: 767px) {
		flex-direction: column;
		gap: 24rem;
	}

	> li{
		position: relative;
		background-color: var(--COL-WHT);
		border-top-right-radius: 2em;
		padding: 2em 0.5em;
		@media screen and (min-width: 768px) {
			flex: 1;
		}
		@media screen and (max-width: 767px) {
		}
		> .label{
			position: absolute;
			top: -0.5em;
			left: 0.75em;
			font-family: var(--FNT-serif);
			color: var(--COL-PPL);
			letter-spacing: 0.1em;
			line-height: 1;
			@media screen and (min-width: 768px) {
				font-size: 32rem;
			}
			@media screen and (max-width: 767px) {
				font-size: 24rem;
			}
		}
		> p{
			display: flex;
			justify-content: center;
			align-items: center;
			height: 100%;
			color: var(--COL-PPL);
			line-height: 1.75;
			text-align: center;
		}
	}
}

/* 情報公開 ********************/

.list_information{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	
	@media screen and (min-width: 768px) {
		gap: 20rem;
		> li{
			width: calc(50% - 10rem);
		}
	}
	@media screen and (max-width: 767px) {
		flex-direction: column;
		gap: 8rem;
	}
}

/* アクセス ********************/

.section_body_address{
	display: flex;
	.map_accessmap {
		> img {
			width: 100%;
			height: auto;
		}
	}
	.map_googlemap iframe {
		width: 100%;
		border: solid 1px rgba(var(--COL-GRY02-rgb), 0.5);
	}
	p{
		padding-top: 0.5em;
	}
	
	@media screen and (min-width: 768px) {
		justify-content: space-between;
		align-items: stretch;
		.map_accessmap {
			width: 28%;
		}
		.map_googlemap {
			width: 68%;
		}
		.map_googlemap iframe {
			height: 500rem;
		}
	}
	@media screen and (max-width: 767px) {
		flex-direction: column;
        justify-content: center;
        align-items: center;
		.map_accessmap {
			width: 100%;
			padding: 0 10vw;
		}
	    .map_googlemap {
			width: 100%;
			padding-top: 1.5em;
		}
	    .map_googlemap iframe {
			height: 320rem;
		}
	}
}

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

.contact {

    width: 90%;
    max-width: 1220rem;
    background: url("../../img/common/bg_contact@2x.png") 0 0 no-repeat;
    background-size: cover;
    padding: 2em 5%;

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

	@media screen and (min-width: 768px) {
	    margin: 64rem auto 80rem;
		.section_body_contact{
			display: flex;
			justify-content: space-between;
			align-items: center;
		}
		.sbody_contact_item01{
			width: 43%;
		}
		.sbody_contact_logo{
			width: 282rem;
			height: 80rem;
		}
		.sbody_contact_item02{
			width: 55%;
		}
	}
	@media screen and (max-width: 767px) {
		margin: 24rem auto 32rem;
		.sbody_contact_item01{
			width: 100%;
			padding-bottom: 2em;
		}
		.sbody_contact_logo{
			width: 214rem;
			height: 60rem;
		}
		.sbody_contact_item02{
			width: 100%;
		}
	}

	.sbody_contact_tel{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 1.8em 0.5em 1.5em;
		border: solid 6rem var(--COL-BEI);
		border-radius: 4rem;
		background-color: var(--COL-ORA);
		color: var(--COL-WHT);
		font-weight: 700;
		.sbody_contact_label{
			line-height: 1.3;
		}
		.sbody_contact_telnum{
			line-height: 1.2;
		}
		.sbody_contact_icn{
			fill:var(--COL-WHT);
			vertical-align: middle;
		}
		@media screen and (min-width: 768px) {
			.sbody_contact_label{
				font-size: 18rem;
			}
			.sbody_contact_telnum{
				padding: 16rem 0 4rem;
				font-size: 34rem;
			}
			.sbody_contact_icn{
				height: 36rem;
				width: 36rem;
			}
		}
		@media screen and (max-width: 767px) {
			.sbody_contact_label,
			.sbody_contact_info{
				font-size: 12rem;
			}
			.sbody_contact_telnum{
				padding: 16rem 0 7rem;
				font-size: 22rem;
			}
			.sbody_contact_icn{
				height: 26rem;
				width: 26rem;
			}
		}
		.btn_l_line{
			margin-top: 1em;
		}
		.btn_l_line a{
		    display: flex;
			justify-content: center;
			align-items: center;
			width: auto;
			height: auto;
			box-sizing: border-box;
			font-weight: bold;
			line-height: 1;
			color: var(--COL-ORA);
			border: solid 2rem var(--COL-BEI);
			background-color: var(--COL-WHT);
			transition: all 0.5s ease-out;
		}
		.btn_l_line a .btn_text{
			position: relative;
			display: inline-block;
			color: var(--COL-ORA);
		}
		.btn_l_line a .btn_text::before,
		.btn_l_line a .btn_text::after{
			position: absolute;
			top: 0;
			bottom: 0;
			right: 0;
			margin: auto;
			content: "";
			vertical-align: middle;
		}
		.btn_l_line a .btn_text::before{
			width: 20rem;
			height: 20rem;
			background: var(--COL-WHT);
		}
		.btn_l_line a .btn_text::after{
			right: 7rem;
			width: 8rem;
			height: 8rem;
			border-top: 3rem solid var(--COL-ORA);
			border-right: 3rem solid var(--COL-ORA);
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
		}
		.btn_l_line a .btn_icn{
			margin-right: 10rem;
			fill: var(--COL-ORA);
		}

		@media screen and (min-width: 768px) {
			.btn_l_line a{
				padding: 1em 2em;
				font-size: 18rem;
			}
			.btn_l_line a .btn_text{
				padding-right: 30rem;
			}
			.btn_l_line a .btn_icn{
				width: 30rem;
				height: 30rem;
			}
			.btn_l_line a:hover{
				color: var(--COL-WHT);
				background-color: var(--COL-ORA);
			}
			.btn_l_line a:hover .btn_text{
				color: var(--COL-WHT);
			}
			.btn_l_line a:hover .btn_icn{
				fill: var(--COL-WHT);
			}
		}
		@media screen and (max-width: 767px) {
			.btn_l_line a{
				padding: 1em 0.5em;
				font-size: 14rem;
			}
			.btn_l_line a .btn_text{
				padding-right: 24rem;
			}
			.btn_l_line a .btn_icn{
				width: 20rem;
				height: 20rem;
			}
		}
		
	}
	.sbody_contact_tel a.a_tel,
	a.a_tel.sbody_contact_tel{
		color: var(--COL-WHT);
	}
	a.a_tel:hover{
		cursor: default;
	}

}


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

/******************************************************
採用情報
******************************************************/

/* .list_post */
.list_post{
    border-bottom: solid 1rem rgba(var(--COL-GRY02-rgb), 0.75);
	> li{
		border-top: solid 1rem rgba(var(--COL-GRY02-rgb), 0.75);
		> a{
			position: relative;
			display: flex;
			@media screen and (min-width: 768px) {
				justify-content: flex-start;
				align-items: center;
				gap: 3em;
				padding: 1.25em 4em 1.25em 1.25em;
				background-color: rgba(var(--COL-LPP-rgb), 0);
				transition-property: background;
				&:hover{
					background-color: rgba(var(--COL-LPP-rgb), 0.1);
				}
			}
			@media screen and (max-width: 767px) {
				flex-direction: column;
				align-items: stretch;
				gap: 0.25em;
				padding: 1em 3em 1em 0;
			}
			.date{
				font-size: 0.875em;
				color: var(--COL-GRY02);
			}
			.label{
				line-height: 1.5;
				color: var(--COL-PPL);
			}
			&::before{
				position: absolute;
				top: 50%;
				right: 0.75em;
				display: block;
				width: 1em;
				height: 1em;
				content: "";
				border-radius: 0.5em;
				background-color: var(--COL-LPP);
				transform: translateY(-50%);
				transition-property: background;
			}
			&::after{
				position: absolute;
				top: 50%;
				right: 1.2em;
				display: block;
				width: 0.3em;
				height: 0.3em;
				content: "";
				border-right: 1rem solid var(--COL-WHT);
				border-top: 1rem solid var(--COL-WHT);
				transform: translateY(-50%) rotate(45deg);
				transition-property: border;
			}
		}
	}

}

/* wp-pagenavi */

.wp-pagenavi{
	margin-top:40rem;
	text-align:center;
}

.wp-pagenavi span{
	display:inline-block;
}

.wp-pagenavi span.wp-pagenavi_prev{
	min-width:6em;
/*	float:left;*/
}
.wp-pagenavi span.wp-pagenavi_arch{
}
.wp-pagenavi span.wp-pagenavi_next{
	min-width:6em;
/*	float:right;*/

}

.wp-pagenavi a,
.wp-pagenavi span {
    border: none;
	margin: 0;
}
.wp-pagenavi a,
.wp-pagenavi .current{
	display:inline-block;
	padding:8rem 14rem 7rem;
	margin:0 1rem;
	color: var(--COL-LPP);
	border:solid 1rem var(--COL-LPP);
	transition: all 0.2s ease-out;
}
.wp-pagenavi span.wp-pagenavi_prev a,
.wp-pagenavi span.wp-pagenavi_arch a,
.wp-pagenavi span.wp-pagenavi_next a{
	padding:8rem 20rem 7rem;
}

.wp-pagenavi .current{
	color: var(--COL-WHT);
	background-color:var(--COL-LPP);
}
.wp-pagenavi a:hover{
	color: var(--COL-WHT);
	background-color:var(--COL-LPP);
}

.wp-pagenavi .pages{
	display:none;
}

@media screen and (max-width: 479px) { /* sp */

	.wp-pagenavi a,
	.wp-pagenavi .current{
		padding-left:3vw;
		padding-right:3vw;
	}
	.wp-pagenavi span.wp-pagenavi_prev a,
	.wp-pagenavi span.wp-pagenavi_arch a,
	.wp-pagenavi span.wp-pagenavi_next a{
		margin:0;
		padding-left:2vw;
		padding-right:2vw;
		font-size: 12rem;
	}

}


/* 個別ページ ********************/

.entry .entry_header{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10rem;
	margin-bottom: 2.5em;
	padding-bottom: 1.5em;
	border-bottom: solid 1rem var(--COL-GRY02);
	@media screen and (min-width: 768px) {
		margin-left: -50rem;
		margin-right: -50rem;
		padding-left: 50rem;
		padding-right: 50rem;
	}
	@media screen and (max-width: 767px) {
		margin-left: -16rem;
		margin-right: -16rem;
		padding-left: 16rem;
		padding-right: 16rem;
	}
	.date{
		color: var(--COL-GRY02);
		line-height: 1;
		@media screen and (min-width: 768px) {
			font-size: 15rem;
		}
		@media screen and (max-width: 767px) {
			font-size: 14rem;
		}
	}
	.label{
		line-height: 1.5;
		color: var(--COL-PPL);
		@media screen and (min-width: 768px) {
			font-size: 24rem;
		}
		@media screen and (max-width: 767px) {
			font-size: 18rem;
		}
	}
}

/* WP本文欄の中 ********************/

@media screen and (max-width: 767px) {
	.entry .entry_body.section_body{
		display: block;
	}
}

.entry .entry_body h2{
    margin: 1.75em 0 1.25em;
	font-weight: var(--WGT-B);
	line-height: 1.5;
	@media screen and (min-width: 768px) {
		font-size: 20rem;
		letter-spacing: 1rem;
	}
	@media screen and (max-width: 767px) {
		font-size: 16rem;
		letter-spacing: 0.8rem;
	}
}

.entry .entry_body h3{
    margin: 1.5em 0 1.0em;
    font-size: 1.07em;
	font-weight: var(--WGT-B);
}

.entry .entry_body img{
    display: block;
    width: 100%;
    max-width: 600px;
    max-height: 600px;
    margin: 2em auto;
    object-fit: contain;
}

.entry .entry_body blockquote{
    margin: 1.5em 0;
    padding: 1.5em 2em;
    background-color: var(--COL-BEI02);
	border-radius: 8rem;
}

.entry .entry_body ul{
    margin: 1.5em 0;
    padding-left: 2em;
    list-style: disc;
	> li{
		letter-spacing: 0;
	}
	> li + li{
		margin-top: 0.5em;
	}
}
.entry .entry_body ol{
    margin: 1.5em 0;
    padding-left: 2em;
	> li{
		letter-spacing: 0;
	}
	> li + li{
		margin-top: 0.5em;
	}
}

.entry .entry_body p{
    line-height: 1.75em;
}
.entry .entry_body p + p{
    padding-top: 1.5em;
}

.entry .entry_body p > a{
    text-decoration: underline;
}

/* WP画像キャプション */
.entry .entry_body .wp-caption{
    width: 100% !important;
    max-width: 600px;
    margin: 2em auto;
}
.entry .entry_body .wp-caption img{
    margin-bottom: 0.5em;
}
.entry .entry_body .wp-caption-text{
    font-size: 0.9em;
    text-align: center;
}




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


/******************************************************
.page-top
******************************************************/

.page-top{
    position: fixed;
    z-index: 300;
	@media screen and (min-width: 768px) {
		right: 24rem;
		bottom: 24rem;
		width: 56rem;
		height: 56rem;
	}
	@media screen and (max-width: 767px) {
		right: 8rem;
		bottom: 8rem;
		width: 40rem;
		height: 40rem;
	}
	> a{
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		border-radius: 0.5em;
		border: solid 1rem rgba(var(--COL-BEI-rgb), 1);
		background: rgba(var(--COL-WHT-rgb), 0.9);
		transition-property: background;
		> svg{
			width: 40%;
			height: 40%;
			fill: var(--COL-BEI);
			transition: fill .4s ease-out;
		}
		@media screen and (min-width: 768px) {
			&:hover{
				background: rgba(var(--COL-BEI-rgb), 0.9);
				> svg{
					fill: var(--COL-WHT);
				}
			}
		}
	}
}



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


/******************************************************
汎用クラス
******************************************************/

.hidden{
	height: 0px;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	margin: 0;
}


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

	.small{
		font-size: 14rem;
	}

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

	.small{
		font-size: 13rem;
	}

}

.red,
.notice{
    color: var(--COL-RED);
}
.gray{
	color:var(--COL-GRY);
}

strong{
    font-family: var(--FNT-base);
    font-weight: var(--WGT-B);
	font-style:normal;
}
em{
    font-family: var(--FNT-base);
    font-weight: var(--WGT-B);
	font-style:normal;
}

.ta_right{
	text-align:right;
}
.ta_left{
	text-align:left;
}
.ta_center{
	text-align:center;
}

/* indent */
.list_ind1,
.list_ind2,
.list_ind1-5{
	padding:1em 0;
}
.ind1,
.list_ind1 li{
	padding-left:1em;
	text-indent:-1em;
}
.ind2,
.list_ind2 li{
	padding-left:2em;
	text-indent:-2em;
}
.ind1-5,
.list_ind1-5 li{
	padding-left:1.5em;
	text-indent:-1.5em;
}

/* dl リスト */
.dl_row{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
.dl_row dt{
	text-align: left;
}
.dl_row dd{
    padding-left: 1em;
	text-align: left;
}
.dl_row.dl_line{
    border-bottom: solid 1rem rgba(var(--COL-GRY02-rgb), 0.75);
}
.dl_row.dl_line dt{
    padding: 1em 0;
    border-top: solid 1rem rgba(var(--COL-GRY02-rgb), 0.75);
}
.dl_row.dl_line dd{
    padding: 1em 0 1em 1em;
    border-top: solid 1rem rgba(var(--COL-GRY02-rgb), 0.75);
}
@media screen and (min-width: 768px) {
	.dl_row dt{
		width: 10em;
	}
	.dl_row dd{
		width: calc(100% - 10em);
	}
	.dl_row.dl_line dt{
		padding-left: 1em;
	}
	.dl_row.dl_line dd{
		padding-right: 1em;
	}
}
@media screen and (max-width: 767px) {
	.dl_row dt{
		width: 4em;
	}
	.dl_row dd{
		width: calc(100% - 4em);
	}
}



/* table 表 */
table {
	width: 100%;
/*	table-layout: fixed;*/
	border-collapse: collapse;
	border-spacing: 0;
}
table.table_line {
	border: 1rem solid var(--COL-GRY-01);
}
table.table_line th{
    font-weight: var(--WGT-R);
    color: var(--COL-WHT);
    line-height: 1.5;
	text-align: left;
	vertical-align: top;
	background-color: var(--COL-GRY-01);
	border: 1rem solid var(--COL-GRY-02);
}
table.table_line thead th{
	text-align: center;
	vertical-align: middle;
}
table.table_line thead + tbody th{
    color: var(--COL-TXT); 
	text-align: left;
	vertical-align: top;
	background-color: var(--COL-WHT);
	border: 1rem solid var(--COL-GRY-01);
}
table.table_line td {
    line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	border: 1rem solid var(--COL-GRY-01);
}
table.table_line thead th,
table.table_line tbody th,
table.table_line td{
    padding: 0.5em 1.5em;
}

/* slick で高さを揃える（縦スライド vertical: true にはNG）
.slick-track {
    display: flex !important;
    align-items: stretch;
}
.slick-slide {
    height: auto !important;
} */

/* slick で1つだけのドットを非表示 
.slick-dots > li:only-child {
    display: none;
} */

/* Google 翻訳 
html.translated-ltr .header { top: auto; }
html.translated-ltr.non-toolbar .header { top: 0; }
*/