@charset "utf-8";
/*
Theme Name: L-style
Theme URI: http://www./
Description: L-style
Version: 1.0
Author: L-style
Author URI: http://www./
Tags: L-style

*/

@import url('root.css');

/*
	font-family:"Noto Sans JP", sans-serif;
	font-family:"Zen Maru Gothic", sans-serif;
	font-family:"M PLUS Rounded 1c", sans-serif;
*/



*{
	box-sizing:border-box;
	padding:0;
	margin:0;
}

html{
	font-size:62.55%;
	word-break:break-all;
	word-wrap:break-word;
	background:#fff;
}
body{
	font-family:"Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Helvetica", "Arial", sans-serif;
	font-size:16px;
	font-size:1.6rem;
	font-weight:400;
	line-height:1.8;
	color:#000;
	overflow-x:hidden;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	body{
		font-size:14px;
		font-size:1.4rem;
	}
}

a{
	color:#0073ae;
	text-decoration:none;
	transition:all 0.3s ease;
}
a:hover{
	opacity:0.6;
}
a:active,
a:focus{outline:0;}
p{margin-bottom:0}

.clear{clear:both;}
.center{text-align:center;}
.right{text-align:right;}

img{
	border:0;
	max-width:100%;
	height:auto;
	vertical-align:bottom;
}

i{font-style:normal;}
em{font-style:normal;}
ul{list-style:none;}
li{list-style:none;}
address{font-style:normal;}

hr{
	border:none;
	border-top:1px solid #e5e5e5;
	height:1px;
	margin:4.2em 0;
	width:100%;
}
i.fas,i.far{
	margin-right:0.4em;
}

.visually-hidden{
	position:absolute;
	width:0;
	height:0;
	overflow:hidden;
}

/* id-link-anchor */

.id-link-anchor#aaaaaaaaaaaaaaa,
.id-link-anchor#aaaaaaaaaaaaaaa{
	padding-top:100px;
	margin-top:-100px;
}

/*******************************
/*  flex-box
*******************************/

.flex-box			{display:flex;}
.flex-box-nowrap	{flex-wrap:nowrap;}
.flex-box-wrap		{flex-wrap:wrap;}
.flex-box-row-rever	{flex-direction:row-reverse;}
.flex-box-column	{flex-direction:column;}
.flex-box-column-r	{flex-direction:column-reverse;}
.flex-box-space-b	{justify-content:space-between;}
.flex-box-space-a	{justify-content:space-around;}
.flex-box-space-c	{justify-content:center;}
.flex-box-space-e	{justify-content:flex-end;}
.flex-box-item-c	{align-items:center;}
.flex-box-item-e	{align-items:flex-end;}

/*******************************
/* 
*******************************/

#container{
	position:relative;
	min-height:800px;
	background:#fff;
	z-index:1;
	padding:4.5em 0 8.5em 0;
}
body.home #container{
	padding:0;
}
body:not(.home) #container::before{
	position:absolute;
	top:-50px;
	right:calc(50% + clamp(200px, 30vw, 400px) );
	z-index:-1;
	content:"";
	width:300px;
	height:400px;
	background-image:url(images/icons_decoration_08.png);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:top center;
}

#main{}
#sidebar{}

.inner{
	max-width:1300px;
	padding:0 4.5%;
	margin:0 auto;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.inner{}
}

/*******************************
/* layout
*******************************/

/*******************************
/* layer
*******************************/


.layer-container-wave-01{}
.layer-container-wave-01 > div.body{
	background:var(--color-bg-01);
}
.layer-container-wave-01 > div.upper{
	position:relative;
}
.layer-container-wave-01 > div.upper > div{
	width:100%;
	height:150px;
	background:var(--color-bg-01);
	clip-path:url(#clip_layer_wave_upper_01);
	transform:scaleY(1.01);
	transform-origin:top;
}
.layer-container-wave-01 > div.upper.decoration-01{}
.layer-container-wave-01 > div.upper.decoration-01::before,
.layer-container-wave-01 > div.upper.decoration-01::after{
	content:"";
	position:absolute;
	background-repeat:no-repeat;
	background-size:contain;
}
.layer-container-wave-01 > div.upper.decoration-01::before{
	top:0;
	left:calc(50% + clamp(150px, 20vw, 200px));
	width:200px;
	height:200px;
	background-image:url(images/icons_decoration_03.png);
	background-position:top center;
	z-index:1;
}
.layer-container-wave-01 > div.upper.decoration-01::after{
	top:-50px;
	left:calc(50% + clamp(200px, 25vw, 380px));
	width:150px;
	height:150px;
	background-image:url(images/icons_decoration_07.png);
	background-position:top center;
	z-index:-1;
}

.layer-container-wave-01 > div.under{
	position:relative;
}
.layer-container-wave-01 > div.under > div{
	width:100%;
	height:150px;
	background:var(--color-bg-01);
	clip-path:url(#clip_layer_wave_under_01);
	transform:scaleY(1.01);
	transform-origin:top;
}
.layer-container-wave-01 > div.under.decoration-01{
	padding-bottom:50px;
}
.layer-container-wave-01 > div.under.decoration-01::before,
.layer-container-wave-01 > div.under.decoration-01::after{
	content:"";
	position:absolute;
	background-repeat:no-repeat;
	background-size:contain;
}
.layer-container-wave-01 > div.under.decoration-01::before{
	top:0;
	right:calc(50% + clamp(300px, 25vw, 400px));
	width:250px;
	height:250px;
	background-image:url(images/icons_decoration_03.png);
	background-position:top center;
	z-index:1;
}
.layer-container-wave-01 > div.under.decoration-01::after{
	top:-10px;
	left:calc(50% + clamp(200px, 20vw, 250px));
	width:400px;
	height:350px;
	background-image:url(images/icons_decoration_09.png), url(images/icons_decoration_02.png);
	background-position:bottom 10px right 40px, top 40px right;
	background-size:contain, 85px auto;
	z-index:-1;
}



/*******************************
/* p.more
 * p.more.type-01
*******************************/

/* p.more.type-01 */

p.more.type-01{
	text-align:center;
}
p.more.type-01 > a{
	position:relative;
	display:inline-flex;
	min-width:26rem;
	max-width:30rem;
	background:var(--color-02);
	color:#fff;
	line-height:1.5;
	border-radius:999px;
	padding:1.0em 3.0em 1.25em 3.0em;
}
p.more.type-01 > a > span.label{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	text-align:center;
}
p.more.type-01 > a > span.label > i[class^="mgc_"]{
	font-size:150%;
	margin:0 0.25em 0 -0.5em;
}
p.more.type-01 > a > i[class^="mgc_"]{
	position:absolute;
	top:50%;
	right:1.5em;
	transform:translateY(-50%);
}
p.more.type-01.min > a{
	min-width:auto;
	max-width:none;
	padding:0.55em 3.0em 0.75em 3.0em;
}











/*******************************
/* h-title-01
 * h-title-01.type-01
 * h-title-01.type-02
 * h-title-02
*******************************/

/* h-title-01 */

.h-title-01{
	display:flex;
	align-items:center;
	font-family:"M PLUS Rounded 1c", sans-serif;
	font-size:2.2rem;
	font-weight:600;
	line-height:1.8;
	margin-bottom:1.25em;
}
.h-title-01::before{
	content:"";
	width:35px;
	height:35px;
	background-image:url(images/icons_decoration_01.png);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:left center;
	margin-right:20px;
}
.h-title-01.type-01::before{background-image:url(images/icons_decoration_01.png);}
.h-title-01.type-02::before{background-image:url(images/icons_decoration_02.png);}

/* h-title-02 */

.h-title-02{
	color:var(--color-02);
	font-size:2.5rem;
	font-weight:600;
	line-height:1.8;
	text-align:center;
	margin-bottom:1.25em;
}





/*******************************
/* module
 * module-head-01
 * module-head-01.decoration-01
 * module-head-01.decoration-02
*******************************/

/* module-head-01 */

div.module-head-01{
	margin-bottom:4.0em;
}
div.module-head-01 > div.title{
	font-family:"M PLUS Rounded 1c", sans-serif;
	text-align:center;
}
div.module-head-01 > div.title > i{
	display:block;
}
div.module-head-01 > div.title > i::before{
	display:block;
	content:attr(data-decorate);
	color:var(--color-03);
	font-size:3.5rem;
	font-weight:500;
	line-height:1;
	margin-bottom:0.2em;
}
div.module-head-01 > div.title > h2{
	display:inline-flex;
	justify-content:center;
	align-items:center;
	color:#000;
	font-size:4.0rem;
	font-weight:700;
	line-height:1.35;
	padding:0.25em 0;
}
div.module-head-01 > div.title > h2::before,
div.module-head-01 > div.title > h2::after{
	content:"";
	width:30px;
	height:30px;
	background-image:url(images/icons_decoration_01.png);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:left center;
}
div.module-head-01 > div.title > h2::before{
	margin-right:0.5em;
}
div.module-head-01 > div.title > h2::after{
	margin-left:0.5em;
}
div.module-head-01 > div.lead{
	margin-top:3.5em;
}
div.module-head-01 > div.lead:has( > h1){
	margin-top:2.5em;
}
div.module-head-01 > div.lead h1{
	color:var(--color-01);
	font-family:"M PLUS Rounded 1c", sans-serif;
	font-size:3.5rem;
	font-weight:500;
	text-align:center;
}
div.module-head-01 > div.lead p{
	color:var(--color-04);
	font-family:"M PLUS Rounded 1c", sans-serif;
	font-size:3.0rem;
	font-weight:500;
	text-align:center;
}
div.module-head-01 > div.lead p > span{
	display:block;
}
div.module-head-01 > div.text{
	margin-top:2.0em;
}
div.module-head-01 > div.title + div.text{
	margin-top:3.5em;
}
div.module-head-01 > div.text p{
	font-size:1.8rem;
	line-height:2.0;
	text-align:center;
}
div.module-head-01 > div.text p > span{
	display:block;
}

/* module-head-01.decoration */

div.module-head-01.decoration-01,
div.module-head-01.decoration-02{
	position:relative;
	z-index:1;
	margin-top:50px;
}
div.module-head-01.decoration-01::before,
div.module-head-01.decoration-01::after,
div.module-head-01.decoration-02::before,
div.module-head-01.decoration-02::after{
	content:"";
	position:absolute;
	z-index:-1;
	background-repeat:no-repeat;
	background-size:contain;
}
div.module-head-01.decoration-01::before{
	top:0;
	left:25px;
	width:250px;
	height:150px;
	background-image:url(images/icons_decoration_03.png);
	background-position:top right;
}
div.module-head-01.decoration-01::after{
	top:-35px;
	right:0;
	width:250px;
	height:180px;
	background-image:url(images/icons_decoration_04.png);
	background-position:top right;
}
div.module-head-01.decoration-02::before{
	top:-50px;
	left:0;
	width:250px;
	height:100px;
	background-image:url(images/icons_decoration_05.png);
	background-position:bottom left;
}
div.module-head-01.decoration-02::after{
	top:-35px;
	right:100px;
	width:85px;
	height:85px;
	background-image:url(images/icons_decoration_02.png);
	background-position:top right;
}






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

header{}
#header{}
#header > div.area{
	display:flex;
	justify-content:space-between;
	align-items:center;
	max-width:1300px;
	padding:1.0em 4.5%;
	margin:0 auto;
}
#header > div.area > div.name{}
#header > div.area > div.name a{
	display:inline-flex;
	align-items:center;
	color:#000;
}
#header > div.area > div.name a > span.mark{
	flex:0 0 6.0rem;
	margin-right:0.5em;
}
#header > div.area > div.name a > span.name{
	font-family:"Zen Maru Gothic", sans-serif;
	font-size:3.0rem;
	font-weight:700;
}
#header > div.area > div.menu{}
#header > div.area > div.menu > nav{}
#header > div.area > div.menu > nav > ul{
	display:flex;
}
#header > div.area > div.menu > nav > ul > li{
	flex-shrink:0;
}
#header > div.area > div.menu > nav > ul > li a{
	display:block;
	color:#000;
	font-size:1.65rem;
	padding:0.25em 0.5em;
}





