

/* 画面幅が768px以上のPC向け */
@media screen and (min-width: 768px) {
    .sp {
        display: none!important;
    }
}
/* 画面幅が768px以下のSP向け */
@media screen and (max-width: 768px) {
    .pc {
        display: none!important;
    }
}
  

html {
    scroll-behavior: smooth;
    /* scroll-padding-top: 100px; */
}

* {
    box-sizing: border-box;
    font-family: sans-serif;
}


body {
    font-family: sans-serif;
}

ul, ol {
    list-style: none; /* 黒丸や数字などを消す */
    padding: 0;  /* 左の余白も消す（必要に応じて） */
}

li::marker {
content: none; /* 念のため marker 自体も無効化 */
}

#top_wrapper {
    overflow-x: hidden;
    width: 100%;
}

a {
    color: #fff;
    text-decoration: none;
}

img {
    width: 100%;
    vertical-align: top;
}

video {
    width: 100%;
}


/* 外国人 */


/* acc */
/* メニュー開閉ボタン */
.open_btn, .close_btn {
    position: fixed;
    top: 0.6vw;
    right: 1vw;
    width: 4vw;
    height: 4vw;
    font-size: 2vw;
    color: #fff;
    background: #C9971E;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8.7px;
    z-index: 1000;
}


#over_lay,
.over_lay {
    display: none;
    background: rgba(0, 0, 0, 0.7);
    height: 100vh;
    width: 100vw;
        z-index: 3;
    position: fixed;
    opacity: 0.5;
}

/* common */
header {
    position: sticky;
    top: 0;
    z-index: 4;
}
.breadCrumbList a:focus, .breadCrumbList a:visited, .breadCrumbList a:link {
    color: #000;
}
header .global_menu {
    display: grid;
    grid-template-columns: 0.7fr 3.2fr 0.15fr;
    gap: 1vw;
    background: #3F1819;
    padding: 1.5vw 1.7vw 1.5vw 5.1vw;
    box-sizing: border-box;
    align-items: end;
    gap: 1vw;
    position: sticky;
    top: 0;
    box-shadow: 0px 0px 15px -5px #777777;
}
header .global_menu .open_time {
    font-size: 1.2vw;
    letter-spacing: 1px;
    font-weight: bold;
    color: #808094;
}

.relative{
    position:relative;
}
.contents h2 {
    color: #fff;
    font-family: serif;
    font-weight: bold;
    font-size: 3.1vw;
    background-image: url(../img/side_bg.webp);
    padding: 1vw;
    text-align: center;
    letter-spacing: 1px;
}

h2.mail_mv {
    position: static;
    padding: 0;
}
.contents h2 span {
    display: block;
    font-size: 1.05vw;
    margin-top: 0.3vw;
    font-family: serif;
}

/* hover_anime */
.hover_anime_a {
    transition: background-color 0.3s ease, transform 0.3s ease!important;
}

.hover_anime_a:hover {
    background-color: #fff!important;
    color:#F85991!important;
    transform: scale(1.03)!important;
}

.hover_anime_b {
    transition: background-color 0.3s ease, transform 0.3s ease!important;
}

.hover_bnime_b:hover {
    background-color: orange!important;
    color:#3F7EFF!important;
    border:1px solid #3F7EFF!important;
    transform: scale(1.03)!important;
}

/* --- 左カラム --- */
.top_left_column {
    position: sticky;
    top: 0;
    left: 0;
    width: 23vw;
    height: 100vh;
    background-image: url(../img/side_bg.webp);
    padding: 1vw;
}
section.top_left_column.acc.ctr {
    display: none;
}
section.top_left_column.acc.ctr.active {
    display: block !important;
    /* left: -100vw; */
    z-index: 3;
    position: fixed;
}



/* ロゴ */
h2.main_logo {
    width: 80%;
    margin: 0 auto 0.7vw;
    position: relative;
}
.top_left_column p.lang_icon {
    position: absolute;
    top: 0.5vw;
    font-size: 1.6vw;
    right: 0.5vw;
    border: 1px solid #ffffff;
    border-radius: 10px;
    padding: 0.4vw;
    padding: 0.3vw 0.7vw;
    background: #93731e;
    cursor: pointer;
}
.top_left_column p.lang_icon svg {
    color: #ffffff;
}
.top_left_column p.lang_icon::after {
    content: 'LANG';
    left: 7px;
    top: 0.6vw;
    display: block;
    text-align: center;
    font-size: 0.6vw;
    color: #ffffff;
}

/* メインメニュー */
ul.top_menu {
    width: 90%;
    margin: 0 auto 1.3vw;
    text-align: center;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5vw;
}

.top_menu li {
    background: #797979;
    border-radius: 1.5vw;
    font-size: 0.6vw;
    font-weight: 600;
}
.top_menu li:hover {
    opacity: 0.7;
    transition: .5s;
}

.top_menu li a {
    width: 100%;
    display: block;
    padding: 0.6vw 0;
}

.top_menu li.online_reserve_link {
    grid-column: 1/3;
    background: #93731e;
}


/* サブメニュー */
dl.top_sub_menu {
    width: 90%;
    margin: 0 auto 1vw;
    color: #fff;
    position: relative;
    border: 1px solid;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 1.5vw 0.8vw 0.9vw;
    font-size: 0.7vw;
    font-weight: 600;
    gap: 0.5vw;
}

.top_sub_menu dt {
    width: 33.9%;
    position: absolute;
    background: #320001;
    top: -4.8%;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    font-size: 0.9vw;
}

.top_sub_menu a {
    color: #fff !important;
}

.top_sub_menu dd:hover {
    opacity: 0.7;
    transition: .5s;
}

/* メディアリンク */
ul.media_link_area {
    width: 66%;
    margin: 0 auto 0.6vw;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5vw;
}
div.credit_btn {
    width: 82%;
    margin: 0 auto 0.6vw;
    text-align: center;
    background: #797979;
    color: #fff;
    padding: 0.4vw 0 0.5vw;
    font-size: 0.7vw;
    border-radius: 10vw;
    cursor: pointer;
}

ul.media_link_area li :hover {
    opacity: 0.7;
    transition: .5s;
}

div.credit_btn :hover {
    opacity: 0.7;
    transition: .5s;
}


/* トップへ戻る */
.return_top {
    width: 90%;
    margin: auto;
    text-align: center;
    font-size: 0.8vw;
    font-weight: 600;
    border: solid 2px #fff;
    padding: 0.7vw;
}

.return_top a {
    color: #fff !important;
}

/* 右カラム */

div#main_visual {
}

.top_right_column {
    width: 76.2vw;
    margin: -100vh 0 0 auto;
}

.top_right_column h1 {
    background: #ffe0ec;
    color: #cb1b63;
    text-align: center;
    font-size: 13px;
    padding: 5px;
}

/* --- イベント・新着情報ブロック --- */
#news_pickup {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    background: #5c2020;
    padding: 2vw 3vw;
    gap: 2vw;
}

/* 待姫エリア */
#news_pickup #pickup {
    width: 38.2vw;
    background: #000;
}

#news_pickup #pickup h3 {
    margin-bottom: 1vw;
}

#news_pickup #pickup ul li {
    border-radius: 20px;
    box-shadow: 0px 0px 15px -5px #777777;
    background: #240c0c;
    text-align: center;
    color: #fff;
}

/* 画像サムネイル */
#news_pickup #pickup ul li img._thumnail {
    border-radius: 20px 20px 0 0;
}

/* データエリア */
#news_pickup #pickup ul li .castPanel {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 2vw;
}

#news_pickup #pickup ul li .castPanel .castPanel__datas {
    color: #3f3f3f;
    letter-spacing: 1px;
}

/* 名前 */
#news_pickup #pickup ul li .castPanel .castPanel__datas ._name {
    text-align: center;
    font-size: 2vw;
    font-weight: bold;
    margin-bottom: 1vw;
    color: #F76697;
}

#news_pickup #pickup ul li .castPanel .castPanel__datas ._name ._age {
    font-size: 1.1vw;
    letter-spacing: 0.06vw;
    margin-left: 0.6vw;
}

/* シフト時間 */
#news_pickup #pickup ul li .castPanel .castPanel__datas ._shiftTime {
    text-align: center;
    font-size: 1vw;
    border: 1px solid #F76697;
    padding: 0.5vw;
    font-weight: bold;
    margin: 0 auto 0.6vw;
    border-radius: 17px;
    width: 11vw;
    color: #F76697;
    letter-spacing: 1px;
}

/* スリーサイズ */
#news_pickup #pickup ul li .castPanel .castPanel__datas ._size {
    text-align: center;
    font-weight: bold;
    font-size: 1vw;
    letter-spacing: 1px;
    margin-bottom: 0.8vw;
    color: #F76697;
}

/* アイコン（写メ・動画） */
#news_pickup #pickup ul li .castPanel .castPanel__datas ._shame-video {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5vw;
    width: 11vw;
    margin: 0 auto 1vw;
}

#news_pickup #pickup ul li .castPanel .castPanel__datas ._shame-video ._video_icom {
    background: #FFA85C;
    color: #fff;
    text-align: center;
    padding: 0.3vw 0;
    font-size: 0.7vw;
    border-radius: 0.3vw;
}

#news_pickup #pickup ul li .castPanel .castPanel__datas ._shame-video ._shame_icom {
    background: #31BCFF;
    color: #fff;
    text-align: center;
    padding: 0.3vw 0;
    font-size: 0.7vw;
    border-radius: 0.3vw;
}

/* コメント */
#news_pickup #pickup ul li .castPanel .castPanel__datas ._comment {
    margin-bottom: 1vw;
    font-size: 0.7vw;
    line-height: 1.7;
}

/* 詳細ボタン */
#news_pickup #pickup .castPanel button {
    background: #F76697;
    border: none;
    width: 100%;
    color: #fff;
    padding: 0.3vw 0 0.4vw;
    font-size: 0.9vw;
    border-radius: 5px;
    cursor: pointer;
}

/* --- 新着情報 --- */
#news_pickup #news h3 {
    background: none;
    padding: 0;
    color: #fff;
    font-size: 1vw;
    font-weight: bold;
    letter-spacing: 1px;
    border-radius: 10px 10px 0 0;
    position: relative;
}

#news_pickup #news .news_area {
    background: #040404;
    height:32.6vw;
    overflow-y: scroll;
    /* border: 3px solid #F782A9;
    margin: -0.2vw 0.1vw; */
}

#news_pickup #news h3 em {
    position: absolute;
    top: -0.4vw;
    font-size: 1.5vw;
    color: white;
    text-shadow: -3px -3px 0 #F76697, 3px -3px 0 #F76697, -3px 3px 0 #F76697, 3px 3px 0 #F76697;
}

#news_pickup #news h3 span {
    position: absolute;
    right: 1vw;
    top: 0.3vw;
}
/* --- 新人紹介エリア（#new_cast） --- */
#new_cast {
    background: #fff;
    padding-bottom: 3.3vw;
    background-image: url(../img/bg_System.webp);
    background-attachment: fixed;
    background-size: contain;
}

#new_cast h3 {
    display: grid;
    grid-template-columns: 3.8fr 0.9fr;
    gap: 2.6vw;
    align-items: center;
    padding: 1.5vw 2.3vw;
}

#new_cast h3 span {
    font-size: 1.3vw;
    color: #3C8813;
    font-weight: 600;
}

#new_cast h3 button {
    background: #387911;
    border: none;
    color: #fff;
    border-radius: 0.8vw;
    padding: 0.6vw;
    font-size: 1vw;
    cursor: pointer;
    text-align: center;
    width: 11.7vw;
}

/* 新人紹介リスト */
#new_cast li.top_newface {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 1vw;
    padding: 1vw;
    background: #000;
    width: 33.5vw;
    color: #fff;
}

#new_cast li.top_newface img._thumnail {
    border-radius: 0;
}

#new_cast li.top_newface ._info {
    padding: 0;
    text-align: center;
}

#new_cast button.read_more {
    background: green;
    padding: 2vw;
    margin: 3vw auto;
    display: block;
    width: 52vw;
    text-align: center;
    border-radius: 20px;
    /* margin: 1vw 0; */
    font-size: 4.9vw;
    font-family: serif;
}

/* 入店日 */
#new_cast li.top_newface ._enter_day {
    background: #387911;
    color: #fafc03;
    border-radius: 30px;
    font-size: 1vw;
    padding: 0.4vw 0;
    margin: 0 auto 0.6vw;
}

/* 名前 */
#new_cast li.top_newface ._name {
    color: #fff;
    padding-bottom: 0;
    border: none;
    margin-bottom: 0.6vw;
    
}

#new_cast li.top_newface ._name ._name_text {
    font-size: 1.6vw;
    font-family: serif;
}

#new_cast li.top_newface ._name ._age {
    font-size: 1.2vw;
    font-family: serif;
}

/* シフト時間 */
#new_cast li.top_newface ._shift {
    font-size: 1vw;
    width: 10vw;
    padding: 0.2vw 0;
    border-radius: 0.7vw;
    margin-bottom: 0.5vw;
    position: initial;
    font-family: serif;
    font-weight: 700;
}

/* サイズ */
#new_cast li.top_newface ._size {
    font-size: 0.8vw;
    color: #fff;
    margin-bottom: 0.7vw;
    letter-spacing: 2px;
    font-family: serif;
    font-weight: 700;
}

/* アイコン (写メ・動画) */
#new_cast li.top_newface ._icon {
    width: 72%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6vw;
    margin: 0 auto 0.7vw;
    font-size: 0.6vw;
}

#new_cast li.top_newface ._icon p {
    padding: 0.3vw 0;
    border-radius: 10px;
    font-weight: 600;
}

#new_cast li.top_newface ._icon p.movie_on {
    background: #fe8210;
}

#new_cast li.top_newface ._icon p.movie_off {
    background: #D6D2CF;
}

#new_cast li.top_newface ._icon p.syame_on {
    background: #1a89be;
}

#new_cast li.top_newface ._icon p.syame_off {
    background: #D6D2CF;
}

/* コメント */
#new_cast li.top_newface ._comment {
    text-align: left;
    color: #fff !important;
    line-height: 1.4;
    font-size: 0.6vw;
    margin-bottom: 1.1vw;
    height: 8.5vw;
    overflow: hidden;
}

/* 「続きを読む」ボタン */
#new_cast li.top_newface ._info button {
    background: #901817;
    border: none;
    width: 100%;
    color: #fff;
    font-size: 0.8vw;
    padding: 0.4vw 0 0.5vw;
    border-radius: 5px;
}
/* --- グラビアエリア（#gravure） --- */
#gravure {
    display: grid;
    grid-template-columns: 1fr 2.1fr;
    background: #000;
}

/* グラビア タイトル */
#gravure h3 {
    padding: 2vw 2.8vw 0.6vw;
    color: #fff;
    font-family: serif;
    font-weight: bold;
    border-bottom: 1px solid #fff;
    font-size: 2.7vw;
    margin-bottom: 1vw;
}

#gravure h3 span {
    display: block;
    font-size: 1.1vw;
    margin-bottom: 0.1vw;
}

#gravure h3 em {
    font-size: 1.1vw;
}

