/*!  02_base
================================================ */

html {
	overflow: auto
}
body {
	position: relative;
	min-width: 320px;
	line-height: 1.7;
	overflow: hidden;
	color: #171523;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	font-size: 13px;
	letter-spacing: .03em
}
@media all and (min-width: 600px) {
	body {
		min-width: 1100px;
		line-height: 1.8;
		font-size: 15px
	}
}
* {
	box-sizing: border-box
}
img {
	width: 100%;
	height: auto
}
.cf:after {
	display: block;
	clear: both;
	content: ""
}
.viewPc {
	display: none
}
.jf {
	font-family: 'Josefin Sans', sans-serif
}
@media all and (min-width: 600px) {
	.auto {
		width: 1100px;
		margin: 0 auto
	}
	.viewSp {
		display: none
	}
	.viewPc {
		display: block
	}
	.alpha {
		-webkit-transition: opacity .3s ease;
		transition: opacity .3s ease
	}
	.alpha:hover {
		opacity: .7
	}
}
#wrapper {
	padding-bottom: 70px
}
.colorBlue {
	color: #00adf3
}
.colorLightBlue {
	color: #54c4f1
}
.colorOrange {
	color: #ef7a00
}
.colorGreen {
	color: #90c31f
}
.colorGray {
	color: #888
}
.bold {
	font-weight: 700
}
/*!  #gHeader
================================================ */

#gHeader {
	position: relative;
	padding: 6px 20px 6px 10px
}
#gHeader .logo {
	float: left;
	width: 114px;
	padding-top: 4px
}
#gHeader .hdInfo {
	float: right;
	width: 44px
}
#gHeader .hdInfo .menu {
	width: 45px;
	height: 45px;
	background: url(../img/common/header/btn_menu01.png) 0 0 no-repeat;
	background-size: contain
}
#gHeader .hdInfo .menu.open {
	background: url(../img/common/header/btn_menu02.png) 0 0 no-repeat;
	background-size: contain
}



@media all and (min-width: 600px) {
	#gHeader {
		width: 1100px;
		margin: 0 auto;
		padding: 0
	}
	#gHeader .logo {
		float: left;
		width: 200px;
		padding-top: 24px
	}
	#gHeader .hdInfo {
		float: right;
		width: 576px
	}
	#gHeader .hdInfo .info {
		float: left;
		/*width:156px;*/
		padding-top: 17px
	}
	#gHeader .hdInfo .info li {
		float: left;
		width: 75px;
		height: 75px;
		line-height: 1.3;
		padding-top: 23px;
		border: 2px solid #65caf2;
		border-radius: 50%;
		color: #54c4f1;
		font-weight: bold;
		font-size: 1.2rem;
		text-align: center;
		letter-spacing: .05em
	}
	#gHeader .hdInfo .info li+li {
		margin-left: 6px
	}
	#gHeader .hdInfo .contact {
		float: left;
		width: 230px;
		margin-left: 24px;
		padding-top: 17px
	}
	#gHeader .hdInfo .contact .title01 {
		margin-bottom: 5px;
		font-weight: bold;
		font-size: 1.3rem;
		letter-spacing: .05em
	}
	#gHeader .hdInfo .contact .num {
		line-height: 1;
		margin-bottom: 5px;
		padding-left: 40px;
		background: url(../img/common/header/ico_tel01.png) 0 50% no-repeat;
		font-weight: bold;
		font-size: 2.5rem;
		letter-spacing: .025em;
	}
	#gHeader .hdInfo .contact .time {
		font-size: 1.5rem;
		letter-spacing: 0;
		position: relative;
		padding-left: 1.9em;
	}
	#gHeader .hdInfo .contact .time small{
		font-size: 1.3rem;
    	line-height: 1.85em;
	}
	#gHeader .hdInfo .contact .time::before{
		content: "";
		margin: auto;
		background: url(../img/common/tel-mark.svg) no-repeat 0 0/contain;
		width: 21px;
		height: 21px;
		background-size: contain;
		position: absolute;
		left: 0;
		top: 1%;
		bottom: 0;
	}
	#gHeader .hdInfo .btn {
		float: right;
		width: 81px
	}
}
/*!  #gNav
================================================ */

