

/* 画面幅が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%;
}

.twitter_banner{
    display: none;
}

/* index */
.idxHeader {
    color: #000;
    background: rgba(255, 180, 74, 0.9);
}
section.index_content {
    background: #FEEDF5;
}
section.index_content .index_content_wrapper {
    width: 83.3vw;
    margin: 0 auto;
    padding: 4.4vw 0;
}
section.index_content .index_content_wrapper#groupe_banner_content{
    background: #FFF;
}
section.index_content .index_content_wrapper h3 {
    text-align: center;
    width: 28.4vw;
    margin: 0 auto 2vw;
    color: #F75D91;
    font-size: 2.7vw;
    font-weight: bold;
    font-family: "Cherry Bomb One", system-ui;
    letter-spacing: 1px;
}section.index_content .index_content_wrapper h3 span {
    display: block;
    border-top: 1px solid #3B161E;
    font-size: 1vw;
    color: #3B161E;
    margin-top: 0.6vw;
    padding-top: 0.6vw;
}section.index_content .index_content_wrapper .device_margin {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1vw;
    padding: 0 2vw;
    align-items: center;
    margin: 0;
}
section.index_content div#index_concept_box {
    width: 83vw;
    margin: 0 auto;
    padding: 3vw 0;
}
section.index_content div#index_concept_box ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3vw;
}section.index_content div#index_concept_box ul li img {
    display: block;
    margin-bottom: 2vw;
}

section.index_content div#index_concept_box ul li article {
    padding: 1vw;
}section.index_content div#index_concept_box ul li article h5 {
    font-size: 1.6vw;
    margin-bottom: 1.2vw;
    line-height: 1.3;
    color: #fff;
    text-shadow: 0 0 6px rgba(255, 80, 150, 1.8), 0 0 12px rgba(255, 80, 150, 1.6);
    font-weight: bold;
}section.index_content div#index_concept_box ul li article p {
    line-height: 1.3;
    margin-bottom: 1vw;
}section.index_content div#index_concept_box ul li article ol {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1vw;
}section.index_content div#index_concept_box ul li article ol li {
    background: #E678B2;
    text-align: center;
    padding: 0.3vw 0;
    font-size: 0.9vw;
    border-radius: 5px;
}
section#syame {
    background: #FFD9E4;
}section#syame div#syame_content h3 {
    margin-bottom: 3.3vw;
}section#syame div#syame_content ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1vw;
}section#syame div#syame_content ul li{
border: 1px solid #ccc; padding: 0.5em; background: #f9f9f9;
}section#syame div#syame_content ul li h4{
    text-align: center;
    color: #000;    margin: 0.3vw 0;
}section#syame div#syame_content ul li iframe {
    height: 26.5vw;
}section#media #banner_list {
    width: 24.1vw;
    margin: 0 auto;
}
section#media #banner_list img {
    width: 100% !important;
}
/* エリアドアボタン配置 */
div#areaDoor {
  position: absolute;
  top: 29vw;
  left: 10vw;
  text-align: center;
  width: 24vw;
  font-family: 'Noto Sans JP';
}
div#areaDoor button#exit,
div#areaDoor button#enter{
    background: linear-gradient(0deg, rgba(255, 194, 64, 1) 0%, rgba(255, 219, 151, 1) 100%);
    border: none;
    color: #fff;
    font-size: 1.8vw;
    width: 100%;
    border: 1px solid #fff;
    border-radius: 7px;
    font-weight: bold;
    font-family: 'Noto Sans JP';
    padding: 0.5vw 0;
}
div#areaDoor button#exit {
  background: linear-gradient(0deg, rgba(189, 181, 179, 1) 0%, rgba(232, 224, 222, 1) 100%);
}



/* ヘブンエンター */
.heaven_enter {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px 5px;
    margin-bottom: 0.5vw;
}
.heaven_text_box_wrapper {
    background: #EB879B;
    background: linear-gradient(0deg, rgba(235, 135, 155, 1) 0%, rgba(251, 136, 161, 1) 100%);
    border-radius: 8px;
    border: 2px solid #fff;
    line-height: 1.4;
    padding: 0.4vw 0;
    font-weight: bold;
}.heaven_text_box_wrapper h4 {
    font-size: 1vw;
}.heaven_text_box_wrapper.girlsheaven {
    background: #FD9DAF;
}.heaven_text_box_wrapper.jobheaven {
    background: #A0A7D0;
}.girls_recruit_btn {
    background: linear-gradient(0deg, rgba(255, 102, 156, 1) 0%, rgba(245, 140, 168, 1) 100%);
    border-radius: 5px;
    font-size: 1.0vw;
    font-weight: bold;
    padding: 0.7vw;
    margin-bottom: 0.4vw;
}.index_language {
    width: 100%;
    margin-bottom: 0.4vw;
}

/* 写メ日記 */
section#syame_nikki {
  background: pink;
  padding: 4vw;
  text-align: center;
}
section#syame_nikki div#syameBox h2 {
  font-size: 2vw;
  color: #fff;
  margin-bottom: 2vw;
  font-weight: bold;
}
section#syame_nikki div#syameBox ul {
list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1em;
}
section#syame_nikki div#syameBox h4 {
    font-size: 1.2vw;
    margin-bottom: 0.5vw;
}
section#syame_nikki div#syameBox iframe {
  height: 29vw;
  width: 100%;
  border: none;
}

/*媒体 */
section#media {
  background: #fff;
  padding: 4vw;
  text-align: center;
}

section#media h2 {
  font-size: 2vw;
  color: #656565;
  margin-bottom: 2vw;
  font-weight: bold;
}


/* コンセプト */
section#concept {
    background: #E7C6E5;
    text-align: center;
}
div#concept_content {
    background: #E7C6E5;
    width: 78.3vw;
}
div#concept_content h3 {
    margin-bottom: 3vw;
}


/* footer */
.copyright {
    text-align: center;
    background: #3f3f3f;
    color: #fff;
    line-height: 1.3;
    padding: 0.7vw 0;
}
#index_gme_area {
    background: #edf6ff;
    color: #11100e;
}
#index_gme_area section {
    padding: 3vw;
    width: 70vw;
    margin: 0 auto;
}
#index_gme_area article {
    display: grid;
    grid-template-columns: 0.7fr 6fr;
    gap: 1vw;
    text-align: center;
    width: 59vw;
    margin: 0 auto 3.5vw;
    align-items: center;
}
#index_gme_area article img {
    width: 100%;
}
#index_gme_area article div {
    font-size: 2.4vw;
    letter-spacing: 0.2vw;
    font-weight: bold;
    color: #ed4f80;
    text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
}
#index_gme_area article span {
    display: block;
    font-size: 1.4vw;
    color: #000;
    font-weight: initial;
}
#index_gme_area ul {
    width: 57.8vw;
    margin: 0 auto;
    margin-bottom: 0.9vw;
}
#index_gme_area ul li {
    display: grid;
    grid-template-columns: 4fr 1fr;
    gap: 2.7vw;
    align-items: center;
}
#index_gme_area ul li dl {
    margin-bottom: 2.3vw;
}
#index_gme_area ul li dl dt {
    color: #0071e4;
    font-size: 1.4vw;
    border-bottom: 1px dotted #000;
    margin-bottom: 1vw;
}
#index_gme_area ul li dl dd {
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    font-size: 1.1vw;
}
.gme_confirm_btn {
    background: #fff;
    border-radius: 0.3vw;
    padding: 1vw;
    text-align: center;
    font-size: 1.4vw;
    letter-spacing: 1px;
    width: 64.6vw;
    margin: 1.9vw auto 0;
    box-shadow: 0px 0px 15px -5px #868686;
}

.gme_confirm_btn a {
    display: grid;
    grid-template-columns: 1fr 6fr;
    gap: 10px;
    align-items: center;
}
.gme_confirm_btn div {
    border: 2px solid #edf6ff;
    border-radius: 0.3vw;
    padding: 1vw 0;
    color: #6d6d6d;
}
.gme_confirm_btn div span {
    color: #f13379;
    font-weight: bold;
    font-size: 1.5vw;
}

p.enter_notes {
    font-size: 0.8vw;}

.idxHeader {
  color: #FFF;
  background: #ffe3ec;
  text-align: center;
  padding: 8px 0;
  letter-spacing: 0.1em;
  border-bottom: 1px solid  #fdcbd0;
}

.idxHeader {
  color: #F281B1;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 12px;
}