/* グラビア サムネイルリスト */
#gravure ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.7vw;
    padding: 0 2.2vw;
}
#gravure ul li {
    border-radius: 1vw;
}
#gravure ul li img {
    width: 100%;
}

/* 「もっと見る」アイテム */
li.gravure_last_item a {
    background: #751b1b;
    border-radius: 23px;
    display: grid;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: bold;
    font-size: 0.9vw;
    padding-top: 4vw;
    position: relative;
    cursor:pointer;
    height: 100%;
}

li.gravure_last_item svg {
    font-size: 2vw;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
}

li.gravure_last_item span {
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    top: 8.3vw;
}
/* --- 本日出勤表エリア（#schedule） --- */
#schedule {
    background: #5c2020;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    padding-bottom: 1px;
}

/* 出勤表タイトル */
#schedule h3 {
    text-align: center;
    padding: 2.5vw 0 1vw;
    font-size: 2.5vw;
    font-weight: 500;
    border-bottom: 1px solid #fff;
    width: 54vw;
    margin: 0 auto 1vw;
    color: #fff;
    font-family: serif;
}

#schedule h3 span {
    display: block;
    margin: 0.8vw 0 0.3vw;
    font-size: 0.5em;
    font-family: serif;
}

/* 曜日リスト */
dl.week_list {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.7vw;
    margin: 2vw 11.5vw;
}

dl.week_list dt {
    background: #fff;
    color: #422b33;
    text-align: center;
    padding: 0.5vw 0 0.7vw;
    font-size: 1vw;
    font-weight: 600;
    border-radius: 0.9vw;
    cursor: pointer;
    font-family: serif;
    letter-spacing: 3px;
    font-weight: 900;
}

dl.week_list dt.target_day {
    background: #8a6918;
    color: #fff;
}

/* 出勤キャストグリッド */
#schedule ul.cast_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5vw 0.7vw;
    margin: 0 2.2vw;
}

/* 出勤キャストグリッド */
#schedule_page ul.cast_grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5vw 0.7vw;
    margin: 0 2.2vw;
}

/* 「在籍一覧」「出勤一覧」「新人一覧」ボタンエリア */
.any_cast_button {
    width: 26.6vw;
    margin: 2.4vw auto 3vw;
}

.any_cast_button ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1vw;
}

.any_cast_button li {
    border: 1px solid #fff;
    color: #fff;
    text-align: center;
    padding: 0.6vw 0;
    font-size: 1vw;
    border-radius: 20px;
}
/* --- ランキングエリア（#ranking） --- */
#ranking {
    position: relative;
    padding-bottom: 5vw;
}

/* ランキングタイトル画像 */
#ranking h3 {
    width: 14.1vw;
    padding: 2.8vw 0 1.5vw;
    margin: 0 auto;
}

/* 更新日テキスト */
#ranking h4 {
    text-align: center;
    background: #fff;
    width: 22.7vw;
    margin: 0 auto 1.8vw;
    font-size: 1.0vw;
    padding: 0.3vw 0 0.5vw;
    border-radius: 30px;
    color: #787876;
    letter-spacing: 1px;
}

/* ランキング３つ並べる */
.each_ranking_area {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.4vw;
    width: 66vw;
    margin: 0 auto;
}

/* ランキングボックス共通 */
.each_ranking_area article {
    padding: 1vw;
    text-align: center;
    border-radius: 20px;
    background: #FEF4D1;
    color: #856327;
    width: 32.1vw;
}

/* ランキングタイトル */
.each_ranking_area article h5 {
    color: #B48A06;
    font-size: 2.5vw;
    font-family: serif;
    margin: 0.6vw 0 0.3vw;
    letter-spacing: 2px;
}

/* サブタイトル */
.each_ranking_area article sub {
    color: #B48A06;
    display: block;
    font-size: 0.9vw;
    margin-bottom: 0.9vw;
    font-weight: bold;
}

/* コメントテキスト */
.each_ranking_area article em {
    font-size: 0.9vw;
    letter-spacing: 1px;
    margin-bottom: 1vw;
    display: block;
    margin-top: 1.2vw;
}

/* 👑アイコン */
.each_ranking_area article h5 span {
    display: block;
    font-size: 1.5vw;
    margin: 0.4vw 0 0.6vw;
}

/* 新人ランキング背景 */
.each_ranking_area article:nth-of-type(2) {
    background: #F3F3F3;
}

.each_ranking_area article:nth-of-type(2) sub,
.each_ranking_area article:nth-of-type(2) h5,
.each_ranking_area article:nth-of-type(2) em {
    color: #9B999A;
}

/* アンケートランキング背景 */
.each_ranking_area article:nth-of-type(3) {
    background: #E2F2FF;
}

.each_ranking_area article:nth-of-type(3) sub,
.each_ranking_area article:nth-of-type(3) h5,
.each_ranking_area article:nth-of-type(3) em {
    color: #2C84CB;
}
/* --- 写メ日記・ショート動画エリア（#shame_movie） --- */
#shame_movie {
    display: grid;
    grid-template-columns: 0.55fr 1fr 1fr;
    gap: 1.8vw;
    padding: 3.3vw;
    text-align: center;
    position: relative;
}

/* 写メ日記・ショート動画 共通h3 */
#shame_movie h3 {
    color: #fff3d2;
    font-size: 2.3vw;
    letter-spacing: 0px;
    font-weight: 600;
    margin: 0 auto;
    margin-bottom: 1.4vw;
    display: inline-block;
    font-family: serif;
}

#shame_movie h3 span {
    display: block;
    font-size: 1vw;
    border-top: 2px solid #fff3d2;
    margin-top: 0.6vw;
    padding-top: 0.6vw;
    color: #fff;
    font-weight: 500;
    font-family: serif;
}
           

/* 写メ日記・ショート動画 iframe/videoエリア 共通 */
#shame_movie #shame div.shame_area,
#shame_movie #movie div.movie_area {
    background: #b4b4b4;
    padding: 1vw;
    box-shadow: 0px 0px 15px -5px #777777;
    border-radius: 10px;
}
.pc_top_short_movie.movie_area {
    height: 28.3vw;
    overflow: overlay;
}
.pc_top_short_movie.movie_area ul{
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 5px;
}
.pc_top_short_movie.movie_area ul video {
    height: 15.6vw;
    object-fit: cover;
}
/* 写メ日記 iframe */
#shame_movie #shame div iframe {
    width: 100%;
    height: 26.3vw;
}

/* ショート動画のリスト */
/* #shame_movie #movie ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8vw;
    overflow-y: scroll;
    height: 26.4vw;
} */

/* ショート動画の1つのボックス */
#shame_movie #movie ul li {
    border: 3px solid #EE92A7;
    box-sizing: border-box;
}

/* ショート動画のタイトル */
#shame_movie #movie ul li title {
    font-size: 0.7vw;
    display: block;
    text-align: center;
    color: #FE3F9F;
    font-weight: bold;
    margin: 0.4vw 0;
}

/* ショート動画の再生回数 */
#shame_movie #movie ul li viewcount {
    text-align: center;
    display: block;
    margin-bottom: 0.5vw;
}

/* ショート動画のプロフィールボタン */
#shame_movie #movie ul li a {
    background: #FE3F9F;
    display: block;
    border-radius: 4px;
    padding: 0.4vw 0;
    font-size: 0.7vw;
    margin: 0 0.5vw 0.4vw;
}
@media(min-width:768px) {
    div#shame {
        grid-column: 2/3;
    }
    div#movie {
        grid-column: 3/4;
    }
}
/* --- 料金システムエリア (#system) --- */
#system {
    padding: 2vw 5.6vw;
    background-image: url(../img/bg_System.webp);
    background-attachment: fixed;
    color: #fff;
    background-size: cover;
}

/* システムエリアタイトル */
#system h3 {
    text-align: center;
    color: #fef4d1;
    font-weight: bold;
    padding: 1vw 0 1.5vw;
    font-size: 3.5vw;
    letter-spacing: 1px;
    font-family: serif;
}

#system h3 span {
    font-size: 0.4em;
    font-family: serif;
    margin-left: 0.5vw;
}

/* システムエリア内のブロック */
/* #system .system_block {
    padding: 2vw 3.6vw;
    background-image: url(../img/bg_System.webp);
    background-attachment: fixed;
} */

/* 料金プランの画像一覧 */
.price_menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1vw;
    margin-bottom: 2vw;
}

/* 基本プレイ表 */
#system .system_block .system_content {
    background: #fff;
    padding: 1vw;
    border-radius: 10px;
    margin-bottom: 1vw;
}

/* 基本プレイの中身レイアウト */
#system .system_block .system_content dl {
    display: grid;
    grid-template-columns: 1fr 3.5fr;
    gap: 10px 5px;
    align-items: center;
}

/* 基本プレイの項目タイトル */
#system .system_block .system_content dl dt {
    color: #ED6A9E;
    font-size: 1.6vw;
    font-weight: bold;
    text-align: center;
}

/* 基本プレイの項目タイトルのサブテキスト */
#system .system_block .system_content dl dt span {
    display: block;
    color: #000;
    font-weight: 100;
    font-size: 1vw;
    margin-top: 0.4vw;
}
@media(min-width:768px) {
    #system .system_block .system_content.koutuhi {
        background: none;
        padding: 1vw 2.5vw;
    }
    #system .system_block .system_content.koutuhi dl {
        display: grid;
        grid-template-columns: 1fr 1fr 34%;
        gap: 10px 5px;
        align-items: center;
    }
    #system .system_block .system_content.koutuhi dl dt {
        grid-column: 1/4;
        position: relative;
        width: 20.8%;
        margin: auto;
        padding: 0.8vw 0;
        font-size: 1.3vw;
        letter-spacing: 0.4vw;
        color: #ff0089;
        text-shadow: 0px 1px 1px #ff0;
    }
    #system .system_block .system_content.koutuhi dl dt::before,#system .system_block .system_content.koutuhi dl dt::after {
        content: "";
        position: absolute;
        left: 0;
        width: 100%;
        height: 4px;
        background: repeating-linear-gradient(to right, #66d5e9 0%, #66d5e9 24.33%, #74d13a 24.33%, #74d13a 48.66%, #f9ee00 48.66%, #f9ee00 75%, #ef729e 75%, #ef729e 100%);
        background-size: 33.33% 100%;
    }
    #system .system_block .system_content.koutuhi dl dt::before {
        top: 0;
    }
    #system .system_block .system_content.koutuhi dl dt::after {
        bottom: 0;
    }
    .system_content.koutuhi ol {
        grid-column: 1/3;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.7vw 0.5vw;
    }
    .system_content.koutuhi ol li {
        display: grid;
        grid-template-columns: 17% 1fr;
        align-items: center;
        gap: 0.7vw;
        font-size: 0.8vw;
    }
    #system .system_block .system_content dl ol li.price_0 {
        color: #FF6997;
    }
    #system .system_block .system_content dl ol li.price_1000 {
        color: #ED3032;
        grid-row: 2/3;
    }
    #system .system_block .system_content dl ol li.price_2000 {
        color: #f65200;
    }
    #system .system_block .system_content dl ol li.price_3000 {
        color: #529D19;
    }
    #system .system_block .system_content.koutuhi dl dd {
        grid-template-columns: 1fr;
    }
    #system .system_block .system_content dl ol li p {
        line-height: 1.5;
    }
    .price_other_banner {
        grid-template-columns: 1fr 45.8%;
    }
    .price_other_banner img.credit_btn {
        grid-row: 1 / 3;
        grid-column: 2 / 3;
    }
    .system_grid_left {
        display: grid;
        grid-template-columns: 50.5% 1fr;
        background: url(../img/price_bg.webp);
        aspect-ratio: 17 / 11.5;
        background-size: cover;
        background-repeat: no-repeat;
        padding-top: 1.5vw;
        margin-bottom: 1.2vw;
    }
    .profile_contents {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

/* 基本プレイの内容一覧 */
#system .system_block .system_content dl dd {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.5vw;
}

/* 基本プレイの1項目 */
#system .system_block .system_content dl dd em {
    background: #ED6A9E;
    color: #fff;
    padding: 0.6vw 0;
    font-size: 0.8vw;
    text-align: center;
    border-radius: 10px;
}
/* --- コース紹介エリア（#cource） --- */
#cource {
    padding: 0 6vw;
    background: #BDF5EC;
    background-image: url(../img/bg_cource.jpg);
    background-attachment: fixed;
    padding-bottom: 2vw;
}

/* コースタイトル */
#cource h5 {
    width: 30vw;
    margin: 0 auto 0.7vw;
    margin-top: 0.1vw;
}

#cource h5 img {
    margin-top: 1vw;
}

/* 動画切り替えセクション */
#video-section {
    display: grid;
    grid-template-columns: 2.2fr 1fr;
    gap: 1.9vw;
    margin-bottom: 2vw;
}

#video-buttons {
    margin-top: -0.4vw;
}

#video-buttons li {
    margin-bottom: 0.37vw;
    cursor: pointer;
}

/* 動画説明フロー */
#flow-section {
    display: grid;
    grid-template-columns: 2fr 1.4fr;
    gap: 1vw;
}

/* フロータイトル */
#flow-section h6 {
    color: #FF5A00;
    font-weight: bold;
    font-size: 0.9vw;
    margin-bottom: 0.9vw;
}

/* フローテキスト */
#flow-section p {
    line-height: 1.4;
    font-size: 0.9vw;
}

#flow-section ._color {
    color: #FF3064;
}

/* --- スマホ下部メニュー（bottom_menu_wrapper） --- */
.bottom_menu_wrapper {
    display: none;
}

/* --- slick内スライド調整 --- */
.slick-slide {
    margin: 0 1vw;
}

/* --- スケジュールオーナメント（schedule_ornament） --- */
.schedule_ornament {
    display: flex;
    justify-content: space-between;
    align-items: end;
    border-bottom: dotted 1px;
    padding: 1vw;
    width: 60%;
    margin: -5vw auto 1vw;
    color: #ab84cf;
}

.schedule_icon {
    width: 2.6vw;
}

.schedule_ornament_text {
    font-size: 1.1vw;
    letter-spacing: 0.16vw;
}

/* 検索エリア */
section.search_area_wrapper {
    background: #220000;
    padding: 1.7vw 0;
}
.search_area {
    text-align: center;
    margin: 0 auto;
    width: 58.7vw;
}
.search-tags {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.8vw;
    margin-bottom: 1.1vw;
}
.search_area h2 {
    color: #F0619F;
    font-size: 1.4vw;
    letter-spacing: 1.1px;
    font-weight: bold;
    padding-bottom: 1vw;
    border-bottom: 1px solid #F0619F;
    width: 23vw;
    margin: 0 auto 2.6vw;
}
.search-tags li {
    position: relative;
}

.search-tags input[type="checkbox"] {
    display: none;
}

.search-tags label {
    display: inline-block;
    padding: 0.6vw 0 0.7vw;
    border-radius: 20px;
    background: #FFFFFF;
    color: #aaa;
    font-weight: bold;
    cursor: pointer;
    border: 1px solid #ddd;
    transition: all 0.3s ease;
    width: 100%;
}

