@charset "utf-8";

/*------------------------------------------------------------

	トップページ

------------------------------------------------------------*/

#header {

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    z-index: 1000;

}

#opening{

	position: fixed;

	top: 0;

	left: 0;

	width: 100%;

	height: 100%;

	background-color: #fff;

	z-index: 99999;

}



#opening .videoBox {

	position: absolute;

	z-index: -1;

	top: 0;

	left: 0;

	bottom: 0;

	right: 0;

	overflow: hidden;

	background:transparent none no-repeat 50% 50%;

	background-size: cover;

}



#opening .videoBox video {

	margin: auto;

	position: absolute;

	z-index: -1;

	top: 50%;

	left: 50%;

	transform: translate(-50%, -50%);

	visibility: visible;

	opacity: 1;

	width: auto;

	height: auto;

}



#opening .overlay{

	position: absolute;

	top: 0;

	left: 0;

	width: 100%;

	height: 100%;

	display: none;

}

#opening .overlay .movieTitle {

	font-family: "遊明朝", YuMincho, serif;

	font-size: 0;

	position: absolute;

	top: 40%;

	bottom: 50%;

	left: 0;

	right: 0;

}

#opening .overlay .movieTitle .txt {

	font-family: "遊明朝", YuMincho, serif;

	display:inline-block;

    font-size: 50px;

    padding: 0 2px;

}



#opening .overlay .movieLogo{

	/*width: 422px;*/

	width: 366px;

	position: absolute;

	bottom: 20%;

	left: 50%;

	right: 50%;

	margin-left: -183px;

}

#opening .overlay .movieLogo img{

	width: 100%;

	margin-bottom: 4px;

}

#opening .overlay .movieLogo .txt{

	font-family: "遊明朝", YuMincho, serif;

	display: block;

	font-size: 15.28px;

	text-align: center;

	letter-spacing:-0.05em;

}

.mainVisual {

    position: relative;

    height: 718px;

    margin: 48px 0 0;

    /*background: url(../img/index/main_visual_bg.jpg) repeat-x center top;*/

    background-size: auto 100%;

}



.mainVisual a {

    margin-left: -46px;

    padding: 32px 10px 10px;

    width: 77px;

    height: 55px;

    position: absolute;

    left: 50%;

    bottom: 45px;

    color: #000;

    font-family: 'EB Garamond', serif;

    font-size: 1.9em;

    text-align: center;

    border-radius: 50%;

    background: url(../img/common/scroll_bg.png) repeat left top;

}



.mainVisual a:hover {

    background-color: #FFF;

}



.mainVisual a span {

    padding-bottom: 26px;

    display: inline-block;

    background: url(../img/common/icon03.png) no-repeat center bottom;

}



/* メインヴィジュアル：スライドショー */

/*

.mainVisual .swiper-container {

    width: 100%;

    height: 100%;

}



.mainVisual .swiper-container .swiper-slide {

    width: 100%;

    height: 100%;

    overflow: hidden;

    background-repeat: no-repeat;

    background-size: cover;

    background-position: center;

}

*/

/* /メインヴィジュアル：スライドショー */



.mainVisual .mainVisual_videoBox {

    width: 100%;

    height: 100%;

    overflow: hidden;

    display: block;

    position: relative;

}



.mainVisual .mainVisual_videoBox::after {

    content: "";

    width: 100%;

    height: 100%;

    display: block;

    position: absolute;

    top: 0;

    left: 0;

    z-index: 5;

}



.mainVisual .mainVisual_videoBox #mainVisual_player {

    position: absolute;

    top: 50%;

    left: 50%;

    -webkit-transform: translate(-50%,-50%);

    transform: translate(-50%,-50%);

}





.mainVisual .scrollBtn {

    z-index: 999;

}



#gNavi ul {

    width: auto;

}



#main {

    padding: 10px 0 50px;

    width: auto;

    position: relative;

}



#main h2 {

    margin: 0 28px 50px;

    font-size: 1.6em;

    font-weight: normal;

}



#main h2 span {

    margin-right: 7px;

    font-size: 2.7em;

    font-family: 'Prata', serif;

    letter-spacing: 1.5px;

}



#main .more {

    font-size: 1.9em;

    position: absolute;

    right: 0;

    bottom: -41px;

    width: 249px;

    text-align: center;

    letter-spacing: 2px;

}



#main .more a {

    padding: 9px 30px 11px 0;

    height: 28px;

    position: relative;

    display: block;

	color: #FFF;

    text-decoration: none;

    -webkit-transition: all 0.3s;

    -moz-transition: all 0.3s;

    transition: all 0.3s;

	background-color: #000;

    z-index: 10;

    border-style: solid;

    border-color: #000;

    border-width: 2px 0 2px 2px;

}



