html{
font-size:62.5%;
letter-spacing:1.5px;
font-weight: 500;
font-family:YakuHanRP,"M PLUS Rounded 1c", sans-serif;
}

body{
margin:0;
line-height:1.6;
color:#111;
text-align:center;
background:#fff;
overflow-x:hidden;
}
*{
scrollbar-color: rgba(0,0,0,.2) rgba(255,255,255,0);
scrollbar-width: thin;
}
@media screen and (max-width: 640px) {
  html{
    font-size: 2.6666666667vw;
  }
}

* ul,li{
margin:0;
padding:0;
list-style:none;
}
* dl,dt,dd{
margin:0;
padding:0;
list-style:none;
}
* figure,figcaption{
margin:0;
padding:0;
}
* p{
margin:0;
padding:0;
}
* img{
border:0;
vertical-align:bottom;
max-width: 100%;
}
*{
  box-sizing: border-box;
}
* a:hover img{
filter: alpha(opacity=75);
moz-opacity: 0.75;
opacity: 0.75;
}
a{
  text-decoration:none;
  color:#232323;
  transition : all 0.3s ease 0s;
}
a:hover{
text-decoration:none;
color:#ec8232;
}
a:focus, *:focus { outline:none; }

* table{
border-collapse:collapse;
}
h1,h2,h3,h4,h5,j6{
margin:0; padding:0;
font-weight:normal;
}
*, *:before, *:after {
-webkit-box-sizing: border-box;
box-sizing: border-box
}
.img_pc{
display:inline-block;
}
.blog_pc{
display:block;
}
.br_sp,
.img_sp,
.blog_sp{
display:none;
}
@media screen and (max-width: 640px) {
.blog_pc,
.img_pc,
.br_pc{
display:none;
}
.img_sp{
display:inline-block;
}
.br_sp,
.blog_sp{
display:block;
}
}

/* 背景動画 */
.bg_movie{
position:fixed;
top:0;
left:0;
width:100%;
height:100vh;
z-index:-10;
}
.bg_movie video{
object-fit:cover;
width:100%;
height:100%;
}

/* ヘッダー */
.header{
width: 100%;
}
.header_inner {
position: relative;
padding: 15px;
}
.title{
font-size: 2rem;
font-weight: 600;
}
.sp_nav{
display:none;
}
@media only screen and (max-width: 640px) {
body:not(#index) .header{
  position:relative;
}
body:not(#index) .header::before{
  content:"";
  display:block;
  width:96%;
  height:56px;
  background:#ffde25;
  border-radius: 0 0 24px 24px;
  position:absolute;
  top:0;
  left:2%;
}
#index .header{
  border:none;
  margin-bottom:0;
  position:relative;
  z-index:2;
}
.header .logo img{
width:160px;
height:auto;
}
.header_inner{
padding:10px 15px;
}
.header_inner .nav_pc{
display:none;
}
.header_inner .telbox .tel{
display:none;
}
.header_inner .telbox .eigyo{
font-weight:bold;
font-size:1.2rem;
margin-top:.5rem;
}
.nav {
position: fixed;
right: -320px; /* 右から出てくる */
top: 0;
width: 300px; /* スマホに収まるサイズ */
height: 100vh;
padding-top: 60px;
background-color: #fff;
transition: all .6s;
z-index: 200;
overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}
.hamburger {
position: absolute;
right: 5px;
top: 24px;
width: 40px; /* クリックしやすい幅 */
height: 40px; /* クリックしやすい高さ */
cursor: pointer;
z-index: 300;
}
.nav_list {
margin: 0;
padding: 0;
list-style: none;
}
.nav_item {
text-align: center;
padding: 0 14px;
}
.nav_item a {
display: block;
padding: 8px 0;
border-bottom: 1px solid #eee;
text-decoration: none;
color: #333;
text-align:left;
font-size:1.2rem;
}
.nav_item a span{
font-family: "Concert One", sans-serif;
font-size:1.8rem;
font-weight:bold;
margin-right:5px;
}
.nav_item.home a::before{
content:"HOME";
}
.nav_item.sch a::before{
content:"SCHEDULE";
}
.nav_item.cast a::before{
content:"CAST";
}
.nav_item.system a::before{
content:"SYSTEM";
}
.nav_item.rec a::before{
content:"RECRUIT";
}

.nav_item a:hover {
background-color: #eee;
}
.hamburger_border {
position: absolute;
left: 6px;
width: 28px;
height: 2px;
background-color: #333;
transition: all .6s;
}
.hamburger_border_top {
top: 14px;
}
.hamburger_border_center {
top: 22px;
}
.hamburger_border_bottom {
top: 30px;
}
.black_bg {
position: fixed;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
z-index: 100;
background-color: #333;
opacity: 0;
visibility: hidden;
transition: all .6s;
cursor: pointer;
}

/* 表示された時用のCSS */
.nav-open .nav {
right: 0;
}
.nav-open .black_bg {
opacity: .8;
visibility: visible;
}
.nav-open .hamburger_border_top {
transform: rotate(45deg);
top: 20px;
}
.nav-open .hamburger_border_center {
width: 0;
left: 50%;
}
.nav-open .hamburger_border_bottom {
transform: rotate(-45deg);
top: 20px;
}
.sp_nav{
display:block;
}
.sp_nav ul{
display:flex;
background:#232323;
}
.sp_nav ul li{
width : calc(100% / 5) ;
position:relative;
}
.sp_nav ul li:not(:last-child)::after{
content:"";
position:absolute;
top:10%;
right:0;
height:80%;
width:1px;
border-left:1px dotted rgba(255,255,255,.5);
}
.sp_nav ul li a{
display:block;
color:#fff;
font-weight:bold;
font-size:.8rem;
line-height:1.2;
padding:1rem 0;
}
.sp_nav ul li a span{
font-family: "Concert One", sans-serif;
display:block;
font-size:1.3rem;
}
}
/* spナビここまで */
@media only screen and (min-width: 769px) {
  .header{
    position:relative;
    z-index:99;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  /* 固定時 */
  .header.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    animation: slideDown 0.6s ease forwards;
    mix-blend-mode: normal;
    overflow:hidden;
  }
  .header.is-fixed::before{
    content:"";
    display:block;
    background:rgba(255,255,255,.65);
    position:absolute;
    top:-20px;
    left:-20px;
    right:-20px;
    bottom:-20px;
    backdrop-filter: blur(6px);
  }
  .header_inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 2%;
  }
  #index .header_inner .logo{
    position:absolute;
    top:10px;
    left:16px;
  }
  #index .header_inner .logo img{
    width:240px;
  }
  .header_inner .logo img{
    width:130px;
  }
  .header.is-fixed .header_inner .logo{
    position:relative;
    top:0;
    left:0;
  }
  #index .header.is-fixed .header_inner .logo img,
  .header.is-fixed .header_inner .logo img{
    width:130px;
  }
  .header_inner ul{
    text-align:right;
    line-height:1.2;
  }
  .nav_pc{
    margin-left:auto;
  }
  .nav_pc ul{
    display:flex;
    gap:0 24px;
    align-items:center;
  }
  .nav_pc ul li{
    font-weight:bold;
    letter-spacing: 2px;
    text-align:center;
  }
  .nav_pc ul li strong{
    display:block;
    font-family: "Concert One", sans-serif;
    font-size:22px;
    letter-spacing:0;
  }
  .nav_pc ul li small{
    display:block;
    font-size:11px;
  }
  .nav_pc ul li:nth-last-child(2),
  .nav_pc ul li:last-child{
    margin-left:-10px;
  }
  .nav_pc ul li img{
    height:40px;
  }
}
/* pcナビここまで */
/* 上からスライド */
@keyframes slideDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
/* パンくず */
.breadcrumb ul{
width:1200px;
font-size:12px;
display:flex;
margin:0 auto;
padding:0 0 32px 0;
}
.breadcrumb ul li:not(:last-child)::after{
content:">";
margin:0 3px;
}
@media screen and (max-width: 640px) {
.breadcrumb ul{
width:100%;
padding:0 10px;
margin-bottom:1rem;
overflow-x:scroll;
}
.breadcrumb ul li{
white-space:nowrap;
}
}

/* カバー動画 */
section.cover{
  margin-top:-72px;
  margin-bottom:48px;
  padding:80px 0 64px;
  position:relative;
}
section.cover::before{
  content:"";
  display:block;
  background:#ffde25;
  width:96%;
  height:100%;
  border-radius:0 0 48px 48px;
  position:absolute;
  top:0;
  left:2%;
  z-index:-1;
}
section.cover video{
  width:90%;
}
section.cover img{
  width:1000px;
}

section.cover video.mov_sp{
  display:none;
}
@media screen and (max-width: 640px) {
  section.cover{
    margin-top:-82px;
    margin-bottom:32px;
    padding:48px 10px 32px;
  }
  section.cover::before{
    width:100%;
    left:0;
    border-radius:0 0 24px 24px;
  }
  section.cover video{
    width:100%;
  }
  section.cover video.mov_pc{
    display:none;
  }
  section.cover video.mov_sp{
    display:block;
  }
}

/* スライダー */
.slider-pro{
margin-bottom:48px;
}
.slider-pro .sp-slide{
overflow:hidden;
background:#fff;
}
.slider-pro .sp-slide img{
opacity: 0.3;
}
.slider-pro .sp-selected img{
opacity: 1;
}
.sp-arrow{
width:12px;
}
.sp-next-arrow::after,
.sp-next-arrow::before,
.sp-previous-arrow::after,
.sp-previous-arrow::before{
background-color:#604a56;
}
.slider-pro .icon_new {
  position: absolute;
  font-family: "Jost", sans-serif;
  font-size: 16px;
  font-weight: 700;
  top: 0px;
  left: 16px;
  padding-top: 8px;
  line-height: 1.1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 55px;
  height: 60px;
  background: #e62878;
  color: #fff;
  text-shadow: 0 0 3px rgba(0,0,0,.2);
  clip-path: polygon( 0 0, 100% 0, 100% 100%, 50% 85%, 0 100%);
}
.slider-pro .icon_birthday {
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 100px;
  z-index: 9;
}
.sp-button{
border: 2px solid #604a56;
}
.sp-selected-button {
background-color: #604a56;
}
@media screen and (max-width: 640px) {
.slider-pro{
margin-bottom:24px;
}
.slider-pro .sp-slide{
border-radius:0;
}
.floor_wrap .slider-pro .sp-slide{
border-radius:10px;
}
.slider-pro .icon_new {
font-size: 15px;
width: 50px;
height: 55px;
}
.slider-pro .icon_birthday {

}
}
/* twitterとか */
.cont_two{
display:flex;
justify-content:space-between;
width:980px;
margin:0 auto 48px;
min-height:500px;
}
.cont_two .twitter_box,
.cont_two .diary_box{
width:49%;
border-radius:16px;
background:#fff;
}
.cont_two .twitter_box .box,
.cont_two .diary_box .box{
padding:0 15px 15px;
}
.cont_two .news_box{
border-radius:16px;
background:#fff;
width:49%;
}
.cont_two .news_box .news_list{
padding:0 10px 15px 15px;
}
.cont_two .news_box dl{
height:402px;
overflow-y:scroll;
scrollbar-width: thin;
padding-right:10px;
}
.cont_two .news_box dl > div{
display:flex;
margin-bottom:15px;
padding-bottom:15px;
border-bottom:2px dotted #ddd;
}
.cont_two .news_box dl > div dt{
margin-right:20px;
}
.cont_two .news_box dl > div dd{
text-align:left;
}
.cont_two .news_box dl > div dd .ttl{
font-weight:bold;
font-size:18px;
}
.cont_two .news_box dl > div dd .time{
font-size:12px;
color:#888;
margin-bottom:4px;
}
.cont_two .news_box dl > div dt img{
max-width:140px;
width:140px;
height:140px;
object-fit:cover;
object-position: 0 0;
border-radius:8px;
overflow:hidden;
}
.cont_two .newface_box{
border-radius:16px;
background:#fff;
width:49%;
}
.cont_two .newface_box .newface_list_wrap{
padding:0 10px 15px 15px;
}
.cont_two .newface_box .newface_list{
height:402px;
overflow-y:scroll;
scrollbar-width: thin;
padding-right:10px;
}
.cont_two .newface_box dl{
display:flex;
}
.cont_two .newface_box dl:not(:last-child){
margin-bottom:24px;
padding-bottom:24px;
border-bottom:1px solid #ddd;
}
.cont_two .newface_box dl dt{
min-width:200px;
width:200px;
height:267px;
border-radius:4px;
overflow:hidden;
}
.cont_two .newface_box dl dt img{
transition: transform .4s ease;
}
.cont_two .newface_box dl:hover dt img{
transform: scale(1.1);
}
.cont_two .newface_box dl dd{
text-align:left;
margin-left:16px;
padding-right:5px;
flex-grow:1;
}
.cont_two .newface_box dl dd .name span{
font-size:18px;
font-weight:bold;
}
.cont_two .newface_box dl dd .size{
font-size:12px;
margin-bottom:10px;
padding-bottom:10px;
border-bottom:2px dotted #999;
color:#888;
}
@media screen and (max-width: 640px) {
.cont_two{
width:100%;
display:block;
padding:0 10px;
margin-bottom:3.2rem;
}
.cont_two > div:first-child{
margin-bottom:32px;
}
.cont_two .twitter_box,
.cont_two .newface_box,
.cont_two .news_box,
.cont_two .diary_box{
width:100%;
}
.cont_two .twitter_box{
margin-bottom:2rem;
}
.cont_two .newface_box dl{
}
.cont_two .newface_box dl dt{
min-width:160px;
width:160px;
}
.cont_two .news_box dl > div dt img{
width:80px;
height:80px;
}
.cont_two .newface_box dl dd .comment,
.cont_two .news_box dl > div dd .comment{
font-size:1.3rem;
}
}

