@charset "utf-8";
/* CSS Document */

/*==================================================
　5-2-2 2本線が×に
===================================*/

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn{
	/*ボタン内側の基点となるためrelativeを指定。
追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
	position: fixed;
	width: 52px;
    height:52px;
	cursor: pointer;
	right: 0vw;
	top: 0vw;
	z-index: 1010;
	background-color: #fff;
}
	
/*ボタン内側*/

.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 13px;
    height: 4px;
	background-color: #000;
  }


.openbtn span:nth-of-type(1) {
	top:18px;
  	width: 50%;
}

.openbtn span:nth-of-type(2) {
	top:30px;
  	width:50%;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn.active span:nth-of-type(1) {
    top: 17px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 35%;
}

.openbtn.active span:nth-of-type(2) {
    top: 29px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 35%;
}

.nav{
	position: fixed;
	right: 0;
	bottom: 0;
	overflow-y: auto;
    top: 0px;
    width: 100%;
    background:rgba(236,241,241,.0);
	backdrop-filter: blur(6px);
    color: #ffffff;
    /* 初期：非表示 */
    visibility: hidden;
    opacity: 0;
    /* ふわっと表示 */
    transition: 0.5s ease-in-out;
	font-family: 'Noto Sans-jp', sans-serif;
	z-index: 1000;
}
.nav.open{
	visibility: visible;
	opacity: 1;
	z-index: 1000;
	left: 0;
}
.nav .inner{
	max-width: 520px;
	height: auto;
	min-height: 100%;
	background-color: #fff;
	width: 100%;
	padding: 70px 70px 30px 70px;
	margin: 0 0 0 auto;
	color: #467C9C;
	font-family:"Hiragino Kaku Gothic ProN", "Hiragino Sans",'Noto Sans-jp', sans-serif;
}
.nav .inner p.menuTtl{
	font-weight: bold;
	font-size: 1.85em;
	color: #467C9C;
	letter-spacing: 1px;
	margin-bottom: 10px;
}
.nav .inner p.menuSubTtl{
	font-weight: 300;
	font-size: 0.9em;
	color: #467C9C;
	letter-spacing: 1px;
	margin-bottom: 4px;
	padding-left: 2px;
}
.nav .inner .dotted{
	padding-bottom: 18px;
	background-image : linear-gradient(to right, #467C9C, #467C9C, 2.5px, transparent 2px, transparent 4px);  /* 幅2の線を作る */
  background-size: 4px 1.5px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
.nav .inner .dotted.mt40{
	margin-top: 60px;
}
.nav .inner .navMenu{
	padding-top: 15px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.nav .inner .navMenu:hover a{
	opacity: 0.6;
	transition: .3s all;
}
.nav .inner .navMenu a.icon{
	display: block;
	cursor: pointer;
}
.nav .inner .navMenu.h90{
	min-height: 90px;
	align-items: center;
}
.nav .inner .navMenu .tellIcon{
	border-radius: 6px;
	width: 36px;
	height: 36px;
	background-color: #467C9C;
	background-image: url("../images/tell.svg");
	background-size: 60%;
	background-position: center center;
	background-repeat: no-repeat;
}
.nav .inner .navMenu .reserveIcon{
	border-radius: 6px;
	width: 36px;
	height: 36px;
	background-color: #467C9C;
	background-image: url("../images/reserveIcon.svg");
	background-size: 60%;
	background-position: center center;
	background-repeat: no-repeat;
}
.nav .inner .navMenu .contactIcon{
	border-radius: 6px;
	width: 36px;
	height: 36px;
	background-color: #467C9C;
	background-image: url("../images/contactIcon.svg");
	background-size: 70%;
	background-position: center center;
	background-repeat: no-repeat;
}
.nav .inner .navMenu div.text{
	margin-left: 20px;
	display: flex;
	flex-direction: column;
}
.nav .inner .navMenu div.text a{
	display: flex;
	height: 36px;
	font-size: 1.75em;
	line-height: 36px;
	font-weight: 400;
	color: #467C9C;
	transition: .2s all;
	cursor: pointer;
}
.nav .inner .navMenu div.text a span.night{
	display: inline-block;
	width: 66px;
	height: 36px;
	background-image: url("../images/night.svg");
	background-position: center center;
	background-repeat: no-repeat;
	text-indent: -9999px;
	margin-left: 10px;
}
.nav .inner .navMenu div.text p{
	font-size: 1em;
	margin-top: 5px;
}
.nav .inner .navMenu:hover div.text p{
	opacity: 1;
}
.nav .inner .navMenu div.text p span.newOnly{
	font-size: 1em;
	font-weight: 600;
}
.nav .inner .logo{
	width: 50%;
	height: 0px;
	padding-top: 15%;
	background-image: url("../images/seishinLogo.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left center;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	margin:0;
	transition: .2s all;
}
.nav .inner a.logo:hover{
	opacity: 0.6;
}
.nav .inner .navSubTtl{
	display: block;
	width: 80%;
	height: 0;
	padding-top: 5%;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("../images/subTtl.svg");
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	margin:20px auto 20px auto;
}
.nav .inner .navMainTtl{
	display: block;
	width: 94%;
	height: 0;
	padding-top: 8%;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("../images/mainTtl.svg");
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	margin:0 auto 20px auto;
}
.nav .inner .navLink{
	text-align: center;
}
.nav .inner .navLink a{
	display: block;
	padding: 20px;
	border-bottom: 1px solid #467C9C;
	color: #467C9C;
	font-size: 1.2em;
	font-weight: bold;
}
.nav .inner .sns{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-left: auto;
	margin-top: 50px;
}
.nav .inner .sns a{
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	width: 30px;
	height: 30px;
	margin: 0 15px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.nav .inner .sns a.facebook{
	background-image: url("../images/facebook_color.svg");
}
.nav .inner .sns a.twitter{
	background-image: url("../images/twitter_color.svg");
}
.nav .inner .sns a.instagram{
	background-image: url("../images/icon_insta.svg");
}
.nav .inner .sns a:hover{
	opacity: 0.8;
}

@media screen and (max-width : 1024px){
.openbtn{
	/*ボタン内側の基点となるためrelativeを指定。
追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
	position: fixed;
	width: 44px;
    height:50px;
	cursor: pointer;
	z-index: 1010;
}
}

@media screen and (max-width : 620px){
.openbtn{
	/*ボタン内側の基点となるためrelativeを指定。
追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
	position: fixed;
	width: 44px;
    height:44px;
	cursor: pointer;
	z-index: 1010;
}
.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 11px;
    height: 4px;
	background-color: #000;
  }
.openbtn span:nth-of-type(1) {
	top:14px;	
  	width: 50%;
}
.openbtn span:nth-of-type(2) {
	top:26px;
  	width:50%;
}
.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    height: 3px;
	background-color: #000;
  }

.openbtn.active span:nth-of-type(1) {
    top: 13px;
    left: 15px;
    transform: translateY(6px) rotate(-45deg);
    width: 35%;
}

.openbtn.active span:nth-of-type(2) {
    top: 25px;
    left: 15px;
    transform: translateY(-6px) rotate(45deg);
    width: 35%;
}
.nav .inner{
	padding: 25px;
}
}
@media screen and (max-width : 380px){
.nav .inner p.menuTtl {
    font-weight: 500;
    font-size: 1.75em;
    color: #467C9C;
    letter-spacing: 1px;
    margin-bottom: 10px;
}
.nav .inner .navMenu div.text a{
	display: flex;
	height: 36px;
	font-size: 1.4em;
	line-height: 36px;
	font-weight: 400;
	color: #467C9C;
	transition: .3s all;
}
.nav .inner p.menuSubTtl {
    font-weight: 300;
    font-size: 0.9em;
    color: #467C9C;
    letter-spacing: 1px;
    margin-bottom: 10px;
    padding-left: 2px;
}
.nav .inner .navMenu div.text p {
    font-size: 0.88em;
    margin-top: 5px;
}
	.nav .inner .navMenu{
		padding-top: 10px;
	}
	.nav .inner .dotted{
		padding-bottom: 12px;
	}
.nav .inner .sns {
    margin-top: 40px;
}
}