.search-tags input[type="checkbox"]:checked + label {
    background: #F8FFBB;
    color: #f4648b;
    border: 1px solid #fbc02d;
    position: relative;
}

.search-tags input[type="checkbox"] + label::before {
    content: "+";
}

.search-tags input[type="checkbox"]:checked + label::before {
    content: "✓";
    color: #f4648b;
}
.search_area .other_option {
    display: grid;
    grid-template-columns: 2.2fr 2.2fr 0.7fr;
    gap: 0.6vw;
    /* font-size: 2vw; */
}.search_area .other_option select {
    width: 100%;
    font-size: 1vw;
    padding: 0.2vw 1vw 0.4vw;
    background: #fff;
    text-align: left;
}.search_area .other_option input[type="submit"] {
    width: 100%;
    border: none;
    background: #F0619F;
    color: #fff;
    padding: 0.3vw 0;
    font-size: 1vw;
}

/* 在籍表 */
section.cast_list_section {
    width: 95vw;
    padding: 2vw 0;
    margin: 0 auto;
}

section.cast_list_section ul.cast_grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1vw 0.4vw;
}

/* costume */
section.costume_list_section {
    padding: 3vw 2.2vw;
    background: #FFEEF6;
}
section.costume_list_section h2.group_title {
    background: #EF95AE;
    font-size: 1.2vw;
    padding: 0.7vw 1.6vw;
    margin-bottom: 0.6vw;
    color: #fff;
    font-weight: 700;
}
.cos_visual {
    position: relative;
}

.cos_visual article {
    position: absolute;
    bottom: 1.3vw;
    padding: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 48vw;
    text-align: center;
    font-weight: 600;
    color: #000;
    font-size: 0.7vw;
}

.cos_visual article h3 {
    color: #FF3E9B;
    font-weight: bold;
    font-size: 2.6vw;
    border-bottom: 1px dashed #000;
    margin-bottom: 1vw;
    padding-bottom: 1vw;
    line-height: 1.2;
}
.cos_visual article span {
    color: #FF3E9B;
    font-weight: 600;
}.cos_visual article p {
    line-height: 1.9;
}
section.costume_list_section .costume_group {
    width: 1500px;
    margin: 0 auto 1.5vw;
}
section.costume_list_section ul.costume_items {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.4vw;
}
li.costume_item {
    background: #91DACF;
    text-align: center;
}li.costume_item p.costume_num {
    background: #fff;
    width: 13vw;
    padding: 0.2vw 0;
    margin: 0 auto;
    border-radius: 20px;
    color: #EF95AE;
    font-weight: bold;
    font-size: 1.1vw;
    border: 2px solid #91DACF;
    margin-bottom: 0.2vw;
    margin-top: -0.9vw;
    position: relative;
}li.costume_item p.costume_pr {
    margin: 0 0.6vw 0.8vw;
    color: #F9F5D8;
    font-size: 1vw;
    font-weight: 600;
    height: 2.1vw;
    line-height: 1.3;
    display: grid;
    align-items: center;
}li.costume_item p.costume_title {
    border: 2px solid #fff;
    width: 13vw;
    margin: 0 auto;
    padding: 0.2vw 0 0.3vw;
    color: #fff;
    border-radius: 12px;
    font-size: 0.9vw;    margin-bottom: 0.9vw;
}
/* concept */
.concept-page_wrapper {

}
.concept-page_wrapper::before {
    content: "";
    background: url(../img/concept_bk.webp);
    width: 100vw;
    height: 100vh;
    z-index: -1;
    background-size: cover;
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    background-position: bottom;
}
.cocept_row.row01 {
    display: grid;
    grid-template-columns: 36% 1fr;
    gap: 0.8%;
}
.concept_text-box {
    color: #fff;
}
.cocept_row.row01 .concept_text-box h3 {
    margin-bottom: 1.8vw;
}
.cocept_row.row01 .concept_text-box {
    padding: 2.4vw 1.5vw 0;
}
.concept_text-box p, .concept_text-box p span {
    font-family: serif;
}
.cocept_row.row01 .concept_text-box p {
    font-size: 1.8vw;
    line-height: 1.2;
    font-weight: 200;
    font-style: italic;
    margin-bottom: 0.9vw;
    padding: 0 0 0 0.6vw;
}
.cocept_row.row01 .concept_text-box p.hueth {
    margin: 1.5vw auto 0;
    padding: 0;
}
.cocept_row.row01 .concept_text-box p span {
    font-weight: 700;
    font-style: italic;
    font-size: 1.1em;
    color: #feed96;
}
.cocept_row.row02 {
    display: grid;
    grid-template-columns: 1fr 49.5%;
}
.cocept_row.row02 .concept_image-box {
    padding: 3.2vw 0 2vw 3.4vw;
}
.cocept_row.row02 .concept_text-box {
    padding: 0 2.5vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.cocept_row.row02 .concept_text-box h3 {
    margin-bottom: 1.6vw;
}
.cocept_row.row02 .concept_text-box p {
    font-size: 1.25vw;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 2vw;
}
.cocept_row.row02 .concept_text-box p.kaisho {
    margin-bottom: 0;
}
.cocept_row.row02 .concept_text-box p span {
    font-size: 1.1em;
    color: #f0b501;
}
.cocept_row.row02 .concept_text-box p span.toobig {
    font-size: 1.4em;
    letter-spacing: 1px;
}

.cocept_row.row03 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 3vw;
}
.cocept_row.row03 .concept_text-box {
    padding: 1vw 0.7vw 0 3.4vw;
}
.cocept_row.row03 .concept_text-box p {
    font-size: 1.3vw;
    line-height: 1.6;
}
.cocept_row.row03 .concept_text-box p span {
    color: #f0b501;
    font-size: 1.1em;
}
.cocept_row.row03 .concept_image-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4%;
    padding: 0 3.4vw 0 2vw;
}
.kodawari {
    padding: 2vw 3.4vw;
    background: #0a0a0a;
}
.kodawari h3 {
    width: 46%;
    margin: 0 auto 2vw;
}
.kodawari_image {
    display: grid;
    grid-template-columns: 1fr 47.3%;
    gap: 1.3%;
}

/* grabure */
.gravure_contents.contents div#gravure {
    display: block;
    padding: 1vw 4vw;
    background: none;
}
.gravure_contents.contents #gravure .select_group {
    margin: 0 5vw 1vw;
}
.gravure_contents.contents div#gravure .castList {
    margin: 0 2.8vw;
}
.gravure_contents.contents div#gravure .select_group #one.active, 
.gravure_contents.contents div#gravure .select_group #group.active{
    background:#801C1A !important;
}
.gravure_contents.contents div#gravure .select_group a{
    background:none !important;
}
.gravure_contents.contents div#gravure .select_group p {
    margin: 0;
    background: #6f6f6f;
}
.gravure_contents.contents div#gravure .gravure_date p {
    padding: 0;
    margin: 0;
}

/* campaign */
.campaign_contents.contents {
    background: #000;
}
section.campaign_section {
    width: 60vw;
    margin: 1vw auto;
}

section.campaign_section li {
    margin-bottom: 1.4vw;
}

section.campaign_section li h3 {
    font-size: 1.2vw;
    margin-bottom: 0.4vw;
    letter-spacing: 1px;
}

/* hotel */
section.hotel_map_section {
    width: 85.7vw;
    margin: 0 auto;
}section.hotel_map_section h2,
section.hotel_map_section h3 {
    color: #FE7996;
    border-bottom: 1px solid #FE7996;
    width: 46vw;
    margin: 3vw auto 2.4vw;
    text-align: center;
    font-size: 1.4vw;
    font-weight: 500;
    padding-bottom: 0.9vw;
}section.hotel_map_section h3 {
    color: #c9971e;
    border-bottom: 1px solid #c9971e;
    margin-bottom: 1vw;
}section.hotel_map_section .headArea {
    margin-bottom: 5vw;
}section.hotel_map_section .headArea iframe {
    width: 100%;
    height: 30vw;
}

section.hotel_map_section #select_hotel_area_button {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    margin: 0 auto 2.6vw;
    margin-bottom: 50px;
    width: 46vw;
    text-align: center;
}
section.hotel_map_section #select_hotel_area_button div {
    padding: 0.5vw;
    font-size: 1.1vw;
    background: linear-gradient(160deg, #c9971e 50%, #b1800b 50%);
    border-radius: 5px;
}
section.hotel_map_section .hotel-list-group .area_title {
    font-size: 1.5vw;
    margin-bottom: 0.7vw;
    font-weight: bold;
    color: #fff;
}

.hotel-grid {
    margin-bottom: 3vw;
}

.hotel-grid .hotel-card {
    display: grid;
    grid-template-columns: 3.8fr 3.6fr 2.1fr 1fr;
    background: none;
    gap: 0.7vw;
    align-items: center;
    border: 1px solid #c9971e;
}

.hotel-grid .hotel-card:first-of-type {
    background: #c9971e;
    border: 1px solid #fff;
}

.hotel-grid .hotel-card div{
    font-size: 1.1vw;
    text-align: center;
    height: 3.1vw;
    display: grid;
    align-items: center;
    text-align: center;
    color: #fff;
}
.hotel-grid .hotel-card div img {
    width: auto;
    height: auto;
    display: block;
    margin: 0 auto;
}
.hotel-grid .hotel-card div {
    border-right: 1px solid #c9971e;
}

.hotel-grid .hotel-card:first-of-type div{
    background: #c9971e;
    border-right: 1px solid #fff;
    color: #fff;
}.hotel_guide_contents.contents {
    background: #000;
}

.hotel-grid .hotel-card .hotel-map a{
    color: green;
}

/* mail */
.mailmaga_tokuten {
    background: #000;
    color: #fff;
    padding-bottom: 3vw;
}
.mailmaga_tokuten ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2vw;
    width: 60%;
    margin: auto;
    padding-top: 3vw;
}
.mailmaga_tokuten ul li {
    background: #3f1819;
    padding: 2vw;
    border-radius: 0.5vw;
}
.mailmaga_tokuten ul li h3 {
    border-bottom: solid 2px;
    padding: 0 0.3vw 1vw;
    display: flex;
    gap: 2.8vw;
}
.mailmaga_tokuten ul li h3 span {
    font-family: serif;
    font-size: 2.2vw;
    font-weight: 500;
}
.mailmaga_tokuten ul li p {
    font-family: serif;
    font-size: 1.6vw;
    line-height: 1.6;
    font-weight: 600;
    padding: 0.9vw 0.3vw 0;
}
.mail_resist_manual {
    background: #3f1819;
    color: #fff;
    padding: 3vw 20vw;
}
.mail_resist_manual h3 {
    font-family: serif;
    text-align: center;
    font-size: 2.1vw;
    color: #ff0;
    font-weight: 600;
    margin-bottom: 2vw;
}
.mail_resist_manual .touroku01 {
    padding: 1.5vw 2.5vw;
    border: solid 1px;
    margin-bottom: 2vw;
}
.mail_resist_manual .touroku01 p {
    font-family: serif;
    font-size: 1.5vw;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.5vw;
    line-height: 1;
}
.mail_resist_manual .touroku01 dl {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1vw;
}
.mail_resist_manual .touroku01 dl dt {
    
}
.mail_resist_manual .touroku01 dl dt input {
    background: #fff;
    color: #000;
    font-size: 1.5vw;
    padding: 0.5vw 0.5vw;
}
.mail_resist_manual .touroku01 dl dd {
    display: flex;
    gap: 0.3vw;
}
.mail_resist_manual .touroku01 dl dd input {
    
}
.mail_resist_manual .touroku01 .keitai {
    font-family: serif;
    font-size: 1.25vw;
    line-height: 1.8;
    margin-bottom: 0;
}
.mail_resist_manual .touroku01 .keitai span {
    font-family: serif;
    color: #ff0;
}
.mail_resist_manual .touroku02 {
    padding: 1.5vw 2.5vw;
    border: solid 1px;
    margin-bottom: 2vw;
    display: grid;
    grid-template-columns: 1fr 13%;
}
.mail_resist_manual .touroku02 p {
    font-family: serif;
    font-size: 1.7vw;
    line-height: 1.45;
}
.mail_resist_manual .touroku02 p a {
    font-family: serif;
}
.mail_resist_manual .touroku02 p span {
    font-family: serif;
    color: #ff0;
}
.mail_resist_manual .touroku02 .mailmaga_QR {

}
.mail_resist_manual .touroku03 {
    font-size: 1.2vw;
    line-height: 1.6;
    padding: 0 2.2vw;
    font-weight: 500;
}
.mail_resist_manual .touroku03 li {
    font-family: serif;
}





.movie-info {
    line-height: 1.5;
}
#event {
    background: url(../img/mainColumn_sub_bg.webp);
    background-size: cover;
    padding: 1vw;
    box-shadow: 0 6px 8px -3px rgb(255 255 255 / 50%) inset;
}
/* --- castパネル共通スタイル（cast_list） --- */
.cast_list ul li {
    border-radius: 20px;
    background: #240c0c;
    text-align: center;
    color: #fff;
}

.cast_list ul li {
  position: relative;
  overflow: hidden;
}

.cast_list ul li .cast_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
    pointer-events: none;
    display: block;
    text-align: left;
    padding: 2vw 2vw 3vw;
    box-sizing: border-box;
    letter-spacing: 1px;
}

.cast_list ul li:hover .cast_overlay {
  opacity: 1;
  transition: .5s;
}

#ranking .cast_list ul li:hover .cast_overlay,
#pickup .cast_list ul li:hover .cast_overlay {
  opacity: 0;
}

.cast_list ul li .cast_overlay .prstatus_name {
    text-align: center;
    font-size: 1.1vw;
    margin-bottom: 1vw;
    font-weight: bold;
    color: #4AA1EA;
}

.cast_list ul li .cast_overlay .prstatus_name span{
    color: #FF3E9B;
}

.cast_list ul li:hover .cast_overlay .staff_pr {
    font-size: 1vw;
    font-weight: 600;
    color: #FF3E9B;
    margin-bottom: 1vw;
        line-height: 1.4;
}

