/* CSS Document */
.header { width: 100%; position: absolute; z-index: 10; background: none; }
.header nav { width: 210px; }
.header h1 { width: 320px; }
.header h1 a { width: 320px; top:35px; display: flex; align-items:center; }
.header h1 img { width: 210px; margin: 0 5px 5px 0; }
.header h1 span { display: inline; color: #ffffff; }
.header h1 a div:last-child { width: 170px; }
#gnav { justify-content: center; padding-left: 0; display: block; padding-top: 80px;  }
.gnav li a { padding: 0 12px 0; line-height: 48px; position: relative; }
#gnav .gm7 { display: none; }

/*mv*/
.slide_wrp_i { max-width: 100%; overflow: hidden; position: relative; height: 450px; background: #000000; }

.slide_wrp_i .bx-wrapper { margin: 0 auto; height: 450px; }
.slide_wrp_i .bx-wrapper .bx-viewport { box-shadow: none; border: none; left: 0; height: 100% !important;
		}
.tab.tate .slide_wrp_i,.tab.tate .slide_wrp_i .bx-wrapper,.tab.tate .slide_wrp_i .bx-wrapper .bx-viewport 
{ height: 450px; }

.slide_wrp_i:before, .slide_wrp_i:after { background: none; }
.slide_wrp_i .slide_i { width: 100%; height: 100%; position: relative; top:auto; left:auto; margin-left: 0; }
.slide_wrp_i .slide_i li:first-child { background: url("../images/index/mv1.jpg") center center no-repeat; 
	background-size: cover; width: 100%; height: 100%; }
.slide_wrp_i .slide_i li:nth-child(2) { background: url("../images/index/mv2.jpg") center center no-repeat; 
	background-size: cover; width: 100%; height: 100%; }
.slide_wrp_i .slide_i li:nth-child(3) { background: url("../images/index/mv3.jpg") center center no-repeat; 
	background-size: cover; width: 100%; height: 100%; }
.slide_wrp_i h2 { position: absolute; top:50%; margin-top: -88px; width: 356px; left: 50%; transform: translateX(-50%); z-index: 10;}
.slide_wrp_i .mainw { position: absolute; bottom: 0; left: 50%; margin-left: -600px;
	z-index: 20; }

#rsv_i { position: absolute; left: 0; bottom: 0; background: rgba(0,0,0,0.8); padding-left: 12vw;
	padding-left: -webkit-calc( 50vw - 600px ); padding-left: calc( 50vw - 600px );
	padding-top: 15px; padding-bottom: 15px; padding-right: 25px; color: #ffffff; }
#rsv_i .rsvtop { margin-bottom: 0; }
#rsv_i.rsv h3 { margin-bottom: 0; font-size: 20px; margin-right: 20px; }
#rsv_i.rsv h3:after { background: none; }
#rsv_i.rsv form { margin-bottom: 0; flex-wrap:wrap; }
#rsv_i.rsv .rsv_ul li { display: block; height: auto; }
#rsv_i.rsv .rsv_ul li input[type="text"],#rsv_i.rsv .rsv_ul li select { height: 30px; line-height: 28px;
	margin-top: 5px; }
#rsv_i.rsv input[type="submit"],#rsv_i .member .cbtn { width: 180px; }
#rsv_i .member { margin-left: 15px; }
#rsv_i .member li:last-child { width: 120px; height: auto; text-indent: -0.3em; padding-left: 1em; }
.slide_wrp_i #lc { position: absolute; bottom: 25px; left: 50%; margin-left: 405px; display: block; }

#modal-overlay { z-index: 10012; display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: rgba(0,0,0,0.8);
	}
#modal-overlay iframe { position: absolute; top:50%; margin-top: -240px; left:50%; margin-left: -320px; }
#modal-overlay .btn_close { position: absolute; top:100px; left: 50%; font-size: 14px; border-radius: 35px;
	text-align: center; width: 70px; height: 70px; border: #ffffff 1px solid; margin-left: 405px;
	display: block; background: url("../images/icon_close.svg") center center no-repeat; }
#modal-overlay .btn_close:hover { opacity: 1; background-color: rgba(255,255,255,0.4); }

article { width: 100%; overflow: hidden; }

#p1 { padding: 60px 20px; position:relative; }
#p1 .mainw { position:relative; z-index:10; }

