@charset "utf-8";
:root {
  /* store */
  --fontgothic: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", 'メイリオ', 'Meiryo', sans-serif;
  --fontmincho: 'Lora', serif, "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  --red: #8c0201;
}
/* /all-color */

::-webkit-scrollbar {width: 10px}
::-webkit-scrollbar-thumb {background: rgba(0,0,0,0.3);border-radius: 5px}

* {margin: 0;padding: 0;}

/* shadow box */
#sb-title-inner,#sb-info-inner,#sb-loading-inner,div.sb-message{font-family:"HelveticaNeue-Light","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:200;color:#fff;}
#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:999;text-align:left;visibility:hidden;display:none;z-index: 1001}
#sb-overlay{position:relative;height:100%;width:100%;}
#sb-wrapper{position:absolute;visibility:hidden;width:100px;}
#sb-wrapper-inner{position:relative;border:1px solid #303030;overflow:hidden;height:100px;  margin: 5px auto;}
#sb-body{position:relative;height:100%;}
#sb-body-inner{position:absolute;height:100%;width:100%;}
#sb-player.html{height:100%;overflow:auto;}
#sb-body img{border:none;}
#sb-loading{position:relative;height:100%;}
#sb-loading-inner{position:absolute;font-size:14px;line-height:24px;height:24px;top:50%;margin-top:-12px;width:100%;text-align:center;}
#sb-loading-inner span{background:url(../images/loading.gif) no-repeat;padding-left:34px;display:inline-block;}
#sb-body,#sb-loading{background-color:#060606;}
#sb-title,#sb-info{position:relative;margin:0;padding:0;overflow:hidden;}
#sb-title,#sb-title-inner{height:26px;line-height:26px;}
#sb-title-inner{font-size:16px;}
#sb-info,#sb-info-inner{height:20px;line-height:20px;}
#sb-info-inner{font-size:12px;}
#sb-nav {float: right;height: 20px;padding: 0;width: 45%;}
#sb-nav a {display: block;float: right;height: 20px;width: 20px;margin-left: 3px;cursor: pointer;background-repeat: no-repeat;}
#sb-nav-close{background-image:url(../images/close.png);background-size: contain;}
/*
#sb-nav-next{background-image:url(next.png);}
#sb-nav-previous{background-image:url(previous.png);}
#sb-nav-play{background-image:url(play.png);}
#sb-nav-pause{background-image:url(pause.png);}
*/
#sb-counter{float:left;width:45%;}
#sb-counter a{padding:0 4px 0 0;text-decoration:none;cursor:pointer;color:#fff;}
#sb-counter a.sb-counter-current{text-decoration:underline;}
div.sb-message{font-size:12px;padding:10px;text-align:center;}
div.sb-message a:link,div.sb-message a:visited{color:#fff;text-decoration:underline;}
/* /shadow box */

body {
	/*font-family: '游明朝', 'YuMincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN W3', 'HiraMinProN-W3', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'Noto Serif JP', serif;
	*/
    line-height: 1.2;
	background-color: #fff;
	width: 100%;
	overflow-x: hidden !important;
	color: #000;
	z-index: 1;

    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;

}

body#under {

    header {
        position: absolute;
        width: 100%;
    }

}

a {text-decoration: none;transition: all 0.4s;}

a:hover {opacity: 0.8;}

img {vertical-align: top;}

/* iOS */

input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]::focus,e
input[type="button"]::focus {
	outline-offset: -2px;
}

input, button, textarea, select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* /iOS */

/* flex */

.flex {
  	display:-ms-flexbox;
  	display:flex;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	justify-content: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
}

.flex-s {justify-content:flex-start!important;}
.space-a {justify-content: space-around!important;}
.space-b {justify-content: space-between!important;}
.item-c {align-items: center;}

/* /flex */

.pc_none {display: none !important;}

a.btn {
    line-height: 60px;
    text-align: center;
    font-size: 22px;
    color: #fff;
    display: inline-block;
    vertical-align: top;
    margin-left: 2%;
    width: calc(60% - 2px);
    max-width: 388px;
    position: relative;

    img {
        width: 40px;
        position: absolute;
        top: 9px;
        right: 12px;
    }
}

main {
	padding-bottom: 120px;
	position: relative;
	/*z-index: 10;*/
}

header {position: relative;z-index: 50;}

/***** main btn *****/

/** m-btn01 **/

.m-btn01 {
    position: relative;
    align-items: center;
    border: 1px solid #000;
    border-radius: 3.75rem;
    display: inline-flex;
    min-height: 2.75rem;
    min-width: 22.25rem;
    padding: .5625rem .5rem .5625rem 1.4375rem;

    @media only screen and (min-width: 768px) {
        padding:.5625rem 1.4375rem;
        transition: .3s ease-out;
        transition-property: border,background;
    }
}

@media only screen and (min-width: 768px) and (hover:hover) {
    .m-btn01:hover {
        background:#fff;
        border-color: #000;
        opacity: 1;
    }
}

.m-btn01:hover .arrow {
    -webkit-transform: translate(.875rem);
    transform: translate(.875rem);
    width: 2.5rem;
}

.m-btn01:hover .arrow:before {
    background: #000;
    width: 2.5rem;
}

.m-btn01:hover .arrow:after {
    opacity: 1;
    -webkit-transform: translate(.3125rem,-50%);
    transform: translate(.3125rem,-50%)
}


@media only screen and (min-width: 768px) and (hover:none) {

    .m-btn01:active {
        background:#cf2f33;
        border-color: #cf2f33;

        .en {
            color: #fff
        }

        .arrow {
            -webkit-transform: translate(.875rem);
            transform: translate(.875rem);
            width: 2.5rem
        }

        .arrow:before {
            background: #000;
            width: 2.5rem
        }

        .arrow:after {
            opacity: 1;
            -webkit-transform: translate(.3125rem,-50%);
            transform: translate(.3125rem,-50%)
        }
    }

}

.m-btn01 .en,.m-btn01 .txt {
    font-size: 2.875rem;
    position: relative;

    @media only screen and (min-width: 768px) {
        transition:.3s ease-out;
        transition-property: color
    }
}

.m-btn01 .en {
    letter-spacing: .06em;

    @media only screen and (min-width: 768px) {
        letter-spacing:0
    }
}

.m-btn01 .arrow {
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    position: relative;
    width: 2.5rem;
    position: absolute;
    right: 22px;

    @media only screen and (min-width: 768px) {
        transition:.3s ease-out;
        width: 1.5rem
    }
}

.m-btn01 .arrow:after,.m-btn01 .arrow:before {
    content: "";
    display: block;
    position: absolute
}

.m-btn01 .arrow:before {
    animation: btnMove 2.5s ease-out infinite;
    aspect-ratio: 1/1;
    background: #000;
    border-radius: 50%;
    left: 0;
    top: 0;
    width: 100%;

    @media only screen and (min-width: 768px) {
        animation: none;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
        transition: .3s ease-out;
        transition-property: width,background;
        width: 1.5rem
    }
}

.m-btn01 .arrow:after {
    aspect-ratio: 1/1;
    background: url(../images/b_arr.png) no-repeat 50%/100% auto;
    right: .75rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 1.0625rem;

    @media only screen and (min-width: 768px) {
        opacity:0;
        right: 1rem;
        transition: .3s ease-out;
        transition-property: opacity,-webkit-transform;
        transition-property: transform,opacity;
        transition-property: transform,opacity,-webkit-transform
    }
}


.m-btn01.-black {
    background: #fff;
    color: #960000;
}

@media only screen and (min-width: 768px) and (hover:hover) {
    .m-btn01.-black:hover {
        background:#fff
    }

    .m-btn01.-black:hover .en {
        color: #000
    }

    .m-btn01.-black:hover .arrow:before {
        background: #000
    }
}

@media only screen and (min-width: 768px) and (hover:none) {
    .m-btn01.-black:active {
        background:#fff
    }

    .m-btn01.-black:active .en {
        color: #fff
    }

    .m-btn01.-black:active .arrow:before {
        background: #000
    }
}

.m-btn01.-black .arrow:before {
    background: #000;
}

.m-btn01.-black .arrow:after {
    background: url(../images/b_arr.png) no-repeat 50%/100% auto
}

@media only screen and (min-width: 768px) {
    .m-btn01.-black .arrow:after {
        background:url(../images/b_arr.png) no-repeat 50%/100% auto
    }
}

/** /m-btn01 **/

/** m-btn02 **/

.m-btn02 {
	display: inline-block;
	width: 250px;
	text-align: center;
	text-decoration: none;
	line-height: 60px;
	outline: none;
	color: #960000;
	background-color: #fff;
	position: relative;
	border: 1px solid #960000;
	transition: color 0.5s ease;

	.text {position: relative;}
}

.m-btn02:hover {color: #fff;}

.m-btn02:hover::before {transform: scaleY(1);}

.m-btn02::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #960000;
    transform: scaleY(0);
    transition: all 0.5s ease;
    transition-property: transform;
}

/** m-btn02 **/

/** m-btn03 **/

.m-btn03 {
    display: inline-block;
    width: 100%;
    max-width: 100px;
    text-align: center;
    text-decoration: none;
    line-height: 1;
    box-sizing: border-box;
    outline: none;
    color: #fff;
    border: 2px solid #000;
    background-color: #000;
    border-radius: 50px;
    -webkit-transition: all .3s;
    transition: all .3s;
    padding: 12px 0;
    font-size: 14px;
    font-weight: bold;
}

.m-btn03:hover {
    color: #960000;
    border:2px solid #960000;
    background-color: #fff;
}

/** /m-btn03 **/

.m-viewmore {
    text-align: center;
    margin: 1.5% auto;

    .m-btn01 {
        min-width: 14.25rem;
    }

    .m-btn01 .en, .m-btn01 .txt {
        font-size: 1.3rem;
        position: relative;
    }
}

/***** /main btn *****/

/* top header */

header .main_head {
    background: rgba(0, 0, 0, 10);
    background: linear-gradient(0deg,rgba(0, 0, 0, 0) 29%, rgba(0, 0, 0, 0.8) 100%);
    width: 100%;
    padding: 16px 0 16px;
    box-sizing: border-box;
    position: absolute;
    z-index: 1000;
	top: 0;

    .boxs {
        display: flex;
        width: 100%;
        justify-content: space-between;
        padding: 10px 20px 10px;
        box-sizing: border-box;

        .logo {
            width: 20%;
            margin-left: 8%;

            img {
                height: auto;
                width: 100%;
                max-width: 240px;
            }
        }

        .telbox {
            color: #fff;

            .tel {
                font-size: 20px;

                span {font-size: 41px;}
            }

            .open {
                font-size: 18px;
                background: #3b539b;
                padding: 4px;
                margin-left: 10px;
            }
        }

        .nav {
            width: 92%;

            ul {
                display: flex;
                justify-content: flex-end;

                li {
                    font-size: 1vw;
                    padding: 0;
                    text-align: center;
                    display: block;
                    line-height: 2;
                    position: relative;
                    z-index: 1;
                    transition: .3s;
                    width: 7.4vw;

                    a {
                        color: #fff;
                        transition: all 1s;
                        padding: 10px 0 0;
                        display: block;
                        text-align: center;
                        transition-duration: .4s;

                        span {
                            display: block;
                            text-align: center;
                            font-size: 0.9vw;
                        } 
                    }

                    a:hover {
                        color: #960000;
                        opacity: 1;
                    }
                }

                li:hover {
                    transition: all 0.5s;
                    background: none;
                    opacity: 1;

                    a {color: #960000;}

                }
            }
        }

        .right_box {
            float: right;
            padding: 0 70px 0 0;

            .btn {
                color: #fff;

                span {display: block;}
            }
        }
    }

    .inner {
        width: 76%;
    
        .infobox {
            justify-content: space-between;
            width: 90%;
        }
    }
}

.top_header_movie {
    width: 100%;
    position: relative;
    height: 10vw;
    
}

.top_header_cover {
    width: 100%;
    height: 100vh;
    position: relative;

    img {
        width: 100vw;
        z-index: -1;
        position: fixed;
        top: 0;
    }
}

#index .top_header_cover {
    width: 100%;
    height: auto;
    position: relative;

    img {
        width: 100vw;
        z-index: -1;
        position: fixed;
        top: 0;
    }
}

header .header_bar {
    position: fixed;
    width: 100%;
    z-index: 995;
    top: 0;
    background: rgba(0, 0, 0, .8);

    .boxs {
        display: flex;
        width: 100%;
        padding: 10px;
        box-sizing: border-box;
        margin: auto;
        justify-content: center;

        .logo {
            width: 140px;
        
            img {
                height: auto;
                width: 100%;
                padding: 0 0 0;
            }
        }

        .right_box {
            float: right;
            padding: 0 70px 0 0;

            .btn {
                color: #fff;

                span {display: block;}
            }
        }
    }
}

/* /top header */

footer {
    background: #600000;
    z-index: 2;
    position: relative;
    padding: 5% 0 0;
    box-sizing: border-box;

    .logo {
        text-align: center;
        margin: 2% auto;

        img {width: 240px;}
    }

    #footer {
        display: flow-root;
        width: 98%;
        margin: auto;
        padding: 0 0 20px;

        .navbox {
            width: 100%;
            margin-top: 10px;
        
            ul {
                width: 100%;
                max-width: 1000px;
                margin: 0 auto;

                li {
                    color: #fff;
                    font-size: 18px;
                    position: relative;
                    line-height: 1.8;

                    a {
                        color: #fff;
                        padding-left: 10px;
                        position: relative;
                        font-size: 16px;
                        font-weight: 100;
                        transition: all 1s;
                        margin-right: 12px;
                    }
                }

                li::after {
                    content: "│";
                    position: absolute;
                    top: 1px;
                    right: -8px;
                }
            }
        }
    }

    .copy {
        width: 100%;
        text-align: center;
        font-size: 12px;
        padding: 10px 0;
        background: #000;
        color: #fff;

        a {color: #fff;}
    }
}

/* /footer */

/* index.html */

#index {position: relative;	}

#index .coverbg1 {
    background: rgb(0, 0, 0, .8);
    width: 100%;
    height: 187vh;
    z-index: -2;
    position: fixed;
}

#index .coverbg2 {
    background: url(../images/enter_bg.jpg) no-repeat scroll center top;
    position: fixed;
    z-index: -3;
    width: 100%;
    height: 100vh;
}

#index .coverbg3 {
    background: url(../images/enter.jpg) no-repeat center bottom;
    background-size: cover;
    width: 100%;
    z-index: -1;
    background-attachment: fixed;
}

#index main {
	background: none;
	padding: 100px 0 0;
	z-index: 1
}

#index_logo {
	text-align: center;
	padding: 0 5% 20px;
    position: relative;

    img {width: 100%;max-width: 558px;}

}

main#main {padding: 0;}

.en_nav {
    justify-content: space-around;
    width: 100%;
    max-width: 800px;
    margin: 31px auto;

    .ent {
        font-size: 34px;
        padding: 5px 0;
    }

    .deli {
        background: linear-gradient(to right, rgba(255, 158, 1, 1) 0%, rgba(255, 188, 30, 1) 100%);
        font-size: 18px;
        padding: 5px 0;
    }
}

a.btn.ent img {
    top: 15px;
    right: 12px;
}

.index_txt01 {
    font-size: 13px;
    line-height: 2;
    text-align: center;
    color: #fff;
    margin: 20px auto 30px;
    text-shadow: 1px 1px BLACK;
}

.index_txt02 {
    font-size: 12px;
    line-height: 2;
    text-align: center;
    color: #000;
    background: rgba(255, 255, 255, .85);
    width: 600px;
    padding: 1.5% 0 1%;
    box-sizing: border-box;
    border-radius: 30px 30px 0 0;
    margin: 100px auto 0;

    div {text-align: center;}

    a {
        text-decoration: underline;
        color: #960000;
    }

    .conbox {

        .over {

            img {width: 60px;}
        }

        .att {
            margin-left: 3%;
            text-align: left;
            line-height: 1.4;
            font-size: 16px;
        }

        .snav {
            width: 40%;

            h3 {text-align: center;}

            ul {
                margin-top: 10px;

                li {
                    margin: 0 10px;

                    img {width: 50px;}
                }
            }
        }
    }
}

.index_link {background-color: #000;}

.index_linkbok {
	text-align: center;
	width: 100%;
	max-width: 1000px;
	padding: 50px 0 0;
	margin: auto;

    a {
        display: inline-block;
        margin: 0.5%;
    }
}

.index_freebok {
	text-align: center;
	width: 100%;
	max-width: 1200px;
	padding: 50px 0 100px;
	margin: auto;

    div {
        text-align: center;
        width: 100%;
    }

    iframe {margin: 0.5%;}
}

#index footer #footer {display: none;}

.enter_btn {
    background: rgb(61, 84, 150, .8);
    width: 90%;
    margin: 0 auto 30px;
    max-width: 642px;
    line-height: 92px;
    background-size: 100% 100%;
    text-align: center;
    font-size: 40px;
    color: #fff;
    outline: 1px solid;
    outline-color: #333;
    outline-offset: 0px;
    display: block;
    transition: .3s;
}

.enter_btn:hover {
	animation: light .8s infinite;
	outline-color: #fff;
}

/* /index.html */

/* button */

@keyframes light {
  100% {
    outline-color: transparent;
    outline-offset: 12px;
  }
}

.anime_button {
	z-index: 1;
	transition: .3s;
	position: relative;
	background: linear-gradient(to right,  rgba(181,2,230,1) 0%,rgba(0,97,218,1) 100%);
	border-radius: 40px;
}

.anime_button::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: #fff;
	transform-origin: 100% 50%;
	transform: scaleX(0);
	transition: transform ease .3s;
	border-radius: 40px;	
}

.anime_button:hover {
	color: #000 !important;
	opacity: 1 !important;
}

.anime_button:hover::before {
	transform-origin: 0% 50%;
	transform: scaleX(1);
}

.anime_button2 {
	z-index: 1;
	transition: .3s;
	position: relative;
	background: linear-gradient(to right,  rgba(234,12,87,1) 0%,rgba(203,57,106,1) 100%);
	border-radius: 40px;
}

.anime_button2::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: #fff;
	transform-origin: 100% 50%;
	transform: scaleX(0);
	transition: transform ease .3s;
	border-radius: 40px;	
}

.anime_button2:hover {
	color: #000 !important;
	opacity: 1 !important;
}

.anime_button2:hover::before {
	transform-origin: 0% 50%;
	transform: scaleX(1);
}

/* /button */

#top_box01 {
	display: flex;
	width: 98%;
	margin: auto;
}

/* common girlsboxs */

.girlsboxs {
	display: flex;
	width: 100%;
	margin: 0 auto;
	flex-wrap: wrap;

    .classicon {

        img {width: 100%}
    }
}