.cast_list ul li .cast_overlay .cast_comment {
    color: #3d3d3d;
    font-size: 0.8vw;
    line-height: 1.8;
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 9;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cast_list ul li.gold_flame {
    background: #CCB359!important;
}

.cast_list ul li img._thumnail {
    border-radius: 20px 20px 0 0;
    height: 100%;
    object-fit: contain;
}
/* .cast_list ul li img._thumnail,
.cast_list ul li video._thumnail {
    width: 100%;
    height: 23.5vw;
    object-fit: cover;
    object-position: center;
} */
.cast_list ul li ._info {
    position: relative;
    padding: 0.4vw 0.2vw 0.7vw;
    letter-spacing: 1px;
}

/* castパネル中身 */
.cast_list ul li span.ranking_number {
    position: absolute;
    top: 0.4vw;
    left: 0.4vw;
    background: #3D0014;
    padding: 0.4vw 0.7vw;
    font-size: 1.1vw;
    border-radius: 7px;
    box-shadow: 0px 0px 15px -5px #777777;
}

.cast_list ul li span.ranking_number.ranking_number_1 {
    background: #B48A06;
}

.cast_list ul li span.ranking_number.ranking_number_2 {
    background: #9B999A;
}

.cast_list ul li span.ranking_number.ranking_number_3 {
    background: #2C84CB;
}

.cast_list ul li ._info ._shift {
    margin: 0 auto 0.5vw;
    background: #ffffff;
    width: 80%;
    border-radius: 30px;
    color: #000;
    padding: 0.2vw 0 0.2vw;
    font-size: 0.8vw;
    font-weight: 600;
}

.cast_list ul li.gold_flame ._info ._shift{
    border: 2px solid #CCB359;
    color: #CCB359;
}

.cast_list ul li ._info ._name {
    margin-bottom: 0.2vw;
    padding-bottom: 0.2vw;
    border-bottom: dotted 1px rgba(255, 255, 255, 0.8);
}

.cast_list ul li ._info ._name_text {
    font-size: 0.9vw;
    margin-right: 0.5vw;
    font-weight: bold;
}

.cast_list ul li ._info ._age {
    font-size: 0.7vw;
}

.cast_list ul li ._info ._size {
    font-size: 0.74vw;
    margin-bottom: 0.5vw;
}

/* アイコンリスト */
.cast_list ul li ._info ._icon {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4%;
    margin: 0 22%;
    font-size: 0.6vw;
}

.cast_list ul li ._info ._icon p {
    padding: 0.2vw 0 0.3vw;
    border-radius: 20px;
    line-height: 0.7;
    font-weight: 700;
    border: solid 1px;
}

.cast_list.machihime_single {
    display: flex;
    justify-content: center;
    width: 46%;
    margin: 0 auto;
}

/* profile */
.profile_contents *{
    font-family: serif;

}
.profile_contents {
    background-image: url(../img/side_bg.webp);
    background-attachment: fixed;
    background-size: auto;
    background-position: center;
}
.profile_contents, #bottom_area {
    line-height: 1;
}
.profile_contents .left_column {
    position: sticky;
    top: 4.5vw;
    width: 45.2vw;
    padding: 1vw 3vw 3vw 4vw;
    height: 91vh;
    /* background-image: url(../img/side_bg.webp); */
}
.profile_contents div#main_image_box {
    margin-bottom: 1.3vw;
}
.profile_contents .right_column {
    width: 54vw;
    margin: 0 0 0 auto;
    padding: 2vw 6.4vw;
    background-image: url(../img/bg_System.webp);
    background-attachment: fixed;
    background-size: cover;
    background-position: center;

    font-size: 0.9vw;
}
.profile_contents .profile_staff_pr {
    text-align: center;
    color: #C9971E;
    font-weight: 600;
    margin-bottom: 0.3vw;
    font-size: 1vw;
}
.profile_contents .profile_staff_pr p {
    font-weight: 500;
}
.profile_contents ._name {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 1vw;
    color: #C9971E;
    font-size: 2.8vw;
    font-weight: 600;
    letter-spacing: 0vw;
    margin-bottom: -0.3vw;
}
.profile_contents ._name h3 {
}
.profile_contents ._age {
    font-size: 1.7vw;
}
.profile_contents ._age p {
 }
.profile_contents p._tbwh {
    text-align: center;
    color: #fff;
    font-weight: 600;
    letter-spacing: 4.5px;
    font-size: 1vw;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 1vw;
}
.profile_contents .contProfileStoreComment__body ul {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    padding: 1vw 1vw 0.7vw;
    border-bottom: dotted 1px #ffffff;
    line-height: 1.5;
    align-items: center;
    gap: 1vw;
}
.profile_contents .contProfileStoreComment__body ul:last-of-type {
    border-bottom: none;
}
.profile_contents .qcom {
    color: #e6437b;
        font-weight: bold;
}.profile_contents .acom {
    color: #fff;
}
.profile_contents .schedule_list_profile {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.3vw;
}
.profile_contents .schedule_list_profile dl {
    display: grid;
    grid-template-columns: 6.9vw 1fr;
    font-weight: 600;
}
.profile_contents .schedule_list_profile dl:first-of-type {
    grid-column: 1 / -1;
}
.girl_class_icon_ {
    position: absolute;
    bottom: 0;
}
.profile_contents .schedule_list_profile dt {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #748CA4;
    color: #000;
}
.profile_contents .schedule_list_profile dt.today_color {
    background: #C9971E;
    color: #fff;
    font-weight: 400;
}
.profile_contents .schedule_list_profile dd {
    display: grid;
    grid-template-columns: 1fr 4.5vw;
    align-items: center;
    background: #000000;
    padding: 0.5vw;
}
.profile_contents .schedule_list_profile dd.attendance {
    color: #e84768;
}
.profile_contents .schedule_list_profile dd span {
    text-align: center;
    color: #fff;
}
.profile_contents ._reserve_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.5vw;
    padding: 0.7vw;
    letter-spacing: 0.15vw;
}
.profile_contents ._reserve_btn.reserve_ok {
    background: #ffe24e;
}
.profile_contents ._reserve_btn.reserve_ok a {
    color: #000000;
}
.profile_contents ._reserve_btn.reserve_ng {
    background: #fff;
    color: #000;
    border: solid 1px;
}
.profile_Crank, .profile_kuchikomi, .profile_Mrank {
    width: 66%;
    margin: 1vw 0;
}
.profile_contents .qa_area,
.profile_contents .profile_scheduleCalendar,
.profile_contents .cast_comment_area,
.profile_contents .staff_comment_area,
.profile_contents .movie_box,
.profile_contents .syame_area,
.profile_contents .profile_twitter {
    margin-bottom: 2vw;
}
.profile_contents h3,
#bottom_area h3{
    border-left: none;
    margin-bottom: 1.5vw;
    padding: 0 0 0.5vw;
    display: flex;
    justify-content: space-between;
    border-bottom: dotted 2px #C9971E;
    font-size: 3.8vw;
    align-items: baseline;
}

.profile_contents .title_en,
#bottom_area .title_en {
    color: #C9971E;
    font-size: 2.4vw;
    line-height: 1;
    font-family: "DM Serif Display", serif;
}

.profile_contents .title_jp,
#bottom_area .title_jp{
    font-size: 1vw;
    color: #fff;
}

.profile_contents span.attendance {
    color: #fff;
}
.profile_contents ._name h3 {
    border: none;
}
.profile_contents .view_shukkin {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    text-align: center;
    margin: 2.5vw auto 2vw;
}
.profile_contents .view_shukkin li {
    padding: 0.4vw;
    font-size: 1vw;
    font-weight: 600;
    letter-spacing: 6px;
}
.profile_contents .today_text {
    background: #C9971E;
    color: #000000;
}
.profile_contents .today_time {
background: #000000;
    color: #ffffff;
}
.profile_contents .qa_area {
    background: #000;
    border-radius: 12px;
    padding: 0.5vw 1.5vw;
}
.profile_contents .staff_comment_main,
.profile_contents .cast_comment_main {
    line-height: 1.8;
    font-size: 0.9vw !important;
    padding: 0 1vw;
    overflow-y: auto;
    max-height: 30vw;
    height: auto;
    letter-spacing: 1px;
    font-weight: 400 !important;
    background: #000;
    color: #fff;
}
.profile_contents .staff_comment_main *,
.profile_contents .cast_comment_main * {
    font-size: 0.9vw !important;
    color: #fff !important;
    font-weight: 400 !important;
    line-height: 1.4;
}
.profile_contents div#main_image_box .splide__slide img {
    vertical-align: bottom;
    border-radius: 12px;
}
.profile_contents .profile_option dl {
    margin-bottom: 1vw;
    background: #000;
    padding: 1vw 1.4vw;
}
.profile_contents .profile_option dl dt {
    border-bottom: dotted 1px #e6437b;
    color: #e6437b;
    padding: 0.5vw;
    font-weight: bold;
    margin-bottom: 0.5vw;
    font-size: 1vw;
}
.profile_contents .profile_option dl dd {
    padding: 0.5vw;
    margin-left: 0.7vw;
    display: flex;
    align-items: center;
}
.profile_contents .profile_option dl dd span {
    margin-right: 0.3vw;
}
.profile_contents .profile_option dl div {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    color:#fff
}
.profile_contents .profile_option {
    margin-bottom: 40px;
}
#bottom_area .enquete_graph,
#bottom_area .enquete_voice {
    width: 100%;
    margin: 0 auto;
    /* padding: 2.2vw 17vw; */
}
#bottom_area .enquete_voice {
    background: #FFF1F1;
    padding: 2vw 2vw;
}
#bottom_area .enquete_voice h3 {
    width: 64vw;
    margin: 0 auto 1.9vw;
}
#bottom_area .enquete_voice ul li {
    background: #fff;
    box-shadow: 0px 0px 15px -5px #777777;
    border-radius: 10px;
}
#bottom_area .enquete_voice ul li dl:nth-of-type(1) {
    padding: 1vw 1vw 0vw 1vw;
    text-align: center;
}
#bottom_area .enquete_voice ul li dl:nth-of-type(1) img {
    width: 6vw;
    margin: 0 auto;
    margin-bottom: 0.9vw;
    text-align: center;
}
#bottom_area .enquete_voice ul li dl:nth-of-type(2) {
    font-size: 0.7vw;
    border: 1px solid #7b7b7b;
    border-radius: 20px;
    padding: 0vw;
    margin-bottom: 0.9vw;
    width: 9vw;
    margin: 0 auto 0.9vw;
    padding: 0.3vw;
    text-align: center;
}
#bottom_area .enquete_voice ul li dl:nth-of-type(3) {
    border-top: 1px dotted;
    padding: 0.5vw 1vw 0.7vw;
    text-align: left;
    font-size: 0.8vw;
    line-height: 1.5;
}
#bottom_area div#graph_output {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
}
#bottom_area .graph-block {
    margin-bottom: 1vw;
    padding: 1.7vw;
}
#bottom_area .graph-title {
    font-weight: bold;
    margin-bottom: 0.5em;
    color: #e91e63;
    border-bottom: 2px solid #e91e63;
    display: inline-block;
    padding-bottom: 0.2em;
    font-size: 1vw;
}
#bottom_area .graph-item {
    display: flex;
    align-items: center;
    margin: 1.2vw;
    align-items: center;
}
#bottom_area .graph-label {
    width: 6vw;
    font-size: 0.9vw;    color: #C9971E;
}
#bottom_area .bar-container {
    background: #000000;
    height: 2.1vw;
    flex: 1;
    position: relative;
    margin-left: 0.7vw;
}
#bottom_area .bar-fill {
    background: #c9971e;
    height: 100%;
    color: white;
    padding-right: 5px;
    text-align: right;
    font-size: 1vw;
    white-space: nowrap;
    padding: 0.4vw;
}#bottom_area .chart-container canvas{
    width: 17vw;
    height:17vw
}
#bottom_area div#graph_whole_output {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.7vw 1.5vw;
}#bottom_area .chart-title {
    color: #E64964;
    font-weight: bold;
    font-size: 1vw;
    margin-bottom: 1vw;
}

/* フッターグループリンク */
.copyright {
    background: #000000;
    text-align: center;
    line-height: 1.4;
    padding: 0.3vw 0;
    color: #fff;
}
.device_margin {
    margin: 2vw 10.4vw 0!important;
    padding-bottom: 3vw;
}
.system_grid_wrapper {
    display: grid;
    /* grid-template-columns: 1fr 1fr; */
}
.shimei_box {
    /* border: 5px solid #FF339A;
    background: #fff;
    margin-bottom: 1.5vw; */
}
.system_left_img {
    padding: 0.7vw 1.8vw 1vw 1.6vw;
}
.shimei_box dt, .shimei_box dd {
    padding: 0.6vw;
    text-align: center;
    display: grid;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    gap: 0.3vw;
}
.shimei_box dl {
    display: grid;
    grid-template-columns: 1fr 1fr 40%;
    border-bottom: 1px solid #FCA7E2;
}
.shimei_box dt {
    background: -webkit-linear-gradient(top, #F4D3F3 0%, #F785BD 40%, #FF6DB6 100%);
    color: #454242;
    text-shadow: 0 1px 1px #fff;
}
.shimei_box dd {
    border-left: 1px solid #FCA7E2;
}
.shimei-price {
    color: #15B5EA;
}
.options_box {
    /* background: url(../img/op_bg.webp); */
    background-repeat: no-repeat;
    background-size: cover;
    padding: 1.6vw 4vw;
}
.system_content_option.yuryou_option {
    margin-bottom: 1vw;
}
.yuryou_option dl {

}
.yuryou_option dt {
    width: 50%;
    margin: 0 auto 1.5vw;
}
.yuryou_option dd {
    display: flex;
    gap: 1.1vw 1vw;
    flex-direction: column;
    height: 14vw;
    flex-wrap: wrap;
}
.yuryou_option_box {
    position: relative;
    color: #fff;
    border: solid 1px;
    padding: 0.8vw;
    width: 14vw;
}
.yuryou_option_box h5 {
    position: absolute;
    top: -0.6vw;
    left: 34%;
    font-size: 1vw;
    display: inline-block;
    padding: 0 0.5vw;
    background: #2e664d;
}
ul.yuryou_option_list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5vw;
    justify-content: center;
    font-size: 0.8vw;
}
.free_option {

}
.free_option dl {

}
.free_option dt {
    width: 50%;
    margin: 0 auto 1.5vw;
}
.free_option dd {
    display: flex;
    gap: 1.1vw 1vw;
    flex-direction: column;
    height: 20vw;
    flex-wrap: wrap;
}
.free_option_box {
    width: 14vw;
    font-size: 0.85vw;
    font-weight: 600;
}
.free_option_box h5 {
    color: #1e6240;
    background: #fff;
    display: inline-block;
    padding: 0.1vw 1.4vw;
    border-radius: 0.3vw;
    font-size: 0.75vw;
    margin-bottom: 0.4vw;
}
.free_option_list {
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6vw;
}
.system_content.koutuhi.pc {
    background: none !important;
}
.price_other_banner {
    padding: 0 2.5vw;
    display: grid;
    gap: 0.5vw;
}
.attention_area {
    display: none;
    width: 73vw;
    height: 100vh;
    position: fixed;
    top: 1vw;
    left: 0;
    z-index: 10000;
    right: 0;
    margin: auto;
}
.attentin_click {
    padding: 0 2.5vw;
}
.img-ugusta {
    margin-bottom: 1.5vw;
}
.credit_nav {
    display: none;
    width: 100vw;
    height: 100vh;
    padding: 1vw 0;
    background: rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    overflow-y: scroll;
}
.credit_nav.active {
    display: block;
}
.credit_nav_box {
    background: #fff;
    width: 50vw;
    margin: auto;
}
ul.pc-price_menu {
    display: grid;
    grid-template-columns: repeat(4, 22.5%);
    justify-content: left;
    gap: 0.5vw;
}
ul.pc-price_menu li {
    background: #fff;
    text-align: center;
    padding: 1vw 0 0.5vw;
    border-radius: 1vw 1vw 0 0;
    font-size: 0.9vw;
    font-weight: 600;
    position: relative;
}
ul.pc-price_menu li.pc-price_menu01 {
    background: #f6fcff;
    color: #3c9ae8;
    border: solid 3px #c5e6f9;
}
ul.pc-price_menu li.pc-price_menu01::after {
    content: "";
    background: #f6fcff;
    display: block;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: -5px;
}
ul.pc-price_menu li.pc-price_menu01.active::after {
    content: "";
    background: #f6fcff;
    display: block;
    width: 100%;
    height: 15px;
    position: absolute;
    bottom: -11px;
}
ul.pc-price_menu li.pc-price_menu02 {
    background: #fff7f7;
    color: #eb5b95;
    border: solid 3px #f997c5;
}
ul.pc-price_menu li.pc-price_menu02::after {
    content: "";
    background: #fff7f7;
    display: block;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: -5px;
}
ul.pc-price_menu li.pc-price_menu02.active::after {
    content: "";
    background: #fff7f7;
    display: block;
    width: 100%;
    height: 15px;
    position: absolute;
    bottom: -11px;
}
ul.pc-price_menu li.pc-price_menu03 {
    background: #f6fcff;
    color: #5cc4b4;
    border: solid 3px #91dacf;
}
ul.pc-price_menu li.pc-price_menu03::after {
    content: "";
    background: #f6fcff;
    display: block;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: -5px;
}
ul.pc-price_menu li.pc-price_menu03.active::after {
    content: "";
    background: #f6fcff;
    display: block;
    width: 100%;
    height: 15px;
    position: absolute;
    bottom: -11px;
}
ul.pc-price_menu li.pc-price_menu04 {
    background: #fffedf;
    color: #fd8b0d;
    border: solid 3px #fd9118;
}
ul.pc-price_menu li.pc-price_menu04::after {
    content: "";
    background: #fffedf;
    display: block;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: -5px;
}
ul.pc-price_menu li.pc-price_menu04.active::after {
    content: "";
    background: #fffedf;
    display: block;
    width: 100%;
    height: 15px;
    position: absolute;
    bottom: -11px;
}

