@charset "UTF-8";

/* contents
   ========================================================= */
.contents{
	/*padding-bottom: 80px;
	border-bottom: 20px solid #00b4b4;*/
}
@media screen and (max-width: 768px) {
.contents{
	/*padding-bottom: 40px;
	border-bottom: 10px solid #00b4b4;*/
}
}

.contents h5.line{
	font-family: "gotham", 'Roboto', "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
	font-size: min(2.4rem, 24px);
	color:#00b4b4;
	text-align:left;
	padding-top: 18px;
	position:relative;
	letter-spacing: 0;
}
@media screen and (max-width:768px){
.contents h5.line{
	font-size: 1.6rem;
}
}

.contents h5.line:after{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:1px;
	background:#00b4b4;
}

.contents h5 span{
	font-size: min(1.4rem, 14px);
	display: block;
	color:#000000;
	letter-spacing: 0;
}

.contents p.name{
	font-size: min(1.6rem, 16px);
	font-weight: 700;
	color: #00b4b4;
	text-align: left;
	margin-top: 10px;
}
@media screen and (max-width:768px){
.contents p.name{
	font-size: 1.4rem;
}
}

.contents p.name span{
	font-size: min(1.0rem, 10px);
	font-weight: 400;
	color: #000000;
}

.contents p.time{
	font-size: min(1.4rem, 14px);
	text-align: left;
	margin-bottom: 10px;
}
@media screen and (max-width:768px){
.contents p.time{
	font-size: 1.2rem;
}
}


.contents p.caption{
	font-size: min(1.4rem, 14px);
	text-align: left;
}
@media screen and (max-width:768px){
.contents p.caption{
	font-size: 1.2rem;
}
}

.contents p.caption span{
	display: block;
	font-size: min(1.0rem, 10px);
}

.contents p.line{
	font-size: min(1.6rem, 16px);
	font-weight: 700;
	color:#00b4b4;
	text-align:left;
	padding-bottom: 18px;
	margin-bottom: 18px;
	position:relative;
	letter-spacing: 0;
}
.contents p.line.sht{
	letter-spacing: -0.05em;
}

@media screen and (max-width:768px){
.contents p.line{
	font-size: 1.4rem;
}
.contents p.line.sht{
	letter-spacing: 0em;
}
}

.contents p.line:after{
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:1px;
	background:#00b4b4;
}

.contents p.detail{
	font-size: min(1.2rem, 12px);
	text-align: left;
	line-height: 1.4;
}
@media screen and (max-width:768px){
.contents p.detail{
	font-size: 1.1rem;
}
}

.contents h5.eng{
	font-family: "gotham", 'Roboto', "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
	font-size: min(2.4rem, 24px);
	color:#00b4b4;
	text-align:center;
	position:relative;
	letter-spacing: 0;
}
@media screen and (max-width:768px){
.contents h5.eng{
	font-size: 1.6rem;
}
}


/* IntroWrap
   ========================================================= */
.IntroWrap {
	margin-bottom: 80px;
}
@media screen and (max-width:768px){
.IntroWrap {
	margin-bottom: 40px;
}
}

.IntroWrap h3.ttl{
	margin-bottom: 60px;
}
@media screen and (max-width:768px){
.IntroWrap h3.ttl{
	margin-bottom: 40px;
}
}

.IntroWrap h4.ttl{
	margin-bottom: 60px;
	letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
.IntroWrap h4.ttl{
	margin-bottom: 30px;
	letter-spacing: 0em;
}
}

.IntroWrap p.lead{
	text-align: center;
	font-size: min(1.8rem, 18px);
	line-height: 1.6;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
.IntroWrap p.lead{
	text-align: justify;
	font-size: 1.4rem;
}
}

.design-obi{
	width: 100%;
	position: relative;
}


/* AccWrap
   ========================================================= */
.AccWrap {
	margin-bottom: 60px;
}
@media screen and (max-width:768px){
.AccWrap {
	margin-bottom: 30px;
}
}

.loc-wrap{
	max-width: 1000px;
	margin: 0 auto 60px;
	display: grid;
	grid-template-columns: 26% 70%;
	column-gap: 4%;
	align-items: flex-start;
}
@media screen and (max-width:768px){
.loc-wrap{
	margin:0 auto 30px;
	grid-template-columns: 100%;
}
.loc-wrap .ttl{
	margin-bottom: 20px;
}
	
}

/* col3-wrap
   ========================================================= */
.col3-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between; 
}
@media screen and (max-width: 768px) {
.col3-wrap{
	
}
}

.col3-wrap .item{
	width: 31.5%
}
@media screen and (max-width: 768px) {
.col3-wrap .item{
	width: 48%;
	margin-bottom: 40px;
}
.col3-wrap .item:last-child{
	margin-bottom: 0px;
}
}


/* park */

.park{
	/*display: grid;
	grid-template-columns: 55% 42%;
	column-gap: 3%;
	align-items: flex-start;*/
	display: flex;
	gap: 3%;
	align-items: flex-start;
	margin-bottom: 30px;
}
@media screen and (max-width:768px){
.park{
	/*grid-template-columns: 100%;*/
	flex-direction: column;
		gap: 20px;
}
}