@keyframes blink {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
/* 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;
}

.hamburger_menu {
display: none;
position: fixed;
z-index: 101;
height: 100vh;
overflow: scroll;
background: #fff;
top: 0;
transition: all 0.4s;
overflow: hidden;
}.hamburger_menu.panelactive {
background: rgba(0, 0, 0, 0.6);
display: block;
width: 100%;
}
#over_lay,
.over_lay {
display: none;
background: rgba(0, 0, 0, 1);
height: 100vh;
width: 100vw;
z-index: 3;
position: fixed;
opacity: 0.5;
}

/* common */
header {
position: sticky;
top: 0;
z-index: 4;
}
.breadCrumbList a:focus, .breadCrumbList a:visited, .breadCrumbList a:link {
color: #000;
}
header .global_menu {
display: grid;
grid-template-columns: 0.7fr 0.15fr 3.2fr;
gap: 1vw;
background: linear-gradient(180deg, rgb(225 212 93) 0%, rgba(255, 237, 79, 1) 50%, rgba(255, 237, 79, 1) 100%);
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 ul {
width: 52vw;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1.4fr 1.8fr 1.2fr;
    font-size: 0.9vw;
    color: #2D0A15;
    text-align: center;
    font-weight: 500;
    margin-left: 18.3vw;
}header .global_menu ul li {
border-right: 1px solid #2D0A15;
color: #2D0A15;
}
header .global_menu .open_time {
font-size: 1.2vw;
letter-spacing: 1px;
font-weight: bold;
color: #808094;
}

.relative{
position:relative;
}
.contents h2 {
    margin: auto;
    text-align: center;
    color: #fcff6f;
    font-size: 2.8vw;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    background-image: url(../img/chepink_bg.png);
    font-weight: 900;
    padding-top: 30px;
    padding-bottom: 30px;
}
.contents h2 span {
    display: block;
    font-size: 1.00vw;
    margin-top: 0.2vw;
    color: white;
}
.wrapper {
    display: flex;
}
/* hover_anime */
.hover_anime_a {
transition: background-color 0.3s ease, transform 0.3s ease!important;
}

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

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

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

/* --- 左カラム --- */
.top_left_column {
position: sticky;
top: 0;
left: 0;
width: 23vw;
height: 100vh;
background: linear-gradient(180deg, rgb(255, 209, 233), rgb(255, 225, 236));
padding: 1vw 2vw;
    z-index: 1;
}
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;
}



/* ロゴ */
.main_logo {
    width: 8.1vw;
    margin: 0 auto 0.2vw;
    position: relative;
}
.shop_data {
    text-align: center;
    margin-bottom: 0.2vw;
    color: #2F0813;
}.shop_data * {
    display: block;
    font-style: normal;
    text-shadow: -1px -1px 0 white, 1px -1px 0 white, -1px 1px 0 white, 1px 1px 0 white, 0px 0px 1px white;
    font-weight: 700;
}
.shop_data sub {
    font-size: 0.7vw;
    margin-bottom: 0.8vw;
}
.shop_data time {
    font-size: 1.1vw;
    margin-bottom: 0.3vw;
    color: #FF3E9B;
}.shop_data time i{
display: inline;
    font-size: 0.9vw;
}.shop_data address {
    font-size: 0.6vw;
    margin-bottom: 0.2vw;
}.shop_data .tel {
    font-size: 1vw;
    font-weight: bold;
    margin: 0.6vw auto;
    width: 12vw;
}
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;
}
p.lang_icon svg {
color: #ffffff;
}
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 {
text-align: center;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.5vw;
margin-bottom: 1vw;
}

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

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

.top_menu li.online_reserve_link {
    grid-column: 1 / 3;
    background: #F191BF;
    color: #fff;
    font-size: 0.8vw;
}

/* middle menu */
ul.middle_menu {
    background: #fff;
    padding: 0.8vw 1vw 1vw 1vw;
    border-radius: 5px;
    box-shadow: 0px 0px 15px -5px #777777;
    margin-bottom: 1vw;
    padding-left: 1vw !important;
}
ul.middle_menu a li {
    color: #772F43;
    padding: 0 0.2vw 0.5vw 1vw;
    border-bottom: 1px dotted #772F43;
    margin-bottom: 0.6vw;
    font-size: 0.8vw;
    font-weight: 500;
    letter-spacing: 1px;
    display: flex;
    justify-content: space-between;
    align-items: end;
}
ul.middle_menu a li span {
    display: block;
    font-size: 0.6vw;
}
ul.middle_menu a:last-of-type li {
    margin-bottom: 0;
    border-bottom: none;
        padding-bottom: 0;
}

/* サブメニュー */
dl.top_sub_menu {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding: 0 0.9vw;
    font-size: 0.7vw;
    font-weight: 600;
    gap: 0.7vw 0.5vw;
    margin-bottom: 1.4vw;
}

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

.top_sub_menu a {
    color: #752F43 !important;
}

.top_sub_menu dd:hover {
opacity: 0.7;
transition: .5s;
}
.point_contents.contents .head {
    display: none;
}
/* メディアリンク */
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;
}

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

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


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

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

/* 右カラム */

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

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

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

/* --- イベント・新着情報ブロック --- */
#news_pickup {
display: grid;
grid-template-columns: 1.1fr 1fr;
background: #FFE2E4;
padding: 3vw 6vw;
gap: 1vw;
background-image: url(../img/bg_machi.jpg);
background-size: cover;
background-position: right;
}

/* 待姫エリア */
#news_pickup #pickup {
width: 35.2vw;
  padding: 15px;
  border-radius: 10px;
  background-color: #fff9df;
}

#news_pickup #pickup h3 {
margin: 0 3vw 1vw;
  color: #ffffff;
  font-size: 1.2vw;
  letter-spacing: 1px;
  font-weight: bold;
  width: 100%;
  margin: 0 auto;
  padding: 0.5vw;
  background-image: url(../img/bg_heading_medium.jpg);
  background-color: #E2698C;
  margin-bottom: 0px;
  margin-bottom: 0px;
  margin-bottom: 1.4vw;
  border-radius: 0.3vw;
}

#news_pickup #pickup h3 span {
display: block;
  font-size: 0.7vw;
  padding-top: 0.4vw;
  color: #ffffff;
  float: right;
  font-weight: 500;
}

#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 {
width: auto;
  padding: 15px;
  border-radius: 10px;
  background-color: #fff9df;
}


#news_pickup #news h3 {
    color: #ffffff;
    font-size: 1.2vw;
    letter-spacing: 1px;
    font-weight: bold;
    width: 100%;
    margin: 0 auto;
    padding: 0.5vw;
    background-image: url(https://cinimg.awscf.net/bukuro-boin.com/img/common/bg_heading_medium.jpg);
    background-color: #E2698C;
    margin-bottom: 1.4vw;
    border-radius: 0.3vw;
}

#news_pickup #news h3 span {
    display: block;
    font-size: 0.7vw;
    padding-top: 0.4vw;
    color: #ffffff;
    float: right;
    font-weight: 500;
}

#news_pickup #news .news_area {
background: #fff;
height:25.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;
}


/* --- 新人紹介エリア（#new_cast） --- */
#new_cast {
background: #fff;
padding-bottom: 3.3vw;
background-image: url(../img/bg_newf.jpg);
background-attachment: fixed;
background-size: cover;
}

#new_cast h3 {
font-size: 3vw;
font-weight: 600;
letter-spacing: 0.2vw;
margin: 0 auto 1vw;
text-align: center;
padding: 2.5vw 0 1vw;
background: linear-gradient(90deg, #72ff55, #023300);
-webkit-background-clip: text;
-webkit-text-fill-color:transparent;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 900;
}

#new_cast h3 span {
font-size: 1.3vw;
color: #3C8813;
font-weight: 600;
display: block;
margin-top: 0.5vw;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 900;
}

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

.content_description {
display: flex;
justify-content: end;
background: #fff;
gap: 6vw;
font-size: 0.8vw;
font-weight: 600;
letter-spacing: 0.2vw;
margin-bottom: 1.5vw;
}

.description_link {
padding: 1vw 4vw;
background: #f783aa;
width: 16vw;
}
.description_text {
padding: 1vw 0;
}


/* 新人紹介リスト */
#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: #FFE7EE;
}

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

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

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

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

/* 「もっと見る」アイテム */
li.gravure_last_item a {
background: #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;
height: 100%;
}

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