/* 1カラム */
.cont_wrap{
padding: 64px 0;
background: #f2f3f4;
}
.cont_wrap h3.ttl,
.top_blog_wrap h3.ttl,
.top_recruit_wrap h3.ttl{
text-align:left;
font-size:12px;
font-weight:bold;
padding:32px 0 16px 32px;
line-height:1.1;
position:relative;
}
.cont_wrap h3.ttl span,
.top_blog_wrap h3.ttl span,
.top_recruit_wrap h3.ttl span{
font-size:40px;
font-family: "Playfair Display", serif;
display:inline-block;
line-height:1;
}
.cont_wrap h3.ttl span:first-letter,
.top_blog_wrap h3.ttl span:first-letter,
.top_recruit_wrap h3.ttl span:first-letter{
color:#ff5099;
}
.cont_wrap h3.ttl small,
.top_blog_wrap h3.ttl small,
.top_recruit_wrap h3.ttl small{
font-size:13px;
font-weight:bold;
display:block;
margin-top:4px;
}
.top_blog_wrap h3.ttl a,
.cont_wrap h3.ttl a{
position:absolute;
right:15px;
top:30px;
font-size:14px;
display:block;
border-radius:6px;
padding:7px 15px;
color:#e62878;
border:1px solid #e62878;
}
.top_blog_wrap h3.ttl a:hover,
.cont_wrap h3.ttl a:hover{
background:#e62878;
color:#fff;
border-color:#e62878;
}
.top_blog_wrap h3.ttl a::after,
.cont_wrap h3.ttl a::after{
content:"";
display:inline-block;
height:11px;
width:11px;
background:url(/img/common/arrow_pink.svg) no-repeat;
background-size:cover;
position:relative;
margin-left:5px;
}
.top_blog_wrap h3.ttl a:hover::after,
.cont_wrap h3.ttl a:hover::after{
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
@media only screen and (max-width: 640px) {
.cont_wrap{
padding:0 1.2rem;
margin-bottom:3.2rem;
}
.cont_wrap h3.ttl,
.top_blog_wrap h3.ttl,
.top_recruit_wrap h3.ttl{
padding:14px;
}
.cont_wrap h3.ttl span,
.top_blog_wrap h3.ttl span,
.top_recruit_wrap h3.ttl span{
font-size:3.2rem;
}
.top_blog_wrap h3.ttl a,
.cont_wrap h3.ttl a{
font-size:1.3rem;
top:2rem;
right:.5rem;
}
}
/* 新着1カラム */
.cont_wrap .news_box{
border-radius:16px;
background:#fff;
width:980px;
margin:auto;
box-shadow: 0 8px 4px rgba(150, 150, 150, 0.2);
}
.cont_wrap .news_box .news_list{
padding:0 16px 32px 32px;
}
.cont_wrap .news_box dl{
height:402px;
overflow-y:scroll;
scrollbar-width: thin;
padding-right:10px;
}
.cont_wrap .news_box dl > div{
display:flex;
margin-bottom:15px;
padding-bottom:15px;
border-bottom:2px dotted #ddd;
}
.cont_wrap .news_box dl > div dt{
margin-right:20px;
}
.cont_wrap .news_box dl > div dd{
text-align:left;
}
.cont_wrap .news_box dl > div dd .ttl{
font-weight:bold;
font-size:24px;
line-height:1.4;
}
.cont_wrap .news_box dl > div dd .time{
font-size:14px;
color:#888;
margin-bottom:4px;
}
.cont_wrap .news_box dl > div dt img{
max-width:240px;
width:240px;
border-radius:8px;
overflow:hidden;
}
@media screen and (max-width: 640px) {
.cont_wrap .news_box{
width:100%;
}
.cont_wrap .news_box .news_list{
padding:0 14px 20px;
}
.cont_wrap .news_box dl{
padding-right:0;
height:560px;
}
.cont_wrap .news_box dl > div{
display:block;
}
.cont_wrap .news_box dl > div dt{
margin:0 0 8px;
}
.cont_wrap .news_box dl > div dt img{
max-width:100%;
width:100%;
}
.cont_wrap .news_box dl > div dd .ttl{
font-size:2rem;
}
.cont_wrap .news_box dl > div dd .comment{
font-size:1.5rem;
}
}
/* 新人1カラム */
.cont_wrap .newface_box{
border-radius:16px;
background:#fff;
width:980px;
margin:auto;
}
.cont_wrap .newface_box .newface_list_wrap{
padding:0 10px 15px;
}
.newface__list dl{
margin:0 5px;
position:relative;
}
.newface__list dl .icon_schedule{
line-height:1.2;
position:absolute;
top:8px;
left:8px;
width:36px;
height:36px;
background:#000;
color:#fff;
text-align:center;
font-weight:bold;
font-size:12px;
padding-top:4px;
}
.newface__list dl dt{
margin-bottom:8px;
}
.newface__list .namebox .day{
font-weight:bold;
font-size:15px;
}
.newface__list .namebox .name span{
font-weight:bold;
}
.newface__list .namebox .size{
font-size:13px;
color:#888;
}
@media screen and (max-width: 640px) {
.cont_wrap .newface_box{
width:100%;
}
.newface__list .namebox .day{
font-size:1.5rem;
}
.newface__list .namebox .name{
font-size:1.2rem;
}
.newface__list .namebox .name span{
font-size:1.3rem;
}
.newface__list .namebox .size{
font-size:1.1rem;
}
}
/* ピックアップ1カラム */
.cont_wrap .pickup_box{
border-radius:16px;
background:#fff;
width:980px;
margin:auto;
}
.cont_wrap .pickup_box .pickup_list_wrap{
padding:0 10px 15px;
}
.pickup__list dl{
margin:0 5px;
position:relative;
}
.pickup__list dl .icon_new{
font-family: "Concert One", sans-serif;
font-size:11px;
font-weight:500;
position:absolute;
top:8px;
left:8px;
line-height:1.1;
display:flex;
align-items:center;
justify-content:center;
width:36px;
height:36px;
border-radius:2px;
background:#232323;
color:#fff;
}
.pickup__list dl dt{
margin-bottom:8px;
}
.pickup__list .namebox .day{
font-weight:bold;
font-size:15px;
}
.pickup__list .namebox .name span{
font-weight:bold;
}
.pickup__list .namebox .size{
font-size:13px;
color:#888;
}
@media screen and (max-width: 640px) {
.cont_wrap .pickup_box{
width:100%;
}
.pickup__list .namebox .day{
font-size:1.5rem;
}
.pickup__list .namebox .name{
font-size:1.2rem;
}
.pickup__list .namebox .name span{
font-size:1.3rem;
}
.pickup__list .namebox .size{
font-size:1.1rem;
}
}
/* 写メ日記1カラム */
.cont_wrap .diary_box{
border-radius:16px;
background:#fff;
width:980px;
margin:auto;
}
.cont_wrap .diary_box .box{
padding:0 15px 15px;
}
@media screen and (max-width: 640px) {
.cont_wrap .diary_box{
width:100%;
}
}
/* X1カラム */
.cont_wrap .x__box{
background:#000;
padding:64px 0;
}
.cont_wrap .x__box .x__wrap{
width:560px;
margin:auto;
}
@media screen and (max-width: 640px) {
.cont_wrap .x__box{
margin:0 -1.2rem;
padding:3.2rem 1.2rem;
}
.cont_wrap .x__box .x__wrap{
width:100%;
}
}
/* TOP出勤 */
.top_sch_wrap{
  position:relative;
  margin-bottom:80px;
}
.sch_wrap::before,
.top_sch_wrap::before{
  content:"";
  display:block;
  width:95%;
  height:calc(100% - 64px);
  position:absolute;
  top:32px;
  right:0;
  background:#ffde25;
  border-radius:100px 0 0 100px;
  z-index:-1;
}
@media screen and (max-width: 640px) {
  .top_sch_wrap{
    margin-bottom:48px;
  }
  .sch_wrap::before,
  .top_sch_wrap::before{
    width:98%;
    border-radius: 48px 0 0 48px;
    top:24px;
  }
}
/* TOPウィジェット */
.top_widget{
  margin-bottom:64px;
}
.top_widget_wrap{
  display:flex;
  justify-content:center;
  gap:32px;
}
.top_widget_wrap>div{
  width:480px;
}
.widget_txt{
  text-align:left;
  font-size:16px;
  letter-spacing:0;
  margin-top:10px;
  line-height:1.5;
}
.widget_txt strong,
.widget_txt span{
  font-weight:bold;
}
.widget_txt strong{
  color:#f44;
}
.iiko .widget_txt span{
  color:#29863a;
}
.kuchikomi .widget_txt span{
color:#e45b8e;
}
@media screen and (max-width: 640px) {
  .top_widget{
    margin-bottom:48px;
  }
  .top_widget_wrap{
    flex-direction: column;
    gap:24px;
    padding:0 4%;
  }
  .top_widget_wrap > div{
    width:100%;
  }
  .widget_txt{
    font-size:1.4rem;
    margin-top:8px;
  }
}
/* TOPブログ */
.top_blog{
position:relative;
margin-bottom:64px;
padding-bottom:48px;
}
.top_blog::before{
  content: "";
  display: block;
  width: 95%;
  height: calc(100% - 32px);
  position: absolute;
  top: 32px;
  left: 0;
  background: #ffde25;
  border-radius:0 100px 100px 0;
  z-index: -1;
  animation-name:fadeLeftAnime;
}
.top_blog_wrap{
  width:1200px;
  margin:auto;
}
.blog_list{
display:flex;
flex-wrap:wrap;
gap:15px;
}
.blog_list > dl{
width:calc(100% / 5 - 12px);
border-radius:16px;
text-align:left;
background:#fff;
overflow:hidden;
}
.blog_list > dl dt img{
width:100%;
height:auto;
aspect-ratio:3 / 4;
object-fit:cover;
}
.blog_list > dl dd{
padding:16px;
}
.blog_list > dl dd .ttl,
.blog_list > dl dd .name{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.blog_list > dl dd .ttl{
  margin-bottom:8px;
}
.blog_list > dl dd .ttl a{
font-weight:bold;
font-size:16px;
color:#ec8232;
}
.blog_list > dl dd .name{
font-size:14px;
font-weight:bold;
}
.blog_list > dl dd .day{
font-size:12px;
color:#888;
}
@media screen and (max-width: 640px) {
  .top_blog::before{
    width:98%;
    border-radius:0 48px 48px 0;
    top:24px;
    height: calc(100% - 24px);
  }
  .top_blog_wrap{
    width:100%;
  }
  .top_blog_wrap .titlebox{
    width:100%;
  }
  .top_blog_wrap .titlebox h2{
    transform: none;
    position:relative;
    top:0;
    right:0;
  }
  .top_blog_wrap .blog_list{
    padding:0 4%;
    gap:12px 6px;
  }
  .top_blog_wrap .blog_list > dl{
    width: calc(100% / 2 - 3px);
  }
  .blog_list > dl dt img{
    aspect-ratio: 1;
  }
  .blog_list > dl dd{
    padding:12px 8px;
  }
  .blog_list > dl dd .ttl{
    margin-bottom:4px;
  }
  .blog_list > dl dd .ttl a{
    font-size:1.3rem;
  }
  .blog_list > dl dd .name{
    font-size:1.4rem;
  }
  .blog_list > dl dd .day{
    font-size:1.1rem;
    letter-spacing:0;
} 
  .top_blog_box{
    padding: 0 14px 24px;
  }
}
/* TOP動画 */
.top_movie,
.video_wrap{
position:relative;
margin-bottom:64px;
padding-bottom:48px;
}
.video_wrap{
  margin-top:32px;
}
.top_movie::before,
.video_wrap::before{
  content: "";
  display: block;
  width: 95%;
  height: calc(100% - 32px);
  position: absolute;
  top: 32px;
  right: 0;
  background: #ffde25;
  border-radius:100px 0 0  100px;
  z-index: -1;
}
.movie_wrap{
  width:1200px;
  margin:auto;
}
.movie_list{
display:flex;
flex-wrap:wrap;
gap:15px;
}
.movie_list > dl{
width:calc(100% / 5 - 12px);
border-radius:16px;
text-align:left;
background:#fff;
overflow:hidden;
}
.movie_list > dl dt video{
  width:100%;
  height:auto;
  aspect-ratio:3 / 4;
  object-fit:cover;
}
.movie_wrap .movie_list > dl dd{
padding:16px;
}
.movie_wrap .movie_list > dl dd .ttl,
.movie_wrap .movie_list > dl dd .name{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.movie_wrap .movie_list > dl dd .ttl{
  margin-bottom:8px;
  font-weight:bold;
  font-size:16px;
  color:#ec8232;
}
.movie_wrap .movie_list > dl dd .name{
font-size:14px;
font-weight:bold;
}
.movie_wrap .movie_list > dl dd .day{
font-size:12px;
color:#888;
}
@media screen and (max-width: 640px) {
  .top_movie,
  .video_wrap{
    margin-bottom:48px;
  }
  .video_wrap{
    padding:0 4% 24px;
  }
  .top_movie::before,
  .video_wrap::before{
    width: 98%;
    border-radius: 48px 0 0 48px;
    height: calc(100% - 24px);
    top:24px;
  }
  .movie_wrap{
    width:100%;
  }
  .movie_list{
    gap:12px 6px;
  }
  .top_movie .movie_list{
    padding:0 4%;
  }
  .video_wrap .movie_list{
    margin-bottom:24px;
  }
  .movie_list > dl{
    width:calc(100% / 2 - 3px);
  }
  .movie_wrap .movie_list > dl dd{
    padding:12px 8px;
  }
  .movie_wrap .movie_list > dl dd .ttl{
    font-size:1.3rem;
    margin-bottom:4px;
  }
  .movie_wrap .movie_list > dl dd .name{
    font-size:1.4rem;
  }
  .movie_wrap .movie_list > dl dd .day{
    font-size: 1.1rem;
    letter-spacing: 0;
  }
}
/* TOPキャスト求人 */
.top_recruit{
padding:64px 0;
background-color: #fdf7c6;
  background-image: radial-gradient(circle, #ffde25 3px, transparent 3px), radial-gradient(circle, #ffde25 3px, transparent 3px);
  background-position: 0 0, 9px 18px;
  background-size: 18px 36px;
margin-bottom:64px;
}
.top_recruit_wrap{
  position:relative;
}
.top_recruit_box{
  display:inline-block;
  padding:24px;
  background:#fff;
  border-radius:16px;
}
@media screen and (max-width: 640px) {
  .top_recruit{
    padding:48px 4%;
    margin-bottom: 48px;
  }
  .top_recruit_wrap{
    width: 100%;
    flex-direction: column;
  }
  .top_recruit_wrap .titlebox{
    width:100%;
  }
  .top_recruit_wrap .titlebox h2{
    transform: none;
    position: relative;
    top:0;
    left:0;
  }
  .top_recruit_box{
    padding:10px;
    border-radius: 8px;
  }
}
/* TOPエマニエル秋葉原 */
.ema-akiba_wrap{
  margin-bottom:64px;
}
.ema-akiba_box{
  width:992px;
  margin:auto;
  position:relative;
}
.ema-akiba_box a{
  display:block;
  position:absolute;
  left:0;
  bottom:32px;
  text-align:center;
  width:100%;
}
.ema-akiba_box a img{
  width:75%;
  transition : all 0.3s ease 0s;
}
.ema-akiba_box a:hover img{
  opacity:1;
  transform: translateY(3px);
}
@media screen and (max-width: 640px) {
  .ema-akiba_wrap{
    margin-bottom:48px;
  }
  .ema-akiba_box{
    width:100%;
    padding:0 4%;
  }
  .ema-akiba_box a{
    bottom:10px;
  }
}
/* TOPアクセス */
.top_access{
  padding:0 0 64px;
  position:relative;
}
.top_access::before{
  content: "";
  display: block;
  width: 95%;
  height: calc(100% - 32px);
  position: absolute;
  top: 32px;
  left: 0;
  background: #ffde25;
  border-radius: 0 100px 100px 0;
  z-index: -1;
}
.top_access_wrap{
  width:1200px;
  margin:auto;
}
.top_access > .map{
  margin-bottom:48px;
}
.top_access .map_wrap{
  margin:auto;
}
.top_access .map_wrap .titlebox{
  width:360px;
}
.top_access .map_wrap .map_box{
  flex-grow:1;
}
.top_access .map_wrap .map_box .add{
  text-align:left;
  font-size:16px;
  margin:24px 0;
}
.top_access .map_wrap .map_box .add dl > dt{
  font-size:20px;
  font-weight:bold;
  color:#ec8232;
  border-bottom:1px solid rgba(17,17,17,.5);
  padding-bottom:8px;
  margin-bottom:8px;
}
.top_access .map_wrap .map_box .add dl > dd{
  margin-bottom:16px;
}
.top_access .map_wrap .map_box .add dl > dd div{
  display:flex;
}
.top_access .map_wrap .map_box .add dl > dd div dt{
  min-width:100px;
}
.top_access .map_wrap .map_box .add .btn a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-radius:100px;
  height:40px;
  line-height:39px;
  padding:0 40px;
  color:#fff;
  background:#111;
  font-weight:bold;
  font-size:18px;
}
.top_access .map_wrap .map_box .add .btn a::before{
  font-family: 'Material Icons Round';
  content: '\e0cd';
}
.streetview_box{
  display:flex;
  gap:24px;
}
.streetview_box > div{
  width:calc(100% / 2 - 12px);
}
.streetview_box .view_ttl{
  text-align:left;
  margin-bottom:8px;
  font-size:16px;
  font-weight:bold;
  display:flex;
  align-items:center;
}
.streetview_box .view_ttl::before{
  font-size: 22px;
  font-family: 'Material Icons Round';
  content: '\e577';
  color: #ec8232;
  margin-right: 4px;
}
@media screen and (max-width: 640px) {
  .top_access{
    padding-bottom:48px;
  }
  .top_access::before{
    width:98%;
    border-radius: 0 48px 48px 0;
    height: calc(100% - 24px);
    top: 24px;
  }
  .top_access_wrap{
    width:100%;
  }
  .top_access .map_wrap{
    padding:0 4%;
  }
  .top_access .map_wrap .map_box{
    padding:0;
  }
  .top_access .map_wrap .map_box .add{
    font-size:1.3rem;
    margin:16px 0;
    padding:0 6px;
    flex-direction: column;
  }
  .top_access .map_wrap .map_box .add dl > dt{
    font-size:1.6rem;
  }


  .top_access .map_wrap .titlebox{
    width:100%;
  }
  .top_access > .map{
    margin-bottom:24px;
  }
  
  .streetview_box{
    flex-direction: column;
    gap:16px;
  }
  .streetview_box > div{
    width:100%;
  }
  .streetview_box > div iframe{
    aspect-ratio: 1;
    height:380px;
  }
  .streetview_box .view_ttl{
    margin-bottom:4px;
  }

}
/* TOP LINEバナー */
.line_box{
width: 980px;
margin: 64px auto;
}
@media screen and (max-width: 640px) {
.line_box{
width: 95%;
margin: 0 auto 2.2rem auto;
}
}

/* 系列店 */
.chain_store{
  padding:64px 0;
  overflow-x:hidden;
}
.chain_store_wrap{
margin:auto;
width: 1200px;
}
.chain_store_list dl{
  text-align:left;
}
.chain_store_list dl dt{
margin-bottom:12px;
}
.chain_store_list dl dt img{
  border-radius:16px;
}
.chain_store_list dl dd span,
.chain_store_list dl dd strong{
  display:block;
}
.chain_store_list dl dd strong{
  font-size:14px;
  font-weight:bold;
}
.chain_store_list dl dd span{
  font-size:12px;
}
.chain_store_list dl dd span.area{
  color:#888;
}
.chain_store_list dl dd span.catch{
  margin-top:4px;
}

.chain_store_list > dl:hover{
cursor:pointer;
}
.chain_store_list > dl dt img{
transition: transform .4s ease;
}
.chain_store_list > dl:hover dt img{
transform: scale(1.1);
}
.chain_store_list > dl dd{
text-align:left;
line-height:1.3;
padding:0 4px;
}
.chain_store_list > dl dd strong{
font-size:17px;
font-weight:bold;
display:block;
margin-bottom:8px;
}
@media screen and (max-width: 640px) {
  .chain_store{
    padding:32px 0 56px;
  }
  .chain_store_wrap{
    width:100%;
    padding:0;
    margin:0;
  }
  .chain_store_list dl dd span.area{
    font-size:.9rem;
  }
  .chain_store_list dl dd strong{
    line-height:1.3;
  }
  .chain_store_list dl dd span.catch{
    font-size:1.1rem;
  }
}

/* 見出し */
h2.ttl{
line-height:1.1;
margin-bottom:24px;
text-align:center;
}
h2.ttl img{
  height:112px;
}
h2.ttl span{
font-size:48px;
font-weight:400;
font-family: "Outfit", sans-serif;
margin-right:4px;
}
.titlebox h2.ttl span{
  display:block;
}
@media only screen and (max-width: 640px) {
  h2.ttl img{
    height:64px;
  }
  .titlebox h2.ttl span{
    display:inline-block;
  }
}
h2.ttl span:first-letter{
}
h2.ttl small{
font-size:14px;
font-weight:bold;
}
h3.subttl{
font-size:28px;
margin-bottom:16px;
display:flex;
align-items:center;
justify-content:center;
letter-spacing:1px;
}
@media screen and (max-width: 640px) {
h3.subttl{
font-size:2rem;
}
}
h3.subttl::before,
h3.subttl::after{
content:"";
display:block;
border-top:1px solid #232323;
flex-grow:1;
}
h3.subttl::before{
margin-right:16px;
}
h3.subttl::after{
margin-left:16px;
}
.cont_two h3.ttl{
text-align:left;
font-size:12px;
font-weight:bold;
padding:15px 0 15px 15px;
line-height:1.1;
position:relative;
}
.cont_two h3.ttl span{
display:block;
font-size:36px;
font-family: "Concert One", sans-serif;
}
.cont_two h3.ttl a{
position:absolute;
right:15px;
top:30px;
font-size:14px;
display:block;
border-radius:100px;
padding:7px 15px 5px;
}
.cont_two h3.ttl a:hover{
background:#151515;
color:#fff;
}
.cont_two h3.ttl a::after{
content:"";
display:inline-block;
height:11px;
width:11px;
background:url(/img/common/arrow.svg) no-repeat;
background-size:cover;
position:relative;
margin-left:5px;
}
.cont_two h3.ttl a:hover::after{
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
@media only screen and (max-width: 640px) {
  h2.ttl{
    padding:0 16px;
    margin-bottom:16px;
  }
  h2.ttl span{
    font-size:2.5rem;
  }
  h2.ttl small{
    font-size:1.3rem;
  }
  .cont_two h3.ttl span{
    font-size:2.8rem;
  }
  .cont_two h3.ttl a{
    font-size:1.3rem;
    top:2rem;
    right:.5rem;
  }
}

/* キャスト一覧 */
.castlist_wrap{
  margin:32px auto 64px;
  position:relative;
}
.castlist_wrap::before{
  content: "";
  display: block;
  width: 95%;
  height: calc(100% - 64px);
  position: absolute;
  top: 32px;
  left: 0;
  background: #ffde25;
  border-radius: 0 100px 100px 0;
  z-index: -1;
}
.castlist_wrap .btn{
  margin: 48px auto 0;
}
.castlist_wrap .btn a{
display: block;
width: 320px;
height:56px;
line-height:52px;
border-radius: 100px;
font-size: 18px;
font-weight: 600;
background: #fff;
position: relative;
color: #e62878;
border: 2px solid #e62878;
position: relative;
margin:auto;
}
.castlist_wrap .btn a:hover {
color: #fff;
background: #e62878;
}
.castlist_wrap .btn a::after{
  font-family: 'Material Icons Round';
  content: '\e5c8';
  position:absolute;
  right:24px;
}

@media screen and (max-width: 640px) {
  .castlist_wrap{
    width:100%;
    margin-bottom:48px;
  }
  .castlist_wrap::before{
    width:98%;
    border-radius:0 48px 48px 0;
    top:24px;
    height: calc(100% - 24px);
  }
  .castlist_wrap .btn a{
    font-size:1.4rem;
    height:40px;
    line-height:37px;
    width:200px;
  }
}

/* キャスト詳細 */
.prof_wrap{
  margin:0 auto 64px;
}
.profilephoto{
  margin:-84px 0 32px;
  padding:96px 0 32px;
  background:#ffde25;
}
.profilephoto .main-swiper img{
  border-radius:16px;
}
.profilephoto .thumb-swiper .swiper-slide{
  border-radius:8px;
  overflow: hidden;
}
.prof__wrap{
width:1200px;
margin:0 auto;
position:relative;
background:#ffde25;
padding:32px;
border-radius:32px;
display:flex;
gap:0 24px;
}
.prof_wrap .prof_txt{
text-align:left;
position:relative;
flex-grow:1;
padding:32px;
background:#fff;
border-radius:24px;
border:3px solid #111;
max-width:720px;
width:720px;
}
.prof_wrap .prof_txt .catch{
font-size:20px;
font-weight:600;
color:#ec8232;
margin-bottom:4px;
}
.prof_wrap .prof_txt .name{
font-size:40px;
font-weight:bold;
line-height:1;
margin-bottom:4px;
}
.prof_wrap .prof_txt .size{
  font-size:14px;
  margin-bottom:24px;
}
.prof_wrap .subttl{
  margin:0 0 8px;
  text-align:left;
}
.prof_wrap .subttl span{
font-family: "Concert One", sans-serif;
font-size:32px;
margin-right:5px;
letter-spacing:0;
display:inline-block;
}
.prof_wrap .subttl small{
  font-size:14px;
  font-weight:500;
}
.prof_wrap .prof_txt .prof_list dl{
  display:flex;
  box-sizing:border-box;
  gap:0 8px;
  line-height:1.5;
  border-top:3px dotted #ddd;
  font-size:16px;
}
.prof_wrap .prof_txt .prof_list dl dt,
.prof_wrap .prof_txt .prof_list dl dd{
padding:14px 6px;
}
.prof_wrap .prof_txt .prof_list dl dt{
  min-width:240px;
  width:240px;
  font-weight:bold;
  color:#ec8232;
}
.prof_wrap .prof_txt .prof_list dl dd{
flex-grow:1;
  overflow-wrap: break-word;
  word-break: break-all;
}
.prof_wrap .prof_txt .message{
  font-size:16px;
}
.prof_wrap .prof_txt .message a{
  color:#ec8232;
}
.prof__wrap .prof_txt .message a:hover{
  opacity:.7;
}
.prof_right{
  flex-grow:1;
  font-size:16px;
}
.prof_right > div:not(:last-child){
  margin-bottom:24px;
}
.prof_right .subttl{
  line-height:1;
  margin-bottom:16px;
}
.prof_sch,
.prof_blog,
.prof_video{
  padding:24px;
  border:3px solid #111;
  background:#fff;
  border-radius:24px;
}
.sch_pager{
  margin:12px 0;
}
.sch_pager ul{
  display:flex;
  justify-content:space-between;
}
.sch_pager ul a{
  background:#111;
  color:#fff;
  font-size:14px;
  display:inline-block;
  line-height:24px;
  height:24px;
  padding:0 16px;
  border-radius:100px;
}
.sch_pager ul a:hover{
  color:#ffde25;
}
.sch_box dl{
  display:flex;
  gap:16px;
  padding:10px 0;
  border-top:1px solid rgba(17,17,17,.5);
  line-height:1;
}
.sch_box dl:last-child{
  border-bottom:1px solid rgba(17,17,17,.5);
}
.sch_box dl dt{
  width:120px;
  text-align:center;
}
.sch_box dl dt.sat{
  color:#499bfb;
}
.sch_box dl dt.sun{
  color:#fb4949;
}
.sch_box dl dd{
  font-weight:600;
}
.prof_video video{
width:100%;
}
.prof_video dd{
  text-align:left;
}
.prof_video dd .day{
  font-size: 12px;
  letter-spacing: 0;
  color: rgba(17,17,17,.4);
}

.prof__wrap .txt a.icon_x{
display: inline-block;
position: absolute;
right: 0;
top: 4px;
width: 42px;
}
.prof__wrap .txt a.icon_inst{
display: inline-block;
position: absolute;
right: 50px;
top: 4px;
width: 42px;
}
.prof__wrap .txt .ename{
font-size:42px;
font-weight:bold;
line-height:1.3;
font-family: "Concert One", sans-serif;
}

.prof__wrap .txt .name span{
font-size:28px;
font-weight:bold;
}
.prof__wrap .txt .size{
font-size:16px;
margin-bottom:12px;
padding-bottom:12px;
border-bottom:2px dotted #bbb;
}
.prof__wrap .txt .course{
font-size:16px;
margin-bottom:12px;
}
.prof__wrap .txt ul.icon{
display:flex;
flex-wrap:wrap;
margin-bottom:12px;
}
.prof__wrap .txt ul.icon li{
line-height:1;
border:1px solid #232323;
border-radius:2px;
padding:3px 8px 2px;
margin:0 8px 5px 0;
white-space:nowrap;
font-size:12px;
}
.prof__wrap .txt .course span:not(:last-child)::after{
content:"/";
margin:0 8px;
}
.prof__wrap .txt .subttl span:first-letter{
color:#e62878;
}
.prof__wrap .txt .subttl small{
font-size:13px;
}
.prof__wrap .txt .prof_list{
margin-bottom:20px;
}

.prof__wrap .txt .prof_list dl.option dd{
display:flex;
flex-wrap: wrap;
gap: 6px 6px;
}
.prof__wrap .txt .prof_list dl.option dd span{
display:inline-block;
border: 1px solid #232323;
padding: 0 10px;
border-radius: 100px;
height:26px;
line-height:26px;
}
.prof__wrap .txt .prof_list dl.option dd span.ng{
color:#ccc;
border-color:#ccc;
}
.prof__wrap .txt .message,
.prof__wrap .txt .comment{
margin-bottom:20px;
}
h3.prof_ttl{
line-height:1.2;
margin:36px 0 10px;
}
h3.prof_ttl span{
font-family: "Playfair Display", serif;
font-size:32px;
font-weight:600 !important;
display:block;
letter-spacing:1px;
text-indent:1px;
}
h3.prof_ttl span:first-letter{
color:#e62878;
}
h3.prof_ttl small{
font-size:14px;
font-weight:500;
}
.prof_sch_box{
position:relative;
}
.prof_wrap .prof_box .sch_pager{
position:absolute;
width:100%;
top:-50px;
}
.prof_wrap .prof_box .sch_pager ul {
display: flex;justify-content: space-between;
}
.prof_wrap .prof_box .sch_pager ul li{
width:50px;
text-align:center;
}
.prof_wrap .prof_box .sch_pager ul li a{
font-size:12px;
line-height:1.2;
}
.prof_wrap .prof_box .sch_pager ul li a::before{
font-family: 'Material Icons Round';
content: '\e5e0';
display:block;
font-size:20px;
font-weight:normal;
}
.prof_wrap .prof_box .sch_pager ul li a.next::before{
content: '\e5e1';
}
.prof_wrap .prof_box .sch_pager ul li a.unlink { pointer-events: none;color: #ccc; }
.prof_wrap .prof_box .sch_box{
display:flex;
margin-bottom:60px;
}
.prof_wrap .prof_box .sch_box dl{
width : calc(100% / 7) ;
text-align:center;
font-size:16px;
border-bottom:1px solid rgb(247, 119, 173);
}
.prof_wrap .prof_box .sch_box dl dt,
.prof_wrap .prof_box .sch_box dl dd{
padding:10px 0;
}
.prof_wrap .prof_box .sch_box dl dt{
border-top: 3px solid rgb(255, 222, 236);
background: #e62878;
  color: #fff;
}
.prof_wrap .prof_box .sch_box dl dd{
font-weight:bold;
display:flex;
flex-direction:column;
height:calc(100% - 46px);
}
.prof_wrap .prof_box .sch_box dl dd .time{
line-height:1.1;
padding:8px 0 0;
margin-bottom:10px;
font-size:16px;
}
.prof_wrap .prof_box .sch_box dl dd .time.none{
color:#aaa;
}
.prof_wrap .prof_box .sch_box dl dd .stay_txt{
font-size:13px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display:block;
margin:-9px 0 12px;
line-height:1.1;
}
.prof_wrap .prof_box .sch_box dl dd .stay_txt::before{
font-family:"FontAwesome";
content:"\f0d7";
display:block;
font-size:17px;
margin-bottom:3px;
color:#aaa;
}
.prof_wrap .prof_box .sch_box dl dd .reserve_btn{
margin-top:auto;
}
.prof_wrap .prof_box .sch_box dl dd .reserve_btn a{
display:inline-block;
height:24px;
line-height:24px;
border:1px solid #232323;
color:#232323;
padding:0 24px;
border-radius:100px;
margin:auto;
font-size:14px;
}
.prof_wrap .prof_box .sch_box dl dd .reserve_btn a:hover{
background:#232323;
color:#fff;
}

.prof_widget{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.prof_widget > div{
width:49%;
margin-bottom:20px;
}

.prof_review{
}
.prof_review .review_wrap{
text-align:left;
}
.prof_review .review_wrap dl{
padding-bottom:20px;
margin-bottom:20px;
border-bottom:1px solid #232323;
}
.prof_review .review_wrap dt{
display:flex;
justify-content:space-between;
align-items:center;
}
.prof_review .review_wrap dt .ttl{
font-size:18px;
font-weight:bold;
}
.prof_review .review_wrap dt .time{
font-size:12px;
}
.prof_review .review_wrap dd.user_name::after{
content:"様";
margin-left:4px;
}
.prof_review .review_wrap dd.evaluation::before{
content:"評価：";
}
.prof_review .review_wrap dd.evaluation .star{
font-size:21px;
}

.prof_box #acMenu dt span{
display:inline-block;
font-size:17px;
font-weight:bold;
position:relative;
line-height:1;
padding:20px 0 18px;
width:300px;
background:#232323;
color:#fff;
letter-spacing:1px;
}
.prof_box #acMenu dt.active{
display:none;
}
.prof_box #acMenu dt.active span{
border-radius:26px 26px 0 0;
}
.prof_box #acMenu dt span::after{
/*
content:"▼";
position:absolute;
right:32px;
*/
}
.prof_box #acMenu dt.active span::after{
content:"▲";
}
.prof_box #acMenu > dd{
display:none;
}
.prof_box #acMenu .form_caution{
font-size:12px;
margin-top:4px;
}

