

/* 画面幅が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: #ee92a7;
    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: 2;
    position: fixed;
    opacity: 0.5;
}

/* common */
header {
    position: sticky;
    top: 0;
    z-index: 1;
}

header .global_menu {
    display: grid;
    grid-template-columns: 0.7fr 3.2fr 0.15fr;
    gap: 1vw;
    background: #fff;
    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 h1 {
    position: absolute;
    top: 1.5vw;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    color: #fff;
    font-family: serif;
    font-weight: bold;
    font-size: 3.4vw;
}
.contents h1 span {
    display: block;
    font-size: 1.05vw;
    margin-top: 1.1vw;
}

/* 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: 22vw;
    height: 100vh;
    background-image: linear-gradient(180deg, rgb(255 238 248), rgb(255 215 239));
    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: 68%;
    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: #ff3e9b;
    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: #6accbf;
    border-radius: 1.5vw;
    font-size: 0.7vw;
    font-weight: 600;
}
.top_menu li:hover {
    opacity: 0.7;
}
.top_menu li a {
    width: 100%;
    display: block;
    padding: 0.6vw 0;
}

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

/* サブメニュー */
dl.top_sub_menu {
    width: 90%;
    margin: 0 auto 1vw;
    color: #2e9e8d;
    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: #ffe0f3;
    top: -4.8%;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    font-size: 0.9vw;
}

.top_sub_menu a {
    color: #2e9e8d !important;
}

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

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

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

/* 右カラム */

div#main_visual {
    margin-bottom: 1vw;
}

.top_right_column {
    width: 77.2vw;
    margin: -100vh 0 0 auto;
}
/* --- イベント・新着情報ブロック --- */
#news_pickup {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    background: #FFE2E4;
    padding: 2vw 3vw;
    gap: 2vw;
}

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

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

#news_pickup #pickup ul li {
    border-radius: 20px;
    box-shadow: 0px 0px 15px -5px #777777;
    background: #EE92A7;
    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: #fff;
    height: 27.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: #F4FFBB;
    padding-bottom: 3.3vw;
}

#new_cast h3 {
    display: grid;
    grid-template-columns: 1.6fr 2.2fr 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: #8CC600;
    border: none;
    color: #fff;
    border-radius: 40px;
    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: #fff;
    width: 33.5vw;
}

#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;
}

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

/* 名前 */
#new_cast li.top_newface ._name {
    color: #EE92A7;
    padding-bottom: 0;
}

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

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

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

/* サイズ */
#new_cast li.top_newface ._size {
    font-size: 1vw;
    color: #EE92A7;
    margin-bottom: 0.7vw;
    letter-spacing: 2px;
}

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

#new_cast li.top_newface ._icon p {
    background: #71BDFF;
    padding: 0.3vw 0;
    border-radius: 10px;
}

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

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

#new_cast li.top_newface ._icon p.syame_on {
    background: #31BCFF;
}

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

/* コメント */
#new_cast li.top_newface ._comment {
    text-align: left;
    color: #000;
    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: #F783AA;
    border: none;
    width: 100%;
    color: #fff;
    font-size: 0.9vw;
    padding: 0.2vw 0 0.4vw;
    border-radius: 5px;
}
/* --- グラビアエリア（#gravure） --- */
#gravure {
    display: grid;
    grid-template-columns: 1fr 2.1fr;
    background: #FFCADA;
}

/* グラビア タイトル */
#gravure h3 {
    padding: 2vw 2.8vw 0.6vw;
    color: #7F0637;
    font-family: serif;
    font-weight: bold;
    border-bottom: 1px solid #7F0637;
    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 {
    background: #E2698C;
    border-radius: 23px;
    display: grid;
    align-items: center;
    justify-content: center;
    color: #F9CFD0;
    font-weight: bold;
    font-size: 0.9vw;
    padding-top: 4vw;
    position: relative;
    cursor:pointer
}

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: #fff3f3;
    background-image: url(../img/bg_pink.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    padding-bottom: 1px;
}

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

#schedule h3 span {
    display: block;
    margin: 0.8vw 0 0.3vw;
    font-size: 1vw;
}

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

dl.week_list dt {
    background: #ffffff;
    color: #cdacb7;
    text-align: center;
    padding: 0.7vw 0 0.8vw;
    font-size: 0.8vw;
    font-weight: 600;
    border-radius: 20px;
    cursor: pointer;
}

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

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

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

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