li.gravure_last_item span {
position: absolute;
right: 0;
left: 0;
margin: auto;
text-align: center;
top: 8.3vw;
}
/* --- 本日出勤表エリア（#schedule） --- */
#schedule {
background: #fff3f3;
background-image: url(../img/bg_sch.jpg);
background-attachment: fixed;
background-size: 78%;
background-position: right;
padding-bottom: 1px;
}


/* 出勤表タイトル */
#schedule h3 {
text-align: center;
padding: 2.5vw 0 1vw;
font-size: 3vw;
font-weight: bold;
border-bottom: 1px solid #F35497;
width: 54vw;
margin: 0 auto 1vw;
color: #F35497;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 900;
    background: linear-gradient(90deg, #ff3887, #ffabc7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

#schedule h3 span {
display: block;
margin: 0.8vw 0 0.3vw;
font-size: 1.3vw;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 900;
}

/* 曜日リスト */
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 5.0vw;
}

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

/* 「在籍一覧」「出勤一覧」「新人一覧」ボタンエリア */
.any_cast_button {
width: 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;
background-image: url(../img/bg_rank.jpg);
background-attachment: fixed;
background-size: 78%;
background-position: right;
}
.each_ranking_area {
    width: 70vw;
    margin: 2.6vw auto;
    background: #FFF2D7;
    padding: 2vw;
    border-radius: 20px;
}
.each_ranking_area h5 {
    color: #A9883C;
    font-size: 1.5vw;
    font-weight: bold;
    border-bottom: #A9883C 1px solid;
    padding-bottom: 0.7vw;
    margin-bottom: 2.2vw;
    align-items: center;
    display: flex;
}
.each_ranking_area .cast_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1vw;
}
.each_ranking_area ul.num_1_2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1vw;
}
p.ranking_rank {
    position: absolute;
    z-index: 111;
    background: #362E2B;
    font-size: 1.1vw;
    width: 2.4vw;
    height: 2.2vw;
    display: grid;
    align-items: center;
    border-radius: 50px;
    left: -0.3vw;
    top: -0.4vw;
}
p.ranking_rank.no_1,
p.ranking_rank.no_2{
    font-size: 2.5vw;
    width: 4vw;
    height: 3.9vw;
    padding-bottom: 0.4vw;left: -0.6vw;
    top: -1vw;
}
p.ranking_rank.no_1{
    background: #D6AA41;
}
p.ranking_rank.no_2{
    background: #717171;
}
p.ranking_rank.no_3{
    background: #AD754E;
}
.each_ranking_area ul.num_3 ._info ._shift {
    font-size: 0.5vw;
}
.each_ranking_area ul.num_3 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px 5px;
}
.each_ranking_area ul.num_3 li ._info {
    padding: 0vw 0;
}
.each_ranking_area ul.num_3 li ._info ._name {
    padding-bottom: 0.3vw;
    margin-bottom: 0.3vw;
    padding-top: 0.2vw;
}
.each_ranking_area ul.num_3 li ._info ._name_text {
    font-size: 0.7vw;
}
.each_ranking_area ul.num_3 li ._info span._age {
    font-size: 0.6vw;
}
.each_ranking_area ul.num_3 li ._info ._size {
    margin-bottom: 0;
    font-size: 0.6vw;
}.each_ranking_area ul.num_3 ._info ._icon {
    display: none;
}.each_ranking_area .cast_list ul li {
    overflow: visible;
}.each_ranking_area h5 span {
    font-size: 1.7vw;
    display: block;
    padding-bottom: 0.4vw;
    margin-right: 0.4vw;
}
/* ランキングタイトル画像 */
#ranking h3 {
font-size: 3vw;
    font-weight: 600;
    letter-spacing: 0.2vw;
    margin: 0 auto 1vw;
    text-align: center;
    padding: 2.5vw 0 1vw;
    background: linear-gradient(90deg, #ffee00, #ffffff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 900;
}

#ranking h3 span {
    font-size: 1.3vw;
    color: #b17211;
    font-weight: 600;
    display: block;
    margin-top: 0.5vw;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 900;
}

/* 更新日テキスト */
#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 {
width: 100%;
margin: 0 auto;
} */

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

/* ランキングタイトル */
.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: #ffffff;
font-size: 2.3vw;
letter-spacing: 0px;
font-weight: bold;
width: 78%;
margin: 0 auto;
margin-bottom: 1.4vw;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: 900;
}

#shame_movie h3 span {
display: block;
font-size: 1vw;
border-top: 2px solid #fffd92;
margin-top: 0.6vw;
padding-top: 0.6vw;
color: #ffffff;
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;
}

#shame_movie #movie .read_more{
    border: 1px solid #3F272F;
    color: #3F272F;
    text-align: center;
    padding: 0.6vw 0;
    font-size: 1vw;
    border-radius: 20px;
    width: 100%;background: rgba(255, 255, 255, .5);
}
.pc_top_short_movie.movie_area {
    height: 24.9vw;
    overflow: overlay;
    margin-bottom: 1vw;
}
.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 9.3vw;
background-image: url(../img/bg_system.jpg);
background-attachment: fixed;
background-size: 78%;
background-position:right ;
}
.system_content.price_list em {
display: block;
text-align: center;
font-size: 1.7vw;
font-style: normal;
margin-bottom: 3.1vw;
color: #E6739C;
font-weight: 700;
}

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

/* 基本プレイ表 */
#system .system_block .system_content {
background: #fff;
padding: 2.7vw 5.7vw;
border-radius: 10px;
margin-bottom: 1vw;
}
.system_content.price_list em {
display: block;
text-align: center;
font-size: 1.7vw;
font-style: normal;
margin-bottom: 3.1vw;
color:#E6739C;
}
#system .system_block .system_content .grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 3.7vw;
}#system .system_block .system_content dl i {
font-style: normal;
font-size: 1.3vw;
}
#system .system_block .system_content .grid h5 {
text-align: center;
background: #ccc;
padding: 0.2vw 0;
border-radius: 5px;
margin-bottom: 1vw;
font-size: 1.3vw;
color: #fff;
font-weight: 500;
}#system .system_block .system_content dl {
display: flex;
gap: 1vw;
border-bottom: 1px dotted #E6739C;
margin-bottom: 1vw;
padding-bottom: 0.5vw;
padding: 0 0 0.5vw;
justify-content: space-between;
align-items: center;
}
#system .system_block .system_content dl dt.arrow {
font-size: 1.6vw;
font-weight: 400;
position: relative;
margin-left: 2.5vw;
}
#system .system_block .system_content dl dt.arrow::before {
content: '↪️';
position: absolute;
left: -2.8vw;
bottom: 1.2vw;
width: 0.7vw;
height: 0.7vw;
}
#system .system_block .system_content dl dd {
font-size: 1.6vw;
font-weight: 400;
}
#system .system_block .system_content dl dt span, #system .system_block .system_content dl dd span {
display: block;
color: #FF3E9B;
font-weight: 500;
font-size: 1vw;
margin-top: 0.4vw;
}
#system .system_block .system_content article {
margin: 2.5vw;
}