.pc-price_box li {
    display: grid;
    grid-template-columns: 1fr 57%;
    padding: 2vw 5vw;
}
.pc-price_box01 {
    background: #f6fcff;
    border: solid 3px #c5e6f9;
}
.pc-price_box02 {
    background: #fff7f7;
    border: solid 3px #f997c5;
}
.pc-price_box03 {
    background: #f6fcff;
    border: solid 3px #91dacf;
}
.pc-price_box04 {
    background: #fffedf;
    border: solid 3px #fd9118;
}

.pc-price_box_left {
    width: 80%;
}
.pc-price_box_left img {
    margin-bottom: 1vw;
}
.pc-price_box_left p {
    text-align: center;
    font-size: 0.75vw;
    font-weight: 500;
    line-height: 1.5;
}
.pc-price_box_right dl {
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 0.5vw;
}
.pc-price_box_right dl dt {
    text-align: center;
    padding: 0.5vw;
    color: #fff;
    font-weight: 400;
    font-size: 0.8vw;
}
.pc-price_box_right dl .dt {
    text-align: center;
    padding: 0.5vw;
    color: #fff;
    font-weight: 400;
    font-size: 0.8vw;
}
.pc-price_box_right dl dd {
    text-align: center;
    padding: 0.5vw;
    color: #000;
    font-weight: 500;
    background: #fff;
    border: solid 1px #939393;
    font-size: 0.8vw;
}
.pc-price_box01 .pc-price_box_right dl dt {
    background: #4aa1ea;
}
.pc-price_box02 .pc-price_box_right dl dt {
    background: #ea7dab;
}
.pc-price_box03 .pc-price_box_right dl dt {
    background: #5cc4b4;
}
.pc-price_box04 .pc-price_box_right dl dt {
    background: #fd9118;
}

.pc-price_box_right_head {
    background: #939393 !important;
    color: #fff !important;
    border: none !important;
}
.pc-price_box_right_bottom {
    background: #fff !important;
    grid-column: 1/3;
}
ul.pc-price_box {
    margin-bottom: 1vw;
}
.reserve_wrapper {
    display: none;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    background: rgba(0, 0, 0, 0.5);
}
#popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(0,0,0,0.7);
    box-shadow: 0px 0px 0px 7px rgba(0, 0, 0, 1), 0px 0px 0px 10px rgba(153, 153, 153, 1);
    padding: 2vw;
    text-align: center;
    width: 50%;
    border-radius: 10px
}
#popup li p {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    color: #fbc676;
    font-family: serif;
    letter-spacing: 1px;
    font-size: 1vw;
    font-weight: bold;
    width: 13vw;
    height: 2vw;
    line-height: 1;
}
div#tourist_select_popup_area a {
    display: block;
    background: #dc1544;
    /* width: 80vw; */
    margin: 1vw auto;
    padding: 1vw 0;
    border-radius: 1vw;
    text-decoration: none;
    color: #fff !important;
}
div#tourist_select_popup_area ul#popup {
    width: 24vw;
}
div#tourist_select_popup_area {
    z-index: 9999;
    position: fixed;
}
div#tourist_select_popup_area a li {
    text-align: center;
    list-style: none;
    font-size: 1.4vw;
}
div#tourist_select_popup_area button.popup_close_btn {
    background: none;
    border: 1px solid #fff;
    color: #fff;
    padding: 0.5vw 1vw;
    font-size: 1vw;
    border-radius: 10px;
    letter-spacing: 1px;
    display: block;
    margin: 0 auto;
}
h4.reserve_wrapper_head {
    color: #fff21b;
    display: block;
    width: 80%;
    margin: 0 auto 1vw;
    border-bottom: dotted 1px #fff;
    padding-bottom: 1vw;
    font-size: 1.9vw;
    font-weight: 600;
    font-family: serif;
    letter-spacing: -1px;
}
#popup em {
    color: #fff;
    line-height: 1.8;
    font-size: 17.9px;
    margin-bottom: 50px;
}
#popup ul {
    display: flex;
    justify-content: space-between;
    width: 80%;
    margin: 2vw auto 1vw;
}
#popup li {
    font-size: 4vw;
}
.for_use_ordersheet {
    width: 80%;
    margin: auto;
    background: #fff;
    padding: 1vw 1.6vw;
    border-radius: 0.3vw;
}
.for_use_ordersheet h5 {
    color: #E91E63;
    font-size: 1.2vw;
    font-weight: 500;
    margin-bottom: 1vw;
}
.for_use_ordersheet p {
    font-size: 0.75vw;
    text-align: left;
    line-height: 1.7;
    margin-bottom: 0.5vw;
}
.for_use_ordersheet a {
    display: block;
    width: 98%;
    margin: auto;
    background: #b1fff3;
    color: #2d9b8a !important;
    padding: 0.3vw 0 0.5vw;
    border-radius: 0.2vw;
    font-weight: 700;
}
section.section_order {
    width: 100%;
    margin: auto;
    background: #fee2f0;
    padding: 1vw 31vw;
}
section.section_order h2 {
    text-align: center;
    margin-bottom: 3vw;
}
p.order_main-title {
    font-size: 2.6vw;
    line-height: 1.9;
    color: #ea84b3;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 800;
    font-style: normal;
}
p.order_sub-text {
    font-size: 0.7vw;
    font-weight: 500;
    color: #fff;
    display: inline-block;
    padding: 0.2vw 1.2vw 0.3vw;
    background: #ea84b6;
    border-radius: 5vw;
}
.order_select-tubs {
    width: 88%;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.2vw;
}
.order_select-tubbox01 {
    grid-column: 1/4;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 0.2vw;
}
.order_select-tubbox02 {
    grid-column: 4/6;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 0.2vw;
}
.order_select-tub {
    text-align: center;
    font-size: 0.65vw;
    line-height: 1.2;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.4vw 0;
    background: #fff;
    color: #adadad;
    border-radius: 0.3vw 0.3vw 0 0;
}
.order_select-tub:hover {
    cursor: pointer;
}
.order_select-tub.active {
    background: #529cff;
    color: #fff;
}
.order_main-box {
    display: none;
    padding: 1.5vw 3vw;
    background: #fff;
    border-top: solid 4px #529cff;
}
.order_main-box.active {
    display: block;
}
.order_main-box h3 {
    font-family: serif;
    color: #e52988;
    font-size: 1.3vw;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.7vw;
}
.order_main-box h3 span {
    font-size: 0.6em;
    font-family: serif;
    margin-left: 0.7vw;
}
p.order-description {
    text-align: center;
    font-size: 0.8vw;
    margin-bottom: 1.5vw;
}
.steps {
    display: flex;
    justify-content: center;
    margin-bottom: 2vw;
}
.step-svg {
    width: 10vw;
    height: 30px;
    flex-shrink: 0;
    margin-right: -1vw;
}
.step-bg {
    fill: #fff;
    stroke: #ec2e7a;
    stroke-width: 2;
}
.step-text {
    fill: #666;
    font-family: sans-serif;
    font-size: 15px;
}
.step-svg.active .step-bg {
    fill: #ec2e7a;
}
.step-svg.active .step-text {
    fill: #fff;
}
.input-required::after {
    content: "必須";
    margin-left: 1vw;
    background: #fea0a7;
    color: #fff;
    font-size: 0.6vw;
    padding: 0.3vw;
}
.order_form-content input[type="text"] {
    border: solid 1px #E7E7E7;
    width: 100%;
    font-size: 0.8vw;
    padding: 0.6vw;
    text-align: center;
}
.order_form-content input:required:invalid {
    background: #fbeaf4;
}
p.order_form_request {
    font-size: 0.65vw;
    margin: 0 0 0.4vw auto;
    width: 60%;
}
.order_form-content select {
    border: solid 1px #E7E7E7;
    width: 100%;
    font-size: 0.8vw;
    padding: 0.6vw;
    text-align: center;
}
.order_form-content textarea {
    border: solid 1px #E7E7E7;
    width: 100%;
    font-size: 0.8vw;
    padding: 0.6vw;
    margin-bottom: 0.2vw;
}

.order_form-content_wrapper {
    border-bottom: dotted 2px #c1c1c1;
    margin-bottom: 1vw;
    padding: 1.1vw;
}
.order_form-content_wrapper:last-child {
    border-bottom: none;
}
.order_form-content {
    display: grid;
    grid-template-columns: 1fr 60%;
    gap: 5%;
    align-items: flex-start;
}
.order_form_question {
    font-size: 0.8vw;
    display: flex;
    align-items: center;
    font-weight: 500;
}
span.list-maru {
    margin-right: 0.6vw;
    color: #88ceff;
}
.sonota {
    margin-top: 0.8vw;
}
.order_form_answer label {
    color: #e52886;
    font-weight: 500;
    margin-left: 0.5vw;
}
.order_form_answer_checkbox {
    margin-bottom: 0.3vw;
}
.order_submit_btn {
    width: 70%;
    text-align: center;
    padding: 0.9vw;
    background: #ff6692;
    color: #fff;
    border-radius: 0.6vw;
    margin: auto;
}
.order_select_wrapper {
    position: relative;
}
.order_select_wrapper::after {
    content: "\f107";
    color: #fff;
    background-color: #ec2e7a;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    text-align: center;
    line-height: 20px;
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
    pointer-events: none; /* 矢印クリック時もselectに反応 */
    font: var(--fa-font-solid);
    display: grid;
    justify-content: center;
    align-items: center;
    font-size: 10px;
}
#index_gme_area {
    background: #edf6ff;
    color: #11100e;
}
#index_gme_area section {
    padding: 3vw;
    width: 70vw;
    margin: 0 auto;
}
#index_gme_area article {
    display: grid;
    grid-template-columns: 0.7fr 6fr;
    gap: 1vw;
    text-align: center;
    width: 59vw;
    margin: 0 auto 3.5vw;
    align-items: center;
}
#index_gme_area article img {
    width: 100%;
}
#index_gme_area article div {
    font-size: 2.4vw;
    letter-spacing: 0.2vw;
    font-weight: bold;
    color: #ed4f80;
    text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
}
#index_gme_area article span {
    display: block;
    font-size: 1.4vw;
    color: #000;
    font-weight: initial;
}
#index_gme_area ul {
    width: 57.8vw;
    margin: 0 auto;
    margin-bottom: 0.9vw;
}
#index_gme_area ul li {
    display: grid;
    grid-template-columns: 4fr 1fr;
    gap: 2.7vw;
    align-items: center;
}
#index_gme_area ul li dl {
    margin-bottom: 2.3vw;
}
#index_gme_area ul li dl dt {
    color: #0071e4;
    font-size: 1.4vw;
    border-bottom: 1px dotted #000;
    margin-bottom: 1vw;
}
#index_gme_area ul li dl dd {
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    font-size: 1.1vw;
}