/* 地域共通クーポン */
.info-contents.coupon { padding: 30px; background-color: #283349; }
.info-contents.coupon h4,
.info-contents.coupon p { color: #fff; line-height: 1.5; }
.info-contents.coupon h4 { font-size: 24px; font-weight: bold; margin-top: 0; }
.info-contents.coupon p { font-size: 16px; width: 90%;	margin: auto; text-align: center;}
.info-contents ul li div{ border: #283349 solid 5px; background-color: #fff; padding: 2rem; text-align: center;	font-size: 1.25rem;	line-height: 2rem;}
.info-contents ul li div h3{ background: linear-gradient(transparent 50%, yellow 50%);	display: inline;}
.info-contents ul li div p{	margin: 1rem 0;}

/* bnr not flex */
#p1 ul { width: 100%; margin: auto; }
#p1 ul li { width: 100%; margin: 20px auto; }
#p1 ul li:first-child { margin-top: 0; }
#p1 ul li img { width: 100%; }
#p1 .tellink { pointer-events: none; }
#p1 ul li.cp-info h3 { color: #283349; font-size: 24px; font-weight: bold; line-height: 1.5; text-align: center; margin-bottom: 15px; }

.info-contents { width: 100%; margin: 0 auto 30px; }
img.inf-bn { width: 100%; display: block; margin: 0 auto 10px; }
.info-contents h4 { font-size: 20px; text-align: center; margin: 20px auto 10px; }
.info-contents p { padding: 0 10px; }
#p1 ul li a { font-weight: bold; text-decoration: underline; color: #283349; }

/*p3*/
#p3 { background: url("../images/index/bg_intro.png") center bottom no-repeat; position: relative; background-size: 100% auto; padding: 170px 20px 260px; }
#p3 .bg_matsu { position: absolute; top: -128px; left: 0; }
#p3 .mainw { display: flex; justify-content:space-between; flex-direction: row-reverse; }
#p3 .mainw .links { width: 40px; border-top: #283349 1px solid; margin-right: 20px; }
#p3 .mainw .links li a { display: block; text-align: center; padding: 25px 0 0; position: relative;
		border-bottom: #283349 1px solid; height: 170px; }
#p3 .mainw .links li a:after { content: "\f105"; font-family: FontAwesome; position: absolute;
	width: 40px; text-align: center; bottom: 25px; left: 0; color: #283349; }
#p3 .mainw .links li:last-child a { padding-top: 10px; }
#p3 .mainw .links li:last-child a:after { bottom: 10px; }
#p3 .intro { display: flex; flex-direction: row-reverse; }
#p3 .intro h3 { margin-top: -40px; margin-left: 70px; width: 100px; }
#p3 .intro p.ih2,#p3 .intro ul { margin-left: 20px; }

/*p4*/
#p4 { position: relative; padding-bottom: 95px; }
#p4 .cb2 { position: absolute; top:0; right: 0; height: 400px; width: 270px; }
#p4 .mainw { position: relative; padding-top: 120px; }
#p4 .mainw .matsu { position: absolute; top:0; right: 45px; }
#p4 .mainw .cbtn2 { position: absolute; right: 0; top:205px; width: 140px; height: 62px; margin-right: 20px;
	border-top: #ffffff 1px solid; border-bottom: #ffffff 1px solid; color: #ffffff;
	line-height: 20px; padding-top: 12px; }
#p4 .mainw .cbtn2:after { color:#ffffff; line-height: 60px; }
#plans label { background: url("../images/index/bg_pmenu.png"); display: inline-block; padding: 5px; cursor: pointer; }
#plan1_tab + label { padding-right: 0; }
#plans label span {	width: 220px; height: 50px;	display: inline-block; text-align: center; position: relative; font-size: 15px;	line-height: 50px; background: url("../images/index/bg_pmenu_li.png") repeat; transition: background 0.3s; }
#plans label span::after { content: ""; position: absolute; left:50%; margin-left: -8px; bottom:-10px;	background: url("../images/fkds.svg") center bottom no-repeat; width: 16px; height: 20px; opacity: 0; transition:0.3s; }
#plan1_tab:checked + label span ,
#plan2_tab:checked + label span ,
#plans label span:hover { opacity: 1; background: #ffffff; }
#plan1_tab:checked + label span::after ,
#plan2_tab:checked + label span::after ,
#plans label span:hover::after { opacity: 1;}
#p4 h3.ch3 {margin-bottom: 0;}
#plans { padding-top: 60px; text-align: center;}
#plans input[name="tab_item"] { display: none; }
#plans>div { width: 100%; }
#plans ul { display: flex; justify-content: space-between; gap: 10px; padding: 0 10px; width: 100%;}
#plans ul li { position: relative; flex: 1; text-align: left;}
#plans ul li a { display: block; }
#plans ul li a .img { margin-bottom: 12px;  aspect-ratio: 225 / 176; }
#plans ul li a .img img {width: 100%; height: 100%; object-fit: cover;}
#plans ul li .detail { width: 100%; min-height: 100px; }
#plans ul li .detail h4 { font-size: 16px; line-height: 28px; height: 95px; border-bottom: #cccccc 1px solid; }
#plans ul li .detail p.price { font-size: 16px; margin-top: 10px; }
#plan2 { display: none; }

#plan1 , #plan2 {padding-top: 30px;}
#plan1 { display: none; }
#plan1_tab:checked ~ #plan1, 
#plan2_tab:checked ~ #plan2 {
	display: block;
}

/*p5*/
#p5 { position: relative; padding-bottom: 95px; }
#p5 .w1000 { display: flex; justify-content:space-between; padding-top: 85px; }
#p5 .ttl { width: 250px; }
#p5 h3 { font-size: 26px; margin-bottom: 20px; }
#p5 .pknw { width: 700px; }
#p5 ul.pkn { border-top: #999999 1px dashed; width: 700px; }
#p5 ul.pkn li { border-bottom: #999999 1px dashed; display: flex; padding: 10px; }
#p5 ul.pkn li a { position: relative; display: block; padding-right: 40px; width: 100%; }
#p5 ul.pkn li a:after { content: "\f105"; font-family: FontAwesome; position: absolute; right: 20px;
	top:0; transition:0.3s; }
#p5 ul.pkn li a:hover:after { right: 15px; }
#p5 ul.pkn li .n_date { color: #808080; font-size: 16px; width: 130px; text-align: center; }
#p5 ul.pkn li p { font-size: 16px; line-height: 26px; width: 100%; }