#system .system_block .system_content article h4 {
text-align: center;
font-size: 1.4vw;
color: #FCB46C;
font-weight: 700;
letter-spacing: 8px;
width: 20vw;
margin: 0 auto;
line-height: 1.6;
}#system .system_block .system_content article h4 sub {
display: block;
border-top: 1px solid #FCB46C;
font-size: 0.7vw;
letter-spacing: 2px;
padding-top: 0.6vw;
position: inherit;
}#system .system_block .system_content article .grid {
margin: 2.2vw;
}#system .system_block .system_content article .grid p {
font-size: 1vw;
letter-spacing: 1px;
margin-bottom: 1.8vw;
background: linear-gradient(transparent 60%, #fff36b 0%);
/* display: inline; */
padding-bottom: 0.2vw;
}
#system .system_block .system_content.basic_play .option_attention {
display: grid;
grid-template-columns: 1fr 9fr;
gap: 1vw;
background: #F1F1F1;
border: 1px solid #000;
padding: 1vw;
}
#system .system_block .system_content.basic_play .option_attention p {
background: #FF73A8;
color: #fff;
border-radius: 10px;
display: grid;
align-items: center;
justify-content: center;
}#system .system_block .system_content.basic_play dl {
display: block;
border: none;
padding-bottom: 0;
margin-bottom: 0;
}#system .system_block .system_content.basic_play .option_attention dl dd {
display: block;
font-size: 0.7vw;
}#system .system_block .system_content.basic_play .option_attention dl dt {
color: #000;
font-size: 0.7vw;
text-align: left;
width: auto;
font-weight: normal;
border-bottom: 1px solid;
padding-bottom: .5vw;
margin-bottom: .5vw;
letter-spacing: 0;
margin-top: 0;
}
#system .system_block .system_content article .grid p span {
font-size: 1.4vw;
font-weight: 800;
color: #FF0080;
}#system .system_block .system_content article dl {
font-size: 1vw;
}#system .system_block .system_content article dl dd {
font-size: 1.5vw;
}#system .system_block .system_content article dl dd i {
/* font-size: 1vw; */
}#system .system_block .system_content.basic_play {
padding: 1.9vw 4.6vw;
}#system .system_block .system_content.basic_play dl dt {
text-align: center;
color: #FC7813;
font-weight: 700;
font-size: 1.4vw;
letter-spacing: 4px;
width: 22vw;
margin: 0 auto;
line-height: 1;
margin-bottom: 1.7vw;
margin-top: 2vw;
}#system .system_block .system_content.basic_play dl dt span {
border-top: dotted 1px #FC7813;
font-size: 0.6vw;
color: #FC7813;
padding-top: 0.3vw;
font-weight: 600;
}#system .system_block .system_content.basic_play dl dd {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 0.3vw;
}#system .system_block .system_content.basic_play dl dd em {
font-style: normal;
font-size: 0.8vw;
color: #fff;
text-align: center;
background: #ED6A9E;
padding: 0.6vw 0;
border-radius: 10px;
}#system .system_block .system_content.basic_play dl p.pr_head {
line-height: 0;
margin: 2vw 4vw 1vw;
}#system .system_block .system_content.basic_play dl dd.pr_ul {
display: block;
padding: 0 2vw 0;
}
#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li {
padding: 2vw 2vw 1vw;
border-bottom: 1px dotted #000;
}

#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_head {
padding: 0 3vw;
}#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_head h5 {
font-size: 1.6vw;
color: #FE245C;
font-weight: 500;
margin-bottom: 1vw;
position: relative;
}#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_head h5::before {
content: "";
width: 4.8vw;
height: 4.8vw;
background: url(../img/icon.png) no-repeat center / contain;
vertical-align: middle;
position: absolute;
left: -5.2vw;
top: -1.6vw;
}
div#reservation_btn {
    background: #4B8FD6;
    border-radius: 30px;
    padding: 0.5vw 0;
    width: 10vw;
    text-align: center;
    font-size: 0.9vw;
}

#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_head sub {
font-size: 1.2vw;
color: #1B84F3;
font-weight: 500;
position: inherit;
display: block;
line-height: 1.3;
}#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_grid {
align-items: self-end;
display: grid;
grid-template-columns: 1.3fr 1fr;
gap: 2vw;
padding: 0.9vw 3vw 2vw;
}#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_grid p,
#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_grid p * {
line-height: 1.5;
font-size: 0.8vw;
font-weight: 400;
}
#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd {
display: block;
}#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 0.7vw;
}#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd {
display: block;
}#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 0.7vw;
}#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul li {
background: #FF357F;
padding: 0.5vw;
}#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul li img {
margin-bottom: 0.4vw;
}#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul title {
display: block;
color: #fff;
font-size: 0.7vw;
text-align: center;
margin-bottom: 0.4vw;
height: 1.5vw;
}#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul li price {
display: block;
background: #fff;
border-radius: 5px;
text-align: center;
font-size: 0.9vw;
padding: 0.2vw;
color: #FF357F;
font-weight: 700;
}

#system .system_block .system_content dl dd.Cos_Wrap {
margin: 0 auto;
display: grid;
justify-content: space-around;
flex-wrap: wrap;
grid-template-columns: repeat(4, 1fr);
}
#system .system_block .system_content dl dd.Cos_Wrap .Cos_Box {
margin: 10px 0px;
text-align: center;
color: #fff;
background: #ff9d23;
padding: 12px;
}#system .system_block .system_content dl dd.Cos_Wrap .Cos_Box img {
width: 100%;
height: 14vw;
object-fit: cover;
}#system .system_block .system_content dl dd.Cos_Wrap .Cos_Box dt {
font-size: 0.9vw;
margin: 0.4vw 0px;
width: auto;
color: #fff;
font-weight: normal;
letter-spacing: 0;
}#system .system_block .system_content dl dd.Cos_Wrap .Cos_Box dd {
font-size: 1vw;
color: #ff357e;
display: block;
padding: 3.8px 0;
background: #FFF;
border-radius: 5px;
}#system .system_block .system_content div#other_banner li {
margin-bottom: 1vw;
}#system .system_block .system_content.basic_play.map dl dd.map_ul {
grid-template-columns: repeat(4, 1fr);
gap: 0.9vw 2vw;
margin: 1vw;
margin-right: 3vw;
}#system .system_block .system_content.basic_play.map dl dd.map_ul .map_li p {
/* margin-bottom: 1vw; */
line-height: 1.1;
font-size: 0.8vw;
letter-spacing: 1px;
margin-bottom: 0;
}
#system .system_block .system_content.basic_play.map dl dd.map_ul .map_li{
position: relative;
}
#system .system_block .system_content.basic_play.map dl dd.map_ul .map_li img {
margin-bottom: 0.4vw;
}
#system .system_block .system_content.basic_play.map dl dd.map_ul .map_li p i {
color: #ff477f;
font-size: 1vw;
}#system .system_block .system_content.basic_play.map dl dd.map_ul .map_li:after {
content: '▶';
position: absolute;
right: -1.5vw;
top: 5.3vw;
color: #FE3A70;
font-size: 1.1vw;
}#system .system_block .system_content.basic_play.map dl dd.map_ul .map_li:last-child:after{
content: none;
}#system .system_block .system_content.basic_play.map dl article {
background: #FFE5EE;
margin: 0;
color: #F93E71;
border-radius: 40px;
padding: 0.7vw 1.8vw 0.7vw 0.9vw;
margin-bottom: 0.8vw;
font-weight: 500;
display: flex;
align-items: center;
justify-content: space-between;
}#system .system_block .system_content.basic_play.map dl article span {
font-size: 0.9vw;
color: #000;
}div#footer_group_link {
    width: 58vw;
    margin: 0 auto;
    padding: 1vw 0;
}
@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;
}

.profile_contents {
display: grid;
grid-template-columns: 1fr 1fr;
}
}

/* --- コース紹介エリア（#cource） --- */
#cource {
padding: 0 6vw;
background: #BDF5EC;
background-image: url(../img/bg_cource.jpg);
background-attachment: fixed;
padding-bottom: 2vw;
}

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

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

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

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

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

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

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

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

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

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

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

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

.schedule_icon {
width: 2.6vw;
}

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

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

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

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

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

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

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

/* 在籍表 */
section.cast_list_section {
background-color: #fcffdc;
/*background-image: url(../img/bg_sch.jpg);
background-attachment: fixed;
background-size: 100%;
background-position: right;*/
padding-right: 10vw;
padding-left: 10vw;
padding-top: 3vw;
}

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: #f8e040;
padding: 0vw 5.7vw 3vw 12.9vw;
}
.sub_visual_2_img p {
position: absolute;
top: 25vw;
left: 48vw;
color: #420000;
line-height: 1.8;
width: 40vw;
font-size: 1.1vw;
letter-spacing: 1px;
}
.sub_visual_3_img p {
position: absolute;
top: 27vw;
left: 25vw;
color: #3a0000;
line-height: 1.8;
width: 35vw;
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;
background-color: deeppink;
padding: 12px;
margin-top: 16px;
border-radius: 10px;
padding-left: 120px;
}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 hsl(0, 0%, 10%);
padding: 1.3vw;
font-size: 1vw;
margin-bottom: 1.2vw;
border-radius: 40px;
width: 21.2vw;
display: flex;
justify-content: space-between;
color: #000;
}

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.5vw;
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: 7vw;
padding: 0.4vw;
text-align: center;
font-size: 0.8vw;
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: 0.8vw;
color: #3080FF;
display: block;
line-height: 1.3;
bottom: 0.8em;
}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: 0.8vw;
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: #ff41d4;
border-bottom: 1px solid #ff41d4;
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;
}

/* map */
#system.system_page .system_block {
    padding: 2vw 20.3vw;
}

/* mail */
.mailmaga_contents.contents {
background: #FFF3F5;
}
.mailmaga_contents.contents h2.mail_mv {
    position: static;
}
.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;
}