#gNav {
	display: none;
	position: absolute;
	top: 57px;
	left: 0;
	z-index: 10;
	width: 100%
}
#gNav .mod_contact_box01 .mod_tel_btn01 {
	margin-bottom: 10px
}
#gNav .hdNav {
	background-color: #fff
}
#gNav .hdNav li {
	border-bottom: 1px solid #d1d1d1;
	color: #171523
}
#gNav .hdNav li a {
	display: block;
	padding: 13px 10px 12px 25px;
	background: url(../img/common/ico_arw01.png) 10px 50% no-repeat;
	background-size: 8px auto;
	color: #171523;
	font-weight: normal;
	font-size: 1.2rem;
	text-decoration: none;
	text-align: left
}
#gNav .hdNav li .subNav {
	z-index: 10;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}
#gNav .hdNav li .subNav li {
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
	box-sizing: border-box
}
#gNav .hdNav li .subNav li:nth-child(odd) {
	border-right: 1px solid #d1d1d1
}
#gNav .hdNav li .subNav li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
	background: url(../img/common/ico_arw02.png) 10px 50% no-repeat;
	background-color: #f6f6f4;
	background-size: 8px auto
}
#gNav .hdNav li.fl {
	float: left;
	width: 50%
}
#gNav .hdNav li.fl:nth-child(odd) {
	border-right: 1px solid #d1d1d1
}
#gNav .hdNav li span {
	display: block
}
#gNav .hdNav li.home a {
	width: 100%;
	color: #90c31f;
	font-weight: bold
}
#gNav .hdNav li.slideDown02 {
	border-bottom: none
}
#gNav .hdNav li.slideDown03 {
	border-bottom: none
}
#gNav .hdNav li.slideDown01 {
	border-bottom: 0
}
#gNav .hdNav li .bold {
	width: 100%;
	padding: 7px 0;
	border-bottom: 1px solid #d1d1d1;
	font-weight: bold;
	text-align: center
}
#gNav .hdNav>:last-child {
	border-bottom: none
}
#gNav .closeWrap {
	padding: 15px 0 20px;
	background-color: #54c4f1
}
#gNav .closeWrap .close {
	width: 200px;
	margin: 0 auto;
	padding: 8px 0;
	border: 1px solid #fff;
	border-radius: 3px;
	background: url(../img/common/ico_close01.png) 15px 50% no-repeat;
	background-size: 15px;
	color: #fff;
	font-weight: 600;
	font-size: 1.3rem;
	text-align: center;
	letter-spacing: .1em
}
@media all and (min-width: 600px) {
	#gNav {
		display: block;
		position: static;
		width: 1100px;
		margin: 14px auto 0
	}
	#gNav .hdNav>li>a {
		font-weight: 500
	}
	#gNav .hdNav li {
		position: relative;
		float: left;
		width: 157px;
		line-height: 1.5;
		padding-bottom: 24px;
		border-bottom: none;
		color: #171523;
		font-size: 1.6rem
	}
	#gNav .hdNav li:hover:after {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		width: 118px;
		height: 4px;
		margin: auto;
		background-color: #54c4f1;
		content: ""
	}
	#gNav .hdNav li a {
		padding: 0;
		border-right: 1px dotted #aaa9a9;
		background: none;
		color: #171523;
		font-size: 0.88em;
		text-align: center
	}
	#gNav .hdNav li .subNav {
		display: block;
		position: absolute;
		top: 45px;
		left: 0;
		width: 157px;
		background-color: rgba(203, 239, 254, 0.95)
	}
	#gNav .hdNav li .subNav li {
		float: none;
		width: 100%;
		padding-bottom: 0;
		border-right: none
	}
	#gNav .hdNav li .subNav li:nth-child(odd) {
		border-right: none
	}
	#gNav .hdNav li .subNav li a {
		display: block;
		padding: 15px 0;
		height: auto;
		border-right: none;
		background: url(../img/common/ico_arw02.png) 90% 50% no-repeat;
		background-color: none;
		background-size: 7px auto;
		font-size: 1.3rem
	}
	#gNav .hdNav li .subNav li a:hover {
		text-decoration: underline
	}
	#gNav .hdNav li .subNav li:hover:after {
		content: none
	}
	#gNav .hdNav li.fl {
		width: 157px;
		line-height: 1.5
	}
	#gNav .hdNav li.fl:nth-child(even) {
		border: none
	}
	#gNav .hdNav li.home a {
		border-left: 1px dotted #aaa9a9;
		color: #171523;
		font-weight: normal
	}
	#gNav .hdNav li.slideDown01 {
		border-bottom: none
	}
	#gNav .hdNav li .bold {
		padding: 0;
		border-right: 1px dotted #aaa9a9;
		border-bottom: none;
		font-weight: 500;
		cursor: pointer;
		font-size: 0.88em;
	}
}
#js-overlay {
	display: none;
	position: absolute;
	top: 57px;
	left: 0;
	z-index: 5;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.8)
}
/*!  #mainImg TOP 下層ページ
================================================ */