@media screen and (max-width: 640px) {
.prof_wrap{
width:100%;
padding:0;
}
.prof__wrap .txt{
margin-left:0;
}
.prof__wrap .txt ul.icon li{
padding-top:4px;
}
.prof_wrap .prof_box .sch_box{
display:block;
}
.prof_wrap .prof_box .sch_box dl{
width:100%;
display:flex;
}
.prof_wrap .prof_box .sch_box dl dt{
width:12rem;
padding:1rem;
border:none;
font-size:1.5rem;
}
.prof_wrap .prof_box .sch_box dl dd{
flex-grow:1;
padding:1rem;
text-align:left;
position:relative;
}
.prof_wrap .prof_box .sch_box dl dd .time{
padding:0;
line-height:1.6;
margin-bottom:0;
font-size:1.6rem;
}
.prof_wrap .prof_box .sch_box dl dd .stay_txt{
display:flex;
align-items:center;
margin:.1rem 0 0 0;
font-size:1.3rem;
}
.prof_wrap .prof_box .sch_box dl dd .stay_txt::before{
margin:0 .4rem 0 0;
content:"\f0da";
position:relative;
top:-1px;
}
.prof_wrap .prof_box .sch_box dl dd .reserve_btn{
margin:auto;
position:absolute;
top:1rem;
right:0;
}
.prof_wrap .prof_box .sch_box dl dd .reserve_btn a{
padding:0 1.6rem;
font-size:1.3rem;
height:2.4rem;
line-height:2.3rem;
}
.prof_wrap .prof_box .sch_box dl:first-of-type dd{
border-top:1px solid #e62878;
}
  .prof__wrap{
    display:block;
    width:100%;
  }
  .profilephoto{
    margin-bottom:0px;
    background:#fff;
  }
  .prof__wrap{
    padding:24px 16px;
  }
  .prof__wrap .titlebox{
    width:100%;
  }
  .prof__wrap .titlebox h2{
    transform: none;
    position:relative;
    top:0;
    left:0;
    margin-bottom:16px;
  }
  .prof__wrap .prof_txt{
    padding:24px 16px;
    width:100%;
    margin-bottom:24px;
  }
  .prof__wrap .prof_txt .catch{
    font-size:1.5rem;
  }
  .prof__wrap .prof_txt .name{
    font-size:2rem;
  }
  .prof_wrap .prof_txt .size{
    margin-bottom:16px;
  }
  .prof__wrap .prof_txt .subttl{
    font-size:1.1rem;
  }
  .prof__wrap .prof_txt .subttl span{
    font-size:24px;
  }
  .prof__wrap .prof_txt .prof_list dl{
    font-size:1.35rem;
    display:block;
    padding:8px 2px;
    line-height:1.4;
  }
  .prof__wrap .prof_txt .prof_list dl dt,
  .prof__wrap .prof_txt .prof_list dl dd{
    padding:0;
  }
  .prof__wrap .prof_txt .prof_list dl dt{
    width:100%;
    margin-bottom:4px;
  }
  .prof__wrap .prof_txt .message{
    font-size:1.35rem;
  }
  .prof_sch,
  .prof_blog,
  .prof_video{
    padding:24px 16px;
  }
  

.prof__wrap .photo{
width:100%;
min-width:100%;
}
.prof__wrap .txt .prof_list dl{
display:block;
}
.prof__wrap .txt .subttl{
font-size:1.2rem;
}
.prof__wrap .txt .subttl span{
font-size:2.8rem;
}

.prof__wrap .txt .catch{
font-size:1.6rem;
}
.prof__wrap .txt .name{
font-size:1.6rem;
}
.prof__wrap .txt .name span{
font-size:2rem;
}
.prof__wrap .txt .size,
.prof__wrap .txt .course{
font-size:1.4rem;
}
.prof__wrap .txt .size{
margin-bottom:1rem;
padding-bottom:1rem;
}
.prof__wrap .txt .course{
margin-bottom:1rem;
}

.prof__wrap .txt .prof_list dl{
font-size:1.5rem;
}
.prof__wrap .txt .prof_list dl dt,
.prof__wrap .txt .prof_list dl dd{

}
.prof__wrap .txt .prof_list dl dt{
padding:12px 6px 3px;
width:100%;
color:#e62878;
}
.prof__wrap .txt .prof_list dl dd{
padding:0 6px 12px;
width:100%;
}
.prof__wrap .txt .prof_list dl.option dd span{
white-space:nowrap;
}
.prof__wrap .txt .prof_list dl.option dd .ng{
color:#ccc;
}
.prof__wrap .txt .message,
.prof__wrap .txt .comment{
font-size:1.3rem;
}


.prof_widget{
display:block;
}
.prof_widget > div{
width:100%;
}
.prof_widget > div:first-child{
margin-bottom:40px;
}
.prof_box #acMenu dt span{
font-size:1.6rem;
padding:1.6rem 0;
}
.prof_review .review_wrap dt{
display:block;
margin-bottom:.5rem;
}
.prof_review .review_wrap .user_name,
.prof_review .review_wrap .evaluation{
font-size:1.3rem;
}
.prof_review .review_wrap .evaluation{
margin-bottom:.5rem;
}
.prof_review .review_wrap .comment{
font-size:1.4rem;
}
.prof__wrap .txt a.icon_x,
.prof__wrap .txt a.icon_inst{
top: 0;
}
}

