@charset "utf-8";

body {
/* min-width: 1080px;
overflow: hidden; */
font-family: 'Noto Sans JP', sans-serif;
font-size:14px;
}

.min{font-family: 'Noto Serif JP', serif;}

#contents{
line-height:1.7;
color:#333;
/* overflow:hidden; */
}

.anker {
    padding-top: 130px;
    margin-top:-130px;
}


/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
body {
width: 100%;
/* overflow: hidden; */
}

}

/*
-----------------------------------------------
 TAB SP
----------------------------------------------- */
@media screen and (max-width: 768px) {
body {
width: 100%;
/* overflow: hidden; */
}

}



/*
-----------------------------------------------
PC用ナビゲーション
----------------------------------------------- */
.main-navi{
position:absolute;
top:10px;
right:495px;
z-index:100;
}

.navi{
position:relative;
z-index:100;
}

.navi > li{
display:inline-block;
position:relative;
margin-left:0px;
}

.navi > li > a{
display:block;
margin:5px 7px;
color:#444;
font-size:15px;
padding-bottom:2px;
}


.navi > li > a:hover{
text-decoration:none;
border-bottom:solid 2px #ffbc05 !important;
}


/* ドロップダウンメニュー */
.navi li ul{
  list-style: none;
  position: absolute !important;
  z-index: 200;
  top: 105%;
  margin: 0;
  padding: 0;
}

.sub-ul01{
left:0px;
width:110px;
}

.sub-ul02{
left:24px;
width:110px;
}

.navi li ul li{
  width: 100%;
}
.navi li ul li a{
  padding: 10px 8px;
  border-bottom: 1px solid #ccc;
  background-color: rgba(216,214,213,0.8);
  text-align: center;
  text-decoration:none;
  display:block;
  color:#333;
  font-size:14px;
}

.navi ul li a:hover{
  background-color: rgba(93,166,212,0.9);
  color:#fff;
}

.navi li ul li{
  overflow: hidden;
  height: 0;
  transition: .2s;
}
.navi li:hover ul li{
  overflow: visible;
  height: 42px;
}

.navi-span{
font-size:1.2rem;
margin-right:6px;
vertical-align:middle;
}

.navi li a:hover{
color:#999;
}

.sub-navi{
width:100%;
border-top:solid 1px #ccc;
border-bottom:solid 1px #ccc;
text-align:center;
}



.sub li{
display:inline-block;
}

.sub{
position:relative;
z-index:100;
}

.sub li{
display:inline-block;
position:relative;
margin-left:0px;
}

.sub li a{
display:block;
padding:5px 5px;
line-height:1.01;
color:#444;
font-size:13px;
margin:4px 0;
}


.sub li a:hover{
text-decoration:none;
background-color: rgba(0,162,139,0.4);
}


/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){

.navi > li > a{
display:block;
margin:5px 7px;
color:#444;
font-size:14px;
padding-bottom:2px;
}
}



/*
-----------------------------------------------
TAB用ナビゲーション
----------------------------------------------- */
@media screen and (max-width: 768px) {

.drawer-hamburger {
  position: fixed;
  z-index: 100000;
  top: 0;
  display: block;
  box-sizing: content-box;
  width: 2.8rem;
  padding: 0;
  padding-top: 10px;
  padding-right: 1.0rem;
  padding-bottom: 22px;
  padding-left: 1.0rem;
  -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  outline: 0;
  /*   background:rgba(236,182,0,1); */
  margin:15px 15px 0 0;
}

.fixed {
    overflow: auto;
    height: 100%;
}

.drawer-open #contents{
}
.drawer-menu-item{
font-size:1.3rem;
}

.drawer-in .hb01,
.drawer-in .hb02{
width:45%;
margin:10px 0;
}

.drawer-in .hb01 a,
.drawer-in .hb02 a{
display:block;
text-align:center;
padding:0.3rem 0;
}

