@charset "UTF-8";

@import url("bulma-pickup.css");

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

		リセット

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

html, body, div, span, applet, object, iframe, strong,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, legend, caption, 
tbody, tfoot, thead, table, label, tr, th, td{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-style: inherit;
	font-family: inherit;
	vertical-align: baseline;
	list-style:none;
	}
ul { 
	letter-spacing: -1em;
	word-spacing: -1em;
	}
:root ul {
	letter-spacing: -1px;
	word-spacing: -1px;
	}
li { 
	letter-spacing: normal;
	word-spacing: normal;
	*display: inline;
	*zoom: 1;
	}
figure { margin:0;}
img,iframe	{ vertical-align:bottom;}

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

		メイン設定

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

html,body { width:100%; min-width: 320px; *width:320px; font-size:16px; }
body {
	background:#EFF0E8;
    font-family: 'Noto Serif JP', serif;
	letter-spacing:0.03em;
	color: #272C2E;
	text-align:left;
	-webkit-font-smoothing: antialiased;
	line-height:180%;
  	}

.wrapper    {
	overflow: hidden;
	border-bottom-style: none;
	border-bottom-width: 0px;
}
article		{ position:relative; width:100%; z-index: 0;}
section		{ position:relative; }

	.article	{ padding-bottom:5rem; }
    .section	{ margin-top:7rem; margin-bottom:7rem; }
    .short-section { margin-top:30px; margin-bottom:30px; }
	.outer		{ padding-left:30px; padding-right:30px; box-sizing:border-box; }
	.wrap       { width:100%; max-width:1180px; margin-left:auto; margin-right:auto; }
    .inner      { width:100%; max-width:1080px; margin-left:auto; margin-right:auto; }

@media screen and (max-width: 1280px) {
	html,body, .wrapper	{ font-size:15px;}
    }
@media screen and (max-width: 959px) {
	html,body, .wrapper	{ font-size:14px;}
    }
@media only screen and (max-width: 767px) {
    html,body, .wrapper	{ font-size:13px; letter-spacing: 1px;}
	body			{ -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;}
    .article	    { padding-bottom:3rem; }
    .section	    { margin-top:4rem; margin-bottom:4rem; }
    .short-section  { margin-top:15px; margin-bottom:15px;}
    .outer			{ padding-left:15px; padding-right:15px; }
    .wrap, .inner   { max-width:480px; }
    }

.row			{ margin-left:auto; margin-right:auto; position: relative;}
.row .row		{ min-width: 0px; }
	.row:before, .row:after { content:""; display:table; }
	.row:after { clear: both; }
	.row { zoom: 1; }

	.center		{ text-align:center;}
	.text-l		{ text-align:left;}
	.float-l	{ float:left; }
	.float-r	{ float:right; }

    .margin-auto { margin-left:auto; margin-right:auto; }

	.pt-1em		{ padding-top:1rem;}
	.pt-2em		{ padding-top:2rem;}
	.pt-3em		{ padding-top:3rem;}
	.pt-4em		{ padding-top:4rem;}
	.pt-5em		{ padding-top:5rem;}

	.pb-1em		{ padding-bottom:1rem;}
	.pb-2em		{ padding-bottom:2rem;}
	.pb-3em		{ padding-bottom:3rem;}
	.pb-4em		{ padding-bottom:4rem;}
	.pb-5em		{ padding-bottom:5rem;}
	.pb-7em		{ padding-bottom:7rem;}
	.pb-10em	{ padding-bottom:10rem;}

	.mb-1em		{ margin-bottom:1rem;}
	.mb-2em		{ margin-bottom:2rem;}
	.mb-3em		{ margin-bottom:3rem;}
	.mb-4em		{ margin-bottom:4rem;}
	.mb-5em		{ margin-bottom:5rem;}

	.pb-2-1em	{ padding-bottom:2rem;}
    .pb-3-2em	{ padding-bottom:3rem;}
    .pb-4-3em	{ padding-bottom:4rem;}

    .mb-2-1em	{ margin-bottom:2rem; }
    .mb-3-1em	{ margin-bottom:3rem; }
    .mb-3-2em	{ margin-bottom:3rem; }
    .mb-4-2em	{ margin-bottom:4rem; }