.girlsboxs .onebox {
    display: block;
    width: calc(100% / 5 - 0px);
    border: 1px solid #000;
    color: #000;
    position: relative;
    box-sizing: border-box;
	padding: 1px;
	margin-top: 10px;

    .days {
        font-size: 24px;
        text-align: center;
        background-color: #000;
        padding: 1.5% 0;
    }

    .img {
        position: relative;


        .icon01,.icon02,.icon03,.icon04 {
            position: absolute;
            z-index: 50;
        }

        .icon01 {
            top: 0;
            left: 0;
            width: 40%;
            max-width: 120px;
        }

        .icon02 {
            top: 5px;
            right: 10px;
            width: 30%;
            max-width: 100px;

            img {
                display: block;
                margin-top: 5px;
            }
        }

        .icon03 {
            bottom: 0;
            left: 0;
            width: 33%;
            max-width: 122px;


            img {
                width: 100%;
                height: auto;
            }
        }

        .icon04 {
            bottom: 0;
            right: 0;
            width: 33%;
            max-width: 122px;

            img {
                width: 100%;
                height: auto;
            }
        }
    }

    .profile {
        background: url(../images/panel_bg.jpg) center top no-repeat;
        background-size: 100% 100%;
        width: 100%;
        padding: 15px 0 0;

        .op {

            ul {
                margin: 1% auto;

                li {
                    font-size:0.8vw;
                    color: #fff;
                    background: #8d6e33;
                    width: calc(95% / 2);
                    margin: 0.5%;
                    text-align: center;
                    padding: 1px;
                    box-sizing: border-box;
                    min-height: 34px;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;
                }

            }
        }

        div {text-align: center;}

        .name {
            font-size: 24px;
            margin-bottom: 5px;

            span {font-size: 18px;}
        }

        .size {
            font-size: 18px;
            padding-bottom: 10px;
        }

        .time {
            background: #C50000;
            background: linear-gradient(90deg, rgba(197, 0, 0, 1) 0%, rgba(139, 0, 0, 1) 50%, rgba(197, 0, 0, 1) 100%);
            color: #fff;
            font-size: 16px;
            padding: 2% 0;
            width: 99%;
            background-size: contain;
            margin: 0 auto 0px;
            box-sizing: border-box;
            position: relative;

            .icon {
                position: absolute;
                top: 3px;
                left: 10%;

                img {width: 28px;}
            }
        }

        .situbox {padding-bottom: 8px;height: 30px;}

        .situation {
            text-align: center;
            font-size: 16px;
            bottom: 0;
            width: 100%;

            span {color: #960000;}

        }

        .situation2 {
            text-align: center;
            font-size: 14px;
            width: 100%;
            margin-top: -18px;

            span {color: #960000;}
        }

        .situation.next {
            padding: 5px 0;
            font-size: 22px;

            div {
                font-size: 15px;
                line-height: 20px;
            }

        }
    }
}

/* /common girlsboxs */

.schedule .girlsboxs {margin: 0 auto 145px;}

#girls .girlsboxs a {padding-bottom: 0;}

#top_movie .slick-slide {margin: 0px 0.1%;}

/* topevent */

.top_event {
    position: relative;
    width: 34%;
	margin-left: 1%;
}

#event .top_event {background: none;}

.top_event .onebox {
    width: 100%;
    max-width: 1600px;
    margin: 0 1%;
    box-sizing: border-box;

    .bg {
        background: url(../images/ts_img01.jpg) repeat center top;
        background-size: cover;
        box-sizing: border-box;
        border-radius: 20px;
    }

    .bg-bl {
        background: rgba(255, 255, 255, .8);
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        border: 1px solid #000;
    }

    .profbox {

        .day {
            font-size: 14px;
            color: #fff;
            padding: 0 0 20px 15px;
            padding: 0 0 2% 4%;
            text-align: center
        }

        .title {
            font-size: 20px;
            color: #960000;
            padding: 0 0 20px 15px;
            padding: 0 0 2% 4%;
            text-align: center;
            font-weight:bold
        }

        .txt {
            color: #000;
            padding: 10px;
            font-family: var(--fontgothic);
            text-align: center;
            height: 39vh;
            overflow-y: auto;
            background: #fff;
            border-radius: 20px;
        }
    }

    .img {
        width: 40%;

        div {position: relative;}
    }

    .prof {
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
    }
}

.top_event .more-btn span {color: #ffffff;}

.top_event .btn-box {margin: 0 auto 20px;}

#top_newface .slick-slider {position: inherit;}

/* /topevent */

/* #top_link */

#top_link {
    background: #000;

    .links {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: auto;
        justify-content: center;

        a {
            width: 100%;
            display: block;
            margin: 10px auto;

            img {
            width: 100%;
            height: auto;
            }
        }
    }
}

/* /#top_link */

/* navbox */

#pc_navbox {
	position: fixed;
	z-index: -1;
	display: none; 
	top: 0;
	width: 100%;
	height: 100vh; 
	background: #000;
	left: 0;
	transition: all 0.3s;
	display: block;
	z-index: 999;
}

#g-nav-list {
	position: fixed;
	width: 100%;
	height: 100vh; /*表示する高さ*/
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	display: flex;

    .lbox {
        width: 100%;
        text-align: center;

        img {
            width: 100%;
            height: auto;
            max-width: 300px;
        }
    }

    .rbox {
        width: 100%;
        margin-top: 20px;

        .txt {
            color: #fff;
            padding: 5px 0;
            font-size: 3.5vw;

            span {
                font-size: 24px;
                font-size: 1.5vw;
            }
        }

        ul {
            display: flex;
            flex-wrap: wrap;

            li {
                width: calc(100% / 5);

                @media screen and (max-width: 1300px) {width: calc(100% / 3);}

                .box {
                    display: flex;
                    justify-content: center;
                    color: #fff;
                    padding: 50px 0 20px;
                    padding: 20% 0 10%;

                    @media screen and (max-width: 1300px) {padding: 10% 0 8%;}

                    .i {
                        padding-right: 2%;
                        width: 25%;
                        max-width: 70px;

                        img {
                            height: auto;
                            width: 100%;
                            max-width: 60px;
                        }
                    }

                    .t {
                        width: 73%;

                        p {margin-left: 5px;}

                        p:first-of-type {font-size: 22px;}

                        p:last-of-type {
                            margin-top: 5px;
                            font-size: 13px;
                        }
                    }
                }
            }
        }

        ul.shop_btn0 {
            display: flex;
            flex-wrap: wrap;
            width: 100%;
            margin: 0 auto;
            padding: 5% 0 0;

            li {
                width:100% ;
                border-bottom: none;
                margin: 0 1%;
            }
        }

        ul.shop_btn1 {
            display: flex;
            flex-wrap: wrap;
            width: 70%;
            margin: 0 auto;
            padding: 5% 0 0;

            li {
                width: calc(100% / 2 - 2%);
                border-bottom: none;
                margin: 0 1%;
            }
        }

        ul.shop_btn2 {
            display: flex;
            flex-wrap: wrap;
            width: 100%;
            margin: 0 auto;
            padding: 1% 0;
            justify-content: center;

            li {
                width: calc(100% / 1- 2%);
                border-bottom: none;
                margin: 0 1%;
            }
        }
    }
}

.openbtn {
	position: absolute;
	cursor: pointer;
	width: 60px;
	height: 60px;
	right: 20px;
	top: 5vw;
	z-index: 1000;

    span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 0;
        height: 2px;
        border-radius: 2px;
        background-color: #fff;
        width: 70%;
        right: 0;
        margin: auto;
    }

    span:nth-of-type(1) {top: 17px;}

    span:nth-of-type(2) {
        top: 0;
        bottom: 0;
    }

    span:nth-of-type(3) {bottom: 17px;}
}

.openbtn.active {
    position: absolute;

    span:nth-of-type(1) {
        top: 20px;
        left: 0;
        transform: translateY(6px) rotate(-45deg);
    }

    span:nth-of-type(2) {opacity: 0;}

    span:nth-of-type(3) {
        top: 25px;
        left: 0;
        transform: translateY(-6px) rotate(45deg);
    }
}

/* slider CSS */

.slider {
	width: 100%;
	margin: auto;
}

.slick-slide {
    margin: 0px 0.05%;
	transition: all ease-in-out .3s;
	opacity: 1;

    img {width: 100%;}
}

.slick-prev:before, .slick-next:before {color: black;}

.slick-active {opacity: 1;}

.slick-current {opacity: 1;}

/* /slider CSS */

#top_boxs01 {

    .boxs {
        padding-bottom: 5%;

        .box {
            max-width: 1200px;
            width: 100%;
            margin: auto;
            display: flex;

            a {
                width: 48%;
                margin: 1%;
                display: block;
            }
        }
    }
}

#top_boxs02 {
	background: url(../images/top_boxs02_bg.jpg);
	background-size: cover;

    .boxs {
        padding-bottom: 120px;

        .box {
            max-width: 1200px;
            width: 100%;
            margin: auto;
            text-align: center;
            display: flex;
            justify-content: center;
            align-items: center;

            iframe {
                margin: 1%;
                width: 98%;
                width: calc(100% / 3 - 2%);
                max-width: 360px;
                display: inline-block;
            }
        }
    }
}

.t_slider01 .slick-slide {margin: 0px 5px;}

/* hotel */

#hotel_menu .boxs {
    width: 100%;
    max-width: 1100px;
    margin: 50px auto 0;
    display: flex;
    height: 250px;

    a {
        width: calc(90% / 2 - 84px);
        margin: 0 2%;
        font-size: 24px;
        padding: 0 2%;
        color: #000;

        span {
            margin-left: 10px;
            vertical-align: middle;
        }
    }

    a:hover {color: #fff;}
}

.hotel_box01 {
	margin: 60px auto 0px;
	width: 98%;
	max-width: 1500px;

    .tit {
        font-size: 48px;
        text-align: center;
        position: relative;

        span {
            font-size: 24px;
            text-align: center;
            display: block;
        }
    }

    .area_box .txt {
        text-align: center;
        margin: 65px 0 35px;

        span {
            font-size: 26px;
            color: #000;
            margin: 0 10px;
        }
    }

    .area_box .txt::before {
        content: "";
        position: absolute;
        left: 0;
        height: 1px;
        width: 35%;
        background: #000;
        margin-top: 14px;
    }

    .area_box .txt::after {
        content: "";
        position: absolute;
        right: 0;
        height: 1px;
        width: 35%;
        background: #000;
        margin-top: 14px;
    }

    .area_box .boxs {
        width: 100%;
        margin: auto;
        display: flex;
        flex-wrap: wrap;

        a {
            width: calc(100% / 2 - 22px);
            display: block;
            border: 3px solid #000;
            margin: 15px 10px;
            font-size: 24px;
            color: #000;
            position: relative;
            box-sizing: border-box;

            div {
                padding: 14px 0 14px 0;
                transition: all 1s;
                text-align: center;

                span {
                    margin-left: 10px;
                    vertical-align: top;
                }
            }
        }

        a:hover {color: #fff;}
        a:hover div {background-color: #960000;}
    }
}

.hotel_box02 {
	margin: 60px auto 0px;
	width: 98%;
	padding-bottom: 70px;
	max-width: 1500px;

    .tit {
        font-size: 48px;
        text-align: center;

        span {
            font-size: 24px;
            text-align: center;
            display: block;
        }
    }

    .txt {
        font-size: 24px;
        padding: 50px 0 0;
        text-align: center;
    }

    .area {
        text-align: center;
        margin: 65px 0 35px;

        span {
            font-size: 26px;
            color: #000;
            margin: 0 10px;
        }
    }

    .area::before {
        content: "";
        position: absolute;
        left: 0;
        height: 1px;
        width: 35%;
        background: #000;
        margin-top: 14px;
    }

    .area::after {
        content: "";
        position: absolute;
        right: 0;
        height: 1px;
        width: 35%;
        background: #000;
        margin-top: 14px;
    }

    .hotelarea_box {
        font-size: 24px;
        color: #000;
        border-top: 1px solid #000;
        border-right: 1px solid #000;
        max-width: 1200px;
        margin: auto;

        .tit_box {
            background-color: #fff;
            color: #000;
            display: flex;
            width: 100%;

            div div {
                padding: 14px 8%;
                font-size: 16px;
            }
        }

        .type {
            width: calc(30% - 1px);
            border-bottom: 1px solid #000;
            border-left: 1px solid #000;
        }

        .name {
            width: calc(30% - 1px);
            border-bottom: 1px solid #000;
            border-left: 1px solid #000;
        }

        .tel {
            width: calc(25% - 1px);
            border-bottom: 1px solid #000;
            border-left: 1px solid #000;
        }

        .address {
            width: calc(45% - 1px);
            border-bottom: 1px solid #000;
            border-left: 1px solid #000;
        }

        .txtb {
            padding: 14px 8%;
            position: relative;
            font-size: 16px;
        }

        .titb {display: none;}

        .onebox {
            display: flex;
            color: #000;
        }

        a:hover {opacity: 1;}

        a:hover .onebox {
            transition: all 1s;	
            background-color: #960000;
            color: #fff;
        }

        a:hover .address .txtb::after {
            content: "⇀";
            right: 5%;
            position: absolute;
        }
    }
}

.hotel_shop_box {
    color: #000;

    .t1 {
        padding-bottom: 30px;
        font-size: 24px;
        text-align: center;
        width: 98%;
        margin: auto;
    }

    .t2 {
        padding-bottom: 30px;
        font-size: 16px;
        line-height: 1;
        text-align: center;
        width: 98%;
        margin: auto;
        justify-content: space-evenly;
        max-width: 800px;
    }

    .hotelarea_map {
        width: 100%;
        max-width: 1000px;
        margin: auto;
    }

    .btn {
        display: block;
        font-size: 20px;
        position: relative;
        padding: 0;
        width: 360px;
        margin: 70px auto;
        border: 3px solid #000;
        color: #000;
        text-align: center;
        justify-content: space-between;
        align-items: center;
        transition: 0.5s;

        span {margin-left: 10px;}
    }

    .anime_button {
        background: none;
        border-radius: 0;
    }

    .anime_button::before {border-radius: 0;}
}

/* /hotel */

a.btn {
    display: block;
    font-size: 22px;
    position: relative;
    width: 360px;
    color: #fff;
    text-align: center;
    justify-content: space-between;
    align-items: center;
    transition: 0.5s;
    border: none;
    margin: auto;
    padding: 0;
}

.link_box01 {
	padding-bottom: 80px;
	border-bottom: 1px solid #fff;

    .txt {
        text-align: center;
        color: #fff;
        font-size: 18px;
        line-height: 1.5;
        margin-top: 70px;
        margin-bottom: 55px;
    }
}

.link_box01 .boxs {
	width: 98%;
	max-width: 555px;
	margin: auto;

    .box {
        display: flex;
        margin-bottom: 20px;

        .t {
            font-size: 18px;
            color: #fff;
            width: 15%;
            text-align: right;
            margin-right: 5%;
        }

        .b {width: 80%;}
    }
}

.link_box02 {
    padding: 60px 0 0;

    .txt {
        padding: 0 0 40px;
        font-size: 30px;
        line-height: 1.5;
        color: #fff;
        text-align: center;

        span {
            font-size: 24px;
            display: block;
            text-align: center;
        }
    }

    .boxs {
        width: 95%;
        max-width: 2000px;
        margin: auto;
        text-align: center;

        a {
            display: inline-block;
            margin: 0.5%;
        }
    }
}

/* schedule.html */

.schedule_btn {

    background: #893333;
    width: 100%;

    .schedule_btns {
        width: 100%;
        box-sizing: border-box;
        padding: 2% 0;

        ul {	
            max-width: 1680px;
            margin: 0 auto 0;
            gap:5px; 

            li {
                width: calc(100% / 7 - 50px);
                box-sizing: border-box;
                border: 1px solid #fff;
            }

            li.on {
                width: calc(100% / 7 - 50px);
                box-sizing: border-box;
                border: none;

                .btn {
                    background: #fff;
                    color: #893333;
                }
            }
        }

        .btn {
            display: block;
            margin: 1px 1px;
            line-height: 1.6;
            padding: 13px 5px 10px 8px;
            text-align: center;
            font-size: 20px;
            width: 100%;
            color: #fff;
            box-sizing: border-box;
        }

        .btn:hover {opacity: .8;}
    }
}

.schedule_day {
    font-size: 24px;
    text-align: center;
    padding: 2% 0 1%;
    color: #000;
}

/* /schedule.html */

/* system.html */

#system {
    padding-bottom: 0;

    .tit {
        text-align: center;
        font-size: 30px;
        color: #fff;
        line-height: 1.8;

        span {
            text-align: center;
            font-size: 20px;
            display: block;
        }
    }

    .bg {
        background: url(../images/sys_bg1.jpg) no-repeat top center;
        background-attachment: fixed;
    }
}

#system .subbox {
    padding: 50px 0 0;

    .tit-e {
        position: relative;
        text-align: center;
        font-size: 46px;

        @media screen and (max-width: 1400px) {font-size: 34px;}

    }

    .tit-e::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 27%;
        background: #FFF;
        height: 1px;
    }

    .tit-e::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 27%;
        background: #FFF;
        height: 1px;
    }

    .tit-j {
        font-size: 16px;
        text-align: center;
        margin-top: 10px;
    }
}

/* sys00 */

.system_box00 {
    width: 90%;
    max-width: 1500px;
    margin: 20px auto;

    .navbtn {

        .btns {
            width: 100%;

            .btn {
                width: calc(100% / 2 - 42px);
                border: 4px solid #fff;
                text-align: center;
                padding: 15px 0;
                display: block;
                font-size: 16px;
                color: #fff;
                margin: 0 20px;
                box-sizing: border-box;
                background: none;
                border-radius: 0;
                max-width: 100%;
                vertical-align: unset;
                line-height: normal;

                span {
                    display: block;
                    font-size: 42px;
                    text-align: center;
                }
            }
        }
    }

    .anime_button::before {border-radius: 0;}
}

/* /sys00 */

/* sys1 */

.system_box1 {
	width: 100%;
	margin: 0 auto 0;

    .txt {
        text-align: center;
        font-size: 16px;
        margin: 50px auto 80px;
    }

    .boxs {
        margin: 50px auto;
        box-sizing: border-box;
        padding: 2% 7% 2% 10%;
        width: 100%;
        background: #000;

        .priceboxs {
            display: flex;
            flex-wrap: wrap;
            width: 100%;
            max-width: 1200px;
            margin: auto;

            .onebox {
                width: calc(100% / 3 - 1px);

                .box {
                    padding: 20px 0;

                    .t {
                        color: #fff;
                        font-size: 25px;

                        span {font-size: 16px;}    
                    }

                    .p {
                        font-size: 42px;
                        font-style: italic;
                        color: #960000;
                        text-align: left;

                        span {
                            font-size: 24px;
                            vertical-align: middle;
                            padding-left: 2%;
                            font-style: italic;
                        }
                    }

                }
            }

            .onebox2 {
                width:100%;
            
                .box {
                    padding: 20px 0;

                    .t {
                        color: #fff;
                        font-size: 25px;

                        span {font-size: 16px;}
                    }

                    .p {
                        font-size: 42px;
                        font-style: italic;
                        color: #960000;
                        text-align: left;
                        width: 43%;
                        margin-left: 8px;

                        span {
                            font-size: 24px;
                            vertical-align: middle;
                            padding-left: 2%;
                            font-style: italic;
                        }
                    }
                }
            }
        }
    }
}

/* /sys1 */

/* sys2 */