.drawer-dropdown-menu-item{
font-size:1.7rem !important;
padding:0.6em 0 0.6em 2em !important;
line-height:1.0 !important;
}
.logo-btn{
padding-top:5px;
padding-bottom:20px;
text-align:center;
}
.logo-btn img{
width:139px;
height:auto;
}

/* ハンバーガーメニューのMENUの文字 */
.nav-menu{
position:absolute;
top:68%;
left:6px;
font-size:1rem;
color:#fff;
}
}




/*
-----------------------------------------------
SP用ナビゲーション
----------------------------------------------- */
@media screen and (max-width: 767px) {

.drawer-hamburger {
  position: fixed;
  z-index: 100000;
  top: 0;
  display: block;
  box-sizing: content-box;
  width: 2.8rem;
  padding: 0;
  padding-top: 10px;
  padding-right: 1.0rem;
  padding-bottom: 22px;
  padding-left: 1.0rem;
  -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  outline: 0;
  /*   background:rgba(236,182,0,1); */
  margin:7px 7px 0 0;
}

.fixed {
    overflow: auto;
    height: 100%;
}

.drawer-open #contents{
}
.drawer-menu-item{
font-size:1.3rem;
}

.drawer-in .hb01,
.drawer-in .hb02{
width:45%;
margin:10px 0;
}

.drawer-in .hb01 a,
.drawer-in .hb02 a{
display:block;
text-align:center;
padding:0.3rem 0;
}

.drawer-dropdown-menu-item{
font-size:1.7rem !important;
padding:0.6em 0 0.6em 2em !important;
line-height:1.0 !important;
}
.logo-btn{
padding-top:5px;
padding-bottom:20px;
text-align:center;
}
.logo-btn img{
width:139px;
height:auto;
}

/* ハンバーガーメニューのMENUの文字 */
.nav-menu{
position:absolute;
top:68%;
left:6px;
font-size:1rem;
color:#fff;
}
}





/*
-----------------------------------------------
ヘッダ
----------------------------------------------- */
#head-in{
border-top:solid 5px #00a28b;
width:100%;
position:fixed;
background:rgba(255,255,255,0.9);
z-index:1000;
}

/* 
#head-box{
width:1000px;
position:relative;
margin-left:auto;
margin-right:auto;
z-index:1000;
} */

header{
font-family: 'Noto Serif JP', serif;
width:100%;
position:static;
z-index:100;
top: 0; 
left: 0;
right: 0;
}

header h1{
position:relative;
width:222px;
z-index:1000;
padding-top:17px;
margin-left:20px;
padding-bottom:17px;
}

header h1 img{
z-index:1000;
width:100%;
height:auto;
}

.head-ic{
position:absolute;
top:10px;
right:180px;
}
.head-ic li{
display:inline-block;
vertical-align:top;
margin-left:10px;
}

.head-ic li a{
font-size:14px;
text-align:center;
display:block;
width:144px;
padding:5px 0;
}

.head-ic li a:hover{
text-decoration:none;
}

.hb01 a{
color:#666;
background-color: rgba(251,237,86,1);
}

.hb01 a:hover{
background-color: rgba(251,237,86,0.7);
}

.hb02 a{
color:#fff;
background-color: rgba(0,162,139,1);
}

.hb02 a:hover{
background-color: rgba(0,162,139,0.7);
}




.cp-logo{
position:absolute;
top:7px;
right:30px;
}



/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
.main-navi{
top:15px;
right:423px;
}

.head-ic{
position:absolute;
top:15px;
right:180px;
}

.head-ic li a{
font-size:14px;
text-align:center;
display:block;
width:8em;
padding:5px 0;
}

}

/*
-----------------------------------------------
ヘッダ　TAB
----------------------------------------------- */
@media screen and (max-width: 768px) {
header h1{
position:relative;
width:186px;
z-index:1000;
padding-top:13px;
margin-left:20px;
padding-bottom:15px;
}

header h1 img{
z-index:1000;
width:auto;
height:40px;
}

#head-in{
border-bottom:solid 1px #ccc;
}