.movie-info {
line-height: 1.5;
}
div#top_event_banner {
margin-bottom: 1vw;
}
/* --- castパネル共通スタイル（cast_list） --- */
.cast_list ul li {
border-radius: 20px;
background: #EE92A7;
text-align: center;
color: #fff;
box-shadow: 0px 0px 15px -5px #e7e7e7;
}

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

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

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

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

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

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

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

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

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

.cast_list ul li img._thumnail {
border-radius: 20px 20px 0 0;
}
/* .cast_list ul li img._thumnail,
.cast_list ul li video._thumnail {
width: 100%;
height: 23.5vw;
object-fit: cover;
object-position: center;
} */
.cast_list ul li ._info {
position: relative;
padding: 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;z-index: 2;
}

.cast_list ul li.gold_flame ._info ._shift{
border: 2px solid #CCB359;
color: #CCB359;
}
.cast_list ul li ._info ._cup {
    position: absolute;
    background: #fff;
    border-radius: 50px;
    padding: 0.3vw 0.7vw 0.9vw;
    width: 3vw;
    height: 2.9vw;
    left: 1.5vw;
    font-size: 1vw;
    top: 1.4vw;
}
#news_pickup #pickup .cast_list ul li ._info ._cup {
  margin-left: -0.8vw;
}
.cast_list ul li ._info ._name {
  margin-bottom: 0.5vw;
  border-bottom: 0.5px dashed #fff;
  padding-bottom: 0.1vw;
  padding-left: 1.5vw;
  margin-top: 0.2vw;
}

.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;
    padding-left: 1vw;
}

/* アイコンリスト */
.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;
}

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

/* movie */
#short_movie {
    background: #fff7dc;
}
#short_movie ul {
    width: 80vw;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5vw 1vw;
    padding: 2vw 0;
}
#short_movie ul li {
    background: #fff;
    padding: 0.7vw;
    box-shadow: 0px 0px 15px -5px #777777;
}
#short_movie ul li video {
object-fit: cover;
    aspect-ratio: 1 / 1;
}
#short_movie ul li div {
    text-align: center;
    font-size: 0.9vw;
    line-height: 1.7;
}#short_movie ul li div article {
    background: #ff0061;
    font-size: 0.9vw;
    padding: 0.4vw;
    border-radius: 5px;
    margin-top: 0.3vw;
}#short_movie ul li div p {
    line-height: 1.4;
}

/* ranking */
.ranking_contents #ranking_list {
    text-align: center;
    width: 54vw;
    margin: 2vw auto;
    box-shadow: 0px 0px 15px -5px #777777;
    border-radius: 10px;
    padding: 2vw;
}
.ranking_contents #ranking_list h3 {
    margin: 0 1vw 1.7vw;
    font-size: 1.5vw;
    font-weight: bold;
}
.ranking_contents #ranking_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1vw;
    /* width: 54vw; */
    /* margin: 0 auto; */
}
.ranking_contents #ranking_list ul li h4 {
    background: yellow;
    padding: 0.4vw 0;
    font-size: 1.2vw;
}

