@charset "utf-8";
/* CSS Document */


/* main_view
   ========================================================================== */
.main_view{
	margin: 0 0 0;
	position: relative;
	height: 100vh;
    min-height: 650px;
}

.main_view .fix{
    margin: auto;
	height: 100vh;
    min-height: 650px;
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    z-index: 4;
}

.main_view .inner{
	padding: 0 0 0;
	box-sizing: border-box;
	height: 100%;
    width: 98%;
    position: relative;
    z-index: 4;
}

.main_view .catch{
    position: absolute;
    margin: auto;
    top: 7%;
    left: 0;
    right: 0;
    width: 70%;
    max-width: 296px;
}

.main_view .page_title{
    position: absolute;
    margin: auto;
    top: 33%;
    left: 0;
    right: 0;
    width: 50%;
    max-width: 190px;
}

.main_view .kv_banner{
    position: absolute;
    margin: auto;
    top: 67%;
    left: 0;
    right: 0;
    width: 95%;
    max-width: 450px;
}

.main_view .kv_banner a{
    line-height: 0;
    display: inherit;
}


/* video
   ========================================================================== */
#bg_movie{
	position: fixed;
    width: auto;
    min-height: 130vh;
	top: 445px;
	left: 50%;
	transform: translate(-50%, -50%);
    z-index: -1;
}

#bg_movie_pc{
	position: fixed;
    width: 100%;
    height: auto;
    margin: auto;
    top: 0;
    right: 0;
    z-index: -1;
    display: none;
}

header .fix::before {
    content: "";
    background: rgba(0,0,0,.4);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
}


@media screen and (min-width : 500px){
 

    /* main_view
       ========================================================================== */
    .main_view .catch{
        top: 10%;
    }
    
    .main_view .page_title{
        top: 40%;
    }
    
    .main_view .kv_banner{
        top: 75%;
    }


    /* video
       ========================================================================== */
    #bg_movie{
       display: none;
    }
   
    #bg_movie_pc{
        display: block;
    }
   
    
}


/* message
   ========================================================================== */
.message{
	position: relative;
    z-index: 5;
}

.message .inner{
	padding: 10vw 1vw;
}

.message h2{
    padding-left: 2vw;
	font-size: 5.2vw;
    font-weight: 500;
}

.message h2,
.message p{
    text-align: center;
    font-family: "Noto Serif JP";
    color: #fff;
}

.message p{
    margin: 10vw 0 50vw;
	font-size: 4vw;
    line-height: 1.8;
    font-weight: 400;
}


/* page_title02
   ========================================================================== */
.page_title02{
	background: #000;
}