.any_cast_button li {
    border: 1px solid #3F272F;
    color: #3F272F;
    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(3, 1fr);
    gap: 1.4vw;
    width: 68vw;
    margin: 0 auto;
}

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

/* ランキングタイトル */
.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: 1fr 1fr 0.55fr;
    gap: 1.8vw;
    padding: 3.3vw;
    text-align: center;
    position: relative;
}

/* 写メ日記・ショート動画 共通h3 */
#shame_movie h3 {
    color: #EF93A8;
    font-size: 2.3vw;
    letter-spacing: 0px;
    font-weight: bold;
    width: 78%;
    margin: 0 auto;
    margin-bottom: 1.4vw;
}

#shame_movie h3 span {
    display: block;
    font-size: 1vw;
    border-top: 5px solid #EF93A8;
    margin-top: 0.6vw;
    padding-top: 0.6vw;
    color: #3D0014;
    font-weight: 500;
}
           

/* 写メ日記・ショート動画 iframe/videoエリア 共通 */
#shame_movie #shame div.shame_area,
#shame_movie #movie div.movie_area {
    background: #fff;
    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;
}
/* --- 料金システムエリア (#system) --- */
#system {
    background: #FFEFF5;
}

/* システムエリアタイトル */
#system h3 {
    text-align: center;
    color: #fff;
    font-weight: bold;
    padding: 1vw 0;
    font-size: 1.8vw;
    letter-spacing: 1px;
    background: repeating-linear-gradient(
        312deg,
        #F997C6,
        #F997C6 10px,
        #F897C4 10px,
        #EDA2C5 20px
    );
}

#system h3 span {
    color: #FFDD01;
    font-size: 1.2vw;
}

/* システムエリア内のブロック */
#system .system_block {
    padding: 2vw 1.4vw;
}

/* 料金プランの画像一覧 */
.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 1fr;
    }
    .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_blue.jpg);
    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: #FFE6EC;
    padding: 2.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;
    margin: 3vw 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 */
section.concept_list_section {
    background: #F85991;
    padding: 0vw 5.7vw 3vw 12.9vw;
}
.sub_visual_2_img p {
    position: absolute;
    top: 25vw;
    left: 48vw;
    color: #fff;
    line-height: 2;
    width: 41vw;
    font-size: 1.1vw;
    letter-spacing: 1px;
}
.sub_visual_3_img p {
    position: absolute;
    top: 39vw;
    left: 16vw;
    color: #fff;
    line-height: 2;
    width: 41vw;
    font-size: 1.1vw;
    letter-spacing: 1px;
}
section.concept_list_section article {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 0;
    align-items: center;
    width: 68vw;
    margin: 0 auto 2vw;
}section.concept_list_section .play_bg {
    display: grid ;
    grid-template-columns: 1fr 1.4fr;
    gap: 3.2vw;
    width: 65.9vw;
    margin: -6.8vw auto 0;
    overflow: visible;
}section.concept_list_section .play_bg .play_flow {
    color: #fff;
    padding-top: 1vw;
    position: sticky;
    top: 6vw;
    align-self: start;
}section.concept_list_section .play_bg .play_flow h3 {
    font-size: 1.1vw;
    letter-spacing: 1px;
    font-weight: 400;
    margin-bottom: 3.3vw;
}section.concept_list_section .play_bg .play_flow h3 span {
    font-size: 0.9vw;
}section.concept_list_section .play_bg .play_flow ul li {
    border: 1px solid #fff;
    padding: 1.3vw;
    font-size: 1vw;
    margin-bottom: 1.2vw;
    border-radius: 40px;
    width: 21.2vw;
    display: flex;
    justify-content: space-between;
}