/* 出勤 */
.sch_wrap{
margin:32px auto 64px;
position:relative;
}
.sch_wrap .weekly_btn{
display:flex;
justify-content:space-between;
margin:0 auto 30px;
width:1200px;
}
.sch_wrap .weekly_btn li{
width : calc(100% / 7 - 10px) ;
}
.sch_wrap .weekly_btn li a{
display:block;
box-sizing:border-box;
text-align:center;
border:3px solid #111;
background:#fff;
border-radius:6px;
position:relative;
padding:14px 0;
font-size:20px;
font-weight:bold;
line-height:1.2;
color:#111;
}
.sch_wrap .weekly_btn li a:hover{
  background:#fae77d;
}
.sch_wrap .weekly_btn li a.active{
  color:#ffde25;
  background: #111;
}
.sch_wrap .weekly_btn li a.active::before{
content:"";
display:block;
width:22px;
height: 14px;
background:#000;
clip-path: polygon(0 0, 100% 0, 50% 100%);
position:absolute;
right:0;
left:0;
margin:auto;
bottom:-16px;
}
.sch_wrap .weekly_btn li span{
display:block;
font-size:14px;
}
.sch_wrap h3.subttl{
font-size:24px;
font-weight:bold;
margin:0 auto 24px;
background:#111;
border-radius:100px;
line-height:1;
padding:16px 0;
width:40%;
color:#ffde25;
}

@media screen and (max-width: 640px) {
.sch_wrap{
  width:100%;
  margin:0 0 48px;
}
.sch_wrap .weekly_btn{
  overflow-y:scroll;
  padding-left:1.2rem;
  padding-bottom:16px;
  margin-bottom:8px;
  width:auto;
}
.sch_wrap .weekly_btn li{
  min-width:80px;
  margin-right:.6rem;
}
.sch_wrap .weekly_btn li a{
  font-size:1.6rem;
  padding:9px 0;
}
.sch_wrap .weekly_btn li a span{
  font-size:1.3rem;
}
.sch_wrap .weekly_btn li a.active::before,
.sch_wrap .weekly_btn li a.active::after{
border-width: 10px 8px 0 8px;
}
.sch_wrap .weekly_btn li a.active::before{
border-color: #fff transparent transparent transparent;
bottom:-12px;
}
.sch_wrap .weekly_btn li a.active::after{
bottom:-9px;
}
.sch_wrap h3.subttl{
font-size:1.7rem;
width:80%;
}
.sch_wrap h3.subttl::before,
.sch_wrap h3.subttl::after{
width:30px;
flex-grow:0;
}
.sch_wrap h3.subttl::before{
margin-right:16px;
}
.sch_wrap h3.subttl::after{
margin-left:16px;
}
}

/* キャスト一覧（ソート／絞り込み） */
.lady_search{
margin-bottom:16px;
}
.lady_search .lady_search_sort ul,
.lady_search .lady_search_narrow ul {
width: 100%;
display: flex;
flex-wrap: wrap;
}
.lady_search .lady_search_sort ul{
  width:1200px;
  margin:auto;
}
.lady_search .lady_search_sort ul li{
display:flex;
font-weight:bold;
font-size:15px;
}
.lady_search .lady_search_sort ul li:not(:last-child)::after{
content:"│";
margin:0 4px;
color:rgba(0,0,0,.3);
}
.lady_search .lady_search_sort ul li:first-child::after{
content:"：";
color:#444;
}
.lady_search .lady_search_sort .sortbtn{
display:inline-flex;
margin-left:6px;
}
.lady_search .lady_search_sort a:hover{
cursor:pointer;
color:#ec8232;
}
.lady_search .lady_search_sort .sortbtn a:last-child{
margin-left:3px;
}
.lady_search .lady_search_narrow{
margin-top:8px;
}
@media screen and (min-width: 640px) {
.lady_search .lady_search_narrow li:not(:last-child){
margin-right:4px;
}
}
.lady_search .lady_search_narrow li a{
display:block;
padding:0 12px;
height:28px;
line-height:27px;
border:1px solid #bbb;
border-radius:100px;
background:#fff;
color:#bbb;
}
.lady_search .lady_search_narrow li a:hover{
cursor:pointer;
color:#444;
border-color:#444;
}
.lady_search .lady_search_narrow li a.programs-filter-btn-active{
background:#444;
color:#fff;
}

@media screen and (max-width: 640px) {
.lady_search .lady_search_sort,
.lady_search .lady_search_narrow{
padding:0 1rem;
}
.lady_search .lady_search_sort ul li{
font-size:1.2rem;
}
.lady_search .lady_search_narrow li{
width : calc(100% / 4 - 4px) ;
margin:0 4px 5px 0;
}
.lady_search .lady_search_narrow ul li:nth-child(4n){
margin-right:0;
}
.lady_search .lady_search_narrow li a{
font-size:1.2rem;
font-weight:bold;
white-space:nowrap;
}
}

/*
.lady_search .lady_search_sort ul li::after,
.lady_search .lady_search_narrow ul li::after {
content: "｜";
margin: 0 4px;
}
.lady_search .lady_search_sort ul li:last-child::after,
.lady_search .lady_search_narrow ul li:last-child::after {
content: "";
margin: 0;
}
*/

/* 一覧共通 */
.lady_list{
display:flex;
flex-wrap:wrap;
gap: 40px 20px;
width:1200px;
margin:auto;
}
.lady_list dl{
width : calc(100% / 4 - 15px) ;
position:relative;
display:block;
background:#fff;
border:3px solid #111;
border-radius:16px;
padding:16px 16px 32px;
}
.lady_list dl dt{
margin-bottom: 10px;
overflow:hidden;
position:relative;
}
.lady_list dl dt img{
transition: transform .4s ease;
aspect-ratio:3 / 4;
object-fit:cover;
width:100%;
}
.lady_list dl dt .status{
position:absolute;
bottom:8px;
right:0;
left:0;
width:93%;
margin:auto;
background:rgba(255,255,255,.8);
border-radius:2px;
line-height:1;
font-size:15px;
font-weight:bold;
padding:6px 0 3px;
}
.lady_list dl dt .icon_x{
position:absolute;
top: 5px;
right: 5px;
display: block;
width: 32px;
height: 32px;
background: url(/img/common/icon_x.png) no-repeat;
background-size: auto;
background-size: 32px auto;
z-index: 99;
}
.lady_list dl dd.icon_new{
font-family: "Jost", sans-serif;
font-size:13px;
font-weight:700;
position:absolute;
top:0px;
left:16px;
padding-top:8px;
line-height:1.1;
display:flex;
align-items:flex-start;
justify-content:center;
width:42px;
height:50px;
background:#e62878;
color:#fff;
text-shadow:0 0 3px rgba(0,0,0,.2);
clip-path: polygon(
0 0,
100% 0,
100% 100%,
50% 85%,
0 100%
);
}
.lady_list dl span.icon_birthday{
position: absolute;
bottom:6px;
right:8px;
}
.lady_list dl dt span.icon_birthday::before {
content: "";
display: block;
width: 75px;
height: 75px;
background: url(/img/common/icon_birthday.png) no-repeat;
background-size: auto;
background-size: 75px auto;
}

.lady_list dl:hover dt img{
transform: scale(1.1);
}
.lady_list dl dd{
text-align:left;
line-height:1.3;
}
.lady_list dl dd.txt{
padding:32px 0 0;
position:relative;
}
.lady_list dl dd.day{
text-align:center;
font-size:18px;
font-weight:bold;
margin-bottom:4px;
}
.lady_list dl dd.room{
text-align:center;
font-size:15px;
margin-bottom:5px;
display:flex;
align-items:center;
}
.lady_list dl dd.room span{
margin:0 10px;
}
.lady_list dl dd.room::before,
.lady_list dl dd.room::after{
content:"";
flex-grow:1;
border-top:1px solid #232323;
position:relative;
top:-1px;
}
.lady_list dl dd .catch{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
position:absolute;
top:8px;
left:0;
color: #ec8232;
font-weight:600;
font-size:16px;
width:100%;
}
.lady_list dl dd .name{
  margin-bottom:4px;
}
.lady_list dl dd .name span{
font-weight:bold;
font-size:18px;
}
.lady_list dl dd .size{
font-size:13px;
color:#888;
}
.lady_list dl dd.sch{
line-height:1;
display:block;
text-align:center;
background:#111;
margin:0;
padding:10px 0;
border-radius:100px;
margin:16px auto -52px;
}
.lady_list dl dd.sch span{
font-size:19px;
font-weight:bold;
color: #ffde25;
letter-spacing:1px;
}
.lady_list dl dd.sch .schtxt{
width:60px;
background:#232323;
color:#fff;
font-size:13px;
padding:8px 0 5px;
}
.lady_list dl dd.booking_btn{
margin-top:12px;
text-align:center;
}
.lady_list dl dd.booking_btn a{
display:inline-block;
border:1px solid #232323;
color:#232323;
padding:0 20px;
height:29px;
line-height:30px;
border-radius:100px;
font-weight:bold;
}
.lady_list dl dd.booking_btn a:hover{
background:#232323;
color:#fff;
}
@media screen and (max-width: 640px) {
  .lady_list{
    width:100%;
    padding:0 4%;
    gap:28px 4px;
  }
  .lady_list dl{
    width : calc(100% / 2 - 2px) ;
    padding:8px 8px 24px;
  }
  .lady_list dl dt{
    margin-bottom:0;
  }
  .lady_list dl dd.txt{
    padding-top:28px;
  }
  .lady_list dl dt .status{
    font-size:1.3rem;
    padding:.4rem;
  }
  .lady_list dl dd.icon_new{
    font-size:1rem;
    width:36px;
    height:42px;
    left:10px;
  }
  .lady_list dl dd .name span{
    font-size:1.4rem;
  }
  .lady_list dl dd.day{
    font-size:1.6rem;
  }
  .lady_list dl dd .catch{
    font-size:1.3rem;
    top:5px;
  }
  .lady_list dl dd .size{
    font-size:1rem;
    letter-spacing:0;
    display:flex;
  }
  .lady_list dl dd.room span{
    font-size:1.3rem;
  }
  .lady_list dl dd.sch{
    font-size:.9rem;
    padding:1rem 0;
    margin:8px 0 -42px;
  }
  .lady_list dl dd.sch .schtxt{
    padding:8px 0 7px;
    width:3.6rem;
  }
  .lady_list dl dd.sch .time{
    font-size:1.45rem;
  }
  .lady_list dl dd.booking_btn{
    margin-top:.9rem;
  }
  .lady_list dl dd.booking_btn a{
    font-size:1.3rem;
    padding:0 2.2rem;
    line-height:29px;
  }
  .lady_list dl span.icon_birthday::before {
    background-size: 65px auto;
  }
}

/* レビュー */
#review .review__wrap{
width:980px;
margin:0 auto 64px;
}
.cont_wrap .review_box{
border-radius: 16px;
background: #fff;
text-align: left;
}
.cont_wrap .review_box .review_wrap{
padding: 0 10px 16px 16px;
}
.cont_wrap .review_box .review_list{
overflow-y: scroll;
height:640px;
scrollbar-width: thin;
padding-right: 10px;
}
.cont_wrap .review_box .review_list > div{
display:flex;
}
.cont_wrap .review_box .review_list > div:not(:last-child){
margin-bottom:24px;
padding-bottom:24px;
border-bottom:1px solid #ddd;
}
.cont_wrap .review_box .review_list > div .img{
min-width:140px;
width:140px;
margin-right:20px;
}
.cont_wrap .review_box .review_list > div dl{
flex-grow:1;
}
.cont_wrap .review_box .review_list > div dl dt{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:8px;
padding-bottom:8px;
border-bottom:2px dotted #ddd;
}
.cont_wrap .review_box .review_list > div dl dt .name span{
font-weight:bold;
font-size:16px;
}
.cont_wrap .review_box .review_list > div dl dt .time{
font-size:12px;
}
.cont_wrap .review_box .review_list > div dl .ttl{
font-size:18px;
font-weight:bold;
}
.cont_wrap .review_box .review_list > div dl .user_name::after{
content:"様";
margin-left:4px;
}
.cont_wrap .review_box .review_list > div dl .evaluation::before{
content:"評価：";
}
.cont_wrap .review_box .review_list > div dl .evaluation span{
font-size:21px;
}
@media screen and (max-width: 640px) {
#review .review__wrap{
width:100%;
box-sizing:border-box;
padding:0 1.2rem;
}
.cont_wrap .review_box .review_list > div .img{
min-width:9rem;
width:9rem;
}
.cont_wrap .review_box .review_list > div dl dt{
display:block;
}
.cont_wrap .review_box .review_list > div dl dt .name,
.cont_wrap .review_box .review_list > div dl .user_name{
font-size:1.3rem;
}
.cont_wrap .review_box .review_list > div dl .evaluation,
.cont_wrap .review_box .review_list > div dl .comment{
font-size:1.4rem;
}
}