.navi,
.head-ic,
.sub-navi,
.cp-logo{
display:none;
}

}


/*
-----------------------------------------------
ヘッダ　SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
#head-in{
border-bottom:solid 1px #ccc;
}

.navi,
.head-ic,
.sub-navi,
.cp-logo{
display:none;
}

header{
padding-bottom:48px;
}

header h1{
position:relative;
width:150px;
margin-top:14px;
padding:0;
margin-bottom:0px;
padding-bottom:15px;
}

header h1 img{
width:100%;
height:auto;
}
}

/*
-----------------------------------------------
コンテンツ幅
----------------------------------------------- */
#wrap{
padding-top:106px;
}

.in-box01{
position:relative;
width:1000px;
margin-left:auto;
margin-right:auto;
}


/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
.in-box01,
.in-box02,
.in-box03,
.in-box04,
.in-box05{
width:100%;
padding-left:30px;
padding-right:30px;
}



}

/*
-----------------------------------------------
コンテンツ幅 TAB
----------------------------------------------- */
@media screen and (max-width: 768px) {
.in-box01,
.in-box02,
.in-box03,
.in-box04,
.in-box05{
width:100%;
padding-left:30px;
padding-right:30px;
}

#wrap{
padding-top:70px;
}

}

/*
-----------------------------------------------
コンテンツ幅 SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
.in-box01,
.in-box02,
.in-box03,
.in-box04,
.in-box05{
width:100%;
padding-left:15px;
padding-right:15px;
}

#wrap{
padding-top:10px;
}
}


/*
-----------------------------------------------
FLEX
----------------------------------------------- */
.container01{
display:flex;
flex-wrap:wrap;
}

.container02{
display:flex;
flex-wrap:nowrap;
}

.container03{
display:flex;
flex-wrap:wrap-reverse;
}

.al-item01{
align-items:flex-end
}

.c-type01{
justify-content:space-between;
}

.c-type02{
justify-content:space-around;
}

.c-type03{
justify-content:flex-start;
}

.c-type04{
justify-content:center;
}


/*
-----------------------------------------------
見出し
----------------------------------------------- */
.h-type01{
font-family: 'Noto Serif JP', serif;
font-size:26px;
padding-left:12px;
letter-spacing:1px;
margin-bottom:24px;
}

.h-type01 span{
font-size:22px;
display:block;
}

.suma{
color:#00a28b;
border-left:solid 5px #00a28b;
}


.h-type02{
font-family: 'Noto Serif JP', serif;
font-size:20px;
letter-spacing:1px;
margin-bottom:4px;
color:#663366;
}

.h-type03{
font-family: 'Noto Serif JP', serif;
font-size:24px;
letter-spacing:1px;
margin-bottom:8px;
color:#666;
font-weight:700;
}

.h-type03 span{
font-size:20px;
display:block;
}

.h-type04{
font-family: 'Noto Serif JP', serif;
font-size:18px;
letter-spacing:1px;
margin-bottom:7px;
color:#666;
font-weight:700;
}

#train:before{
  content: '';
  display: inline-block;
  width: 32px;
  height: 32px;
  background-image: url(../img_suma/train.jpg);
  background-size: contain;
  vertical-align: middle;
  margin-right:10px;
}

#car:before{
  content: '';
  display: inline-block;
  width: 32px;
  height: 32px;
  background-image: url(../img_suma/car.jpg);
  background-size: contain;
  vertical-align: middle;
  margin-right:10px;
}


/*
-----------------------------------------------
見出し SP
----------------------------------------------- */
@media screen and (max-width: 767px) {


.h-type01{
font-family: 'Noto Serif JP', serif;
font-size:20px;
padding-left:12px;
letter-spacing:1px;
margin-bottom:12px;
}

.h-type01 span{
font-size:17px;
display:block;
}

.h-type02{
font-size:17px;
letter-spacing:1px;
margin-bottom:4px;
}

.h-type03{
font-size:18px;
letter-spacing:0px;
margin-bottom:8px;
}

}