.page_title02 .inner{
	height: 30vw;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.page_title02 .title{
	line-height: 0;
    max-width: 450px;
    width: 90%;
}


/* scene_wrap
   ========================================================================== */
.scene_wrap .inner{
	height: 80vw;
    position: relative;
}

.scene_wrap .text_box{
    position: absolute;
}

.scene_wrap .text_box p{
    font-family: "Noto Serif JP";
    color: #fff;
    font-size: 4vw;
    line-height: 1.8;
}

.scene_wrap .scene01 .text_box{
    bottom: 8vw;
    right: 6vw;
}

.scene_wrap .scene02 .text_box{
    bottom: 8vw;
    left: 6vw;
}

.scene_wrap .scene03 .text_box{
    bottom: 8vw;
    right: 6vw;
}

.scene_wrap .scene04 .text_box{
    bottom: 8vw;
    left: 6vw;
}

.scene_wrap .scene05 .text_box{
    bottom: 8vw;
    left: 6vw;
}

.scene_wrap .scene06 .text_box{
    top: 48%;
    left: 6vw;
}


/* special_movie
   ========================================================================== */
.special_movie{
    padding: 8vw 0;
	background: #111;
}

.special_movie a{
    height: 80vw;
    display: block;
    position: relative;
}

.special_movie .inner{
    height: 80vw;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.special_movie .text{
    width: 45%;
    max-width: 305px;
    position: absolute;
    top: 8vw;
    left: 2vw;
}

.special_movie .text_box{
    display: block;
    position: absolute;
    bottom: 6vw;
    left: 4vw;
}

.special_movie .text_box .ttl{
    display: block;
    font-family: "Noto Serif JP";
    color: #fff;
    font-size: 3.5vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
}

.special_movie .text_box .sub{
    margin: 2vw 0 0;
    display: block;
    font-family: "Noto Serif JP";
    color: #fff;
    font-size: 6vw;
    letter-spacing: 0.1em;
    line-height: 1.5;
}

.special_movie svg{
    width: 15vw;
    color: rgba(255,255,255,.4);
}


/* limited
   ========================================================================== */
.limited{
	background: #000;
}

.limited .inner{
	height: 60vw;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.limited .title{
	line-height: 0;
    max-width: 502px;
    width: 85%;
}


/* photo_book
   ========================================================================== */
.photo_book .main{
    line-height: 0;
    position: relative;
    text-align: center;
    min-height: 80vw;
}

.photo_book .main .flex{
	display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.photo_book .main h2{
    margin: 0 0 10vw;
    font-family: "Noto Serif JP";
    color: #fff;
    font-weight: 400;
    font-size: 6vw;
    letter-spacing: 0.45em;
    line-height: 1.8;
}

.photo_book .main p{
    margin: 2vw 0 0;
    font-family: 'Jost';
    color: #fff;
    font-weight: 300;
    font-size: 6vw;
    letter-spacing: 0.45em;
    line-height: 1.5;
}

.photo_book .book_content{
    padding: 5vw 0 0;
    text-align: center;
}

.photo_book .book_content h3{
    padding: 0 2vw;
    line-height: 0;
}

.photo_book .book_content h4{
    margin: 6vw 8vw 0;
    padding: 0 0 6vw;
    line-height: 0;
    position: relative;
}

.photo_book .book_content h4::after{
    content: "";
    background: #707070;
    width: 1000%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: -500%;
}

.photo_book .book_content .box{
    margin: 6vw 0 0;
    position: relative;
}

.photo_book .book_content .box .book{
    position: absolute;
    margin: auto;
    top: 0;
    left: 3vw;
    width: 45%;
    z-index: 1;
}

.photo_book .book_content .box .book_index{
    padding: 2vw 0 0 50%;
    text-align: left;
    position: relative;
    z-index: 1;
}

.photo_book .book_content .box .book_index p{
    font-size: 3.5vw;
    line-height: 170%;
    color: #fff;
}

.photo_book .book_content .box .content_photo{
    padding: 10vw 0 0;
    position: relative;
}

.photo_book .book_content .box .content_photo .photo{
    width: 93%;
}

.photo_book .book_content .box .content_photo .photo:nth-child(1){
    position: relative;
    z-index: 1;
}

.photo_book .book_content .box .content_photo .photo:nth-child(2){
    position: absolute;
    right: -13vw;
    top: -25vw;
}


/* benefit
   ========================================================================== */
.benefit .inner{
    padding-top: 10vw;
}

.benefit h2{
    margin: auto;
    width: 85%;
    text-align: center;
    line-height: 0;
}

.benefit .box{
    margin: 10vw 0 0;
}

.benefit .box ul{
    margin: 0 0 0;
}

.benefit .box ul li{
    margin: 6vw 0 0;
    width: 95%;
    line-height: 0;
    text-align: center;
}

.benefit .price{
    margin: 10vw 0 0;
}

.benefit .price ul li{
    margin: 2vw 2vw 0;
    text-align: center;
    line-height: 0;
}

.benefit .price ul li:first-child{
    line-height: 0;
}

.benefit .delivery{
    margin: 8vw 0 0;
    line-height: 0;
    text-align: center;
}


/* year_block
   ========================================================================== */
.year_block .inner{
    padding-top: 15vw;
    text-align: center;
}

.year_block h2{
    margin: auto;
    width: 95%;
    line-height: 0;
    text-align: center;
}

.year_block ul{
    margin: 8vw 0 0;
}

.year_block ul li{
    margin: 4vw 2vw 0;
    text-align: center;
    line-height: 0;
}
 
.year_block ul li:first-child{
    line-height: 0;
}


/* please
   ========================================================================== */
.please .inner{
    padding-top: 10vw;
    padding-bottom: 20vw;
}

.please h3{
    font-family: "Noto Serif JP";
    color: #fff;
    font-weight: 600;
    font-size: 5vw;
    letter-spacing: 0.10em;
    line-height: 1.8;
    text-align: center;
}

.please p{
    margin: 8vw 2vw  0;
    color: #fff;
    font-weight: 400;
    font-size: 3.5vw;
    letter-spacing: 0.10em;
    line-height: 1.65;
}


/* cv
   ========================================================================== */
.cv{
    background: #111;
}

.cv .inner{
    padding: 6vw 2vw 10vw;
    text-align: center;
}

.cv.middle{
    margin: 8vw 0 0;
}

.cv.middle .inner{
    padding: 6vw 2vw 6vw;
}

.cv .buy_block .box{
    margin: auto;
    width: 100%;
}

.cv .buy_block .box a{
    display: block;
}

.cv .tel_block{
    margin: 6vw auto 0;
    width: 90%;
}

.cv .tel_block a{
    display: block;
    line-height: 0;
}

.cv .tel_block a .text{
    margin: 2vw 0 0;
    text-align: left;
    display: block;
    font-size: 1.2vw;
    line-height: 1.5;
    color: #fff;
}


/* to_home
   ========================================================================== */
.to_home .inner{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 45vw;
}

.to_home .to_home_btn{
    margin: auto;
    width: 80%;
    line-height: 0;
}

.to_home .to_home_btn a{
    line-height: 0;
    display: block;
}


/* last_message
   ========================================================================== */
.last_message .inner{
    height: 100vw;
    position: relative;
}

.last_message h2{
    font-family: "Noto Serif JP";
    color: #fff;
    font-weight: 400;
    font-size: 6vw;
    letter-spacing: 0.1em;
    line-height: 45px;
    position: absolute;
    top: 50%;
    left: 6vw;
}

.last_message .page_title{
    margin: auto;
    display: flex;
    height: 20vw;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: absolute;
    bottom: 6vw;
    left: 0;
    right: 0;
    z-index: 1;
}

.last_message .inner::after{
    content: "";
    width: 1000%;
    height: 20vw;
    background: rgba(0,0,0,.69);
    position: absolute;
    bottom: 6vw;
    left: -500%;
}

.last_message .page_title img{
    width: 70%;
}

    
/* footer
   ========================================================================== */
footer{
	padding: 8vw 0;
	text-align: center;
}
	
footer address{
	font-size: 3vw;
	font-family: 'Jost';
    font-weight: 300;
    letter-spacing: 0.10em;
	color: #fff;
	text-align: center;
}


/* TOPへ戻るボタン
   ========================================================================== */
#page-top {
	position: fixed;
    width: 40px;
	bottom: 10px;
	right: 10px;
	z-index: 100;
    line-height: 0;
}
	
#page-top a{
	display: block;
	transition: ease-in 0.3s;
    line-height: 0;
}
	
#page-top a:hover{
	opacity: 0.8;
}



/* notice */

.notice{
    padding: 0 0 3vw;
    background: #FFF;
    position: relative;
    z-index: 10;
}

.notice .inbox{
    padding: 1vw;
    position: relative;
    border: 3px solid #13145D;
}

.notice .inbox .box{
    padding: 2vw 0;
    position: relative;
    border: 1px solid #13145D;
}

.notice .ttl{
    font-size: 4vw;
    font-weight: bold;
    color: #F70501;
    text-align: center;
}

.notice p{
    margin: 3vw;
    font-size: 3.5vw;
    line-height: 150%;
}