/* システム */
.system_wrap{
margin:32px auto 64px;
position:relative;
padding-bottom:64px;
}
.system_wrap::before{
  content: "";
  display: block;
  width: 95%;
  height: calc(100% - 32px);
  position: absolute;
  top: 32px;
  right: 0;
  background: #ffde25;
  border-radius: 100px 0 0 100px;
  z-index: -1;
}
.system_add{
  display:flex;
  gap:24px;
}
.system_add > div{
width: calc(100% / 2 - 12px);
}
.system_box .ttl_img{
margin-bottom:34px;
}

.price_wrap h3{
  font-size: 20px;
  color: #e62878;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
  padding-bottom:8px;
}
.system_box .price_wrap{
  width:720px;
  margin:auto;
  margin-bottom:48px;
}
.price_wrap_service{
font-size: 22px;
font-weight: bold;
margin-bottom: 16px;
}
.weekdays_text{
margin-bottom: 36px;
}
.weekdays_text > div{
display: flex;
border-bottom: 1px solid #ccc;
line-height: 1;
align-items: baseline;
}
.weekdays_text > div dt,
.weekdays_text > div dd{
width: 50%;
padding:24px 16px;
font-size: 20px;
}
.weekdays_text_sub > div {
  padding: 16px;
  font-size: 16px;
  margin-bottom:16px;
}
.weekdays_text > div small,
.weekdays_text_sub > div small{
font-size: 14px;
}
.weekdays_text > div dt {
text-align: right;
}
.weekdays_text > div dd {
text-align: left;
font-weight: bold;
}
.system_line{
  background: rgba(70,178,59,.1);
  padding:48px 0;
}
.system_line_wrap{
  display:inline-block;
  background:#fff;
  width:40%;
  padding:32px 0;
  border-radius:8px;
  box-shadow:0 0 8px rgba(0,0,0,.1);
}
.system_line_title{
  color: #46b23b;
  font-size: 24px;
  font-weight: bold;
  margin-bottom:16px;
}
.system_line_txt{
  font-size: 18px;
  line-height: 1.4;
}
.view_shoptxt{
  width:1200px;
  margin:0 auto 48px;
  display:flex;
  gap:32px;
}
.view_shoptxt > div{
  width:calc(100% / 2 - 16px)
}
.system_shoptext{
  width:720px;
  margin:0 auto 48px;
  font-size:16px;
  text-align:left;
}
.system_shoptext .shopname{
  font-size:20px;
  font-weight:bold;
  margin-bottom:16px;
  color:#e62878;
}
.system_shoptext > dl > div{
  display:flex;
  padding:16px 0;
  border-top:1px solid #ccc;
}
.system_shoptext > dl > div:last-child{
  border-bottom:1px solid #ccc;
}
.system_shoptext > dl > div > dt{
  width:120px;
}
.system_shoptext > dl > div > dd div{
  display:flex;
}
.system_shoptext > dl > div > dd div dt{
  width:80px;
}
.system_caution{
  margin-top: 48px;
}
.system_caution_wrap{
  width:1200px;
  margin:auto;
  display:flex;
  gap:32px;
}
.system_caution_img{
  min-width:600px;
  width:600px;
}
.system_caution .alert_txt{
  text-align:left;
  font-size:14px;
}
.system_caution .alert_txt dt{
  margin-bottom:16px;
}
.system_caution .alert_txt dt span{
  display:inline-block;
  border:3px solid #c00;
  height:40px;
  line-height:34px;
  padding:0 24px;
  color:#c00;
  font-size:24px;
  font-weight:bold;
}

.system_creditcard_settlement{
margin-top: 44px;
}
.system_creditcard_settlement h3{
font-size: 20px;
color: #e62878;
font-weight: bold;
border-bottom: 0px;
}
.system_creditcard_settlement_txt{
  font-size: 14px;
}
.system_creditcard_settlement_txt img{
  width:640px;
}
.system_condemnation{
margin: 20px 0;
}

.system_map .googlemap{
  margin-bottom:32px;
}
.system_box .view_shop{
display:flex;
gap:0 24px;
margin-bottom:48px;
}
.system_box .view_shop > div{
width:calc(100% / 2 - 12px);
}
.system_box .view_shoptxt{
display: flex;
gap: 0 20px;
margin-bottom: 32px;
}
.system_box .view_shoptxt > div{
width: 100%;
}
.system_box  .system_shoptext,
.system_box  .alert_txt{
text-align:left;
margin-bottom: 32px;
}
.system_box  .system_shoptext .shopname,
.system_box  .alert_txt dt{
font-size:22px;
font-weight:bold;
margin-bottom:10px;
}
.system_box  .system_shoptext dl div{
display:flex;
line-height:1.4;
border-top:1px solid #ccc;
padding:12px 0;
}
.system_box  .system_shoptext dl div dt{
font-weight:600;
width:100px;
}
.system_box  .system_shoptext dl div dd{
flex-grow:1;
}

.system_table{
table-layout:fixed;
width:100%;
margin-bottom:40px;
}
.system_table th,
.system_table td{
font-size:18px;
padding:10px 0;
}
.system_table tr{
border-bottom:1px solid #ddd;
}
.system_table tr:nth-child(odd){
background:#efefef;
}
.system_table tr:first-of-type{
background:#232323;
color:#fff;
}
.play_table{
width:100%;
table-layout:fixed;
font-size:18px;
margin-bottom:40px;
}
.system_line{
margin-bottom: 48px;
}

.system_line_txt a,
.system_box .view_shoptxt .shoptxt dl div dd a{
color: #46b23b
}
@media screen and (max-width: 640px) {
  .system_wrap{
    width:100%;
    padding:0 0 48px;
    margin-bottom:48px;
  }
  .system_wrap::before{
    width:98%;
    border-radius:48px 0 0 48px;
    top:24px;
    height: calc(100% - 24px);
  }
  .system_wrap .system_box{
    padding:0 4%;
  }
  .system_box .ttl_img{
    margin:0 -4% 16px;
  }
  .system_add > div{
    width:100%;
  }
  .system_box .price_wrap{
    width:100%;
    margin-bottom:0;
  }
  .price_wrap_service{
    font-size:1.5rem;
    line-height:1.4;
  }
  .price_wrap h3{
    font-size:1.6rem;
  }
  .weekdays_text > div dt,
  .weekdays_text > div dd {
    width: 50%;
    padding: 10px;
    font-size: 1.4rem;
  }
  .weekdays_text{
    margin-bottom: 24px;
  }
  .weekdays_text dd small{
    display:block;
    margin:4px 0 0 0;
    font-size:1.3rem;
  }
  .weekdays_text_sub > div{
    padding: 10px 0;
    font-size: 1.4rem;
  }
  .weekdays_text_sub > div small{
    font-size:1.3rem;
  }
  .system_creditcard_settlement_txt{
    font-size: 1.1rem;
  }
  .system_creditcard_settlement_txt p{
    margin-bottom:8px;
  }
  .system_line{
    padding:48px 24px;
  }
  .system_line_wrap{
    width:100%;
  }
  .system_line_title{
    font-size: 2rem;
  }
  .system_line_txt{
    font-size: 1.4rem;
  }
  .view_shoptxt{
    display:block;
    padding:0 16px;
    width:100%;
  }
  .view_shoptxt > div{
    width:100%;
  }
  .view_shoptxt > div:first-child{
    margin-bottom:24px;
  }
  .system_shoptext{
    width:100%;
    padding:0 16px;
    font-size:1.4rem;
  }
  .system_caution_wrap{
    display:block;
    padding:0 16px;
    width:100%;
  }
  .system_caution_img{
    min-width:100%;
    width:100%;
    margin-bottom:24px;
  }
  .system_caution .alert_txt{
    padding-top:0;
    font-size:1.3rem;
  }
  .system_caution .alert_txt dt{
    font-size:2rem;
    text-align:center;
  }

.system_condemnation{
margin: 10px 0;
}
.system_box .view_shoptxt{
display: block;
}
.system_box .view_shoptxt > div{
width:100%;
margin: 13px 0;
}
.system_box .system_shoptext dl div{
padding: 8px 0;
font-size: 12px;
}
.system_box .view_shoptxt > div.view{
margin-bottom:20px;
}
.system_box .view_shoptxt .shoptxt .shopname{
font-size:2rem;
}
.system_box .view_shoptxt .shoptxt dl div{
font-size:1.4rem;
}
.system_box .view_shoptxt .shoptxt dl div dt{
width:125px;
}
.system_caution{
  line-height:1.4;
  text-align:left;
  margin-bottom:48px;
}
.system_caution .ttl_caution{
font-size:2.1rem;
}
.system_caution_txt{
font-size:1.6rem;
line-height:1.5;
}
.alert_txt{
font-size:2rem;
}


/*
.system_box h3 span{
font-size:1.3rem;
}
*/
.system_table th{
font-size:1.3rem;
}
.system_table td{
font-size:1.5rem;
}
.play_table td{
font-size:1.3rem;
}

}

.foot_txt{
height:400px;
background:url(/img/common/bg_footer.png) center center no-repeat;
background-size:cover;
display:flex;
align-items:center;
justify-content:center;
position:relative;
}
.foot_txt::after{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background: inherit;
filter: brightness(40%);
}
.foot_txt .box{
position:relative;
z-index:2;
color:#fff;
display:inline-block;
border:3px solid #fff;
padding:40px;
}
.foot_txt .box a{
display:block;
width:240px;
padding:5px 0;
color:#232323;
background:#fff;
margin:10px auto 0;
font-weight:bold;
}
@media screen and (max-width: 640px) {
.foot_txt .box{
padding:20px 0;
width:94%;
font-size:1.2rem;
font-weight:bold;
}
}

