@charset "utf-8";

/*
Theme Name: Hisui/Sirene
Author: dsheppail
Author URI: /
Description: Sirene original theme.
Version: 6.4.20
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: Asirancia
*/

/* 変数宣言 */
:root {
    --vw: 100vw;
}

/* cssのリセット */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,
blockquote,pre,abbr,address,cite,code,del,dfn,em,img,
ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,
ol,ul,li,fieldset,form,label,legend,table,caption,
tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,
figcaption,figure,footer,header,hgroup,menu,nav,section,
summary,time,mark,audio,video {
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display: block;
}
audio,canvas,video {
	display: inline-block;
}
ul,ol {
    list-style: none;
}
blockquote,q {
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}
a {
    font-size: 100%;
    margin: 0;
    padding: 0;
    color: inherit;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
}
ins {
    text-decoration: none;
    color: #000;
    background-color: #ff9;
}
del {
    text-decoration: line-through;
}
abbr[title],
dfn[title] {
    cursor: help;
    border-bottom: 1px dotted;
}
table {
    border-spacing: 0;
    border-collapse: collapse;
}
caption,th,td {
	font-weight: normal;
	text-align: left;
}
hr {
    display: block;
    height: 1px;
    margin: 1rem 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #ccc;
}
audio:not([controls]) {
	display: none;
}
sub,sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
small {
	font-size: smaller;
}
button {
    cursor: pointer;
    outline: none;
}

/* サイト全体の基準 */
*, h1, h2, h3, h4, h5, h6, ::before, ::after {
    box-sizing: border-box;
}
html {
    font-size: 16px;
    text-underline-position: under;
}
body {
    line-height: 1.4;
    margin: 0;
    padding: 0;
    color: var(--black_1);
    background: var(--white_1);
    position: relative;
}
body::before {
    content: "";
    width: 100%;
    height: 100%;
    margin: auto;
    background-size: cover;
    background-position: center center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}
body::after {
    content: "";
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    background: transparent;
}
body.active::after {
    z-index: 30;
    background: var(--white_3);
}
img {
    width: 100%;
    height: auto;
}
video {
    background-color: #000;
}
.wrapper {
    width: min(100%, 1920px);
    margin: 0 auto;
}
.defs {
    display: none;
}
.main,
.header-inner,
.footer-inner {
    width: min(100%, 1200px);
    margin: 0 auto;
}

/* エフェクト */
.fx-ctr-1 a,
.fx-1 {
    width: 100%;
    height: 100%;
    display: block;
    box-shadow: 0px 0px 7px 4px #fff0;
    opacity: 1;
    transition: .2s ease;
}
.fx-ctr-1 a:hover,
.fx-1:hover {
    box-shadow: 0px 0px 7px 4px var(--theme_marking);
    opacity: .9;
}
.fx-ctr-2 a,
.fx-2 {
    width: 100%;
    height: 100%;
    display: block;
    transition: .4s ease;
    filter: contrast(80%) blur(1px);
}
.fx-ctr-2 a:hover,
.fx-2:hover {
    filter: contrast(100%) blur(0px);
}
.fx-ctr-3 a,
.fx-3 {
    width: 100%;
    height: 100%;
    display: block;
    opacity: 1;
    transition: .4s ease;
}
.fx-ctr-3 a:hover,
.fx-3:hover {
    opacity: .8;
}

/* 必須cssクラス */
/* .wp-caption {}
.wp-caption-text {}
.sticky {}
.gallery-caption {}
.bypostauthor {}
.alignright {}
.alignleft {}
.aligncenter {}
.screen-reader-text {} */

/************************/
/* header
/************************/
.header-top {
    padding: 3px 10px;
    background: var(--theme_main);
    color: var(--white_0);
    font-size: 14px;
    font-weight: 700;
    font-family: serif;
    text-align: center;
    text-shadow: 1px 1px #0008;
    box-shadow: 1px 2px 7px -1px var(--theme_transparent);
}
.header-top .header-inner {
    overflow: hidden;
    white-space: nowrap;
}
.header-bar {
    width: 100%;
    height: max(100%,90px);
    padding: 0 10px;
    background-color: transparent;
    background-image: var(--gradation_color_2);
    background-size: cover;
    background-position: center center;
}
.header-bar .header-inner {
    height: 100%;
    padding-bottom: 10px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0 10px;
}
.header-title {
    height: 60px;
    position: relative;
}
.header-title img {
    width: auto;
    height: 100%;
}
.header-bar .info {
    width: 100%;
    color: var(--theme_sub);
    text-align: center;
}
.header-bar .info address {
    font-style: normal;
    font-weight: 600;
    font-size: clamp(16px, var(--clamp_1) * (20 - 16) + 16px, 20px);
    padding: 0px 8px;
    border: 2px solid var(--theme_sub);
    margin: 10px auto 5px;
    width: clamp(160px, var(--clamp_1) * (320 - 160) + 160px ,320px);
}
.header-bar .info address::before {
    content: "TEL : ";
    font-size: clamp(12px, var(--clamp_1) * (16 - 12) + 12px, 16px);
    margin-right: 5px;
}
.header-bar .info > div {
    display: flex;
    gap: 20px;
    justify-content: center;
    text-align: right;
}
.header-bar .info p {
    font-size: clamp(10px, var(--clamp_1) * (16 - 10) + 10px, 16px);
}
.header-bar .info p span {
    margin-right: 5px;
}
.info address:empty,
.info p:empty {
    display: none;
}

/* パンくずリスト */
.breadcrumb {
    font-size: .8rem;
    padding: 3px 10px;
    color: var(--black_2);
    margin: 5px auto;
}
.breadcrumb .inner-breadcrumb {
	display: flex;
    justify-content: flex-end;
    overflow-x: hidden;
}
.breadcrumb li {
    font-weight: 900;
    display: flex;
    align-items: center;
    word-break: keep-all;
}
.breadcrumb li:last-of-type {
    overflow: hidden;
    white-space: nowrap;
}
.breadcrumb li::before {
    margin: 0 3px 0 5px;
    font-size: 1rem;
    color: var(--theme_accent);
}
.breadcrumb li a {
    color: var(--theme_accent);
    transition: .4s ease;
}
.breadcrumb li a:hover {
    color: var(--theme_marking);
}

/* ナビゲーション -トリガー- */
.menu-trigger {
    width: 50px;
    height: 48px;
    margin: 0;
    padding: 0;
    background: var(--black_1);
    border: none;
    border-radius: 5px;
    display: block;
    position: fixed;
    top: 32px;
    right: 6px;
    z-index: 9999;
    cursor: pointer;
    transition: .4s ease;
}
.menu-trigger::after {
    content: 'MENU';
    display: block;
    width: 100%;
    color: #fff;
    font-size: 8px;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
    transition: all .4s ease;
}
.menu-trigger::after {
    display: none;
}
.menu-trigger:focus {
	outline: none;
}
.hamburger-icon,
.hamburger-icon::before,
.hamburger-icon::after {
    background: var(--gradation_color_13);
    width: 30px;
    height: 2px;
    margin: 0 auto;
    border-radius: 3px;
    display: block;
    position: relative;
    transition: transform .3s ease;
}
.hamburger-icon::before,
.hamburger-icon::after {
    content: "";
    position: absolute;
}
.hamburger-icon::before {
    transform: translateY(-10px) rotate(0deg);
}
.hamburger-icon::after {
    transform: translateY(10px) rotate(0deg);
}
/* ナビゲーション -コンテナ- */
.nav-container {
    padding: 85px 10px calc(env(safe-area-inset-bottom) + 85px);
    position: fixed;
    z-index: 110;
    width: 100%;
    height: calc(100% + 85px);
    color: var(--white_1);
    background: var(--black_1);
    top: 0;
    left: 0;
    display: none;
}
.nav-container .info {
    display: none;
}
.content-nav {
    margin-bottom: 30px;
}
.global-nav-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 0 10px;
}
.content-nav .global-nav-menu {
    padding: 0 10px;
}
.global-nav-menu li {
    width: calc((100% - 10px) / 2);
    padding: 8px 0 5px;
    position: relative;
}
.global-nav-menu li:nth-of-type(1) {
    width: 100%;
}
.global-nav-menu li:nth-of-type(2),
.global-nav-menu li:nth-of-type(3),
.global-nav-menu li:nth-of-type(4),
.global-nav-menu li:nth-of-type(5) {
    width: calc((100% - 30px) / 4);
}
.nav-container .info address a,
.global-nav-menu a {
    height: 100%;
    padding: 8px;
    border-radius: 5px;
    background: var(--gradation_color_4);
    color: var(--white_0);
    font-family: "Times New Roman", 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", メイリオ, Meiryo, serif;
    font-size: .8rem;
    font-weight: 700;
    font-style: normal;
    text-shadow: 1px 1px 0px var(--black_1);
    box-shadow: var(--shadow_4);
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    position: relative;
    top: -2px;
    transition: .1s ease;
}
.global-nav-menu a::before {
    content: attr(title);
    display: block;
    text-align: center;
    font-size: 1rem;
    letter-spacing: 1px;
    color: var(--theme_sub);
    line-height: 1.2;
}
.global-nav-menu li:nth-of-type(2) a::before,
.global-nav-menu li:nth-of-type(3) a::before,
.global-nav-menu li:nth-of-type(4) a::before,
.global-nav-menu li:nth-of-type(5) a::before {
    display: none;
}
.nav-container .info address a:hover,
.global-nav-menu a:hover {
    top: 1px;
    box-shadow: 0px 0px 0px #fff0 !important;
}
.global-nav-menu a:hover,
.global-nav-menu a:hover::before {
    color: var(--white_1);
}
.global-nav-menu .strong {
    width: 100% !important;
}
.global-nav-menu .strong a {
    font-size: 1.4rem;
}
.global-nav-menu .strong a:hover,
.global-nav-menu .strong a:hover::before {
    color: var(--white_0);
}
.global-nav-menu .strong a::before {
    color: var(--white_0);
}
/* ナビゲーション[アクティブ] -トリガー- */
.active .menu-trigger {
    top: 6px;
}
.active .menu-trigger::after {
    content: 'CLOSE';
}
.active .hamburger-icon {
    background: #fff0;
}
.active .hamburger-icon::before {
    transform: translateY(0px) rotate(45deg);
}
.active .hamburger-icon::after {
    transform: translateY(0px) rotate(-45deg);
}
/* ナビゲーション[アクティブ] -コンテナ- */
.active .nav-container {
    display: block;
    animation: opacity .4s ease 0s;
    overflow-y: scroll;
}
@keyframes opacity {
    0%{opacity: 0;}
    100%{opacity: 1;}
}
.active .nav-container .info {
    margin-bottom: 10px;
    color: var(--white_0);
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    gap: 0 10px;
    text-align: center;
    animation: opacity .4s ease 0s;
}
.active .nav-container .info address {
    width: 100%;
    margin-bottom: 10px;
}
.active .nav-container .info address a,
.global-nav-menu .strong a {
    background: var(--gradation_color_5);
    box-shadow: var(--shadow_5);
}
.active .nav-container .info address a {
    font-size: 2rem;
}
.active .nav-container .info address a:hover {
    top: 1px;
    box-shadow: 0px 0px 0px #fff0;
}
.active .nav-container .info address a::after {
    content: "お店に電話する";
    font-size: .8rem;
}
.active .nav-container .info p {
    margin: 0;
    padding: 3px 5px;
    font-size: .8rem;
    text-align: right;
}
.active .nav-container .info p span {
    white-space: nowrap;
    margin-right: 5px;
}
/* ナビゲーション[スクロール] -トリガー- */
.scroll .menu-trigger {
    top: 6px;
}