/*!  #mainimg
================================================ */

#mainimg {
	padding: 25px 0 15px;
	background-size: cover
}
#mainimg .mainBox {
	position: relative;
	width: 175px;
	margin-bottom: 28px;
	padding: 20px 14px 25px;
	background-color: rgba(255, 255, 255, 0.85)
}
#mainimg .mainBox .maintit {
	line-height: 2;
	margin-bottom: 15px;
	font-size: 1.5rem;
	letter-spacing: .3em
}
#mainimg .mainBox .maintit span {
	display: inline-block;
	position: relative;
	font-weight: 500
}
#mainimg .mainBox .maintit span:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #54c4f1;
	content: ""
}
#mainimg .mainBox .subtit {
	line-height: 2;
	font-size: 1.0rem;
	letter-spacing: .1em;
	font-weight: 500
}
#mainimg .mainBox .subtit span {
	font-weight: 700
}
#mainimg .mainBox .mascot {
	position: absolute;
	top: 45px;
	right: -15px;
	width: 53px
}
#mainimg .info {
	margin-left: 10px
}
#mainimg .info li {
	float: left;
	width: 70px;
	height: 70px;
	line-height: 1.3;
	padding-top: 20px;
	border: 2px solid #54c4f1;
	border-radius: 50%;
	background-color: #fff;
	color: #54c4f1;
	font-weight: bold;
	font-size: 1.1rem;
	text-align: center;
	letter-spacing: .05em
}
#mainimg .info li+li {
	margin-left: 4px
}