/* ニュース */
.news_wrap{
width:980px;
margin:auto;
}
.newslist{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.newslist > dl{
width : calc(100% / 2 - 12px) ;
padding:15px;
display:flex;
background:#fff;
border-radius:16px;
margin:0 24px 24px 0;
box-shadow: 8px 8px 4px rgba(150, 150, 150, 0.2);
}
.newslist > dl:nth-child(2n){
margin-right:0;
}
.newslist > dl dt img{
max-width:140px;
border-radius:8px;
overflow:hidden;
margin-right:12px;
}
.newslist > dl dd{
text-align:left;
}
.newslist > dl dd .ttl{
font-size:18px;
font-weight:bold;
}
.newslist > dl dd .time{
font-size:12px;
color:#888;
margin-bottom:8px;
}
@media only screen and (max-width: 640px) {
.news_wrap{
width:100%;
}
.newslist{
display:block;
}
.newslist > dl{
width:100%;
}
.newslist > dl dt img{
width:80px;
}
.newslist > dl dd .comment{
font-size:1.3rem;
}
}
/* イベント */
.event_wrap{
  margin:32px auto 64px;
  position:relative;
  padding-bottom:64px;
}
.event_wrap::before{
content: "";
display: block;
width: 95%;
height: calc(100% - 32px);
position: absolute;
top: 32px;
left: 0;
background: #ffde25;
border-radius: 0 100px 100px 0;
z-index: -1;
}
.event_wrap .eventlist{
  width:1200px;
  margin:auto;
}
.eventlist .event_box{
  text-align:left;
  padding:32px;
  border-radius:24px;
  border:3px solid #111;
  background:#fff;
}
.eventlist > div:not(:last-child){
  margin-bottom:32px;
}
.eventlist .event_box .ttl{
  font-weight:bold;
  font-size:24px;
  margin-bottom:8px;
}
.eventlist .eventbox{
  display:flex;
  gap:32px;
}
.eventlist .eventbox dt{
  min-width:480px;
  max-width:480px;
}
.eventlist .eventbox dd{
  flex-grow:1;
  max-height:480px;
  overflow-y:scroll;
}
.eventlist .eventbox dd .ttl{
font-size:20px;
font-weight:bold;
margin-bottom:8px;
}
.eventlist .eventbox dd .txt{
font-size:15px;
}
@media only screen and (max-width: 640px) {
.event_wrap{
  width:100%;
  padding:0;
}
.event_wrap::before{
  width:98%;
  border-radius: 0 48px 48px 0;
  height: calc(100% - 24px);
  top:24px;
}
.event_wrap .eventlist{
  padding:0 4% 48px;
  width:100%;
}
.eventlist .event_box{
  padding:24px 16px;
}
.eventlist .event_box .ttl{
  font-size:1.8rem;
  line-height: 1.4;
}
.eventlist .eventbox{
  display:block;
}
.eventlist .eventbox dt{
  min-width:100%;
  width:100%;
  margin-bottom:16px;
}
.eventlist .eventbox dd{
  max-height:400px;
  line-height:1.4;
}

.eventlist .eventbox dd .ttl{
font-size:1.8rem;
}
.eventlist .eventbox dd .txt{
font-size:1.3rem;
}
}

/* ブログ詳細 */
.blog_wrap{
    margin:32px auto 64px;
    position:relative;
    padding-bottom:48px;
}
.blog_wrap::before{
  content: "";
  display: block;
  width: 95%;
  height: calc(100% - 32px);
  position: absolute;
  top: 32px;
  left: 0;
  background: #ffde25;
  border-radius:0 100px 100px 0;
  z-index: -1;
}
.blog_wrap .blogbox{
  width:1200px;
  margin:auto;
  position: relative;
}
.blog_wrap .blogbox .blog_list{
  margin-bottom:24px;
}
.blog_wrap .blogbox .cast_box,
.movie_wrap .cast_box{
  display:flex;
  align-items:center;
  gap:16px;
  background:#fff;
  padding:8px;
  border-radius:100px;
  border:8px solid #ffde25;
  margin-bottom:16px;
}
/*
.blog_wrap .blogbox .cast_box dt::before{
content:"Profile";
display:block;
font-family: "Playfair Display", serif;
font-size:24px;
margin-bottom:8px;
}
*/
.blog_wrap .blogbox .cast_box dt img,
.movie_wrap .cast_box dt img{
width:80px;
object-fit:cover;
aspect-ratio:1;
border-radius:100px;
}
.blog_wrap .blogbox .cast_box dd,
.movie_wrap .cast_box dd{
  font-size:18px;
  font-weight:700;
}
.blog_wrap .blogbox .cast_box dd span,
.movie_wrap .cast_box dd span{
color:#ec8232;
}
.blog_article{
order:-1;
background: #fff;
padding: 24px;
border-radius: 24px;
text-align:left;
}
.blog_article .blog_title_box{
margin-left:-24px;
margin-bottom:24px;
padding:6px 0 6px 24px;
position:relative;
}
.blog_article .blog_title_box::before{
content:"";
height:100%;
width:6px;
background:#ec8232;
position:absolute;
top:0;
left:0;
border-radius:100px;
}
.blog_article .ttl{
font-size:24px;
font-weight:700;
}
.blog_article .time{
font-size:14px;
color:rgba(96, 74, 86,.75);
}
.blog_article .blog_body{
  font-size:16px;
}
.blog_article img{
max-width:400px;
height:auto;
}
.cast_pager{
margin-top:32px;
display:flex;
justify-content:space-between;
align-items:center;
font-size:16px;
line-height:1;
padding:0 16px;
}
.cast_pager span.prev::before,
.cast_pager a.prev::before{
content: "";
display:inline-block;
width: 10px;
height: 10px;
border-top: 2px solid #ccc;
border-right: 2px solid #ccc;
transform: rotate(225deg);
}
.cast_pager span.prev,
.cast_pager span.next{
  background:#fff;
  color:#ccc;
  border-radius:100px;
  padding:6px 16px;
  display:flex;
  align-items: center;
  gap:4px;
  letter-spacing:.5px;
}
.cast_pager a.prev,
.cast_pager a.next{
  background:#111;
  color:#fff;
  border-radius:100px;
  padding:6px 16px;
  display:flex;
  align-items: center;
  gap:4px;
  letter-spacing:.5px;
}
.cast_pager a.prev:hover,
.cast_pager a.next:hover{
  color:#ffde25;
}
.cast_pager a.prev::before{
border-color:#fff;
}
.cast_pager a.next::after,
.cast_pager span.next::after{
content: "";
display:inline-block;
width: 10px;
height: 10px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: rotate(45deg);
}
.cast_pager a.next::after{
border-color:#fff;
}
@media only screen and (max-width: 640px) {
  .blog_wrap{
    width:100%;
    box-sizing:border-box;
    padding:0 4% 24px;
  }
  .blog_wrap::before{
    width:98%;
    border-radius: 0 48px 48px 0;
    top:24px;
    height: calc(100% - 24px);
  }
  .blog_wrap .blogbox{
    width:100%;
  }
  .blog_wrap .blog_list,
  .castblog_wrap .blog_list{
    gap:12px 6px;
  }
  .blog_wrap .blog_list > dl,
  .castblog_wrap .blog_list > dl{
    width:calc(100% / 2 - 3px);
  }
  .blog_article{
    width:100%;
  }
  .blog_article .ttl{
    font-size:1.8rem;
    line-height:1.4;
    margin-bottom:4px;
  }
  .blog_article .time{
    font-size:1.3rem;
    letter-spacing:.1rem;
  }
  .blog_article .blog_body{
    font-size:1.4rem;
  }
  .blog_article img{
    max-width:100%;
  }
  .cast_pager{
    font-size:1.4rem;
  }
  .blog_wrap .blogbox .cast_box,
  .movie_wrap .cast_box{
    width:100%;
    display:flex;
    align-items:center;
    gap:16px;
    padding:6px;
    border-width:6px;
  }
  .blog_wrap .blogbox .cast_box dt,
  .movie_wrap .cast_box dt{
    min-width:60px;
    width:60px;
    margin:0;
  }
  .blog_wrap .blogbox .cast_box dt img{
    width:100%;
  }
    .blog_wrap .blogbox .cast_box dd{
    font-size:1.6rem;
  }
  .cast_pager span.prev,
  .cast_pager span.next,
  .cast_pager a.prev,
  .cast_pager a.next{
    padding:0;
    display:flex;
    align-items: center;
    justify-content: center;
    width:40px;
    height:40px;
  }
  .cast_pager span.prev::before,
  .cast_pager a.prev::before{
    position: relative;
    left:1px;
  }
  .cast_pager span.next::after,
  .cast_pager a.next::after{
    position: relative;
    right:1px;
  }
  .cast_pager > span > span,
  .cast_pager > a > span{
    display:none;
  }
}
/* キャストブログ一覧 */
.castblog_wrap .castblog_list{
margin-bottom:24px;
}
.castblog_wrap .castblog_list dl{
background:#fff;
padding: 16px;
border-radius: 16px;
box-shadow: 8px 8px 4px rgba(150, 150, 150, 0.2);
text-align:left;
display:flex;
gap:24px;
}
.castblog_wrap .castblog_list dl:not(:last-child){
margin-bottom:16px;
}
.castblog_wrap .castblog_list dl dt{
min-width:180px;
width:180px;
}
.castblog_wrap .castblog_list dl dt img{
width:100%;
height:auto;
object-fit:cover;
aspect-ratio:1;
}
.castblog_wrap .castblog_list dl dd .ttl{
font-size:20px;
margin-bottom:8px;
font-weight:700;
}
.castblog_wrap .castblog_list dl dd .name{
color:#ff5099;
font-weight:700;
}
.castblog_wrap .castblog_list dl dd .day{
font-size: 14px;
color: rgba(96, 74, 86,.75);
}
@media only screen and (max-width: 640px) {
.castblog_wrap{
width:100%;
}
.castblog_wrap .castblog_list dl{
padding:10px;
border-radius:8px;
gap:16px;
}
.castblog_wrap .castblog_list dl dt{
min-width:100px;
width:100px;
}
.castblog_wrap .castblog_list dl dd .ttl{
font-size:1.8rem;
line-height:1.4;
}
.castblog_wrap .castblog_list dl dd .name{
font-size:1.4rem;
}
.castblog_wrap .castblog_list dl dd .day{
font-size: 1.2rem;
}
}
.prof_right .viewmore{
  margin-top:24px;
}
.prof_right .viewmore a{
  display:block;
  font-weight:600;
  line-height:40px;
  height:40px;
  width:64%;
  margin:auto;
  background:#111;
  color:#fff;
  border-radius:100px;
}
.prof_right .viewmore a:hover{
  color:#ffde25;
}
/* キャスト詳細ブログ一覧 */
.prof_wrap .blog__list > dl{
text-align:left;
display:flex;
gap:16px;
}
.prof_wrap .blog__list > dl:not(:last-child){
  border-bottom:3px dotted #ddd;
  padding-bottom:8px;
  margin-bottom:8px;
}
.prof_wrap .blog__list > dl dt{
min-width:90px;
width:90px;
}
.prof_wrap .blog__list > dl dt img{
width:100%;
height:auto;
object-fit:cover;
aspect-ratio:1;
border-radius:12px;
}
.prof_wrap .blog__list > dl dd .ttl{
font-size:17px;
margin-bottom:8px;
font-weight:700;
line-height:1.4;
}
.prof_wrap .blog__list > dl dd .name{
color:#ff5099;
font-weight:700;
}
.prof_wrap .blog__list > dl dd .day{
font-size: 12px;
letter-spacing:0;
color: rgba(17,17,17,.4);
}
@media only screen and (max-width: 640px) {
.prof_wrap .blog__list > dl dd .ttl{
  font-size:1.4rem;
}

.prof_wrap .blog_list{
  flex-direction:column;
}
.prof_wrap .blog_list > dl{
  width:100%;
  gap:16px;
}
.prof_wrap .blog_list > dl dt{
  min-width:100px;
  width:100px;
}
.prof_wrap .blog_list > dl dd .ttl{
  font-size:1.8rem;
  line-height:1.4;
}
.prof_wrap .blog_list > dl dd .name{
font-size:1.4rem;
}
.prof_wrap .blog_list > dl dd .day{
font-size:1.2rem;
}
}

/* ホテルマップ */
.hotel_wrap{
width:980px;
margin:auto;
}
.hotel_wrap .hotelmap{
margin-bottom:16px;
}
.hotel_wrap .hotel_list{
display:flex;
flex-wrap:wrap;
margin-bottom:32px;
}
.hotel_wrap .hotel_list dl{
width : calc(100% / 2 - 8px) ;
text-align:left;
background:#fff;
border-radius:8px;
padding:10px;
margin:0 16px 16px 0;
display:flex;
}
.hotel_wrap .hotel_list dl:nth-child(2n){
margin-right:0;
}
.hotel_wrap .hotel_list dl dt{
min-width:32px;
margin-right:16px;
}
.hotel_wrap .hotel_list dl dt span{
display:block;
width:40px;
height:40px;
line-height:40px;
border-radius:100px;
background:#232323;
color:#fff;
text-align:center;
font-family: "Concert One", sans-serif;
font-size:20px;
font-weight:500;
}
.hotel_wrap .hotel_list dl .hotel_name{
font-size:16px;
font-weight:bold;
}
.hotel_wrap .hotel_list dl .hotel_name a::after{
font-family: 'Material Icons Outlined';
content: '\e89e';
font-weight:normal;
margin-left:5px;
position:relative;
top:2px;
}
.hotel_wrap .hotel_list dl .add,
.hotel_wrap .hotel_list dl .tel,
.hotel_wrap .hotel_list dl .price,
.hotel_wrap .hotel_list dl .remarks{
color:#888;
display:flex;
}
.hotel_wrap .hotel_list dl .add::before{
content:"住所：";
}
.hotel_wrap .hotel_list dl .tel::before{
content:"電話：";
}
.hotel_wrap .hotel_list dl .price::before{
content:"料金：";
}
.hotel_wrap .hotel_list dl .remarks::before{
content:"備考：";
}
@media only screen and (max-width: 640px) {
.hotel_wrap{
width:100%;
box-sizing:border-box;
padding:0 1.2rem;
}
.hotel_wrap h3.subttl{
font-size:1.8rem;
}
.hotel_wrap .hotel_list{
display:block;
}
.hotel_wrap .hotel_list dl{
width:100%;
}
.hotel_wrap .hotel_list dl dd{
font-size:1.3rem;
}
.hotel_wrap .hotel_list dl dt span{
width:32px;
height:32px;
font-size:1.6rem;
line-height:32px;
}
}
/* ホテルリスト */
.hotellist_wrap{
width:980px;
margin:auto;
}
.hotel_category_link ul{
display:flex;
flex-wrap:wrap;
margin-bottom:24px;
}
.hotel_category_link ul li{
width : calc(100% / 4 - 9px) ;
text-align:left;
margin:0 12px 12px 0;
}
.hotel_category_link ul li a{
display:flex;
align-items:center;
padding:11px 10px 10px;
background:#fff;
border-radius:4px;
font-size:16px;
line-height:1;
}
.hotel_category_link ul li a:hover{
background:#232323;
color:#fff;
}
.hotel_category_link ul li a::before{
font-family: 'Material Icons';
content: '\f181';
font-size:22px;
margin-right:5px;
position:relative;
top:-1px;
}
.hotellist_wrap .hotellist_box{
margin-bottom:32px;
}
.hotellist_wrap .hotellist{
display:flex;
flex-wrap:wrap;
}
.hotellist_wrap .hotellist dl{
padding:20px;
background:#fff;
border-radius:12px;
text-align:left;
width : calc(100% / 2 - 8px) ;
margin-bottom:24px;
}
.hotellist_wrap .hotellist dl:not(:nth-of-type(2n)){
margin-right:16px;
}
.hotellist_wrap .hotellist dl dt{
font-size:17px;
font-weight:bold;
margin-bottom:3px;
}
.hotellist_wrap .hotellist dd{
font-size:13px;
}
.hotellist_wrap .hotellist .tel a{
color:#469ef7;
}
.hotellist_wrap .hotellist dd.tel::before{
content:"TEL.";
}
.hotellist_wrap .hotellist .price{
display:flex;
}
.hotellist_wrap .hotellist .price p span{
font-weight:bold;
}
.hotellist_wrap .hotellist .price p:nth-of-type(2)::before{
content:"／";
margin:0 3px;
}
@media screen and (min-width: 640px) {
.hotellist_wrap .hotellist .tel a{
pointer-events: none;
color:#232323;
}
.hotel_category_link ul li:nth-of-type(4n){
margin-right:0;
}
}
@media screen and (max-width: 640px) {
.hotellist_wrap{
width:100%;
padding:0 1.2rem;
}
.hotel_category_link ul li{
width : calc(100% / 2 - 6px) ;
}
.hotel_category_link ul li:nth-of-type(2n){
margin-right:0;
}
.hotel_category_link ul li a{
font-size:1.4rem;
}
.hotellist_wrap .hotellist{
display:block;
}
.hotellist_wrap .hotellist dl{
width:100%;
margin:0 0 1.6rem !important;
border-radius:8px;
padding:1.2rem;
}
}


/* Q&A */
.qa_wrap{
width:980px;
margin:0 auto 32px;
}
.qa_wrap .qa_list dl{
padding:24px;
border-radius:8px;
background:#fff;
margin-bottom:16px;
text-align:left;
}
.qa_wrap .qa_list dl dt{
font-size:17px;
font-weight:bold;
padding-bottom:8px;
margin-bottom:12px;
border-bottom:1px dotted #888;
display:flex;
align-items:center;
}
.qa_wrap .qa_list dl dt::before{
content:"Q";
font-family: "Concert One", sans-serif;
font-weight:500;
display:block;
width:32px;
height:32px;
line-height:32px;
background:#232323;
color:#fff;
border-radius:100px;
text-align:center;
font-size:20px;
margin-right:8px;
}
.qa_wrap .qa_list dl dd{
}
@media only screen and (max-width: 640px) {
.qa_wrap{
width:100%;
padding:0 1.2rem;
}
.qa_wrap .qa_list dl{
padding:1.6rem;
}
.qa_wrap .qa_list dl dt{
font-size:1.6rem;
line-height:1.5;
}
.qa_wrap .qa_list dl dt::before{
min-width:32px;
}
.qa_wrap .qa_list dl dd{
font-size:1.3rem;
}
}
/* ランキング */
.ranking_wrap{
width:980px;
margin:0 auto 32px;
}
.ranking_wrap .ranking_list{
display:flex;
flex-wrap:wrap;
margin-bottom:32px;
}
.ranking_wrap .ranking_list dl{
width : calc(100% / 3 - 8px) ;
margin:0 12px 24px 0;
padding:10px;
border-radius:4px;
background:#fff;
box-sizing:border-box;
position:relative;
}
.ranking_wrap .ranking_list dl:nth-child(3),
.ranking_wrap .ranking_list dl:nth-child(6),
.ranking_wrap .ranking_list dl:nth-child(10){
margin-right:0;
}
.ranking_wrap .ranking_list dl:nth-child(n+7){
width : calc(100% / 4 - 9px) ;
}
.ranking_wrap .ranking_list dl dt{
margin-bottom: 8px;
overflow: hidden;
border-radius: 4px;
position: relative;
}
.ranking_wrap .ranking_list dl dt img{
transition: transform .4s ease;
}
.ranking_wrap .ranking_list dl:hover dt img{
transform: scale(1.1);
}
.ranking_wrap .ranking_list dl .name span{
font-size:16px;
font-weight:bold;
}
.ranking_wrap .ranking_list dl .size{
font-size:12px;
color:#888;
}
.ranking_wrap .ranking_list dl .rank{
position:absolute;
top:0;
left:5px;
display:block;
width:48px;
height:48px;
line-height:48px;
text-align:center;
background:#232323;
color:#fff;
font-family: "Concert One", sans-serif;
font-weight:500;
font-size:24px;
}
@media only screen and (max-width: 640px) {
.ranking_wrap{
width:100%;
padding:0 1.2rem;
}
.ranking_wrap h3.subttl{
font-size:1.8rem;
}
.ranking_wrap .ranking_list dl{
width: calc(100% / 2 - 6px);
margin-right:0;
}
.ranking_wrap .ranking_list dl:first-of-type{
width:100%;
}
.ranking_wrap .ranking_list dl:nth-of-type(2n){
margin-right:12px;
}
.ranking_wrap .ranking_list dl .rank{
width:32px;
height:32px;
line-height:32px;
font-size:1.8rem;
left:0;
}
}
/* LINE会員 */
.member_wrap{
  margin:0 auto 72px;
  width:1200px;
}
.member_box{
  display:flex;
  gap:32px;
}
.member_box .img{
  min-width:600px;
}
.member_box .txtbox{
  text-align:left;
}
.member_subttl{
  font-size:30px;
  font-weight:bold;
  color:#46b23b;
  margin:24px auto;
}
.member_txt{
  font-size:16px;
  font-weight:600;
}
h4.step_ttl{
font-size:24px;
font-weight:600;
color:#e62878;
margin:24px auto;
}
.step_list{
text-align:left;
}
.step_list > div:not(:last-child){
padding-bottom:16px;
margin-bottom:16px;
border-bottom:2px dotted #ccc;
}
.step_list > div dt{
margin-bottom:8px;
font-weight:bold;
font-size:20px;
color:#46b23b;
}
.step_list > div dd{
  font-size:14px;
}
.line_touroku{
  background:rgba(70,178,59,.1);
  padding:32px;
  border-radius:12px;
  margin-top:48px;
}
.line_touroku h5{
  font-size:24px;
  font-weight:bold;
  color:#46b23b;
}
.line_touroku p{
  font-size:14px;
}
.line_touroku .btn{
  margin:16px 0;
}
.line_touroku .btn a{
  display:inline-block;
  height:56px;
  line-height: 52px;
  width:100%;
  border:3px solid #46b23b;
  border-radius:100px;
  color:#fff;
  font-size:22px;
  font-weight:bold;
  background:#fff;
  position:relative;
  color:#46b23b;
  text-align:center;
}
.line_touroku .btn a:hover{
  background:#46b23b;
  color:#fff;
}
.line_touroku .btn a::after{
font-family: 'Material Icons Round';
content: '\eaaa';
position:absolute;
top:0;
right:16px;
font-weight:normal;
font-size:36px;
}

@media only screen and (max-width: 640px) {
.member_wrap{
  padding:0;
  width:100%;
}
.member_box{
  display:block;
  padding:0 16px;
}
.member_box .img{
  min-width:100%;
}
.member_subttl{
  font-size:2.4rem;
  line-height:1.4;
}
.member_txt{
  font-size:1.4rem;
  text-align:left;
}
.member_txt dt{
  font-size:1.6rem;
  font-weight:bold;
  margin-bottom:8px;
}
h4.step_ttl{
  font-size:1.8rem;
  line-height:1.4;
}
.step_list{
  line-height:1.4;
}
.step_list > div dt{
font-size:1.6rem;
}
.step_list > div dd{
font-size:1.3rem;
}
.line_touroku{
  padding:24px;
  text-align:center;
}
.line_touroku h5{
  font-size:2.2rem;
  font-weight:bold;
}
.line_touroku p{
  font-size:1.3rem;
  font-weight:600;
  line-height:1.4;
}
.line_touroku .btn a{
  width:100%;
  font-size:2rem;
  height:56px;
  line-height:52px;
}
.line_touroku .btn a::after{
  font-size:2,4rem;
}
}

/* プレイ */
.play_wrap{
width:980px;
margin:0 auto 32px;
}
@media only screen and (max-width: 640px) {
.play_wrap{
width:100%;
padding:0 1.2rem
}
}

/* コンセプト */
.concept_wrap{
width:980px;
margin:0 auto 32px;
}
@media only screen and (max-width: 640px) {
.concept_wrap{
width:100%;
padding:0 1.2rem
}
}

/* 求人 */
.recruit_wrap {
width: 980px;
margin: 0 auto 32px;
}
.recruit_flex{
display:flex;
justify-content:space-between;
position:relative;
}
.recruit_box{
width:630px;
padding:15px 15px 30px;
background:#fff;
border-radius:10px;
}
.recruit_box figure{
margin-bottom:24px;
}
.recruit_box .recruit_ttl{
text-align:left;
font-weight:bold;
font-size:20px;
line-height:1.5;
margin-bottom:16px;
}
.recruit_box .recruit_txt{
font-size:14px;
margin-bottom:32px;
}
.recruit_box .recruit_subttl{
font-size:18px;
font-weight:bold;
letter-spacing:1px;
margin-bottom:24px;
text-align:left;
position:relative;
padding:8px 0 5px;
}
.recruit_box .recruit_subttl::before{
font-family:"FontAwesome";
content:"\f0f6";
display:inline-block;
font-size:24px;
margin-right:8px;
position:relative;
top:1px;
}
dl.treatment > div{
display:flex;
text-align:left;
gap:0 8px;
}
dl.treatment > div:not(:last-child){
margin-bottom:16px;
padding-bottom:16px;
border-bottom:1px solid #ddd;
}
dl.treatment > div dt{
min-width : calc(25% - 12px) ;
width : calc(25% - 12px) ;
}
dl.treatment > div dt span{
display:block;
padding:6px 18px 4px;
background:#888;
color:#fff;
border-radius:3px;
line-height:1.3;
text-align:left;
}
dl.treatment > div dd{
padding-top:5px;
flex-grow:1;
}
.recruit_right{
width:320px;
}
.recruit_right .form_ttl{
font-size:18px;
font-weight:bold;
letter-spacing:1px;
margin-bottom:12px;
}
.recruit_flex .form_wrap{
padding:15px;
border-radius:10px;
position:sticky;
top:15px;
}
.recruit_right .oubobox{
margin-bottom:20px;
}
.recruit_right .oubobox li{
margin-bottom:8px;
}
.recruit_right .oubobox a{
font-size:16px;
font-weight:bold;
padding:12px 0 9px;
border:1px solid #ccc;
display:block;
border-radius:100px;
line-height:1;
}
.recruit_right .oubobox a::before{
font-family:"FontAwesome";
margin-right:8px;
display:inline-block;
}
.recruit_right .oubobox .tel a::before{
content:"\f095";
}
.recruit_right .oubobox .line a::before{
content:"\f075";
transform: scale(-1, 1);
position:relative;
top:-1px;
}
.recruit_right .oubobox .line a{
background:#56c459;
border-color:#56c459;
color:#fff;
}
.recruit_right dl{
text-align:left;
}
.recruit_right dl dt{
font-weight:bold;
font-size:15px;
margin-bottom:3px;
}
.recruit_right dl dt::after{
color: #fff;
display: inline-block;
padding: 0 6px;
border-radius: 1px;
font-size: 11px;
font-weight: normal;
height:16px;
line-height:18px;
margin-left:8px;
position:relative;
top:-1px;
}
.recruit_right dl dt.required::after{
background: #d0483e;
content: "必須";
}
.recruit_right dl dt.nini::after{
background: #bbb;
content: "任意";
}
.recruit_right dl dd{
margin-bottom:16px;
}
.recruit_right .oubo_caution{
font-size:12px;
margin-top:6px;
}
.recruit_right dl dd .radio_txt{
white-space:nowrap;
width:36%;
}
.recruit_right dl dd .textarea_01{
min-height:160px;
}
.recruit_right .form_btn{
margin:20px auto;
}
.recruit_right .form_btn .btn {
font-size: 18px;
padding:16px 0 13px;
min-width:100%;
}

@media only screen and (max-width: 640px) {
.recruit_wrap{
width:100%;
padding:0 1.2rem;
}
.recruit_flex{
flex-wrap:wrap;
}
.recruit_box{
width:100%;
margin-bottom:3.2rem;
}
.recruit_right{
width:100%;
}
dl.treatment > div{
font-size:1.4rem;
display:block;
}
dl.treatment > div dt{
margin-bottom:.6rem;
width:100%;
min-width:100%;
}
dl.treatment > div dt span{
font-size:1.3rem;
padding:6px 10px 4px;
}
dl.treatment > div dd{
padding-top:0;
}
}
/* 求人メール送信後モーダル */
.modal {
width:100vw;
height:100vh;
background-color: rgba(0, 0, 0, 0.5);
position:fixed;
top:0;
left:0;
display:none;
}
.modal dl{
position:absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding:32px;
border-radius: 5px;
background:#fff;
}
.modal dl dt{
font-size:16px;
font-weight:bold;
margin-bottom:16px;
white-space:nowrap;
}
.modal dl dd{
white-space:nowrap;
}
@media only screen and (max-width: 640px) {
.modal dl dt{
font-size:1.8rem;
}
.modal dl dd{
font-size:1.4rem;
}
}

/* アンケート */
.enquete_wrap{
width:980px;
margin:0 auto 32px;
}

/* お問い合わせ */
.contact_wrap{
width:980px;
margin:0 auto 32px;
}

/* ご予約 */
.reserve_wrap{
width:980px;
margin:0 auto 32px;
}

@media only screen and (max-width: 640px) {
.enquete_wrap,
.contact_wrap,
.reserve_wrap{
width:100%;
padding:0 1.2rem;
}
}
/* フォーム関係 */
.form_wrap{
padding:24px;
background:#fff;
border-radius:16px;
}
.form_wrap > dl{
display:flex;
align-items:center;
text-align:left;
border-bottom:1px solid #dedede;
}
.form_wrap > dl:last-of-type{
border:none;
}
.form_wrap > dl dt{
width:25%;
font-weight:bold;
padding:20px 0;
font-size:15px;
position:relative;
}
.form_wrap > dl dt.required::after{
content:"必須";
background:#d0483e;
color:#fff;
display:inline-block;
padding:0 6px;
border-radius:1px;
font-size:12px;
font-weight:normal;
position:absolute;
top:0;
bottom:0;
right:0;
margin:auto;
height:20px;
line-height:21px;
}
.form_wrap > dl dt.nini::after{
content:"任意";
background:#ccc;
color:#fff;
display:inline-block;
padding:0 6px;
border-radius:1px;
font-size:12px;
font-weight:normal;
position:absolute;
top:0;
bottom:0;
right:0;
margin:auto;
height:20px;
line-height:21px;
}
.form_wrap > dl dd{
width:75%;
padding:20px 0 20px 16px;
}
.form_wrap > dl dd .custom_txt{
margin:0 10px;
}
.form_wrap > dl dd .parts,
.form_wrap > dl dd .threesize{
display:flex;
}
.form_wrap > dl dd .threesize > div{
display:inline-flex;
}
.form_wrap > dl dd .txt{
align-self:flex-end;
margin:0 16px 0 4px;
font-size:13px;
}
.form_wrap > dl dd .s_txt{
align-self:center;
font-size:15px;
}
@media screen and (max-width: 640px) {
.form_wrap > dl dd .threesize{
flex-direction:column;
}
.form_wrap > dl dd .threesize > div:not(:last-child){
margin-bottom:1rem;
}
.form_wrap > dl dd .txt{
align-self:flex-end;
margin:0 1rem 0 .3rem;
font-size:1.3rem;
}
.form_wrap > dl dd .s_txt{
font-size:1.6rem;
width:8rem;
}
}


/* Firefoxのボタンの点線を消す */
input[type="button"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
border: 0px;
}
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="number"],
button,
textarea{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
font-family:'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif;
font-size:15px;
}
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="number"],
textarea{
padding:7px;
border:1px solid #ccc;
background:#fff;
border-radius: 2px;
box-sizing:border-box;
}
@media screen and (max-width: 640px) {
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="number"],
textarea,
.custom > select{
font-size:16px !important;
}
}
select {
-moz-appearance: none;
-webkit-appearance: none;
-o-appearance: none;
-ms-appearance: none;
appearance: none;
border-radius: 0;
border: 0;
margin: 0;
padding: 0;
background: none transparent;
vertical-align: middle;
font-size: inherit;
color: inherit;
box-sizing: content-box;
}
select::-ms-expand {
display: none;
}
.input_01{
width:100%;
}
.input_02{
width:88px;
}
.textarea_01{
width:100%;
min-height:300px;
}
.form_btn{
margin:32px auto;
}
.form_btn .btn{
background:#454545;
font-size:22px;
font-weight:bold;
border-radius:100px;
padding:19px 0 16px;
color:#fff;
letter-spacing:.2rem;
min-width:400px;
line-height:1;
cursor:pointer;
border:none;
}