/* sns */
.sns-icons {
    padding: 0 10px;
}
.post-body .sns-icons {
    padding: 0;
}
.sns-icons.-shop {
    display: flex;
    margin: 15px 0 30px;
}
.sns-icons.-girls {
    width: min(85%, 400px);
    margin: 30px auto;
    padding: 25px 12px 20px;
    border: 1px solid var(--theme_main);
    border-radius: 8px;
    display: flex;
    justify-content: space-around;
    position: relative;
    background: var(--gradation_color_6);
    z-index: 0;
}
.sns-icons.-girls::before {
    content: "CAST";
    background: var(--gradation_color_6);
    color: var(--black_0);
    font-size: .8rem;
    position: absolute;
    bottom: 80%;
    right: -7%;
    padding: 9px 7px 4px 15px;
    line-height: 1;
    border: 2px solid var(--black_0);
    border-radius: 90% 7px 9px 0;
    transform: rotate(-18deg);
}
.sns-icons.-girls::after {
    content: "";
    position: absolute;
    top: 2px;
    bottom: 2px;
    left: 2px;
    right: 2px;
    border: 2px solid var(--theme_marking);
    background: var(--black_0);
    z-index: -1;
    border-radius: 6px;
}
.nav-container .sns-icons.-girls {
    display: none;
}
.sns-icons a {
    border-radius: 5px;
    color: #fff;
    background: #ff8f92;
}
.sns-icons.-shop a {
    width: 42px;
    height: 40px;
    font-size: 2rem;
}
.sns-icons.-shop a[href=""],
.sns-icons.-shop a:first-child {
    display: none;
}
.sns-icons.-shop a:not(:last-of-type) {
    margin-right: 5px;
}
.sns-icons.-girls a {
    font-size: 1.4rem;
    line-height: 1rem;
}
.sns-icons a:hover {
    color: #fff;
}
.sns-icons a::before {
    height: 100%;
    line-height: 1.25;
    display: block;
    text-align: center;
}
.sns-icons.-girls a::before {
    height: 55%;
}
.sns-icons .fa-line {
    background: #00c300;
}
.sns-icons .fa-twitter {
    background: #55acee;
}
.sns-icons .fa-instagram {
    background: #e344c7;
}
.sns-icons .fa-facebook-f {
    background: #3b5998;
}
.sns-icons .fa-tiktok {
    background: rgb(121, 118, 118);
}
.sns-icons.-girls .fa-line {
    color: #00c300;
    background: transparent;
}
.sns-icons.-girls .fa-twitter {
    color: #55acee;
    background: transparent;
}
.sns-icons.-girls .fa-instagram {
    color: #e344c7;
    background: transparent;
}
.sns-icons.-girls .fa-facebook-f {
    color: #3b5998;
    background: transparent;
}
.sns-icons.-girls .fa-tiktok {
    color: #ffffff;
    background: transparent;
}
.sns-icons.-girls a:not([href=""]):hover {
    filter: drop-shadow(0px 0px 7px #ffd);
}
.sns-icons.-shop a strong {
    display: none;
}
.sns-icons.-girls a strong {
    margin-top: 5px;
    font-size: 10px;
    display: block;
}
.sns-icons.-girls a[href=""],
.sns-icons.-girls a[href=""]::before {
    color: var(--white_3);
    background: transparent;
    text-shadow: none;
}

/************************/
/* main
/************************/

.container {
    height: auto;
    position: relative;
    margin-bottom: 25px;
}
.content {
    margin-bottom: 20px;
    padding: 20px 0 30px;
    background: var(--white_2);
    border-radius: 3px;
}
.content.-inner {
    padding: 1rem 10px;
    margin-bottom: 10px;
}
.content.-inner:last-child {
    margin-bottom: 0;
}
.content.-inner p a span {
    border-bottom: 1px solid var(--theme_accent);
}
.content.-inner > .btn-def {
    margin-right: 0;
}
.layer {
    margin-bottom: 20px;
    padding: 20px 0 30px;
    background: var(--yellow_3);
    border-radius: 3px;
}
.pdb20 {
    padding-bottom: 20px;
}
.pdb20 > p {
    width: min(100%, 960px);
    margin: 0 auto;
    padding: 0 10px;
}

.else {
    padding: 0 10px;
}

.br:after {
    content: "\A";
    white-space: pre-wrap;
}

/* front */
.home .wrapper {
    height: 100vh;
    display: flex;
    flex-flow: column;
}
.home .header-bar {
    display: none;
}
.home .menu-trigger {
    display: none;
}
.home .main {
    display: block;
    padding: 0;
}
.home .breadcrumb {
    display: none;
}
.home .container {
    margin-top: 25px;
}
.home .content {
    padding-top: 50px;
}
.home .footer {
    margin-top: auto;
}
.entrance {
    height: calc(min(var(--vw), 1920px) / 16 * 9);
    background-color: var(--white_2);
    position: relative;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    text-align: center;
}
.entrance * {
    position: relative;
    z-index: 1;
}
.entrance .logo {
    width: min(100%, 960px);
    position: absolute;
    bottom: 80px;
}
.entrance figure {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    transition: .4s ease;
}
.entrance img {
    height: 100%;
}
.entrance .entry {
    position: absolute;
    bottom: clamp(10px, var(--clamp_4) * (100 - 10) + 10px ,100px);
}
.entrance .entry .btn-def {
    width: clamp(260px, var(--clamp_4) * (400 - 260) + 260px , 400px);
    height: 100%;
    font-size: clamp(24px, var(--clamp_4) * (56 - 24) + 24px , 56px);
    margin: 0;
}
.under {
    background: var(--gradation_color_4);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 5px;
}
.under svg {
    width: 50px;
    height: 50px;
    fill: var(--black_3);
    position: absolute;
    opacity: .5;
}
.under p {
    width: auto;
    color: var(--black_2);
    font-size: .8rem;
    font-weight: bold;
    padding: 5px;
    text-align: center;
    position: relative;
    z-index: 1;
}
.under a {
    text-decoration: underline;
}
.under a:hover {
    text-decoration: none;
}
.ordinance {
    margin: 30px auto;
    padding: 8px;
	background: #333;
	position: relative;
}
.ordinance::before {
	color: #ff0;
	font-size: 180px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: .5;
}
.ordinance h2 {
	background: #f00;
    color: #ff0;
    text-align: center;
    font-size: 4vw;
    line-height: 1.5;
    margin-bottom: 1rem;
	position: relative;
}
.ordinance p {
	color: #fff;
    line-height: 1.5;
    font-size: .9rem;
    font-weight: bold;
    text-align: justify;
    padding: 0 10px;
	text-shadow:
		1px 1px 0 #000,
		-1px -1px 0 #000,
		-1px 1px 0 #000,
		1px -1px 0 #000,
		0px 1px 0 #000,
		0px -1px 0 #000,
		-1px 0 0 #000,
		1px 0 0 #000;
	position: relative;
}
.ordinance p:last-child {
	background: #fff;
	margin-top: 1rem;
	color: #f00;
	text-align: center;
	text-shadow: none;
}
.ordinance .red {
	color: #f00;
}
.gap {
    gap: 10px;
}

/* ヘッダースライダー */
.slider-container {
	width: 100%;
	height: auto;
	margin: 0 auto;
    position: relative;
}
.slider-container .ranking-number {
    position: absolute;
    top: 5px;
    left: 5px;
}
.slider-banner {
    margin-bottom: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.slider-banner .slick-slide {
    height: calc(min(var(--vw), 1920px) / 16 * 9);
    position: relative;
}
.slider-banner .slick-slide img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all .8s ease;
}
.slider-banner .slick-prev,
.slider-banner .slick-next {
    z-index: 1;
}
.slider-banner .slick-prev {
    left: 10px;
}
.slider-banner .slick-next {
    right: 10px;
}
.slider-banner.-thumb {
    padding: 3px;
    border: 3px solid;
    border-image: var(--gradation_color_13) 1;
    background: var(--theme_marking);
    display: grid;
    grid-template-columns: repeat(auto-fit, calc((var(--vw) - 12px - ((8 - 1) * 6px)) / 8 ));
    gap: 0 6px;
    justify-content: center;
}
.slider-banner.-thumb figure {
    height: calc((var(--vw) - 12px - ((8 - 1) * 6px)) / 8 / 16 * 9);
    overflow: hidden;
    cursor: pointer;
    position: relative;
    box-shadow: 0px 0px 2px 2px #fff0;
    transition: .2s;
}
.slider-banner.-thumb .thumbnail-current {
    box-shadow: 0px 0px 2px 2px var(--theme_main);
}
.slider-banner.-thumb figure img {
    height: 100%;
}

/* ガールスライダー */
.slider-girl {
    display: block !important;
}
.slider-girl > .slick-list {
    padding-bottom: 15px !important;
}
.slider-girl .slick-track {
    display: grid;
    grid-template-columns: repeat(auto-fit, calc((var(--vw) - 20px - 20px) / 2));
    gap: 0 10px;
}
.slider-girl .slick-slide {
    transition: all ease-in-out .3s;
    opacity: .2;
}
.slider-girl .slick-active,
.slider-girl .slick-current,
.slider-girl .is-active-next {
    opacity: 1;
}
.slider-girl .collection-list .collection-image {
    width: calc((var(--vw) - 20px - (10px * (2 - 1))) / 2);
    height: calc((var(--vw) - 20px - (10px * (2 - 1))) / 2 / 3 * 4);
}
.slider-girl .collection-list .collection-body {
    height: auto;
}
.slider-girl .collection-list .collection-body .figure,
.slider-girl .collection-list .collection-body .appeal {
    display: block;
}
.slider-girl .slick-dots {
    width: calc(100% - 20px);
}

/* プロフィールスライダー */
.slider-girls {
    margin: 0 auto 30px;
}
.slider-girls .slick-slide {
    height: calc(min(var(--vw), 897px) / 3 * 4);
}
.slider-girls .slick-slide img {
    height: 100%;
}
.slider-girls .slick-prev,
.slider-girls .slick-next {
    width: 40px;
    height: 40px;
    z-index: 1;
    background: var(--black_2);
}
.slider-girls .slick-prev {
    left: 10px;
}
.slider-girls .slick-next {
    right: 10px;
}
.slider-girls .slick-prev::before,
.slider-girls .slick-next::before {
    content: "";
    border-width: 16px 26px;
    border-style: solid;
    display: block;
    position: absolute;
    top: 4px;
}
.slider-girls .slick-next::before {
    border-color: transparent transparent transparent var(--theme_sub);
    border-right-width: 0;
    left: 7px;
}
.slider-girls .slick-prev::before {
    border-color: transparent var(--theme_sub) transparent transparent;
    border-left-width: 0;
    right: 7px;
}
.one-point {
    margin: -5px 0 0;
    padding: 3px 10px;
    font-size: 18px;
    color: var(--red_3);
    font-weight: 900;
}

/* ビデオスライダー */
.slider-video {
    display: block !important;
    margin-bottom: 0 !important;
}
.slider-video > .slick-list {
    padding-bottom: 15px !important;
}
.slider-video .slick-track {
    display: grid;
    grid-template-columns: repeat(auto-fit, calc(var(--vw) - 20px));
    gap: 0 10px;
}
.slider-video .slick-slide figure ~ * {
    display: none;
}
.slider-video + .btn-def {
    margin-top: 44px;
}

/* イベントスライダー */
.slider-event.slick-slider {
    background: var(--black_2);
    display: block;
    padding: 0;
    margin-bottom: 40px;
}
.slider-event .slick-slide {
    border-radius: 0;
    transition: all ease-in-out .3s;
    opacity: .6;
}
.slider-event .material-hover:hover {
    box-shadow: none;
}
.slider-event .slick-active,
.slider-event .slick-current,
.slider-event .is-active-next {
    opacity: 1;
}
.slider-event .thumb {
    width: var(--vw);
    height: calc(var(--vw) / 16 * 9);
}
.slider-event .body {
    display: none;
}
.slider-event .slick-dots li {
    position: relative;
    display: inline-block;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    cursor: pointer;
}
.slider-event .slick-dots li button {
    font-size: 0;
    line-height: 0;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    text-indent: -9999px;
    display: block;
    width: 8px;
    height: 8px;
    margin: 0 8px;
    outline: 0;
    border-radius: 5px;
    transition-duration: 0.3s;
}
.slider-event .slick-dots li button:before {
    content: none;
}
.slider-event .slick-dots li:nth-child(1) button {
    background: #f5d1c3;
}
.slider-event .slick-dots li:nth-child(2) button {
    background: #a9b7ba;
}
.slider-event .slick-dots li:nth-child(3) button {
    background: #c4d7d1;
}
.slider-event .slick-dots li:nth-child(4) button {
    background: #b4b1a0;
}
.slider-event .slick-dots li:nth-child(5) button {
    background: #e5dfd3;
}
.slider-event .slick-dots li button:hover,
.slider-event .slick-dots li.slick-active button {
    border-radius: 0px;
    width: 12px;
    height: 12px;
}

.sphere {
    position: absolute;
    top: clamp(-100px, var(--clamp_1) * (-100 + 45) - 45px, -45px);
    left: 10px;
    z-index: 10;
    width: clamp(90px, var(--clamp_1) * (200 - 90) + 90px, 200px);
    height: clamp(90px, var(--clamp_1) * (200 - 90) + 90px, 200px);
    background: var(--white_0);
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--black_3);
    box-shadow: var(--shadow_1), inset -1px -1px 20px var(--black_3);
    display: none;
}
.sphere a {
    width: 100%;
    height: 100%;
}
.sphere figure {
    width: 100%;
    height: 100%;
    padding: 5px;
}
.posts-flex .sphere,
.video-playback .sphere {
    width: 60px;
    height: 60px;
    top: auto;
    left: auto;
    right: 0;
    bottom: -10px;
}
.video-playback .sphere {
    bottom: calc(100% - 10px);
}
.posts-flex .sphere figure,
.video-playback .sphere figure {
    width: 100%;
    height: 100%;
    padding: 0;
}
.sphere img {
    border-radius: 50%;
    object-fit: contain;
}