@media all and (min-width: 600px) {
	#mainimg {
		position: relative;
		width: 1100px;
		margin: 0 auto;
		padding: 215px 0 190px 80px;
		background-size: cover
	}
	#mainimg .mainBox {
		position: relative;
		width: 415px;
		margin-bottom: 0;
		padding: 45px 0 67px 60px
	}
	#mainimg .mainBox .maintit {
		line-height: 1.5;
		margin-bottom: 25px;
		font-size: 3.4rem
	}
	#mainimg .mainBox .maintit br {
		display: none
	}
	#mainimg .mainBox .maintit span {
		padding-bottom: 3px
	}
	#mainimg .mainBox .maintit span:after {
		height: 3px
	}
	#mainimg .mainBox .subtit {
		font-size: 1.8rem
	}
	#mainimg .mainBox .mascot {
		top: auto;
		bottom: -45px;
		right: -30px;
		width: 156px;
		-webkit-animation: mascotAnime 1.5s ease-in;
		animation: mascotAnime 1.5s ease-in
	}
}
@-webkit-keyframes mascotAnime {
	0% {
		opacity: 0;
		-webkit-transform: translateX(2000px);
		transform: translateX(2000px)
	}
	95% {
		opacity: 1;
		-webkit-transform: translateX(-30px);
		transform: translateX(-30px)
	}
	98% {
		opacity: 1;
		-webkit-transform: translateX(10px);
		transform: translateX(10px)
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}
}
@keyframes mascotAnime {
	0% {
		opacity: 0;
		-webkit-transform: translateX(2000px);
		transform: translateX(2000px)
	}
	95% {
		opacity: 1;
		-webkit-transform: translateX(-30px);
		transform: translateX(-30px)
	}
	98% {
		opacity: 1;
		-webkit-transform: translateX(10px);
		transform: translateX(10px)
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}
}
#titPage {
	position: relative;
	height: 130px;
	padding-top: 90px;
	background: no-repeat 50% 0 / cover
}
#titPage .mainBox {
	position: absolute;
	right: 0;
	left: 0;
	width: 275px;
	margin: auto;
	padding: 4px;
	background-color: #fff;
	text-align: center
}
#titPage .mainBox .mainBoxIn {
	padding: 14px 0;
	border: 1px solid #55c4f1
}
#titPage .mainBox .mainBoxIn .subtit {
	color: #54c4f1;
	font-weight: bold;
	font-size: 1.0rem;
	letter-spacing: .1em
}
#titPage .mainBox .mainBoxIn .maintit {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: .3em
}


@media all and (min-width: 600px) {
	#titPage {
		height: 320px;
		padding-top: 240px
	}
	#titPage .mainBox {
		width: 550px
	}
	#titPage .mainBox .mainBoxIn {
		padding: 30px 0;
		border-width: 2px
	}
	#titPage .mainBox .mainBoxIn .subtit {
		font-size: 2.0rem
	}
	#titPage .mainBox .mainBoxIn .maintit {
		font-size: 3.0rem
	}
}
/*!  #breadcrumb
================================================ */

#breadcrumb {
	background-color: #f9f9f9
}
#breadcrumb ol {
	width: 1100px;
	overflow: hidden;
	margin: 0 auto;
	padding: 100px 0 70px;
	font-size: 0
}
#breadcrumb ol li {
	display: inline-block;
	line-height: 1.2;
	font-size: 1.2rem
}
#breadcrumb ol li+li {
	padding-left: 6px
}
#breadcrumb ol li+li:before {
	color: #d6d3d3;
	content: ">"
}
#breadcrumb ol li a {
	display: inline-block;
	color: #90c31f;
	text-decoration: none
}
#breadcrumb ol li a:hover {
	text-decoration: underline
}
/*!  #sidebar
================================================ */

/*!  #gFooter
================================================ */

#gFooter {
	position: relative;
	padding-bottom: 70px
}
#gFooter .pagetop {
	position: absolute;
	top: -45px;
	right: 0;
	bottom: 0;
	left: 0;
	width: 40px;
	margin: auto;
	z-index: 100;
}
#gFooter .mod_contact_box01 {
	background: #54c4f1 url(../img/common/footer/bg_ft_contact01.png) 0 0 no-repeat;
	background-size: 275px auto
}
#gFooter .mod_contact_box01 .mod_tel_btn01 {
	margin-bottom: 10px
}

@media all and (max-width: 599px) {	
#gFooter .pagetop {
display: none;
position: fixed;	
top: auto;
right: 2vw;	
bottom: 27.9vw;	
left: auto;	
width: 11.5vw;	
z-index: 100;
}	
}