/*******************************
/* hero
 * hero_primary
 * hero_secondary
*******************************/

/* hero_primary */

#hero_primary{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:600px;
	background:#f5f5f5;
}

/* hero_secondary */

#hero_secondary{
	position:relative;
	z-index:5;
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:490px;
	background:#f5f5f5;
	clip-path:url(#clip_hero_under_secondary);
	overflow:hidden;
}
#hero_secondary::before{
	position:absolute;
	top:-1px;
	left:-10%;
	content:"";
	background-image:url(images/clip_hero_upper_002.svg);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:top center;
	width:120%;
	aspect-ratio:95/3;
}


/*******************************
/* sidebar
*******************************/

#sidebar{}

/*******************************
/* footer
*******************************/

footer{}


#footer{}

body:not(.home) #footer{
	border-top:2px solid #ddd;
}

#footer > div.footer-partition{}
#footer > div.footer-partition > div.wave{}
#footer > div.footer-partition > div.wave > div{
	width:100%;
	height:100px;
	background:var(--color-bg-02);
	clip-path:url(#clip_layer_wave_under_02);
	transform:scaleY(1.01);
	transform-origin:top;
}
#footer > div.footer-partition > div.decoration{
	position:relative;
}
#footer > div.footer-partition > div.decoration > span{
	display:block;
	position:absolute;
	background-repeat:no-repeat;
	background-size:contain;
}
#footer > div.footer-partition > div.decoration > span:nth-child(1){
	top:-85px;
	right:calc(50% + clamp(15px, 2.5vw, 20px));
	width:115px;
	height:115px;
	background-image:url(images/icons_decoration_02.png);
	background-position:top center;
	z-index:-1;
}
#footer > div.footer-partition > div.decoration > span:nth-child(2){
	top:-150px;
	right:calc(50% + clamp(500px, 40vw, 550px));
	width:220px;
	height:240px;
	background-image:url(images/icons_decoration_07.png);
	background-position:top center;
	z-index:-1;
}
body:not(.home) #footer > div.footer-partition > div.decoration > span:nth-child(1){
	top:-25px;
}
body:not(.home) #footer > div.footer-partition > div.decoration > span:nth-child(2){
	top:-100px;
}

/* footer-body */