/* ページネーション */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0;
    position: relative;
    font-size: 12px;
}
.pagination span,
.pagination a {
    display: block;
    width: auto;
    height: 32px;
    margin: 4px;
    padding: 7px;
    border: 1px solid #a39d7d99;
    background: #fff;
    color: #a39d7d99;
    text-decoration: none;
    text-align: center;
    line-height: 16px;
    border-radius: 5px;
    outline: none;
    transition: all .8s ease;
}
/* ページ番号 */
.pagination .pager{
    width: 32px;
	border-radius: 50%;
}
/* ホバー時 & 現在のページ */
.pagination a:hover,
.pagination .current  {
    color: #fff;
    border-color: #a39d7d;
    background-color: #a39d7d;
}
/* Page x / y */
.pagination span.page_num {
    display: none;
}

/* 女の子一覧 */
.girls-collection {
    width: 100%;
    margin: 0 auto 10px;
    padding: 0 10px;
    display: grid;
    grid-template-columns: repeat(auto-fit, calc((var(--vw) - 20px - ((2 - 1) * 10px)) / 2));
    gap: 20px 10px;
}
.girls-collection a {
    position: relative;
    box-shadow: var(--shadow_1);
    border-radius: 3px;
    overflow: hidden;
}
.girls-collection a::before {
    content: "";
    width: 100%;
    height: 100%;
    border: 5px solid #fff0;
    position: absolute;
    z-index: 2;
    transition: border-color .2s ease;
}
.girls-collection a:hover {
    box-shadow: var(--shadow_hover_1);
}
.girls-collection a:hover::before {
    border-color: var(--theme_main);
}
.girls-collection .collection-image {
    width: 100%;
    height: calc((var(--vw) - 20px - ((2 - 1) * 10px)) / 2 / 3 * 4);
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.girls-collection .collection-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	transition: transform .4s ease;
}
.girls-collection .collection-body {
    height: clamp(45px, var(--clamp_2) * (60 - 45) + 45px, 60px);
    padding-top: 5px;
    color: var(--black_2);
    background: var(--theme_translucent);
    display: flex;
    flex-flow: column;
    position: relative;
    letter-spacing: -1px;
}
.girls-collection .collection-body p {
    width: max-content;
    text-align: justify;
    margin: 0 auto;
    position: relative;
}
.girls-collection .collection-body .name {
    font-size: clamp(14px, var(--clamp_2) * (19 - 14) + 14px, 19px);
    font-weight: bold;
    width: 100%;
    padding: 0 10px;
    position: relative;
}
.girls-collection .collection-body .name::before,
.girls-collection .collection-body .name span {
    font-size: clamp(12px, var(--clamp_2) * (14 - 12) + 12px, 14px);
}
.girls-collection .collection-body .name span {
    margin-left: 8px;
}
.girls-collection .collection-body .comment {
    height: 60px;
    padding: 0 5px;
    font-size: clamp(12px, var(--clamp_2) * (14 - 12) + 12px, 14px);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    line-height: 20px;
}
.girls-collection .collection-body .appeal {
    height: 28px;
    position: absolute;
    bottom: 100%;
    z-index: 1;
    width: 100%;
    text-align: center;
    background: var(--theme_main);
    color: var(--white_0);
    font-weight: bold;
    font-size: .8rem;
    padding: 5px 0;
    overflow-x: hidden;
    white-space: nowrap;
}
.girls-collection .collection-body .figure {
    padding-bottom: 3px;
    font-size: clamp(12px, var(--clamp_2) * (16 - 12) + 12px, 16px);
}
.girls-collection .collection-body .appeal:empty {
    display: none;
}
.girls-collection .collection-body .icon {
    margin-top: auto;
    margin-bottom: 3px;
    padding: 0 8px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 3px;
    display: none;
}
.girls-collection .collection-body .icon i {
    width: 100%;
    justify-self: center;
    align-self: center;
    font-size: 1rem;
    text-align: center;
    border: 3px double var(--theme_marking);
    border-radius: 3px;
    line-height: 1;
    padding: 2px 0;
    background: var(--black_2);
    color: var(--white_3);
}
.girls-collection .collection-body .icon .-on {
    background: var(--theme_main);
    color: var(--black_1);
    opacity: .9;
}
.girls-collection .collection-body .schedule {
    margin-top: auto;
    padding: 3px 5px;
    background-color: var(--theme_sub);
    background-image: repeating-linear-gradient(-45deg,var(--theme_main), var(--theme_main) 6px,transparent 0, transparent 10px);
    font-size: clamp(12px, var(--clamp_2) * (16 - 12) + 12px, 16px);
    text-align: center;
    letter-spacing: 1px;
    display: none;
}
.girls-collection .pickup .collection-image::before {
    content: "PickUp";
    background-color: var(--theme_sub);
    width: 100%;
    margin: 0 0 1% 0;
    padding: 1% 0 1% 0;
    color: #fff;
    font-weight: normal;
    font-family: 'Cinzel', serif;
    font-size: 0.7rem;
    text-align: center;
    letter-spacing: 1px;
    position: absolute;
    top: 3%;
    left: 30%;
    z-index: 1;
    transform: rotate(25deg);
}
.girls-collection .newface .name::before {
    content: "NEW";
    color: var(--theme_accent);
    margin-right: 10px;
    animation: blur 1.6s ease-out infinite;
}
@keyframes blur {
    from {
        text-shadow:
            0px 0px 5px #fff,
            0px 0px 10px #fff,
            5px 0px 10px #fff,
            -5px 0px 10px #fff
    }
}
.ranking-number {
    position: relative;
    width: 50px;
    height: 50px;
}
.collection-list .ranking-number {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    filter: drop-shadow(1px 2px 1px #0003);
}
.ranking-number::after {
    content: attr(data-ranking);
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 80%;
    font-size: 1.5rem;
    margin: 0px;
    font-family: serif;
    font-weight: bold;
    top: 20%;
    text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
    color: #ff7742;
}
.ranking-number svg {
    position: absolute;
}
.ranking-number-1 svg {
    fill: #fbd651;
}
.ranking-number-2 svg {
    fill: #dddde0;
}
.ranking-number-3 svg {
    fill: #ca7c10;
}
.ranking-number-4 svg {
    fill: #afe8dc;
}
.ranking-number-5 svg {
    fill: #6aa2ff;
}

/* 動画一覧 */
.archive-grid.video-grid {
    grid-template-columns: 1fr;
}
.video-playback {
    display: flex;
    flex-flow: column;
}
.video-playback figure,
.video-playback iframe {
    width: calc(var(--vw) - 20px);
    height: calc((var(--vw) - 20px) / 16 * 9);
    display: block;
}
.video-playback img,
.video-playback video {
    width: 100%;
    height: 100%;
}
.video-playback .video video {
    object-fit: cover;
}
.video-playback .title {
    padding: 8px 3px 5px;
    color: var(--theme_sub);
    font-weight: 600;
    line-height: 1.5;
    text-align: justify;
}
.video-playback > a {
    margin-top: auto;
    padding: 5px 10px;
    color: var(--theme_marking);
    background: var(--theme_sub);
    border-radius: 3px;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.5;
    display: block;
}
.video {
	display: block;
	position: relative;
	overflow: hidden;
}
.video::before {
	content: "Tap to Play";
    color: #fff;
    background: rgba(0, 0, 0, 0.6);
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	transition: all 0.3s;
}
.video:hover::before {
	background: rgba(0, 0, 0, 0.7);
	cursor: pointer;
	transition: all 0.3s;
}

/* スケジュール */
.panel-radios {
    display: none;
}
#tabs-list {
    margin: 30px auto;
    display: flex;
    justify-content: center;
    gap: 0 10px;
}
#tabs-list .panel-li {
    position: relative;
}
#li-for-panel-5,
#li-for-panel-6,
#li-for-panel-7 {
    display: none;
}
#panel-ctrl-1:checked ~ #tabs-list #li-for-panel-1,
#panel-ctrl-2:checked ~ #tabs-list #li-for-panel-2,
#panel-ctrl-3:checked ~ #tabs-list #li-for-panel-3,
#panel-ctrl-4:checked ~ #tabs-list #li-for-panel-4,
#panel-ctrl-5:checked ~ #tabs-list #li-for-panel-5,
#panel-ctrl-6:checked ~ #tabs-list #li-for-panel-6,
#panel-ctrl-7:checked ~ #tabs-list #li-for-panel-7 {
    pointer-events: none;
    cursor: default;
    transform: scale(1.01);
	z-index: 1;
}
#tabs-list .panel-label {
    width: 60px;
    height: 60px;
    padding: 24px 0;
    border-radius: 50%;
    background: var(--theme_sub);
    color: var(--white_1);
    font-size: .875rem;
    font-weight: 700;
    line-height: 1;
    overflow: hidden;
    box-shadow: var(--shadow_2);
    cursor: pointer;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 3px;
    transition: all .4s ease;
}
#tabs-list .panel-label:hover {
    color: var(--black_2);
    box-shadow: var(--shadow_hover_2);
}
#panel-ctrl-1:checked ~ #tabs-list #li-for-panel-1 .panel-label,
#panel-ctrl-2:checked ~ #tabs-list #li-for-panel-2 .panel-label,
#panel-ctrl-3:checked ~ #tabs-list #li-for-panel-3 .panel-label,
#panel-ctrl-4:checked ~ #tabs-list #li-for-panel-4 .panel-label,
#panel-ctrl-5:checked ~ #tabs-list #li-for-panel-5 .panel-label,
#panel-ctrl-6:checked ~ #tabs-list #li-for-panel-6 .panel-label,
#panel-ctrl-7:checked ~ #tabs-list #li-for-panel-7 .panel-label {
    background: var(--theme_main);
    color: var(--theme_marking);
}
#tabs-list .panel-label span {
    margin-top: 4px
}
#tabs-list .panel-label em {
    display: inline-block;
    font-style: normal;
}
#panels .panel-container {
    width: auto;
    margin: 0;
}
#panels .panel-inner {
    height: 0;
    overflow-y: hidden;
    opacity: 0;
    transition: all .6s ease;
}
#panel-ctrl-1:checked ~ #panels #panel-1,
#panel-ctrl-2:checked ~ #panels #panel-2,
#panel-ctrl-3:checked ~ #panels #panel-3,
#panel-ctrl-4:checked ~ #panels #panel-4,
#panel-ctrl-5:checked ~ #panels #panel-5,
#panel-ctrl-6:checked ~ #panels #panel-6,
#panel-ctrl-7:checked ~ #panels #panel-7 {
    height: initial;
    opacity: 1;
}