#main .more a:before {

    margin-top: -26px;

    width: 47px;

    height: 52px;

    position: absolute;

    right: 0;

    top: 50%;

    background: #4B4B4B url(../img/index/arrow_img.gif) no-repeat left top;

    background-size: 47px 48px;

    content: '';

    border-left: 2px solid #000;

}

#main .more a:hover:before {

    background: #000 url(../img/index/arrow_img02.gif) no-repeat left top;

}



#main .more a:after {

    content: '';

    position: absolute;

    z-index: -1;

    -webkit-transition: all 0.3s;

    -moz-transition: all 0.3s;

    transition: all 0.3s;

    width: 0%;

    height: 100%;

    top: 0;

    left: 0;

	background: #FFF;

}



#main .more a:hover,

#main .more a:active {

	color: #000;

}



#main .more a:hover:after,

#main .more a:active:after {

    width: 100%;

}



#main .inner01 {

    padding: 0 3.5% 65px 0;

    overflow: hidden;

    /*background: url(../img/index/inner_bg_l.gif) no-repeat center top;*/

}



#main .inner01 .box__inner {

    position: relative;

}



#main .inner01 .lBox {

    padding: 47px 3% 7px 2.7%;

    margin-top: 15px;

    float: left;

    width: 64%;

    position: relative;

    background-color: #D6D6D6;

    box-sizing: border-box;

}



#main .inner01 .main-title {

    float: left;

    position: relative;

    margin: 63px 0 0 30px;

}



#main .inner01 h2 {

    margin: 0;

    font-size: 3.7em;

    line-height: 1.35;

    font-family: 'Prata', serif;

}



#main .inner01 .lBox p {

    margin-bottom: 29px;

    font-size: 1.6em;

}



#main .inner01 .lBox ul {

    margin-bottom: 7px;

}



#main .inner01 .lBox ul li {

    padding-left: 1px;

    margin-left: 5px;

		width: 31%;

    float: left;

    position: relative;

    box-sizing: border-box;

}



#main .inner01 .lBox ul li:first-child {

    padding: 0;

}



#main .inner01 .lBox ul li img {

    width: 100%;

    height: auto;

    max-width: 251px;

}



#main .inner01 .lBox ul li:first-child img {

    max-width: 232px;

}



#main .inner01 .lBox ul li .hoverBg {

    width: 100%;

    height: 100%;

    display: none;

    position: absolute;

    left: 0;

    top: 0;

    box-sizing: border-box;

    border: 3px solid #8C52C8;

}



#main .inner01 .lBox ul li a:hover .hoverBg {

    display: block;

}



#main .inner01 .lBox .text {

    margin: 0;

    font-size: 2em;

}



#main .inner01 .lBox .text span {

    font-size: 1.8em;

    font-family: 'Prata', serif;

}



#main .inner01 .lBox .more {

    right: 5%;

}



#main .inner01 .rBox {

    margin-top: 40px;

    color: #fff;

    float: right;

    position: relative;

    width: 28%;

    background-color: #191919;

    box-shadow: 0 0 0 3px #fff, 0 0 0 20px #191919;

}



#main .inner01 .rBox a {

    padding: 35px 9.4% 40px;

    display: block;

    color: #FFF;

    text-decoration: none;

    box-sizing: border-box;

    text-align: center;

}



#main .inner01 .rBox:hover {

    background-color: #8643a0;

}



#main .inner01 .rBox h2 {

    margin-bottom: 5px;

    font-size: 4em;

}



#main .inner01 .rBox p {

    margin-bottom: 30px;

    font-size: 1.6em;

    line-height: 1.875;

}



#main .inner02 {

    padding: 19px 0 35px 0;

    overflow: hidden;

    /*background: url(../img/index/inner_bg.gif) no-repeat center top;*/

}



#main .inner02 .main-title {

    float: right;

    margin: -40px 0 0;

}

#main .inner02 h2 {

    margin: 0 0 38px;

}



#main .inner02 #flip {

    float: left;

    width: 33.08%;

    height: 370px;

    background: #791010;

}



#main .inner02 .movie {

    float: right;

    display: block;

    width: 59.31%;

    margin-top: 21px;

    background-color: #fff;

}



#main .inner02 .movie .in-box {

    padding: 4.5%;

}



#main .inner02 .movie h2 {

    margin-bottom: 10px;

}



#main .inner02 .movie h2 span {

    margin-bottom: -12px;

    display: block;

}



#main .inner02 .movie a {

    display: block;

    text-decoration: none;

    color: #000;

}



#main .inner02 .movie a .btn-border {

    float: right;

    width: 300px;

    z-index: auto;

}



#main .inner02 .movie a .btn-border img {

    width: 300px;

}



#main .inner02 .movie a:hover .btn-border {

    position: relative;

}