.system_box2 {
	width: 100%;
	margin: 0 auto 0;

    .txt {
        text-align: center;
        font-size: 16px;
        margin: 30px auto;
    }

    .boxs {
        margin: 50px auto 0;
        max-width: 1600px;
        box-sizing: border-box;
        padding: 2% 7% 2% 7%;

        .opboxs {
            display: flex;
            flex-wrap: wrap;
            width: 100%;
            max-width: 1600px;
            margin: auto;

            .onebox {
                width: calc(100% / 4 - 1px);

            .box {
                    padding: 10px 5px;
                    border: 3px solid #fff;
                    box-sizing: border-box;
                    margin: 2% 2%;

                    .t {
                        color: #fff;
                        font-size: 28px;
                        text-align: center;
                    }

                    .p {

                        .n {font-size: 30px;}

                        .w {font-size: 40px;}

                        .r {font-size: 24px;}
                    }
                    
                }
            }
        }

        .priceboxs {
            display: flex;
            flex-wrap: wrap;
            width: 100%;
            max-width: 1600px;
            margin: auto;

            .onebox {
                width: calc(100% / 2 - 1px);

                .box {
                    padding: 0 2%;
                    position: relative;
                    margin: 2% 0;
                    min-height: 150px;

                    .t {
                        color: #fff;
                        font-size: 25px;
                        width: 100%;
                        padding-left: 10px;

                        span {font-size: 16px;}
                    }

                    .p {
                        font-size: 40px;
                        font-style: italic;
                        color: #960000;
                        text-align: left;
                        width: 100%;
                        padding-left: 10px;

                        span {
                            font-size: 24px;
                            vertical-align: middle;
                            padding-left: 1%;
                            font-style: italic;
                        }
                    }

                    .info {
                        color: #fff;
                        font-size: 16px;
                        width: 100%;
                        padding-left: 10px;
                    }
                }

                .box::before {
                    content: "";
                    position: absolute;
                    left: 0;
                    width: 10px;
                    height: 100%;
                    background: #FFF;
                }
            }

            .onebox:last-of-type .box {min-height:inherit ;}
        }
    }

    .ptboxs {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        max-width: 1600px;
        margin: auto;

        .onebox {
            width: calc(100% / 4 - 1px);
        
            .box {
                border: 1px solid #fff;
                box-sizing: border-box;
                margin: 2% 2%;

                .t {
                    text-align: center;

                    img {
                        width: 100%;
                        max-width: 370px;
                    }
                }
            }
        }
    }
}

/* /sys2 */

/* sys3 */

.system_box3 {
    background: url(../images/sys_bg3.jpg) no-repeat center top;
    width: 100%;
    margin: 50px auto;

.system_box3 .boxs {}

    .credit {
        text-align: center;
        color: #fff;
        padding: 35px 0 40px;

        .box {

            .t1 {
                text-align: center;
                font-size: 30px;
                padding: 0 0 10px;
            }

            .t2 {
                text-align: center;
                font-size: 20px;
                padding: 0 0 35px;
            }

            .t3 {
                text-align: center;
                font-size: 16px;
                line-height: 1.8;
            }

            .b {
                text-align: center;
                padding: 40px 0;
                border-right: 1px solid #fff;
                border-left: 1px solid #fff;
                border-bottom: 1px solid #fff;
                width: 90%;
                margin: 30px auto 15px;
                position: relative;

                .htxt {
                    position: absolute;
                    top: -12px;
                    left: 40%;

                    @media screen and (max-width: 1500px) {left: 38%;}

                    p {
                        text-align: center;
                        font-size: 24px;
                    }

                    .i {
                        width: 20%;

                        i {
                            width: calc(90% / 3);
                            margin: 5px;
                        }
                    }
                }

                .btn {
                    line-height: 60px;
                    text-align: center;
                    font-size: 20px;
                    color: #fff;
                    display: inline-block;
                    vertical-align: top;
                    margin-left: 0;
                    width: calc(60% - 2px);
                    max-width: 388px;
                    position: relative;
                    border: none;
                    margin: 0 20px;
                    padding: 0;

                    img {
                        width: 34px;
                        position: absolute;
                        top: 12px;
                        right: 12px;
                    }
                }
            }

            .b::before {
                content: "";
                position: absolute;
                top: 0px;
                right: 0;
                border-top: 1px solid #fff;
                width: 37%;

                @media screen and (max-width: 1500px) {width: 30%;}
            }

            .b::after {
                content: "";
                position: absolute;
                top: 0px;
                left: 0;
                border-top: 1px solid #fff;
                width: 37%;

                @media screen and (max-width: 1500px) {width: 30%;}
            }
        }
    }
}

/* /sys3 */

/* sys4 */

.system_box4 {
	width: 100%;
	margin: 50px auto 0;

    .txt {
        text-align: center;
        font-size: 16px;
        margin: 30px auto;
        line-height: 1.5;
    }

    .subbox {

        .tit-e {

        }

        .tit-e::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 0;
            width: 23%;
            background: #FFF;
            height: 1px;
        }

        .tit-e::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 0;
            width: 23%;
            background: #FFF;
            height: 1px;
        }
    }

    .pricebox {
        width: 100%;

        h4 {
            width: 100%;
            color: #960000;
            font-size: 48px;
            text-align: center;
            margin: 30px auto;

            @media screen and (max-width: 1500px) {font-size: 34px;}

            span {
                font-size: 64px;

                @media screen and (max-width: 1500px) {font-size: 54px;}
            }
        }

        .p-title {
            width: 94%;
            background: #960000;
            color: #fff;
            text-align: center;
            max-width: 1400px;
            margin: auto;
            padding: 4px;
            font-size: 24px;
        }

        .p-area {
            width: 94%;
            max-width: 1200px;
            margin: 20px auto;
            line-height: 1.5;
        }
    }

    .transportationboxs {
        width: 90%;
        max-width: 1400px;
        margin: 20px auto 100px;
        border-bottom: 1px solid #fff;

        .boxs {

            .onebox {
                border-bottom: 1px solid #fff;
                padding: 30px 0;

                .box {
                    display: flex;
                    line-height: 1.5;
                    align-items: center;

                    .t1 {
                        width: 42%;
                        color: #960000;
                        font-size: 42px;
                        font-style: italic;
                        text-align: center;

                        @media screen and (max-width: 1500px) {font-size: 34px;}

                        span {
                            font-size: 24px;
                            vertical-align: middle;
                            padding-left: 3%;

                            @media screen and (max-width: 1500px) {font-size: 20px;}
                        } 

                        .ttbox {

                            p {
                                width:30%;
                                font-style: normal;

                                span {
                                    width: 100%;
                                    display: block;
                                    margin-top: -10px;
                                    text-align: center;
                                }
                            }

                            p.space {
                                width:10%;
                            }

                            p.cp {
                                width: 72%;
                                text-align: center;
                                color: #fbfbfb;
                                background: #960000;
                                font-size: 30px;
                            }
                        }
                    }

                    .t2 {
                        width: 57%;
                        padding-left: 1%;
                        color: #fff;
                        font-size: 20px;
                    }
                }
            }

            .onebox:first-child {border-top: 1px solid #fff;}

            .onebox:last-child {border-bottom: none;}
        }
    }
}

/* /sys4 */

/* sys5 */

.system_box5 {
	width: 100%;
	margin: 50px auto ;

    .txt {
        text-align: center;
        font-size: 40px;
        margin: 30px auto;

        @media screen and (max-width: 1300px) {
            font-size: 33px;
            padding: 2% 2% 4% 24%;
        }
    }

    .boxs {
        margin: 50px auto 0;
        max-width: 1600px;
        box-sizing: border-box;
        padding: 2% 7% 2% 7%;

        .priceboxs {
            display: flex;
            flex-wrap: wrap;
            width: 100%;
            max-width: 1600px;
            margin: auto;

            .inbox {width: calc(100% / 2 - 1px);}

            .onebox {              
                padding: 0% 2% 0% 26%;
            
                .box {
                    position: relative;
                    margin: 2%;

                    .t {
                        color: #fff;
                        font-size: 25px;
                        width: 100%;
                        padding-left: 10px;

                        span {font-size: 16px;}
                    }

                    .p {
                        font-size: 44px;
                        font-style: italic;
                        color: #960000;
                        text-align: left;
                        width: 100%;
                        padding-left: 10px;

                        span {
                            font-size: 24px;
                            vertical-align: middle;
                            padding-left: 3%;
                            font-style: italic;
                        }
                    }

                    .info {
                        color: #fff;
                        font-size: 16px;
                        width: 100%;
                        padding-left: 10px;
                    }
                } 
            }
        }
    }
}


/* /sys5 */

/* sys6 */

.system_box6 {
    width: 100%;
    margin: 50px auto 0;

    .transportationbtn {
        justify-content: space-evenly;
        max-width: 1200px;
        margin: 50px auto;

        .more {
            margin: 50px 0 0;

            span {top: 18px;}
        }

        .btns {
            width: 100%;
            max-width: 800px;
            margin: 35px auto 0;
            display: flex;

            .btn {
                width: calc(100% / 2 - 42px);
                border: 4px solid #fff;
                text-align: center;
                padding: 15px 0;
                display: block;
                font-size: 20px;
                color: #fff;
                margin: 0 20px;

                span {
                    display: block;
                    font-size: 24px;
                    text-align: center;
                }
            }
        }
    }
}

/* /sys6 */

/* sys7 */

.system_box7 {
    padding: 50px 0 130px;

    .matterboxs {
        width: 94%;
        max-width: 880px;
        margin: auto;
        padding: 60px 0 0;
        font-size: 20px;
        color: #fff;
        line-height: 1.8;
    }
}

/* /sys7 */

/* special */

.special {
	width: 100%;
	margin: 0 auto 0;

    .pricebox {
        width: 100%;
        max-width: 1200px;
        margin: 0;
        margin: 50px auto;

        .obox {
            padding: 10px 0 10px;
            width: 43%;
            border: 1px solid #fff;
            box-sizing: border-box;
            border-radius: 16px;
            margin: 1%;

            p {text-align: center;}

            .time {font-size: 22px;}

            .ttl {
                font-size: 24px;
                font-style: italic;
                background: #960000;
                padding: 8px;
                margin-top: 10px;
            }

            .pri {
                font-size: 40px;
                font-style: italic;
                color: #960000;

                span {
                    font-size: 28px;
                    padding-left: 10px;
                    vertical-align: middle;
                    font-style: italic;
                }
            }
        }
    }
}

/* /special */

/* /system.html */

/*** movie ***/

#top_movie {
    background: #000;
    padding: 8% 0 60px;
    width: 100%;

    .titlebox {

        .title-txt-2 { 

            .t_tit1 {color: #fff;}
            .t_tit2 { color: #fff;}
		}
    }

    .onebox {
        width: calc(98% / 3);
        gap: 1%;
        margin: 0.3%;

        .boxs {
            border: 5px solid #000;
        }

        .txtbox {
            color: #fff;
            justify-content: space-between;
            padding: 16px 1.7%;
            box-sizing: border-box;

            .prof {
                width: 33%;
                line-height: 1.5;

                .name {
                    font-size: 22px;

                    @media screen and (max-width: 1600px) {font-size: 1.3vw;}

                    span {
                        font-size: 16px;

                        @media screen and (max-width: 1600px) {font-size: 1vw;}
                    }
                }

                .size {
                    font-size: 14px;

                    @media screen and (max-width: 1300px) {font-size: 12px;}
                }
            }

            .icon {
                width: 33%;

                .icon01.no {
                    background: #282828;
                }

                .icon01 {
                    margin: 0 2% 4px;
                    text-align: center;
                    font-size: 16px;
                    background: #960000;
                    padding: 2px 0;

                    @media screen and (max-width: 1300px) {font-size: 13px;}
                }

                .time {
                    text-align: center;
                    font-size: 15px;
                    padding: 0 2.5%;

                    @media screen and (max-width: 1300px) {font-size: 13px;}

                    span {color: #ffff00;}
                }
            }

            .more {
                width: 100%;
                max-width: 120px;
                margin: 3% auto;
            }

            .links {
                width: 33%;
                background: linear-gradient(to right, rgba(181, 2, 230, 1) 0%, rgba(0, 97, 218, 1) 100%);
                border-radius: 40px;

                @media screen and (max-width: 1600px) {width: 28%;}

                p {
                    color: #fff;
                    font-size: 16px;
                    text-align: center;
                    padding: 10px;

                    @media screen and (max-width: 1600px) {
                        font-size: 13px;
                        padding: 8px;
                    }

                    span { 
                        font-size: 13px;

                        @media screen and (max-width: 1600px) { font-size: 11px;}
                    }
                }
            }

            .links:hover p {color: #000;}
        }

        .movie_img {
            width: 100%;
            padding: 5%;
            box-sizing: border-box;

            video {
                width: 100%;
                height: auto;
            }
        }
    }

    .oneboxs {padding: 0 0 20px;}

    .top_movie_btn {
        width: 360px;
        text-align: center;
        line-height: 60px;
        color: #fff;
        position: relative;
        margin: auto;
        display: block;
        font-size: 22px;

        span {font-size: 18px;}
    }

    .slick-prev {left: 0;}

    .slick-prev:before {
        background: url(../images/naxt_left.png) no-repeat;
        width: 60px;
        height: 60px;
        content: '';
        display: block;
        z-index: 500;
    }

    .slick-next {right: 40px;}

    .slick-next:before {
        background: url(../images/naxt_right.png) no-repeat;
        width: 60px;
        height: 60px;
        content: '';
        display: block;
    }
}

/* under movie.html */

.title-bg.mov {

    .obi-ttl {
        width: 100%;

        h2 {}

        h2::before {background: rgba(0,0,0,.2);}

        h2::after {background: rgba(0,0,0,.6);}

        .u_tit-e {
            color: #fff;
        }
        
        .u_tit-j {
            color: #fff;
        }        
    }
}

#movie {

    width: 100%;

    .pagination {
        .item a {
            color: #fff;
        }
    }

    .movie {
        background: url(../images/mov_bg.jpg) no-repeat scroll center top #000;
        background-attachment: fixed;

        .breadcrumb {
            background: none; 

            li {
                color:#fff; 

                a { color: #960000;display: inherit;text-decoration: underline;}
            }
        }
    }

    .onebox {
        width: calc(98% / 3);
        gap: 1%;
        margin: 0.3%;

        .boxs {
            background: rgba(0, 0, 0, .6);
        }

        .txtbox {
            color: #fff;
            justify-content: space-between;
            padding: 16px 1.7%;
            box-sizing: border-box;

            .prof {
                width: 33%;
                line-height: 1.5;

                .name {
                    font-size: 22px;

                    @media screen and (max-width: 1600px) {font-size: 1.3vw;}

                    span {
                        font-size: 16px;

                        @media screen and (max-width: 1600px) {font-size: 1vw;}
                    }
                }

                .size {
                    font-size: 14px;

                    @media screen and (max-width: 1300px) {font-size: 12px;}
                }
            }

            .icon {
                width: 33%;

                .icon01.no {
                    background: #282828;
                }

                .icon01 {
                    margin: 0 2% 4px;
                    text-align: center;
                    font-size: 16px;
                    background: #960000;
                    padding: 2px 0;

                    @media screen and (max-width: 1300px) {font-size: 13px;}
                }

                .time {
                    text-align: center;
                    font-size: 15px;
                    padding: 0 2.5%;

                    @media screen and (max-width: 1300px) {font-size: 13px;}

                    span {color: #ffff00;}
                }
            }

            .more {
                width: 100%;
                max-width: 120px;
                margin: 3% auto;
            }
        }

        .movie_img {
            width: 100%;
            padding: 5%;
            box-sizing: border-box;

            video {
                width: 100%;
                height: auto;
            }
        }
    }

    .oneboxs {padding: 0 0 20px;}
}

/* /under movie.html */

/*** /movie ***/

 /* ranking.hrml */

#ranking {

    .rank-nav1 {
        width: 100%;
        position: relative;
        margin: 10px 0 50px;

        .tit-box {
            width: 52%;
            justify-content: end;

            h3 {
                font-size: 40px;
                font-weight: bold;
            }

            img {
                width: 60px;
                margin: 0 10px;
            }
        }

        .month-nav ul {

            li {
                margin: 0 10px;

                a {
                    color: #fff;
                    font-size: 24px;
                    border: 3px solid #960000;
                    background: #960000;
                    padding: 10px 35px;
                    box-sizing: border-box;
                }

                span {
                    font-size: 18px;
                    margin-left: 8px;
                }
            }
        }
    }

    .rank-nav2 {
        margin: 30px auto;

        .op-nav {

            ul {

                li {
                    margin: 0 10px;
                    width: 25.2%;

                    @media screen and (max-width: 1300px) {width: 30.2%;}

                    /* more btn */

                    .more {
                        position: relative;
                        width: 85%;
                        max-width: auto;
                        
                        .m-btn01 {
                            min-width: 100%;
                            justify-content: center;
                        } 

                        .active {
                            background: #960000;
                            color: #fff;
                        }

                        .m-btn01 .en, .m-btn01 .txt {
                            font-size: 1.6rem;
                        }
                    }
                }
            }
        }
    }

    .girlsboxs .onebox {
        width: calc(100% / 5 - 0px);
        border: none;

        .profile {background: none;}  
    }

    .ranking {

        .oneboxs {
            display: flex;
            flex-wrap: wrap;

            a.onebox {
                width: 100%;
                margin-bottom: 30px;

                .bg {
                    background: url(../images/rank_bg.jpg);
                    background-position: top center;
                    background-size: 100% 100%;

                    .boxs {
                        display: flex;
                        flex-wrap: wrap;
                        justify-content: space-around;
                        width: 100%;
                        max-width: 1600px;
                        margin: 0 auto;

                        .box1 {
                            width: 32%;
                        
                            .ranking_img {
                                background: url(../images/rank_frame.png) no-repeat center top;
                                text-align: center;
                                padding: 18px 20px;
                                background-size: contain;
                            }

                            img {
                                width: 100%;
                                height: auto;
                                max-width: 480px;
                            }
                        }

                        .box2 {
                            width: 55%;
                            padding: 5% 5% 5% 0;
                            color: #000;

                            .ranking_no {
                                margin-bottom: 10px;
                                text-align: right;

                                img {
                                    width: 38vw;
                                    height: auto;
                                    max-width: 540px;
                                }
                            }

                            .ranking_txt {
                                background: rgba(255, 255, 255, .9);
                                padding: 10px 15px;
                                height: 25vw;
                                max-height: 412px;
                                border: 1px solid #000;
                                border-radius: 10px;

                                .name {
                                    font-size: 22px;
                                    padding: 0 1% 5px;
                                    margin-bottom: 5px;

                                    span {font-size: 18px;}
                                }

                                .size {
                                    font-size: 18px;
                                    padding: 0 1% 5px;
                                    margin-bottom: 5px;
                                }

                                .txt {
                                    font-size: 18px;
                                    font-family: var(--fontgothic);
                                    padding: 5px 1% 0;
                                    margin-top: 5px;
                                    height: 18.5vw;
                                    overflow-y: scroll;
                                    max-height: 335px;
                                }
                            }
                        }
                    }
                }    
            }

            a.onebox:hover {
                opacity: .8;
                transition: all 1s;
            }
        }
    }

    .girlsboxs {
        display: flex;
        width: 100%;
        margin: 20px auto 145px;
        flex-wrap: wrap;
    }
}

 /* /ranking.hrml */

/* news.html */

.news .oneboxs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    max-width: 1680px;
    margin: auto;

    .onebox {
        margin: 0.5% 0.1%;
        width: calc(99% / 4);
        box-sizing: border-box;
        border: 1px solid #000;
        border-radius: 12px;3468
        padding: 10px 0;

        .inner {padding: 5% 0 5%;}
        
        .more {max-width: 100px;} 

        .info {
            font-size: 16px;
            margin: 10px auto 10px;
            background: #960000;
            padding: 4px 0;
            width: 90%;
            text-align: center;
            max-width: 450px;
        }

        .imgbox {
            padding: 0;
            width: 100%;
            margin: 0 2% 0;
            text-align: center;

            img {
                max-width: 600px;
                width: 100%;
            }
        }

        .txtbox {
            width: 98%;
        
            .prof {
                font-family: var(--fontgothic);
                height: 13vw;
                overflow: auto;
                overflow-x: hidden;
                margin: 20px auto;
                width: 100%;

                .time {
                    border: 1px solid #fff;
                    padding: 10px 10px 5px;
                    font-size: 24px;
                    line-height: 50px;
                    margin-bottom: 20px;
                    display: inline-block;

                    span {
                        color: #f00;
                        font-weight: 500;
                        line-height: 50px;
                        font-size: 40px;
                        font-family: '游明朝', 'YuMincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN W3', 'HiraMinProN-W3', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'Noto Serif JP', serif;
                    }

                    span:last-child {
                        font-size: 24px;
                        font-family: var(--fontgothic);
                    }
                }
                
                .txt {
                    padding: 0.5%;
                    box-sizing: border-box;
                    width: 94%;
                    text-align: center;
                    color: #000;
                }
            }
        }

        .title {
            font-size: 20px;
            margin-top: 5%;
            margin: 0 auto 10px;
            background: #960000;
            color: #fff;
            padding: 4px 0;
            width: 100%;
            text-align: center;
            font-family: var(--fontgothic);
            max-height: 80px;
        }
    }
}

.scrolldesign::-webkit-scrollbar {width: 5px;}

.scrolldesign::-webkit-scrollbar-track {
	background-color: #676167;
	border-radius: 100px;
}

.scrolldesign::-webkit-scrollbar-thumb {
	background-color: #960000;
	border-radius: 100px;
}

/* mailmagazine.html */

#mailmagazine {

    .bg {
        background: url(../images/member_bg.jpg) top center no-repeat;
        background-attachment: fixed;
        padding: 4% 2%;
    }
}

.mailmagazine_box01 {
    text-align: center;
    font-size: 24px;
    margin-bottom: 40px;
    color: #000;
    border: 2px solid #000;
    width: 300px;
    padding: 5px;
    box-sizing: border-box;
    margin: 50px auto;

    .txt {
        text-align: center;
        font-size: 24px;
        margin-bottom: 40px;
        color: #000;
        border: 2px solid #000;
        width: 300px;
        padding: 5px;
        box-sizing: border-box;
        margin: 50px auto;
    }
}

.mailmagazine_box02 {
    width: 90%;
    max-width: 900px;
    margin: auto;

    .txt {
        width: 100%;
        color: #000;

        .t1 {
            font-size: 18px;
            margin-bottom: 30px;
            text-align: center;
        }

        .t2 {
            font-size: 18px;
            line-height: 1.8;
            margin-bottom: 20px;
            text-align: center;

            span {font-size: 24px;}
        }

        .btn {
            border: 2px solid #960000;
            background:  #960000;
            padding: 20px 0;
            font-size: 22px;
            color: #fff;
            display: block;
            margin-top: 20px;
            text-align: center;
            margin: 0 auto;
            max-width: 400px;
            font-weight: bold;
            border-radius: 0;
            line-height: normal;
        }
    }

    .anime_button::before {border-radius: 0;}

    .img {
        width: 100%;
        margin-top: 20px;

        .box {
            padding: 20px;
            text-align: center;

            img {
                width: 250px;
                height: auto;
            }

            .txtbox {
                padding: 20px;
                background: #fff;
                margin-top: 24px;
                width: 100%;
                max-width: 520px;
                margin: 24px auto;
            }

            .t1 {
                text-align: center;
                font-size: 18px;
                color: #960000;
            }

            .t2 {
                text-align: center;
                font-size: 18px;
                margin-top: 10px;
                line-height: 1.5;
                color: #000;
            }
        }
    }
}

/* /mailmagazine.html */

/* pagination */

.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px 0px 30px;
	font-size: 20px;

    .disabled {display: none;}

    .pagination-list {
        display: flex;

        a {
            color: #960000;
            display: block;
            width: 30px;
            text-align: center;
            line-height: 30px;
            margin: 0 2.5px;
            text-decoration: underline;
        }
    }

    .item a {color: #000; }

    .items {margin: 0 2%;}

    button {
        background: none;
        color: #960000;
        border: none;
        font-size: 20px;

        a {color: #960000;}

        a:active{color: #960000;}
    }

    .prev {margin-right: 5%;}
    .next {margin-left: 5%;}
}

/* /pagination */

/*.UpMove.DownMove {display: none;}*/

#header_bar.UpMove {
	position: fixed;
	width: 100%;
	animation: UpAnime 0.2s forwards;
}

@keyframes UpAnime {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 0;
        transform: translateY(-100px);
    }
}

#header_bar.DownMove {
	position: fixed;
	width: 100%;
	animation: DownAnime 0.0s forwards;
	top: 0
}