section.concept_list_section .play_bg .play_flow_img ol li {
    background: #fff;
    border-radius: 40px;
    padding: 2.8vw 3.6vw;
    margin-bottom: 2vw;
}section.concept_list_section .play_bg .play_flow_img ol li h4 {
    font-weight: bold;
    color: #F85991;
    font-size: 1.9vw;
    margin-bottom: 1.1vw;
    letter-spacing: 1px;
}section.concept_list_section .play_bg .play_flow_img ol li h4 i {
    background: #F85991;
    display: block;
    width: 5.7vw;
    padding: 0.4vw;
    text-align: center;
    font-size: 1vw;
    font-weight: bold;
    border-radius: 22px;
    margin-bottom: 0.8vw;
    color: #fff;
}section.concept_list_section .play_bg .play_flow_img ol li sub {
    font-size: 1vw;
    color: #5C2334;
    margin-bottom: 1vw;
    display: block;
}section.concept_list_section .play_bg .play_flow_img ol li img {
    padding: 0.8vw 0 0;
    margin-bottom: 1vw;
}section.concept_list_section .play_bg .play_flow_img ol li p {
    font-size: 1vw;
    line-height: 1.6;
    color: #5C2334;
    margin-bottom: 1vw;
}section.concept_list_section .play_bg .play_flow_img ol li button{
    background: #3F7EFF;
    width: 20vw;
    margin: 2vw auto 0;
    color: #fff;
    font-size: 1vw;
    padding: 1vw 0;
    border-radius: 40px;
    border: none;
    display: block;
    cursor: pointer;
    text-align: center;
}

/* grabure */
.gravure_contents.contents div#gravure {
    display: block;
    padding: 1vw 4vw;
}
.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:#FF3E9B !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 */
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: #FFA500;
    border-bottom: 1px solid #FFA500;
    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, #ffb75a 50%, orange 50%);
    border-radius: 5px;
}
section.hotel_map_section .hotel-list-group .area_title{
    font-size: 1.5vw;
    margin-bottom: 0.7vw;
    font-weight: bold;
}

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

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

.hotel-grid .hotel-card:first-of-type {
    background: #FFA500;
    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: #FFA500;
}
.hotel-grid .hotel-card div img {
    width: auto;
    height: auto;
    display: block;
    margin: 0 auto;
}
.hotel-grid .hotel-card div {
    border-right: 1px solid #FFA500;
}

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

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