/* 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 3.7vw;
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: #2398ff;
font-size: 2.8vw;
font-weight: 600;
letter-spacing: 0vw;
margin-bottom: -0.3vw;
text-shadow: -2px -2px 0 #ffffff, 2px -2px 0 #bbdfff, -2px 2px 0 #bbdfff, 2px 2px 0 #bbdfff;
}
.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: 1.2fr 1.6fr;
    gap: 0;
padding: 1vw 1vw 0.7vw;
border-bottom: dotted 1px #000;
line-height: 1.5;
align-items: center;
}
.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: #ff659d;
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;
box-shadow: 0px 0px 15px -5px #777777;
}
.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;
}

.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 {

padding: 1.6vw 4vw;
}
.system_content_option.yuryou_option {
margin-bottom: 1vw;
}

.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);
}
.attentin_click{
    cursor: pointer;
}
.attention_area{
    display: none;
    width: 73vw;
    height: 100vh;
    position: fixed;
    top: 1vw;
    left: 0;
    z-index: 10000;
    right: 0;
    margin: auto;
}
.reserve_wrapper #popup {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #E91E63;
padding: 2vw;
text-align: center;
width: 50%;
border-radius: 10px;
padding-left: 2vw !important;
}
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 {
position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #E91E63;
    padding: 2vw;
    text-align: center;
    border-radius: 10px;
}
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;
}
.reserve_wrapper #popup em {
color: #fff;
line-height: 1.8;
font-size: 17.9px;
margin-bottom: 50px;
}
.reserve_wrapper #popup ul {
display: flex;
justify-content: space-between;
width: 80%;
margin: 2vw auto 1vw;
}
.reserve_wrapper #popup li {
font-size: 4vw;
}
.reserve_wrapper #popup li p {
margin: auto;
text-align: center;
font-family: serif;
letter-spacing: 1px;
font-size: 20px;
font-weight: bold;
width: 740px;
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;
}
#index_gme_area {
background: #edf6ff;
color: #11100e;
}
#index_gme_area section {
padding: 3vw;
width: 70vw;
margin: 0 auto;
}
#index_gme_area article {
display: grid;
grid-template-columns: 0.7fr 6fr;
gap: 1vw;
text-align: center;
width: 59vw;
margin: 0 auto 3.5vw;
align-items: center;
}
#index_gme_area article img {
width: 100%;
}
#index_gme_area article div {
font-size: 2.4vw;
letter-spacing: 0.2vw;
font-weight: bold;
color: #ed4f80;
text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
}
#index_gme_area article span {
display: block;
font-size: 1.4vw;
color: #000;
font-weight: initial;
}
#index_gme_area ul {
width: 57.8vw;
margin: 0 auto;
margin-bottom: 0.9vw;
}
#index_gme_area ul li {
display: grid;
grid-template-columns: 4fr 1fr;
gap: 2.7vw;
align-items: center;
}
#index_gme_area ul li dl {
margin-bottom: 2.3vw;
}
#index_gme_area ul li dl dt {
color: #0071e4;
font-size: 1.4vw;
border-bottom: 1px dotted #000;
margin-bottom: 1vw;
}
#index_gme_area ul li dl dd {
font-size: 1.1vw;
letter-spacing: 0.1vw;
font-size: 1.1vw;
}

.gme_confirm_btn {
background: #fff;
border-radius: 0.3vw;
padding: 1vw;
text-align: center;
font-size: 1.4vw;
letter-spacing: 1px;
width: 64.6vw;
margin: 1.9vw auto 0;
box-shadow: 0px 0px 15px -5px #868686;
}
.gme_confirm_btn a {
display: grid;
grid-template-columns: 1fr 6fr;
gap: 10px;
align-items: center;
}
.gme_confirm_btn div {
border: 2px solid #edf6ff;
border-radius: 0.3vw;
padding: 1vw 0;
color: #6d6d6d;
}
.gme_confirm_btn div span {
color: #f13379;
font-weight: bold;
font-size: 1.5vw;
}
/* ======== SP版 (スマホスタイル全部) ======== */
@media screen and (max-width: 767px) {

    /* common */
    html {
    scroll-behavior: smooth;
    scroll-padding-top: 13vw;
    }
    p.close_icon.sp {
        background: #FF3E9B;
        color: #fff;
        border: 1px solid #fff;
        padding: 1vw;
        right: 1vw;
        right: 2vw;
        top: 1vw;
        font-size: 7vw;
        padding: 2vw 3vw 2vw;
        position: absolute;
        border-radius: 10px;
    }.blinking {
    top: 41.7%;
    left: 53.3%;
    font-size: 5vw;
    }
    #index_gme_area section {
    width: 94vw;
    padding: 8vw 0 8vw;
    }
    #index_gme_area article {
    width: 90vw;
    display: block;
    }
    #index_gme_area article img {
    width: 9vw;
    margin-bottom: 2vw;
    }
    #index_gme_area article div {
    font-size: 4vw;
    }
    #index_gme_area ul {
    width: 90vw;
    }
    #index_gme_area ul li {
    margin-bottom: 2vw;
    }
    #index_gme_area ul li dl dt {
    font-size: 2.6vw;
    margin-bottom: 1.4vw;
    padding-bottom: 0.2vw;
    }
    #index_gme_area ul li dl dd {
    font-size: 2.1vw;
    }
    #index_gme_area ul li p img {
    border-radius: 10vw;
    }
    .gme_confirm_btn {
    border-radius: 0.2vw;
    padding: 3vw;
    width: 95.5%;
    }
    .gme_confirm_btn a {
    grid-template-columns: 2fr 6fr;
    }
    .gme_confirm_btn div {
    font-size: 3.5vw;
    border-radius: 2vw;
    line-height: 1.7;
    }
    .gme_confirm_btn div span {
    font-size: 4vw;
    display: block;
    }

    section#syame_nikki div#syameBox ul{
    margin: 0;
    grid-template-columns: repeat(2, 1fr);
    gap: 1vw;
    width: 100%;
    }
    section#syame_nikki div#syameBox h2 {
    font-size: 5vw;
    margin: 6vw 0;
    }
    section#syame_nikki div#syameBox iframe {
    height: 81vw;
    }section#syame_nikki div#syameBox h4 {
    font-size: 4vw;
    margin-bottom: 2vw;
    }
    div#areaDoor {
    position: static;
    width: 95vw;
    margin: 0 auto 1vw;
    padding: 3vw 0;
    }.heaven_text_box_wrapper {
    padding: 2vw 0;
    }
    div#areaDoor button#exit,
    div#areaDoor button#enter{
    font-size: 6.5vw;
    border-radius: 1.5vw;
    padding: 3vw 0;
    }.heaven_enter {
    gap: 0.2vw;
    margin-bottom: 2vw;
    }.heaven_text_box_wrapper h4 {
    font-size: 3vw;
    }.heaven_text_box_wrapper p {
    font-size: 3.2vw;
    }.girls_recruit_btn {
    font-size: 4vw;
    padding: 3vw 0px;
    margin-bottom: 3vw;
    }p.enter_notes {
    font-size: 3vw;
    }section#concept {
    padding: 7vw 4vw;
    font-family: 'Noto Sans JP';
    }section#concept h2 {
    font-size: 9vw;
    margin-bottom: 4vw;
    }section#concept h2 img {
    width: 12vw;
    }section#concept h5 {
    font-size: 2.9vw;
    line-height: 1.6;
    }section#concept p {
    font-size: 2.9vw;
    margin-bottom: 5vw;
    }section#concept div#flow {
    margin-top: 7vw;
    }section#concept div#flow h3 {
    font-size: 3.6vw;
    width: 61vw;
    margin-top: -4vw;
    margin-bottom: 4vw;
    }section#concept div#flow li {
    margin-bottom: 4vw;
    }section#concept div#flow h4 {
    font-size: 3.5vw;
    }section#concept p {
    font-size: 2.9vw;
    margin-bottom: 5vw;
    }
    section#media img {
    width: 100%;
    }
    section#media h2 {
    font-size: 5vw;
    }

    .menu_bar {
        font-size: 8vw;
        text-align: center;
        line-height: 0.9;
        }.menu_bar span {
            font-size: 2.7vw;
            display: block;
        }.hamburger_menu.panelactive {
    background: #FFD3E9;
        overflow-y: scroll;}
    .cast_list ul li .cast_overlay {
    display:none
    }
    .cast_list.machihime_single {
    width: 70%;
    margin: 5vw auto 0;
    }
    header .global_menu {
    grid-template-columns: 4fr 1fr;
    gap: 24vw;
    padding: 3vw;
    align-items: center;
    }section.index_content .index_content_wrapper .device_margin {
        grid-template-columns: repeat(1, 1fr);
        gap: 2vw;
    }
    section.index_content {
        padding: 5vw 0;
    }    section.index_content .index_content_wrapper {
        width: 93vw;
    }    section.index_content .index_content_wrapper h3 {
        width: 60vw;
        font-size: 7.7vw;
        margin-bottom: 6vw;
    }section.index_content .index_content_wrapper h3 span {
        padding-top: 2.9vw;
        font-size: 2.8vw;
        margin-top: 2vw;
    }section.index_content div#index_concept_box ul {
        grid-template-columns: repeat(1, 1fr);
    }section.index_content div#index_concept_box ul li {
        margin-bottom: 2vw;
    }section.index_content div#index_concept_box ul li article h5 {
        font-size: 5.5vw;
        line-height: 1.6;
        margin-bottom: 3vw;
    }section.index_content div#index_concept_box ul li article p {
        line-height: 1.6;
        font-size: 3.5vw;
        margin-bottom: 3vw;
    }section.index_content div#index_concept_box ul li article ol li {
        font-size: 3.7vw;
        padding: 2vw 0;
    }section#syame div#syame_content ul {
    grid-template-columns: repeat(2, 1fr);
    }section#syame div#syame_content ul li iframe {
        height:85vw;
    }section#media #banner_list {
        width: 86vw;
    }section#media #banner_list * {
        margin-bottom: 1vw;
    }
    .contents h2 {
    top: 5.4vw;
    font-size: 9.9vw;
    }

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

    #schedule {
    background: #fff3f3;
    background-image: url(../img/bg_sch.jpg);
    background-attachment: fixed;
    background-size: 100%;
    background-position: right;
    padding-bottom: 1px;
    }

    /* 左カラム (サイドメニュー) */
    .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, 209, 233), rgb(255, 225, 236));
    }
    /* ✅ 表示状態（左から右へスライドイン） */
    .top_left_column.active {
    transform: translateX(0); /* ← 表示位置 */
    }
    p.lang_icon {
    left: 1vw;
    right: auto;
    top: 1vw;
    font-size: 7vw;
    padding: 2vw 3vw 1vw;
    }

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

    .top_left_column.acc.active {
    display: block;
    left: -100vw;
    z-index: 5;
    }
    .attention_area {
        top: 4vw;
        height: 95vh;
        overflow-y: scroll;
        width: 91vw;
    }
    .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;
    }
    /* ロゴ */
    .main_logo {
        width: 35vw;
        margin: 10vw auto 1.2vw;
    }
    .shop_data sub {
        font-size: 3.2vw;
        margin-bottom: 4vw;
    }    .shop_data time {
            font-size: 5.5vw;
            margin-bottom: 1vw;
        }.shop_data address {
        font-size: 2.3vw;
        margin-bottom: 2vw;
    }.shop_data .tel {
            width: 56vw;
            margin: 2vw auto;
    }.shop_data .tel i {
        font-size: 7vw;
    }.shop_data time i {
    display: inline;
    font-size: 3.8vw;
}
    div#main_visual {
    margin-bottom: 4vw;
    }
    /* メインメニュー */
    ul.top_menu {
        width: 83vw;
        margin: 1vw auto 4.2vw;
        gap: 2vw;
    }
    .top_menu li {
        padding: 2.3vw 0;
        border-radius: 6vw;
        font-size: 3.7vw;
    }
    .top_menu li.online_reserve_link {
        grid-column: auto;
        background: #f46696;
        font-size: 3.4vw;
    }
    .top_menu li.tel_link {
    background: #77ABE5;
    }
    .price_other_banner img {
    margin-bottom: 3vw;
    }ul.middle_menu {
        width: 83vw;
        margin: 0 auto;
        padding: 3vw 0vw 3vw 5vw !important;
        margin-bottom: 7vw;
    }ul.middle_menu a li {
        font-size: 4.4vw;
        padding: 2vw 0;
        margin-bottom: 1.8vw;
        padding-left: 3vw;
        align-items: center;
        margin-right: 4vw;
    }ul.middle_menu a li span {
        font-size: 2.8vw;
    }.wrapper {
        display: block;
    }
        /* サブメニュー */
    dl.top_sub_menu {
        color: #752F43;
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        padding: 0 0.7vw;
        font-size: 3.5vw;
        font-weight: 600;
        gap: 3.9vw;
        width: 83vw;
        margin: 0 auto;
        margin-bottom: 5vw;
    }
    .top_sub_menu dt {
    top: -3.8%;
    font-size: 4.2vw;
    }


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

    .ranking_splide .cast_list ul li span.ranking_number {
    width: 10vw;
    height: 10vw;
    font-size: 6.5vw;
    left: 2vw;
    top: 2vw;
    }
    #news_pickup #pickup h3 {
    width: auto;
    height: 12vw;
    padding: 3vw;
    font-size: 4.5vw;
    }
    #news_pickup #pickup h3 span {
    display: block;
    font-size: 2.7vw;
    padding-top: 1.4vw;
    color: #ffffff;
    float: right;
    font-weight: 500;
    }
    #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 {
    padding: 4vw 2vw;
    }  #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 {
    padding: 7.7vw 7vw;
    }#system .system_block .system_content dl {
    margin: 7vw 2vw;
    align-items: end;
    padding-bottom: 1vw;
    align-items: end;
    }#system .system_block .system_content dl dt.arrow {
    font-size: 8vw;
    border: none;
    margin-bottom: 0;
    padding: 0;
    /* font-weight: bold; */
    color: #000;
    margin-left: 11vw;
    }#system .system_block .system_content dl dt.arrow::before {
    font-size: 7vw;
    left: -12vw;
    /* top: 2vw; */
    bottom: 8vw;
    }    #system .system_block .system_content dl dt span {
    display: block;
    font-size: 3.5vw;
    color: #000;
    font-weight: 600;
    color: #ED6A9E;
    }#system .system_block .system_content dl dt span, #system .system_block .system_content dl dd span {
    font-size: 4vw;
    }#system .system_block .system_content dl i {
    font-size: 6vw;
    margin-left: 0.7vw;
    }#system .system_block .system_content dl dt span, #system .system_block .system_content dl dd span {
    font-size: 4vw;
    }#system .system_block .system_content dl dd {
    font-size: 7vw;
    }#system .system_block .system_content article h4 {
    font-size: 6.2vw;
    margin-bottom: 6vw;
    width: 42vw;
    }#system .system_block .system_content article h4 sub {
    font-size: 2vw;
    padding-top: 2vw;
    }    #system .system_block .system_content article .grid p {
    font-size: 4.5vw;
    /* background: linear-gradient(transparent 70%, #fff36b -10%); */
    /* margin-bottom: 1.8vw; */
    text-align: center;
    font-weight: 600;
    }#system .system_block .system_content article .grid p span {
    font-size: 6.2vw;
    }#system .system_block .system_content dl dt {
    background: none;
    border: none;
    text-align: left;
    padding: 2vw 0;
    margin-bottom: 4vw;
    border-radius: 0;color: #ED6A9E;
    font-size: 5vw;
    border: none;
    margin: 0;
    }#system .system_block .system_content article dl dd {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw 1vw;        font-size: 7vw;
    }#system .system_block .system_content dl dd em {
    font-size: 4.3vw;
    font-style: inherit;
    padding: 2vw 0;
    }#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;
    }    .pc_top_short_movie.movie_area {
        height: 107.3vw;
        margin-bottom: 3vw;
    }
    .pc_top_short_movie.movie_area ul video {
    height: 72vw;
    width: 51vw;
    object-fit: cover;
    }.pc_top_short_movie.movie_area ul {
    display: flex;
    overflow: scroll;        width: 92.5vw;
    }#shame_movie #movie .read_more {
        font-size: 4vw;
        padding: 3vw;
    }
    .splide_top_short_movie .splide__slide {
    text-align: center;
    background: #fff;
    }    
    #shame_movie #shame div.shame_area,
    #shame_movie #movie div.movie_area {
    padding: 0;
    box-shadow: none;
    border-radius: 0;
    }


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

    #cource h5 {
    width: 100%;
    padding: 4vw 0 1vw;
    }
    #video-section video#main-video {
    margin-bottom: 3vw;
    }#video-buttons li {
    margin-bottom: 2.37vw;
    cursor: pointer;
    }


    /* castpanel */
    .cast_list ul li ._info ._name {
        padding: 1vw 0 1.7vw;
        margin-bottom: 1.4vw;
        padding-left: 14vw;
    }

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

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

    .cast_list ul li ._info ._shift{
    font-size: 3.5vw;
    width: 90%;
    border-radius: 10px;
    padding: 0.2vw 0 0.4vw;        
    margin-top: -6.5vw;
    position: static;
    }
    .cast_list ul li ._info ._cup {
        width: 10vw;
        height: 9vw;
        padding: 0 2.3vw;
        border-radius: 50px;
        left: 3vw;
        top: 3.2vw;
    }
    .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;
                padding-left: 12vw;
    }

    .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;
    }
    body::before {
    content: "";
    position: fixed; /* ← backgroundじゃなくこっちで固定する */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/ugu-siroi-boin-jp/file/img/bg_ranking.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    }
    /* メディアリンク */
    ul.media_link_area {
        margin: 0 auto;
        gap: 2vw;
        width: 79vw;
        margin-bottom: 3vw;
    }
    div.credit_btn {
        margin: 0 auto 25vw;
        padding: 1.4vw 0 2vw;
        font-size: 4.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;
    }
    #gravure ul li {
    border-radius: 19px;
    }
    /* news_pickup（イベント・新着情報エリア） */
    #news_pickup {
    display: block;
    padding: 7vw 3vw;
    }
    #news_pickup #pickup {
    width: 100%;
    margin-bottom: 3vw;
    }

    /* 新人紹介エリア (#new_cast) */
    #new_cast h3 span {
    font-size: 4.3vw;
    }
    #new_cast h3 {
    font-size: 10vw;
    grid-template-columns: 1fr;
    text-align: center;
    gap: 2vw;
    margin-bottom: 5vw;
    padding-top: 5vw;
    }
    #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;
    }section.cast_list_section {
    padding-left: 2vw;
    padding-right: 2vw;
}

    /* gravure（グラビア） */
    #gravure {
    grid-template-columns: 1fr;
    }
    #gravure ul {
    grid-template-columns: repeat(3, 1fr);
    padding: 5vw 5vw;
    gap: 3vw 3vw;
    }
    li.gravure_last_item a {
    font-size: 3.5vw;
    padding-top: 16vw;
    }
    li.gravure_last_item svg {
    font-size: 10vw;
    top: 9vw;
    }
    /* 本日出勤表 (#schedule) */
    #schedule h3 {
    width: 90%;
    font-size: 10vw;
    padding-top: 10vw;
    padding-bottom: 3vw;
    }
    #schedule h3 span {
    font-size: 4.3vw;
    margin-bottom: 1vw;
    }
    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;
    top: 0;

    }    .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%;        padding: 5vw;
    }
    .each_ranking_area article {
    width: 100%;
    padding-bottom: 6vw;
    margin-bottom: 3vw;
    }.each_ranking_area h5 {
    font-size: 4.9vw;
    padding-bottom: 1.8vw;
}p.ranking_rank {
    top: 2vw !important;
    left: 2vw !important;
    font-size: 6vw !important;
    width: 11vw !important;
    height: 10.9vw !important;
    border-radius: 10px !important;
}ul.slick-dots li {
    background: none;
}
    #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;
    }
    .system_content.price_list em {
    font-size: 6.2vw;
    margin-bottom: 6vw;
    }#system .system_block .system_content .grid {
    display: block;
    }#system .system_block .system_content .grid h5 {
    width: 46vw;
    margin: 0 auto;
    font-size: 5.4vw;
    border-radius: 30px;
    /* text-align: center; */
    padding: 1vw 0;
    }

    /* 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 {
    font-size: 4vw;
    line-height: 1.7;
    position: initial;
    background: #FFE1E8;
    padding: 3vw 5vw 3vw;
    width: 100%;
    }

    .sub_visual_3_img p {
    font-size: 4vw;
    line-height: 1.7;
    position: initial;
    background: #FFE1E8;
    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: 5.2vw;
    margin-bottom: 5vw;
    }    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;
    }


    /* 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(4, 1fr);
    }
    ul.sticky_footer .top-item {
    grid-column: span 2; /* 2列分使う */
    }
    div#endNavi {
    position: sticky;
    bottom: 0;
    z-index: 4;
    }
    .sticky_footer_wrapper {
    /* display: none; */
    }
    ul.sticky_footer {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 0.2vw;
    padding: 0.1vw;
    background: #fff;
    }
    .sticky_footer li {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #efbf06;
    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;
    }

    .reserve_wrapper #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%;
    }
    .reserve_wrapper #popup em {
    font-size: 3.3vw;
    }
    .reserve_wrapper #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;
    }
    .reserve_wrapper #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;
    }
    #index_gme_area section {
    width: 94vw;
    padding: 8vw 0 8vw;
    }
    #index_gme_area article {
    width: 90vw;
    display: block;
    }
    #index_gme_area article img {
    width: 9vw;
    margin-bottom: 2vw;
    }
    #index_gme_area article div {
    font-size: 4vw;
    }
    #index_gme_area ul {
    width: 90vw;
    }
    #index_gme_area ul li {
    margin-bottom: 2vw;
    }
    #index_gme_area ul li dl dt {
    font-size: 2.6vw;
    margin-bottom: 1.4vw;
    padding-bottom: 0.2vw;
    }
    #index_gme_area ul li dl dd {
    font-size: 2.1vw;
    }
    #index_gme_area ul li p img {
    border-radius: 10vw;
    }

    .gme_confirm_btn {
    border-radius: 0.2vw;
    padding: 3vw;
    width: 95.5%;
    }
    .gme_confirm_btn a {
    grid-template-columns: 2fr 6fr;
    }
    .gme_confirm_btn div {
    font-size: 3.5vw;
    border-radius: 2vw;
    line-height: 1.7;
    }
    .gme_confirm_btn div span {
    font-size: 4vw;
    display: block;
    }
    #system .system_block .system_content article dl dd i{
    font-size: 4vw;
    }
    #system .system_block .system_content article dl dd {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw 1vw;
    /* font-weight: bold; */
    font-size: 8vw;
    }#system .system_block .system_content.basic_play dl dt {
    font-size: 6.2vw;
    margin-bottom: 3vw;
    width: 62vw;
    margin-top: 4vw;
    }#system .system_block .system_content.basic_play dl dt span {
    font-size: 2vw;
    padding-top: 1.5vw;
    margin-top: 2.1vw;
    }#system .system_block .system_content.basic_play dl dd {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw 1vw;
    }#system .system_block .system_content.basic_play dl dd em {
    font-size: 4vw;
    padding: 2vw 0;
    }#system .system_block .system_content.basic_play dl {
    margin: 0;
    }
    #system .system_block .system_content.basic_play dl dd {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw 1vw;
    margin-bottom: 9vw;
    }
    #system .system_block .system_content.basic_play dl dd em {
    font-size: 4vw;
    padding: 2vw 0;
    }.system_content_option.yuryou_option {
    margin-bottom: 4vw;
    }#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul title {
    font-size: 3.1vw;
    height: 3.2vh;
    display: grid;
    align-items: anchor-center;
    }#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul li price {
    font-size: 4vw;
    }#system .system_block .system_content.basic_play .option_attention {
    display: block;
    padding: 2vw;
    margin-bottom: 10vw;
    }#system .system_block .system_content.basic_play .option_attention p {
    border-radius: 0;
    padding: 2vw 0;
    }#system .system_block .system_content.basic_play .option_attention dl dt {
    font-size: 3.5vw;
    padding: 3vw 0;
    }#system .system_block .system_content.basic_play .option_attention dl dd {
    font-size: 3.5vw;
    text-align: left;
    line-height: 1.7;
    padding-top: 2vw;
    }#system .system_block .system_content.basic_play dl dd {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw 1vw;
    margin-bottom: 9vw;
    }#system .system_block .system_content dl dd.Cos_Wrap .Cos_Box {
    margin: 0;
    padding: 10px;
    height: 66vw;
    }#system .system_block .system_content dl dd.Cos_Wrap .Cos_Box img {
    height: 46vw;
    }#system .system_block .system_content dl dd.Cos_Wrap .Cos_Box dt {
    font-size: 3vw;
    }#system .system_block .system_content dl dd.Cos_Wrap .Cos_Box dd {
    font-size: 4vw;
    }#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 2vw 1vw;
    }#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul li {
    padding: 1vw;
    }#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul title {
    font-size: 3.1vw;
    height: 3.2vh;
    display: grid;
    align-items: anchor-center;
    }#system .system_block .system_content.basic_play .system_content_option.yuryou_option dl dd ul li price {
    font-size: 4vw;
    }#system .system_block .system_content.basic_play {
    padding: 1.9vw 4.6vw 5vw;
    margin-bottom: 3vw;
    }#system .system_block .system_content div#other_banner li {
    margin-bottom: 3vw;
    }#system .system_block .system_content.basic_play.map dl article {
    display: block;
    padding: 2.3vw 0;
    line-height: 2;
    border-radius: 8px;
    margin-bottom: 3vw;
    }#system .system_block .system_content.basic_play.map dl article span {
    display: block;
    font-size: 3vw;
    }#system .system_block .system_content.basic_play.map dl dd.map_ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 6vw;
    }#system .system_block .system_content.basic_play.map dl dd.map_ul .map_li img {
    margin-bottom: 2vw;
    }#system .system_block .system_content.basic_play.map dl dd.map_ul .map_li p {
    font-size: 3vw;
    text-align: left;
    line-height: 1.5;
    }#system .system_block .system_content.basic_play.map dl dd.map_ul .map_li p i {
    font-size: 3vw;
    }#system .system_block .system_content.basic_play.map dl dd.map_ul .map_li:after {
    font-size: 4vw;
    top: 20vw;
    right: -4.9vw;
    }#system .system_block .system_content.basic_play dl p.pr_head {
    margin: 5vw 1vw 4vw;
    }#system .system_block .system_content.basic_play dl dd.pr_ul {
    /* padding-bottom: 0; */
    margin-bottom: 0;
    }#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li {
    padding: 4vw 0;
    }#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_head {
    padding: 0;
    margin-bottom: 5vw;
    }
    #system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_head h5 {
    font-size: 4.7vw;
    text-align: left;
    margin-left: 13vw;
    margin-bottom: 4vw;
    line-height: 1.4;
    }#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_head h5::before {
    width: 14vw;
    height: 14vw;
    left: -15vw;
    }#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_head sub {
    font-size: 3.5vw;
    text-align: left;line-height: 1.6;
    }#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_grid {
    display: block;
    padding: 0;
    }#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_grid p, #system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_grid p * {
    text-align: left;
    font-size: 3.5vw;
    margin-bottom: 4vw;
    }#system .system_block .system_content.basic_play dl dd.pr_ul .pr_li .pr_grid img {
    width: auto;
    max-width: 100%;
    }


    /* movie */
    #short_movie ul {
        width: 94vw;
        padding: 4vw 0;
        grid-template-columns: repeat(2, 1fr);
        gap: 3vw 2vw;
    }
    #short_movie ul li {
        padding: 2vw;
    }
    #short_movie ul li div {
        font-size: 4vw;
    }
    #short_movie ul li div article {
        font-size: 4vw;
        margin-top: 2vw;
    }

    /* map */
    #system.system_page .system_block {
        width: 100%;
        padding: 3vw;
        margin: 0 auto;
        /* padding: 3vw 0; */
    }
    #ranking h3 {
    font-size: 10vw;
    font-weight: 600;
    letter-spacing: 0.2vw;
    margin: 0 auto 1vw;
    text-align: center;
    padding: 2.5vw 0 1vw;
    background: linear-gradient(90deg, #ffad55, #6c4700);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 900;
    }

    #ranking h3 span {
        font-size: 4.3vw;
        color: #b17211;
        font-weight: 600;
        display: block;
        margin-top: 0.5vw;
        font-family: 'M PLUS Rounded 1c', sans-serif;
        font-weight: 900;
    }
    .each_ranking_area .cast_list {
        display: block;
    }.each_ranking_area ul.num_1_2 {
    display: block;
}

}
@media(min-width:767px) {

    .hamburger_menu #hamburger_wrapper {
        width: 22vw;
        margin: 0 0 auto 0;
        padding: 2vw 2vw;
        box-sizing: border-box;
        position: relative;
        height: 100vh;
        background: #FFD3E9;
    }
    header .global_menu {
    display: flex;
    padding: 0.7vw 0;
    align-items: center;
    gap: 1vw;
    justify-content: center;
    }.header_logo {
    position: fixed;
    top: 0;
    background: #F5D0E2;
    border-radius: 0 0 10px 10px;
    left: 10.8vw;
    width: 10vw;
    height: 7.2vw;
    padding: 1vw 1vw 1vw;
    text-align: center;
    }.header_logo h1 img {
    width: 5vw;
    /* display: block; */
    }
    .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;
    }
    .menu_bar {
        position: absolute;
        top: 0.2vw;
        left: 24.2vw;
        font-size: 2vw;
        cursor: pointer;
    }
    .menu_bar span {
        display: block;
        font-size: 0.7vw;
        margin-top: -0.3vw;
    }

    /* footer */
    /* footer {
        width: 76.2vw;
        margin: 0 0 0 auto;
        overflow: hidden;
    }
    .copyright {
        font-size: 1vw;
    }aside.akgGlinkOffi.akgGlinkOffi--textOnly.akgGlinkOffi--normal.fgl_pc {
        min-width: fit-content;
    }.akgGlinkOffi--textOnly .akgGlinkOffi__title__inner {
        width: 68vw;
        padding: 0;
        margin: 0 auto;
    }.akgGlinkOffi--textOnly .akgGlinkOffi__body {
        width: 68vw;
    } */

}