@media screen and (max-width: 959px) {
    .pb-2-1em	{ padding-bottom:1.5rem;}
    .pb-3-2em	{ padding-bottom:2.5rem;}
    .pb-4-3em	{ padding-bottom:3.5rem;}
    .mb-2-1em	{ margin-bottom:1.5rem; }
    .mb-3-1em	{ margin-bottom:2rem; }
    .mb-3-2em	{ margin-bottom:2.5rem; }
}
@media only screen and (max-width: 767px) {
    .pb-2-1em	{ padding-bottom:1rem;}
    .pb-3-2em	{ padding-bottom:2rem;}
    .pb-4-3em	{ padding-bottom:3rem;}
    .mb-2-1em	{ margin-bottom:1rem; }
    .mb-3-2em	{ margin-bottom:1rem; }
    .mb-3-2em	{ margin-bottom:2rem; }
    .mb-4-2em	{ margin-bottom:2rem; }
}


    h1	{ font-size:2.2rem;    line-height:150%;}
    h2	{ font-size:2rem;      line-height:150%;}
    h3	{ font-size:1.6875rem; line-height:150%;}
    h4	{ font-size:1.125rem;  line-height:150%; margin-bottom:.75rem;}
    h5	{ font-size:1rem;      line-height:150%; margin-bottom:.75rem;}

@media screen and (max-width: 959px) {
    h1	{ font-size:2.0rem;}
	h2	{ font-size:1.6rem;}
	h3	{ font-size:1.5rem;}
}
@media only screen and (max-width: 767px) {
    h1	{ font-size:1.8rem;}
	h2	{ font-size:1.4rem;}
	h3  { font-size:1.35rem;}
}

	.sp-none        { display:block;}
    .sp-inline-none { display:inline-block;}
	.sp-on		    { display:none;}
	.tablet-on		{ display:none;}
	.tablet-none	{ display:block;}

a {
	text-decoration:none;
	color:#272C2E;
	cursor:pointer;
	}
	a:hover {
	color:#888;
	}
	a img {
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	}
	a:hover img {
	opacity:0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";
	}

    small { font-size:.75rem; }
    .bold { font-weight:bold;}

.text-wrap p { padding-bottom:1.25rem; }
.anchor	{
	padding-top:5rem;
	margin-top:-5rem;
	}
img {
	max-width: 100%;
	height: auto;
	width /***/:auto;
	vertical-align:bottom;
	}
.radius,
.radius img {
    moz-border-radius:     .5rem;
	-webkit-border-radius: .5rem;
	-o-border-radius:      .5rem;
	-ms-border-radius:     .5rem;
    }

@media screen and (max-width: 959px) {
    .tablet-on		{ display:block !important;}
	.tablet-none	{ display:none;}
}
@media only screen and (max-width: 767px) {
	.sp-none		{ display:none;}
    .sp-inline-none { display:none;}
	.sp-on			{ display:block;}
	.sp-text-l		{ text-align:left !important;}
	.sp-center		{ text-align:center;}
}

/* =====================================
        bulma + original
===================================== */

.columns.is-gapless.pd-1>.column {
    padding:1px !important;
    }
.reverse-row-order {
    flex-direction: row-reverse;
    }
.vertical-side-center {
    display: flex;
    justify-content: center;
    align-items: center;
    }
    .vertical-center {
    display: flex;
    align-items: center;
    }
    .side-right {
    justify-content: flex-end;
    }
    .vertical-inner {
    }

/*=================================================
		Button
==================================================*/

.btn-wrap {
    padding-top:1rem;
    }