/*
-----------------------------------------------
あいさつ
----------------------------------------------- */
.message-img{
/*width:470px;*/
	width: 100%;
	padding-left: 20%;
	padding-right: 20%;
}

.message-txt{
/*width:490px;*/
width: 100%;
line-height:1.8;
padding-bottom: 2em;
}

.message-txt p{
margin-bottom:10px;
}
@media screen and (max-width: 1024px){
	.message-img{
		padding-left: 5%;
		padding-right: 5%;
	}
}
@media screen and (max-width: 767px){
	.message-img{
		padding-left: 0;
		padding-right: 0;
	}
}

/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
.message-img{
width:47%;
}

.message-txt{
width:49%;
}

}

/*
-----------------------------------------------
あいさつ TAB SP
----------------------------------------------- */
@media screen and (max-width: 768px) {
.message-txt,
.message-img{
width:100%;
}
}

/*
-----------------------------------------------
事業・サービス
----------------------------------------------- */
.service_box{
	font-family: 'Noto Serif JP', serif;
	margin-bottom: 45px;
}
.service_box h3{
	background-color: #00a28b;
	color: #fff;
	text-align: center;
	font-size: 16px;
	padding-top: 0.4em;
	padding-bottom: 0.4em;
}
.service_box ul li a{
	color: #333333;
	font-size: 15px;
	line-height: 2.2em;
	position: relative;
	padding-left: 1.2em;
}
.service_box ul{
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(5, auto);
	grid-template-columns: 50% 50%;
	background-color: #f5f5f2;
	padding-left: 4em;
	padding-right: 4em;
	padding-top: 20px;
	padding-bottom: 30px;
}
.service_box ul li a::before{
	position: absolute;
	content: "・";
	top: -25%;;
	left: 0;
}
.service_box p{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px;
	margin-top: 0.3em;
	font-weight: 700;
}
@media screen and (max-width: 767px){
	.service_box ul{
		grid-auto-flow: row;
		grid-template-columns: 100%;
	}
}
@media screen and (max-width: 500px){
	.service_box ul{
		padding-left: 1.5em;
	}
}
/*
-----------------------------------------------
事業案内
----------------------------------------------- */
.jigyo-txt{
width:48%;
margin-bottom:30px;
}

.jigyo-txt p{
font-weight:400 !important;
line-height:1.7;
}

.sub-info{
color:#fff;
font-size:13px;
display:inline-block;
padding:0.3em 1em;
background:#663366;
}

/*
-----------------------------------------------
事業案内 SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
.jigyo-txt{
width:100%;
margin-bottom:25px;
}
}

/*
-----------------------------------------------
施設紹介
----------------------------------------------- */
.shisetsu-box{
margin-bottom:50px;
}

.shisetsu-txt{
width:46%;
}

.shisetsu-img{
width:50%;
}


.shisetsu-txt p{
font-weight:400 !important;
line-height:1.7;
}

.shisetsu-box .bx-pager{
margin-top:-15px !important;
}

.spcl-info{
background:#f0daf5;
padding:10px;
margin-bottom:10px;
display:inline-block;
}

.spcl-info02{
font-size:13px;
background:#f0daf5;
padding:5px 10px;
margin-bottom:5px;
margin-top:5px;
display:inline-block;
}


/*
-----------------------------------------------
施設紹介 SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
.shisetsu-txt{
width:100%;
}

.shisetsu-img{
width:100%;
margin-bottom:15px;
}

.shisetsu-box{
margin-bottom:30px;
}

}


/*
-----------------------------------------------
ギャラリー
----------------------------------------------- */
/* .small-img{
width:220px;
margin-right:40px;
margin-bottom:40px;
} */

.small-img{
width:22.4%;
margin-right:3.4%;
margin-bottom:30px;
}

.small-img a:hover img {
opacity:0.7;
}

.small-img:nth-child(4n){
margin-right:0px;
}
.ttl_icon{
	display: flex;
	align-items: baseline;
	column-gap: 1%;
}