/* 求人 */
.grid-table {
    width: min(100%, 960px);
    margin: 20px auto 0;
    padding: 0 10px;
}
.grid-table.-pt {
    padding-top: 20px;
}
.grid-table dl {
    border-top: 1px solid var(--theme_marking);
}
.grid-table dl:last-of-type {
    border-bottom: 1px solid var(--theme_marking);
}
.grid-table .job {
	display: block;
}
.grid-table dt {
    padding: 10px 10px 5px;
    color: var(--theme_accent);
    font-size: .8rem;
    font-weight: 600;
    text-align: left;
}
.grid-table dd {
    padding: 0 10px 10px;
    color: var(--black_2);
    text-align: justify;
    overflow-wrap: break-word;
    font-size: .9rem;
}
.grid-table strong {
    font-size: 1rem;
    color: var(--red_3);
}
.grid-table .price::after {
    content: "円";
}
.flex-keywords {
    margin: 0 10px 20px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
}
.flex-keywords li {
    border-radius: 3px;
    font-size: 12px;
    line-height: 1.5;
    text-align: justify;
    padding: 3px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.flex-keywords .on {
    color: var(--black_1);
    background: var(--theme_main);
    border: var(--theme_sub) 1px solid;
}
.flex-keywords .off {
    color: var(--theme_main);
    border: var(--theme_sub) 1px dotted;
}

/* システム コンタクト */
.system {
    width: min(100%, 960px);
    margin: 0 auto;
    padding-bottom: 20px;
}
.system > .system {
    padding-bottom: 0;
}
.system .table {
    padding: 0 10px;
    display: block;
}
.system .table tbody {
    display: block;
}
.system .table tr {
    margin-bottom: 1px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 1px;
}
.system .table th,
.system .table td {
    font-size: 10px;
    line-height: 1.8;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    padding: 3px 0;
}
.system .table th {
    background: var(--theme_marking);
    color: var(--white_0);
}
.system .table th.look {
    padding-bottom: 3px;
    background: var(--theme_accent);
    color: var(--white_0);
    font-weight: 700;
    border: solid var(--yellow_3);
    border-width: 1px 1px 0;
    position: relative;
    transform: scale(1.1) translateY(-5%);
}
.system .table th.look::before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    bottom: 0;
    height: 3px;
    margin: auto;
    background: var(--black_2);
}
.system .table th::after {
    content: "分";
}
.system .table td {
    background: var(--theme_main);
    color: var(--white_0);
}
.system .table td.look {
    background: var(--theme_sub);
    color: var(--white_0);
    font-weight: 700;
    border: solid var(--yellow_3);
    border-width: 0 1px 1px;
    position: relative;
    transform: scale(1.1) translateY(5%);
}
.system .table td::after {
    content: "円";
}
.system .extend {
    padding: 0 10px;
    color: var(--black_2);
}
.system .extend dl {
    display: flex;
    justify-content: flex-end;
    gap: 0 3px;
    align-items: flex-end;
    line-height: 1;
    padding: 5px 0;
}
.system .extend dt {
    font-size: .8rem;
}
.system .extend dt::after {
    content: "：";
}
.system .extend dd {
    font-size: .9rem;
}
.system .extend dd::after {
    content: "円〜（女の子ランクによる）";
}
.system .once {
    margin: 12px auto 3px;
    padding: 3px 5px 3px 60px;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--theme_accent);
    display: flex;
    align-items: center;
    position: relative;
}
.system.op .once {
    color: var(--blue_3);
}
.op[class*="op-"] .once {
    color: var(--red_0);
}
.system.op-500 .once {
    color: var(--red_6);
}
.system.op-1000 .once {
    color: var(--red_5);
}
.system.op-2000 .once {
    color: var(--red_4);
}
.system.op-3000 .once {
    color: var(--red_3);
}
.system.op-4000 .once {
    color: var(--red_2);
}
.system.op-5000 .once {
    color: var(--red_1);
}
.system .once::before {
    content: "得!";
    width: 44px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--yellow_1);
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 12px;
    border: 3px double;
    transform: rotate(-12deg);
    background: var(--theme_marking);
}
.system.op .once::before {
    content: "Op";
    background: var(--blue_3);
}
.op[class*="op-"] .once::before {
    background: var(--red_0);
}
.system.op-500 .once::before {
    background: var(--red_6);
}
.system.op-1000 .once::before {
    background: var(--red_5);
}
.system.op-2000 .once::before {
    background: var(--red_4);
}
.system.op-3000 .once::before {
    background: var(--red_3);
}
.system.op-4000 .once::before {
    background: var(--red_2);
}
.system.op-5000 .once::before {
    background: var(--red_1);
}
.system .once span {
    margin-right: 12px;
}
.system .once dl {
    line-height: 1;
    display: flex;
    gap: 0 3px;
}
.system .once .minute {
    font-size: 1rem;
}
.system .once .minute::after {
    content: "分";
}
.system .once .price {
    font-size: 1.5rem;
}
.system .once .price::after {
    content: "円";
    font-size: 1rem;
}
.system .option {
    padding: 5px 10px 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.system .option.pdt20 {
    padding-top: 20px;
}
.system .once + .option {
    border-top: 2px solid var(--theme_marking);
}
.system.op .option {
    border-top-color: var(--blue_3);
}
.op[class*="op-"] .option {
    border-top-color: var(--red_0);
}
.system.op-500 .option {
    border-top-color: var(--red_6);
}
.system.op-1000 .option {
    border-top-color: var(--red_5);
}
.system.op-2000 .option {
    border-top-color: var(--red_4);
}
.system.op-3000 .option {
    border-top-color: var(--red_3);
}
.system.op-4000 .option {
    border-top-color: var(--red_2);
}
.system.op-5000 .option {
    border-top-color: var(--red_1);
}
.system .option.cosplay {
    padding-top: 20px;
}
.system .option.cosplay figure {
    padding-right: 15px;
    height: calc((var(--vw) - 20px - (15px * 2) - (10px * 1)) / 2 / 3 * 4);
}
.system .option.cosplay figure img {
    height: 100%;
}
.system.schedule {
    padding: 0 10px;
}
.system.schedule .table {
    padding: 0;
    overflow-x: scroll;
}
.system.schedule .table tr {
    grid-template-columns: repeat(7, minmax(90px, 1fr));
}
.system.schedule .table th::after,
.system.schedule .table td::after {
    content: none;
}
.system.schedule .table th.sunday {
    background: var(--red_3);
}
.system.schedule .table td.sunday {
    background: var(--red_5);
    color: var(--white_1);
}
.system.schedule .table th.saturday {
    background: var(--blue_2);
}
.system.schedule .table td.saturday {
    background: var(--blue_3);
    color: var(--white_1);
}
.system.schedule .table th em {
    font-style: normal;
}
.system.schedule .table td a {
    line-height: 1.5;
    padding: 5px 0;
}
.system.schedule .table td span {
    display: block;
    line-height: 1;
}
.subtitle {
    padding: 0 10px;
    text-align: center;
    margin-top: -15px;
    color: var(--theme_sub);
    font-weight: 600;
}
.ribbon {
    position: relative;
    height: 30px;
    line-height: 30px;
    text-align: center;
    padding: 3px 0;
    font-size: 10px;
    background: var(--blue_3);
    color: var(--white_0);
    box-shadow: -3px 2px 3px var(--black_3);
}
.op[class*="op-"] .ribbon,
.ribbon[class*="op-"] {
    background: var(--red_0);
}
.op.op-500 .ribbon,
.ribbon.p-500 {
    background: var(--red_6);
}
.op.op-1000 .ribbon,
.ribbon.p-1000 {
    background: var(--red_5);
}
.op.op-2000 .ribbon,
.ribbon.p-2000 {
    background: var(--red_4);
}
.op.op-3000 .ribbon,
.ribbon.p-3000 {
    background: var(--red_3);
}
.op.op-4000 .ribbon,
.ribbon.p-4000 {
    background: var(--red_2);
}
.op.op-5000 .ribbon,
.ribbon.p-5000 {
    background: var(--red_1);
}
.ribbon strong {
    display: block;
    padding: 0 15px 0 5px;
    border-top: dashed 1px var(--white_0);
    border-bottom: dashed 1px var(--white_0);
    line-height: 22px;
    word-break: keep-all;
    white-space: nowrap;
}
.ribbon[data-num]::before {
    content: attr(data-num);
    position: absolute;
    color: var(--white_0);
    width: 15px;
    height: 16px;
    line-height: 1;
    background: var(--red_3);
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ribbon:after {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    border-width: 15px 15px 15px 0px;
    border-color: transparent var(--yellow_3) transparent transparent;
    border-style: solid;
}
.system-box {
    padding: 0 5%;
    line-height: 1.5;
    color: var(--black_2);
}
.system-box p a {
    text-decoration: none;
}
.system-box p a span {
	font-weight: bold;
	border-bottom: 1px solid var(--theme_sub);
}
.system-box:before {
    content: none;
    width: 0;
    height: 0;
    border-width: 30px 30px 0 0;
    border-style: solid;
    border-color: var(--white_2) transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
}
.system-title {
    width: 100%;
    margin: 20px auto;
    color: var(--theme_sub);
    font-size: 1.1rem;
    text-align: center;
    text-shadow: var(--text_shadow_3);
}
.system-inner {
    width: 100%;
    margin: 0 auto;
    padding: 8px 0;
    border-top: 1px solid var(--theme_accent);
    text-align: justify;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.system-inner.block,
.system-inner.block .system-inner-content {
    display: block;
}
.system-inner:first-of-type {
    border-top: none;
}
.system-inner-title {
    width: 100%;
    padding: 8px 0;
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: -1px;
}
.system-inner-content {
    width: 100%;
    font-size: 1rem;
    align-self: center;
    letter-spacing: -1px;
}
.system-inner-content.grid {
    grid-template-columns: repeat(2, auto);
    justify-content: space-between;
    gap: 0;
}
.system-inner-content.money:not(.grid),
.system-inner-content.grid.money p:nth-of-type(even) {
    justify-self: right;
}
.system-inner-content.flex {
    display: flex;
}
.system-inner-content.age::after {
    content: "歳";
}
.system-inner-content.size::after {
    content: "cm";
    margin-left: 2px;
}
.system-inner-content.people::after {
    content: "名";
}
.system-inner-content.seats::after {
    content: "席";
}
.system-inner-content.grid.money::before {
    content: none;
}
.system-inner-content.money:not(.grid)::after,
.system-inner-content.grid.money p:nth-of-type(even)::after {
    content: "YEN";
    margin-left: 2px;
}
.system-inner-content.info-text {
    display: block;
}
.system-inner-content.info-text p:first-child {
    text-align: center;
}
.system-inner-content a::before {
    margin-right: 5px;
}
.grid.credit {
    width: min(100%, 960px);
    margin: 0 auto;
    padding: 0 10px;
    gap: 5px;
    grid-template-columns: repeat(auto-fit,minmax(60px, auto));
}
.grid.credit img {
    height: auto;
}
.attention {
    width: min(100%, 960px);
    margin: 0 auto;
    padding: 10px;
    color: var(--black_2);
}
.attention.payment .btn-def {
    width: min(100%, 480px);
    height: 100%;
    margin: 0 auto 30px;
    color: var(--white_0);
    background: var(--gradation_color_5);
    font-size: 1.4rem;
    box-shadow: var(--shadow_5);
    text-shadow: 1px 1px 0px var(--black_1);
    flex-flow: column;
    line-height: inherit;
}
.attention.payment .btn-def::before {
    content: attr(title);
    display: block;
    text-align: center;
    font-size: 1rem;
    letter-spacing: 1px;
    line-height: 1.2;
    margin: 0;
}
.attention .inner {
    padding: 30px 2.5%;
    border: 2px solid var(--white_4);
    border-radius: 10px;
    font-size: .9rem;
}
.attention.payment .inner {
    border-color: var(--theme_sub);
    background: var(--white_2);
}
.attention ul,
.attention ol {
    margin-bottom: 20px;
}
.attention ul {
    color: var(--theme_marking);
}
.attention li {
    padding: 0 5px 0 25px;
    position: relative;
    margin-bottom: 10px;
}
.attention li::before {
    position: absolute;
    left: 5px;
}
.attention ul li::before {
    content: "■";
}
.attention ol {
    color: var(--theme_accent);
    counter-reset: count 0
}
.attention ol li::before {
    counter-increment: count 1;
    content: counter(count);
    border-right: 1px dotted;
    width: 15px;
    top: 10%;
    bottom: 10%;
    display: flex;
    align-items: center;
}
.attention .head {
    margin-bottom: 10px;
    padding: 10px;
    border: 1px solid var(--black_3);
    border-radius: 10px;
    background: var(--white_1);
    font-size: 1rem;
    text-align: center;
}
.attention .inner > div {
    font-size: 1rem;
    line-height: 1.8;
    padding: 0 5% 10px;
    border: 1px dotted;
    border-radius: 10px;
    text-align: center;
}
.attention .inner > div > p:first-of-type {
    font-size: 2rem;
    font-weight: 600;
}

/* アコーディオン */
.accordion {
    width: min(100%, 960px);
    margin: 0 auto;
    padding: 0 10px;
    display: block;
}
.accordion tbody {
    display: block;
}
.accordion tr {
    display: flex;
    flex-flow: column;
    border: 2px solid var(--black_3);
    border-top: none;
    border-radius: 10px 3px 3px;
    overflow: hidden;
    position: relative;
}
.accordion .head {
    display: none;
}
.accordion td {
    padding: 3px 30px 3px 45px;
    border-bottom: 1px solid var(--black_3);
    background: var(--white_2);
}
.accordion td:first-of-type {
    width: 24px;
    padding: 0;
    background: var(--theme_sub);
    text-align: center;
    display: block;
    position: absolute;
    top: 5px;
    left: 10px;
    z-index: 1;
    border-style: none solid solid none;
    border-width: 1px;
}
.accordion td:nth-of-type(2) {
    padding: 5px 30px 5px 45px;
    background: var(--theme_transparent);
    color: var(--white_0);
    display: block;
    position: relative;
    cursor: pointer;
}
.accordion td:nth-of-type(2)::before,
.accordion td:nth-of-type(2)::after {
    content: "";
    width: 12px;
    height: 2px;
    background: var(--white_0);
    position: absolute;
    top: 50%;
    right: 10px;
    transition: transform .4s ease-out;
}
.accordion td:nth-of-type(2)::after {
    transform: rotate(90deg);
}
.accordion td:last-of-type {
    border: none;
}
.accordion td:not(:first-of-type):not(:nth-of-type(2)) {
    padding-top: 0;
    padding-bottom: 0;
    border-bottom-width: 0;
    line-height: 0;
    visibility: hidden;
    opacity: 0;
    transition: .4s ease-out;
}
.accordion .is-open td:not(:first-of-type):not(:nth-of-type(2)) {
    padding-top: 3px;
    padding-bottom: 3px;
    border-bottom-width: 1px;
    line-height: 1.4;
    visibility: visible;
    opacity: 1;
    transition: .4s ease-out;
}
.accordion .is-open td:nth-of-type(2)::before,
.accordion .is-open td:nth-of-type(2)::after {
    transform: rotate(360deg);
}
.accordion td a {
    color: var(--theme_accent);
    text-decoration: underline;
}
.accordion td a:hover {
    color: var(--theme_marking);
    text-decoration: none;
}

/* フォーム */
.form-control label,
.form-control input,
.form-control textarea,
.form-control select {
    font-size: 1rem;
    cursor: pointer;
    outline: none;
}
.form-control input {
    width: max-content;
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
}
.form-control input[type="text"],
.form-control input[type="tel"],
.form-control input[type="email"],
.form-control input[type="url"],
.form-control input[type="password"],
.form-control input[type="number"],
.form-control input[type="date"],
.form-control input[type="time"],
.form-control textarea,
.form-control select {
    width: 100%;
    height: 40px;
    margin-top: 5px !important;
    padding: 8px 15px !important;
    background: none;
    border: 2px solid var(--theme_main);
    border-radius: 3px;
    color: var(--black_1);
}
.form-control input::placeholder,
.form-control textarea::placeholder,
.form-control select:invalid {
    color: var(--black_3);
}
.form-control .required input,
.form-control .required textarea,
.form-control .required select {
    background: var(--white_3);
    border: 2px solid var(--theme_accent);
}
.form-control input:focus,
.form-control textarea:focus,
.form-control select:focus,
.form-control .column select:focus {
    border: 2px solid var(--blue_2);
}
.form-control textarea {
    height: 200px;
}
.form-control .inquiry {
    margin-top: 30px;
}
.form-control .item {
    margin: 20px auto 0;
    font-weight: bold;
    line-height: 1.5rem;
    display: block;
    position: relative;
}
.form-control .item:first-child {
    margin: 0 auto;
}
.form-control .hidden {
    display: none;
}
/* セレクトボックス */
.form-control .select div {
    text-align: center;
    overflow: hidden;
    position: relative;
}
.form-control .select div::before {
    content: "";
    margin: auto;
    padding: 0;
    border-width: 15px 10px 10px;
    border-style: solid;
    border-color: var(--theme_accent) transparent transparent transparent;
    position: absolute;
    top: 40%;
    right: 10px;
}
.form-control .select select {
    width: 100%;
    padding: 0 1rem;
    border-radius: 3px;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}
/* チェックボックス */
input[type="checkbox"],
input[type="radio"] {
    position: absolute;
    z-index: -1;
    opacity: 0;
}
.control {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px;
}
.indicator {
    position: absolute;
    top: auto;
    left: 0;
    height: 20px;
    width: 20px;
    background: #e6e6e6;
    border: 2px solid var(--theme_accent);
    border-radius: 3px;
    transition: .2s ease;
}
.control input[type="radio"] ~ .indicator {
    border-radius: 50%;
}
.control:hover input ~ .indicator,
.control input:focus ~ .indicator {
    background: #ccc;
}
.control input:checked ~ .indicator {
    background: var(--theme_sub);
}
.control:hover input:not([disabled]):checked ~ .indicator,
.control input:checked:focus ~ .indicator {
    background: var(--theme_translucent);
}
.control input:disabled ~ .indicator {
    background: #e6e6e6;
    opacity: 0.6;
    pointer-events: none;
}
.indicator:after {
    content: '';
    position: absolute;
    display: none;
}
.control input:checked ~ .indicator:after {
    display: block;
}
.control input[type="checkbox"] ~ .indicator:after {
    left: 6px;
    top: 3px;
    width: 5px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.control input[type="checkbox"]:disabled ~ .indicator:after {
    border-color: #7b7b7b;
}
.control input[type="radio"] ~ .indicator:after {
    left: 5px;
    top: 5px;
    height: 6px;
    width: 6px;
    border-radius: 50%;
    background: #fff;
}
.control input[type="radio"]:disabled ~ .indicator:after {
    background: #7b7b7b;
}
/* 必須と任意の調整 */
.item span::before {
    content: "任意";
    margin-right: 5px;
    padding: 4px 5px;
    border-radius: 3px;
    background: var(--theme_main);
    color: var(--white_0);
    font-size: .8rem;
    position: relative;
    top: -1px;
}
.required span::before {
    content: "必須";
    background: var(--theme_accent);
}
/* ブロック */
.item-block {
    margin-top: 5px;
    border: 2px solid var(--theme_accent);
    border-radius: 3px;
    padding: 10px 15px;
    display: flex;
    flex-flow: column;
}
.form-control .select .item-block {
    margin-top: 5px;
}
.form-control .select .item-block::before {
    content: none;
}
.item-block .column {
    margin-bottom: 10px;
    text-align: left;
}
.item-block .column:last-of-type,
.item-block .control:last-of-type {
    margin-bottom: 0;
}
.item-block .column select {
    width: auto;
    height: auto;
    padding: 2px 8px;
    margin-left: 10px;
}
.form-control .item-block .date {
    margin-left: 0;
    margin-right: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}
.form-control .item-block .date span {
    width: 100%;
}
.form-control .item-block .date label {
    display: flex;
    align-items: center;
}
.form-control .item-block .date strong {
    margin-right: 5px;
}
.form-control .item-block .date input {
    width: auto;
}
.form-control .item-block .date input[type="date"] {
    min-width: 120px;
}
.form-control .item-block .date input[type="time"] {
    min-width: 90px;
}
/* スパムチェック */
.spam {
    margin-top: 10px;
    display: flex;
    align-items: center;
}
.spam p {
    font-size: .8rem;
}
.spam p span {
    display: inline-block;
}
.spam input {
    width: auto;
    margin-top: 0;
    margin-bottom: 0;
}
/* 送信ボタンのデザイン変更 */
.form-submit input {
    width: min(100%, 400px);
    height: 40px;
    margin: 30px auto 10px;
    line-height: 1;
    color: #fff;
    background: var(--theme_sub);
    border-radius: 5px;
    border: solid 2px var(--theme_main);
    font-size: 18px;
    font-weight: bold;
    display: block;
    transition: .4s ease;
    transition-property: color, background;
    cursor: pointer;
}
.form-submit input:hover {
    color: var(--theme_sub);
    background: #fff;
    border-color: var(--theme_sub);
}
/* リキャプチャ */
.grecaptcha-substitute {
    width: max-content !important;
    max-width: 100%;
    margin: 0 auto;
    color: var(--black_4);
    text-align: justify;
    font-size: .8rem !important;
    letter-spacing: -1px;
}
.grecaptcha-badge {
    visibility: hidden;
}

/* ボタン */
.btn-def {
    width: 240px;
    height: 38px;
    margin: 12px 10px 0 auto;
    padding: 8px;
    border-radius: 5px;
    background: var(--gradation_color_6);
    color: var(--theme_accent);
    font-size: .9rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: var(--shadow_6);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top: -2px;
    transition: .1s ease;
}
.btn-def:hover {
    color: var(--white_0) !important;
    box-shadow: 0px 0px 0px #fff0 !important;
    top: 1px;
}
.btn-def::before {
    margin-right: 10px;
    position: relative;
    z-index: 1;
}
.btn-def span {
    position: relative;
    z-index: 1;
    letter-spacing: -1px;
}

/* ステップボックス */
.step-box {
    width: min(100%, 960px);
    margin: 0 auto;
    padding: 20px 10px 0;
    position: relative;
}
.step-box li {
    margin-bottom: 30px;
    padding: 3px;
    border: 1px solid var(--red_5);
    position: relative;
}
.step-box li:last-of-type {
    margin-bottom: 0;
}
.step-box li:not(:last-of-type)::after {
    content: "";
    border-style: solid;
    border-color: var(--red_5) transparent transparent;
    border-width: 30px 30px 0;
    display: block;
    position: absolute;
    bottom: -31px;
    left: 5%;
}
.step-box .inner {
    min-height: 115px;
    padding: 10px;
    background: var(--yellow_3);
    border: 4px solid var(--red_5);
    display: flex;
    position: relative;
    gap: 0 20px;
}
.step-box .level {
    font-size: 2rem;
    width: 50px;
    height: 50px;
    background: var(--red_5);
    color: var(--red_6);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.step-box .level::after {
    content: "STEP";
    position: absolute;
    left: 0;
    right: 0;
    font-size: .8rem;
    text-align: center;
    color: var(--red_5);
    bottom: -15px;
    line-height: 1;
}
.step-box .howto {
    color: var(--theme_accent);
    width: calc(100% - 125px);
    padding-bottom: 20px;
}
.step-box .howto em {
    height: max-content;
    padding: 0 3px;
    border-bottom: 2px solid var(--red_5);
    font-style: normal;
    display: block;
}
.step-box .howto span {
    margin-top: 8px;
    display: inline-block;
    font-size: .8rem;
    color: var(--black_2);
}
.step-box .howto span a {
    color: var(--theme_accent);
}
.step-box .howto span a:hover {
    color: var(--theme_marking);
}
.step-box .btn-def {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    height: 100%;
    width: 50px;
    padding: 5px;
    border-radius: 0;
    box-shadow: none;
    writing-mode: vertical-rl;
}
.step-box.-scene li {
    margin-bottom: 10px;
}
.step-box.-scene li:last-of-type {
    margin-bottom: 0;
}
.step-box.-scene li::after {
    content: none;
}
.step-box.-scene .level::after {
    content: "SCENE";
}

/* 隣接記事 */
.nav-single {
    width: min(100%, 960px);
    margin: 20px auto;
    padding: 0 10px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 10px;
}
.nav-single .nav-prev,
.nav-single .nav-next {
    background: var(--white_2);
    display: flex;
    align-items: center;
    position: relative;
    transition: .4s ease;
}
.nav-single .nav-prev {
    grid-column: 1/2;
}
.nav-single .nav-next {
    grid-column: 2/3;
}
.nav-single .nav-prev a,
.nav-single .nav-next a {
    width: 100%;
    height: 100%;
    padding: 5px 10px;
    font-size: .9rem;
    line-height: 1.8;
    letter-spacing: -1px;
    color: var(--theme_accent);
    text-decoration: none;
    display: flex;
    word-break: break-all;
    align-items: center;
    text-align: justify;
}
.nav-single .nav-prev a {
    padding-left: 1.8rem;
    justify-content: flex-start;
}
.nav-single .nav-next a {
    padding-right: 1.8rem;
    justify-content: flex-end;
}
.nav-single .nav-prev::before,
.nav-single .nav-next::before {
    font-size: 1.2rem;
    color: var(--theme_accent);
    position: absolute;
    transition: .4s ease;
}
.nav-single .nav-prev::before {
    left: .8rem;
}
.nav-single .nav-next::before {
    right: .8rem;
}
.nav-single .nav-prev span,
.nav-single .nav-next span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.nav-single .nav-prev a:hover,
.nav-single .nav-next a:hover,
.nav-single .nav-prev:hover::before,
.nav-single .nav-next:hover::before {
    color: var(--theme_marking);
}

/* アイキャッチ */
.post-image {
    width: min(100%, 960px);
    height: auto;
    margin: 20px auto;
    display: block;
}
.post-image:empty {
    display: none;
}
.post-image p {
    text-align: right;
}

/* 記事本文 */
.post-body {
    width: min(100%, 960px);
    margin: 0 auto;
    padding: 0 10px;
    line-height: 2;
    overflow-wrap: break-word;
}
.post-body img {
    width: initial;
}
.post-body > .btn-def,
.grid-table > .btn-def {
    margin-right: 0;
}

/* プロフィールリンク */
.post-body .profile-url {
    width: 100%;
    text-align: right;
    text-decoration: none;
    display: block;
    transform: scale(0.9);
}
.post-body .profile-url:hover {
    transform: scale(1);
}

/* 追加テキスト */
.post-body .add-description {
    color: var(--black_3);
    font-size: .875rem;
    margin: 1.5rem auto;
    text-align: justify;
}

/* 記事 -動画- */
.video-playback.-s figure,
.video-playback.-s iframe {
    width: var(--vw);
    height: calc(var(--vw) / 16 * 9);
}

/* 記事 -キャンペーン- */
.campaign .post-image {
    width: var(--vw);
    height: calc(var(--vw) / 16 * 9);
}
.campaign .post-image img {
    height: 100%;
    object-fit: cover;
}
.campaign .layer {
    width: min(100%, 960px);
    margin: 0 auto 20px;
    padding: 20px 10px 30px;
    border: 10px solid var(--theme_main);
}
.campaign.-re .post-image,
.campaign.-re .layer {
    position: relative;
}
.campaign.-re .post-image::before,
.campaign.-re .layer::before {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--black_3);
}
.campaign.-re .post-image::after {
    content: "開催\A終了";
    margin: auto;
    border: double var(--theme_main);
    border-width: clamp(30px, var(--clamp_1) * (48 - 30) + 30px, 48px);
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(50vw, 480px);
    height: min(50vw, 480px);
    font-size: clamp(48px, var(--clamp_1) * (120 - 48) + 48px, 120px);
    font-weight: 900;
    text-align: center;
    line-height: 1;
    color: var(--theme_main);
    white-space: pre;
}
.campaign .layer .period {
    color: var(--theme_accent);
    font-size: clamp(14px, var(--clamp_2) * (16 - 14) + 14px, 16px);
    margin-bottom: 10px;
}
.campaign .layer .subtitle {
    margin-bottom: 10px;
    padding: 0 5px;
    border-bottom: 6px double var(--theme_sub);
    font-size: clamp(16px, var(--clamp_2) * (32 - 16) + 16px, 32px);
    font-weight: bold;
    color: var(--theme_sub);
    text-align: center;
}
.campaign .layer .amount {
    margin: 0 5%;
    letter-spacing: -1px;
    font-family: serif;
}
.campaign .layer .amount.old {
    padding-top: 10px;
    position: relative;
    display: inline-block;
    color: var(--black_2);
}
.campaign .layer .amount.old::after {
    content: "";
    border-top: 2px solid var(--black_2);
    border-bottom: 2px solid var(--black_2);
    position: absolute;
    left: -2px;
    right: -2px;
    height: 6px;
    display: block;
    top: calc(50% + 2px);
}
.campaign .layer .amount.new {
    padding-bottom: 10px;
}
.campaign .layer .amount.old span {
    font-size: clamp(14px, var(--clamp_2) * (32 - 14) + 14px, 32px);
}
.campaign .layer .amount.new span {
    font-size: clamp(24px, var(--clamp_2) * (64 - 24) + 24px, 64px);
    color: var(--theme_sub);
}
.campaign .layer .amount span:first-of-type::after {
    content: "分";
    margin-right: 5px;
}
.campaign .layer .amount span:last-of-type::after {
    content: "円";
}
.campaign .layer .amount.new span::after {
    font-size: clamp(14px, var(--clamp_2) * (32 - 14) + 14px, 32px);
    color: var(--black_2);
}
.campaign .layer .except {
    padding: 10px;
    border-top: solid 2px var(--theme_accent);
    font-size: clamp(14px, var(--clamp_2) * (16 - 14) + 14px, 16px);
    color: var(--black_2);
}
.campaign .layer .condition {
    border: double 3px var(--theme_sub);
    padding: 3px 7px;
    font-size: clamp(14px, var(--clamp_2) * (16 - 14) + 14px, 16px);
    font-weight: 600;
}
.campaign .layer .condition::before {
    content: "利用条件";
    border-right: 1px solid var(--theme_sub);
    padding-right: 5px;
    margin-right: 5px;
}

/* 記事一覧 */
.posts-flex {
    padding: 0 10px;
}
.posts-flex li {
    margin: 0 auto 5px;
    background: var(--white_2);
    border: 2px solid var(--white_1);
}
.posts-flex a {
    display: flex;
    overflow: hidden;
}
.posts-flex .thumb {
    width: calc(120px / 9 * 16);
    height: 120px;
    overflow: hidden;
    flex-shrink: 0;
    align-self: center;
    position: relative;
    z-index: 1;
}
.posts-flex .thumb img,
.posts-flex .thumb video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform .2s ease;
}
.posts-flex a:hover .thumb img,
.posts-flex a:hover .thumb video {
	transform: translate(-50%, -50%) rotate(10deg) scale(1.5);
}
.posts-flex .body {
    padding: 3px 10px;
    font-size: .8rem;
    position: relative;
    line-height: 1.4;
    font-weight: 400;
    display: flex;
    flex-flow: column;
    justify-content: space-around;
    flex: 1;
}
.posts-flex .date {
    color: var(--theme_accent);
}
.posts-flex .title,
.posts-flex .excerpt {
    line-height: 1.4;
    text-align: justify;
    word-break: break-all;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    transition: 0.2s;
}
.posts-flex .title {
    -webkit-line-clamp: 2;
}
.posts-flex .excerpt {
    color: var(--black_2);
    -webkit-line-clamp: 3;
}
.posts-flex .tag {
    color: var(--theme_main);
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    padding: 3px 5px;
    background: var(--black_3);
}
.posts-flex.news li {
    margin: 0 auto 5px;
}

/* 関連記事 */


/* 問合せ */
.application {
    width: 100%;
    margin: 0 auto;
}
.application .btnlist {
    width: 100%;
	margin-top: 20px;
	display: flex;
	flex-flow: column;
	justify-content: space-between;
}
.application .btnlist li a {
	display: block;
	width: 100%;
	margin: 10px auto;
	padding: 10px;
	text-align: center;
	color: #fff;
	background-color: #0006;
	font-size: 1rem;
	font-weight: bold;
	border-radius: 2px;
	box-shadow: 0 2px 5px 0 rgba(255, 255, 255, 0.16), 0 2px 10px 0 rgba(255, 255, 255, 0.12);
	transition: all .3s ease-out;
}
.application .btnlist li a:hover {
	box-shadow: 0 5px 15px 0 rgba(255, 255, 255, 0.18), 0 5px 11px 0 rgba(255, 255, 255, 0.15);
}
.application .btnlist li:nth-child(1) a {
	background-color: var(--grey_2);
}
.application .btnlist li:nth-child(2) a {
	background-color: #00bb00;
}
.application .btnlist li:nth-child(3) a {
	background-color: #ff5588;
}
.application .btnlist li:nth-child(4) a {
	background-color: #00dddd;
}
.application .shop {
	font-size: .875rem;
	margin-top: 1.5rem;
    padding: 0 10px;
}
.application .shop h3 {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px;
}
.application .shop .logo {
    height: 38px;
    display: inline-block;
}
.application .shop img {
	width: auto;
    height: 100%;
}
.application .shop table {
	width: 100%;
	text-align: justify;
}
.application .shop th {
	width: 8rem;
    padding-top: 10px;
}
.application .shop td {
	padding-left: 10px;
}

/* ブログカード */
.blog-card {
    width: 100%;
    border: 3px solid var(--theme_sub);
    margin: 10px auto;
    position: relative;
    transition: .4s ease;
}
.blog-card:hover {
    background: #fff;
    border: 3px solid #fff0;
    box-shadow: 2px 2px 7px var(--theme_marking), 0px 0px 5px 4px #fff;
}
.blog-card a {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: 1fr auto;
    gap: 0 5px;
}
.blog-card-thumbnail {
    width: 120px;
    height: 120px;
    margin: 10px;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    overflow: hidden;
    align-self: center;
    grid-row: 1/3;
}
.blog-card-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    padding: 0;
    transition: .4s ease;
    transform: scale(1);
}
.blog-card-title,
.blog-card-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.blog-card-title {
    padding-right: 10px;
	color: #337ab7;
	font-size: .8rem;
    font-weight: bold;
    line-height: 1.2rem;
	align-self: center;
	transition: .4s ease;
}
.blog-card-excerpt {
    margin-bottom: 36px;
	padding-right: 10px;
	color: var(--white_2);
	font-size: .8rem;
    line-height: 1rem;
	transition: .4s ease;
}
.blog-card-excerpt::after {
    content: '続きを読む \f0da';
    font-family: 'Font Awesome 5 Free';
    margin-right: .8rem;
    padding: 3px 12px;
    color: var(--white_1);
    background: var(--theme_translucent);
    text-align: center;
    border-radius: 5px;
    display: inline-block;
    position: absolute;
    bottom: 5px;
    right: 0px;
    transition: .4s ease;
}
.blog-card:hover .blog-card-thumbnail img {
	transform: scale(1.1);
}
.blog-card:hover .blog-card-title {
	color: #006;
}
.blog-card:hover .blog-card-excerpt {
	color: #000;
}
.blog-card:hover .blog-card-excerpt::after {
    background: transparent;
	color: #000;
}

/* カード */
.archive-grid {
    padding: 0 10px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
.post-body .archive-grid {
    padding: 0;
    display: block;
}
.cards {
    background: #fff;
    border-radius: 3px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.cards figure {
    position: relative;
    overflow: hidden;
    height: calc((var(--vw) - 20px) / 16 * 9);
}
.cards .body {
    padding: 3px 8px 12px;
}
.cards .title {
    font-size: .9rem;
    margin: 10px auto;
    color: var(--black_2);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.4;
    overflow: hidden;
    transition: .2s ease;
    letter-spacing: -.2px;
}
.cards:hover .title {
    color: var(--theme_main);
}
.cards .cat {
    width: max-content;
    font-size: .8rem;
    background: var(--theme_sub);
    color: #fff;
    border-radius: 3px;
    padding: 8px 10px;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}
.cards .meta {
    margin-top: 5px;
    font-size: .8rem;
    color: var(--theme_sub);
}
.cards .meta time::before,
.cards .meta span::before {
    padding: 2px;
    margin-right: 4px;
}
.cards .meta span {
    margin-left: 12px;
    color: var(--theme_main);
}
.discount .cards figure {
    height: calc((var(--vw) - 52px) / 16 * 9);
}
.post-body .cards {
    width: min(100%, 380px);
}
.post-body .cards figure {
    height: calc(min(var(--vw) - 20px, 380px) / 16 * 9);
}
.post-body .cards .excerpt {
    line-height: 1.2;
    font-size: .8rem;
    color: var(--theme_accent);
    margin: 0 0 5px;
    padding: 0 3px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.remark-bar::after {
    content: "";
    display: block;
    width: 0%;
    height: 3px;
    border-radius: 3px;
    position: absolute;
    bottom: -1px;
    background: var(--theme_sub);
    transition: .2s ease;
}
.remark-bar:hover::after {
    width: 100%;
}
.material-hover {
    box-shadow: 0px 0px 7px 4px #fff0;
    transition: .4s ease;
}
.material-hover:hover {
    box-shadow: 0px 0px 7px 4px #fff;
}
.cover-fit figure img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: .2s ease;
}
.cover-fit:hover figure img {
    transform: translate(-50%, -50%) scale(1.1);
}

/* 404 */
.error404 .post-body p {
    line-height: 2;
}

/************************/
/* sidebar
/************************/

.sidebar {
    display: none;
}

/* バナーウェジット */
.side-banner {
    margin-bottom: 30px;
}
.side-banner li {
    margin-bottom: 10px;
}
.side-banner li:last-of-type {
    margin-bottom: 0;
}

/* 新人・オススメ */
.sidebar .girls-collection {
    grid-template-columns: 1fr;
    gap: 10px;
}
.sidebar .girls-collection a {
    display: flex;
}
.sidebar .girls-collection .collection-image {
    width: calc((var(--vw) - 20px - ((2 - 1) * 10px)) / 2);
    border-radius: 10px 0 0 0;
}
.sidebar .girls-collection .collection-body {
    width: 100%;
    height: 100%;
    flex: 1;
}
.sidebar .girls-collection .name {
    font-size: 1rem;
    margin-top: 5px;
}
.sidebar .girls-collection .comment {
    width: 100%;
    margin-top: 10px;
    padding: 0 8px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
}

/************************/
/* footer
/************************/

/* マップ */
.footer-contents .access {
    background: var(--theme_transparent);
    color: var(--white_1);
    font-size: .9rem;
    display: flex;
    flex-flow: column;
}
.footer-contents .address,
.footer-contents .google {
	width: 100%;
    height: 400px;
    margin: 0 auto;
    display: block;
    flex-grow: 1;
    position: relative;
    cursor: pointer;
}
.footer-contents .address {
    padding: 20px;
    height: auto;
    font-style: normal;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}
.footer-contents .address h3 {
    margin-bottom: 5px;
    font-size: 1.2rem;
}
.footer-contents .address h3:last-of-type {
    margin-top: 1rem;
}
.footer-contents .google svg {
    width: 120px;
    height: 120px;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    fill: var(--theme_main);
    animation: tapHere 1.6s ease-in infinite;
}
@keyframes tapHere {
    0% { transform: translate(-1px,-1px); }
    60% { transform: translate(1px,2px) scale(.98); fill: var(--theme_sub) }
    100% { transform: translate(-1px,-1px); }
}
.footer-contents .google img {
    height: 100%;
}

/*  */
.footer-contents .shop-navi {
	width: 80%;
    margin: 20px auto;
    padding: 2%;
    background: #00bcd4;
    border-radius: 40px;
    position: relative;
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 5px;
    align-items: center;
    box-sizing: border-box;
	text-decoration: none;
}
.footer-contents .shop-navi > img {
    width: 26px;
    height: 26px;
    margin: 0 auto;
    vertical-align: middle;
    border-radius: 50%;
}
.footer-contents .shop-navi > span {
	color: #fff;
	font-size: 16px;
    display: inline-block;
    vertical-align: middle;
}
.footer-contents .shop-navi > span::after {
    content: ">";
    position: absolute;
    right: 5%;
}

/* コンセプト */
.concept {
    width: min(100%, 960px);
    margin: 0 auto;
    padding: 0 10px;
    font-size: .8rem;
}

/* ボトムコンテンツ */
.bottom-contents {
    background: var(--theme_transparent);
    padding-top: 45px;
    position: relative;
    margin-top: 60px;
}
.bottom-contents::before {
    content: "";
    position: absolute;
    top: -50px;
    border-style: solid;
    border-width: 0 50px 50px 50px;
    border-color: transparent transparent var(--theme_transparent) transparent;
    left: 50%;
    transform: translateX(-50%);
}
.bottom-contents .footer-inner {
    position: relative;
}

/* バナーリンク */
.grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.grid li {
    width: 100%;
    height: calc(var(--vw) / 2 / 16 * 9);
}
.grid li img {
    height: 100%;
}
.flat-banner.grid {
    padding: 0 10px;
}
.flat-banner.grid li {
    height: calc((var(--vw) - 20px - (10px * 1)) / 2 / 16 * 9);
}

/* フッターナビゲーション */
.footer-nav {
    margin: 0px auto 20px;
    padding: 10px;
    border-top: 1px solid var(--white_3);
    border-bottom: 1px solid var(--white_3);
    font-size: .8rem;
    display: flex;
    align-items: center;
    flex-flow: column;
    gap: 10px 0;
}
.footer-nav > figure {
    flex: 100%;
}
.footer-nav > figure span {
    display: inline-block;
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
    color: var(--theme_main);
}
.footer-nav .menu {
    text-align: right;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px 0;
}
.footer-nav a {
    padding: 0 5px;
    border-right: 1px dotted var(--white_2);
    color: var(--theme_accent);
    display: block;
    transition: color .4s ease;
}
.footer-nav li:last-of-type a {
    border: none;
}
.footer-nav a:hover {
    color: var(--theme_translucent);
}

/* ボトムナビゲーション */
.scroll .footer-navigation {
    padding-bottom: calc(env(safe-area-inset-bottom) + 70px);
    position: relative;
}
.footer-navigation .bottom-navi {
	width: 100%;
    margin: 0 auto;
    color: var(--theme_transparent);
	position: fixed;
    left: 0;
	bottom: 0;
    z-index: 10;
	text-align: center;
    transform: translateY(100%);
}
.footer-navigation .bottom-navi a::before {
    height: 46px;
    font-size: 2.4rem;
    line-height: 46px;
}
.footer-navigation .bottom-navi span {
	font-size: 14px;
    line-height: 1;
}
.footer-navigation .bottom-navi .bottom-menu {
    height: 70px;
    color: var(--white_0);
    background: var(--gradation_color_4);
    text-shadow: -1px -1px 0px #fff3, 1px 1px 1px #000;
	display: grid;
	grid-template-columns: 30% 1fr;
}
.footer-navigation .bottom-navi .bottom-menu li {
    padding: 5px;
    position: relative;
}
.footer-navigation .bottom-navi .bottom-menu li:nth-of-type(2) {
    padding: 5px 10px 5px 0;
}
.footer-navigation .bottom-navi .bottom-menu a {
    height: 60px;
    text-decoration: none;
    display: flex;
	flex-flow: column;
}
.footer-navigation .bottom-navi .bottom-menu .btn-def {
    width: auto;
    margin: 0 auto;
    text-shadow: none;
    flex-flow: row;
}
.footer-navigation .bottom-navi .bottom-menu .btn-def span {
    line-height: 1.2;
}
.footer-navigation .bottom-navi .bottom-menu .btn-def strong {
    display: block;
    font-size: 1.2rem;
    letter-spacing: 1px;
}
.scroll:not(.active) .footer-navigation .bottom-navi {
    transition: transform .8s ease;
    transform: translateY(0%);
}

/* コピーライト */
.copyright {
    color: var(--theme_main);
    font-size: 12px;
    line-height: 2;
    text-align: center;
}

/* トップへ戻るボタン */
.page-top {
    width: 50px;
    height: 50px;
    color: var(--theme_transparent);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -70px;
    left: 50%;
    box-shadow: 3px 2px 3px var(--black_3);
    z-index: 10;
    background: var(--gradation_color_13);
    border-radius: 3px;
    transform: translateX(-50%) rotate(45deg);
    transition: .4s ease;
}
.page-top::before {
    transform: rotate(-45deg);
    font-size: 2rem;
}
.page-top:hover {
	opacity: .6;
}

/* ポップアップ */
.popup {
    position: fixed;
    background: #fff9;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 1s, visibility 0s ease 1s;
    opacity: 0;
    visibility: hidden;
}
.popup.is-show {
    transition-delay: 0s;
    opacity: 1;
    visibility: visible;
}
.popup .popup-inner {
    margin: 0 10px;
    padding: 10px;
    background: #fff;
    color: #fff;
    border-radius: 10px;
    font-weight: bold;
    text-align: center;
    display: none;
}
.popup .popup-inner.tel {
    background: #99f;
}
.popup .popup-inner.line {
    background: #0b0;
}
.popup .popup-inner.mail {
    background: #f58;
}
.popup .popup-inner.is-show {
    display: block;
}
.popup .popup-inner p {
    width: 80%;
    margin: 0 auto;
}
.popup .popup-anchor {
    padding: 20px 0;
    display: flex;
    justify-content: center;
    position: relative;
}
.popup .popup-anchor a {
    width: 30%;
    margin: 0 5px;
    padding: 5px 0px;
    border: 1px solid #ccc;
    border-radius: 5px;
    text-decoration: none;
    display: block;
}
.popup .popup-anchor a.close-popup {
    width: 2rem;
    height: 2rem;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -30%;
    right: 0;
}
.popup .line .popup-anchor a:nth-child(2) {
    padding: 0;
}
.popup .line .popup-anchor a:nth-child(2) img {
    width: 100%;
    height: 100%;
}
.popup .howto ol {
    padding: 10px 15px 0;
    font-size: .875rem;
    text-align: justify;
}
.popup .howto p {
    color: #ddd;
    font-size: .875rem;
    font-weight: bold;
}


/*------------------------------------------------------------ */
/*                                                             */
/* Media queries レスポンシブ スマホ タブレット                     */
/*                                                             */
/*------------------------------------------------------------ */

@media screen and (min-width: 481px) {

    /************************/
	/* header
	/************************/
    .header-bar .header-inner {
        padding: 0;
    }

    /************************/
	/* main
	/************************/

    /* ヘッダースライダー */
    .slider-banner .slick-prev,
    .slider-banner .slick-next {
        width: 30px;
        height: 30px;
    }
    .slider-banner .slick-prev::before,
    .slider-banner .slick-next::before {
        font-size: 30px;
    }
    .slider-banner .slick-prev {
        left: 20px;
    }
    .slider-banner .slick-next {
        right: 20px;
	}

    /* ガールスライダー */
    .slider-girl .slick-track {
        grid-template-columns: repeat(auto-fit, calc((var(--vw) - 20px - 20px) / 3));
    }
    .slider-girl .collection-list .collection-image {
        width: calc((var(--vw) - 20px - (10px * (3 - 1))) / 3);
        height: calc((var(--vw) - 20px - (10px * (3 - 1))) / 3 / 3 * 4);
    }

    /* ビデオスライダー */
    .slider-video .slick-track {
        grid-template-columns: repeat(auto-fit, calc((var(--vw) - 20px - 10px) / 2));
    }

    /* イベントスライダー */
    .slider-event .thumb {
        width: calc(var(--vw) * .6);
        height: calc(var(--vw) * .6 / 16 * 9);
    }

    /* 女の子一覧 */
    .girls-collection {
        grid-template-columns: repeat(auto-fit, calc((var(--vw) - 20px - ((3 - 1) * 10px)) / 3));
    }
    .girls-collection .collection-image {
        height: calc((var(--vw) - 20px - ((3 - 1) * 10px)) / 3 / 3 * 4);
    }

    /* 動画一覧 */
    .archive-grid.video-grid {
        grid-template-columns: repeat(2,1fr);
    }
    .video-playback figure,
    .video-playback iframe {
        width: calc((var(--vw) - 20px - ((2 - 1) * 10px)) / 2);
        height: calc((var(--vw) - 20px - ((2 - 1) * 10px)) / 2 / 16 * 9);
    }

    /* スケジュール */
    #li-for-panel-5,
    #li-for-panel-6,
    #li-for-panel-7 {
        display: list-item;
    }

    /* カード */
    .archive-grid {
        grid-template-columns: repeat(2,1fr);
    }
    .cards figure {
        height: calc((var(--vw) - 20px - ((2 - 1) * 10px)) / 2 / 16 * 9);
    }

    /* システム コンタクト */
    .system .table th,
    .system .table td {
        font-size: 2.5vw;
    }
    .system .option {
        grid-template-columns: repeat(3, 1fr);
    }
    .system .option.cosplay figure {
        height: calc((var(--vw) - 20px - (15px * 3) - (10px * 2)) / 3 / 3 * 4);
    }
    .system.schedule .table th,
    .system.schedule .table td {
        font-size: 2vw;
    }
    .system-inner-title {
        font-size: 1.1rem;
    }
    .system-inner-content {
        font-size: 1.1rem;
    }

    /* アコーディオン */
    .accordion tbody {
        border: 2px solid var(--black_2);
        border-radius: 10px 3px 3px;
        overflow: hidden;
    }
    .accordion tr {
        border-width: 0 0 2px;
        border-radius: 0;
        display: grid;
        grid-template-columns: 2rem repeat(4, 1fr);
    }
    .accordion tr:last-of-type {
        border: none;
    }
    .accordion .head {
        background: var(--theme_transparent);
        color: var(--black_2);
        display: grid;
    }
    .accordion th,
    .accordion td {
        width: 100%;
        height: 100%;
        padding: 3px;
        font-size: .9rem;
        border-right: 2px solid var(--black_2);
        word-break: break-all;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .accordion th:last-of-type,
    .accordion td:last-of-type {
        border: none;
    }
    .accordion td:first-of-type {
        width: 100%;
        border-width: 2px;
        border-bottom: none;
        background: transparent;
        display: flex;
        position: static;
    }
    .accordion td:nth-of-type(2) {
        border-bottom: none;
        color: inherit;
        background: transparent;
        display: flex;
        padding: 3px;
        cursor: default;
    }
    .accordion td:nth-of-type(2)::before,
    .accordion td:nth-of-type(2)::after {
        content: none;
    }
    .accordion td:not(:first-of-type):not(:nth-of-type(2)) {
        padding: 3px;
        line-height: 1.4;
        visibility: visible;
        opacity: 1;
    }
    .accordion .is-open td:not(:first-of-type):not(:nth-of-type(2)) {
        border-bottom-width: 0;
    }

    /************************/
	/* single
	/************************/

    /************************/
	/* sidebar
	/************************/

    /* 新人・オススメ */
    .sidebar .girls-collection .collection-image {
        width: calc((var(--vw) - 20px - ((3 - 1) * 10px)) / 3);
    }

    /************************/
	/* footer
	/************************/

}


/*------------------------------------------------------------ */
/*                                                             */
/* Media queries レスポンシブ PC                                 */
/*                                                             */
/*------------------------------------------------------------ */

@media screen and (min-width: 897px) {

    .header-inner,
    .footer-inner {
        padding: 0 10px;
    }

	/************************/
	/* header
	/************************/
    .header-bar {
        height: max-content;
    }
    .header-bar .header-inner {
        align-items: center;
        justify-content: space-evenly;
        flex-wrap: nowrap;
    }
    .header-title {
        height: 200px;
    }
    .header-bar .info {
        text-align: right;
        background: 0 0;
        width: auto;
        height: auto;
        margin-bottom: 10px;
        display: block;
        text-shadow: 1px 1px #fff, 1px -1px #fff, -1px 1px #fff, -1px -1px #fff, 1px 0px #fff, 0px 1px #fff, -1px 0px #fff, 0px -1px #fff;
        align-self: flex-end;
    }
    .header-bar .info address {
        font-size: 46px;
        transform: scaleY(.9);
        width: max-content;
        border-width: 3px;
    }
    .header-bar .info p {
        padding: 0;
        line-height: 1.2;
    }

    /* ナビゲーション -トリガー- */
	.menu-trigger {
		display: none;
	}
    /* ナビゲーション -コンテナ- */
    .nav-container {
        width: 100%;
        padding: 0;
        background: var(--gradation_color_2);
        background-repeat: repeat-x;
        background-position: top center;
        box-shadow: var(--shadow_2);
        display: block;
        position: relative;
        top: 0;
        left: 0;
        z-index: 1001;
        opacity: 1;
        visibility: visible;
        transform: translateX(0%);
        transition: none;
    }
    .nav-container .global-nav-menu {
        width: min(100%, 1200px);
        margin: 0 auto;
        padding: 8px 0;
        display: flex;
        justify-content: space-around;
        flex-wrap: nowrap;
        gap: 0;
    }
    .nav-container .global-nav-menu li {
        width: 100%;
        padding-left: 10px;
        padding-right: 10px;
        border-right: 1px dotted var(--theme_transparent);
    }
    .content-nav .global-nav-menu li {
        width: calc((100% - 30px) / 4);
    }
    .nav-container .global-nav-menu li:last-of-type {
        border-right: none;
    }
    .nav-container .global-nav-menu .drawer {
        display: none;
    }
    .nav-container .global-nav-menu a {
        color: var(--theme_accent);
        font-size: 1.1vw;
        background: transparent;
        box-shadow: none;
        top: 0;
        padding: 0;
        line-height: 1.4;
        text-shadow: none;
    }
    .nav-container .global-nav-menu a::before {
        font-size: 1.4vw;
        color: var(--theme_main);
    }
    .global-nav-menu li:nth-of-type(2) a::before,
    .global-nav-menu li:nth-of-type(3) a::before,
    .global-nav-menu li:nth-of-type(4) a::before,
    .global-nav-menu li:nth-of-type(5) a::before {
        display: block;
    }
    .nav-container .global-nav-menu a:hover,
    .nav-container .global-nav-menu a:hover::before {
        color: var(--theme_sub);
    }
    .nav-container .global-nav-menu a::after {
        content: "";
        background: var(--theme_sub);
        height: 1px;
        width: 0%;
        display: block;
        position: absolute;
        bottom: -5px;
        transition: .3s ease;
    }
    .nav-container .global-nav-menu a:hover::after,
    .nav-container .current_page_item a::after {
        width: 100%;
    }
    .global-nav-menu span {
        display: contents;
    }
    .content-nav .global-nav-menu {
        padding: 0;
    }

    /* sns */
    .nav-container .sns-icons {
        position: absolute;
        top: -176px;
        right: 0;
    }
    .nav-container .sns-icons.-shop {
        margin: 0 20px 0 0;
        justify-content: flex-end;
    }
    .post-body .sns-icons {
        padding: 0 10px;
    }

	/************************/
	/* main
	/************************/

    .main header {
        grid-column: 1/3;
        grid-row: 1/2;
    }
    .feature,
    .sidebar {
        grid-row: 2/3 !important;
    }
    
    /* front */
    .home .nav-container {
        display: none;
    }
    .ordinance p {
        font-size: 2.8vw;
    }

    /* ヘッダースライダー */
    .slider-banner .slick-prev,
    .slider-banner .slick-next {
        width: 40px;
        height: 40px;
    }
    .slider-banner .slick-prev::before,
    .slider-banner .slick-next::before {
        font-size: 40px;
    }
    .slider-banner .slick-prev {
        left: 30px;
    }
    .slider-banner .slick-next {
        right: 30px;
    }
    .slider-banner.-thumb {
        padding: 5px;
        border-width: 5px;
        grid-template-columns: repeat(auto-fit, calc((min(var(--vw), 1920px) - 20px - ((8 - 1) * 10px)) / 8));
        gap: 0 10px;
    }
    .slider-banner.-thumb figure {
        height: calc((min(var(--vw), 1920px) - 20px - ((8 - 1) * 10px)) / 8 / 16 * 9);
        box-shadow: 0px 0px 2px 3px #fff0;
    }
    .slider-banner.-thumb .thumbnail-current {
        box-shadow: 0px 0px 2px 3px var(--theme_main);
    }

    /* ガールスライダー */
    .slider-girl .slick-track {
        grid-template-columns: repeat(auto-fit, calc((var(--vw) - 20px - 30px) / 4));
    }
    .slider-girl .collection-list .collection-image {
        width: calc((min(var(--vw), 1200px) - 20px - var(--deducted_width) - (10px * (4 - 1))) / 4);
        height: calc((min(var(--vw), 1200px) - 20px - var(--deducted_width) - (10px * (4 - 1))) / 4 / 3 * 4);
    }

    /* プロフィールスライダー */
    .slider-girls .slick-slide {
        height: calc((min(var(--vw), 1200px) - var(--deducted_width)) * .6 / 3 * 4);
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .slider-girls .slick-slide a {
        height: 100%;
    }
    .slider-girls .slick-slide img {
        width: 100%;
        opacity: .8;
        transition: .3s ease;
        transform: scale(.8);
        filter: blur(3px);
    }
    .slider-girls .slick-slide.slick-current img,
    .slider-girls .slick-slide.is-active-next img {
        width: auto;
        opacity: 1;
        transform: scale(1);
        filter: blur(0px);
    }

    /* ビデオスライダー */
    .slider-video .slick-track {
        grid-template-columns: repeat(auto-fit, calc((var(--vw) - 20px - 20px) / 3));
    }

    /* イベントスライダー */
    .slider-event .thumb {
        width: calc((min(var(--vw), 1200px) - var(--deducted_width)) * .6);
        height: calc((min(var(--vw), 1200px) - var(--deducted_width)) * .6 / 16 * 9);
    }

    /* 女の子一覧 */
    .girls-collection {
        grid-template-columns: repeat(auto-fit, calc((var(--vw) - var(--deducted_width) - 20px - ((3 - 1) * 10px)) / 3));
    }
    .girls-collection .collection-image {
        height: calc((min(var(--vw), 1200px) - var(--deducted_width) - 20px - ((3 - 1) * 10px)) / 3 / 3 * 4);
    }

    /* 動画一覧 */
    .video-playback figure,
    .video-playback iframe {
        width: calc((min(var(--vw), 1200px) - var(--deducted_width) - ((2 - 1) * 10px)) / 2);
        height: calc((min(var(--vw), 1200px) - var(--deducted_width) - ((2 - 1) * 10px)) / 2 / 16 * 9);
    }

    .textarea .description {
        font-size: 14px;
    }

    /* 求人 */
    .grid-table .job {
        display: grid;
        grid-template-columns: 200px 1fr;
        background: var(--yellow_3);
    }
    .grid-table dt,
    .grid-table dd {
        padding: 10px 20px;
    }
    .grid-table dt {
        margin-left: 0;
        background: var(--black_4);
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .grid-table dd {
        align-self: center;
    }
    .flex-keywords {
        margin: 0 auto 20px;
    }

    /* システム コンタクト */
    .system .table th,
    .system .table td {
        font-size: 1.8vw;
    }
    .system .option.cosplay figure {
        height: calc((var(--vw) - 20px - var(--deducted_width) - (15px * 3) - (10px * 2)) / 3 / 3 * 4);
    }
    .system.schedule .table th,
    .system.schedule .table td {
        font-size: 1.2vw;
    }
    .system-box {
        width: 100%;
    }

    /* カード */
    .cards figure {
        height: calc((min(var(--vw), 1200px) - 20px - var(--deducted_width) - (10px * 1)) / 2 / 16 * 9);
    }

    /************************/
	/* single
	/************************/

    /* アイキャッチ */
    .post-image {
        height: min(var(--vw) / 16 * 9, 540px);
    }
    .post-image img {
        height: 100%;
        object-fit: contain;
    }

    /* 記事 -動画- */
    .video-playback.-s figure,
    .video-playback.-s iframe {
        width: calc(min(var(--vw), 1200px) - var(--deducted_width));
        height: calc((min(var(--vw), 1200px) - var(--deducted_width)) / 16 * 9);
    }

	/************************/
	/* sidebar
    /************************/

    .sidebar .content ul {
        height: min(var(--vw), 640px);
        overflow-y: scroll;
    }
    .sidebar .content ul::-webkit-scrollbar {
        display: none;
    }

    /* 記事一覧 */
    .sidebar .posts-flex a {
        display: block;
    }
    .sidebar .posts-flex .thumb {
        width: 100%;
        height: calc(var(--aside_width) / 16 * 9);
    }
    .sidebar .posts-flex .body {
        padding: 5px;
    }
    .sidebar .posts-flex .title,
    .sidebar .posts-flex .excerpt {
        margin-top: 5px;
    }

    /* 新人・オススメ */
    .sidebar .girls-collection .collection-image {
        height: 160px;
        width: 120px;
    }
    .sidebar .girls-collection .comment {
        -webkit-line-clamp: 4;
    }

    /* ボタン */
	.btn-instagram,
	.btn-twitter {
		width: 100%;
	}

	/************************/
	/* footer
	/************************/
    .footer-contents .access {
        flex-flow: row;
    }

    /* バナーリンク */
    .grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .grid li {
        height: calc((min(var(--vw), 1200px) - 20px) / 4 / 16 * 9);
    }
    .flat-banner.grid {
        padding: 0;
    }
    .flat-banner.grid li {
        height: calc((min(var(--vw), 1200px) - 20px - (10px * 3)) / 4 / 16 * 9);
    }

    /* フッターナビゲーション */
    .footer-nav {
        flex-flow: row;
    }
    .footer-nav .menu {
        justify-content: flex-end;
    }
    .footer-nav > figure {
        flex: auto;
        margin-right: 20px;
    }

    .page-top {
        bottom: 5px;
    }
    .footer-navigation {
        display: none;
    } 

}


@media screen and (min-width: 1200px) {

    .nav-container .global-nav-menu a {
        font-size: .8rem;
    }
    .nav-container .global-nav-menu li:first-of-type {
        border-left: 1px dotted var(--theme_transparent);
    }
    .nav-container .global-nav-menu li:last-of-type {
        border-right: 1px dotted var(--theme_transparent);
    }
    .nav-container .global-nav-menu a::before {
        font-size: 1rem;
    }

    /* sns */
    .nav-container .sns-icons {
        right: calc((var(--vw) - 1200px) / 2);
    }

    .ordinance h2 {
        font-size: 42px;
    }
    .ordinance p {
        font-size: 34px;
    }

    /* ガールスライダー */
    .slider-girl .slick-track {
        grid-template-columns: repeat(auto-fit, calc((1200px - 20px - 30px) / 4));
    }

    /* ビデオスライダー */
    .slider-video .slick-track {
        grid-template-columns: repeat(auto-fit, calc((1200px - 20px - 20px) / 3));
    }

    /* 女の子一覧 */
    .girls-collection {
        grid-template-columns: repeat(auto-fit, calc((1200px - var(--deducted_width) - 20px - ((4 - 1) * 10px)) / 4));
    }
    .girls-collection .collection-image {
        height: calc((1200px - var(--deducted_width) - 20px - ((4 - 1) * 10px)) / 4 / 3 * 4);
    }

    /* システム コンタクト */
    .system .table th,
    .system .table td {
        font-size: 1.3rem;
    }
    .system .option {
        grid-template-columns: repeat(4, 1fr);
    }
    .system.schedule .table th,
    .system.schedule .table td {
        font-size: 1.1rem;
    }
    .system .option.cosplay figure {
        height: calc((1200px - 20px - var(--deducted_width) - (15px * 4) - (10px * 3)) / 4 / 3 * 4);
    }

}