#main .inner02 .movie a:hover .btn-border:before,

#main .inner02 .movie a:hover .btn-border:after {

    content: '';

    border-style: solid;

    position: absolute;

    z-index: 500;

    border-radius: 3px;

    -webkit-box-sizing: border-box;

    -moz-box-sizing: border-box;

    box-sizing: border-box;

    -webkit-transition: all 0.3s;

    -moz-transition: all 0.3s;

    -ms-transition: all 0.3s;

    -o-transition: all 0.3s;

    transition: all 0.3s;

}



#main .inner02 .movie a:hover .btn-border:before {

    width: 0;

    height: 100%;

    border-width: 3px 0 3px 0;

    top: 0;

    left: 0;

    -webkit-transition-delay: 0.05s;

    transition-delay: 0.05s;

}



#main .inner02 .movie a:hover .btn-borderr:after {

    width: 100%;

    height: 0;

    border-width: 0 3px 0 3px;

    top: 0;

    left: 0;

}



#main .inner02 .movie a:hover .btn-border {

    background-color: transparent;

}



#main .inner02 .movie a:hover .btn-border:before,

#main .selected .inner02 .movie a:hover .btn-border:before {

    width: 100%;

    border-color: #a063df;

}



#main .inner02 .movie a:hover .btn-border:after,

#main .selected .inner02 .movie a:hover .btn-border:after {

    height: 100%;

    border-color: #a063df;

}



#main .inner02 .movie a:hover btn-border.style-black:before,

#main .selected .inner02 .movie a:hover .btn-border.style-black:before {

    width: 100%;

    border-color: #000;

}



#main .inner02 .movie a:hover btn-border.style-black:after,

#main .selected .inner02 .movie a:hover .btn-border.style-black:after {

    height: 100%;

    border-color: #000;

}







#main .inner02 .movie p {

    font-size: 1.8em;

    padding-right: 9%;

}



#main .inner02 .movie .dtStyle {

    margin-bottom: 2px;

}









#main .inner02 .blog {

    float: right;

    width: 30%;

    position: relative;

    background-color: #8A8A8A;

    box-shadow: 0 0 0 10px #5f5f5f, 0 0 0 13px #8A8A8A;

    margin-top: 105px;

    margin-right: 10px;

}



#main .inner02 .blog a {

    padding: 25px 0 70px 9%;

    display: block;

    color: #000;

    box-sizing: border-box;

    text-decoration: none;

}



#main .inner02 .blog:hover {

    background-color: #8643a0;

}



#main .inner02 .blog h2 {

    margin-bottom: 10px;

}



#main .inner02 .blog h2 span {

    margin-bottom: -12px;

    display: block;

}



#main .inner02 .blog a img {

    width: 210px;

    float: right;

    margin-top: 5px;

}



#main .inner02 .blog dt {

    margin-bottom: 8px;

    color: #000;

    font-size: 1.4em;

}



#main .inner02 .blog dd {

    margin-bottom: 30px;

    font-size: 1.8em;

    padding-right: 9%;

}



#main .inner02 .blog .dtStyle {

    margin-bottom: 2px;

}



#main .inner02 .information {

    padding: 0 2.8% 40px;

    margin-top: 110px;

    float: left;

    width: 59.31%;

    position: relative;

    background-color: #D6D6D6;

    box-sizing: border-box;

}



#main .inner02 .information .more {

    right: 4.2%;

    bottom: -71px;

}



#main .inner02 .information h2 {

    margin: -30px 0 53px;

}



#main .inner02 .information dl {

    font-size: 1.6em;

    line-height: 1.875;

}



#main .inner02 .information dt {

    float: left;

    letter-spacing: 1px;

}



#main .inner02 .information dt img {

    margin-left: 15px;

    vertical-align: middle;

}



#main .inner02 .information dd {

    padding: 0 0 35px 11.5em;

}



#main .inner02 .information dd a {

    color: #000;

}



#main .inner02 .information dd a:hover {

    color: #8643A0;

    text-decoration: underline;

}



#main .press {

    padding: 1px 35px 0;

    /*background: url(../img/index/press_bg.gif) no-repeat left top;*/

}



#main .press .main-title {

    margin: 0 0 45px -35px;

}



#main .press ul li {

    padding-left: 2.9375%;

    float: left;

    font-size: 1.4em;

    line-height: 1.2;

    width: 8.5%;

}



#main .press ul li a {

    color: #000;

    display: block;

}



#main .press ul li a:hover {

    text-decoration: none;

}



#main .press ul li:first-child {

    padding: 0;

}



#main .press ul li img {

    width: 100%;

    max-width: 104px;

    height: auto;

}



#main .press ul li span {

    display: block;

}