@keyframes DownAnime {
    from {
        opacity: 0;
        transform: translateY(-100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* caption effect */

figure.cap-efct {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 10px auto;
    text-align: center;
    color: #000;
   /* background: rgb(255,255,255,0.8);*/

    img {
        width: 100%;
        transition: opacity 0.3s;
        opacity: 1;
    }

    span {
        width: 100%;
        transition: opacity 0.3s;
        opacity: 1;
    }

    figcaption {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 5px;
    }

    figcaption::before {
        position: absolute;
        top: 50%;
        right: 30px;
        bottom: 50%;
        left: 30px;
        content: '';
        transition: all 0.2s;
        transition-delay: 0.1s;
        opacity: 0;
        background-color: #fff;
    }

    p,.txt-space {
        margin: 0 0 5px;
        transition: opacity 0.3s, transform 0.3s;
        opacity: 0;
    }

    p {
        text-align: center;
        font-size: 16px;
        padding: 65% 0;
        color: #fff;

        @media screen and (max-width: 1920px) {font-size: 1vw;}

        @media screen and (max-width: 1300px) {font-size: 13px;}

        span {
            border: 2px solid #960000;
            background-color: #960000;
            padding: 15px 20px;
            letter-spacing: 0;
        }
    }

    .txt {
        position: absolute;
        top: 33px;
        left: 0px;
        text-align: center;
        font-size: 12px;
        padding: 5px;
        color: #fff;
        height: 80px;
        width: 100%;
        overflow-y: auto;

        @media screen and (max-width: 1920px) {font-size: 1.4vw;}
    }

    a {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        color: #fff;
    }
}

figure.cap-efct * {box-sizing: border-box;}

figure figcaption:hover {background: rgba(255,255,255,.4);}

figure.cap-efct:hover img {opacity: 0.9;}

figure.cap-efct:hover figcaption h2 {
	transition-delay: 0.3s;
	transform: translate3d(0%, 0%, 0);
	opacity: 1;
}

figure.cap-efct:hover figcaption p {
	transition-delay: 0.3s;
	opacity: 0.9;
}

figure.cap-efct:hover figcaption .txt-space {
	transition-delay: 0.3s;
	opacity: 1;
}

.girlsboxs .onebox .img figure {
	margin: 0;
	padding: 0;
	overflow: hidden;
	position: relative;

    img {	
        width: 100%;
        max-width: 428px;
        transform: scale(1);
        transition: .3s ease-in-out;
    }

    figcaption {
        position: absolute;
        width: 100%;
        left: 0;
        bottom: 0;
        z-index: 1;
    }
}

.girlsboxs .onebox .img figure:hover img {
	transform: scale(1.3) rotate(-0.03turn);
}

/* /caption effect */

/* ALL TITLE */

#under .titlebox {padding: 0;}

.titlebox {
    width: 100%;
    justify-content: space-between;
    padding: 0 0 2.8%;
    box-sizing: border-box;

    .title-txt-1 {
        width: 35%;
        position: relative;
        margin-left: 5%;
        padding: 5% 0 0 0;

        .t_tit1 {
            font-size: 60px;
            text-align: left;
            color: #000;
            padding-bottom: 10px;

            @media screen and (max-width:1300px) {font-size: 50px;}
            
            span {
                color: #960000;
            }

            img { vertical-align: initial;margin-left: 15px;}
        }

        .t_tit2 {
            font-size: 22px;
            letter-spacing: 8px;
            line-height: 1.4;
            text-align: left;
            color: #000;

            @media screen and (max-width:1300px) {font-size: 20px;}  
        }
    }

    .title-txt-2 {
        width: 35%;
        position: relative;
        margin-right: 5%;
        padding: 5% 0 0 0;

        .t_tit1 {
            font-size: 60px;
            text-align: right;
            color: #000;
            padding-bottom: 10px;

            @media screen and (max-width:1300px) {font-size: 50px;}
            
            span {
                color: #960000;
            }

            img { vertical-align: initial;margin-right: 15px;}
        }

        .t_tit2 {
            font-size: 22px;
            letter-spacing: 8px;
            line-height: 1.4;
            text-align: right;
            color: #000;

            @media screen and (max-width:1300px) {font-size: 20px;}  
        }
    }

    .title-image-1 {
        width: 52%;
        position: relative;

        .back {
            background-color: #960000;
            width: 55vw;
            height: 19.5vw;
            max-height: 340px;
            position: absolute;
            top: 30px;
            z-index: 1;
            right: 0;
        }

        img {
            width: 58vw;
            max-width: 1000px;
            position: relative;
            z-index: 2;
        }
    }

    .title-image-2 {
        width: 52%;
        position: relative;

        .back {
            background-color: #960000;
            width: 55vw;
            height: 18.0vw;
            max-height: 340px;
            position: absolute;
            top: 30px;
            z-index: 1;
            left: 0;
        }

        img {
            width: 53vw;
            max-width: 1000px;
            position: relative;
            z-index: 2;
        }
    }
    
}

.title-bg {
    width: 100%;
    z-index: -1;
}

.title-bg.girl {
    background: url(../images/tit_girl.jpg) no-repeat scroll center top #000;
	background-attachment: fixed;
}

.title-bg.sch {
    background: url(../images/tit_sch.jpg) scroll center top;
    background-attachment: fixed;
	background-size: cover;
}

#top_schedule.tsch {background:#fff;}

.title-bg.now {
    background: url(../images/tit_now.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.hl {
    background: url(../images/tit_hl.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.ht {
    background: url(../images/tit_ht.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.news {
    background: url(../images/tit_news.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.event {
    background: url(../images/tit_evt.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.nf {
    background: url(../images/tit_newface.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.cnt {
    background: url(../images/tit_cnt.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.sys {
    background: url(../images/tit_sys.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.wait {
    background: url(../images/tit_sys.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.how {
    background: url(../images/tit_sys.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.prof {
    background: url(../images/tit_sch.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
    background-size: cover;
}

.title-bg.mm {
    background: url(../images/tit_mm.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.rank {
    background: url(../images/tit_rank.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.mov {
    background: url(../images/tit_mov.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
    background-size: cover;
}

.title-bg.rank {
    background: url(../images/tit_rank.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.cos {
    background: url(../images/tit_sch.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

.title-bg.pd {
    background: url(../images/tit_pd.jpg) no-repeat scroll center top #fff;
	background-attachment: fixed;
}

/* /ALL TITLE */

@media screen and (max-width:1600px) {

	#top_g-nav.panelactive #top_g-nav-list .rbox ul li .box {
        padding: 25% 0 10%;
    
        .i {padding-right: 0.5%;}

        .t {
            font-size: 14px;

            span {font-size: 18px;}
        }
    }

	footer #footer .prof {

            .shopname {
                font-size: 2.5vw;

                span {font-size: 1.2vw;}
            }

            .open {font-size: 1.2vw;}

            .tel, .mail {
                font-size: 1.4vw;
                margin-bottom: 2%;
            }	
        }	
    }
	
    @media screen and (max-width:1600px) {
        .profile_box05 .boxs .box .t1 {font-size: 16px;}
        .profile_box05 .boxs .box .t2 {font-size: 1.8vw;}
        .profile_box05 .boxs .box .t3 {
            font-size: 14px;
            padding: 8px 0;
            width: 95%;
        }
    }

    @media screen and (max-width:1520px) {
        header .header_bar .boxs .telbox .tel {font-size: 1.6vw;}
        header .header_bar .boxs .telbox .open {font-size: 1.2vw;}
        header .header_bar .boxs .nav ul li a span {
            font-size: 14px;
            font-size: 1.2vw;
        }
        
        header .header_bar .boxs .nav ul li {
            font-size: 12px;
            font-size: 1vw;
            padding: 20px 1.5%;
        }
        
        header .header_nav nav ul li {font-size: 1.2vw;}
        header .header_nav nav ul li span {font-size: 1.4vw;} 
    }

    @media screen and (max-width:1520px) {
        .review_box .onebox .profbox .name {
            font-size: 25px;
            padding: 0 0 10px 0;
        }
        
        .review_box .onebox .img .img_box .link .btn {
            line-height: 1;
            padding: 10% 0;
            top: 44%;
        }
        
        .review_box .onebox .profbox .txt .t01 .t01i {
            display: ruby;
            margin-right: 2%;
            width: 24%;
        }
    }

@media screen and (max-width:1300px) {
    #top_box01 .top_slider_box .slider_box01 .slick-prev::before, #top_box01 .top_slider_box .slider_box02 .slick-prev::before, #top_box01 .top_slider_box .slider_box01 .slick-next::before, #top_box01 .top_slider_box .slider_box02 .slick-next::before, .movie .slick-prev::before, .movie .slick-next::before, #top_slider .slick-prev::before, #top_slider .slick-next::before, #profile .slick-prev::before, #profile .slick-next::before {
        width: 40px;
        height: 40px;
        background-size: 100% 100%;
    }
}

@media screen and (max-width:1300px) {	
    .girlsboxs .onebox {width: calc(100% / 4 - 2px);}
    #top_box01 .top_slider_box .t {font-size: 40px;}
    #top_box01 .top_slider_box .t span {font-size: 18px;}
    #top_newface .onebox .profbox .box {font-size: 25px;}
    #top_newface .onebox .profbox .name {font-size: 20px;}
}
	
@media screen and (max-width:1300px) {
	.news .oneboxs .txtbox .prof .time {
		padding: 2% 2% 1%;
		font-size: 16px;
		line-height: 30px;
		margin-bottom: 3%;
	}
	.news .oneboxs .txtbox .prof .time span {
		line-height: 0;
		font-size: 25px;
	}
	.news .oneboxs .txtbox .prof .time span:last-child {font-size: 16px;}
	.news .oneboxs .txtbox .prof .tit {
		font-size: 20px;
		padding-bottom: 2%;
		margin-bottom: 3%;
	}
	.news .oneboxs .txtbox .prof .txt {font-size: 14px;}
}
	
@media screen and (max-width:1300px) {	
	#profile .tit {font-size: 40px;}
	#profile .tit span {font-size: 18px;}
	#profile .tit span.r {font-size: 14px;}
	.profile_box04 .option .boxs .box .t1 {font-size: 22px;}
}
	
@media screen and (max-width:1300px) {	
	.system_box03 .optionboxs .boxs .box .onebox .t1 {font-size: 20px;}
	.system_box03 .optionboxs .boxs .box .onebox .t2 {font-size: 17px;}
	.system_box03 .optionboxs .boxs .box .onebox .t3 {font-size: 23px;}
	.system_box03 .optionboxs .boxs .box .onebox .t3 span {font-size: 16px;}
}

/* btn01 */

.btn-box {
	width: 240px;
	margin: 20px auto 0;
}

.more-btn {
	width: 240px;
	text-align: center;
	position: relative;
	cursor: pointer;

    span {
        font-size: 1rem;
        color: #313131;
        line-height: 48px;
        letter-spacing: 1.4px;
        position: relative;
        left: 0px;
        z-index: 110;
        font-family: 'Lusitana', serif;
    }
}

.more-btn-inner {
	width: 46px;
	height: 46px;
	border-radius: 35px;
	position: absolute;
	left: 0;
	z-index: 100;
	background: linear-gradient(to right,  rgba(181,2,230,1) 0%,rgba(0,97,218,1) 100%);
}

.more-btn-inner:hover {background: linear-gradient(to right,  rgba(181,2,230,1) 0%,rgba(0,97,218,1) 100%);}

.more-btn:hover span {
	color: #fff;
	left: 18px;
	transition: 1.4s;
}

.into {
	display: inline-block;
	width: 18px;
	height: 18px;
	position: absolute;
	left: 15.5px;
	top: 15px;
	transition: all .3s;
	z-index: 120;

    span {
        display: block;
        background: #fff;
        transition: all .2s;
        position: absolute;
        border-radius: 1px;
    }

    span.plus1 {
        width: 16px;
        height: 2px;
        top: 8px;
        left: 0px;
    }

    span.plus2 {
        width: 2px;
        height: 16px;
        top: 1px;
        left: 7px;
    }

    span.plus3 {
        width: 0px;
        height: 2px;
        left: 9px;
        top: 0px;
        transform: rotate(45deg);
        transform-origin: right top;
    }

    span.plus4 {
        width: 0px;
        height: 2px;
        left: 4px;
        top: 0px;
        transform: rotate(-45deg);
        transform-origin: left top;
    }
}

.more-btn:hover .into {
	transform: rotate(90deg);
	height: 13px;
	left: 25px;

    span {background: #fff;}

    span.plus1 {
        width: 0;
        left: 9px;
        opacity: 0;
    }

    span.plus2 {
        height: 18px;
        top: -4px;
        left: 10px;
    }

    span.plus3 {
        width: 10px;
        transition-delay: .1s;
    }

    span.plus4 {
        width: 10px;
        transition-delay: .1s;
    }
}

/* /btn01 */

/* btn02 */

.btn02 {
    width: 360px;
    text-align: center;
    line-height: 60px;
    border: 3px solid #fff;
    color: #fff;
    position: relative;
    margin: auto;
    display: block;
    font-size: 22px;
	background: #960000;

    span {font-size: 18px;}
}

/* /btn02 */

/*-- 2clm --*/

#top-newsbox {
	width: 100%;
	max-width: 1980px;
	display: flex;
	margin: 0 auto ;
	justify-content: center;
	min-width: 1200px;
	align-items: stretch;
    padding: 3% 0 0;

    .top-header {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        box-sizing: border-box;
        padding: 10px 15px;
        justify-content: space-between;
    }

    .cont-box {
        border: 1px solid #000;
        background: rgba(255, 255, 255, .8);
        min-height: 40vw;
        padding: 4% 3%;
        box-sizing: border-box;
    }

    .titlebox {
        width: 42%;
        justify-content: space-between;
        padding: 0 0 2.8%;
        box-sizing: border-box;

        .title-txt {
            width: 100%;
            position: relative;
            margin-left: 0;
            padding: 5% 0 0 0;

            .t_tit1 {
                font-size: 3vw;
                text-align: left;
                color: #000;
                padding-bottom: 10px;
                
                span {color: #960000;}

                img { vertical-align: initial;margin-left: 15px;width: 2vw;}
            }

            .t_tit2 {
                font-size: 22px;
                letter-spacing: 8px;
                line-height: 1.4;
                text-align: left;
                color: #000;

                @media screen and (max-width:1300px) {font-size: 18px;}  
            }
        } 
    }

    .more {
        width:30%;

        @media screen and (max-width:1680px) {width: 40%;}
        @media screen and (max-width:1300px) {width: 45%;}

    }

}

#top-newsbox > article {
	width: calc(50% - 10px);
	box-sizing: border-box;
	max-width: 990px;
}

/** top-newsbox .news-cont common **/

.news-cont {
    display: flex;
    padding: 10px;
    width: 48vw;
    box-sizing: border-box;
    border-radius: 40px;
    padding: 0 0 2% 0;

    .more-btn span {color: #fff;}

    .cast-img {
        width: 54%;
        position: relative;

        img {width: 100%;}

        .icon-twitter {
            right: 10px;
            bottom: 10px;
        }
    }

    article {
        width: 45%;
        padding: 0px 0 0 20px;
        box-sizing: border-box;

        .title {
            font-size: 1vw;
            margin: 0;
            background: #960000;
            color: #fff;
            padding: 6px 12px;
            width: 98%;
            text-align: left;
            box-sizing: border-box;
            line-height: 1.2;
        }

        .info {
            font-size: 16px;
            margin: 10px auto 10px;
            background: #960000;
            color: #fff;
            padding: 4px 0;
            width: 90%;
            text-align: center;
        }

        .time {
            font-size: 18px;
            color: #000;
        }

        .name {
            font-size: 1.6rem;
            margin: 10px 0;
            color: #000;
        }

        .age {font-size: 1.2rem;}

        .size {
            font-size: 1rem;
            display: block;
            letter-spacing: 0.05em;
            color: #000;
        }
    }

    .comment {
        font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
        font-size: 1.2rem;
        color: #000;
        line-height: 2.16em;
        height: 29.5vw;
        overflow-y: auto;
        text-align: justify;
        padding-right: 10px;
    }
}

/** /top-newsbox .news-cont common **/

/*** top-newsbox #news ***/

#news {

    .cont-box {
        padding: 4% 6%;
    }

    .news_slide {

        .more {
            max-width: 26%;
            margin: auto;
            text-align: center;
        }

        .btn_prev,.btn_next {
            position: absolute;
            top: 0;
            height: 100%;
            padding: 1px 0;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            z-index: 500;
            cursor: pointer;
        }

        .btn_prev {
            left: -52px;

            img {width: 54px;}
        }

        .btn_next {
            right: -52px;

            img {width: 54px;}
        }

        .slick-img img {
            width: 100%;
            max-width: 450px;
        }
    }

    .slick-slide img {margin: 0 auto;}

    .slick-dots li.slick-active button:before {
        opacity: 1;
        color: #960000;
    }
}

/*** /top-newsbox #news ***/

/*** top-newsbox #pickup ***/

#pickup {
	margin-right: 1%;
	padding-bottom: 29px;

    .top-header h2 {color: #fff;}

    .pickup_slide {

        .btn_prev,.btn_next {
            position: absolute;
            top: 0;
            height: 100%;
            padding: 1px 0;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            z-index: 500;
            cursor: pointer;
        }

        .btn_prev {
            left: -26px;

            img {width: 54px;}
        }

        .btn_next {
            right: -26px;

            img {width: 54px;}
        }

        .slick-img img {
            width: 100%;
            max-width: 450px;
        }

        .slick-slide img {margin: 0 auto;}
    }

    .slick-dots li.slick-active button:before {
        opacity: 1;
        color: #960000;
    }

    .news-cont {
        background:none;
        display: block;
        padding: 0;
        width: 20vw;
        border: none;
        box-sizing: border-box;
        border-radius: 0;

        .more {
            width: 26%;
            margin: 4% auto;
        }

        .cast-img {
            width: 100%;
            border-radius: 10px;
            overflow: hidden;
        }

        .box {
            background: rgba(0, 0, 0, 1);
            height: auto;
            padding: 5% 0;
            margin: 6px 0;
            box-sizing: border-box;
            color: #fff;
            border-radius: 10px;

            .name {
                text-align: center;
                font-size: 22px;
            }

            .size {
                text-align: center;
                margin-top: 5px;
            }
        }
    }
}

/*** /top-newsbox #pickup ***/

	@media screen and (max-width:1680px) {
		#news .btn02,
		#new-cast .btn02 {
			width: 260px;
		    font-size: 18px;
		}
	}

	@media screen and (max-width:1500px) {
		#news .btn02,
		#new-cast .btn02 {
			width: 200px;
		    font-size: 16px;
		}
	}

/*-- /2clm --*/

/* top-slider */

#top-slider {
    /*margin: 50px auto;*/

    .bg {position: relative;}

    .top_slide figure img {
        width: 60vw;
        max-width: 960px;
    }

    .top_slide .slick-dots {
        text-align: center;
        position: absolute;
        display: block;
        width: 100%;
        padding: 0;
        margin: 0;
        list-style: none;
        padding-left: 0;
    }

    .top_slide .slick-dots li {
        width: 35px;
        margin: 2.7vw 5px 0;

        @media screen and (max-width: 1680px) {margin: 2vw 5px 0;}

        @media screen and (max-width: 1500px) {margin: 2.5vw 5px 0;}

        @media screen and (max-width: 1300px) {margin: 2.3vw 5px 0;}
    }

    .top_slide .slick-dots li button:before {
        font-size: 25px;

        @media screen and (max-width: 1680px) {font-size: 20px;}
    }

    .btn_prev,.btn_next {
        position: absolute;
        top: 0;
        width: 25%;
        height: 100%;
        padding: 1px 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        z-index: 1;
    }

    .btn_prev {left: 0;opacity: 0}
    .btn_next {right: 0;opacity: 0}
}

.top_sum {

    .slick-slide {cursor: pointer;}

    .btn_prev,.btn_next {
        position: absolute;
        top: 0;
        height: 100%;
        padding: 1px 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        z-index: 500;
        cursor: pointer;
    }

    .btn_prev {
        left: -45px;

        img {width: 40px;}
    }

    .btn_next {
        right: -45px;

        img {width: 40px;}
    }
}

#news .slick-slide img {margin: 0 auto;}

/* /top-slider */

/*-- gonow.html --*/

#gonow {
    padding-bottom: 5%;

    .girlsboxs .onebox {
        margin-top: 0;
    }
}

/*-- /gonow.html --*/

/*-- newface.html --*/

#newface {

    #nfbox {
        width: 100%;
        display: flex;
        margin: 0 0 30px;
        justify-content: center;
        flex-wrap: wrap;

        .box {margin-bottom: 20px;}

        .new-cast {
            background: url(../images/nf_bg.jpg) no-repeat center top;
            background-size: cover;
            padding: 1.6% 2% 3%;
            box-sizing: border-box;
            margin-bottom: 50px;
            border: 1px solid #928159;

            .nf-cont {
                display: flex;
                background: none;
                padding: 0;
                width: 100%;
                align-items: center;

                .girlsimg {
                    display: block;
                    width: 35%;
                    margin: 0;
                    position: relative;

                    .classicon {

                        img {width: 100%}
                    }

                    .onebox {
                        display: block;
                        width: 100%;
                        border: none;
                        margin: 0;
                        color: #fff;
                        position: relative;
                        box-sizing: border-box;

                        .days {
                            font-size: 24px;
                            text-align: center;
                            background-color: #000;
                            padding: 15px 0;
                        }

                        .img {
                            z-index: 50;

                            .icon01 {
                                position: absolute;
                                top: 0;
                                left: 0;
                                width: 40%;
                                max-width: 150px;
                            }

                            .prof {
                                position: absolute;
                                bottom: 20px;
                                left: 20px;
                                width: 90%;
                                z-index: 50;

                                img {
                                    width: 100%;
                                    max-width: 400px;

                                    @media screen and (max-width: 1400px) {max-width: 300px;}
                                }

                                .name {
                                    font-size: 28px;
                                    margin: 20px 0 10px;

                                    span {font-size: 22px;}
                                }

                                .size {
                                    font-size: 22px;
                                    margin-bottom: 10px;
                                }
                            }

                            img {
                                width: 32.4vw;
                                height: auto;
                                z-index: 40;
                                position: relative;
                                max-width: 520px;
                            }
                        }
                    }

                    .onebox::after {
                        content: "";
                        width: 96%;
                        height: 100%;
                        position: absolute;
                        background: #960000;
                        top: 18px;
                        right: -4px;
                    }
                }
            }
        }
    }

    #nfbox > article {
        width: 100%;
        max-width: 1600px;
        margin: auto;
        box-sizing: border-box;
        background-color: #fff;
    }

    .nf-cont article {
        width: 63%; 
        margin-left: 2%;
        box-sizing: border-box;
        max-width: 1090px;

        .entry {
            font-size: 22px;
            font-weight: bold;
            color: #960000;
            border-bottom: 1px solid #960000;
            padding-bottom: 5px;

            @media screen and (max-width: 1500px) {font-size: 16px;}

            span {
                font-size: 12px;
                color: #fff;
                background: #960000;
                padding: 3px 6px;
                margin-right: 6px;
                vertical-align: middle;
            }
        }

        .bg {
            background: rgba(255, 255, 255, .8);
            padding: 10px;
            box-sizing: border-box;
            border-radius: 10px;
            margin-bottom: 20px;
        }

        .title {
            font-size: 1.3em;
            margin: 10px 0;
            color: #960000;
            padding: 4px 0;
            width: 96%;
            text-align: left;
            font-family: var(--fontgothic);

            @media screen and (max-width: 1500px) {font-size: 16px;}
        }

        .info {
            font-size: 16px;
            margin: 10px auto 10px;
            color: #000;
            padding: 4px 0;
            width: 90%;
            text-align: center;
        }

        .time {
            font-size: 22px;
            font-weight: bold;
            border-bottom: 1px solid;
            padding-bottom: 5px;

            @media screen and (max-width: 1500px) {font-size: 16px;}

            span {
                font-size: 12px;
                color: #000;
                padding: 3px 6px;
                margin-right: 6px;
                vertical-align: middle;
            }
        }

        .name {
            font-size: 1.6rem;
            margin: 10px 0;
            color: #000;

            @media screen and (max-width: 1500px) {font-size: 18px;}
        }

        .age {font-size: 1.2rem;}

        .size {
            font-size: 1rem;
            display: block;
            letter-spacing: 0.05em;
            color: #000;

            @media screen and (max-width: 1500px) {font-size: 13px;}
        }

        .profile {
            width: 100%;
            padding: 15px 0 0;

            div {text-align: center;}

            .name {
                font-size: 24px;
                margin-bottom: 5px;
            }

            .size {
                font-size: 14px;
                margin-bottom: 10px;
            }

            .time {
                background: url(../images/time_bg.png) no-repeat center top;
                font-size: 16px;
                padding: 1% 0;
                width: 99%;
                min-height: 34px;
                background-size: contain;
                margin: 0 auto 0px;
                box-sizing: border-box;
                border: none;
                font-weight: normal;
                color: #fff;
                line-height: 1.5;

                @media screen and (max-width: 1300px) {line-height: 1.2;}
            }

            .situation {
                text-align: center;
                padding: 4px 0;
                font-size: 20px;
                line-height: 30px;
                bottom: 0;
                width: 100%;
                color: #fff;

                span {color: #e1a3ed;}
            }

            .situation2 {
                font-size: 16px;
                color: #fff;

                span {color: #e1a3ed;}
            }

            .situation.next {
                padding: 5px 0;
                font-size: 22px;

                div {
                    font-size: 15px;
                    line-height: 20px;
                }
            }
        }
    }

    .nf-cont .comment {
        font-family: "游ゴシック", "YuGothic", "メイリオ", sans-serif;
        font-size: 1.1rem;
        color: #000;
        line-height: 2.16em;
        height: 500px;
        overflow-y: auto;
        overflow-x: hidden;
        text-align: justify;
        padding-right: 10px;

        @media screen and (max-width: 1600px) {
            height: 27vw;
            padding-right: 0;
        }
    }
}

/*-- /newface.html --*/

/* reserve.html */

#reserve .form-box {
    margin: 50px auto;
    max-width: 1200px;
    width: 100%;
    box-sizing: border-box;
}

#reserve .form-inner {padding-bottom: 50px;}

#reserve .form-inner h4 {
    font-size: 24px;
    text-align: center;
    padding: 80px 0 0;
}

#reserve .form-main {padding: 40px 0 0;}

/* /reserve.html */

/* form-all */

.formnote {
    text-align: center;
    padding: 0;
    font-size: 16px;
    line-height: 32px;

    span {color: #960000;}
}

.bg-set {
    border-radius: 0 16px 16px 0;
    box-sizing: border-box
}

.cont_form {
    width: 100%;
    margin: 0px auto;
    max-width: 1680px;

    .two {width: 50%;}
}

.entry-form {
    width: 800px;
    margin: 55px auto;

    dl {
        padding: 10px 0;
        box-sizing: border-box;
        margin: 15px 0;

        dt {
            border: 0px;
            text-align: left;
            font-size: 16px;
            width: 100%;
            padding-right: 5px;
            box-sizing: border-box;
            border-radius: 10px 0 0 10px;
            display: flex;
            align-items: center;
            margin-bottom: 10px;

            img {
                width: 25px;
                margin-right: 15px;

                @media screen and (max-width: 1700px){margin-right: 0.8824vw}
            }

            span {
                font-weight: normal;
                padding: 6px 16px;
                font-size: 13px;
                margin-left: 15px;
                color: #fff;
                background: #960000;
                border-radius: 40px;
            }
        }

        dt:before {content: none}	

        dt.item {color: #9d8aee}			
        
        dd {width: 100%}

        dd.select {position: relative}

        dd.select label::before {
            position: absolute;
            top: 0.9em;
            right: 17.8em;
            width: 0;
            height: 0;
            padding: 0;
            content: '';
            border-left: 9px solid transparent;
            border-right: 8px solid transparent;
            border-top: 15px solid #000;
            pointer-events: none
        }

        dd.select select option {line-height: 1}
			
        dd.form-txt {
            font-size: 16px;
            padding: 10px 0
        }			
    }

    label {
        display: block;
        font-size: 20px;
    }

    label > span {
        width: 100px;
        font-weight: bold;
        float: left;
        padding-top: 8px;
        padding-right: 5px
    }
        
    span.required {color: red}

    input.input-field {width: 100%;}
        
    input.input-field, .textarea-field, .select-field {
        box-sizing: border-box;
        padding: 12px;
        outline: none;
        line-height: 1.6;
        appearance: none;
        font-size: 18px;
        border: 1px solid #ccc;
    }

    .select-field {
        width: 35%;	
        height: 45px;
        font-size: 17px
    }
        
    .input-field:focus, 
    .textarea-field:focus,  
    .select-field:focus {
        border: 5px solid #774491
    }

    .textarea-field {
        height:200px;
        width: 100%
    }

    .f-submit {
        width: 100%;
        max-width: 340px;
        margin: 20px auto;

        label {margin: 0}
    }

    input[type="submit"], input[type="button"] {
        background: #707070;
        font-family: 'Gilda Display', serif;
        padding: 8px 15px;
        width: 100%;
        appearance: none;
        border: none;
        box-sizing: border-box;
        height: 60px;
        font-weight: bold;
        font-size: 20px;
        color: #fff;
        text-align: center;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
    }

    input[type=submit]:hover,
    input[type=button]:hover {
        opacity: .8
    }
			
    /* form-all-select */
    .select {
        background: #fff;
        box-sizing: border-box;
        padding: 3px;
        outline: none;
        line-height: 2;
        appearance: none;
        font-size: 18px;
        border: 1px solid #ccc;
        position: relative;
    }

    .select::after {
        position: absolute;
        content: "";
        width: 8px;
        height: 8px;
        right: 18px;
        top: 46%;
        transform: translateY(-50%) rotate(45deg);
        border-bottom: 3px solid #8c8a8b;
        border-right: 3px solid #8c8a8b
    }

    .select2 {
        background: #ffffff;
        padding: 7px;
        width: 140px;
        position: relative;
        z-index: 1;
        display: inline-block;
        box-sizing: border-box;
        border: 1px solid #ccc;
        margin: 0;

        @media screen and (max-width: 1700px){width: 7.8vw;}

        @media screen and (max-width: 1400px){width: 6.8vw;}  
    }

    .select2::after {
        position: absolute;
        content: '';
        width: 5px;
        height: 5px;
        right: 18px;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        border-bottom: 1px solid #282828;
        border-right: 1px solid #282828;
        z-index: -1
    }

    select {
        appearance: none;
        -moz-appearance: none;
        -webkit-appearance: none;
        background: none;
        border: none;
        color: #333;
        font-size: 18px;
        width: 100%;
        height: 100%;
        padding: 8px;
    }

    /* /form-all-select */

    .f-back {
        width: 100%;
        max-width: 340px;
        margin: 20px auto;

        button {
            margin: 0;
            background: #707070;
            font-family: 'Gilda Display', serif;
            padding: 8px 15px;
            width: 100%;
            appearance: none;
            border: none;
            box-sizing: border-box;
            height: 60px;
            font-weight: bold;
            font-size: 20px;
            color: #fff;
            text-align: center;
            cursor: pointer;
            -webkit-appearance: none;
            -moz-appearance: none;
        }

        button:hover {opacity: .8}
    }
}

.entry-form.confirm dl dd {padding: 20px 0;}

.entry-form.cofirm dl:last-of-type dt {height: auto;}

.parsley-custom-error-message, .parsley-required, .parsley-equalto, .parsley-errors-list filled {
    color: #f00;
    font-size: 16px;
    padding: 15px;
}

/* form-all-radio */

.f-btn {

    .list_item {
        margin: 0px;
        padding: 24px
    }

    label {
        font-family: Arial, sans-serif;
        line-height: 135%;
        position: relative;
        margin: 0.5rem;
        cursor: pointer;
        font-size: 20px
    }

    .option-input {
        position: relative;
        margin: 7px 20px 0px 0px;
        cursor: pointer
    }

    .option-input::before,
    .option-input::after {
        position: absolute;
        z-index: 1;
        top: -1px;
        left: -5px;
        width: 15px;
        height: 15px;
        content: "";
        transition: all 0.3s ease-in-out 0s;
        border: 2px solid #333;
        border-radius: 50%;
        background: #ffffff
    }

    .option-input:after {
        z-index: 0;
        top: 0;
        border: none
    }

    .option-input:checked:before {
        transform: rotateY(180deg);
        background: #774491
    }
}

/* /form-all-radio */	

::placeholder {color: #ccc}

#reserve .f-top {
    margin: 50px auto;
    text-align: center;

    a {
        margin: 0;
        background: #707070;
        font-family: 'Gilda Display', serif;
        padding: 19px 30px;
        width: 100%;
        appearance: none;
        border: none;
        box-sizing: border-box;
        height: 60px;
        font-weight: bold;
        font-size: 20px;
        color: #fff;
        text-align: center;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
    }

    a:hover {opacity: .8}
}

/* /form-all */

/* confirm thanks */

.confirm dl {
    padding: 10px 0;
    box-sizing: border-box;
    margin: 30px 0;
    border-bottom: 1px solid #fff;
}

.thanks_txt {
    margin-top: 50px;

    p {text-align: center;}

    .tel {
        font-size: 16px;
        margin-top: 50px;
    }
}

/* /confirm thanks */

/* waiting.html */

#waitingplace {

    h3 {
        color: #000;
        font-size: 54px;
        text-align: center;
        line-height: 38px;
        margin: 0px auto 54px;
        padding-top: 28px;
    }

    p.h3sub {
        font-size: 1.6em;
        text-align: center;
        margin: 50px auto;
    }

    p#pink-box {
        color: #000;
        margin: 0px auto 20px;
        text-align: center;
        line-height: 1.5;
    }

    .box {
        width: 100%;
        max-width: 2000px;
        margin: 10px auto;
        border-bottom: 1px solid #000;
        padding-bottom:50px ;
    }
}

ul#area-btn {
	width: 100%;
	max-width: 880px;
	margin: 10px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;

    li {
        float: left;
        width: 300px;
        margin: 20px 70px;

        p {
            text-align: center;
            font-size: 1em;
            transform: rotate(-45deg);    
        }

        p.area {
            transform: rotate(0deg);
            margin-bottom: 20%;
        }
        
        .mb10 {font-size: 18px;}
        
        .circle {
            display: block;
            width: 198px;
            height: 198px;
            margin: 8px auto;
            background: #960000;
            transform: rotate(45deg);

            a {color: #fff;}

            p {
                line-height: 32px;
                padding: 35px 0;

                span {font-size: 0.8em;}
            }
        }
    }
}

#flow-step {
	width: 880px;
	margin: 10px auto 80px;

    dl {
        margin: 0 auto 40px;

        dt {
            font-size: 1.4em;
            text-align: center;
            position: relative;
            width: 140px;
            margin: 0 auto;
        }

        dt::before,
        dt::after {
            content: "";
            background: #fff;
            height: 100%;
            width: 4px;
            position: absolute;
        }

        dt::before {left: 0;}
        dt::after {right: 0;}

        dd {
            padding-top: 20px;

            p {
                text-align: center;
                line-height: 1.5;
            }
        }
    }
}

.area-container {
    margin: 0 auto 40px;

    .mbox {
        width: 100%;
        background: #fff8e6;
        display: flex;
        box-sizing: border-box;
        margin-bottom: 30px;

        .inner {width: 100%;}
    }
}

.area-box {
    position: relative;
    margin: 12px auto 40px;

    .info {
        width: 1000px;
        margin: 12px auto 40px;
        justify-content: space-evenly;
    }

    .subbox {

        h4 {
            position: relative;
            font-size: 2.2em;
            text-align: center;
            letter-spacing: 14px;
            margin: 30px auto;
            color: #960000;
            font-weight: bold;
        }

        h4::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 0;
            width: 42%;
            background: #960000;
            height: 1px;
        }

        h4::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 0;
            width: 42%;
            background: #960000;
            height: 1px;
        }
    }
}

.map_txtwrap {

    .txtbox {
        height: 176px;

    }

    p {
        color: #000;
        line-height: 1.5;
    }

    p.map_tit {
        font-size: 1.4em;
        margin-bottom: 12px;
        color: #960000;
        font-weight: bold;
    }
}


/* /waiting.html */

/* howto.html */

#howto {
    margin: 50px auto;

    .box {margin: 50px auto;}

    ul {
        margin: 5% auto;
    
        li {position: relative;}
        li:first-of-type {margin-right: 30px;}
    }

    .step {
        position: absolute;
        top: -30px;
        left: -15px;
        box-sizing: border-box;
        border-radius: 12px;
        padding: 20px;
        width: 100px;
        height: 100px;
        background: #000;

        p {
            text-align: center;
            z-index: 2;
            letter-spacing: 0;
            color: #fff;
        }

        p:first-of-type {
            position: absolute;
            left: -26px;
            top: 22px;
            width: 100%;
            font-size: 20px;
            margin-bottom: 0px;
            letter-spacing: 1px;
            transform: rotate(90deg);
        }

        p:last-of-type {
            position: absolute;
            bottom: 0;
            right: 14px;
            font-size: 84px;
        }
    }

    .txt {
        width: 645px;

        p {
            font-size: 16px;
            line-height: 1.3;
            font-weight: 500;
            margin-top: 5px;

            span {font-size: 22px;}
        }

        p.title {
            color: #000;
            font-size: 22px;
            font-weight: bold;
            width: 100%;
            margin-bottom: 2%;

            span { border-bottom: 2px solid #960000;}
        }
    }

    .img {
        padding: 0 15px;

        img {width: 300px;}
    }
}

.contents h2.howto {
	color: #313131;
	font-size: 50px;
	text-align: center;
	letter-spacing: 3px;
	line-height: 36px;
	margin: 90px auto 20px;
}

/* /howto.html */

/* profile.html */

#profile {
	padding: 0;
	color: #000;

    .bg {
        background: url(../images/pf_bg.jpg) top center no-repeat;
        background-attachment: fixed;
        padding: 4% 2%;
    }

    /*** #top-pd ***/

    .pd {

        .girlsboxs {
            width: 100%;
            max-width: 1600px;
            margin-top: 3%;

            .onebox {
                background: #fff;
                width: calc(98% / 3 - 0px);
                margin: 0.2%;
                padding: 2% 1% 0.5%;

                a {color: #000;}

                .img {
                    position: relative;
                    

                    figure {
                        border-radius: 10px;
                        height: 17vw;
                        max-height: 280px;
                    }

                    .g-thm {
                        position: absolute;
                        top: 15px;
                        left: 6px;
                        width: 40%;
                        max-width: 100px;
                        z-index: 50;

                        .inner {
                            z-index: 500;

                            a {
                                width: 50px;
                                height: 50px;
                                background: #000;
                                border-radius: 50%;
                                display: block;
                                overflow: hidden;
                                box-sizing: border-box;

                                img {
                                    width: 100%;
                                    height: auto;
                                }
                            }

                            figure {
                                width: 50px;
                                height: 50px;
                                background: #000;
                                border-radius: 50%;
                                display: block;
                                overflow: hidden;
                                box-sizing: border-box;

                                img {
                                    width: 100%;
                                    height: auto;
                                }
                            }
                        }
                    } 
                }

                .d-box {

                        border-bottom: 1px solid #000;
                        margin-top: 10px;
                        padding-bottom: 5px;

                    .ttl {
                        display: -webkit-box;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 1;
                        overflow: hidden;
                        
                        img{width: 20px;}
                    }

                    .ymd {font-size: 13px;margin-top: 5px;}
                }
                
                .profile {
                    background:none;

                    .name {
                        font-size: 16px;
                    }

                    .size {
                        font-size: 16px;
                    }
                }

                .more {
                    width: 100%;
                    max-width: 120px;
                    margin: 3% auto;
                
                    a {color: #fff;}
                }
            }
        }
    }

    /*** /#top-pd ***/

    .more {
        text-align: center;
        width: 100%;
        margin: 2% auto;
    }
}

#profile .tit {
    font-family: "Cinzel", serif;
    padding: 0 20px;
    font-size: 38px;
    box-sizing: border-box;
    text-align: left;
    height: 50px;
    color: #960000;
    border-bottom: 1px solid #960000;
    position: relative;

    span {
        font-size: 18px;
        margin-left: 20px;
        font-family:'Lora', serif, "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    }

    span.r {
        position: absolute;
        right: 0;
        font-size: 18px;
        bottom: 10px;
    }

}

#profile .tit::before {
    content: "";
    height: 50px;
    width: 8px;
    background-color: #960000;
    position: absolute;
    top: 0;
    left: 0;
}

#profile .tit.p1 {background: url(../images/prof_3.jpg) center top no-repeat;}

#profile .tit.p2 {background: url(../images/prof_4.jpg) center top no-repeat;}

#profile .tit.full {
    padding: 10px 20px;
    box-sizing: border-box;
    text-align: center;
    background: url(../images/prof_2.jpg) center top no-repeat;
}


#profile .slick-prev:before {
	background: url(../images/naxt_left.png) no-repeat;
	width: 60px;
	height: 60px;
	content: '';
	display: block;
	z-index: 500;
}

#profile .slick-next:before {
	background: url(../images/naxt_right.png) no-repeat;
	width: 60px;
	height: 60px;
	content: '';
	display: block;
}

/* box00 */

.profile_box00 {
    display: flex;
    width: 98%;
    margin: 0 auto 0;
    position: relative;
    max-width: 1560px;

    .box {position: relative;}

    .onebox {
        position: relative; 
        cursor: pointer;
    
        .icon01 {
            position: absolute;
            top: 0;
            left: 0;
            width: 40%;
            max-width: 150px;
        }

        .icon02 {
            position: absolute;
            top: 10px;
            right: 50px;
            width: 30%;
            max-width: 100px;

            @media screen and (max-width: 1600px) {right: 60px;}
            @media screen and (max-width: 1300px) {right: 50px;}

            img {
                display: block;
                margin-top: 5px;
            }
        }

        .icon03 {
            position: absolute;
            top: 0;
            right: 65px;
            width: 33%;
            max-width: 122px;

            @media screen and (max-width: 1600px) {right: 50px;}
            @media screen and (max-width: 1300px) {right: 40px;}
        }
    }

    .slick-prev {left: 33%;}
    .slick-next {right: calc(100% / 3 - -30px);}

    .box01 {
        /* background-size: 100% 100%; */
        width: calc(85% / 2 - 0%);
        margin: 0 1%;
        position: sticky;
        top: 90px;
        z-index: 2;
        height: 850px;

        .container {position: relative;}
    }

    .box02 {
        width: calc(114% / 2 - 0%);

        .box {

            .txt {
                padding: 40px 10px;
                line-height: 1.5;
                font-family: var(--fontgothic);
                margin: 4% 0;
            }
        }

        .message .txt {
            border: 2px solid #000;
            margin-top: 15px;
            box-sizing: border-box;
            padding: 20px 15px;
            height: 40vw;
            max-height: 800px;
            overflow: auto;
            background: #fff;
            box-shadow: 0px 0 7px #181818;
        }
    }

    .price .box {

        .txt {
            font-size: 40px;
            font-family: inherit;
            text-align: center;

            .pri {
                background-color: #960000;
                color: #fff;
                font-size: 24px;
                padding: 0.3% 5% 0.6%;
                box-sizing: border-box;
                text-align: center;
                border-radius: 50px;
                vertical-align: middle;
            }
            
            .tax {
                font-size: 20px;
                margin-left: 5px;
            }
        }
    }

    .infobox {
        padding: 5% 7% 5% 3%;
        box-sizing: border-box;
        color: #000;
        justify-content: space-between;
        width: 100%;
        background: rgba(255, 255, 255, .9);
        box-shadow: 1px 0px 10px #ccc;
        margin: 4% 0;

        .info {

            .name {
                font-size: 40px;
                text-align: left;
                margin: 10px 0;

                @media screen and (max-width: 1600px) {font-size: 34px;}

                @media screen and (max-width: 1300px) {font-size: 24px;}

                span {
                    font-size: 24px;
                    margin-left: 10px;

                    @media screen and (max-width: 1600px) {font-size: 20px;}

                    @media screen and (max-width: 1300px) {font-size: 16px;}
                }
            }

            .size {
                font-size: 24px;
                text-align: left;

                @media screen and (max-width: 1600px) {font-size: 20px;}

                @media screen and (max-width: 1300px) {font-size: 16px;}
            }
        }

        .info-mark {
            color: #fff;
            background: #8d6e33;
            width: 100%;
            max-width: 240px;
            border-radius: 14px;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            padding: 2% 3%;
            box-sizing: border-box;

            .txt1 {
                width: 100%;
                text-align: center;
                font-size: 24px;

                img {
                    width: 20px;
                    margin-right: 5px;
                    vertical-align: top;
                }
            }

            .txt2 {
                width: 100%;
                text-align: center;
                font-size: 24px;
            }
        }
    }

    .qa {
        width: 100%;

        .boxs {
            margin-top: 20px;
            height: 60vw;
            overflow: auto;
            min-height: 880px;

            .onebox {
                padding: 10px;
                line-height: 1.5;
                margin-bottom: 6px;
                border-bottom: 1px solid #000;

                span {
                    font-size: 16px;
                    display: block;
                }

                .q {
                    font-family: "Cinzel", serif;
                    width: 100%;
                    display: flex;
                    align-items: center;
                                    
                    span {color: #43a9ff; font-size: 40px;} 
                }

                .a {
                    font-family: "Cinzel", serif;
                    width: 100%;
                    display: flex;
                    align-items: center;
                                    

                    span {color: #960000; font-size: 40px;}
                }
            }
        }
    }

    .pd .frame {
        margin: 20px auto;

        iframe {width: 100%;}
    }

    .movbox  {

        .boxs {
            width: 100%;
            max-width: 1200px;
            margin: 30px auto 120px;
            margin: 2% auto 6%;
        }
    }
}

/* /box00 */

.profile_slider01 {

    .btn_prev, .btn_next {
        position: absolute;
        top: 0;
        height: 100%;
        padding: 1px 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        z-index: 1000;
        cursor: pointer;
    }

    .btn_prev {
        left: 5px;

        img {width: 54px;}
    }

    .btn_next {
        right: 5px;

        img {width: 54px;}
    }

    .slick-img img {
        width: 100%;
        max-width: 450px;
    }

    img {margin: 0 auto;}

    .slick-dots li.slick-active button:before {
        opacity: 1;
        color: #960000;
    }
}

/* /slider */

.profile_option {

    .boxs {
        width: 100%;
        max-width: 1800px;
        margin: 0 auto;
    }

    .box-o {
        max-width: 1700px;
        margin: 4% auto;
        box-sizing: border-box;
        padding: 3% 1%;
        background: #fff;
        box-shadow: 0px 0 7px #4e4e4e;

    }
    
    .option .boxs {
        display: flex;
        flex-wrap: wrap;

        .box {
            width: calc(100% / 3 - 10px);
            border: 3px solid #bebebe;
            margin: 0.5%;
            background-color: #bebebe;
            border-radius: 50px;
            justify-content: space-between;
            padding: 1% 2% 1%;
            box-sizing: border-box;
            height: 60px;

            .t1 {
                width: 100%;
                text-align: center;
                font-size: 16px;
                color: #787878;

                @media screen and (max-width: 1300px) {font-size: 13px;}
            }

            .t2 {
                                width: 100%;

                text-align: center;
                font-size: 16px;
                color: #787878;

                @media screen and (max-width: 1300px) {font-size: 13px;}
            }
        }

        .box.on {
            background:#fff;
            border:3px solid #960000;

            .t1 {color: #960000;}

            .t2 {color: #960000;}
        }
    }
}

.profile_option2 {

    .boxs {
        width: 100%;
        max-width: 1800px;
        margin: 0 auto;
    }

    .box-o {
        max-width: 1700px;
        margin: 4% auto;
        box-sizing: border-box;
        padding: 3% 1%;

    }
    
    .option .boxs {
        display: flex;
        flex-wrap: wrap;

        .box {
            width: calc(96% / 4);
            border: 3px solid #8d6e33;
            margin: 0.5%;
            background-color: #8d6e33;
            border-radius: 50px;
            justify-content: space-between;
            padding: 1% 2% 1%;
            box-sizing: border-box;
            height: 60px;

            .t1 {
                width: 100%;
                text-align: center;
                font-size: 16px;
                color: #fff;

                @media screen and (max-width: 1300px) {font-size: 13px;}
            }

        }
    }

}

/* schedulebox */

.schedulebox {
    padding-top: 20px;

    .tit .t {
        font-size: 18px;
        text-align: center;
        padding-top: 20px;
    }

    .boxs {
        width: 100%;
        margin: 4% auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;

        .box {
            width: calc(96% / 4 - 1%);
            margin: 1%;
            line-height: 1.6;
            border: 1px solid #000;
            padding: 2% 1%;
            border-radius: 10px;
            box-sizing: border-box;
            background: #fff;

            .inner {
                box-sizing: border-box;
            }

            .t1 {
                font-size: 22px;
                text-align: center;
                width: 90%;
                margin: auto;
                border-bottom: 1px solid #000;

                @media screen and (max-width: 1300px) {font-size: 18px;}
            }

            .t2 {
                font-size: 14px;

                span {font-size: 11px;}

                div {
                    text-align: center;
                    font-size: 18px;
                }
            }

            .t3 {
                font-size: 20px;
                text-align: center;
                width: 100%;
                margin: 0 auto;
                background: #960000;
                display: block;
                color: #fff;
                position: relative;
                box-sizing: border-box;
            }

            .off {
                background: #282828 !important;
                color: #aaaaaa;
                pointer-events: none;
            }

            a:hover .off:hover {
                opacity: 1!important;
                cursor: default!important;
                transition: none!important;
            }

            .rbox {
                width: 100%;
                text-align: center;
                font-size: 20px;
                padding: 2%;
                box-sizing: border-box;
                font-weight: bold;
            }
        }

        .box.on {background-color: #f3ce7a;}
    }
}

/* /schedulebox */

/*profile_slider*/

.profile_slider01 .container {
	margin: 30px auto 0;
	width: 100%;
}

.profile_slider01 .slick-slide img {
	height: auto;
	opacity: .3;
	transition: opacity .5s, transform .5s;
	width: 100%;
	max-width: 600px;
}

.profile_slider01 .slick-center img {
	opacity: 1;
	transform: scale(1);
}

#profile .profile_box-last {
    width:100%;
	max-width: 1800px;
	margin: auto;

    .tit {
        text-align: center;
        border-bottom: none;
    }

    .tit::before {
        content: none;
    }

    .boxs {
        width:100%;
        max-width: 1800px;
        margin: auto;

        .box {
            width: calc(100% / 2 - 0%);

            .txt {
                padding: 40px 10px;
                line-height: 1.5;
            }
        }
    }
}

/* /profile.html */

/* X アイコン　*/

.girlsboxs .icon-x {
    z-index: 500;

    a {
        width: 50px;
        height: 50px;
        background: #000;
        border-radius: 50%;
        display: block;
        padding: 10px;
        box-sizing: border-box;

        img {
            width: 100%;
            height: auto;
        }
    }
}

/*** bread ***/

.breadcrumb {
    padding: 10px 20px;
    box-sizing: border-box;
    font-size: 13px;
    margin: 0 auto;
	background: #fff;

    li {
        color:#000; 
        display: inline-block;

        a { color: #960000;display: inherit;text-decoration: underline;}
    }
}

/*** /bread ***/

/*** #top-pd ***/

#top-pd {

    .girlsboxs {
        width: 100%;
        max-width: 1600px;

        .onebox {
            background: #fff;
            width: calc(98% / 5 - 0px);
            margin: 0.2%;
            padding: 2% 1% 0.5%;

            a {color: #000;}

            .img {
                position: relative;
                
                figure {
                    border-radius: 10px;
                    height: 17vw;
                    max-height: 280px;
                }

                .g-thm {
                    position: absolute;
                    top: 15px;
                    left: 6px;
                    width: 40%;
                    max-width: 100px;
                    z-index: 50;

                    .inner {
                        z-index: 500;

                        a {
                            width: 50px;
                            height: 50px;
                            background: #000;
                            border-radius: 50%;
                            display: block;
                            overflow: hidden;
                            box-sizing: border-box;

                            img {
                                width: 100%;
                                height: auto;
                            }
                        }

                        figure {
                            width: 50px;
                            height: 50px;
                            background: #000;
                            border-radius: 50%;
                            display: block;
                            overflow: hidden;
                            box-sizing: border-box;

                            img {
                                width: 100%;
                                height: auto;
                            }
                        }
                    }
                } 
            }

            .d-box {

                    border-bottom: 1px solid #000;
                    margin-top: 10px;
                    padding-bottom: 5px;

                .ttl {
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 1;
                    overflow: hidden;
                    
                    img{width: 20px;}
                }

                .ymd {font-size: 13px;margin-top: 5px;}

            }
            
            .profile {
                background:none;

                .name {font-size: 16px;}

                .size {font-size: 16px;}
            }

            .more {
                width: 100%;
                max-width: 120px;
                margin: 3% auto;
            
                a {color: #fff;}
            }
        }
    }
}

/*** /#top-pd ***/

#top_schedule .bg {
    width: 100%;
    padding: 20px 0 50px;
}

.hide {display: none;}	

#top_schedule .navbox {
    padding:1.3% 0;
    box-sizing: border-box;
    background: #893333;

    ul {
        justify-content: space-evenly;
        width: 100%;
        max-width: 1300px;
        margin: auto;

        li {
            display: inline-block;
            width: 100%;
            max-width: 380px;
            text-align: center;
            text-decoration: none;
            line-height: 60px;
            outline: none;
            color: #fff;
            background-color: #893333;
            position: relative;
            border: 1px solid #fff;
            transition: color 0.5s ease;
            font-size: 18px;
            font-weight: bold;
            cursor: pointer;

            .text {position: relative;}

            a {
                display: inline-block;
                width: 100%;
                text-align: center;
                text-decoration: none;
                line-height: 60px;
                outline: none;
                color: #893333;
                background-color: #fff;
                position: relative;
                border: 1px solid #893333;
                transition: color 0.5s ease;
                font-size: 24px;

                .text {position: relative;}

            }

            a:hover {color: #fff;}

            a:hover::before {transform: scaleY(1);}

            a::before {
                position: absolute;
                top: 0;
                left: 0;
                content: "";
                display: block;
                width: 100%;
                height: 100%;
                background: #893333;
                transform: scaleY(0);
                transition: all 0.5s ease;
                transition-property: transform;
            }
        }	

            li:hover {color: #fff!important;border: 1px solid #fff!important;background-color: #fff;}

            li:hover::before {transform: scaleY(1);}

            li::before {
                position: absolute;
                top: 0;
                left: 0;
                content: "";
                display: block;
                width: 100%;
                height: 100%;
                background: #893333;
                transform: scaleY(0);
                
                transition: all 0.5s ease;
                transition-property: transform;
            }

        li.select {
            background: #fff;
            opacity: 1;
            transition: all 1s;
            color: #893333;
            border: 1px solid #893333;
        }
    }
}

.top_slide {width: 100%;}

.top_sum {
    width: 60vw;
    max-width: 1400px;
    margin: 0 auto;
    padding: 14px 0 40px;
}

/* #header_bar0 */

header #header_bar0.main_head {
    background: none;
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    border-bottom: 0;
    top: 0;

    .boxs {
        display: flex;
        width: 100%;
        justify-content: center;
        background: rgba(0, 0, 0, 0.8);
        padding: 6px;
        box-sizing: border-box;
        box-shadow: 0px 0px 0px #000;

        .logo {
            width: auto;
            margin-left: 0;

            img {max-width: 130px;}
        }
    }
}

header #header_bar0.DownMove {
	position: fixed;
	width: 100%;
	animation: DownAnime 0.2s forwards;
	top: 0
}

header #header_bar0.UpMove {
	position: fixed;
	width: 100%;
	animation: UpAnime 0.2s forwards;
	
}

header #header_bar0 .openbtn {top: 8px;}

/* /#header_bar0 */

#g-nav-list .lbox {
    width: 35%;
    border-right: 3px solid #fff;

	@media screen and (max-width: 1300px) {height: 110%;}

    img {
    width: 100%;
    height: auto;
    }
}

#g-nav-list .rbox {
  width: 63%;
  padding: 2.5% 0 2% 2.5%;
}

.modaal-close {border: none!important;}

/** cont-mainBgimage **/

.cont-m-title {
    width: 100%;
    max-width: 2000px;

    img {width: 100%;}
}

.cont-m-bg {
    background: url(../images/top_bg2.jpg) no-repeat center top;
    background-attachment: fixed;
    background-size: 100%;
}

/** /cont-mainBgimage **/

/** #top_nf **/

#top_nf {
    width: 100%;
    padding-bottom: 80px;
    background-color: #fff;
}

#top_nf .girlsboxs {
    display:block;
    width: auto;
    margin: 0;

    .onebox {
        width: auto; 
        margin: 0;
        border: 1px solid #ffd7a2;
    }
}

/*

#top_nf .bg {
	height: 77vh;
    box-sizing: border-box;
	position: relative;
}

#top_nf .bg::before,#top_nf .bg::after {
	content:"";
	position: absolute;
	top: 0;
    width: 40%;
    height: 100%;
	background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .6) 90%);
	z-index: 10;
}

	@media screen and (max-width: 1200px){
		#top_nf .bg::before,#top_nf .bg::after {width: 220px;}
	}

#top_nf .bg::before {
	left: 0;
	background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .6) 90%);
}

#top_nf .bg::after {
    right: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .6) 90%);
}

*/

#top_nf .btn_prev img, #top_nf .btn_next img {cursor: pointer;}

#top_nf .btn_prev, #top_nf .btn_next {
    position: absolute;
    top: 0;
    width: auto;
    height: 100%;
    padding: 1px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	z-index: 500;
}

#top_nf .btn_prev {left: 30%;}

#top_nf .btn_next {	right: 30%;}

#top_nf .slick-dots {margin-top: 20px;}

#top_nf .girlsboxs .onebox .days {
	font-size: 18px;
	color: #fff;
	background: #960000;
    margin: 3px 0 4px;
}

#top_nf .girlsboxs .onebox .profile {background:#fff5eb;}

/** /#top_nf **/

/** #top_ranking **/

#top_ranking {
    background: url(../images/t-rank_cover.jpg) center top no-repeat;
    width: 100%;
    background-attachment: fixed;
    background-size: cover;
    padding: 8vw 0 15vw;

    .titlebox {
        width: 100%;

        .title-txt-2 {
            width: 100%;
            margin-right: 0;
            padding: 0;

            .t_tit1 {text-align: center;}

            .t_tit2 {text-align: center; }
        }        
    }

    .btn_prev,.btn_next {
        position: absolute;
        top: 0;
        height: 100%;
        padding: 1px 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        z-index: 500;

        img {cursor: pointer;}
    }

    .btn_prev {left: 10px;}

    .btn_next {	right: 10px;}

    .slick-dots {margin-top: 20px;}
}

#top_ranking .girlsboxs {
    display:block;
    width: auto;
    margin: 0;

    .trank_slide {padding: 0 5% 0;}

    .onebox {
        margin: 0 3px;
        width: 17.5vw;
        border: none;
        background: rgba(255,255,255,.7) ;
        padding-bottom: 10px;

        .profile {
            color: #fff;
            padding: 3% 0;
            background: #960000;
            border-radius: 10px;
            box-sizing: border-box;
            width: 92%;
            margin: auto;

            .name {

                @media screen and (max-width: 1300px) {font-size: 20px;}

                span {

                    @media screen and (max-width: 1300px) {font-size: 16px;}
                }
            }

            .size {
                padding-bottom: 0;

                @media screen and (max-width: 1300px) {font-size: 16px;}
            }
        }

        .rank {
            margin: 10px auto;
            

            img {width: 70%;margin: auto;}
        }

        .rank01 {background:#b3a45c;}
        .rank02 {background:#8a8fa0;}
        .rank03 {background:#a98f81;}
    }

    .onebox:first-of-type .rank01 {background:#b3a45c;}
    .onebox:nth-of-type(2) .rank01 {background:#8a8fa0;}
    .onebox:nth-of-type(3) .rank01 {background:#a98f81;}
    .onebox:nth-of-type(n+4) .rank01 {background:#960000;}
}

/** /#top_ranking **/

/* more btn */

.more {
	position: relative;
	width: 40%;
	max-width: 400px;
	
    .m-btn01 {
        position: relative;
        align-items: center;
        border: 1px solid #000;
        border-radius: 3.75rem;
        display: inline-flex;
        min-height: 2.75rem;
        min-width: 13.25rem;
        padding: .5625rem .5rem .5625rem 1.4375rem;
        justify-content: flex-start;

        @media only screen and (min-width: 768px) {
            padding:.5625rem 1.4375rem;
            transition: .3s ease-out;
            transition-property: border,background;
        }

        .en,.txt {
            font-size: 1.2rem;
            position: relative;

            @media only screen and (min-width: 768px) {
                transition:.3s ease-out;
                transition-property: color
            }
        }

        .en {
            letter-spacing: .06em;

            @media only screen and (min-width: 768px) {letter-spacing:0;}
        }

        .arrow {
            aspect-ratio: 1 / 1;
            border-radius: 50%;
            /* display: inline-block; */
            /* margin-left: auto; */
            position: relative;
            width: 2.5rem;
            position: absolute;
            /* top: 0; */
            right: 22px;

            @media only screen and (min-width: 768px) {
                transition:.3s ease-out;
                width: 1.5rem;
            }
        }

        .arrow:after,.arrow:before {
            content: "";
            display: block;
            position: absolute
        }

        .arrow:before {
            animation: btnMove 2.5s ease-out infinite;
            aspect-ratio: 1/1;
            background: #000;
            border-radius: 50%;
            left: 0;
            top: 0;
            width: 100%;

            @media only screen and (min-width: 768px) {
                animation: none;
                left: 50%;
                top: 50%;
                transform: translate(-50%,-50%);
                transition: .3s ease-out;
                transition-property: width,background;
                width: 1.5rem;
            }
        }

        .arrow:after {
            aspect-ratio: 1/1;
            background: url(../images/b_arr.png) no-repeat 50%/100% auto;
            right: .75rem;
            top: 50%;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
            width: 1.0625rem;

            @media only screen and (min-width: 768px) {
                opacity:0;
                right: 1rem;
                transition: .3s ease-out;
                transition-property: opacity,-webkit-transform;
                transition-property: transform,opacity;
                transition-property: transform,opacity,-webkit-transform
            }
        }
    }

    @media only screen and (min-width: 768px) and (hover:hover) {
        .m-btn01:hover {
            background:#fff;
            border-color: #000;
            opacity: 1;

            .arrow {
                -webkit-transform: translate(.875rem);
                transform: translate(.875rem);
                width: 2.5rem;
            }

            .arrow:before {
                background: #000;
                width: 2.5rem;
            }

            .arrow:after {
                opacity: 1;
                -webkit-transform: translate(.3125rem,-50%);
                transform: translate(.3125rem,-50%)
            }
        }
    }

    @media only screen and (min-width: 768px) and (hover:none) {
        .m-btn01:active {
            background:#cf2f33;
            border-color: #cf2f33;

            .en {color: #fff;}

            .arrow {
                -webkit-transform: translate(.875rem);
                transform: translate(.875rem);
                width: 2.5rem;
            }

            .arrow:before {
                background: #000;
                width: 2.5rem;
            }

            .arrow:after {
                opacity: 1;
                -webkit-transform: translate(.3125rem,-50%);
                transform: translate(.3125rem,-50%)
            }
        }
    }

    .m-btn01.-black {
        background: #fff;
        color: #960000;
    }

    @media only screen and (min-width: 768px) and (hover:hover) {
        .m-btn01.-black:hover {
            background:#fff;

            .en {color: #000;}

            .arrow:before { background: #000;}
        }
    }

    @media only screen and (min-width: 768px) and (hover:none) {
        .m-btn01.-black:active {
            background:#fff;

            .en {color: #fff;}

            .arrow:before {background: #000;}
        }
    }

    .m-btn01.-black .arrow:before {
        background: #000;
    }

    .m-btn01.-black .arrow:after {
        background: url(../images/b_arr.png) no-repeat 50%/100% auto;

        @media only screen and (min-width: 768px) {
            background:url(../images/b_arr.png) no-repeat 50%/100% auto;
        }
    }
}

/* /more btn */

/* under cover */

.under {height: 59vh;}

/* /under cover */

/* obi-ttl */
	
.u_tit-e {
    font-size: 80px;
    letter-spacing: 3px;
    line-height: 1.4;
    text-align: center;
    color: #000;

    span:first-of-type {color: #960000;}
}

.u_tit-j {
    font-size: 16px;
    color: #000;
    text-align: center;
}

.obi-ttl {
    width: 100%;

    h2 {
        font-size: 30px;
        text-align: center;
        letter-spacing: 0.15em;
        position: relative;
        z-index: 1;
        padding: 20px 0 0px;
    }

    h2::before {
        content: '';
        background: rgba(255,255,255,.2);
        height: 170px;
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        z-index: -2;
    }

    h2::after {
        content: '';
        height: 170px;
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        z-index: -1;
    }

    h2::after {background: rgba(255,255,255,.6);}

    h2.scroll-move.active::before {
        width: 100%;
        animation: BgColor .4s ease-in-out forwards;
    }

    h2.scroll-move.active::after {
        width: 100%;
        animation: BgColor .4s ease-in-out .4s forwards;
        transform: scaleX(0);
    }
}

@keyframes BgColor {
	0% {
		transform-origin: left;
		transform: scaleY(0);
	}
	100% {
		transform-origin: left;
		transform: scaleY(1);
	}
}

/* /obi-ttl */

.evbox {}
.evbox figure {}

.systxt {
    text-align: center;
    font-size: 16px;
    margin: 50px auto 50px;
}

/* event.html */

#event {

    .bgc {
        background: url(../images/info_bg1.jpg) no-repeat top center;
        background-attachment: fixed;
    }
}

#event .onebox {
    max-width: 1600px;
    margin: auto;

    .fbox {
        justify-content: space-evenly;
        width: 98%;
        margin: auto;
        padding: 20px 0;
    }

    .bg {
        background: rgba(255, 255, 255, .6);
        border: solid 1px #000;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
    }

    .img {
        width: 40%;

        img {
            width: 100%;
            max-width: 640px;
        }
    }

    .prof {
        width: 58%;
        padding: 20px;
        box-sizing: border-box;
        margin-left: 1%;

        .profbox {}

        .day {
            font-size: 14px;
            color: #000;
            padding: 0 0 20px 15px;
            padding: 0 0 2% 4%;
            text-align: center;
        }

        .title {
            font-size: 24px;
            background: #960000;
            color: #fff;
            text-align: center;
            box-sizing: border-box;
            padding: 6px;

            @media screen and (max-width: 1300px) {font-size: 16px;}
        }

        .txt {
            color: #000;
            padding: 10px 0 10px 0;
            text-align: center;
            height: 75vh;
            overflow-y: auto;

            @media screen and (max-width: 1550px) {
                padding: 2% 0 2% 0;
                height: 33vw;
            }
        }
    }
}

/* /event.html */

.top_header_cover .tcover_slide {
    width: 100vw;
    z-index: -1;
    position: fixed;
    top: 0;
}

/* cosplay.html */

#cosplay {

    .bg {
        /*background: url(../images/member_bg.jpg) top center no-repeat;
        background-attachment: fixed;*/
        padding: 4% 0;
    }

    h2.title {width: 430px;}

    .text {
        font-size: 40px;
        text-align: center;
    }

    .box {
        margin-top: 50px;
        display: flex;
        flex-wrap: wrap;

        li {
            width: 25%;
            border: #a0a0a0 1px solid;
            overflow: hidden;
            box-sizing: border-box;

            .list {
                cursor: pointer;
            }

            .image img {
                width: 100%;
            }

            .name {
                color: #000;
                font-size: 20px;
                font-weight: bold;
                background: rgb(229 172 255);
                text-align: center;
                line-height: 2;
            }

            .price {
                font-size: 24px;
                text-align: center;
                line-height: 2;
            }

            .modal {
                background: rgba(0, 0, 0, .85);
                width: 100%;
                height: 100vh;
                display: none;
                align-items: center;
                justify-content: center;
                flex-wrap: wrap;
                position: fixed;
                left: 0;
                top: 0;
                z-index: 10000;

                .inner {
                    width: 600px;
                    margin: 0 auto;

                    .close {
                        font-size: 40px;
                        color: #fff;
                        margin-left: 350px;
                        text-align: right;
                        cursor: pointer;
                    }

                    .modal-img {
                        width: 100%;

                        img {
                            width: 100%;
                        }
                    }

                    .mo-name {
                        font-size: 20px;
                        font-weight: bold;
                        color: #fff;
                        margin-top: 20px;
                        text-align: center;
                        margin-bottom: 20px
                    }
                }
            }
        }
    }
}

/* /cosplay.html */

.toprank-link {
    position: absolute;
    right: 8%;
    top: 60px;

	@media screen and (max-width: 1500px) {
        right: 1%;
        top: 55px;
	}

	@media screen and (max-width: 1300px) {
        top: 40px;
	}
}

.girlsboxs .onebox .img .icon00 {
    position: absolute;
    bottom: 8px;
    right: 0;
    width: 28%;
    max-width: 100px;
    z-index: 50;

    img {
        display: block;
        margin-top: 5px;
        width: 100%;
        max-width: 70px;
    }
}

#newface .girlsboxs .onebox .img .icon00 {
    width: 24%;
}

.r-w {color:#fe8ae1;}
.r-m {color:#6cc3ff;}

header .main_head .boxs .nav ul li a.r-w {
    color: #fe8ae1;
    transition: all 1s;
}

header .main_head .boxs .nav ul li a.r-w:hover {
    color: #fff;
    opacity: 1;
}

footer #footer .navbox ul li a.r-w {
    color: #fe8ae1;
}

footer #footer .navbox ul li a.r-m {
    color: #6cc3ff;
}


/***** 翻訳 *****/

/** SNS **/
#sns-box {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    margin: 20px auto;
    box-shadow: 0px 0px 10px #000;

    .title {
        width: 100%;
        background: linear-gradient(to right,  rgba(168,42,228,0.6) 0%,rgba(58,94,219,0.6) 100%);
        padding: 4px;
        box-sizing: border-box;

        div {
            padding: 0.05em 0;
            font-size: 40px;
            text-align: center;
            letter-spacing:6px;
        }

        }

    .list{
        display: flex;
        gap: 30px;
        padding: 4px 0 7px 0;
        background-color: rgba(0, 0, 0, .6);
        width: 100%;
        justify-content: center;
        border: 1px solid #fff;

        li{
            a{
                display: flex;
                flex-direction: column;
                text-align: center;
                color: #fff;

                em {text-align: center;}

                img {\vertical-align: top;}
            }
        }
    }
}

#profile {

    #sns-box {

        .list{
            border: none;
        }
    }
}

/** /SNS **/

/* number icon */

.girlsboxs .onebox .img .iconos {
    position: absolute;
    top: -20px;
    left: 6px;
    width: 40%;
    max-width: 100px;
    z-index: 50;

    .number {
        box-sizing: border-box;
        background: linear-gradient(to right,  rgba(168,42,228,1) 0%,rgba(58,94,219,1) 100%);
        width: 70px;
        height: 70px;
        display: flex;
        justify-content: center;
        align-items: center;
        
        p {
            font-size: 45px;
            border: 1px solid #fff;
            padding: 4px;
            box-sizing: border-box;
            height: 60px;
            width: 60px;
            text-align: center;
        }
    }
}

/* /number icon */

/***** /翻訳 *****/

/* under photodiary.html */

#pdiary {
 width: 100%;

    .p-diary {
        background: url(../images/top_bg2.jpg) no-repeat center top #000;
        background-attachment: fixed;
        background-size: cover;

        .breadcrumb {
            background: none; 

            li {
                color:#000; 

                a { color: #960000;display: inherit;text-decoration: underline;}
            }
        }
    }

    .maininfo {
        width: 100%;
        max-width: 560px;
        padding: 1% 2%;
        box-sizing: border-box;
        background: rgba(255, 255, 255, .8);
        border: 1px solid #000;
        border-radius: 10px;
        margin: 2% auto;
        justify-content: space-between;

        .g-thm {
            width: 40%;
            max-width: 100px;
            z-index: 50;

            .inner {
                z-index: 500;

                a {
                    width: 200px;
                    height: 200px;
                    background: #000;
                    border-radius: 50%;
                    display: block;
                    overflow: hidden;
                    box-sizing: border-box;

                    img {
                        width: 100%;
                        height: auto;
                    }
                }
            }  
        } 

        .profile {
            background: none;
            padding: 0;
            width: 45%;
            margin-left: 1%;

            .name {
                font-size: 24px;
                text-align: left;

                span {font-size: 18px;}
            }

            .ttl {
                font-size: 24px;
                text-align: left;
                margin: 5px auto;
            }

            .size {
                font-size: 16px;
                text-align: left;
            }
        }
    } 
    
    .search-box {
        display: flex;
        position: relative;
        margin: 3% auto;
        align-items: center;
        width: fit-content;

		&::after{
			position: absolute;
			right: 15px;
			width: 10px;
			height: 7px;
			background-color: #535353;
			clip-path: polygon(0 0, 100% 0, 50% 100%);
			content: '';
			pointer-events: none;
		}
	
		select {
			appearance: none;
			min-width: 340px;
			height: auto;
			padding: 1em calc(1em + 30px) 1em 1em;
			border: 1px solid #d0d0d0;
			border-radius: 3px;
			background-color: #fff;
			color: #000;
			cursor: pointer;
            border: 1px solid;
		}
	}

    .girlsboxs {
        width: 100%;
        max-width: 1600px;

        .onebox {
            width: calc(92% / 4 - 0px);
            margin: 0.2% 1%;
            border: none;
            padding: 0 0 2%;

            a { color: #000;}

            .img {
                position: relative;
                
                figure {
                    border-radius: 10px;
                    height: 22vw;
                    max-height: 400px;
                }
            }

            .d-box {

                    border-bottom: 1px solid #000;
                    margin-top: 10px;
                    padding-bottom: 5px;

                .ttl {
                    font-family: var(--fontgothic);
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 1;
                    overflow: hidden;
                    background: #960000;
                    padding: 1% 2%;
                    box-sizing: border-box;
                    color: #fff;
                    max-height: 36px;
                    line-height: 1.3;
                    font-size: 22px;
                    
                    img{width: 20px;vertical-align: middle;margin-right: 2px;}
                }

                .txt {
                    font-family: var(--fontgothic);
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 2;
                    overflow: hidden;
                    padding: 1% 2%;
                    box-sizing: border-box;
                    color: #000;
                    max-height: 50px;
                    line-height: 1;
                    font-size: 16px;
                    
                }
            }
            
            .infobox {
                width: 100%;
                padding: 3%;
                box-sizing: border-box;
                justify-content: flex-start;

                .g-thm {
                    width: 25%;
                    max-width: 100px;
                    z-index: 50;

                    .inner {
                        z-index: 500;

                        img {
                            width: 80px;
                            height: 80px;
                            background: #000;
                            border-radius: 50%;
                            display: block;
                            overflow: hidden;
                            box-sizing: border-box;
                        }
                    }
                } 

                .profile {
                    background: none;
                    padding: 0;
                    width: 60%;
                    margin-left: 5%;

                    .name {
                        font-size: 16px;
                        text-align: left;
                    }

                    .size {
                        font-size: 16px;
                        text-align: left;
                    }
                }
            }

            .more {width: 100%;max-width: 120px;margin: 3% auto;}
        }
    }

    .detail {
        width: 100%;
        max-width: 1600px;
        margin: auto;

        .d-box {

            .ttl {
                font-family: var(--fontgothic);
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 1;
                overflow: hidden;
                background: #960000;
                padding: 1%;
                box-sizing: border-box;
                color: #fff;
                font-size: 28px;
                
                img{width: 30px;vertical-align: middle;margin-right: 10px;}
            }
        }

        .image {
            max-width: 800px;
            margin: 1% auto;

            .ymd {
                font-family: var(--fontgothic);
                font-size: 13px;
                margin-bottom: 5px;
            }

            img {width: 100%;}
        }

        .txt {
            font-family: var(--fontgothic);
            padding: 1%;
            box-sizing: border-box;
            color: #000;
            line-height: 1.5;
            font-size: 18px;
            background: #fff;
            border: 1px solid #000; 
        }
    }

    .pnbox {
        max-width: 1200px;
        margin: auto;
        justify-content: space-between;
        padding: 5%;
        box-sizing: border-box;

        a { width: calc(98% / 2); color: #000;}

        .prev,.next {
            background: #fff;
            border: 1px solid #000;
            padding: 1%;
            box-sizing: border-box;

            .img {
                    width: 80px;
                    height: 80px;
                    max-width: 100px;
                    z-index: 50;
                    overflow: hidden;
                    box-sizing: border-box;

                img {
                    width: 100%;
                    display: block;
                }
            }

            .d-box {
                width: 70%;
                margin: 2%;

                .ttl {
                    font-family: var(--fontgothic);
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 1;
                    overflow: hidden;
                    background: #960000;
                    padding: 1% 2%;
                    box-sizing: border-box;
                    color: #fff;
                    max-height: 36px;
                    line-height: 1.3;
                    font-size: 22px;
                    
                    img {width: 20px;vertical-align: middle;margin-right: 2px;}
                }

                .ymd {font-family: var(--fontgothic);font-size: 13px;margin-top: 10px;}
            }
        }

        .prev {padding: 4% 4% 4% 8%;}

        .next {padding: 4% 8% 4% 4%;}

        .arrow {position: relative;}

        .prev.arrow::before,
        .prev.arrow::after {
            content: "";
            position: absolute;
            top: calc(50% - 2px);
            left: 20px;
            width: 20px;
            height: 2px;
            border-radius: 9999px;
            background-color: #000000;
            transform-origin: 2px 50%;
        }

        .next.arrow::before,
        .next.arrow::after {
            content: "";
            position: absolute;
            top: calc(50% - 2px);
            right:20px;
            width: 20px;
            height: 2px;
            border-radius: 9999px;
            background-color: #000000;
            transform-origin: calc(100% - 2px) 50%;
        }
        
        .arrow::before {transform: rotate(45deg);}
        .arrow::after {transform: rotate(-45deg);}
    }

    .listlink {
        text-align: center;
        padding-bottom: 5%;

        a {color: #000;}

        span {
            font-size: 34px;
            border-bottom:solid 1px #000;
        }
    }
}

/* /under photodiary.html */

/***** 【 header 】 *****/
.mainheader {
    background: rgba(0, 0, 0, 10);
    background: linear-gradient(0deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
    width: 100%;
    padding: 0 ;
    box-sizing: border-box;
    z-index: 1000;
	top: 0;

    .boxs {
        display: flex;
        width: 100%;
        justify-content: space-between;
        padding: 0.5%;
        box-sizing: border-box;
        align-items: center;

        .menutxt {
            font-family: "noto-sans-cjk-jp", sans-serif;
            color: #fff;
            font-size: 0.6vw;
            letter-spacing: 2px;
        }

        .nav-l {
            width: 46%;
            justify-content: flex-start;

            .logo {

                .main {}

                .clone {display: none;}

                img {
                    height: auto;
                    width: 11vw;
                    max-width: 220px;
                }
            }

            .telbox {
                color: #fff;
                justify-content: flex-start;

                .tel {
                    font-size: 1vw;

                    span {font-size: 1.3vw;}
                }

                .open {
                    font-size: 1vw;
                    padding-bottom: 4px;
                }
            }

            .infobox {
            }
        }

        .nav {
            width: 92%;

            ul {
                display: flex;
                justify-content: flex-end;

                li {
                        font-size: 1vw;
                        padding: 0% 1%;
                        text-align: left;
                        display: block;
                        line-height: 1.5;
                        position: relative;
                        z-index: 1;
                        transition: .3s;
                        width: 5.4vw;
                        border-left: 1px solid #fff;
                        font-weight: bold;

                    a {
                        color: #fff;
                        transition: all 1s;
                        display: block;
                        text-align: left;
                        transition-duration: .4s;

                        span {
                            display: block;
                            text-align: left;
                            font-size: 0.7vw;
                            font-weight: normal;
                        } 
                    }

                    a:hover {
                        color: #960000;
                        opacity: 1;
                    }
                }

                li:hover {
                    transition: all 0.5s;
                    background: none;
                    opacity: 1;

                    a {color: #250000;}

                }
            }
        }

        .right_box {
            float: right;
            padding: 0 70px 0 0;

            .btn {
                color: #fff;

                span {display: block;}
            }
        }
    }

    .inner { width: 45%;}

    .conlink {
        width: 10%;

        .m-btn02 {
            display: inline-block;
            width: 100%;
            max-width: 150px;
            text-align: center;
            line-height: 3;
            text-decoration: none;
            outline: none;
            color: #fff;
            background-color: #960000;
            position: relative;
            border: 1px solid #960000;
            transition: color 0.5s ease;

            .text1 {position: relative;}
            .text2 {position: relative;font-size: 13px;margin-left: 20px;}
        }

        .m-btn02:hover {color: #960000;}

        .m-btn02:hover::before {transform: scaleY(1);}

        .m-btn02::before {
            position: absolute;
            top: 0;
            left: 0;
            content: "";
            display: block;
            width: 100%;
            height: 100%;
            color: #960000;
            background: #fff;
            transform: scaleY(0);
            transition: all 0.5s ease;
            transition-property: transform;
        }
    }
}

/* ハンバーガー */	

.mainheader #gnav-btn {
	position: static;
    /*
	top: 7px;
	right: 5px;
	z-index: 101;*/

	@media screen and (max-width: 480px) {
        top: 0;
        left: -13px;
	}
}

.mainheader #gnav-input:checked ~ #gnav-content {left: 0;}

#gnav-content {
	position: fixed;
	left: -100%;
	top: 0;
	z-index: 1000;
	transition: 0.3s;
	background: rgba(255,255,255,1);
	color: #fff;
	width: 30%;
	height: 100vh;
	overflow: auto;

    .logobox {

        justify-content: space-between;
        h1  {
            img {width: 45px; }
        } 

        .menu-trigger {

            span {
                height: 3px;
                background-color: #000;
            }
        }
    }
}

#gnav-content ul.nv-box {
    padding: 0 3% 10%;
    box-sizing: border-box;

    li {
        width: 100%;
        padding: 1% 0 2%;
        margin: 0;
        box-sizing: border-box;
        text-align: left;
        position: relative;
        border-bottom: 1px solid #000;
        margin: 1% 0;
        position: relative;

        .en {
            font-size: 32px;
            color: #960000;
            width: 48%; 
        }

        .ja {
            font-size: 18px;
            color: #000;
        }

        a {
            justify-content: flex-start;
            height: 100%;
            box-sizing: border-box;
        }
    }

    li:last-of-type {border:none;}

    li::after {
        content: "";
        position: absolute;
        top: 33%;
        right: 10px;
        width: 0;
        height: 0;
        border-style: solid;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-left: 10px solid #960000;
        border-right: 0;
    }
}

#gnav-content .nb-box {
    justify-content: flex-start;
    margin: 5px auto;

	@media screen and (max-width: 480px) {justify-content: center;}

    a {
        margin: 10px;

        img {
            width: 100%;
            max-width: 330px;
        }
    }
}

#humb-menu label {
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 1rem;
	cursor: pointer;
	width: 50px;
	height: 50px;

	@media screen and (max-width: 414px){
        padding: 15px;
        margin-top: 3px;
	}
}

#humb-menu input {display: none;}

#humb-menu .accshow {
	height: 0;
	overflow: hidden;

    p {padding: 1.5rem;}
}

#humb-menu .cssacc:checked + .accshow {height: auto;}

.mainheader .menu-trigger,.mainheader .menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.mainheader .menu-trigger {
	position: relative;
	width: 50px;
	height: 45px;

	@media screen and (max-width: 480px){width: 40px;}

    span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #fff;
    }

    span:nth-of-type(1) {top: 0;}
    span:nth-of-type(2) {top: 16px;width: 70%;}
    span:nth-of-type(3) {bottom: 10px;}
}

.mainheader .menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(20px) rotate(-315deg);
	transform: translateY(20px) rotate(-315deg);
}

.mainheader .menu-trigger.active span:nth-of-type(2) {opacity: 0;}

.mainheader .menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-20px) rotate(315deg);
	transform: translateY(-20px) rotate(315deg);
}

.mainheader .menu-trigger.active span:nth-of-type(1) {top: -1px;}
.mainheader .menu-trigger.active span:nth-of-type(3) {bottom: 4px;}
/* /ハンバーガー */

.mainheader h1 {
    margin: 0 6%;

    img {
        width: 220px;

        @media screen and (max-width: 414px){width: 80px;}
    }
}

.mainheader .link-box {
    margin: 0px auto;
	padding: 5px;

    p {
        width: 100%;
        max-width: 400px;
        padding: 1px;
        margin: 5px auto;
        background: #fff;
        border-radius: 12px;
        font-size: 14px;
        font-weight: bold;
        color: #ff0000;
        text-align: center;

        @media screen and (max-width: 414px){width: 80%;}
    }

    img {
        width: 100%;
        max-width: 320px;
    }

    .inner {
        margin: 10px auto;

        a {margin: 5px;}
    }
}

.mainheader .h-icon-box {display:none;}

.mainheader i img {width: 20px;}

/***** /【 header 】 *****/

/***** 【 clone header 】 *****/
.clone-nav {
	position: fixed!important;
	top: 0px;
	left: 0;
	z-index: 2;
	width: 100%;
	transition: .1s;
	transform: translateY(-100%);
	padding: 0;

    #humb-menu {display: block;}
}
	
.is-show {transform: translateY(0);}	

.clone-nav .mainheader {
    background:#960000;

    .logo {

        .main {display: none;}

        .clone {display: block!important;}

        img {
            height: auto;
            width: 42px!important;
            max-width: 42px!important;
        }
    }

    h1 {margin: 0 16%!important;}

    .conlink {
        width: 10%;

        .m-btn02 {
            display: inline-block;
            width: 100%;
            max-width: 150px;
            text-align: center;
            line-height: 3;
            text-decoration: none;
            outline: none;
            color: #960000;
            background-color: #fff;
            position: relative;
            border: 1px solid #fff;
            transition: color 0.5s ease;

            .text1 {position: relative;}
            .text2 {position: relative;font-size: 13px;margin-left: 20px;}
        }

        .m-btn02:hover {color: #fff;}

        .m-btn02:hover::before {transform: scaleY(1);}

        .m-btn02::before {
            position: absolute;
            top: 0;
            left: 0;
            content: "";
            display: block;
            width: 100%;
            height: 100%;
                color: #fff;

            background: #960000;
            transform: scaleY(0);
            transition: all 0.5s ease;
            transition-property: transform;
        }
    }
}

/***** /【 clone header 】 *****/



/************* Slide Show ************/
/*
header#enter #enter-cover{
	position: absolute;
	width: 100%;
	top: 0;
}
header#enter #enter-cover:before{
	content:"";
	position: sticky;
	background-color: rgba(0,0,0,0.6);
	height: 1412px;
	width: 100%;
	z-index: -1;
	top: 0;
}
    */
/*#black-out{
	position: absolute;
	background-color: rgba(0,0,0,0.6);
	height: 1600px;
	width: 100%;
	z-index: 100;
}*/
.bg-slideshow,
.bg-slideshow:after {
    position: sticky;
    width: 100%;
    height: 100vh;
    top: 0px;
    left: 0px;
    /*z-index: 10;*/
}
ul.bg-slideshow li span {
    width: 100%;
    height: 100%;
    position: absolute;
    top: -100px;
    left: 0px;
    color: transparent;
    background-size: cover;
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
	overflow-x: hidden;
    opacity: 0;
    z-index: 0;
    animation: imageAnimation 36s linear infinite 0s;
}
ul.bg-slideshow li:nth-child(1) span {
    background-image: url(../images/cover_bg.jpg);
}
ul.bg-slideshow li:nth-child(2) span {
    background-image: url(../images/cover_bg.jpg);
    animation-delay: 6s;
}
ul.bg-slideshow li:nth-child(3) span {
    background-image: url(../images/cover_bg.jpg);
    animation-delay: 12s;
}
ul.bg-slideshow li:nth-child(4) span {
    background-image: url(../images/cover_bg.jpg);
    animation-delay: 18s;
}
ul.bg-slideshow li:nth-child(5) span {
    background-image: url(../images/cover_bg.jpg);
    animation-delay: 24s;
}
ul.bg-slideshow li:nth-child(6) span {
    background-image: url(../images/cover_bg.jpg);
    animation-delay: 30s;
}
.no-cssanimations .bg-slideshow li span{
    opacity: 1;
}
	@keyframes imageAnimation {
    	0% {
        	opacity: 0;
        	animation-timing-function: ease-in;
    	}
    	8% {
        	opacity: 1;
        	transform: scale(1.05);
        	animation-timing-function: ease-out;
    	}
    	17% {
        	opacity: 1;
        	transform: scale(1.1);
    	}
    	25% {
        	opacity: 0;
        	transform: scale(1.15);
    	}
    	100% { opacity: 0 }
	}
/************* Slide Show ************/