.gme_confirm_btn {
    background: #fff;
    border-radius: 0.3vw;
    padding: 1vw;
    text-align: center;
    font-size: 1.4vw;
    letter-spacing: 1px;
    width: 64.6vw;
    margin: 1.9vw auto 0;
    box-shadow: 0px 0px 15px -5px #868686;
}
.gme_confirm_btn a {
    display: grid;
    grid-template-columns: 1fr 6fr;
    gap: 10px;
    align-items: center;
}
.gme_confirm_btn div {
    border: 2px solid #edf6ff;
    border-radius: 0.3vw;
    padding: 1vw 0;
    color: #6d6d6d;
}
.gme_confirm_btn div span {
    color: #f13379;
    font-weight: bold;
    font-size: 1.5vw;
}
.price_contet {
    margin-bottom: 4vw;
}
.price_contet h4 {
    text-align: center;
    border-top: solid 2px;
    border-bottom: solid 2px;
    font-size: 2vw;
    font-family: serif;
    padding: 0.5vw 0;
    width: 97%;
    margin: 0 auto 1.5vw;
}
.price_wrapper {
    display: grid;
    grid-template-columns: repeat(2, 49%);
    gap: 2%;
}
.price_box {
    aspect-ratio: 621 / 828;
    background: url(../img/wk_System.webp);
    background-size: cover;
    padding: 3vw 4.7vw;
}
.price_box h5 {
    margin: 0 auto 3vw;
}
.price_box h5::before {
    display: block;
    content: "";
    background: url(../img/mk_System.webp);
    background-size: cover;
    aspect-ratio: 48/45;
    width: 10%;
    margin: 0 auto 0.8vw;
}
.price_box h5 p {
    text-align: center;
    border-top: dotted 4px #e3e3e3;
    border-bottom: dotted 4px #e3e3e3;
    padding: 1.1vw 0 1.3vw;
    font-size: 1.9vw;
    font-family: serif;
    letter-spacing: 5px;
}
.course_pice_list {
    display: grid;
    grid-template-columns: 32% 1fr;
    font-size: 2.3vw;
    text-align: right;
    width: 90%;
    margin: auto;
    gap: 3vw 0;
}
.course_pice_list dt {
    font-family: serif;
    font-weight: 400;
    letter-spacing: 3px;
}
.course_pice_list dd {
    font-family: serif;
    letter-spacing: 3px;
}
.course_pice_list dt span, .course_pice_list dd span {
    font-size: 0.6em;
}
.basic_price_wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 86%;
    margin: auto;
    font-size: 1.7vw;
    gap: 18%;
    letter-spacing: 3px;
}
.basic_price_box {
    display: grid;
    gap: 2vw;
    justify-content: center;
}
.basic_price_list {
    display: flex;
    justify-content: right;
    gap: 1vw;
}
.basic_price_list dt {
    font-weight: 400;
    font-family: serif;
}
.basic_price_list dd {
    font-family: serif;
}
.basic_price_list dd span {
    font-size: 0.6em;
}
.basic_play_image {
    margin-bottom: 3vw;
}
.basic_play_box {
    margin-left: -1.4vw;
}
.basic_play_box.box01 {
    margin-bottom: 5vw;
}
.basic_play_box p {
    font-size: 1.4vw;
    font-family: serif;
    margin-bottom: 1vw;
}
.basic_play_columns01 {
    display: grid;
    grid-template-columns: 63% 1fr;
    margin-left: 1.4vw;
    gap: 7%;
}
.basic_play_columns01 ul {
    grid-template-rows: repeat(3, 1fr);
}
.basic_play_columns01 li {

}
.basic_play_columns02 {
    display: grid;
    grid-template-columns: 50% 1fr;
    margin-left: 1.4vw;
}
.basic_play_columns02 ul {

}
.basic_play_columns02 li {

}
.basic_play_box ul {
    font-size: 1.3vw;
    display: grid;
    gap: 0.5vw 0;
}
.basic_play_box li {
    font-family: serif;
}
.play_option_box {

}
.play_option_box ul {
    display: grid;
    gap: 0.9vw;
}
.play_option_box li {
    
}
.play_option_box li dl {
    display: flex;
    justify-content: space-between;
    font-size: 1.2vw;
}
.play_option_box li dt {
    font-family: serif;
    font-weight: 400;
}
.play_option_box li dd {
    font-family: serif;
}
.price_chui {
    text-align: center;
    margin: 1.5vw auto 0;
    font-size: 1vw;
    letter-spacing: 2px;
    font-family: serif;
}
.koutuhi_list {
    padding: 2vw 3vw 0;
}
.koutuhi_list li {

}
.koutuhi_list dl {
    display: flex;
    margin-bottom: 2.5vw;
    gap: 3vw;
    font-size: 1.4vw;
    letter-spacing: 3px;
}
.koutuhi_list dt {
    font-family: serif;
    font-weight: 400;
}
.koutuhi_list dd {
    font-family: serif;
}
/* ======== SP版 (スマホスタイル全部) ======== */
@media screen and (max-width: 767px) {
 
    /* common */
    html {
        scroll-behavior: smooth;
        scroll-padding-top: 13vw;
    }

    .cast_list ul li .cast_overlay {
        display:none
    }
    .cast_list.machihime_single {
        width: 70%;
        margin: 5vw auto 0;
    }
    header .global_menu {
        grid-template-columns: 4fr 1fr;
        gap: 24vw;
        padding: 3vw;
        align-items: center;
        background-image: url(../img/side_bg.webp);
    }

    .contents h2 {
        font-size: 9.9vw;
        padding: 3vw 0;
    }

    .contents h2 span {
        font-size: 4vw;
        padding-top: 1vw;
    }

    /* 左カラム (サイドメニュー) */
    .top_left_column {
        display: none;
        width: 100vw;
        overflow-y: scroll;
        padding-bottom: 20vw;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        position: fixed;
    }
    .top_left_column p.lang_icon {
        left: 1vw;
        right: auto;
        top: 1vw;
        font-size: 7vw;
        padding: 2vw 3vw 1vw;
    }

    .top_left_column p.lang_icon::after {
        font-size: 3vw;
    }

    .top_left_column.acc.active {
        display: block;
        left: -100vw;
        z-index: 5;
    }

    .top_left_column.open {
        transform: translateX(0);
        z-index: 1;
    }
    div#tourist_select_popup_area ul#popup {
        width: 90%;
        padding: 11px;
        box-sizing: border-box;
        line-height: 1.5;
    }
    div#tourist_select_popup_area a {
        padding: 5vw 0;
    }

    div#tourist_select_popup_area a li {
        font-size: 5vw;
    }