a.basic-btn {
    display: block;
	position: relative;
	width: 100%;
    max-width:300px;
    margin-left:auto;
    margin-right:auto;
    line-height:1;
	padding: 1.4em;
    box-sizing:border-box;
	text-align: center;
	text-decoration: none;
	color: #16100C;
    border:2px solid #FFFFFF;
	background: #FFF;
	overflow: hidden;
    z-index: 1 !important;
    }
    a.basic-btn:after {
	content:"";
	position: absolute;
	top: 50%;
	left: 50%;
	height: 0;
	width: 100%;
	background :#16100C;
	opacity: 0;
	transform: translateX(-50%) translateY(-50%) rotate(45deg);
	transition: 0.5s;
	z-index: -1;
    }
    a.basic-btn:hover { color: #FFF; }
    a.basic-btn:hover:after { height:500%; opacity: 1;}
    a.basic-btn:active:after { height:500%; opacity: 1;}
@media screen and (max-width: 767px) {
    a.basic-btn { max-width:200px; }
}
/*=================================================
		pace
==================================================*/

.intro_bg{position:fixed; background:#fff; width:100%; height: 100vh; z-index: 1000;}
.intro_bg .intro_logo{position: absolute; width:auto;  top:45%; left:50%; margin:-100px 0 0 -100px}

.pace {
    -webkit-pointer-events: none;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: 2000;
    position: fixed;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5px;
    width: 200px;
    background: #fff;
    border: 1px solid #808080;
    overflow: hidden;
    }
.pace .pace-progress {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    max-width: 200px;
    position: fixed;
    z-index: 2000;
    display: block;
    position: absolute;
    top: 0;
    right: 100%;
    height: 100%;
    width: 100%;
    background: #808080;
    }
.pace.pace-inactive {display: none;}

/*=================================================
		TOP-MOVIE
==================================================*/

#head_contents{background:#434343; height: 100vh; margin:0 0 0 0;}
#head_contents .header_text{margin:0 auto;}
#head_contents .header_text .text_box{width:250px; margin:0 auto;}
#head_contents .header_text .text_box p{color:#fff; font-size:18px; font-weight: normal; line-height: 3em; letter-spacing: 0.25em;}

.movie-cover-l { position: absolute; left:0; top:0; width:300px; height:100vh; background: url("../images/parts/movie-left.png") left top repeat-y; z-index: 0; }
.movie-cover-r { position: absolute; right:0; top:0; width:300px; height:100vh; background: url("../images/parts/movie-right.png") right top repeat-y; z-index: 0; }

@media screen and (max-width: 959px) {
    #head_contents { height: 60vh; min-height:600px; }
    .movie-cover-l { height: 60vh; min-height:600px; }
    .movie-cover-r { height: 60vh; min-height:600px; }
}

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

		ヘッダー

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

header {
	position: absolute;
    left:0;
    top:0;
    z-index:9999;
	}
    .header-wrap {
        margin-left:35px;
        margin-top:35px;
        width:170px;
        height:360px;
        position: relative;
        z-index:200;
        }
        .navigation-wrap {
        width:100%;
        box-sizing:border-box;
        }
        .logo {
        text-align:left;
        width:140px;
        padding-bottom:2.5rem;
        line-height:1;
        font-size:1px;
        }
        .navigation {
        width:100%;
        }
        .navigation li {
        position: relative;
        display:block;
        font-size:1rem;
        line-height:1;
        text-align:left;
        vertical-align: middle;
        letter-spacing: 0.1em;
        margin-left:2rem;
        margin-bottom:.75rem;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        }
        .navigation li:before {
        display: block;
        position: absolute;
        top: .65rem;
        left: -2rem;
        width: 1rem;
        height: 1px;
        background: rgba(255, 255, 255, .5);
        content: "";
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        }
        .navigation li:hover { margin-left:2.5rem; }
        .navigation li:hover:before { left:-2.5rem; width:1.5rem;}
        .navigation li a { color:#FFF; display:block; padding:.3rem 0;}
        .navigation li.address { display:none; font-size:12px; letter-spacing:.1em;}
        .navigation li.tablet-on { display:none; }
        .navigation li.phone { display:none; background:rgba(0,0,0,0.3); }
        .navigation li.fixed-reservation { display:none;}

        .reservation-btn { position: absolute; top:35px; right:15px; z-index: 9999; width:92px; height:260px;}
        .phone-memo { position:absolute; left:35px; bottom:35px; z-index: 999; font-size:1.125rem;color:#FFF;}
        .reservation-memo {position: absolute; right: 130px; top: 51px; bottom: 35px; z-index: 999; font-size: 1.125rem; color: #FFF; background: rgba(0,0,0,0.3); height: 120px; padding: 10px; border-radius: 1px;}
            .reservation-memo span.small { font-size:0.875rem;}
            .phone-memo span { font-size:1.3125rem;}
            .phone-memo span.small { font-size:0.875rem;}
        .facebook-icon { position:absolute; right:35px; bottom:35px; z-index: 999; width:30px; height:30px; }

/*=================================================
		Fixed
==================================================*/
.header-wrap.fixed {
    margin-left:0;
	margin-top:0;
	top: 0;
    width:100%;
    height:70px;
	position:fixed;
    background:#16100C;
	-webkit-animation-duration:1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode:both;
    animation-fill-mode: both;
    -webkit-animation-name:fadeInDown;
    animation-name:fadeInDown;
	}
    .header-wrap.fixed .navigation-wrap { padding:0 30px; }
    .header-wrap.fixed .logo { width:100px; padding-bottom:0; padding-top:12px; float:left;}
    .header-wrap.fixed .navigation { float:right; width:90%; padding-top:16px;}
    .header-wrap.fixed .navigation ul { float:right;}
    .header-wrap.fixed .navigation li { display: inline-block; margin-left:2.5rem; -webkit-transition: all 0s ease; -moz-transition: all 0s ease; -o-transition: all 0s ease;}
    .header-wrap.fixed .navigation li:before { display:none;}
        .header-wrap.fixed .fixed-reservation a { background:#EFF0E8; color:#16100C; padding:.75rem 1.2rem;}
        .header-wrap.fixed .fixed-reservation a:hover { opacity:0.6; filter: alpha(opacity=60);	-ms-filter: "alpha( opacity=60 )"; }
    .header-wrap.fixed .navigation li.address { display:none; font-size:12px; letter-spacing:.1em;}
    .header-wrap.fixed .navigation li.tablet-on { display:none; }
    .header-wrap.fixed .navigation li.phone { display:none; background:rgba(0,0,0,0.3); }

    /* *** hover bar *** */
    .header-wrap.fixed .navigation li a {
        position: relative;
        display: inline-block;
        transition: .3s;
        }
        .header-wrap.fixed .navigation li a:after {
        position:absolute;
        bottom:-5px;
        left:50%;
        content:'';
        width:0;
        height:1px;
        background-color:#EFF0E8;
        transition:.3s;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%); 
        }
        .header-wrap.fixed .navigation li a:hover:after { width:100%; }
        .header-wrap.fixed .navigation li.fixed-reservation a:hover:after { width:0;}

.nav-toggle { display: none; position: absolute; right:17px; top:18px; width: 20px; height:20px; cursor:pointer; z-index:999; }
	.nav-toggle div { position: relative; }
	.nav-toggle span { display: block; position: absolute; height: 2px; width:100%; background: #EFF0E8; -moz-border-radius:2px; -webkit-border-radius:2px; -o-border-radius:2px; -ms-border-radius:2px;
	left: 0; -webkit-transition: .35s ease-in-out; -moz-transition: .35s ease-in-out; transition: .35s ease-in-out; }
	.nav-toggle span:nth-child(1) { top: 0; }
	.nav-toggle span:nth-child(2) { top: 6px; }
	.nav-toggle span:nth-child(3) { top: 12px; }


@media screen and (max-width: 1100px) {
    .header-wrap.fixed .navigation { width:770px;}
    .header-wrap.fixed .navigation li { margin-left:1.5rem;}
}

@media screen and (max-width: 959px) {
    
    header { height:50px; width:100%;}
    .header-wrap { margin-left:0; margin-top:0; top: 0; width:100%;  height:50px; background:#16100C;}
	.logo { position: absolute; left: 14px; padding-top:8px; width:80px; z-index: 10;}

	.navigation-wrap { padding:0; height:50px; }
	.navigation { position: absolute; top:-750px; width:100%; text-align:center; padding:0; -webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;transition:.5s ease-in-out;}
	.navigation ul { position:static; height:auto; border:none; float: none; padding:0; background:#16100C;}
	.navigation li { float:none; position:static; width:100%; padding:0; margin:0;border-top:1px solid #555; font-size:13px; line-height:1; }
    .navigation li:before { display:none;}
    .navigation li:hover { margin-left:0; }
	.navigation li.tablet-on { background:rgba(0,0,0,0.1);}
    .navigation li.tablet-on.reservation-sp { background:rgba(255,255,255,.2);}
	.navigation li.address { display:block; padding:18px 0; color:#CCC;}
	.navigation li.address span { padding-left:1.5em;display:block;line-height: 1.25em;}
	.navigation li a:hover { background:none;}

    .phone-memo { left:15px; bottom:25px;}
    .facebook-icon { right:15px; bottom:25px; }

	.header-wrap.fixed { box-shadow:none; padding-top: 0; height: 50px;}
    .header-wrap.fixed .logo { padding-top:8px; width:80px;}
    .header-wrap.fixed .navigation { width:100%; padding-top:0;}
    .header-wrap.fixed .navigation-wrap { height:50px; padding:0;}
	.header-wrap.fixed .navigation ul {	height:auto; background:#16100C; padding:0; float: none;}
    .header-wrap.fixed .navigation li {	margin-left:0;}
	.header-wrap .navigation li a,
	.header-wrap.fixed .navigation li a { width: 100%; display: block; padding: 17px 0; background:none; text-indent:1.5em;}
    .header-wrap.fixed .navigation li a:after {display:none;}
    .header-wrap.fixed .navigation li.address   { display:block;}
    .header-wrap.fixed .fixed-reservation       { display:none !important; }
    .header-wrap.fixed .navigation li.tablet-on { display:block; }
    .header-wrap.fixed .navigation li.phone     { display:block;}

    .nav-toggle { display: block;}
	.open .nav-toggle span:nth-child(1) {top: 6px;-webkit-transform: rotate(315deg);-moz-transform: rotate(315deg);transform: rotate(315deg);}
	.open .nav-toggle span:nth-child(2) {width: 0;left: 50%;}
	.open .nav-toggle span:nth-child(3) {top: 6px;-webkit-transform: rotate(-315deg);-moz-transform: rotate(-315deg);transform: rotate(-315deg);}
	.open .navigation {-moz-transform: translateY(800px);-webkit-transform: translateY(800px);transform: translateY(800px);}
	
    .reservation-btn { display:none;}
	.navigation li.access { display:block; }
    .navigation li.phone { display:block; }
}
@media screen and (max-width: 767px) {

}

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

		トップページ

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

.image-content-wrap {
    position:relative;
    width:100%;
    height:100vh;
    min-height:800px;
	box-sizing:border-box;
	overflow:hidden;
    }
.image-content {
    position: relative;
    width:100%;
    height:100vh;
    min-height:800px;
    z-index: -10;
    }
    .top_01 { background:url("../images/img/top/img_01.jpg") center center / cover; }
    .top_02 { background:url("../images/img/top/img_02.jpg") center center / cover; }
    .top_03 { background:url("../images/img/top/img_03.jpg") center center / cover; }
    .top_04 { background:url("../images/img/top/img_04.jpg") center center / cover; }

    .image-text-r {
    position: absolute;
    right:0;
    top:0;
    width:100%;
    max-width:400px;
    height:100%;
    background: rgba(0,0,0,.75);
    z-index: 10;
    }
    .image-text-l {
    position: absolute;
    left:0;
    top:0;
    width:100%;
    max-width:400px;
    height:100%;
    background: rgba(0,0,0,.75);
    z-index: 10;
    }
    .image-text-wrap {
    position: absolute;
    top:50%;
    left:50%;
    width:300px;
    height:700px;
    text-align: center;
    margin:-350px 0 0 -150px;
    }
        .image-text-wrap h2 img {
        max-width:200px;
        }
        .image-text-wrap h2.bar-title {
        color:#FFF;
        letter-spacing: .2em;
        }
        .image-text-wrap h2.bar-title:before {
        display: block;
        width: 1px;
        height: 60px;
        background: #FFF;
        margin: -60px auto 30px auto;
        content: "";
        }
        .image-text {
        padding-top:2rem;
        text-align: center;
        }
        .image-text-inner {
        display: inline-block;
        text-align: left;
        color:#FFF;
        font-size: 1.125rem;
        line-height: 2;
        letter-spacing: .1em;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -webkit-transition-duration: 2s;
        transition-duration: 2s;
        }
        .image-text-wrap .btn-wrap {
        position: absolute;
        bottom:0;
        left:50%;
        margin-left:-150px;
        width:300px;
        }

.loop-image-wrap {
    padding-top:1px;
    }

.main-bar-title {
    color:#16100C;
    text-align: center;
    font-size:2rem;
    padding-bottom:2rem;
    letter-spacing: .2em;
    }
    .main-bar-title:before {
    display: block;
    width: 1px;
    height: 60px;
    background: #16100C;
    margin: 0 auto 1.5rem auto;
    content: "";
    }
    h3.main-bar-title {
    color:#16100C;
    text-align: center;
    font-size:1.5rem;
    padding-bottom:2rem;
    letter-spacing: .2em;
    }

.map {
    border:28px solid rgba(0,0,0,.25);
    width:100%;
    height:560px;
    box-sizing: border-box;
    margin-bottom:2rem;
    }
    .map iframe {
    width:100% !important;
	height:100% !important;
	vertical-align:bottom;
    }
.border-title {
    position: relative;
    margin-bottom:3rem;
    letter-spacing: .2em;
    }
    .border-title:before {
    content: '';
    position: absolute;
    top: 50%;
    left:0;
    display: inline-block;
    width: 100%;
    height: 1px;
    background-color:#16100C;
    z-index: -1;
    }
    .border-title span {
    background:#EFF0E8;
    padding:0 1.5rem;
    }
@media screen and (max-width: 959px) {
    .main-bar-title { font-size:1.6rem; }
    }
@media screen and (max-width: 767px) {
    .image-content-wrap { min-height: 650px; height: 100%;  }
    .image-content { min-height:650px; max-height: 650px; }
        .image-text-wrap h2.bar-title:before { height: 35px; margin: 0px auto 15px auto; }
        .image-text-r,.image-text-l { max-height: 650px; max-width:100%; background: rgba(0,0,0,.5); }
        .image-text-wrap { height:580px; margin-top:-290px; }
        .image-text-wrap h2 img { max-width:140px; }
    .main-bar-title { font-size:1.4rem; }
    .main-bar-title:before { height: 40px; }
    .map { border:15px solid rgba(0,0,0,.25);}
    .border-title { margin-bottom:2rem; }
}
@media screen and (max-width: 500px) {
    .border-title span {
    padding:0rem;
    }
}

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

		下層ページ

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

/*=================================================
		page-head-contents
==================================================*/

#page-head_contents{ background-color:#434343; height: 600px; margin:0 0 0 0; position: relative;}

    .facilities { background:url("../images/img/facilities/header.jpg") center center / cover;}
    .news { background:url("../images/img/news/header.jpg") center center / cover;}

.page-movie-cover-l { position: absolute; left:0; top:0; width:300px; height:600px; background: url("../images/parts/movie-left.png") left top repeat-y; z-index: 0; }
.page-movie-cover-r { position: absolute; right:0; top:0; width:300px; height:600px; background: url("../images/parts/movie-right.png") right top repeat-y; z-index: 0; }

@media screen and (max-width: 959px) {
    #page-head_contents { height: 40vh; min-height:350px; }
    .page-movie-cover-l { height: 40vh; min-height:350px; }
    .page-movie-cover-r { height: 40vh; min-height:350px; }
}

/*=================================================
		page-content
==================================================*/

.page-content {
    height:800px;
    position: relative;
    }
    .page-content-img {
    width:68%;
    height:100%;
    position:absolute;
    top:0;
    z-index: 0;
    overflow: hidden;
    }
    .page-content-img div {
    width:100%;
    height:100%;
    }

    .page-content-text {
    position: absolute;
    width:37%;
    background: #FFF;
    padding:50px;
    box-sizing:border-box;
    bottom:5%;
    z-index: 10;
    }
    .page-content-text h3 {
    padding-bottom:1.5rem;
    letter-spacing: .3em;
    }
    .content-l { left:0; }
    .content-r { right:0;}

@media screen and (max-width: 1600px) {
    .page-content { height:700px; }
    }
@media screen and (max-width: 1400px) {
    .page-content { height:600px; }
    }
@media screen and (max-width: 1280px) {
    .page-content { height:550px; }
    }
@media screen and (max-width: 959px) {
    .page-content { height: inherit;}
    .page-content-img  { position: relative; width:100%; height:400px;}
    .page-content-text { position: relative; width: 90%; left:5% !important; right:5% !important; bottom:inherit; margin-top:-50px; }
    .page-loop { margin-top:-15px;}
    }
@media only screen and (max-width: 650px) {
	.page-content-img  { height:320px;}
    .page-content-text { margin-top:-30px; padding:35px; }
    }

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

                facilities

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

.fac-01 { background:url("../images/img/facilities/img_01.jpg") center center / cover ;}
.fac-02 { background:url("../images/img/facilities/img_02.jpg") center center / cover ;}
.fac-03 { background:url("../images/img/facilities/img_03.jpg") center center / cover ;}

.hall-map-wrap {
    width:100%;
    padding:50px 0;
    background: #FFF;
    }
    .hall-map-content {
    width:100%;
    max-width:1080px;
    margin-left:auto;
    margin-right:auto;
    position: relative;
    }
    .hall-map {
    position: relative;
    z-index: 0;
    }
    .hall-map-text {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index: 10;
    }
    .hall-map-text p { position: absolute;}
    .hall-map-text p:nth-child(1)  { top: 68.656716%; left:20.37037%; width:14.537037%; height:24.179104%;}
    .hall-map-text p:nth-child(2)  { top: 70.149254%; left:4.907407%; width:14.537037%; height:23.58209%;}
    .hall-map-text p:nth-child(3)  { top: 45.671642%; left:0.925926%; width:16.296296%; height:23.283582%;}
    .hall-map-text p:nth-child(4)  { top: 6.268657%; left: 0; width:14.722222%; height:30%;}
    .hall-map-text p:nth-child(5)  { top: 12.985075%; left:14.907407%; width:15.37037%; height:24.776119%;}
    .hall-map-text p:nth-child(6)  { top:  0; left:27.592593%; width:15.185185%; height:24.477612%;}
    .hall-map-text p:nth-child(7)  { top: 4.40299%; left:40.81481%; width:14.722222%; height:31.940299%;}
    .hall-map-text p:nth-child(8)  { top: 0; left:55.740741%; width:19.907407%; height:29.552239%;}
    .hall-map-text p:nth-child(9)  { top: 3.432836%; left:76.018519%; width:20.277778%; height:34.029851%;}
    .hall-map-text p:nth-child(10) { top: 30.895522%; left:77.277778%; width:22.87037%; height:40.298507%;}
    .hall-map-text p:nth-child(11) { top: 74.62866%; left:62.77778%; width:15.092593%; height:27.313433%;}
    .hall-map-text p:nth-child(12) { top: 27.62866%; left:70.77778%; width:2.962963%; height:22.835821%;}
    .hall-map-text p:nth-child(13) { top: 57.62866%; left:68.77778%; width:2.87037%; height:18.059701%;}
    .hall-map-text p a img { transition: .5s ; transform: rotateZ( 0deg ) ;}
    .hall-map-text p a:hover img { opacity:1;filter: alpha(opacity=100);-ms-filter: "alpha( opacity=100 )"; transform: rotateZ( 10deg ) ; }
    

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

                cuisine

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

.cui-01 { background:url("../images/img/cuisine/img_01.jpg") center center / cover ;}
.cui-02 { background:url("../images/img/cuisine/img_03.jpg") center center / cover ;}

.oshinagaki {
    width:100%;
    height:100vh;
    min-height:800px;
    position: relative;
    background: url("../images/img/cuisine/img_02.jpg") center center / cover;
    }
.oshinagaki-wrap {
    position: absolute;
    top:50%;
    left:50%;
    width:450px;
    height:600px;
    text-align: center;
    margin:-350px 0 0 -225px;
    }
        .oshinagaki-text {
        padding-top:2rem;
        text-align: center;
        }
        .oshinagaki-inner {
        display: inline-block;
        text-align: left;
        color:#FFF;
        font-size: 1.125rem;
        line-height: 2;
        letter-spacing: .1em;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -webkit-transition-duration: 2s;
        transition-duration: 2s;
        text-orientation: upright;
        }
        .oshinagaki-inner p {
        line-height: 300%;
        }
        .oshinagaki-inner p:before {
        display: inline-block;
        width: 1px;
        height: 40px;
        background: #FFF;
        margin: -50px auto 30px auto;
        content: "";
        }
        .oshinagaki-wrap .oshinagaki-memo {
        position: absolute;
        bottom:0;
        width:100%;
        text-align: center;
        color:#FFF;
        }
@media screen and (max-width: 960px) {
    .oshinagaki-wrap { width:430px; margin:-350px 0 0 -215px; }
    .oshinagaki-inner p { line-height: 200%; }
    }
@media screen and (max-width: 767px) {
    .oshinagaki { height:680px; min-height: inherit;}
    .oshinagaki-wrap { width:300px; margin:-230px 0 0 -150px; height:500px;}
    .oshinagaki-inner p { line-height: 200%; }
    }

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

                ROOMS

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

.roo-01 { background:url("../images/img/rooms/img_01.jpg") center center / cover ;}
.roo-02 { background:url("../images/img/rooms/img_02.jpg") center center / cover ;}
.roo-03 { background:url("../images/img/rooms/img_03.jpg") center center / cover ;}

.table {
    background: none;
    width:100%;
    box-sizing:border-box;
	border-collapse: collapse;
    border-top:1px solid #BBB;
    }
    .table tr {
    border-bottom:1px solid #BBB;
    }
    .table th {
	padding:9px 1.5em;
	font-weight: 600;
	line-height:150%;
    vertical-align: middle;
    min-width:11em;
    box-sizing: border-box;
	}
    .table.table-2 th {
    min-width:7em;
	}
	.table td {
	padding:9px 1.5em;
	font-weight:500;
	line-height:150%;
	text-align: left;
    box-sizing: border-box;
	}

@media only screen and (max-width: 767px) {
    .table th { width:100% !important; border-bottom:1px dotted #BBB; display: block !important; background: rgba(0,0,0,.1);}
    .table td { width:100% !important; display: block !important;}
    .left-border-td td:before {content:""; padding-right:0; }
}

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

                spa

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

.spa-01 { background:url("../images/img/spa/img_01.jpg") center center / cover ;}
.spa-02 { background:url("../images/img/spa/img_02.jpg") center center / cover ;}
.spa-03 { background:url("../images/img/spa/img_03.jpg") center center / cover ;}


.news-contents {
    width:74.576271%;
    float:right;
    padding-bottom:2rem;
    }
    .news-content article {
    margin-bottom:1.5rem;
    }
    .sidebar {
    width:23.728814%;
    float:left;
    }
.news-title {
    padding:.5rem 0;
    }
    .news-title h3 { font-size:1rem; }
    .news-title p {font-size:.75rem; text-align: right;}

.sidebar-widget {
    padding-bottom:2rem;
    }
    .sidebar-widget h3 {
    font-size:1.3125rem;
    padding-bottom:.5rem;
    }
    .sidebar-widget ul {
    }
    .sidebar-widget li {
    line-height:135%;
    padding:.25rem 0;
    }
    .sidebar-widget li:before {
    content:"-";
    padding-left:-1.2em;
    padding-right:.5em;
    }

@media only screen and (max-width: 959px) {
    .news-contents { width:100%; float:none; }
    .sidebar { width:100%; float:none; }
    .sidebar-widget h3 { text-align: center; }
    .sidebar-widget li { width:45%; margin-left:5%; float: left; border-bottom:1px dotted #CCC; padding:.75rem 0;}
}


/*=================================================
		hover-zoom
==================================================*/

.hover-zoom__image {
    overflow: hidden;
    position: relative;
    width:100%;
    background: #FFF;
    -webkit-transition-duration: 0.5s;
    transition-duration:         0.5s;
    -webkit-transition  : all .5s ease-in;
        -moz-transition : all .5s ease-in;
        -ms-transition  : all .5s ease-in;
            transition  : all .5s ease-in;
    }
    .hover-zoom__image figure {
    -webkit-transition-duration: 0.5s;
    transition-duration:         0.5s;
    -webkit-transition  : all .5s ease-out;
        -moz-transition : all .5s ease-out;
        -ms-transition  : all .5s ease-out;
            transition  : all .5s ease-out;
    }
    .hover-zoom__image:hover {
    background: #111;
    }
    .hover-zoom__image:hover figure {
    opacity: 1;
    -moz-transform:    scale(1.2);
    -webkit-transform: scale(1.2);
    -ms-transform:     scale(1.2);
    transform:         scale(1.2);
    }

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

                english

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

.main-bar-title.en {
    letter-spacing: .02em;
    }
.slide-text {
	width:100%;
	overflow:hidden;
	position:relative;
    margin-bottom:1.5rem;
    }

.english-slide {
    padding-bottom:1.5rem;
    }

.en-table {
    width:100%;
    box-sizing:border-box;
	border-collapse: collapse;
    border-top:1px solid #BBB;
    }
    .en-table tr {
    border-bottom:1px solid #BBB;
    }
    .en-table th {
	padding:9px 1.5em;
	font-weight: 800;
	line-height:150%;
    vertical-align: middle;
    min-width:33%;
    box-sizing: border-box;
    background:rgba(0,0,0,.05);
	}
	.en-table td {
	padding:9px 1.5em;
	font-weight:500;
	line-height:150%;
	text-align: left;
    width:33%;
    box-sizing: border-box;
    border-left:1px solid #BBB;
	}

@media only screen and (max-width: 959px) {
    .slide-text:hover .mask { opacity:0;}
    }









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

		フッター

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

footer {
	width:100%;
	background: url("../images/parts/footer-back.jpg") center center / cover;
	position:relative;
	}
    footer p { color:#FFF; }
    .footer-logo {
    width:100%;
    max-width:140px;
    margin:0 auto;
    padding-bottom:2rem;
    }
    .footer-menu {
    max-width:1080px;
    margin:0 auto;
    text-align: center;
    padding-top:1rem;
    padding-bottom:1rem;
    }
        .footer-menu li {
        display: inline-block;
        }
        .footer-menu li a {
        padding:10px 15px 0;
        color:#FFF;
        }
        .footer-menu li a:hover {
        text-decoration:underline;
        }
.copyright {
	padding:30px 0 20px;
	text-align:center;
	letter-spacing:0;
	line-height:1;
	z-index:10;
	position:relative;
	}
.copyright p {
	color:#DDD;
	padding:0;
	font-size:.8rem;
	line-height:1;
	}

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

		ページトップ

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

#totop {
	display:none;
	*display:block; /* IE 7 and below */
	position:fixed;
	bottom:20px;
	right:20px;
	z-index:999;
	}
:root *> #totop { display:none;	}
#totop { display:block9; }
*+html #totop { display:block; }
#totop.open { display:block; }
a.totop{ background: url(../images/parts/totop.png) no-repeat center top; background-size:cover;width:57px;height:56px;display:block;cursor:pointer;}
a.totop:hover{ background-position:center bottom;}
@media only screen and (max-width: 767px) {
    #totop { bottom:0; right:0;}
	a.totop{ width:36px;height:36px;}
}