@media all and (min-width: 600px) {
	#gFooter {
		padding-bottom: 0
	}
	#gFooter .pagetop {
		display: none;
		position: fixed;
		top: auto;
		right: 30px;
		bottom: 453px;
		left: auto;
		width: 60px;
		z-index: 100;
	}
	#gFooter .mod_contact_box01 {
		padding: 35px 0;
		background: #54c4f1 url(../img/common/footer/bg_ft_contact02.png) 0 50% no-repeat;
		background-size: cover
	}
	#gFooter .mod_contact_box01 .boxIn {
		display: table;
		width: 1100px;
		margin: 0 auto
	}
	#gFooter .mod_contact_box01 .title01 {
		float: left;
		width: 340px;
		margin-right: 30px;
		padding-top: 15px
	}
	#gFooter .mod_contact_box01 .mod_tel_btn01 {
		float: left;
		margin-bottom: 0
	}
	#gFooter .mod_contact_box01 .mod_contact_btn01 {
		float: right
	}
}
.ftNavWrap .info {
	padding: 0 15px
}
.ftNavWrap .info .logo {
	width: 114px;
	margin: 0 auto;
	padding: 15px 0
}
@media all and (min-width: 600px) {
	.ftNavWrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		padding: 40px 0
	}
	.ftNavWrap .info {
		-ms-flex-preferred-size: 350px;
		flex-basis: 350px;
		position: relative;
	}
	.ftNavWrap .info .logo {
		width: 200px;
		margin: 0 0 20px;
		padding: 0
	}
}
.ftNavList01, .ftNavList02 {
	background-color: #fff
}
.ftNavList01 li, .ftNavList02 li {
	border-bottom: 1px solid #d1d1d1;
	color: #171523
}
.ftNavList01 li a, .ftNavList02 li a {
	display: block;
	padding: 13px 10px 12px 25px;
	background: url(../img/common/ico_arw01.png) 10px 50% no-repeat;
	background-size: 8px auto;
	color: #171523;
	font-weight: normal;
	font-size: 1.2rem;
	text-decoration: none;
	text-align: left
}
@media all and (max-width: 599px) {
	.ftNavList01 li .subNav, .ftNavList02 li .subNav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between
	}
	.ftNavList01 li .subNav li, .ftNavList02 li .subNav li {
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%
	}
	.ftNavList01 li .subNav li:nth-child(odd), .ftNavList02 li .subNav li:nth-child(odd) {
		border-right: 1px solid #d1d1d1
	}
	.ftNavList01 li .subNav li a, .ftNavList02 li .subNav li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		height: 100%;
		box-sizing: border-box;
		background: url(../img/common/ico_arw02.png) 10px 50% no-repeat;
		background-color: #f6f6f4;
		background-size: 8px auto
	}
}
.ftNavList01 li span, .ftNavList02 li span {
	display: block
}
.ftNavList01 li.home a, .ftNavList02 li.home a {
	width: 100%;
	color: #90c31f;
	font-weight: bold
}
.ftNavList01 li.nav02, .ftNavList01 li.nav03, .ftNavList01 li.nav04, .ftNavList02 li.nav02, .ftNavList02 li.nav03 {
	border-bottom: none
}
.ftNavList01 li .bold {
	width: 100%;
	padding: 7px 0;
	border-bottom: 1px solid #d1d1d1;
	font-weight: bold;
	text-align: center
}
.ftNavList02 li .bold {
	width: 100%;
	padding: 7px 0;
	border-bottom: 1px solid #d1d1d1;
	font-weight: bold;
	text-align: center
}
.ftNavList02 li.fl {
	float: left;
	width: 50%
}
.ftNavList02 li.fl:nth-child(odd) {
	border-right: 1px solid #d1d1d1
}
.ftNavList02 li:last-child {
	border-bottom: none
}
@media all and (min-width: 600px) {
	.ftNav {
		-ms-flex-preferred-size: 680px;
		flex-basis: 680px
	}
	.ftNavList01, .ftNavList02 {
		float: left
	}
	.ftNavList01 li, .ftNavList02 li {
		float: left;
		border-bottom: none
	}
	.ftNavList01 li a, .ftNavList02 li a {
		padding: 0 0 0 18px;
		background: url(../img/common/ico_arw01.png) 0 50% no-repeat;
		background-size: 7px auto;
		font-size: 1.3rem
	}
	.ftNavList01 li a:hover, .ftNavList02 li a:hover {
		text-decoration: underline
	}
	.ftNavList01 li .subNav li, .ftNavList02 li .subNav li {
		float: none;
		width: auto
	}
	.ftNavList01 li .subNav li:nth-child(odd), .ftNavList02 li .subNav li:nth-child(odd) {
		border-right: none
	}
	.ftNavList01 li .subNav li a, .ftNavList02 li .subNav li a {
		line-height: 2;
		background: url(../img/common/ico_arw02.png) 0 50% no-repeat;
		background-color: #fff;
		background-size: 7px auto;
		font-size: 1.2rem
	}
	.ftNavList01 li.home a, .ftNavList02 li.home a {
		width: auto
	}
	.ftNavList01 li .bold, .ftNavList02 li .bold {
		width: auto;
		padding: 0;
		border-bottom: none;
		font-size: 1.3rem;
		text-align: left
	}
	.ftNavList01 li.nav01, .ftNavList02 li.nav01 {
		width: 170px
	}
	.ftNavList01 li.nav02, .ftNavList02 li.nav02 {
		width: 180px
	}
	.ftNavList01 li.nav03 {
		width: 210px
	}
	.ftNavList02 li {
		line-height: 2.1
	}
	.ftNavList02 li.nav03 {
		width: 210px
	}
	.ftNavList02 li.fl {
		float: none;
		width: auto
	}
	.ftNavList02 li.fl:nth-child(odd) {
		border-right: none
	}
}
.copyRight {
	padding: 14px 0;
	background-color: #f3f3f3;
	font-size: 1.1rem;
	text-align: center
}
@media all and (min-width: 600px) {
	.copyRight {
		padding: 21px 0;
		font-size: 1.3rem
	}
}
.ftFix {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	padding: 10px;
	background-color: #0092cf;
	text-align: center
}
.ftFix .mod_tel_btn01 {
	display: inline-block;
	width: 240px
}
.ftFix .mod_tel_btn01 a {
	padding: 3px
}
.ftFix .mod_tel_btn01 a .telIn {
	padding: 3px 0 2px;
	text-align: center
}
.ftFix .mod_tel_btn01 a .telIn .num {
	margin-bottom: 0;
	font-size: 2.0rem
}
.ftFix .mod_tel_btn01 a .telIn .num:before {
	width: 20px;
	height: 20px;
	margin: 0 6px -5px 0;
	vertical-align: middle;
}
.ftFix .mod_tel_btn01 a .telIn .time {
	font-size: 1.0rem;
	color: #000;
}
.ftFix .contact {
	display: inline-block;
	width: 50px;
	margin-left: 5px
}
.ftInfomation {
	border-bottom: 1px dotted #d1d1d1
}
.ftInfomation #gmap {
	width: 100%;
	height: 140px
}
.ftInfomation .infomation {
	padding: 15px
}
.ftInfomation .infomation .txt {
	margin-bottom: 7px;
	font-size: 1.2rem;
	text-align: center
}
.ftInfomation .infomation .access {
	margin-bottom: 12px
}
.ftInfomation .infomation .access .logo {
	float: left;
	width: 114px;
	padding-top: 15px
}
.ftInfomation .infomation .access ul {
	float: right;
	/*width:145px*/
}
.ftInfomation .infomation .access ul li {
	float: left;
	width: 70px;
	height: 70px;
	line-height: 1.3;
	padding-top: 20px;
	border: 1px solid #54c4f1;
	border-radius: 50%;
	color: #54c4f1;
	font-weight: bold;
	font-size: 1.1rem;
	text-align: center
}
.ftInfomation .infomation .access ul li:hover {
	opacity: 0.7;
	transition: opacity .3s ease;
}
.ftInfomation .infomation .access ul li+li {
	float: right
}
.ftInfomation .calendar {
	overflow-x: scroll
}
.ftInfomation .calendar iframe {
	max-width: 100%;
	height: 400px
}
.ftInfomation .schedule {
	display: none
}
@media all and (min-width: 600px) {
	.ftInfomation {
		padding: 50px 0;
		border-bottom: 1px dotted #d1d1d1
	}
	.ftInfomation .inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between
	}
	.ftInfomation .map {
		position: relative;
		-ms-flex-preferred-size: 550px;
		flex-basis: 550px
	}
	.ftInfomation .map #gmap {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%
	}
	.ftInfomation .infomation {
		-ms-flex-preferred-size: 500px;
		flex-basis: 500px;
		padding: 0
	}
	.ftInfomation .infomation .txt {
		margin-bottom: 5px;
		font-size: 1.5rem;
		text-align: left
	}
	.ftInfomation .infomation .access {
		margin-bottom: 18px
	}
	.ftInfomation .infomation .access ul {
		float: none;
		width: 345px
	}
	.ftInfomation .infomation .access ul li {
		width: 180px;
		height: auto;
		padding: 10px 0;
		border: 2px solid #54c4f1;
		border-radius: 20px;
		font-size: 1.5rem
	}
	.ftInfomation .infomation .access ul li:hover {
		opacity: 0.7;
		transition: opacity .3s ease;
	}
	.ftInfomation .infomation .access ul li+li {
		float: left;
		margin-left: 5px
	}
	.ftInfomation .infomation .access ul li br {
		display: none
	}
}
@media all and (-ms-high-contrast: none) {
	.ftInfomation .calendar {
		display: none
	}
	.ftInfomation .schedule {
		display: block
	}
}