#footer div.footer-body{
	position:relative;
	max-width:1300px;
	padding:55px 4.5% 9.5em 4.5%;
	margin:0 auto;
}
body:not(.home) #footer div.footer-body{
	padding-top:105px;
}
#footer div.footer-body::after{
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	left:calc(100% - 35%);
	z-index:-1;
	width:50%;
	height:265px;
	background-image:
		url(images/icons_decoration_02.png),
		url(images/icons_decoration_06.png),
		url(images/icons_decoration_07.png)
		;
	background-position:
		top 90px left 0px,
		top 0px  left 325px,
		top 80px left 165px
		;
	background-size:
		100px,
		300px,
		200px
		;
	background-repeat:no-repeat;
}
#footer div.footer-body > div.block{
	display:flex;
	justify-content:space-between;
}
#footer div.footer-body > div.block > div{
	flex:0 0 50%;
	display:flex;
	justify-content:center;
}
#footer div.footer-body > div.block > div.about{
	position:relative;
}
#footer div.footer-body > div.block > div.about::before{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:-110px;
	z-index:-1;
	background-image:url(images/icons_decoration_11.png);
	background-position:center right;
	background-repeat:no-repeat;
	background-size:contain;
	width:180px;
	height:180px;
}
#footer div.footer-body > div.block > div.about > div.block{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
#footer div.footer-body > div.block > div.about > div.block div.name{}
#footer div.footer-body > div.block > div.about > div.block div.name a{
	display:inline-flex;
	align-items:center;
	color:#000;
}
#footer div.footer-body > div.block > div.about > div.block div.name a > span.mark{
	flex:0 0 6.5rem;
	margin-right:1.0em;
}
#footer div.footer-body > div.block > div.about > div.block div.name a > span.name{
	font-family:"Zen Maru Gothic", sans-serif;
	font-size:3.0rem;
	font-weight:700;
}
#footer div.footer-body > div.block > div.about > div.block div.body{
	margin-top:1.0em;
}
#footer div.footer-body > div.block > div.about > div.block div.body p{
	text-align:center;
}
#footer div.footer-body > div.block > div.about > div.block div.body p + p{
	margin-top:0.5em;
}
#footer div.footer-body > div.block > div.about > div.block div.body p.address{}
#footer div.footer-body > div.block > div.about > div.block div.body p.tel{}
#footer div.footer-body > div.block > div.about > div.block div.body p.tel a{
	display:inline-block;
	color:var(--color-03);
	font-size:3.5rem;
	font-weight:500;
	line-height:1.5;
}
#footer div.footer-body > div.block > div.about > div.block div.body p.time{}
#footer div.footer-body > div.block > div.about > div.block div.button{
	text-align:center;
	margin-top:3.0em;
}
#footer div.footer-body > div.block > div.about > div.block div.button p.more.type-01{
	font-size:1.65rem;
}
#footer div.footer-body > div.block > div.menu{}
#footer div.footer-body > div.block > div.menu > div.block{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
#footer div.footer-body > div.block > div.menu > div.block div.menu{
	padding-top:2.0em;
}
#footer div.footer-body > div.block > div.menu > div.block div.menu nav{
	display:flex;
	justify-content:space-between;
}
#footer div.footer-body > div.block > div.menu > div.block div.menu nav a{
	color:#000;
	font-size:1.45rem;
}
#footer div.footer-body > div.block > div.menu > div.block div.menu nav > ul{
	padding:0 1.5em;
}
#footer div.footer-body > div.block > div.menu > div.block div.menu nav > ul > li{}
#footer div.footer-body > div.block > div.menu > div.block div.menu nav > ul > li > ul{}
#footer div.footer-body > div.block > div.menu > div.block div.menu nav > ul > li > ul > li{}
#footer div.footer-body > div.block > div.menu > div.block div.menu nav > ul > li > ul > li a{}
#footer div.footer-body > div.block > div.menu > div.block div.menu nav > ul > li > ul > li a::before{
	display:inline-flex;
	content:"-";
	margin:0 0.5em;
}
#footer div.footer-body > div.block > div.menu > div.block div.button{
	text-align:center;
	margin-top:3.0em;
}
#footer div.footer-body > div.block > div.menu > div.block div.button p.more.type-01{
	font-size:1.65rem;
}

/* footer-end */

#footer div.footer-end{
	width:100%;
	background:var(--color-01);
	padding:0.5em 2.5%;
}
#footer div.footer-end div.copyright{}
#footer div.footer-end div.copyright p{
	color:#fff;
	font-size:12px;
	font-size:1.2rem;
	text-align:center;
}


/*******************************
/* home
*******************************/

/* home-introduction */