/*
-----------------------------------------------
ギャラリー SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
.small-img{
width:48%;
margin-right:4%;
margin-bottom:20px;
}

.small-img:nth-child(2n){
margin-right:0px;
}

}


/*
-----------------------------------------------
交通
----------------------------------------------- */
.access-info{
width:48%;
}

.access-txt{
width:48%;
}
.access-img{
width:259px;
}

.access-info-txt{
width:200px;
}

.tel-nbr{
font-size:18px;
color:#666;
font-weight:700;
font-family: 'Noto Serif JP', serif;
margin:15px 0;
}

.map-btn{
display:inline-block;
}

.map-btn a{
background-color: rgba(0,162,139,1);
color:#fff;
font-family: 'Noto Serif JP', serif;
display:block;
padding:4px 25px;
}

.map-btn a:hover{
background-color: rgba(0,162,139,0.7);
text-decoration:none;
}

.fika-btn{
display:inline-block;
margin-top:8px;
}

.fika-btn a{
background-color: rgba(70,159,212,1);
color:#fff;
font-family: 'Noto Serif JP', serif;
display:block;
padding:4px 4px;
}

.fika-btn a:hover{
background-color: rgba(70,159,212,0.7);
text-decoration:none;
}

.shisetsu-txt .fika-btn a{
padding:6px 12px !important;
}


.tel-box{
color:#666;
background:#e3e4e5;
padding:24px 60px 12px 60px;
}

.tel-box dl{
width:48%;
margin-bottom:12px;
}

.tel-box dt{
font-weight:500;
font-size:16px;
}

.tel-box dd{
font-size:15px;
}

.dotte-btm{
border-bottom:dotted 1px #999;
padding-bottom:50px;
}

.sns{
display:inline-block;
vertical-alIgn:middle;
}


a .my-glay{
color:#777;
}

a .my-glay:hover{
color:#999;
}

.my-glay{
font-size:2.2em;
}



/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
.message-img{
/*width:47%;*/
width: 100%;
}

.message-txt{
/*width:49%;*/
width: 100%;
}

.access-img{
width:46%;
}

.access-info-txt{
width:50%;
}

}

/*
-----------------------------------------------
アクセス TAB
----------------------------------------------- */
@media screen and (max-width: 768px) {

.tel-box{
padding:24px 24px 12px 24px;
}

}




/*
-----------------------------------------------
アクセス SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
.access-info{
width:100%;

}

.access-txt{
width:100%;
}

.access-img{
width:100%;
margin-bottom:10px;
}

.access-info-txt{
width:100%;
margin-bottom:24px;
}

.tel-box{
padding:15px;
}


.tel-box dl{
width:100%;
margin-bottom:10px;
}

.tel-box dt{
font-weight:500;
font-size:16px;
}

.tel-box dd{
font-size:15px;
}

.dotte-btm{
padding-bottom:5px;
}

}




/*
-----------------------------------------------
フッター
----------------------------------------------- */
footer{
padding-top:20px;
margin-top:40px;
background-image:url(../img/bg.png);
}

.footer-cr{
padding:8px 8px 10px 8px;
border-top:solid 1px #ccc;
}

.footer-cr p{
text-align:center;
}

.foot-address{
font-size:15px;
}

.foot-logo{
display:inline-block;
width:222px;
padding-bottom:5px;
}

.foot-logo img{
width:100%;
height:auto;
}

.foot-left{
width:50%;
}

.foot-right{
width:50%;
 text-align:right;
}


.foot-right p{
font-size:20px;
}


/*
-----------------------------------------------
フッター　SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
footer{
padding-top:20px;
}

.foot-logo{
display:block;
width:150px;
padding-bottom:5px;
}

.foot-address{
font-size:15px;
margin-bottom:20px;
}


.footer-cr{
font-size:1.2rem;
}


.foot-left{
width:100%;
}

.foot-right{
width:100%;
 text-align:left;
}

}


.drawer-hamburger {
background:rgba(0,162,139,1);
}