#main .press ul li .photo {

    margin-bottom: 7px;

    position: relative;

    top: 0;

    -webkit-transition: all 0.2s ease;

    -moz-transition: all 0.2s ease;

    -ms-transition: all 0.2s ease;

    -o-transition: all 0.2s ease;

    transition: all 0.2s ease;

}



#main .press ul li .photo span {

    position: absolute;

    top: -17px;

    right: -17px;

}



#main .press ul li a:hover .photo {

    top: -28px

}



#main .press ul li a:hover .photo img {

    /*margin-top: -28px;*/

}



#main .inner01 .lBox li {

    /*position: relative;*/

    /*display: block;*/

}



#main .inner01 .lBox a {

    display: block;

    text-decoration: none;

}



#main .btn-border {

    position: relative;

}



#main .btn-border:before,

#main .btn-border:after {

    content: '';

    border-style: solid;

    position: absolute;

    z-index: 500;

    border-radius: 3px;

    -webkit-box-sizing: border-box;

    -moz-box-sizing: border-box;

    box-sizing: border-box;

    -webkit-transition: all 0.3s;

    -moz-transition: all 0.3s;

    -ms-transition: all 0.3s;

    -o-transition: all 0.3s;

    transition: all 0.3s;

}



#main .btn-border:before {

    width: 0;

    height: 100%;

    border-width: 3px 0 3px 0;

    top: 0;

    left: 0;

    -webkit-transition-delay: 0.05s;

    transition-delay: 0.05s;

}



#main .btn-border:after {

    width: 100%;

    height: 0;

    border-width: 0 3px 0 3px;

    top: 0;

    left: 0;

}



#main .selected .btn-border:hover {

    background-color: transparent;

}



#main .btn-border:hover:before,

#main .selected .btn-border:before {

    width: 100%;

    border-color: #a063df;

}



#main .btn-border:hover:after,

#main .selected .btn-border:after {

    height: 100%;

    border-color: #a063df;

}



#main .btn-border.style-black:hover:before,

#main .selected .btn-border.style-black:before {

    width: 100%;

    border-color: #000;

}



#main .btn-border.style-black:hover:after,

#main .selected .btn-border.style-black:after {

    height: 100%;

    border-color: #000;

}



.animate-box {

    position: relative;

    z-index: 5;

}



.clear {

    clear: both;

}





.b-top-slider {

    position: relative;

    width: 100%;

    height: 100%;

    overflow: hidden;

}



.b-top-slider .b-top-slider__items {

    position: relative;

}

.b-top-slider .nivo-main-image {

    width: 100% !important;

}



.fixed {

    position: fixed !important;

		width: 100%;

    top: 48px;

		z-index: 100;

}



#footer {

    position: relative;

}





@media (max-width: 1024px) {

    #main .inner01 .rBox{

        margin-right: 20px;

    }



    #main .inner01 .rBox h2{

        font-size: 3em;

    }



    #main .inner01 .rBox p{

        font-size: 1.3em;

    }



    #main h2 span{

        font-size: 2em;

    }



    #header .lBox{

        min-width: 0;

        font-size: 0.9em;

    }



    #header .hTel img{

        width: 130px;

        height: auto;

    }



    #main .inner02 .main-title{

        margin: 0;

    }



    #main .inner02 .information{

        margin-right: -10px !important;

        padding: 0 !important;

    }



    #main .inner01 .lBox{

        margin-left: -10px !important;

    }



    #main .inner02,

    #main .inner01{

        padding: 30px 10px;

    }



    .mainVisual{

        height: auto;

    }





    #main .inner01 .lBox .more {

        right: -5.1%;

    }



    #main .more {

        width: 250px;

    }



    #main .lBox .more {

        bottom: -35px;

    }



    .mainVisual a{

        display: none;

    }



    #main .inner01 h2 img{

        width: 300px;

    }



    #main .inner02 .main-title img{

        width: 400px;

        margin-right: 5px;

    }



    #main .press .main-title img{

        width: 400px;

        margin-left: 5px;

    }



    body,

    #header,

    #main{

        min-width: 0;

    }



    #footer .fBox{

        width: auto;

    }



    #main .inner02 .blog {

        margin-left: 15px;

    }



    #main .inner02 .blog a {

        padding: 25px 0 30px 9%;

    }



    #main .inner02 .blog a img {

        float: none;

    }



    #main .inner02 .blog dl {

        margin-top: 20px;

    }



    #main .inner02 .information{

        margin: 80px 10px 0 0;

    }



    #main .inner02 .information .animate-box{

        padding: 20px;

    }



    #main .press ul li a{

        font-size: 12px;

    }



    #main .inner02 .information h2{

        margin-top: 5px;

    }



    #gNavi ul {

        min-width: 0;

    }



    #gNavi li {

        font-size: 1.2em;

    }





}