div.home-introduction{}
div.home-introduction > div.wrap{
	padding:5.5em 0;
}
div.home-introduction > div.wrap div.area{}
div.home-introduction > div.wrap div.area > div.introduction-concept{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div{
	flex:0 0 100%;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.image{
	position:relative;
	flex:0 0 48%;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.image img{
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:30px;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.body{
	flex:0 0 48%;
	padding:1.5em 0.5em;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.body > div.head{}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.body > div.head h2{
	font-family:"M PLUS Rounded 1c", sans-serif;
	font-size:35px;
	font-size:3.5rem;
	font-weight:700;
	line-height:1.85;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.body > div.head h2 > span{
	display:block;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.body > div.text{
	margin-top:2.0em;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.body > div.text p{
	font-size:18px;
	font-size:1.8rem;
	font-weight:500;
	line-height:2.15;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.more{
	margin-top:5.5em;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.image::before,
div.home-introduction > div.wrap div.area > div.introduction-concept > div.image::after{
	content:"";
	display:block;
	position:absolute;
	background-repeat:no-repeat;
	background-size:contain;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.image::before{
	top:-85px;
	right:50%;
	width:110px;
	height:110px;
	background-image:url(images/icons_decoration_02.png);
	background-position:top center;
	z-index:-1;
}
div.home-introduction > div.wrap div.area > div.introduction-concept > div.image::after{
	top:-150px;
	right:calc(50% + clamp(55px, 5vw, 85px));
	width:165px;
	height:190px;
	background-image:url(images/icons_decoration_07.png);
	background-position:top center;
	z-index:-2;
}

/* home-feature */

div.home-feature{
	position:relative;
	margin-top:-100px;
}

div.home-feature::before,
div.home-feature::after{
	content:"";
	display:block;
	width:50%;
	position:absolute;
	top:100%;
	transform:translateY(-50%);
	z-index:-1;
}
div.home-feature::before{
	height:500px;
	left:0;
	background-image:
		url(images/icons_decoration_05.png),
		url(images/icons_decoration_12.png)
		;
	background-size:
		350px,
		40px
		;
	background-position:
		bottom 50px right 500px,
		bottom 200px right 250px
		;
	background-repeat:
		no-repeat,
		no-repeat
		;
}
div.home-feature::after{
	height:1200px;
	right:0;
	background-image:
		url(images/icons_decoration_02.png),
		url(images/icons_decoration_08.png),
		url(images/icons_decoration_07.png)
		;
	background-size:
		110px,
		250px,
		180px
		;
	background-position:
		bottom 250px left 200px,
		bottom 450px left 180px,
		bottom 100px left 650px
		;
	background-repeat:
		no-repeat,
		no-repeat,
		no-repeat
		;
}


div.home-feature > div.wave-upper{
	position:relative;
}
div.home-feature > div.wave-upper > span{
	display:block;
	position:absolute;
	background-repeat:no-repeat;
	background-size:contain;
}
div.home-feature > div.wave-upper > span:nth-child(1){
	bottom:-65px;
	right:calc(50% + clamp(100px, 20vw, 220px));
	width:265px;
	height:265px;
	background-image:url(images/icons_decoration_10.png);
	background-position:bottom right;
	z-index:1;
}
div.home-feature > div.wave-upper > span:nth-child(2){
	top:-50px;
	right:calc(50% + clamp(400px, 50vw, 450px));
	width:100px;
	height:100px;
	background-image:url(images/icons_decoration_02.png);
	background-position:top center;
	z-index:-1;
}
div.home-feature > div.wave-upper > span:nth-child(3){
	top:-100px;
	right:calc(50% + clamp(15px, 2.5vw, 20px));
	width:240px;
	height:300px;
	background-image:url(images/icons_decoration_07.png);
	background-position:top center;
	z-index:-1;
}
div.home-feature > div.wave-upper > span:nth-child(4){
	top:-10px;
	left:calc(50% + clamp(250px, 20vw, 400px));
	width:310px;
	height:150px;
	background-image:url(images/icons_decoration_06.png);
	background-position:top center;
	z-index:1;
}




div.home-feature > div.wave-upper > div{
	width:100%;
	height:160px;
	background:var(--color-bg-03);
	clip-path:url(#clip_layer_wave_upper_01);
	transform:scaleY(1.01);
	transform-origin:top;
}

div.home-feature > div.wave-under{
	position:relative;
}
div.home-feature > div.wave-under > div{
	width:100%;
	height:100px;
	background:var(--color-bg-03);
	clip-path:url(#clip_layer_wave_under_01);
	transform:scaleY(1.01);
	transform-origin:top;
}






div.home-feature > div.wrap{
	background:var(--color-bg-03);
	padding:5.5em 0;
}
div.home-feature > div.wrap div.area{}
div.home-feature > div.wrap div.area > div.head{}
div.home-feature > div.wrap div.area > div.body{}
div.home-feature > div.wrap div.area > div.body > div.feature-lineup{}
div.home-feature > div.wrap div.area > div.body > div.feature-lineup ul.lineup{
	display:flex;
	justify-content:space-between;
}
div.home-feature > div.wrap div.area > div.body > div.feature-lineup ul.lineup > li{
	flex:0 0 23.5%;
	border-radius:25px;
	overflow:hidden;
}
div.home-feature > div.wrap div.area > div.body > div.feature-lineup ul.lineup > li > div.cover,
div.home-feature > div.wrap div.area > div.body > div.feature-lineup ul.lineup > li > div.text{
	display:flex;
	justify-content:center;
	align-items:center;
	aspect-ratio:1/1;
}
div.home-feature > div.wrap div.area > div.body > div.feature-lineup ul.lineup > li > div.cover{
	position:relative;
}
div.home-feature > div.wrap div.area > div.body > div.feature-lineup ul.lineup > li > div.cover::before{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.45);
}
div.home-feature > div.wrap div.area > div.body > div.feature-lineup ul.lineup > li > div.cover img{
	object-fit:cover;
	width:100%;
	height:100%;
}
div.home-feature > div.wrap div.area > div.body > div.feature-lineup ul.lineup > li > div.text{
	position:relative;
	padding:50% 1.5em 0 1.5em;
	margin-top:-100%;
}
div.home-feature > div.wrap div.area > div.body > div.feature-lineup ul.lineup > li > div.text p{
	color:#fff;
	font-size:16px;
	font-size:1.65rem;
	line-height:1.5;
	text-align:center;
}
div.home-feature > div.wrap div.area > div.body > div.feature-lineup ul.lineup > li > div.text p > span{
	display:block;
}
div.home-feature > div.wrap div.area > div.body > div.feature-lineup ul.lineup > li > div.text i{
	font-size:12px;
	font-size:1.2rem;
}
div.home-feature > div.wrap div.area > div.body > div.feature-list{
	text-align:center;
	margin-top:4.0em;
}
div.home-feature > div.wrap div.area > div.body > div.feature-list > div.list{
	display:inline-block;
}
div.home-feature > div.wrap div.area > div.body > div.feature-list > div.list ul.list{
	text-align:left;
}
div.home-feature > div.wrap div.area > div.more{
	position:relative;
	margin-top:4.0em;
}
div.home-feature > div.wrap div.area > div.more::before{
	content:"";
	display:block;
	position:absolute;
	top:25px;
	right:calc(50% + 250px);
	z-index:1;
	background-image:url(images/icons_decoration_02.png);
	background-position:top right;
	background-repeat:no-repeat;
	background-size:contain;
	width:115px;
	height:115px;
}

/* home-facility */

div.home-facility{
	position:relative;
}
div.home-facility > div.wrap{
	padding:5.5em 0;
}
div.home-facility > div.wrap div.area{}
div.home-facility > div.wrap div.area > div.head{}
div.home-facility > div.wrap div.area > div.body{}
div.home-facility > div.wrap div.area > div.body > div.facility-list{}
div.home-facility > div.wrap div.area > div.more{
	margin-top:4.0em;
}
div.home-facility::before,
div.home-facility::after{
	content:"";
	display:block;
	width:50%;
	height:900px;
	position:absolute;
	bottom:0;
	transform:translateY(100px);
	z-index:-1;
}
div.home-facility::before{
	left:0;
	background-image:
		url(images/icons_decoration_02.png),
		url(images/icons_decoration_08.png)
		;
	background-size:
		135px,
		285px
		;
	background-position:
		bottom 200px right 200px,
		bottom 50px right 600px
		;
	background-repeat:
		no-repeat,
		no-repeat
		;
}
div.home-facility::after{
	right:0;
	background-image:
		url(images/icons_decoration_06.png),
		url(images/icons_decoration_10.png),
		url(images/icons_decoration_02.png),
		url(images/icons_decoration_08.png)
		;
	background-size:
		335px,
		250px,
		100px,
		300px
		;
	background-position:
		bottom 20px left 150px,
		bottom 200px left 350px,
		bottom 300px left 250px,
		bottom 450px left 150px
		;
	background-repeat:
		no-repeat,
		no-repeat,
		no-repeat,
		no-repeat
		;
}

/* home-flow */

div.home-flow{
	position:relative;
}
div.home-flow > div.wave-upper{}
div.home-flow > div.wave-upper > div{
	width:100%;
	height:45px;
	background:var(--color-bg-01);
	clip-path:url(#clip_layer_wave_upper_02);
	transform:scaleY(1.05);
	transform-origin:top;
}
div.home-flow > div.wrap{
	background:var(--color-bg-01);
	padding:5.5em 0;
}
div.home-flow > div.wrap div.area{}
div.home-flow > div.wrap div.area > div.head{}
div.home-flow > div.wrap div.area > div.body{}
div.home-flow > div.wrap div.area > div.body > div.flow-list{}
div.home-flow > div.wrap div.area > div.body > div.flow-list ul.flow-list{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
div.home-flow > div.wrap div.area > div.body > div.flow-list ul.flow-list > li{
	position:relative;
	flex:0 0 calc((100% - (30px * 5)) / 6);
}
div.home-flow > div.wrap div.area > div.body > div.flow-list ul.flow-list > li + li::before{
	position:absolute;
	top:calc(50% - (40px / 2));
	left:-35px;
	width:40px;
	color:#999;
	font-size:40px;
	/* mingcute set */
	content:"\f1f9";
	font-family:'MingCute';
	font-style:normal;
	font-weight:normal;
	font-variant:normal;
	text-transform:none;
	line-height:1;
	speak:never;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	/**/
}
div.home-flow > div.wrap div.area > div.body > div.flow-list ul.flow-list > li > div{
	display:flex;
	flex-direction:column;
	align-items:center;
	aspect-ratio:1/1;
	background:var(--color-05);
	font-family:"M PLUS Rounded 1c", sans-serif;
	border-radius:50%;
}
div.home-flow > div.wrap div.area > div.body > div.flow-list ul.flow-list > li > div > i{
	flex:0 0 50%;
	display:flex;
	justify-content:center;
	align-items:flex-end;
	color:var(--color-06);
	font-size:5.0rem;
	font-weight:700;
	line-height:1.2;
}
div.home-flow > div.wrap div.area > div.body > div.flow-list ul.flow-list > li > div > p{
	display:flex;
	align-items:center;
	color:#fff;
	font-size:2.2rem;
	font-weight:500;
	line-height:1.2;
	height:30%;
}
div.home-flow > div.wrap div.area > div.closing{
	display:flex;
	justify-content:center;
	margin-top:3.5em;
}
div.home-flow > div.wrap div.area > div.closing > div{}
div.home-flow > div.wrap div.area > div.closing > div.lead{
	display:flex;
	align-items:center;
	padding:0 3.0em;
}
div.home-flow > div.wrap div.area > div.closing > div.contact{}
div.home-flow > div.wrap div.area > div.closing > div.lead > div.text{
	max-width:400px;
	margin-left:auto;
}
div.home-flow > div.wrap div.area > div.closing > div.lead > div.text p{
	font-weight:600;
}
div.home-flow > div.wrap div.area > div.closing > div.lead > div.text p > span{
	display:block;
}
div.home-flow > div.wrap div.area > div.closing div.about{
	text-align:center;
}
div.home-flow > div.wrap div.area > div.closing div.about p.tel{}
div.home-flow > div.wrap div.area > div.closing div.about p.tel a{
	display:inline-block;
	color:var(--color-03);
	font-size:3.5rem;
	font-weight:500;
	line-height:1.5;
}
div.home-flow > div.wrap div.area > div.closing div.about p.time{
	margin-top:0.5em;
}
div.home-flow > div.wrap div.area > div.closing div.about p.more{
	margin-top:1.0em;
}
div.home-flow::after{
	content:"";
	display:block;
	width:300px;
	height:250px;
	position:absolute;
	bottom:-100px;
	left:calc(50% + 450px);
	background-image:url(images/icons_decoration_04.png);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:top left;
	z-index:1;
}

/* home-news */

div.home-news{
	padding-top:50px;
}
div.home-news > div.wave-upper{
	position:relative;
	background:var(--color-bg-01);
	margin-top:-50px;
}
div.home-news > div.wave-upper > div{
	width:100%;
	height:50px;
	background:var(--color-bg-02);
	clip-path:url(#clip_layer_wave_upper_02);
	transform:scaleY(1.05);
	transform-origin:top;
}

div.home-news > div.wrap{
	background:var(--color-bg-02);
	padding:5.5em 0;
}
div.home-news div.area{
	display:flex;
	justify-content:space-between;
}
div.home-news div.area > div{
	flex:0 0 46.5%;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
div.home-news div.area div.head{}
div.home-news div.area div.head > i{
	display:flex;
	justify-content:center;
	align-items:center;
	height:65px;
}
div.home-news div.area div.head > i img{
	display:block;
	margin:0 auto;
}
div.home-news div.area > div.information div.head > i img{
	height:50px;
}
div.home-news div.area > div.instagram div.head > i img{
	height:40px;
}
div.home-news div.area div.head > h2{
	font-size:1.35rem;
	font-weight:500;
	letter-spacing:0.05em;
	text-align:center;
}
div.home-news div.area div.upper > div.body{
	margin-top:2.5em;
}
div.home-news div.area div.bottom > div.button{
	text-align:center;
	margin-top:2.5em;
}
div.home-news div.area div.information-list{}
div.home-news div.area div.information-list > ul{
	border-top:2px solid #333;
}
div.home-news div.area div.information-list > ul > li{
	border-bottom:1px dotted #333;
}
div.home-news div.area div.information-list > ul > li > a{
	display:flex;
	color:#000;
	font-size:1.5rem;
	padding:2.0em 1.5em;
}
div.home-news div.area div.information-list > ul > li > a > span.date{
	flex-shrink:0;
	margin-right:1.5em;
}
div.home-news div.area div.information-list > ul > li > a > p{}
div.home-news div.area > div.information{}
div.home-news div.area > div.information > div.upper{}
div.home-news div.area > div.information > div.upper > div.head{}
div.home-news div.area > div.information > div.upper > div.body{}
div.home-news div.area > div.information > div.upper > div.body div.information-list{}
div.home-news div.area > div.information > div.upper > div.bottom{}
div.home-news div.area > div.information > div.bottom{}
div.home-news div.area > div.information > div.bottom > div.button{}
div.home-news div.area > div.instagram{}
div.home-news div.area > div.instagram > div.upper{}
div.home-news div.area > div.instagram > div.upper > div.head{}
div.home-news div.area > div.instagram > div.upper > div.body{}
div.home-news div.area > div.instagram > div.upper > div.body p.instagram{
	display:flex;
	justify-content:center;
	align-items:center;
	background:#fff;
	height:520px;
}
div.home-news div.area > div.instagram > div.bottom{}
div.home-news div.area > div.instagram > div.bottom > div.button{}




/*******************************
/* include
 * include-facility-list-01
 * include-facility-list-02
*******************************/

/* include-facility-list-01 */

div.include-facility-list-01{}
div.include-facility-list-01 > ul.facility-list{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:3.5em 0;
}
div.include-facility-list-01 > ul.facility-list > li{
	flex:0 0 48%;
}
div.include-facility-list-01 > ul.facility-list > li.facility-01{}
div.include-facility-list-01 > ul.facility-list > li.facility-02{}
div.include-facility-list-01 > ul.facility-list > li.facility-03{}
div.include-facility-list-01 > ul.facility-list > li.facility-04{}
div.include-facility-list-01 > ul.facility-list > li.facility-withk{
	display:none;
}
body.home div.include-facility-list-01 > ul.facility-list > li.facility-withk{
	display:block;
}
div.include-facility-list-01 > ul.facility-list > li div.cover{
	border-radius:20px;
	aspect-ratio:6/4;
	overflow:hidden;
}
div.include-facility-list-01 > ul.facility-list > li div.cover a{
	position:relative;
	display:flex;
	align-items:flex-end;
}
div.include-facility-list-01 > ul.facility-list > li div.cover img{
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.0);
	transition:all 0.5s;
}
div.include-facility-list-01 > ul.facility-list > li div.cover a:hover img{
	transform:scale(1.2);
}
div.include-facility-list-01 > ul.facility-list > li div.cover p.name{
	position:absolute;
	left:0;
	bottom:0;
	display:inline-flex;
	align-items:center;
	background:#fff;
	font-family:"M PLUS Rounded 1c", sans-serif;
	font-size:2.0rem;
	font-weight:500;
	border-radius:0 25px 0 0;
	padding:0.65em 1.25em 0.8em 1.25em;
}
div.include-facility-list-01 > ul.facility-list > li div.cover p.name > span{}
div.include-facility-list-01 > ul.facility-list > li div.cover p.name > i{
	font-size:120%;
	margin-left:0.5em;
}
div.include-facility-list-01 > ul.facility-list > li div.state{
	margin-top:1.5em;
}
div.include-facility-list-01 > ul.facility-list > li div.state > dl{
	display:flex;
	background:#fff;
	font-weight:500;
	border:1px solid var(--color-04);
	border-radius:999px;
	overflow:hidden;
	padding-right:2.0em;
}
div.include-facility-list-01 > ul.facility-list > li div.state > dl > dt,
div.include-facility-list-01 > ul.facility-list > li div.state > dl > dd{
	text-align:center;
	padding:0.5em 0.5em;
}
div.include-facility-list-01 > ul.facility-list > li div.state > dl > dt{
	display:flex;
	justify-content:center;
	align-items:center;
	min-width:8.8em;
	background:var(--color-04);
	color:#fff;
	font-size:1.9rem;
	border-radius:0 999px 999px 0;
}
div.include-facility-list-01 > ul.facility-list > li div.state > dl > dd{
	flex-grow:1;
	font-size:1.8rem;
	padding-left:1.0em;
}
div.include-facility-list-01 > ul.facility-list > li div.state > dl > dd p{}
div.include-facility-list-01 > ul.facility-list > li div.state > dl > dd p.vacancy-not{}
div.include-facility-list-01 > ul.facility-list > li div.state > dl > dd p.vacancy-can{
	color:var(--color-02);
}
div.include-facility-list-01 > ul.facility-list > li div.summary{
	display:none;
	padding:1.0em 4.0em;
}
body:not(.home) div.include-facility-list-01 > ul.facility-list > li div.summary{
	display:block;
}
div.include-facility-list-01 > ul.facility-list > li div.summary ul.summary{
	padding-left:2.25rem;
}
div.include-facility-list-01 > ul.facility-list > li div.summary ul.summary > li{}
div.include-facility-list-01 > ul.facility-list > li div.summary ul.summary > li.address{
	display:flex;
	align-items:center;
}
div.include-facility-list-01 > ul.facility-list > li div.summary ul.summary > li.address::before{
	/* mingcute set */
	content:"\efd2";
	font-family:'MingCute';
	font-style:normal;
	font-weight:normal;
	font-variant:normal;
	text-transform:none;
	line-height:1;
	speak:never;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	/**/
	color:var(--color-02);
	font-size:115%;
	width:2.25rem;
	margin-left:-2.25rem;
}
div.include-facility-list-01 > ul.facility-list > li div.more{
	display:none;
	margin-top:0.5em;
}
body:not(.home) div.include-facility-list-01 > ul.facility-list > li div.more{
	display:block;
}
div.include-facility-list-01 > ul.facility-list > li div.more p.more.type-01 > a{
	background:var(--color-07);
}
div.include-facility-list-01 > ul.facility-list > li.facility-01 div.cover a{color:var(--color-b-01);}
div.include-facility-list-01 > ul.facility-list > li.facility-02 div.cover a{color:var(--color-b-02);}
div.include-facility-list-01 > ul.facility-list > li.facility-03 div.cover a{color:var(--color-b-03);}
div.include-facility-list-01 > ul.facility-list > li.facility-04 div.cover a{color:var(--color-b-04);}
div.include-facility-list-01 > ul.facility-list > li.facility-withk div.cover a{color:var(--color-b-00);}

/* include-facility-list-02 */

div.theme-include-facility-list-02{}
body.company div.theme-include-facility-list-02{
	padding-top:6.5em;
}
div.include-facility-list-02{
	position:relative;
	z-index:5;
	padding:2.5em 0 0 0;
}
div.include-facility-list-02 > ul.facility-list{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
div.include-facility-list-02 > ul.facility-list > li{
	flex:0 0 23.5%;
}
div.include-facility-list-02 > ul.facility-list > li div.cover{}
div.include-facility-list-02 > ul.facility-list > li div.cover > a{
	display:block;
	border-radius:15px;
	aspect-ratio:6/4;
	overflow:hidden;
}
div.include-facility-list-02 > ul.facility-list > li div.cover > a > img{
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.0);
	transition:all 0.5s;
}
div.include-facility-list-02 > ul.facility-list > li div.cover > a:hover > img{
	transform:scale(1.2);
}
div.include-facility-list-02 > ul.facility-list > li div.name{
	margin-top:0.85em;
}
div.include-facility-list-02 > ul.facility-list > li div.name > p.name{}
div.include-facility-list-02 > ul.facility-list > li div.name > p.name > a{
	display:inline-flex;
	align-items:center;
	color:#000;
	font-size:15px;
	font-size:1.55rem;
	font-weight:600;
	line-height:1.5;
}
div.include-facility-list-02 > ul.facility-list > li div.name > p.name > a > span{}
div.include-facility-list-02 > ul.facility-list > li div.name > p.name > a > i{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-shrink:0;
	width:2.2em;
	height:2.2em;
	background:var(--color-05);
	color:#fff;
	border-radius:50%;
	margin-left:0.5em;
}






/*******************************
/* page
*******************************/


/*******************************
/* page-facility
*******************************/

div.page-facility{}
div.page-facility div.facility-header{}


/* facility-withk */

div.page-facility div.facility-withk{}
div.page-facility div.facility-withk > div.head{}
div.page-facility div.facility-withk > div.body{}
div.page-facility div.facility-withk > div.body > div.block{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
div.page-facility div.facility-withk > div.body > div.block > div.photos{
	flex:0 0 30%;
	order:2;
}
div.page-facility div.facility-withk > div.body > div.block > div.photos > div{}
div.page-facility div.facility-withk > div.body > div.block > div.photos > div + div{
	margin-top:1.5em;
}
div.page-facility div.facility-withk > div.body > div.block > div.explanation{
	flex:0 0 70%;
	order:1;
	padding:0 2.5em;
}
div.page-facility div.facility-withk > div.body > div.block > div.explanation dl.explanation{}
div.page-facility div.facility-withk > div.body > div.block > div.explanation dl.explanation dt{}
div.page-facility div.facility-withk > div.body > div.block > div.explanation dl.explanation dd{
	padding:0 0 2.5em 55px;
}
div.page-facility div.facility-withk > div.body > div.block > div.explanation dl.explanation dd p{}
div.page-facility div.facility-withk > div.body > div.block > div.explanation dl.explanation dd p > span{
	display:block;
}
div.page-facility div.facility-withk > div.body > div.block > div.explanation dl.explanation dd p + p{
	margin-top:1.0em;
}
div.page-facility div.facility-withk > div.body > div.block > div.others{
	flex:0 0 calc(100% - ((2.5em + 55px) * 2 ));
	order:3;
	border-top:1px solid #ddd;
	padding:2.5em 0;
	margin:0 auto;
}
div.page-facility div.facility-withk > div.structure{}
div.page-facility div.facility-withk > div.structure > div.announce{
	background:var(--color-bg-02);
	width:90%;
	border-radius:15px;
	padding:3.0em 5.5% 4.0em 5.5%;
	margin:0 auto;
}
div.page-facility div.facility-withk > div.structure > div.announce p{}
div.page-facility div.facility-withk > div.structure > div.announce p + p{
	margin-top:1.0em;
}
div.page-facility div.facility-withk > div.structure > div.announce > div + div{
	margin-top:1.0em;
}
div.page-facility div.facility-withk > div.structure > div.announce > div.title{}
div.page-facility div.facility-withk > div.structure > div.announce > div.lead{}
div.page-facility div.facility-withk > div.structure > div.announce > div.body{}
div.page-facility div.facility-withk > div.structure > div.announce > div.body ul{
	margin:1.0em auto;
}
div.page-facility div.facility-list{
	padding:2.5em 0 2.5em 0;
}
div.page-facility div.facility-pamphlet{
	padding:2.5em 0 2.5em 0;
}


/*******************************
/* page-service
*******************************/

div.page-service{}
div.page-service div.service-header{}
div.page-service div.service-about{
	max-width:600px;
	margin:0 auto;
}
div.page-service div.service-about dl.service-about{}
div.page-service div.service-about dl.service-about > dt{}
div.page-service div.service-about dl.service-about > dd{}
div.page-service div.service-about dl.service-about > dd p{}
div.page-service div.service-about dl.service-about > dd ul{
	margin-top:1.5em;
}

/* service-flow */

div.page-service div.service-flow{
	padding:5.5em 0 0 0;
}
div.page-service div.service-flow > div.head{}
div.page-service div.service-flow > div.body{
	max-width:800px;
	margin:0 auto;
}
div.page-service div.service-flow div.include-pamphlet-button{
	margin-top:4.0em;
}


/*******************************
/* page-concept
*******************************/

div.page-concept{}
div.page-concept div.concept-header{}

/* concept-summary */

div.page-concept div.concept-summary{}
div.page-concept div.concept-summary > div.block{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
div.page-concept div.concept-summary > div.block + div.block{
	margin-top:3.0em;
}
div.page-concept div.concept-summary > div.block > div{
	flex:0 0 49%;
}
div.page-concept div.concept-summary > div.block > div.images{
	order:2;
}
div.page-concept div.concept-summary > div.block > div.images img{
	border-radius:10px;
}
div.page-concept div.concept-summary > div.block > div.body{
	order:1;
	padding:1.2em 2.5em;
}
div.page-concept div.concept-summary > div.block > div.body > div{}
div.page-concept div.concept-summary > div.block > div.body > div + div{
	margin-top:1.5em;
}
div.page-concept div.concept-summary > div.block > div.body > div.head{}
div.page-concept div.concept-summary > div.block > div.body > div.text{}
div.page-concept div.concept-summary > div.block > div.body > div.text p{
	line-height:2.0;
}
div.page-concept div.concept-summary > div.block > div.body > div.text p + p{
	margin-top:1.0em;
}
div.page-concept div.concept-summary > div.block.reverse{}
div.page-concept div.concept-summary > div.block.reverse > div.images{order:1;}
div.page-concept div.concept-summary > div.block.reverse > div.body{order:2;}






/*******************************
/* page-company
*******************************/

div.page-company div.area{}
div.page-company div.area > div.block{}
div.page-company div.area > div.block + div.block{
	margin-top:6.5em;
}
div.page-company div.area > div.block > div.head{}
div.page-company div.area > div.block > div.body{
	max-width:800px;
	margin:0 auto;
}

/*******************************
/* page-contact
*******************************/

div.page-contact div.area{}
div.page-contact div.area > div.block{}
div.page-contact div.area > div.block + div.block{
	margin-top:6.5em;
}
div.page-contact div.area > div.block > div.head{}
div.page-contact div.area > div.block > div.body{
	max-width:800px;
	margin:0 auto;
}

/*******************************
/* tmp-facility-detail
*******************************/

div.tmp-facility-detail{
	padding:0 0 2.5em 0;
}
div.tmp-facility-detail div.facility-header{}

/* facility-about */

div.tmp-facility-detail div.facility-about{
	max-width:965px;
	margin:0 auto;
}
div.tmp-facility-detail div.facility-about > div.block{
	display:flex;
	justify-content:space-between;
}
div.tmp-facility-detail div.facility-about > div.block > div{
	flex:0 0 47.0%;
}
div.tmp-facility-detail div.facility-about > div.block > div.image{}
div.tmp-facility-detail div.facility-about > div.block > div.image img{
	border-radius:15px;
}
div.tmp-facility-detail div.facility-about > div.block > div.body{}

div.tmp-facility-detail div.facility-about > div.block > div.body > div.summary{}
div.tmp-facility-detail div.facility-about > div.block > div.body > div.summary p{
	font-size:1.8rem;
	line-height:1.65;
}
div.tmp-facility-detail div.facility-about > div.block > div.body > div.summary p + p{
	margin-top:0.5em;
}
div.tmp-facility-detail div.facility-about > div.block > div.body > div.state{
	margin-top:2.0em;
}
div.tmp-facility-detail div.facility-about > div.block > div.body > div.state > dl{
	display:flex;
	background:#fff;
	font-weight:500;
	border:1px solid var(--color-04);
	border-radius:999px;
	overflow:hidden;
	padding-right:2.0em;
}
div.tmp-facility-detail div.facility-about > div.block > div.body > div.state > dl > dt,
div.tmp-facility-detail div.facility-about > div.block > div.body > div.state > dl > dd{
	text-align:center;
	padding:0.5em 0.5em;
}
div.tmp-facility-detail div.facility-about > div.block > div.body > div.state > dl > dt{
	display:flex;
	justify-content:center;
	align-items:center;
	min-width:8.8em;
	background:var(--color-04);
	color:#fff;
	font-size:1.9rem;
	border-radius:0 999px 999px 0;
}
div.tmp-facility-detail div.facility-about > div.block > div.body > div.state > dl > dd{
	flex-grow:1;
	font-size:1.8rem;
	padding-left:1.0em;
}
div.tmp-facility-detail div.facility-about > div.block > div.body > div.state > dl > dd p{}
div.tmp-facility-detail div.facility-about > div.block > div.body > div.state > dl > dd p.vacancy-not{}
div.tmp-facility-detail div.facility-about > div.block > div.body > div.state > dl > dd p.vacancy-can{
	color:var(--color-02);
}


/* facility-price */

div.tmp-facility-detail div.facility-price{
	padding:5.5em 0 0 0;
}
div.tmp-facility-detail div.facility-price > div.head{}
div.tmp-facility-detail div.facility-price > div.body{
	max-width:880px;
	margin:0 auto;
}
div.tmp-facility-detail div.facility-price > div.body dl.type-02{}
div.tmp-facility-detail div.facility-price > div.body dl.type-02 > div{}
div.tmp-facility-detail div.facility-price > div.body dl.type-02 > div > dt,
div.tmp-facility-detail div.facility-price > div.body dl.type-02 > div > dd{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	min-height:4.5em;
}
div.tmp-facility-detail div.facility-price > div.body dl.type-02 > div > dt{
	justify-content:center;
}
div.tmp-facility-detail div.facility-price > div.body dl.type-02 > div > dd{
	font-size:1.65rem;
}
div.tmp-facility-detail div.facility-price > div.body dl.type-02 > div > dd > *{
	flex:0 0 100%;
}
div.tmp-facility-detail div.facility-price > div.others{
	max-width:880px;
	margin:1.5em auto 0 auto;
}

/* facility-gallery */

div.tmp-facility-detail div.facility-gallery{
	margin-top:5.5em;
}
div.tmp-facility-detail div.facility-gallery:first-child{
	margin-top:0;
}
div.tmp-facility-detail div.facility-gallery > div.head{}
div.tmp-facility-detail div.facility-gallery > div.head div.module-head-01{
	margin-bottom:2.0em;
}
div.tmp-facility-detail div.facility-gallery > div.head div.module-head-01 > div.title + div.text{
	margin-top:1.0em;
}
div.tmp-facility-detail div.facility-gallery > div.body{}

/* facility-slider */

div.tmp-facility-detail div.facility-slider{
	margin-top:5.5em;
}
div.tmp-facility-detail div.facility-slider:first-child{
	margin-top:0;
}
div.tmp-facility-detail div.facility-slider > div.head{}
div.tmp-facility-detail div.facility-slider > div.head div.module-head-01{
	margin-bottom:2.0em;
}
div.tmp-facility-detail div.facility-slider > div.body{}

/* facility-access */

div.tmp-facility-detail div.facility-access{
	margin-top:5.5em;
}
div.tmp-facility-detail div.facility-access:first-child{
	margin-top:0;
}
div.tmp-facility-detail div.facility-access > div.head{}
div.tmp-facility-detail div.facility-access > div.head div.module-head-01{
	margin-bottom:2.0em;
}
div.tmp-facility-detail div.facility-access > div.body{
	max-width:765px;
	margin:0 auto;
}
div.tmp-facility-detail div.facility-access > div.body > div.google-map{
	border:5px solid #f5f5f5;
	line-height:0;
}
div.tmp-facility-detail div.facility-access > div.body > div.google-map iframe{
	width:100%;
	height:500px;
}
div.tmp-facility-detail div.facility-access > div.body > div.about{
	margin-top:1.5em;
}
div.tmp-facility-detail div.facility-access > div.body > div.about div.name{}
div.tmp-facility-detail div.facility-access > div.body > div.about div.name p{
	font-family:"M PLUS Rounded 1c", sans-serif;
	font-size:2.5rem;
	font-weight:500;
}
div.tmp-facility-detail div.facility-access > div.body > div.about div.others{
	margin-top:0.5em;
}
div.tmp-facility-detail div.facility-access > div.body > div.about div.others p{
	font-size:1.85rem;
}
div.tmp-facility-detail div.facility-access > div.body > div.about div.others p > span{
	display:inline-block;
}
div.tmp-facility-detail div.facility-access > div.body > div.about div.others p > span + span{
	margin-left:1.0em;
}
div.tmp-facility-detail div.facility-access > div.body > div.about div.others p + p{
	margin-top:0.5em;
}

/* facility-include-pamphlet-button */

div.tmp-facility-detail div.facility-include-pamphlet-button{
	margin-top:6.5em;
}

/* #facility-detail-grid-gallery */

div.tmp-facility-detail #facility-detail-grid-gallery{
	max-width:1020px;
	margin:0 auto;
}
div.tmp-facility-detail #facility-detail-grid-gallery > div.gallery{}
div.tmp-facility-detail #facility-detail-grid-gallery > div.gallery ul.gallery{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:2.5em 1.5%;
}
div.tmp-facility-detail #facility-detail-grid-gallery > div.gallery ul.gallery > li{
	flex:0 0 calc((100% - (1.5% * 4)) / 5);
}
div.tmp-facility-detail #facility-detail-grid-gallery > div.gallery ul.gallery > li div.photos{}
div.tmp-facility-detail #facility-detail-grid-gallery > div.gallery ul.gallery > li div.photos a{
	display:block;
	aspect-ratio:1/1;
}
div.tmp-facility-detail #facility-detail-grid-gallery > div.gallery ul.gallery > li div.photos a > img{
	display:block;
	object-fit:cover;
	width:100%;
	height:100%;
}
div.tmp-facility-detail #facility-detail-grid-gallery > div.gallery ul.gallery > li div.comment{
	margin-top:0.5em;
}
div.tmp-facility-detail #facility-detail-grid-gallery > div.gallery ul.gallery > li div.comment p{
	font-size:1.5rem;
	line-height:1.8;
	text-align:center;
}

/* #facility-detail-slid-gallery */

div.tmp-facility-detail #facility-detail-slid-gallery{
	position:relative;
	max-width:800px;
	background:var(--color-bg-04);
	border-radius:15px;
	padding:2.5em 1.0em 4.5em 1.0em;
	margin:0 auto;
}
div.tmp-facility-detail #facility-detail-slid-gallery div.swiper{}
div.tmp-facility-detail #facility-detail-slid-gallery div.swiper-wrapper{}
div.tmp-facility-detail #facility-detail-slid-gallery div.swiper-slide{
	padding:0 2.5em;
}
div.tmp-facility-detail #facility-detail-slid-gallery div.swiper-slide > div.photos{
	position:relative;
	overflow:hidden;
	height:490px;
	display:flex;
	justify-content:center;
	align-items:flex-start;
}
div.tmp-facility-detail #facility-detail-slid-gallery div.swiper-slide > div.photos img{
	object-fit:cover;
	max-width:none;
	max-height:100%;
	align-self:center;
}
div.tmp-facility-detail #facility-detail-slid-gallery div.swiper-slide > div.comment{
	width:80%;
	margin:1.0em auto 0 auto;
}
div.tmp-facility-detail #facility-detail-slid-gallery div.swiper-slide > div.comment p{
	font-size:1.5rem;
	line-height:1.8;
	text-align:center;
}
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-pagination{
	bottom:1.5em;
}
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-pagination-bullet{
	background:var(--color-07);
	width:12px;
	height:12px;
}
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-pagination-bullet-active{}
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-pagination-bullet:only-child{
	display:inline-block !important;
}
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-button-prev,
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-button-next{
	top:calc((490px / 2) + 2.5em);
	background:var(--color-07);
	width:35px;
	height:35px;
	border-radius:50%;
	opacity:0.65;
	transition:all 0.3s;
}
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-button-prev:hover,
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-button-next:hover{
	opacity:1;
}
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-button-prev{
	left:20px;
}
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-button-next{
	right:20px;
}
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-button-prev::after,
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-button-next::after{
	color:#fff;
	font-size:15px;
	font-weight:bold;
	line-height:1;
}
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-button-prev::after{
	margin-right:3px;
}
div.tmp-facility-detail #facility-detail-slid-gallery .swiper-button-next::after{
	margin-left:3px;
}


/*******************************
/* single.php
 * theme-single
*******************************/

/*******************************
/* archive.php
 * theme-archive
*******************************/

/*******************************
/* search.php
 * theme-search
*******************************/

/*******************************
/* box
*******************************/
img.aligncenter{
	display:block;
	margin:0 auto;
}
img.alignright{
	display:inline-block;
	padding:0.6em;
	margin:0 0 0.8em 1.6em;
}
img.alignleft{
	display:inline-block;
	padding:0.6em;
	margin:0 1.6em 0.8em 0;
}
.alignright{float:right;}
.alignleft{float:left;}

/*******************************
/* dl
 * dl.type-01
 * dl.type-02
*******************************/

/* dl.type-01 */

dl.type-01{
	border-bottom:1px solid #333;
}
dl.type-01 > div{
	display:flex;
	border-top:1px solid #333;
}
dl.type-01 > div > dt,
dl.type-01 > div > dd{
	padding:2.2rem 1.65em;
}
dl.type-01 > div > dt{
	flex:0 0 40%;
	background:#ebfff5;
	font-family:"M PLUS Rounded 1c", sans-serif;
	font-size:2.0rem;
	font-weight:600;
	line-height:1.25;
	text-align:center;
}
dl.type-01 > div > dd{
	flex:0 0 60%;
}
dl.type-01 > div > dd > p{}
dl.type-01 > div > dd > p + p{
	margin-top:1.0em;
}

/* dl.type-02 */

dl.type-02{
	border-bottom:1px dashed var(--color-01);
}
dl.type-02 > div{
	display:flex;
	align-items:center;
	border-top:1px dashed var(--color-01);
}
dl.type-02 > div > dt,
dl.type-02 > div > dd{
	padding:2.2rem 1.65em;
}
dl.type-02 > div > dt{
	flex:0 0 35%;
	font-family:"M PLUS Rounded 1c", sans-serif;
	font-size:2.0rem;
	font-weight:600;
	line-height:1.25;
}
dl.type-02 > div > dd{
	flex:0 0 65%;
}
dl.type-02 > div > dd > p{}
dl.type-02 > div > dd > p + p{
	margin-top:0.5em;
}


/*******************************
/* ul
*******************************/

ul.decimal-01,
ul.disc-01,
ul.upper-roman-01,
ul.upper-alpha-01{
	padding-left:2em;
}
ul.decimal-01 > li + li,
ul.disc-01 > li + li,
ul.upper-roman-01 > li + li,
ul.upper-alpha-01 > li + li{
	margin-top:0.15em;
}
/* 数字(1,2,3,4...) */
ul.decimal-01 > li{
	list-style:decimal;
}
/* 黒丸ポチ */
ul.disc-01 > li{
	list-style:disc;
}
/* ローマ数字(大文字) */
ul.upper-roman-01 > li{
	list-style-type:upper-roman;
}
/* アルファベット(大文字) */
ul.upper-alpha-01 > li{
	list-style-type:upper-alpha;
}
/* ※ */
ul.asterisk-01{
	margin-left:1.5em;
}
ul.asterisk-01 > li{
	list-style-type:none;
}
ul.asterisk-01 > li + li{
	margin-top:0.15em;
}
ul.asterisk-01 > li:before{
	display:inline-block;
	content:'※';
	width:1.5em;
	margin-left:-1.5em;
}

/*******************************
/* form
*******************************/

input,
textarea{
    border:1px solid #ddd;
	border-radius:4px;
    padding:0.8em 0.8em;
}
input:focus,
textarea:focus{
	outline:0;
	border-color:rgba(0,0,0,0.1);
	box-shadow:0 0 0 0.14em rgba(0,0,0,0.06);
}
select{
	border:1px solid #ddd;
	border-radius:4px;
	padding:0.8em 0.8em;
	margin:0 0.4em;
}
select:focus{
	outline:0;
	border-color:rgba(0,0,0,0.1);
	box-shadow:0 0 0 0.14em rgba(0,0,0,0.06);
}
input[type=button],
input[type=submit]{
	-webkit-appearance:none;
	cursor:pointer;
	background:#eee;
	color:#000;
	font-weight:normal;
	border-color:rgba(0,0,0,0.1);
	padding:0.8em 1.8em;
}

/*******************************
/* wp-pagenavi
*******************************/

.wp-pagenavi{
	clear:both;
	text-align:center;
	font-size:13px;
	font-size:1.3rem;
	padding-top:6.2em;
}
.wp-pagenavi a,
.wp-pagenavi span{
	display:inline-block;
	background:#f5f5f5;
	color:#000;
	text-align:center;
	text-decoration:none;
	white-space:nowrap;
	border-radius:3px;
	padding:0.4em 1.2em;
	margin:0 0.2em 0.8em 0.2em;
}
.wp-pagenavi a:hover{
	color:#fff;
	background:#000;
}
.wp-pagenavi span.current{
	color:#fff;
	background:#000;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.wp-pagenavi{
		clear:both;
		text-align:center;
		font-size:13px;
		font-size:1.3rem;
		padding-top:2.2em;
	}
	.wp-pagenavi a,
	.wp-pagenavi span{
		display:inline-block;
		text-align:center;
		text-decoration:none;
		white-space:nowrap;
		border-radius:3px;
		padding:0.4em 1.2em;
		margin:0 0.2em 0.8em 0.2em;
	}
	.wp-pagenavi a:hover{}
	.wp-pagenavi span.current{}
}

/*******************************
/* scrollTop
*******************************/

.scrollTop{
	position:fixed;
	right:35px;
	bottom:30px;
	opacity:0;
	visibility:hidden;
	transition:all 0.4s ease-in-out 0s;
	z-index:99999;
}
.scrollTop a{
	display:block;
	width:45px;
	height:45px;
	background:var(--color-04);
	border-radius:50%;
}
.scrollTop a:after{
	position:absolute;
	display:block;
	content:'';
	margin-left:17px;
	margin-top:20px;
	width:10px;
	height:10px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:rotate(-45deg);
	transition:all 0.3s;
}
.scrollTop a:hover{
	opacity:0.6;
}
@media screen and (max-width: 767px){
/* mobile -------------------------------------------------------------------------------------------- */
	.scrollTop{
		right:0.8em;
		bottom:0.8em;
	}
	.scrollTop a{
		width:34px;
		height:34px;
	}
	.scrollTop a:after{
		margin-left:12px;
		margin-top:14px;
		width:8px;
		height:8px;
	}
}