.map-container {
	padding: 15px
}
.map-container #gmap {
	width: 100%;
	height: 210px;
	margin-bottom: 20px
}
.map-container .infomation .tit {
	line-height: 1.4;
	margin-bottom: 10px;
	margin-top: 10px;
	font-weight: bold;
	font-size: 1.5rem;
	letter-spacing: .1em
}
.map-container .infomation .addr {
	line-height: 1.9;
	margin-bottom: 10px;
	font-size: 1.2rem
}
.map-container .infomation .addr span {
	margin-left: 3.1em;
}
.map-container .calendar {
	overflow-x: scroll
}
.map-container .calendar iframe {
	max-width: 100%;
	height: 400px
}
.map-container .schedule {
	display: none
}
@media all and (min-width: 600px) {
	.map-container {
		padding: 90px 0 100px
	}
	.map-container .inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between
	}
	.map-container .map {
		position: relative;
		-ms-flex-preferred-size: 720px;
		flex-basis: 720px
	}
	.map-container .map #gmap {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%
	}
	.map-container .infomation {
		-ms-flex-preferred-size: 360px;
		flex-basis: 360px
	}
	.map-container .infomation .tit {
		margin: 15px 10px;
		font-size: 1.8rem;
		letter-spacing: .2em
	}
	.map-container .infomation .addr {
		line-height: 1.8;
		margin: 0 0 20px 10px;
		font-size: 1.43rem
	}
	.map-container .infomation .addr span {
		margin-left: 3.1em;
	}
}
@media all and (-ms-high-contrast: none) {
	.map-container .calendar {
		display: none
	}
	.map-container .schedule {
		display: block
	}
}
.top-access ul li {
	float: left;
	width: 70px;
	height: 70px;
	line-height: 1.3;
	padding-top: 20px;
	border: 1px solid #54c4f1;
	border-radius: 50%;
	color: #54c4f1;
	font-weight: bold;
	font-size: 1.1rem;
	text-align: center;
	margin-bottom: 12px;
}
.top-access ul li:hover {
	opacity: 0.7;
	transition: opacity .3s ease;
}
@media all and (min-width: 600px) {
	.top-access ul li {
		width: 180px;
		height: auto;
		padding: 10px 0;
		border: 2px solid #54c4f1;
		border-radius: 20px;
		font-size: 1.5rem;
		margin: 0 10px 18px;
	}
	.top-access ul li:hover {
		opacity: 0.7;
		transition: opacity .3s ease
	}
}