/* プルダウン */
.custom {
overflow: hidden;
display: inline-block;
display: inline;
zoom: 1;
position: relative;
border-radius: 1px;
border: 1px solid #ccc;
 /* box-shadow: 0 2px 0 #AAA; */
background-color: white;
vertical-align:bottom;
}
.custom > select {
width: 130%;
padding: 0.6em 5em 0.6em 0.6em;
font-size:15px;
}
.custom:after{
position: absolute;
top: 0;
bottom: 0;
right: 0;
width: 2.4em;
display: block;
content: "";
background:url(/img/common/select.png) center no-repeat;
background-size:10px 10px;
/*
  border-left:1px solid #dedede;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGFBMVEUAAAAZJCYWISIYIyQYIiUWIiIYIyQYIiXh0rToAAAACHRSTlMA/hTRqiinvwFkb0sAAABCSURBVHjajchBDsAgDAPBOJDw/x+XVN0icQGfPGs3i+2GEqeiLCXWLENzvdzrDfP2ls/NjfKbgimYglfBq2Dm+LwHguMA235EdKYAAAAASUVORK5CYII=") center no-repeat;
 */
pointer-events: none;
}
/* ラジオボタン */
.radio{
position: absolute;
opacity: 0;
z-index: -1;
}
.radio + .radio-icon:before {
content: "";
display:inline-block;
width:20px;
height:20px;
background:url(/img/common/radio.png) no-repeat;
background-size:20px 20px;
position:relative;
top:5px;
}
.radio:checked + .radio-icon:before {
background:url(/img/common/radio_on.png) no-repeat;
background-size:20px 20px;
}
.radio_txt{
display:inline-block;
line-height:2;
padding-right:16px;
width : calc(100% / 4 - 8px) ;
}

/* チェックボックス */
.checkbox {
display: none;
}
.checkbox + .checkbox-icon:before {
content: "";
display:inline-block;
width:20px;
height:20px;
background:url(/img/common/checkbox.png) no-repeat;
background-size:20px 20px;
position:relative;
top:5px;
margin-right:5px;
}
.checkbox:checked + .checkbox-icon:before {
background:url(/img/common/checkbox_on.png) no-repeat;
background-size:20px 20px;
margin-right:5px;
}
.checkbox-icon{
white-space: nowrap;
}
.checkbox_txt{
display:inline-block;
line-height:2;
padding-right:16px;
width : calc(100% / 4 - 8px) ;
}
@media only screen and (max-width: 640px) {
.form_wrap{
padding:2rem 1.6rem;
}
.form_wrap > dl{
display:block;
padding-bottom:2.2rem;
margin-bottom:2rem;
border-bottom:1px dotted #bbb;
}
.form_wrap > dl dt{
width:100%;
padding:0;
margin-bottom:.7rem;
font-size:1.6rem;
}
.form_wrap > dl dt.required::after{
font-size:1rem;
font-weight:bold;
position:relative;
height:16px;
line-height:17px;
margin-left:7px;
top:-2px;
}
.form_wrap > dl dd{
width:100%;
padding:0;
font-size:1.4rem;
}
.checkbox_txt,
.radio_txt{
width:100%;
padding-right:0;
}
.form_btn{
margin-bottom:0;
}
.form_btn .btn{
min-width:100%;
font-size:2rem;
}
}
/* SPフッターボタン */
.footer_btn{
display:none;
}
@media screen and (min-width: 640px) {
.menu-container{
display:none;
}
}
@media screen and (max-width: 640px) {
.footer_btn{
display:block;
padding:.5rem 0;
position:sticky;
bottom:0;
background:rgba(255,255,255,.8);
z-index:99;
}
.footer_btn p a{
display:flex;
justify-content:center;
width:80%;
margin:0 auto 4px;
background:#232323;
font-family: "Concert One", sans-serif;
font-size:2.4rem;
font-weight:700;
letter-spacing:.2rem;
color:#fff;
border-radius:100px;
padding:10px 0;
line-height:1;
}
.footer_btn p a::before{
font-family: 'Material Icons';
content: '\e0cd';
margin-right:3px;
position:relative;
top:1px;
}
.footer_btn span{
font-size:1.4rem;
font-weight:bold;
}
.footer_btn ul{
display:flex;
}
.footer_btn ul li{
width : calc(100% / 5) ;
}
.footer_btn ul li a{
display:block;
line-height:1.2;
padding:.5rem 0;
font-weight:bold;
font-size:1.1rem;
}
.footer_btn ul li a::before{
font-family: 'Material Icons';
content: '\e0cd';
display:block;
font-size:2.4rem;
}
.footer_btn ul li.reserve a::before{
content: '\e163';
}
.footer_btn ul li.rec a::before{
content: '\e590';
}
.footer_btn ul li.ranking a::before{
content: '\e8d0';
}
.footer_btn ul li.top a::before{
content: '\f182';
}
/* フッターハンバーガー */
.menu-container {
/*
position: fixed;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
z-index:100;
*/
}
.footer_nav{
  position:fixed;
  bottom:0;
  width:100%;
  padding:10px;
  z-index: 100;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, .15));
  z-index:300;
}
.footer_nav .footer_btn{
  position:relative;
}
.footer_nav .pagetop{
  position: relative;;
  rotate: -90deg;
}
.footer_nav .pagetop a{
  display: inline-block;
  font-weight: 400;
  line-height: 1;
  background: #000;
  color: #fff;
  font-size: 1.5rem;
  padding: 8px 16px;
  border: 3px solid #000;
  position: absolute;
  right: 10px;
  bottom: -120px;
  font-family: "Concert One", sans-serif;
  letter-spacing: .1rem;
  border-radius: 3px;
}
.footer_nav .pagetop a span{
  display:flex;
  align-items: center;
}
.pagetop a span::after {
  content: "";
  display: inline-block;
  height: 11px;
  width: 11px;
  background: url(/img/common/arrow_white.svg) no-repeat;
  background-size: cover;
  position: relative;
  margin-left: 3px;
}
.footer_nav ul{
  display:flex;
  gap:0 6px;
}
.footer_nav ul li{
  position:relative;
  width:56px;
}
.footer_nav ul li a{
  font-size:1.3rem;
  font-weight:bold;
  line-height:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.footer_nav ul li.top a{
  width:56px;
  height:56px;
  border-radius:8px;
  border:1px solid #604a56;
  background:#fff;
}
.footer_nav ul li.tel a{
  width:56px;
  height:56px;
  border-radius:100px;
  background:#000;
  color:#fff;
  font-size:.9rem;
  font-weight:900;
}
.footer_nav ul li a::before{
/* content: '\e88a'; */
font-size:2.4rem;
font-weight:normal;
font-family: 'Material Icons Round';
display:block;
}
.footer_nav ul li.tel a::before{
content: "phone_in_talk";
font-size:2.6rem;
}

.menu-button {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
cursor: pointer;
background:#000;
width:74px;
aspect-ratio:1;
border-radius:16px;
}
#menu-toggle:checked ~ .menu-button{
border:none;
}
.menu-button > b{
display:block;
position:relative;
width: 36px;
height: 36px;
}
.menu-button .txt{
margin-top:0;
}
.menu-button .txt::before{
content:"MENU";
font-weight:bold;
font-size:1rem;
color:#fff;
}
#menu-toggle:checked ~ .footer_nav .pagetop,
#menu-toggle:checked ~ .footer_nav ul{
display:none;
}