/* mail */
.mailmaga_contents.contents {
    background: #FFF3F5;
}
.mailmaga_contents.contents .mail_box {
    width: 64vw;
    margin: 3.1vw auto 0vw;
}.mailmaga_contents.contents .mail_box ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw;
}.mailmaga_contents.contents .mail_box ul li {
    background: #fff;
    box-shadow: 0px 0px 15px -5px #777777;
    border-radius: 10px;
    padding: 1vw 2vw 1.5vw;
    text-align: center;
}.mailmaga_contents.contents .mail_box ul li h3 {
    font-size: 1.1vw;
    font-weight: bold;
    color: #FD3977;
    margin-bottom: 0.4vw;
}.mailmaga_contents.contents .mail_box ul li h3 i {
    font-size: 2vw;
    font-style: normal;
}.mailmaga_contents.contents .mail_box ul li em {
    display: block;
    font-size: 1.4vw;
    font-style: normal;
    font-weight: bold;
    letter-spacing: 3px;
    margin-bottom: 0.2vw;
}.mailmaga_contents.contents .mail_box ul li span {
    display: block;
    font-size: 1.8vw;
    font-weight: bold;
    color: #FF3A79;
    letter-spacing: 2px;
    margin-bottom: 1.7vw;
}.mailmaga_contents.contents .mail_box ul li p {
    text-align: left;
    font-size: 1vw;
    line-height: 1.7;
    height: 4.5vw;
}.mailmaga_contents.contents .mail_box ul li div {
    margin: 0vw 2.7vw;
}.mailmaga_contents.contents .mail_box ul li div dl {
    background: #F5568C;
    color: #fff;
    padding: 0.7vw 0;
    margin-bottom: 0.8vw;
    border-radius: 25px;
}.mailmaga_contents.contents .mail_box ul li div dl dt {
    font-size: 1.4vw;
    letter-spacing: 0px;
    margin-bottom: 0.3vw;
}.mailmaga_contents.contents .mail_box ul li div article {
    font-size: 1vw;
    color: #F5568C;
    margin-top: 0.8vw;
}.mail_resist_manual {
    width: 64vw;
    margin: 2.1vw auto 0vw;
    background: #fff;
    box-shadow: 0px 0px 15px -5px #777777;
    border-radius: 10px;
    padding: 1vw 2vw 1vw;
}.mail_resist_manual div {
    display: grid;
    grid-template-columns: 3.7fr 1fr;
    gap: 0;
    padding: 1vw 3vw 1vw 4.5vw;
}.mail_resist_manual button {
    text-align: center;
    width: 28vw;
    margin: 0 auto;
    display: block;
    background: linear-gradient(160deg, #ff98ae 50%, #ff7a8c 50%);
    padding: 0.8vw 0;
    font-size: 1.1vw;
    border-radius: 11px;
    color: #fff;
}.mail_resist_manual h4 {
    text-shadow: 1px 1px 2px #FF0000;
    padding: 5px;
    color: #fff;
    font-size: 18px;
    border-right-width: 5px;
    border-left-width: 5px;
    border-right-style: solid;
    border-left-style: solid;
    border-right-color: #FF99CC;
    border-left-color: #FF99CC;
    margin-top: 0px;
    margin-right: 0;
    margin-bottom: 15px;
    margin-left: 0;
    padding: 8px 0;
    background: linear-gradient(0deg, rgba(255, 51, 154, 1) 0%, rgba(255, 51, 154, 1) 48%, rgba(255, 116, 184, 1) 50%, rgba(255, 170, 218, 1) 100%);
    text-align: center;
    width: 48.3vw;
    margin: 0.9vw auto 1vw;
    font-size: 1.1vw;
    padding: 0.6vw 0;
}.mail_resist_manual div em {
    font-style: normal;
    line-height: 1.4;
}.mail_resist_manual div {
    display: grid;
    grid-template-columns: 5.6fr 1fr;
    padding: 2vw 7vw 1vw 9.3vw;
}.mail_resist_manual p {
    padding: 1vw;
    width: 30vw;
    text-align: center;
    margin: 0 auto 0;
    line-height: 1.3;
}

/* --- castパネル共通スタイル（cast_list） --- */
.cast_list ul li {
    border-radius: 20px;
    background: #EE92A7;
    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(0,0,0,0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1em;
  box-sizing: border-box;
}

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

.cast_list ul li .cast_overlay .cast_comment {
  color: #fff;
  font-size: 1em;
  line-height: 1.5;
  font-weight: bold;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
}

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

.cast_list ul li img._thumnail {
    border-radius: 20px 20px 0 0;
}

.cast_list ul li ._info {
    position: relative;
    padding: 1.1vw 0 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 {
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    top: -0.8vw;
    background: #ffffff;
    width: 80%;
    border-radius: 30px;
    border: 2px solid #EE92A7;
    color: #F4567A;
    padding: 0.2vw 0 0.2vw;
    font-size: 1.0vw;
}

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

.cast_list ul li ._info ._name {
    margin-bottom: 0.5vw;
    border-bottom: 0.5px dashed #fff;
    padding-bottom: 0.5vw;
}

.cast_list ul li ._info ._name_text {
    font-size: 1.2vw;
    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.7vw;
    margin-bottom: 0.5vw;
}

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

.cast_list ul li ._info ._icon p {
    border: 1px solid #fff;
    padding: 0.2vw;
    border-radius: 20px;
}

/* profile */
.profile_contents {
    background: #fff5ff;
    background-image: url(../img/bg_bule.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    
}
.profile_contents, #bottom_area {
    line-height: 1;
}
.profile_contents .left_column {
    position: sticky;
    top: 4.5vw;
    left: 0.4vw;
    width: 42vw;
    padding: 2vw 1vw 3vw 3vw;
    height: 89vh;
}
.profile_contents div#main_image_box {
    margin-bottom: 1.3vw;
}
.profile_contents .right_column {
    width: 55vw;
    margin: 0 0 0 auto;
    padding: 2vw 6.4vw;
    background: #FFF2E9;
    background-image: url(../img/bg_pink.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: center;

    font-size: 0.9vw;
}
.profile_contents .profile_staff_pr {
    text-align: center;
    color: #E74667;
    font-weight: 600;
    margin-bottom: 0.3vw;
    font-size: 1vw;
}
.profile_contents .profile_staff_pr p {
    font-family: "Kiwi Maru", serif;
    font-weight: 500;
}
.profile_contents ._name {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 1vw;
    color: #f56996;
    font-size: 2.8vw;
    font-weight: 600;
    letter-spacing: 0vw;
    margin-bottom: -0.3vw;
}
.profile_contents ._name h3 {
    font-family: "Cherry Bomb One", system-ui;
    font-weight: 400;
}
.profile_contents ._age {
    font-size: 1.7vw;
}
.profile_contents ._age p {
    font-family: "Cherry Bomb One", system-ui;
    font-weight: 400;
 }
.profile_contents p._tbwh {
    text-align: center;
    color: #170422;
    font-weight: 600;
    letter-spacing: 4.5px;
    font-size: 1vw;
    font-family: "Kiwi Maru", serif;
    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 #000;
    line-height: 1.5;
    align-items: center;
    gap: 1vw;
}
.profile_contents .contProfileStoreComment__body ul:last-of-type {
    border-bottom: none;
}
.profile_contents .qcom {
    color: #f56996;
}
.profile_contents .schedule_list_profile {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.3vw;
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
}
.profile_contents .schedule_list_profile dl {
    display: grid;
    grid-template-columns: 30% 1fr;
    font-weight: 600;
}
.profile_contents .schedule_list_profile dt {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffcdd7;
    color: #e84768;
}
.profile_contents .schedule_list_profile dt.today_color {
    background: #01c59f;
    color: #fff;
    font-weight: 400;
}
.profile_contents .schedule_list_profile dd {
    display: grid;
    grid-template-columns: 1fr 4.5vw;
    align-items: center;
    background: #fff;
    padding: 0.5vw;
}
.profile_contents .schedule_list_profile dd.attendance {
    color: #e84768;
}
.profile_contents .schedule_list_profile dd span {
    text-align: center;
}
.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;
    color: #e84768;
    border: solid #fff 1px;
}
.profile_contents ._reserve_btn.reserve_ok a {
    color: #e84768;
}
.profile_contents ._reserve_btn.reserve_ng {
    background: #fff;
    color: #000;
    border: solid 1px;
}
.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 #ffcdd7;
    font-size: 3.8vw;
    align-items: baseline;
}
.profile_contents h3 {
    border-left: none;
    margin-bottom: 1.5vw;
    padding: 0 0 0.5vw;
    display: flex;
    justify-content: space-between;
    border-bottom: dotted 2px #ffcdd7;
    font-size: 3.8vw;
}
.profile_contents .title_en,
#bottom_area .title_en {
    font-family: "Cherry Bomb One", system-ui;
    font-weight: 400;
    color: #faebf2;
    -webkit-text-stroke: 2px #eb1b9b;
    text-shadow: 0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd;
    font-size: 2.4vw;
    line-height: 1;
}
.profile_contents .title_en {
    font-family: "Cherry Bomb One", system-ui;
    font-weight: 400;
    color: #faebf2;
    -webkit-text-stroke: 2px #eb1b9b;
    text-shadow: 0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd,
            0 0 3px #fcb4dd;
    font-size: 2.4vw;
}
.profile_contents .title_jp,
#bottom_area .title_jp{
    font-size: 1vw;
    font-family: "Kiwi Maru", serif;
    font-weight: 500;
}
.profile_contents .title_jp {
    font-family: "Kiwi Maru", serif;
    font-weight: 500;

}
.profile_contents span.attendance {
    color: #e84768;
}
.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: #E74667;
    color: #fff;
}
.profile_contents .today_time {
    background: #fff;
    color: #0c0043;
}
.profile_contents .qa_area {
    background: #fff;
    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;
}
.profile_contents .staff_comment_main *,
.profile_contents .cast_comment_main * {
    font-size: 0.9vw !important;
    color: #000 !important;
    font-weight: 400 !important;
}
.profile_contents div#main_image_box .splide__slide img {
    vertical-align: bottom;
    border-radius: 12px;
}
.profile_contents .profile_option dl {
    margin-bottom: 1vw;
    margin-left: 1vw;
}
.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);
}
.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;
}
#bottom_area .bar-container {
    background: #ffe5e5;
    height: 2.1vw;
    flex: 1;
    position: relative;
    margin-left: 0.7vw;
}
#bottom_area .bar-fill {
    background: #f88;
    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!important;
}
.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;
}
.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: #E91E63;
    padding: 2vw;
    text-align: center;
    width: 50%;
    border-radius: 10px
}
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: "M PLUS Rounded 1c", sans-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;
}
#popup li p {
    margin: auto;
    text-align: center;
    font-family: serif;
    letter-spacing: 1px;
    font-size: 20px;
    font-weight: bold;
    width: 340px;
    background: #fff;
    color: #E91E63;
    padding: 13px 41px;
    border-radius: 5px;
    font-family: auto;
    border-bottom: 3px solid #b3b3b3;
}
.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;
}
/* ======== SP版 (スマホスタイル全部) ======== */
@media screen and (max-width: 767px) {
 
    /* common */
    html {
        scroll-behavior: smooth;
        scroll-padding-top: 13vw;
    }
    header .global_menu {
        grid-template-columns: 4fr 1fr;
        gap: 24vw;
        padding: 3vw;
        align-items: center;
    }

    .contents h1 {
        top: 5.4vw;
        font-size: 9.9vw;
    }

    .contents h1 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;
        background: linear-gradient(180deg, rgb(255 238 248), rgb(255 215 239));
    }
    .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: 3;
    }

    .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;
    }
    div#main_visual {
        margin-bottom: 4vw;
    }
    /* メインメニュー */
    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: 1/3;
        background: #f46696;
    }
    .price_other_banner img {
        margin-bottom: 3vw;
    }
    /* サブメニュー */
    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;
    }#new_cast li.top_newface ._name {
        font-size: 3vw;
        padding-top: 2vw;
        margin-bottom: 2vw;
    }#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: 50vw;
    }
    .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 span {
        font-size: 4.6vw;
    }
    #system h3 {
        font-size: 7vw;
        text-align: center;
        display: flex;
        align-items: baseline;
        justify-content: center;
        padding: 4vw 0;
    }    #system .system_block dl {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        text-align: center;
        margin: 4vw 0 2vw;
        gap: 1vw;
    }
    #system .system_block dl dt {
        background: #E7E7E7;
        /* border-radius: 15px 15px 0 0; */
        border: 1px solid #B8B8B8;
        padding: 2.8vw 0;
        color: #B8B8B8;
        border-radius: 4px;
    }    
    #system .system_block dl dt.active {
        background: #fff;
        border-bottom: none;
        padding: 3vw 0;
        color: #0A74A8;
        border-bottom: none;
        border: 1px solid #0A74A8;
    }#system .system_block dl dt span {
        display: block;
        font-size: 3vw;
        margin-bottom: 1vw;
    } #system .system_block .system_content {
        
    }#system .system_block .system_content dl {
        display: block;
        padding: 1.7vw;
        margin-bottom: 0vw;
    }#system .system_block .system_content dl dt {
        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 .system_content dl dt span {
        display: contents;
        font-size: 3.5vw;
        color: #000;
        font-weight: 100;
    }#system .system_block .system_content dl dd {
        grid-template-columns: repeat(2, 1fr);
        gap: 2vw 1vw;
    }#system .system_block .system_content dl dd em {
        font-size: 4.3vw;
        font-style: inherit;
        padding: 2vw 0;
    }#system .system_block {
        background: #fff;
    }#system .system_block .system_content dl ol {
        padding: 3vw 1vw 0;
    }#system .system_block .system_content dl ol li {
        display: grid;
        grid-template-columns: 1.1fr 5fr;
        gap: 3vw 3vw;
        align-items: center;
        text-align: left;
        line-height: 1.6;
        margin-bottom: 4vw;
    }
    #system .system_block .system_content dl ol li.price_0 {
        color: #FF6997;
    }
    #system .system_block .system_content dl ol li.price_1000 {
        color: #ED3032;
    }
    #system .system_block .system_content dl ol li.price_2000 {
        color: #FDCA01;
    }
    #system .system_block .system_content dl ol li.price_3000 {
        color: #529D19;
    }
    
    
    #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;
    }
    
    .splide_top_short_movie .splide__slide {
        text-align: center;
        background: #fff;
    }    
    #shame_movie #movie ul {
        display: masonry;
        /* grid-template-columns: repeat(2, 1fr); */
        /* gap: 0.8vw; */
        /* overflow-y: scroll; */
        height: auto;
        width: 79.5vw;
    }#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 {
        border-radius: 12px 12px 0 0;
        margin-bottom: 3vw;
    }

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

    .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: #ff3e9b;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 1vw;
        z-index: 1000;
    }

    /* 右カラム */
    .top_right_column {
        width: auto;
        margin: 0 auto;
    }

    /* news_pickup（イベント・新着情報エリア） */
    #news_pickup {
        display: block;
        padding: 7vw 3vw;
    }
    #news_pickup #pickup {
        width: 100%;
        margin-bottom: 10vw;
    }

    /* 新人紹介エリア (#new_cast) */
    #new_cast h3 span {
        font-size: 3.8vw;
    }
    #new_cast h3 {
        font-size: 6vw;
        grid-template-columns: 1fr;
        text-align: center;
        gap: 4vw;
        margin-bottom: 3vw;
    }
    #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;
    }

    /* gravure（グラビア） */
    #gravure {
        grid-template-columns: 1fr;
    }
    #gravure ul {
        grid-template-columns: repeat(2, 1fr);
        padding: 5vw 2vw;
        gap: 2vw 1vw;
    }
    li.gravure_last_item {
        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(3, 1fr);
        gap: 3vw 2vw;
        margin: 5vw;
    }

    dl.week_list a:first-child {
        grid-column: 1 / -1; /* 1個目だけ全幅に広げる */
    }
    dl.week_list dt {
        font-size: 3.5vw;
        padding: 3vw 0;
    }
    #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;
    }


    /* 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_contents.contents .mail_box ul {
        grid-template-columns: repeat(1, 1fr);
    }.mailmaga_contents.contents .mail_box ul li {
        box-shadow: none;
        border: 2px solid #ffdada;
        padding: 4vw 2vw;
        text-align: center;
    }.mailmaga_contents.contents .mail_box ul li h3 {
        font-size: 4vw;
        margin-bottom: 2vw;
    }.mailmaga_contents.contents .mail_box ul li h3 i {
        font-size: 6vw;
    }    
    .mailmaga_contents.contents .mail_box ul li em {
        font-size: 4vw;
        margin-bottom: 0.9vw;
    }.mailmaga_contents.contents .mail_box ul li span {
        font-size: 5vw;
        margin-bottom: 5vw;
    }.mailmaga_contents.contents .mail_box ul li p {
        font-size: 3vw;
        height: auto;
        width: 70vw;
        margin: 0 auto 4vw;
    }.mailmaga_contents.contents .mail_box ul li div {
        width: 62vw;
        margin: 0 auto 2vw;
    }.mailmaga_contents.contents .mail_box ul li div dl {
        padding: 2.4vw 0;
        margin-bottom: 2vw;
    }.mailmaga_contents.contents .mail_box ul li div dl dt {
        font-size: 3.9vw;
        margin-bottom: 1.8vw;
    }.mailmaga_contents.contents .mail_box ul li div dl dd {
        font-size: 2.8vw;
    }.mailmaga_contents.contents .mail_box ul li div article {
        font-size: 3vw;
        margin-top: 2vw;
    }.mailmaga_contents.contents .mail_box {
        width: 90vw;
        margin: 5vw auto;
    }.mail_resist_manual {
        width: 93vw;
        margin: 0 auto;
        box-shadow: none;
        border: none;
        background: none;
    }.mail_resist_manual h4 {
        font-size: 5vw;
        width: 100%;
        margin-bottom: 3vw;
    }.mail_resist_manual button {
        width: 100%;
        font-size: 4.8vw;
        padding: 4vw 0;
        letter-spacing: 1px;
    }

    /* 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 0.8fr;
        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: red;
    }.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 */
    .sub_visual_2_img p {
        top: 81vw;
        width: 82vw;
        right: 0;
        left: 0;
        margin: auto;
        font-size: 4vw;
        line-height: 2;
    }

    .sub_visual_3_img p {
        font-size: 4vw;
        line-height: 1.7;
        position: initial;
        background: #EE92A7;
        padding: 3vw 5vw 3vw;
        width: 100%;
    }
    section.concept_list_section {
        padding: 0;
    }section.concept_list_section article {
        display: block;
        margin-bottom: 6vw;
    }section.concept_list_section .play_bg {
        display: block;
        width: 94vw;
        padding-bottom: 2vw;
    }section.concept_list_section .play_bg .play_flow {
        position: initial;
        width: 100%;
    }section.concept_list_section .play_bg .play_flow ul li {
        width: 100%;
        font-size: 4vw;
        padding: 4vw 5vw;
        margin-bottom: 4vw;
        font-weight: bold;
    }
    section.concept_list_section .play_bg .play_flow_img ol li {
        border-radius: 10px;
        padding: 4vw 4vw 4vw;
        margin-bottom: 4vw;
    }
    section.concept_list_section .play_bg .play_flow_img ol li h4 {
        font-size: 4.6vw;
        margin-bottom: 3vw;
    }    section.concept_list_section .play_bg .play_flow_img ol li h4 i {
        font-size: 3vw;
        width: 18vw;
        border-radius: 5px;
        margin-bottom: 2.3vw;
        padding: 1vw 1vw;
    }    
    section.concept_list_section .play_bg .play_flow_img ol li sub {
        font-size: 3.2vw;
        margin-bottom: 3vw;
    }section.concept_list_section .play_bg .play_flow_img ol li img {
        margin-bottom: 3vw;
    }section.concept_list_section .play_bg .play_flow_img ol li p {
        font-size: 3.4vw;
        margin-bottom: 3vw;
    }section.concept_list_section .play_bg .play_flow_img ol li button {
        width: 100%;
        font-size: 3.9vw;
        padding: 3vw 0;
    }

    /* 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: #FFF0F5;
        background-image: url(../img/bg_pink.jpg);
        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 {
        font-family: "Cherry Bomb One", system-ui;
        font-weight: 400;
        color: #faebf2;
        -webkit-text-stroke: 1px #eb1b9b;
        text-shadow: 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd;
        font-size: 6.7vw;
        margin-bottom: 1vw;
    }
    .profile_contents .title_en {
        font-family: "Cherry Bomb One", system-ui;
        font-weight: 400;
        color: #faebf2;
        -webkit-text-stroke: 1px #eb1b9b;
        text-shadow: 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd, 0 0 3px #fcb4dd;
        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: 70vw;
        height: auto;
        background: #fdf8f8;
        padding: 4vw 3vw;
        font-size: 3.5vw !important;
    }
    #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;
    }
    #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 0;
    }
    

    /* 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 {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
    }
    div#endNavi {
        position: sticky;
        bottom: 0;
        z-index: 2;
    }
    .sticky_footer_wrapper {
        /* display: none; */
    }
    ul.sticky_footer {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 0.2vw;
        padding: 0.1vw;
        background: #fff;
    }
    .sticky_footer li {
        display: flex;
        justify-content: center;
        align-items: center;
        background: #6accbf;
        padding: 4vw 0;
        font-size: 3.8vw;
        font-weight: 500;
    }
    .online_btn {
        grid-column: 1/3;
        background: #f56797 !important;
    }
    .tel_btn {
        grid-column: 3/5;
        background: #77abe5 !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 {
        margin: auto;
        text-align: center;
        letter-spacing: 1px;
        font-size: 4.1vw;
        font-weight: bold;
        background: #fff;
        color: #E91E63;
        border-radius: 5px;
        margin-bottom: 10px;
        padding: 10px 0;
        border-bottom: 3px solid #b2b2b2;
        width: 76vw;
    }
    #popup ul {
        display: grid;
        justify-content: center;
        width: 100%;
        margin: 2vw auto 1vw;
    }
    .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;
    }
}
@media(min-width:767px) {
    header .global_menu {
        display: flex;
        padding: 1vw 0;
        align-items: center;
        gap: 1vw;
        justify-content: center;
    }
    .open_btn, .close_btn {
        position: static;
    }
    .header_content01.pc {
        color: #3a1924;
        font-weight: 600;
        font-size: 0.7vw;
        display: grid;
        gap: 0.6vw;
    }
    p.header_content01_text {
        letter-spacing: 1px;
    }
    p.header_content01_time {
        display: flex;
        align-items: end;
        letter-spacing: 1px;
    }
    .header_content01_time-L {
        font-size: 1.3em;
    }
    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: #3a1924;
        font-size: 0.6vw;
        font-weight: 600;
        margin-bottom: 0.5vw;
    }
    .header_content02_tel {
        color: #e995a5;
        font-size: 0.9vw;
        font-weight: 800;
    }
    .header_content02_tel span {
        font-size: 1.7em;
        letter-spacing: 0vw;
        margin-left: 0.2vw;
    }
    a.reservation_btn.pc {
        color: #fff;
        background: #ee92a7;
        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;
    }
}