/*!  .js-name

================================================ */

.rebanner {
	display: none;
	position: fixed;
	right: 3px;
	bottom: 73px;
	width: 130px;
	margin: auto;
	z-index: 110;
}


@media all and (min-width: 600px) {
	div {
		padding-bottom: 0
	}
	.rebanner {
		display: none;
		position: fixed;
		top: auto;
		right: 3px;
		bottom: 100px;
		left: auto;
		width: 200px;
		z-index: 110;
	}
}
@media all and (min-width: 600px) {
	.top_info {
		position: absolute;
		right: 20px;
		bottom: 0;
		margin: 0;
		padding: 0;
		list-style: none;
		line-height: 0;
	}
	.top_info li {
		float: left;
		margin: 0 0 0 3px;
		padding: 0;
		line-height: 0;
	}
	.top_info li .bx {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100px;
		height: 150px;
		background-color: rgba(84, 196, 241, 0.85);
	}
	.top_info li .bx span {
		color: #f5f5f5;
		text-align: center;
		font-weight: bold;
		line-height: 1.6em;
		font-size: 1.2em;
	}
	#gNav .hdNav li.fl:nth-child(odd) {
		border-right: none;
	}
}


/*!  add 250930 MVリニューアル

================================================ */



#mainimg {padding: 0;}