.bar {
position:absolute;
display: block;
width:36px;
height: 4px;
background-color: #fff;
transition: 0.4s;
left:0;
}
.menu-button .bar:nth-child(1){
top:6px;
}
.menu-button .bar:nth-child(2){
top:16px;
}
.menu-button .bar:nth-child(3){
top:26px;
}
#menu-toggle:checked ~ .footer_nav{
justify-content:center;
z-index: 203;
}
#menu-toggle:checked ~ .footer_nav .menu-button{
flex-direction:column;
justify-content:center;
border-radius:100px;
}
#menu-toggle:checked ~ .footer_nav .menu-button .bar:nth-child(1) {
rotate:45deg;
top:16px;
}
#menu-toggle:checked ~ .footer_nav .menu-button .bar:nth-child(2) {
display:none;
}
#menu-toggle:checked ~ .footer_nav .menu-button .bar:nth-child(3) {
rotate:-45deg;
top:16px;
}
#menu-toggle:checked ~ .footer_nav .menu-button .txt{
margin-top:-1px;
}
#menu-toggle:checked ~ .footer_nav .menu-button .txt::before{
font-size:1rem;
content:"閉じる";
}
#menu-toggle {
display: none;
}
.menu {
position: fixed;
bottom: -100%; /* 変更: top から bottom に変更 */
left: 0;
width: 100%;
height: 100%;
background:#ffde25;
transition: 0.4s;
z-index: 202;
overflow-y: auto;
padding-bottom:80px;
}
#menu-toggle:checked ~ .menu {
bottom: 0; /* 変更: top から bottom に変更 */
}
.menu .drawer_logo{
  padding: 1.6rem 0;
}
.menu .drawer_logo .logo{
  margin-bottom:1.6rem;
}
.menu .drawer_logo img{
  width:160px;
}
.menu .drawer_logo .tel_eigyo .eigyo{
  font-size:1.3rem;
  font-weight:bold;
  line-height:1.4;
  display:inline-block;
}
.menu .drawer_logo .tel_eigyo .eigyo div{
  display:flex;
}
.menu .drawer_logo .tel_eigyo .eigyo div dt{
  width:60px;
  text-align:left;
}
.menu .drawer_logo .tel_eigyo .tel a{
display:block;
padding:3px 0;
border-radius:14px;
background:#e62878;
color:#fff;
font-size:1.8rem;
font-weight:bold;
width:64%;
margin:auto;
}
.menu .drawer_logo .tel_eigyo .tel a::before{
font-weight:normal;
font-family:"FontAwesome";
content:"\f095";
margin-right:4px;
}
.menu .txtlink{
  margin-bottom:1.6rem;
  display:flex;
  flex-wrap:wrap;
  border-bottom:1px solid #000;
}
.menu .txtlink li{
  border-top:1px solid #000;
  width:100%;
}
.menu .txtlink li:nth-child(n+4){
  width:50%;
}
.menu .txtlink li:nth-child(4),
.menu .txtlink li:nth-child(6),
.menu .txtlink li:nth-child(8){
  border-right:1px solid #000;
}
.menu .txtlink li a {
  display:block;
  text-align:center;
  padding:10px;
  color:#000;
  font-size: 2rem;
  font-weight:bold;
}
.menu .txtlink li:nth-child(n+4) a{
  font-size:1.6rem;
}
.menu .icon{
  display:flex;
  gap:16px;
  justify-content:center;
  margin-bottom:1.6rem;
}
.menu .icon li{
  width:56px;
}
.menu .tel a{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background:#000;
  border-radius: 100px;
  height: 48px;
  line-height: 45px;
  padding: 0 48px;
  color: #fff;
  font-size:2rem;
  font-weight:bold;
}
.menu .tel a::before{
  font-family: 'Material Icons Round';
  content: '\e0cd';
}
}
/* フッター */
#footer{
padding:100px;
background:#ffde25;
position:relative;
border-radius:100px 100px 0 0;
margin-top:160px;
}
#footer .footer_box{
position:relative;
z-index:201;
}
.footer_girl{
  margin:-220px auto 24px;
  width:640px;
  position:relative;
  overflow:hidden;
}
.footer_girl::after{
  content:"";
  display:block;
  width:100%;
  height:100%;
  background:url(/img/common/bg_gals.png) center bottom no-repeat;
  background-size:cover;
  position:absolute;
  left:0;
  bottom:0;
  z-index:-1;
}
@keyframes rotation-y {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}
#footer .logo img{
width:200px;
height:auto;
margin-bottom:20px;
}
#footer .footnav{
display:flex;
justify-content:center;
flex-wrap:wrap;
margin:0 auto 20px;
max-width:980px;
font-size:13px;
}
#footer .footnav li:not(:last-child)::after{
content:"｜";
color:rgba(0,0,0,.4);
}
#footer p{
font-size:12px;
}
@media screen and (max-width: 640px) {
  #footer{
    padding:80px 0 100px;
    border-radius:48px 48px 0 0;
    margin-top:48px;
  }
  .footer_girl{
    margin-top:-140px;
  }
  #footer .logo img{
    width:140px;
  }
  #footer .footnav{
    font-size:1.1rem;
    padding:0 1.2rem;
    display:none;
  }
  .footer_girl{
    width:80%;
  }

}
/* 認証ページ */
.index_wrap{
}
.index_wrap h1{
font-size:13px;
padding:10px 0;
margin-bottom:120px;
}
.index_wrap .logo img{
width:500px;
height:auto;
}
.index_wrap .btnbox{
display:flex;
justify-content:center;
align-items:center;
margin:50px auto 100px;
}
.index_wrap .btnbox li:nth-of-type(2){
margin:0 20px;
}
.index_wrap .btnbox img{
width:50px;
}
.index_wrap .btnbox a{
border:1px solid #232323;
padding:20px 40px 19px;
line-height:1.2;
display:block;
}
.index_wrap .btnbox a span{
font-size:40px;
font-family: "Concert One", sans-serif;
display:block;
}
.index_wrap .btnbox li.leave a{
color:#aaa;
border-color:#aaa;
}
.index_wrap .linkbox{
margin-bottom:100px;
}
.index_wrap .linkbox li{
margin-bottom:10px;
}
@media screen and (max-width: 640px) {
.index_wrap h1{
font-size:1.2rem;
padding:10px 0;
margin-bottom:10rem;
}
.index_wrap .logo img{
width:300px;
height:auto;
}
.index_wrap .btnbox li:nth-of-type(2){
margin:0 10px;
}

.index_wrap .btnbox a{
padding:14px 24px 13px;
font-size:1.3rem;
}
.index_wrap .btnbox a span{
font-size:2.8rem;
}
.index_wrap .linkbox{
padding:0 10px;
}
}

/* ギャラリー一覧 */
.gallery_wrap{
width:980px;
margin:0 auto 30px;
}
.gallery_list{
display:flex;
flex-wrap:wrap;
gap: 16px 16px
}
.gallery_list dl{
width : calc(100% / 2 - 8px) ;
}
@media screen and (max-width: 640px) {
.gallery_wrap{
width:100%;
}
.gallery_list{
padding:0 10px;
}
.gallery_list dl{
width : 100%;
}
}

/* reCAPTCHAバッジ非表示 */
.grecaptcha-badge { visibility: hidden; }
.reCaptcha_txt{
font-size:11px;
color:#aaa;
text-align:left;
}
.reCaptcha_txt a{
color:#87b9ee;
}
@media only screen and (max-width: 640px) {
.reCaptcha_txt{
margin-top:1.6rem;
}
}
/* 404ページ */
.notfound_wrap{
margin:50px 0;
}
.notfound_box{
color:#777;
}
.notfound_box dl{
line-height:1;
}
.notfound_box dt{
font-size:100px;
font-weight:700;
line-height:1;
}
.notfound_box dd.en{
font-size:32px;
font-weight:700;
letter-spacing:2px;
text-indent:2px;
margin-bottom:16px;
}
.notfound_box dd.txt{
line-height:1.8;
}
.notfound_box dd.txt span{
display:block;
font-size:22px;
font-weight:bold;
}
.notfound_box dd.btn{
margin-top:32px;
}
.notfound_box dd.btn a{
display:inline-block;
font-size:16px;
font-weight:700;
padding:0 64px;
height:46px;
line-height:47px;
border:1px solid #232323;
border-radius:100px;
color:#232323;
}
.notfound_box dd.btn a:hover{
color:#ffff;
background:#232323;
}
@media screen and (max-width: 640px) {
.notfound_box dd.txt{
font-size:1.3rem;
}
.notfound_box dd.btn a{
line-height:45px;
}
}

/* TOPページ header */
.top_header{
width:100%;
}
.top_layout{
width: 1200px;
padding: 30px 0;
display: flex;
justify-content: space-between;
align-items: flex-end;
margin:auto;
}
.top_header .top_logo img{
height:60px;

}
@media screen and (max-width: 640px) {
.top_layout{
width:100%;
display:block;
}
.top_header .top_logo img{
height:75px;
}
}

/* タイトル 画像 */
.sister_image_title{
margin-bottom: 24px;
}
.cast_image_title img,
.news_image_title img,
.blog_image_title img,
.recruit_image_title img,
.access_image_title img,
.sister_image_title img{
display:flex;
width:340px;
}
@media screen and (max-width: 640px) {
.cast_image_title img,
.sister_image_title img{
width:280px;
padding: 0 10px;
}
.blog_image_title img,
.news_image_title img,
.recruit_image_title img,
.access_image_title img{
width:260px;
}
}

/* TOP システム */
.top_system{
margin:0 auto 64px;
padding:64px 0;
background-color: #fdf7c6;
  background-image: radial-gradient(circle, #ffde25 3px, transparent 3px), radial-gradient(circle, #ffde25 3px, transparent 3px);
  background-position: 0 0, 9px 18px;
  background-size: 18px 36px;
}
.top_system_wrap ul{
  width:900px;
  margin:auto;
  display:flex;
  flex-direction: column;
  gap:32px;
}
.top_system_wrap ul li{
  width:100%;
  aspect-ratio: 3 / 2;
  border-radius:24px;
  border:3px solid #111;
  position:relative;
}
.top_system_wrap ul li.app{
  background:url(/img/index/img_app.png) no-repeat;
  background-size:cover;
}
.top_system_wrap ul li.coupon{
  background:url(/img/index/img_coupon.png) no-repeat;
  background-size:cover;
}
.top_system_wrap ul li a{
  display:block;
  font-size:20px;
  font-weight:700;
  background:#111;
  padding:16px 32px;
  border-radius:6px;
  color:#fff;
  position:absolute;
}
.top_system_wrap ul li.app a{
  bottom:72px;
  left:32px;
}
.top_system_wrap ul li.coupon a{
  bottom:72px;
  right:24px;
}
.top_system_wrap ul li a:hover{
  color:#ffda25;
}
.top_system_comment{
  width:880px;
  margin:auto;
  padding:64px;
  border-radius:32px;
  background:#fff;
  border:3px solid #111;
}
.system_subttl{
  font-size:24px;
  font-weight:700;
  margin-bottom:16px;
}
.system_subttl strong{
  color:#ec8232;
}
.top_system dl{
border-top: 1px solid #ccc;
}
.top_system_course > div{
display: flex;
border-bottom: 1px solid #ccc;
line-height: 1;
align-items:center;
justify-content: space-between;
padding:0 8px;
}
.top_system_course > div dt,
.top_system_course > div dd{
padding: 16px 0;
}
.top_system_course > div dt{
font-size: 20px;
}
.top_system_course > div dd{
font-weight: bold;
font-size:24px;
}
.top_system_subtitle{
line-height: 1;
text-align:left;
margin: 48px 0 16px;
}
.top_system_subtitle span{
font-size:18px;
font-weight: bold;
}
.top_system_note{
font-size: 12px;
margin: 16px 0 0;
text-align:left;
}
.top_system_credit{
text-align:left;
}
.top_system_credit img {
width:480px;
}
@media screen and (max-width: 640px) {
  .top_system {
    width: 100%;
    margin: 0 auto 48px;
    box-sizing: border-box;
    padding:48px 4%;
  }
  .top_system_wrap{
    flex-direction: column;
    width:100%;
  }
  .top_system_wrap ul{
    width:100%;
  }
  .top_system_wrap ul li{
    border-radius:16px;
  }
  .top_system_wrap ul li a{
    font-size:14px;
    padding:8px 16px;
    line-height:1;
  }
  .top_system_wrap ul li.app a{
    bottom:24px;
    left:10px;
  }
  .top_system_wrap ul li.coupon a{
    bottom:24px;
    right:10px;
  }

  .top_system_wrap .titlebox{
    width:100%;
  }
  .top_system_service{
    font-size: 1.4rem;
    line-height: 1.4;
    margin:16px 0;
    padding:0 16px;
  }
  .top_system_comment {
    padding: 24px 16px;
    width: 100%;
  }
  .top_system_subtitle span {
    font-size: 1.8rem;
  }
  .top_system_course {
    margin-bottom:0;
    letter-spacing:0;
  }
  .system_subttl{
    font-size:1.9rem;
  }
  .top_system_course > div {
    align-items: center;
    padding: 12px 0;
  }
  .top_system_course > div dt,
  .top_system_course > div dd{
    font-size: 1.5rem;
    padding:0;
  }
  .top_system_course > div dt{
    text-align:left;
    padding-left:4px;
  }
  .top_system_course > div dd{
    text-align:right;
    padding-right:4px;
  }
  .top_system_note {
    font-size: 1.2rem;
    line-height:1.4;
    letter-spacing:0;
  }
  .system_image_title {
    width: 100%;
  }
  .system_image_title img{
    width:280px;
    padding: 0 10px;
    margin-left: 10px;
  }
  .system_credit img {
    width: 100%;
  }
  .top_system_credit img{
    width: 100%;
  }
}
/* TOP_TikTok・インスタ ボタン */
.top_sns{
display:flex;
flex-direction:column;
gap:8px;

position:fixed;
bottom:12px;
left:-2px;
}
.top_sns ul{
order:-1;
width:80px;
display:flex;
flex-direction:column;
gap:8px;
}
.top_sns .tiktok{
}
.top_sns .tiktok a{
}
.top_sns ul .tiktok a::before{
content:"";
display:block;
width:50px;
height:50px;
margin:auto;
background:url(/img/common/icon_tiktok.png);
background-size:50px 50px;
}
.top_sns ul .instagram a::before{
content:"";
display:block;
width:50px;
height:50px;
margin:auto;
background:url(/img/common/icon_inst.png);
background-size:50px 50px;
}

@media screen and (max-width: 640px) {
.top_sns{
bottom:8px;
left:90px;
}
.top_sns ul{
flex-direction:row;
padding-left: 8px;
}
.top_sns ul .tiktok a::before{
width:60px;
height:60px;
background-size:60px 60px;
}
.top_sns ul .instagram a::before{
width:60px;
height:60px;
background-size:60px 60px;
}
}

.top_subtitle{
color:#c8c8c8;
}

/* TOPコンセプト */
.top_concept{
width:100%;
padding-top:160px;
background:url(/img/common/banana_txt.png) repeat-x;
background-size:662px 160px;
animation: loop 16s linear infinite;
position:relative;
margin-bottom:64px;
}
@-webkit-keyframes loop {
	from{
		background-position: 0 0;
	}
	to{
		background-position: -662px 0;
	}
}
@media screen and (max-width: 640px) {
  .top_concept{
    padding-top:88px;
    background:url(/img/common/banana_txt.png) repeat-x;
    background-size:343px 80px;
  }
}
.cover_concept{
  position:relative;
  overflow:hidden;
}
.cover_concept::before{
  content: "";
  display: block;
  width: 95%;
  height:100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #ffde25 url(/img/index/bg_cover_concept.png) center right no-repeat;
  background-size:contain;
  border-radius: 0 100px 100px 0;
  z-index: -1;
}
.cover_concept_wrap{
  width:1200px;
  margin:auto;
  display:flex;
  align-items: center;
}
.cover_concept_wrap .concept_txtbox{
  text-align:left;
  min-width:640px;
  font-size:16px;
  letter-spacing:0;
  padding:72px 0;
}
.cover_concept_wrap .concept_ttl{
  font-size:32px;
  font-weight:800;
  -webkit-text-stroke: 7px #fff;
  text-stroke: 7px #fff;
  paint-order: stroke;
  margin-bottom:16px;
  line-height:1.3;
}
.cover_concept_wrap .concept_ttl span{
  color:#ec8232;
}
.cover_concept_wrap .concept_txt strong{
  font-size:22px;
  font-weight:bold;
  margin-bottom:4px;
  display:inline-block;
}
.cover_concept_wrap .concept_img{
  filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.5));
  align-self: flex-end;
}
@media screen and (max-width: 640px) {
  .cover_concept{
    padding:48px 0 0;
  }
  .cover_concept::before{
    width:98%;
    background-position: bottom right;
    border-radius: 0 48px 48px 0;
  }
  .cover_concept_wrap{
    width:100%;
    flex-direction: column;
    padding:0 6%;
    gap:32px;
  }
  .cover_concept_wrap .concept_txtbox{
    min-width:100%;
    width:100%;
    padding:0;
  }
  .cover_concept_wrap .concept_ttl{
    line-height:1.3;
    font-size:30px;
  }
  .cover_concept_wrap .concept_txt{
    font-size:1.4rem;
    line-height:1.4;
  }
  .cover_concept_wrap .concept_img{
    margin:0 -4%;
  }
}