.contents .park .item-1 {
	flex: 0 0 55%;
}
@media screen and (max-width:768px){
.contents .park .item-1 {
	flex: 0 0 100%;
}
}

.contents .park .item-2 {
	flex: 0 0 42%;
}
@media screen and (max-width:768px){
.contents .park .item-2 {
	flex: 0 0 100%;
}
}

.contents .park .item-2 p.name{
	margin-top: 0;
}

.contents .park .item-2 img{
	margin-top: 10px;
}

.design-obi{
	width: 100%;
}


/* medi */

.medi{
	/*display: grid;
	grid-template-columns: 55% 42%;
	column-gap: 3%;
	align-items: flex-start;*/
	display: flex;
	gap: 3%;
	align-items: flex-start;
	margin-bottom: 30px;
}
@media screen and (max-width:768px){
.medi{
	/*grid-template-columns: 100%;*/
	flex-direction: column;
		gap: 20px;
}
}

.contents .medi .item-1 {
	flex: 0 0 32%;
}
@media screen and (max-width:768px){
.contents .medi .item-1 {
	flex: 0 0 100%;
}
}

.contents .medi .item-2 {
	flex: 0 0 65%;
}
@media screen and (max-width:768px){
.contents .medi .item-2 {
	flex: 0 0 100%;
}
}


/* acc-well */

.acc-well{
	/*max-width: 1000px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 38% 57%;
	column-gap: 5%;
	align-items: flex-start;*/
	display: flex;
	gap: 2%;
	align-items: flex-start;
	margin-top: 80px;
}
@media screen and (max-width:768px){
.acc-well{
	/*flex-direction: column;
		gap: 30px;*/
	margin-top: 40px;
}
}

.acc-well.hos-1{
	margin-top: 40px;
}
@media screen and (max-width:768px){
.acc-well.hos-1{
	margin-top: 30px;
	flex-direction: column;
		gap: 20px;
}
.acc-well.hos-1 .item{
gap: 0px;
}
}

.acc-well.hos-2{
	margin-top: 40px;
	margin-bottom: 80px;
}
@media screen and (max-width:768px){
.acc-well.hos-2{
	margin-top: 20px;
	margin-bottom: 40px;
}
}

.acc-well .item{
	flex: 0 0 49%;
	display: flex;
	flex-wrap: wrap;
	gap: 2%;
	align-items: flex-start;
}
@media screen and (max-width: 768px) {
.acc-well .item{
	flex-direction: column;
		gap: 20px;
}
}
.acc-well .item .txt{
	flex: 0 0 43%;
}

.acc-well .item .pht{
	flex: 0 0 55%;
}

@media screen and (max-width: 768px) {
.acc-well .item .pht{
	margin-top: auto;
}
}
	
/* FaciWrap
   ========================================================= */
.FaciWrap{
	position: relative;
	background-color: #F8F6F5;
	margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
.FaciWrap{
	margin-bottom: 40px;
}
}

.FaciWrap .inner{
	padding-top: 80px;
	padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
.FaciWrap .inner{
	padding-top: 40px;
	padding-bottom: 40px;
}
}

.FaciWrap p.lead{
	text-align: center;
	font-size: min(2.4rem, 24px);
	font-weight: 700;
	line-height: 1.9;
	margin-bottom: 20px;
	color:#00b4b4;
}
@media screen and (max-width:768px){
.FaciWrap p.lead{
	font-size: 1.6rem;
}
}

.facilities{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between; 
	margin-top: 40px;
}
@media screen and (max-width: 768px) {
.facilities{
	margin-top: 20px;
}
}

.facilities li{
	width: 48%;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
	
@media screen and (max-width: 768px) {
.facilities li{
	width: 100%;
	margin: 10px 0;
}
}

.hos-icon{
	position: absolute;
	right: 40px;
	bottom: -30px;
}
@media screen and (max-width: 768px) {
.hos-icon{
	position: absolute;
	right: 10px;
	bottom: -20px;
}
}


/* MapWrap
   ========================================================= */
.MapWrap{
	position: relative;
	background-color: #00b4b4;
	padding-top: 40px;
	padding-bottom: 80px;
}
.MapWrap::before{
	position: absolute;
	content:'';
	top: 0;
	left: 0;
	width: 100%;
	height: 40%;
	background-color: #FFFFFF;
}

@media screen and (max-width: 768px) {
.MapWrap{
	padding-top: 20px;
	padding-bottom: 40px;
}
.MapWrap::before{
	height: 20%;
}
}

.MapWrap .inner{
	position: relative;
	z-index: 3;
}
@media screen and (max-width: 768px) {
.MapWrap .inner{
	padding: 0 15px;
}
}

.InfoWrap{
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
	padding: 60px 30px;
	background-color: #FFFFFF;
}
@media screen and (max-width: 768px) {
.InfoWrap{
	padding: 30px 15px;
	background-color: #FFFFFF;
}
}

.lifeinfo{
	max-width: 1000px;
	margin: 60px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background-color: #FFFFFF;
}
@media screen and (max-width: 768px) {
.lifeinfo{
	margin: 20px auto 0;
}
}

.lifeinfo li{
	width: 48%;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
	
@media screen and (max-width: 768px) {
.lifeinfo li{
	width: 100%;
	margin: 5px 0;
}
}