.mv_catch {position: absolute; top: 83px; left: 33px; width: 381px;}

.or { background-image: url("../img/home/or-pc.webp"); background-size: 100%; background-position: center; background-repeat: no-repeat; position: absolute; top: 306px;
left: 12px; width: 323px; height: 323px; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #191413; text-shadow: 2px 2px 5px white;}

.or span {font-size: 42px;}

.or em {font-style: normal; font-size: 26px;}

.gre {background-image: url("../img/home/gre-pc.webp"); background-size: 100%; background-position: center; background-repeat: no-repeat; position: absolute; bottom: 25px;
left:259px; width: 231px; height: 231px; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #191413; text-shadow: 2px 2px 5px white;}

.gre span {font-size: 28px;}

.gre em {font-style: normal; text-align: center; font-size: 28px; line-height: 1.3;}

.blu {background-image: url("../img/home/blu-pc.webp"); background-size: 100%; background-position: center; background-repeat: no-repeat; position: absolute; bottom: 153px;
right: 245px; width: 267px; height: 267px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-shadow: 2px 2px 5px white;}

.blu span { color: #0c8696; font-size: 23px; line-height: 1.6; text-align: center; text-shadow: 0 0 2px white, 0 0 4px white, -1px -1px 0 white, 1px -1px 0 white, -1px 1px 0 white,
    1px 1px 0 white;}

.blu em {font-style: normal; text-align: center; font-size: 22px;}


@media all and (max-width: 599px) {

.mv_catch {top: 28.9vw; left: 3.8vw; width: 43.3vw;}

.or { background-image: url("../img/home/or-sp.webp"); top: 64.3vw;; left: 2vw; width: 43.3vw; height: 43.3vw;}

.or span {font-size: 7vw;}

.or em {font-size: 5vw;}

.gre {background-image: url("../img/home/gre-sp.webp"); bottom: auto; top: 87.4vw; left: 44.2vw; width: 39.2vw; height: 39.2vw;}

.gre span {font-size: 4.3vw;}

.gre em {font-size: 4.3vw;}

.blu {background-image: url("../img/home/blu-sp.webp"); bottom: auto; top: 112vw; right: 54.6vw; width: 39.7vw; height: 39.7vw;}

.blu span {font-size: 3.5vw;}

.blu em {font-size: 3.2vw;}
}