div#tourist_select_popup_area button.popup_close_btn {
    font-size: 6vw;
    padding: 0.5vw 5vw;
}
    /* ロゴ */
    h2.main_logo {
        width: 50%;
        margin: 5vw auto;
    }
    /* メインメニュー */
    ul.top_menu {
        width: 90%;
        margin: 5vw auto 7.8vw;
        gap: 2vw;
    }
    .top_menu li {
        padding: 4vw 0;
        border-radius: 6vw;
        font-size: 3.7vw;
    }
    .top_menu li.online_reserve_link {
        grid-column: auto;
        background: #f46696;
    }
    .top_menu li.tel_link {
        background: #77ABE5;
    }
    .price_other_banner img {
        margin-bottom: 3vw;
    }
    .attention_area {
        top: 4vw;
        height: 95vh;
        overflow-y: scroll;
        width: 91vw;
    }
    /* サブメニュー */
    dl.top_sub_menu {
        margin: 0 auto 5vw;
        grid-template-columns: 1fr 1fr;
        padding: 5.4vw 4vw 4vw;
        font-size: 4vw;
        gap: 4.2vw;
    }
    .top_sub_menu dt {
        top: -3.8%;
        font-size: 4.2vw;
    }


    #new_cast li.top_newface ._enter_day {
        font-size: 4.7vw;
        padding: 1.7vw 0 1.9vw;
        width: 55vw;
        margin: 0 auto;margin-top: -7vw;
    }#new_cast li.top_newface ._name {
        font-size: 3vw;
        padding-top: 2vw;
                margin-bottom: 9vw;
    }#new_cast li.top_newface ._name ._name_text {
        font-size: 7vw;
        font-weight: bold;
    }#new_cast li.top_newface ._name ._age {
        font-size: 4.6vw;
        font-weight: bold;
    }#new_cast li.top_newface ._shift {
        font-size: 4vw;
        width: 39vw;
        padding: 1.5vw 0 1.8vw;
        margin-bottom: 2vw;
        font-weight: bold;
    }#new_cast li.top_newface ._size {
        font-size: 4vw;
        font-weight: bold;
    }#new_cast li.top_newface ._icon {
        gap: 1vw;
    }#new_cast li.top_newface ._icon p {
        font-size: 4vw;
        padding: 1.5vw 0;
    }#new_cast li.top_newface ._comment {
        font-size: 3vw;
        height: 12vw;
        margin-bottom: 4vw;
    }#new_cast li.top_newface ._info button {
        font-size: 4.6vw;
        padding: 1.5vw 0 1.7vw;
    }#news_pickup #news h3 {
        font-size: 7vw;
        padding: 0;
        margin-bottom: -1.2vw;
    }#news_pickup #news h3 em {
        font-size: 7vw;
        top: -2vw;
        font-style: normal;
        font-family: sans-serif;
    }#news_pickup #news h3 span {
        font-size: 4.9vw;
        left: 78vw;
        top: 1vw;
    }#news_pickup #news .news_area {
        height: 80vw;
    }
    .ranking_splide {
        width: 88vw;
        margin: 0 auto;
    }

    .ranking_splide .cast_list ul li span.ranking_number {
        width: 10vw;
        height: 10vw;
        font-size: 6.5vw;
        left: 2vw;
        top: 2vw;
    }

    #system h3 {
        font-size: 7vw;
        text-align: center;
        display: flex;
        align-items: baseline;
        justify-content: center;
        padding: 4vw 0;
    }
    .price_contet h4 {
        text-align: center;
        border-top: solid 1px rgba(255, 255, 255, 0.6);
        border-bottom: solid 1px rgba(255, 255, 255, 0.6);
        font-size: 7vw;
        padding: 2vw 0;
        margin: 0 auto 3.9vw;
    }
    .price_wrapper {
        grid-template-columns: 1fr;
    }
    .price_box {
        padding: 8vw 11.2vw;
    }
    .price_box h5 {
        margin: 0 auto 8vw;
    }
    .price_box h5::before {
        margin: 0 auto 3vw;
    }
    .price_box h5 p {
        border-top: dotted 2px #e3e3e3;
        border-bottom: dotted 2px #e3e3e3;
        padding: 2vw 0 2.7vw;
        font-size: 4.8vw;
    }
    .course_pice_list {
        font-size: 6.7vw;
        width: 96%;
        gap: 8vw 0;
    }
    .price_contet {
        margin-bottom: 15vw;
    }
    .basic_price_wrapper {
        grid-template-columns: 1fr;
        width: 100%;
        font-size: 4.7vw;
        gap: 4vw;
    }
    .basic_price_list {
        gap: 6vw;
    }
    .basic_price_box {
        gap: 4vw;
    }
    .price_contet.basic_price {
        margin-bottom: 10vw;
    }
    .basic_play_box {
        margin-left: -2.7vw;
    }
    .basic_play_box p {
        font-size: 4.2vw;
        margin-bottom: 3vw;
    }
    .basic_play_columns01 {
        margin-left: 4.2vw;
    }
    .basic_play_box ul {
        font-size: 3.8vw;
        gap: 1.5vw 0;
    }
    .basic_play_columns02 {
        margin-left: 4.2vw;
    }
    .basic_play_box.box01 {
        margin-bottom: 10vw;
    }
    .play_option_box ul {
        gap: 2vw;
    }
    .play_option_box li dl {
        font-size: 3.7vw;
    }
    .price_chui {
        margin: 12.8vw auto -6vw;
        font-size: 2.8vw;
    }
    .koutuhi_list {
        padding: 2vw 2vw 0;
    }
    .koutuhi_list dl {
        margin-bottom: 2.5vw;
        gap: 3vw;
        font-size: 3.2vw;
        border-top: dotted 2px rgba(255, 255, 255, 0.6);
        padding: 4vw 2vw;
        position: relative;
    }
    .koutuhi_list dt {
        position: absolute;
        top: -3vw;
        left: 0;
        right: 0;
        margin: auto;
        width: 21vw;
        font-size: 4vw;
        background: #000;
        text-align: center;
    }
    .koutuhi_list dd {
        line-height: 1.6;
    }
    .price_contet.koutuhi {
        margin-bottom: 5vw;
    }





    #shame_movie #shame div iframe {
        height: 110vw;
    }#shame_movie h3 {
        width: fit-content;
        font-size: 8vw;
        line-height: 1.5;
        margin: 8vw auto 3vw;
    }#shame_movie h3 span {
        font-size: 3.9vw;
        margin-bottom: 5vw;
        padding-top: 3vw;
    }
    .splide_top_short_movie .splide__slide video {
        width: 100%;
        height: 115vw;
        display: block;
        background: #000;
    }.pc_top_short_movie.movie_area {
    height: 107.3vw;
}
    .pc_top_short_movie.movie_area ul video {
        height: 72vw;
        width: 51vw;
        object-fit: cover;
    }.pc_top_short_movie.movie_area ul {
        display: flex;
        overflow: scroll;        width: 92.5vw;
    }
    .splide_top_short_movie .splide__slide {
        text-align: center;
        background: #fff;
    }    
   #shame_movie #shame div.shame_area,
    #shame_movie #movie div.movie_area {
        padding: 0;
        box-shadow: none;
        border-radius: 0;
    }
    

    #shame_movie #movie ul li .movie-info {
        margin: 2vw 0;
    }
    #shame_movie #movie ul li .movie-info .staff-name {
        font-size: 5vw;
        color: #FF3E9F;
        margin-bottom: 2vw;
        font-weight: bold;
    }#shame_movie #movie ul li .movie-info .view-count {
        font-size: 4.2vw;
        margin-bottom: 3vw;
    }#shame_movie #movie ul li a {
        font-size: 5vw;
        padding: 1vw 0;
        width: 94%;
        margin: 0 auto;
    }

    #cource h5 {
        width: 100%;
        padding: 4vw 0 1vw;
    }
    #video-section video#main-video {
        margin-bottom: 3vw;
    }#video-buttons li {
        margin-bottom: 2.37vw;
        cursor: pointer;
    }
    /* castpanel */
    .cast_list ul li ._info ._name {
        padding: 1vw 0 1.7vw;
        margin-bottom: 1.4vw;
    }

    .cast_list ul li {
        border-radius: 12px;
    }

    .cast_list ul li img._thumnail,
    .cast_list ul li video {
        border-radius: 12px 12px 0 0;
        margin-bottom: 3vw;
    }

    .cast_list ul li ._info ._shift{
        font-size: 3.5vw;
        width: 90%;
        border-radius: 10px;
        padding: 0.2vw 0 0.4vw;        
        position: static;
    }

    .cast_list ul li ._info ._name_text {
        font-size: 4vw;
    }

    .cast_list ul li ._info ._age {
        font-size: 3.1vw;
    }

    .cast_list ul li ._info ._size {
        font-size: 3vw;
    }

    .cast_list ul li ._info ._icon {
        padding: 1.7vw 1vw 2.3vw 1.7vw;
        margin: 0 3vw;
    }

    .cast_list ul li ._info ._icon p {
        font-size: 2.6vw;
        padding: 0.8vw 0;
    }
    .cast_list ul.cast_grid {
        grid-template-columns: repeat(2, 1fr)!important;
        gap: 5vw 1vw!important;
    }

    /* メディアリンク */
    ul.media_link_area {
        margin: 0 auto 2.5vw;
        gap: 2vw;
    }
    div.credit_btn {
    margin: 0 auto 5vw;
    padding: 1.4vw 0 2vw;
    font-size: 3.6vw;
}

    /* トップへ戻る */
    .return_top {
        font-size: 3.3vw;
        padding: 3.4vw;
    }

    /* メニュー開閉ボタン */
    .open_btn, .close_btn {
        position: fixed;
        top: 1.7vw;
        right: 2vw;
        width: 10vw;
        height: 10vw;
        font-size: 6vw;
        color: #fff;
        background: #310101;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 1vw;
        z-index: 1000;
        border: solid 1px rgb(255 255 255 / 60%);
    }

    /* 右カラム */
    .top_right_column {
        width: auto;
        margin: 0 auto;
    }
    #gravure ul li {
        border-radius: 19px;
    }
    /* news_pickup（イベント・新着情報エリア） */
    #news_pickup {
        display: block;
        padding: 7vw 3vw;
    }
    #news_pickup #pickup {
        width: 100%;
        margin-bottom: 10vw;
        padding-bottom: 5vw;
    }

    /* 新人紹介エリア (#new_cast) */
    #new_cast h3 span {
        font-size: 3.8vw;
    }
    #new_cast h3 {
        font-size: 6vw;
        grid-template-columns: 1fr;
        text-align: center;
        gap: 2vw;
        margin-bottom: 5vw;
        padding: 0;
    }
    #new_cast h3 button {
        width: 50%;
        margin: 0 auto;
        padding: 2vw 0;
        font-size: 4vw;
    }
    #new_cast li.top_newface {
        width: auto;
        margin: 0;
        display: block;
        padding: 4vw;
        border-radius: 0;
    }
    #new_cast button.read_more {
        margin: 8vw auto;
        width: 80vw;
        border-radius: 1.8vw;
    }
    /* gravure（グラビア） */
    #gravure {
        grid-template-columns: 1fr;
    }
    #gravure ul {
        grid-template-columns: repeat(2, 1fr);
        padding: 2vw 2vw;
        gap: 2vw 1vw;
    }
    li.gravure_last_item a {
        font-size: 3.5vw;
        padding-top: 16vw;
    }
    li.gravure_last_item svg {
        font-size: 10vw;
        top: 9vw;
    }
    /* 本日出勤表 (#schedule) */
    #schedule h3 {
        width: 90%;
        font-size: 7vw;
        padding-top: 10vw;
        padding-bottom: 3vw;
    }
    #schedule h3 span {
        font-size: 3vw;
        margin-bottom: 2vw;
    }
    dl.week_list {
        grid-template-columns: repeat(2, 1fr);
        gap: 3vw 2vw;
        margin: 5vw;
    }

    dl.week_list dt:first-child {
        grid-column: 1 / 3; 
    }
    dl.week_list dt {
        font-size: 3.5vw;
        padding: 2vw 0;
        border-radius: 4.6vw;
    }
    #schedule ul.cast_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 5vw 2vw;
    }
    .any_cast_button {
        width: auto;
        margin: 6vw 8vw 10vw;
        box-sizing: border-box;
    }
    .any_cast_button ul {
        grid-template-columns: 1fr;
        gap: 2vw;
    }
    .any_cast_button li {
        font-size: 4vw;
        padding: 3vw;
        border-radius: 3vw;
    }


    /* cast_list */
    .search_area {
        width: 90vw;
        padding-bottom: 2.8vw;
    }.search_area h2 {
        font-size: 4.4vw;
        width: 100%;
        margin: 4vw 0;
        padding-bottom: 2vw;
    }    .search-tags {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5vw;
        margin-bottom: 3vw;
    }.search-tags label {
        text-align: left;
        padding: 2.5vw 4vw;
        font-size: 3.7vw;
    }.search_area .other_option select {
        font-size: 5vw;
        padding: 1vw 3vw;
    }.search_area .other_option input[type="submit"] {
        font-size: 3vw;
        padding: 2.2vw 0;
    }.search_area .other_option {
        grid-template-columns: 2.2fr 2.2fr 1.7fr;
        gap: 1.9vw;
    }

    /* ランキング (#ranking) */
    .each_ranking_area {
        grid-template-columns: 1fr;
        width: 90%;
    }
    .each_ranking_area article {
        width: 100%;
        padding-bottom: 6vw;
        margin-bottom: 3vw;
    }
    #ranking h4 {
        width: 80%;
        font-size: 4vw;
        margin-bottom: 7vw;
    }
    #ranking h3 {
        padding: 11vw 0 5vw;
        width: 50vw;
    }
    /* 写メ日記・ショート動画 (#shame_movie) */
    #shame_movie {
        grid-template-columns: 1fr;
        padding-bottom: 11vw;
    }
    .cast_list ul li span.ranking_number {
        font-size: 7vw;
        width: 10vw;
        height: 10vw;
        left: 2vw;
        top: 2vw;
    }
    .each_ranking_area article h5 {
        padding: 4vw 0 2.4vw;
        font-size: 11vw;
    }.each_ranking_area article h5 span {
        font-size: 6vw;
    }.each_ranking_area article sub {
        font-size: 4.4vw;
        margin: 0;
        /* display: block; */
        margin-bottom: 9vw;
        width: 100%;
    }.each_ranking_area article em {
        font-size: 5vw;
        font-style: normal;
        margin-bottom: 3vw;
    }
    /* 料金システム (#system) */
    .price_menu {
        grid-template-columns: 1fr;
    }
    #video-section {
        grid-template-columns: 1fr;
    }
    #flow-section {
        grid-template-columns: 1fr;
    }
    /* costume */
    section.costume_list_section .costume_group {
        width: auto;
        margin-bottom: 7vw;
    }

    section.costume_list_section h2.group_title {
        font-size: 4vw;
        padding: 1.3vw 3vw;
        margin-bottom: 2vw;
    }
    section.costume_list_section ul.costume_items {
        grid-template-columns: repeat(2, 1fr);
        gap: 2vw 1vw;
    }li.costume_item p.costume_num {
        width: 41vw;
        font-size: 4vw;
        margin-top: -3vw;
        margin-bottom: 3vw;
    }li.costume_item p.costume_pr {
        font-size: 3vw;
        line-height: 0;
        margin-bottom: 4vw;
    }li.costume_item p.costume_title {
        width: 32vw;
        font-size: 3vw;
        margin-bottom: 3vw;
    }
    .cos_visual article {
        position: initial;
        text-align: left;
        width: 90vw;
    }
    
    .cos_visual article h3 {
        font-size: 7.5vw;
        margin-bottom: 4vw;
        padding-bottom: 3vw;
        line-height: 1.2;
    }.cos_visual article p {
        font-size: 4.3vw;
    }


    /* mail */
    .mailmaga_tokuten {
        padding-bottom: 8vw;
    }
    .mailmaga_tokuten ul {
        gap: 3vw;
        width: 90%;
        margin: auto;
        padding-top: 5vw;
    }
    .mailmaga_tokuten ul li {
        background: #3f1819;
        padding: 3vw;
        border-radius: 0.5vw;
    }
    .mailmaga_tokuten ul li h3 {
        border-bottom: solid 2px;
        padding: 0 0.3vw 3vw;
        display: grid;
        gap: 4.8vw;
        grid-template-columns: 15% 1fr;
    }
    .mailmaga_tokuten ul li h3 span {
        font-size: 4.3vw;
        font-weight: 600;
        line-height: 1.2;
    }
    .mailmaga_tokuten ul li p {
        font-size: 3.7vw;
        line-height: 1.6;
        padding: 2vw 0.3vw 0;
    }
    .mail_resist_manual {
        padding: 5vw 5vw;
    }
    .mail_resist_manual h3 {
        font-size: 5.3vw;
        margin-bottom: 3vw;
    }
    .mail_resist_manual .touroku01 {
        padding: 3.2vw 5vw;
        border: solid 1px;
        margin-bottom: 4vw;
    }
    .mail_resist_manual .touroku01 p {
        font-size: 3.7vw;
        margin-bottom: 3vw;
    }
    .mail_resist_manual {
        padding: 5vw 5vw;
    }
    .mail_resist_manual h3 {
        font-size: 5.3vw;
        margin-bottom: 3vw;
    }
    .mail_resist_manual .touroku01 {
        padding: 3.2vw 5vw;
        margin-bottom: 4vw;
    }
    .mail_resist_manual .touroku01 p {
        font-size: 3.7vw;
        margin-bottom: 3vw;
    }
    .mail_resist_manual .touroku01 dl {
        justify-content: center;
        margin-bottom: 3vw;
        flex-direction: column;
        gap: 2vw;
    }
    .mail_resist_manual .touroku01 dl dt {
        text-align: center;
    }
    .mail_resist_manual .touroku01 dl dt input {
        font-size: 3.8vw;
        padding: 0.5vw 0.5vw;
        max-width: 74vw;
    }
    .mail_resist_manual .touroku01 dl dd {
        display: flex;
        gap: 1vw;
        justify-content: center;
    }
    .mail_resist_manual .touroku01 dl dd input {
        width: 16vw;
        height: auto;
    }
    .mail_resist_manual .touroku01 .keitai {
        font-size: 3.2vw;
    }
    .mail_resist_manual .touroku03 {
        font-size: 2.6vw;
    }


    /* hotel map */
    section.hotel_map_section h2, section.hotel_map_section h3 {
        width: auto;
        font-size: 3.9vw;
        padding: 3vw 0;
        margin-bottom: 4vw;
    }
    section.hotel_map_section .headArea iframe {
        height: 60vw;
    }
    section.hotel_map_section h2, section.hotel_map_section h3 {
        width: auto;
        font-size: 3.9vw;
        padding: 3vw 0;
        margin-bottom: 4vw;
    }
    section.hotel_map_section #select_hotel_area_button {
        width: auto;
        grid-template-columns: repeat(4, 1fr);
    }section.hotel_map_section #select_hotel_area_button div {
        font-size: 4vw;
        padding: 2.1vw 0;
    }    .hotel-grid .hotel-card {
        grid-template-columns: 6.8fr 3.4fr 1fr;
        gap: 0;
    }.hotel-grid .hotel-card div {
        font-size: 3.1vw;
        text-align: left;
        padding: 2vw;
        height: auto;
    }.hotel-grid .hotel-card:first-of-type {
        display: none;
    }section.hotel_map_section .hotel-list-group .area_title {
        font-size: 4.4vw;
        margin-bottom: 3vw;
    }.hotel-grid .hotel-card div a {
        color: #fff;
    }.hotel-grid {
        margin-bottom: 12vw;
    }.copyright h5 {
        font-size: 2vw;
    }.copyright p {
        font-size: 2.1vw;
    }.copyright {
        padding: 2vw 0;
        line-height: 2;
    }

    /* sp-concept */
    .cocept_row {
        grid-template-columns: 1fr !important;
        margin-bottom: 8vw;
    }
    .cocept_row.row01 .concept_text-box {
        padding: 3.6vw 4.2vw 0;
        grid-row: 2 / 3;
    }
    .cocept_row.row01 .concept_text-box h3 {
        margin-bottom: 3.5vw;
    }
    .cocept_row.row01 .concept_text-box p {
        font-size: 4.7vw;
        line-height: 1.3;
        margin-bottom: 2.4vw;
        padding: 0 0 0 3.1vw;
    }
    .cocept_row.row01 .concept_text-box p.hueth {
        margin: 5.6vw auto 0;
    }
    .cocept_row.row02 .concept_image-box {
        padding: 3.6vw 4.2vw 0;
        margin-bottom: 6vw;
    }
    .cocept_row.row02 .concept_text-box {
        padding: 0 5.3vw 0;
    }
    .cocept_row.row02 .concept_text-box h3 {
        margin-bottom: 3.4vw;
    }
    .cocept_row.row02 .concept_text-box p {
        font-size: 3.3vw;
        line-height: 1.6;
        margin-bottom: 3.5vw;
    }
    .cocept_row.row02 {
        margin-bottom: 3vw;
    }
    .cocept_row.row03 .concept_image-box {
        padding: 0 4.2vw;
    }
    .cocept_row.row03 .concept_text-box {
        padding: 0 4.2vw;
        grid-row: 2 / 3;
    }
    .cocept_row.row03 .concept_image-box {
        margin-bottom: 3vw;
    }
    .cocept_row.row03 .concept_text-box p {
        font-size: 3.3vw;
        line-height: 1.4;
        margin-bottom: 3vw;
    }
    .kodawari {
        padding: 2vw 4.2vw;
    }
    .kodawari h3 {
        width: 88%;
        margin: 0 auto 3vw;
    }
    .kodawari_image {
        grid-template-columns: 1fr;
        gap: 4%;
        margin-bottom: 12vw;
    }

    /* campagn */
    section.campaign_section {
        width: 93vw;
        margin: 2vw auto;
    }
    section.campaign_section li {
        margin-bottom: 2.7vw;
    }
    section.campaign_section li h3 {
        font-size: 4vw;
        margin-bottom: 1vw;
    }

    /* profile */
    .profile_contents .right_column {
        width: 100vw;
        margin: 0 auto;
        padding: 5vw 3vw;
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
    }
    .profile_contents {
        grid-template-columns: 1fr;
    }
    .profile_contents .profile_staff_pr {
        font-size: 3.6vw;
        margin: 5vw 0 2vw;
        font-weight: 400;
    }
    .profile_contents ._name {
        font-size: 9vw;
        font-weight: 400;
        letter-spacing: 1px;
        gap: 2.3vw;
    }
    .profile_contents h3 {
        font-size: 13vw;
        letter-spacing: 1px;
    }
    .profile_contents ._age {
        font-size: 5.4vw;
        letter-spacing: 1px;
    }
    .profile_contents .schedule_list_profile {
        grid-template-columns: 1fr;
        gap: 0.8vw;
        grid-template-rows: max-content;
        grid-auto-flow: dense;
        font-size: 3vw;
    }
    .profile_contents .qa_area,
    .profile_contents .profile_scheduleCalendar,
    .profile_contents .cast_comment_area,
    .profile_contents .staff_comment_area,
    .profile_contents .movie_box,
    .profile_contents .syame_area,
    .profile_contents .profile_twitter {
        margin-bottom: 10vw;
    }
    .profile_contents .staff_comment_main *, .profile_contents .cast_comment_main * {
        font-size: 3.5vw !important;
    }
    .profile_contents .title_en,
    #bottom_area .title_en {
        color: #faebf2;
        font-size: 6.7vw;
        margin-bottom: 1vw;
    }
    .profile_contents .title_en {
        color: #faebf2;
        font-size: 6.7vw;
    }
    .profile_contents .title_jp,
    #bottom_area .title_jp {
        font-size: 3.2vw;
    }
    #bottom_area .graph-title {
        font-weight: 400;
        border-bottom: 4px solid #F0FF00;
        font-size: 4.2vw;
    }
    #bottom_area .graph-label {
        font-size: 3.3vw;
        width: 21vw;
    }
    #bottom_area .bar-container {
        height: 8.1vw;
        margin-left: 0.7vw;
    }
    #bottom_area div#graph_output {
        display: block;
    }
    #bottom_area .bar-fill {
        font-size: 4vw;
        padding: 1.9vw;
    }
    #bottom_area .graph-block {
        margin-bottom: 1vw;
        padding: 1.7vw;
        margin-bottom: 4vw;
    }
    #bottom_area div#graph_whole_output {
        grid-template-columns: repeat(1, 1fr);
    }
    #bottom_area .chart-title {
        font-size: 4.2vw;
        line-height: 3;
    }
    #bottom_area .schedule_list_profile dd {
        grid-template-columns: 1fr 15vw;
    }
    .profile_contents ._reserve_btn {
        border-radius: 2.8vw;
        padding: 2.3vw;
    }
    .profile_contents h3,
    #bottom_area h3 {
        margin-bottom: 4vw;
        padding-left: 3vw;
    }
    .profile_contents h3 {
        padding-bottom: 2vw;
    }
    .profile_contents .contProfileStoreComment__body ul {
        padding: 3vw 2vw 2.5vw;
        line-height: 1.7;
        display: block;
        font-size: 3.5vw;
        border-bottom: dotted 1px #8f8f8f;
    }
    .profile_contents p._tbwh {
        margin-bottom: 5vw;
        font-size: 3vw;
        font-weight: 400;
    }
    .profile_contents .view_shukkin {
        margin: 5vw auto;
        width: 96%;
    }
    .profile_contents .view_shukkin li {
        letter-spacing: 0.7vw;
        padding: 2.2vw;
        font-size: 3.4vw;
    }.profile_contents .schedule_list_profile dd{
        grid-template-columns: 2.5fr 1fr;
    }
    .profile_contents .staff_comment_main,
    .profile_contents .cast_comment_main {
        line-height: 1.1;
        max-height: 82vw;
        height: auto;
        padding: 4vw 3vw;
        font-size: 3.5vw !important;
        color: #fff;
    }
    #bottom_area .enquete_graph,
    #bottom_area .enquete_voice {
        width: 100%;
        margin: 0 auto;
        padding: 8.2vw 4vw;
    }
    .profile_contents .profile_option dl dt {
        padding: 2vw 1vw;
        font-size: 4.2vw;
    }
    .profile_contents .profile_option dl dd {
        padding: 2vw 0 1vw;
    }
    .profile_contents .profile_option dl {
        margin-bottom: 5vw;
        font-size: 3.9vw;
    }
    .profile_contents .schedule_list_profile dl  {
        grid-template-columns: 30% 1fr;
    }
    #bottom_area .enquete_voice h3 {
        width: auto;
        margin-bottom: 5vw;
    }
    #bottom_area .enquete_voice ul li dl:nth-of-type(1) {
        padding: 4vw 1vw 0vw 1vw;
        text-align: center;
    }
    #bottom_area .enquete_voice ul li dl:nth-of-type(1) img {
        width: 20vw;
    }
    #bottom_area .enquete_voice ul li dl:nth-of-type(2) {
        font-size: 2.2vw;
        width: 30vw;
        margin: 3vw;
        box-sizing: border-box;
        padding: 1vw 0;
    }
    #bottom_area .enquete_voice ul li dl:nth-of-type(3) {
        font-size: 3vw;
        padding: 3vw 4vw;
    }
    

    /* gravure */
    .gravure_contents.contents div#gravure {
        width: 100%;
        padding: 4vw 0;
    }
    .gravure_contents.contents #gravure .select_group {
        margin: 2.4vw;
    }.gravure_contents.contents div#gravure .castList {
        margin: 0;
    }
    
    /* SP専用下部メニュー */
    .bottom_menu_wrapper {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        background: #fff;
        z-index: 10000;
    }
    .bottom_menu_box {
        display: none;
    }
    .bottom_menu {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        background: #fff;
        padding: 2vw;
        gap: 2vw;
    }
    .bottom_menu li {
        background: #6accbf;
        text-align: center;
        font-size: 3.5vw;
        padding: 4vw 0;
        font-weight: bold;
    }
    .bottom_menu li.online_reserve_link {
        grid-column: 1/3;
        background: #ff3e9b;
    }
    .bottom_menu li.tel_reserve_link {
        grid-column: 3/5;
        background: #77abe5;
    }
    .bottom_menu_btn {
        display: block;
        background: #ff3e9b;
        color: #fff;
        text-align: center;
        padding: 3vw 0;
        font-size: 4vw;
    }


    /* 固定フッター */
    ul.sticky_footer .top-item {
        grid-column: span 2; /* 2列分使う */
    }
    div#endNavi {
        position: sticky;
        bottom: 0;
        z-index: 4;
    }
    .sticky_footer_wrapper {
        /* display: none; */
    }
    ul.sticky_footer {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 2px;
        background: #000;
    }
    .sticky_footer li {
        display: flex;
        justify-content: center;
        align-items: center;
        background: #85827b;
        padding: 4vw 0;
        font-size: 3.8vw;
        font-weight: 500;
    }
    .online_btn {
        grid-column: 1/3;
        background: #9d366d !important;
    }
    .tel_btn {
        grid-column: 3/5;
        background: #49798d !important;
    }
    .footer_btn {
        background: #fd3484;
        color: #fff;
        text-align: center;
        padding: 2.6vw;
        font-size: 4vw;
        font-weight: 500;
    }


    .system_grid_wrapper {
        grid-template-columns: 1fr;
    }
    .options_box {
        background: none;
        padding: 0;
    }
    .yuryou_option dl {
        display: block !important;
    }
    #system .system_block .yuryou_option dt {
        width: 100%;
        background: none;
        border: none;
        text-align: left;
        font-size: 5.4vw;
        border-bottom: 1px solid #ED6A9E;
        padding: 2vw 0;
        margin-bottom: 4vw;
        border-radius: 0;
        color: #ED6A9E;
    }
    #system .system_block .yuryou_option dt span {
        display: contents;
        font-size: 3.5vw;
        color: #000;
        font-weight: 100;
    }
    #system .system_block .free_option dt {
        width: 100%;
        background: none;
        border: none;
        text-align: left;
        font-size: 5.4vw;
        border-bottom: 1px solid #ED6A9E;
        padding: 2vw 0;
        margin-bottom: 4vw;
        border-radius: 0;
        color: #ED6A9E;
    }
    #system .system_block .free_option dt span {
        display: contents;
        font-size: 3.5vw;
        color: #000;
        font-weight: 100;
    }
    .free_option dl {
        display: block !important;
    }
    .yuryou_option dd {
        display: block;
        height: 100%;
        margin-top: 6vw;
    }
    .yuryou_option_box {
        width: 100%;
        color: #63102a;
        padding: 5vw;
        margin-bottom: 5vw;
    }
    .yuryou_option_box h5 {
        top: -3vw;
        left: 40%;
        font-size: 5vw;
        padding: 0 0.5vw;
        background: #ffffff;
        color: #eb5a91;
        font-weight: 600;
    }
    ul.yuryou_option_list {
        gap: 2.4vw;
        font-size: 3.2vw;
        font-weight: 600;
    }
    .free_option dd {
        display: block;
        height: 100%;
        padding: 0 2vw;
    }
    .free_option_box {
        width: 100%;
        font-size: 3.4vw;
        font-weight: 600;
        margin-bottom: 3vw;
    }
    .free_option_box h5 {
        color: #fff;
        background: #5d0923;
        display: block;
        padding: 1.1vw 3.9vw;
        border-radius: 1.6vw;
        font-size: 4vw;
        margin-bottom: 2vw;
        text-align: left;
    }
    .free_option_list {
        color: #5d0923;
        gap: 2.8vw;
        padding: 0 1.5vw;
    }
    .system_content.koutuhi.sp {
        padding: 0 !important;
        margin: -5vw auto;
    }
    .system_content.koutuhi.sp dl {
        margin-bottom: -7vw !important;
    }
    .credit_nav_box {
        width: 90vw;
    }
    .price_menu li {
        padding: 5vw;
    }
    .price_menu li.price_menu_wrapper01 {
        background: #f7fcff;
        border: solid #c5e6f9 1px;
    }
    .price_menu li.price_menu_wrapper02 {
        background: #fff6f7;
        border: solid #f997c5 1px;
    }
    .price_menu li.price_menu_wrapper03 {
        background: #f7fcff;
        border: solid #91dacf 1px;
    }
    .price_menu li.price_menu_wrapper04 {
        background: #fffedf;
        border: solid #fd9118 1px;
    }

    .price_menu_header {
        margin-bottom: 5vw;
    }
    .price_menu_box {
        display: grid;
        grid-template-columns: 1fr 1fr;
        text-align: center;
        gap: 1vw;
        margin-bottom: 5vw;
    }
    .price_menu_box_cell {
        padding: 4vw 0 4.2vw;
        color: #fff;
    }
    .price_menu_box_cell.price_menu_box_head {
        background: #939393;
    }
    .price_menu_box_cell.price_menu_box_price {
        border: solid 1px;
        color: #000;
        background: #fff;
    }
    .price_menu_wrapper01 .price_menu_box_cell.price_menu_box_time {
        background: #4aa0e9;
    }
    .price_menu_wrapper02 .price_menu_box_cell.price_menu_box_time {
        background: #ea7dac;
    }
    .price_menu_wrapper03 .price_menu_box_cell.price_menu_box_time {
        background: #5bc4b5;
    }
    .price_menu_wrapper04 .price_menu_box_cell.price_menu_box_time {
        background: #fe9118;
    }
    .price_menu_box_bottom {
        grid-column: 1 / 3;
        background: #fff;
        border: solid 1px;
        font-size: 2.9vw;
        padding: 3.7vw 0;
        font-weight: 500;
    }

    .price_menu_description {
        font-size: 3vw;
        line-height: 1.7;
        padding: 0 1vw;
    }

    #popup {
        width: 90%;
        padding: 11px;
        box-sizing: border-box;
    }
    h4.reserve_wrapper_head {
        color: #fff21b;
        margin: 0 auto 3vw;
        padding-bottom: 3vw;
        font-size: 7.1vw;
        width: 100%;
    }
    #popup em {
        font-size: 3.3vw;
    }
    #popup li p {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        margin: auto;
        text-align: center;
        color: #fbc676;
        font-family: serif;
        letter-spacing: 1px;
        font-size: 4.1vw;
        font-weight: bold;
        width: 78vw;
        height: 4vw;
    }
    #popup li img {
        width: 100%;
    }
    #popup ul {
        display: grid;
        justify-content: center;
        width: 100%;
        margin: 2vw auto 1vw;
        gap: 2vw;
    }
    .for_use_ordersheet {
        width: 90%;
        padding: 5vw 4vw;
        border-radius: 1vw;
    }
    .for_use_ordersheet h5 {
        font-size: 4.3vw;
        margin-bottom: 5vw;
    }
    .for_use_ordersheet p {
        font-size: 3.4vw;
        margin-bottom: 4vw;
    }
    .for_use_ordersheet a {
        width: 98%;
        padding: 2vw 0 2.5vw;
        border-radius: 1vw;
        font-size: 3.7vw;
    }
    section.section_order {
        padding: 5vw 0;
    }
    p.order_main-title {
        font-size: 9.8vw;
        line-height: 1;
        margin-bottom: 2.5vw;
    }
    p.order_sub-text {
        font-size: 2.9vw;
        padding: 1.5vw 4.5vw 1.8vw;
    }
    .order_select-tubs {
        width: 98%;
        grid-template-columns: 1fr;
        position: relative;
    }
    .order_select-tubbox02 {
        position: absolute;
        bottom: 0;
        left: 0;
        grid-column: auto;
        width: 100%;
    }
    .order_select-tubbox01 .order_select-tub {
        padding-bottom: 13vw;
    }
    .order_select-tub {
        font-size: 2.8vw;
        padding: 2vw 0;
        border-radius: 1.5vw 1.5vw 0 0;
        border: solid 1px #adadad;
    }
    .order_main-box {
        padding: 6vw 5vw;
    }
    .order_main-box h3 {
        font-size: 5.9vw;
        margin-bottom: 2.5vw;
    }
    .order_main-box h3 span {
        margin-left: 3.5vw;
    }
    p.order-description {
        font-size: 3.4vw;
        margin-bottom: 1.5vw;
    }
    .step-svg {
        width: 30vw;
        margin-right: -2vw;
    }
    .order_form-content_wrapper {
        margin-bottom: 5vw;
        padding: 3.2vw 3.2vw 7vw;
    }
    p.order_form_request.bottom {
        font-size: 3.2vw;
        margin: 3vw auto 0 0;
        width: 100%;
    }
    p.order_form_request.top {
        font-size: 3.2vw;
        margin: 0 auto 3vw 0;
        width: 100%;
    }
    .order_form-content {
        grid-template-columns: 1fr;
        gap: 5%;
    }
    .order_form_question {
        font-size: 3.7vw;
        margin-bottom: 2vw;
    }
    span.list-maru {
        margin-right: 3.2vw;
    }
    .order_form-content input[type="text"] {
        font-size: 3.2vw;
        padding: 3.5vw;
    }
    .order_form-content select {
        font-size: 3.2vw;
        padding: 3.5vw;
    }
    .sonota {
        margin-top: 2.2vw;
    }
    .order_form-content textarea {
        font-size: 3.2vw;
        padding: 3.5vw;
        margin-bottom: 0.2vw;
    }
    .order_submit_btn {
        width: 92%;
        padding: 3vw 0 3.4vw;
        border-radius: 3vw;
    }
    .input-required::after {
        content: "必須";
        margin-left: 3vw;
        background: #fea0a7;
        color: #fff;
        font-size: 2.7vw;
        padding: 0.6vw;
    }
        #index_gme_area section {
        width: 94vw;
        padding: 8vw 0 8vw;
    }
    #index_gme_area article {
        width: 90vw;
        display: block;
    }
    #index_gme_area article img {
        width: 9vw;
        margin-bottom: 2vw;
    }
    #index_gme_area article div {
        font-size: 4vw;
    }
    #index_gme_area ul {
        width: 90vw;
    }
    #index_gme_area ul li {
        margin-bottom: 2vw;
    }
    #index_gme_area ul li dl dt {
        font-size: 2.6vw;
        margin-bottom: 1.4vw;
        padding-bottom: 0.2vw;
    }
    #index_gme_area ul li dl dd {
        font-size: 2.1vw;
    }
    #index_gme_area ul li p img {
        border-radius: 10vw;
    }

    .gme_confirm_btn {
        border-radius: 0.2vw;
        padding: 3vw;
        width: 95.5%;
    }
    .gme_confirm_btn a {
        grid-template-columns: 2fr 6fr;
    }
    .gme_confirm_btn div {
        font-size: 3.5vw;
        border-radius: 2vw;
        line-height: 1.7;
    }
    .gme_confirm_btn div span {
        font-size: 4vw;
        display: block;
    }
        .profile_Crank, .profile_kuchikomi, .profile_Mrank {
        width: 100%;
        margin: 3vw 0;
    }

}
@media(min-width:767px) {
    header {
        position: sticky;
        top: 0;
        z-index: 4;
        background: #3F1819;
    }
    header .global_menu {
        display: grid;
        padding: 1vw 0;
        align-items: center;
        grid-template-columns: 4.6fr 2.2fr 2.2fr 0.2fr 0.85fr;
        margin: 0 auto;
        width: 75vw;
        align-items: center;
        gap: 2vw;
        box-shadow: none;
    }
    .open_btn, .close_btn {
        position: static;
    }
    .header_content01.pc {
        color: #ffffff;
        /* font-weight: 600; */
        font-size: 1.1vw;
        display: grid;
        gap: 0.8vw;
        font-family: serif;
        text-align: left;
    }
    .header_content01.pc p{
        letter-spacing: 1px;
    font-family: serif;
    }

    span.webok {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-size: 0.5vw;
        padding: 0.2vw 0.3vw;
        border: solid 1px;
        margin: 0 auto 0 0.3vw;
    }
    .header_content02_text {
        color: #ffffff;
        font-size: 0.6vw;
        padding: 0.1vw;
        margin-bottom: 0.5vw;
        border: 1px solid #fff;
        text-align: center;
        letter-spacing: 1px;
    }
    .header_content02_tel {
        color: #FFFF00;
        font-size: 0.8vw;
        font-family: serif;
        letter-spacing: 2px;
        text-align: center;
    }
    .header_content02_tel span {
        font-size: 1.7em;
        letter-spacing: 0vw;
        margin-left: 0.2vw;
        font-family: serif;
    }
    a.reservation_btn.pc {
        color: #fff;
        background: #C9971E;
        display: grid;
        justify-content: center;
        align-items: center;
        padding: 0.4vw 3vw;
        text-align: center;
        gap: 0.1vw;
        border-radius: 5vw;
    }
    .reservation_btn_texten {
        font-size: 0.9vw;
        font-weight: 800;
        letter-spacing: 1px;
    }
    .reservation_btn_textja {
        font-size: 0.6vw;
        letter-spacing: 0.1vw;
    }
}

/* PC用常時表示 */
@media screen and (min-width: 768px) {
    .top_left_column.always-open {
        display: block !important;
        position: sticky !important;
    }
    /* スクリプト用に固定位置制御 */
    .position-fixed {
        position: fixed !important;
    }
}

