/*!
Template: cp5-t004-NATURAL
Theme Name: CP5 T004-NATURAL-blk
Theme URI: https://castpro-cms.com/
Author:  CASTPRO
Author URI: https://castpro-cms.com/
Description: CP5 T004-NATURAL Parent Theme + Black Child Theme
Version: 1.2.1
Text Domain: cp5d4000-child-002
Tags:CASTPRO,T004-NATURAL,2 Column,Left Sidebar,Image Slider
*/

#loading {
    background-color: rgba(0, 0, 0, 0.596)
}

#cp5_cast_slider-5 .cast-frame {
    padding: 10px;
}

.recruit_content_image img {
    width: 100%;
    height: auto;
}

#media_image-2 {
    padding: 30px 0;
    background-color: rgba(0, 0, 0, 0.3);
}

.cast-section {
    position: relative;
}

.cast-section .cast-icon {
    position: absolute;
    bottom: 56px;
    left: 5px;
    width: 70px;
    height: 70px;
    z-index: 10;
}

.cast-section .cast-icon img {
    width: 70px;
    height: auto;
}

#footer {
    background: url(assets/images/footer_bg.png) repeat-x center bottom;
}

#main-content {
    align-items: flex-start;
}

#secondary,
.top_right_columns {
    position: sticky;
    top: 0;
    align-self: start;
}

#media_image-2 .widget-block {
    background-color: transparent!important;
}

#media_image-2 .widget,
#media_image-2 .widget {
    margin: 0 !important;
}

#breadcrumb {
    margin: 0;
}

#profile-frame #profile-section .profile-faq-lists dt {
    border: none;
}

.options_li {
    display: flex;
    padding: 5px 0;
    border-bottom: rgba(255, 255, 255, 0.493) 1px dotted;
}

.options_name {
    width: 90%;
    text-align: left;
}

.options_data {
    width: 10%;
}

.x_icon a {
    padding: 5px;
    height: 37px;
    display: block;
    margin: 10px;
    text-align: center;
}

.x_icon {
    width: 240px;
    background: url(assets/images/x_icon.svg) no-repeat center center #000;
    background-size: 16px auto;
}

h3.system-title {
    background-image: -webkit-linear-gradient(90deg, rgb(48, 43, 30) 0%, rgb(0, 0, 0) 100%);
    padding: 16px;
    border: #062700 1px solid;
    text-align: center;
    font-weight: bold;
}

.play_column1 {
    background: rgba(0, 0, 0, 0.884);
    border-radius: 6px;
    padding: 20px;
    color: #fff;
    margin-bottom: 10px;
}

.play_column2 {
    background: rgba(56, 56, 56, 0.884);
    border-radius: 6px;
    padding: 20px;
    color: #fff;
    margin-bottom: 10px;
}

.concept_catch_en {
    font-size: 16px;
    text-align: center;
    margin-bottom: 20px;
    font-family: Century Gothic, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝";
}

table.system-table {
    background: rgba(0, 0, 0, 1);
}

.play_content {
    font-size: 16px;
}

.play_content_bloc {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.play_content_figure_bloc {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.play_column1 h4 {
    margin: 0 0 0 0;
    padding: 10px;
    color: #fff;
    text-align: center;
    font-size: 26px;
    line-height: 1em;
    font-family: Century Gothic, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝";
}

.play_content_figure h5 {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
}

h4.play_title {
    margin: 0 0 0 0;
    background-color: #7fe96c;
    padding: 10px;
    color: #111;
    text-align: center;
    font-size: 26px;
    font-family: Century Gothic, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝";
}

#menu-global_menu {
    margin: 0;
    padding: 5px;
}

#menu-global_menu li {
    list-style: none;
    padding: 0;
}

#menu-global_menu li a {
    display: block;
    padding: 10px 10px 10px 10px;
    color: #fff;
    border-bottom: rgba(255, 255, 255, 0.589) 1px dotted;
    font-weight: bold;
    transition: all .3s ease;
    background: url(assets/images/arrow.png) no-repeat right center;
    background-size: 24px 16px;
}

#menu-global_menu li a:hover {
    background: #000 url(assets/images/arrow.png) no-repeat right center;
    background-size: 24px 16px;
}

#menu-global_menu .widget ul li {
    padding-bottom: 0rem;
}

.swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.692)!important;
}

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black,
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    display: none!important;
}

.swiper-pagination-bullet {
    opacity: 0.7!important;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
    background: #fff!important;
}

#footer #footer-widget-col .widget_nav_menu {
    font-size: 1.2rem
}

#footer #footer-widget-col .widget_nav_menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#footer #footer-widget-col .widget_nav_menu ul li {
    list-style: none;
}

#footer #footer-widget-col .widget_nav_menu ul li a {
    text-decoration: underline;
    padding: 5px;
}

#footer #footer-widget-col .widget_nav_menu ul li a:hover {
    text-decoration: none;
}

.ipBlock {
    color: #333;
}

.post-471 input.btn {
    background-color: #000;
    padding: 15px;
    border-radius: 4px;
    display: flex;
    border: #4d4d4d 1px solid;
    justify-content: center;
    margin: 20px auto;
    color: #fff;
    width: 350px;
}

.section-header {
    background-image: -webkit-linear-gradient(90deg, rgb(48, 43, 30) 0%, rgb(0, 0, 0) 100%);
    color: white;
    padding: 15px 20px;
    font-size: 18px;
    font-weight: bold;
}

.intro-text {
    padding: 15px 0;
    line-height: 1.8;
}

.step-container {
    margin-bottom: 20px;
}

.step {
    display: flex;
    border: 1px solid #ddd;
    margin-bottom: 5px;
    background: #fff;
}

.step-number {
    background-color: #E88F00;
    color: white;
    width: 160px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 10px;
    font-size: 20px;
    font-weight: bold;
    position: relative;
}

.step-number:after {
    content: "";
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid #E88F00;
}

.step-content {
    padding: 20px;
    flex-grow: 1;
    color: #111;
}

.note {
    padding: 10px 0;
    font-size: 0.9em;
}

.reservation-section {
    margin-top: 30px;
    color: #111;
}

.reservation-item {
    display: flex;
    border: 1px solid #ddd;
    margin-bottom: 5px;
    background: #fff;
}

.reservation-icon {
    background-color: #E88F00;
    width: 160px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 10px;
    position: relative;
}

.reservation-icon:after {
    content: "";
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid #E88F00;
}

.reservation-icon img {
    width: 50px;
    height: auto;
}

.reservation-content {
    padding: 20px;
    flex-grow: 1;
}

.reservation-title {
    font-weight: bold;
    margin-bottom: 10px;
}

.reception-hours {
    display: inline-block;
    background-color: #E88F00;
    color: white;
    padding: 2px 10px;
    border-radius: 3px;
    font-size: 0.9em;
    margin-bottom: 10px;
    border-radius: 24px;
    margin-right: 10px;
}

.phone-number {
    font-size: 22px;
    font-weight: bold;
}

.reservation-link a,
.phone-number a {
    color: #000;
    font-weight: bold;
    font-size: 24px;
    text-decoration: underline;
}

.page-id-37 table {
    border: #fff 2px solid!important;
}

.p10 {
    padding: 10px;
}

.head_color {
    font-weight: bold;
    text-align: center;
    background-image: -webkit-linear-gradient(90deg, rgb(48, 43, 30) 0%, rgb(0, 0, 0) 100%);
}

.recruit_entry {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin: 20px auto;
    width: 600px;
}

.recruit_entry div {
    width: 33.3%;
    text-align: center;
}

.button-link {
    width: 100%;
    text-align: center;
}

.step-container h4 {
    font-size: 22px;
    font-weight: bold;
}

pre {
    background-color: #fff;
    padding: 10px;
    border-radius: 6px;
    color: #333;
}

.button-link a {
    background-color: #30ff0a;
    padding: 10px 20px;
    margin: 20px auto;
    width: 300px;
    border-radius: 40px;
    color: #242424;
    display: inline-block;
    text-decoration: none;
    font-weight: bold;
    transition: all .3s;
    text-align: center;
}

.button-link a:hover {
    color: #242424;
    background-color: #2bf108;
}

ul.category_list {
    display: flex;
    width: 100%;
    gap: 10px;
    flex-wrap: wrap;
}

ul.category_list li a {
    color: #fff;
}

ul.category_list li {
    width: calc(33.3% - 10px);
    list-style: none;
    background: url(assets/images/category_arrow.png) no-repeat left center;
    background-size: 16px 16px;
    padding: 5px 5px 5px 20px;
    font-size: 18px;
}

.review_bloc h4 {
    padding: 10px;
    font-size: 18px;
    font-weight: bold;
    background-color: #30ff0a;
    color: #000;
    text-align: center;
}

.single-column h3 {
    padding: 5px 0 5px 10px;
    font-size: 20px;
    font-weight: bold;
}

.single-column .entry-content {
    font-size: 16px;
}

.kuchikomi ul {
    padding: 0;
    margin: 0;
}

.kuchikomi li {
    list-style: none;
    margin: 10px 0;
    margin: 10px 0;
    font-size: 16px;
    padding: 10px;
    border-radius: 6px;
    border-bottom: #80808085 2px dotted;
}

.kuchikomi_name {
    margin: 10px 0;
    font-size: 16px;
}

.kuchikomi_date {
    margin: 0 0 10px 0;
}

.kuchikomi_content {}

.kuchikomi {}

.entry-content h3 {
    font-size: 22px;
    font-weight: bold;
}

.entry-content h4 {
    font-size: 20px;
    font-weight: bold;
}

.widget_nav_menu a:after {
    font-size: 14px;
    font-weight: 400;
    display: block;
    content: attr(title);
    font-family: Century Gothic, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝";
}

.type-event {
    border-bottom: rgba(134, 134, 134, 0.521) 1px solid;
}

#menu-global_menu li:nth-child(2),
#menu-global_menu li:nth-child(3),
#menu-global_menu li:nth-child(4),
#menu-global_menu li:nth-child(5) {
    background-color: #2fff0abb;
}

.cast-state-messege {
    display: none;
}

#cp5_news-5 ul {
    background-color: rgba(0, 0, 0, 0.808);
}

#cp5_news-5 {
    width: 66%;
}

.smart_fix_menu {
    display: flex;
    flex-wrap: nowrap;
    position: fixed;
    bottom: 0;
    left: 0;
    width: calc(100% - 10px);
    background-color: rgba(0, 0, 0, 0.568);
    justify-content: space-between;
    gap: 5px;
    margin: 0 5px;
    z-index: 10;
}

.smart_fix_menu a {
    padding: 20px 10px 0px 10px;
    display: block;
    text-decoration: none;
    color: #333;
    font-size: 11px;
    border-radius: 6px;
    margin: 5px;
}

.smart_fix {
    width: 33.3%;
    text-align: center;
    background-repeat: no-repeat;
    background-position: center 10px;
}

.smart_fix:last-child {
    border-right: none;
}

.fix_icon1 a {
    color: #00b1c3;
}

.fix_icon2 a {
    color: #00d000;
}

.fix_icon3 a {
    color: #ff2062;
}

.fix_icon1 {
    border-radius: 6px;
    background-size: auto 20px!important;
    background: url(assets/images/samrt_footer_icon1.png) #fff no-repeat center 7px;
}

.fix_icon2 {
    border-radius: 6px;
    background-size: auto 20px!important;
    background: url(assets/images/samrt_footer_icon2.png) #fff no-repeat center 7px;
}

.fix_icon3 {
    border-radius: 6px;
    background-size: auto 20px!important;
    background: url(assets/images/samrt_footer_icon3.png) #fff no-repeat center 7px;
}

.cast-rank {
    border: #494949 1px solid;
    padding: 20px;
    margin: 20px 0;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.849);
    width: calc(100% - 10px);
}

.cast-rank h3 {
    text-align: center;
    font-size: 22px;
}

.cast-rank-description {
    text-align: center;
    font-size: 16px;
    margin-bottom: 20px;
}

.cast-rank-icon-column {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    justify-content: flex-start;
    align-items: center;
    padding: 10px 0;
    border-top: rgba(228, 228, 228, 0.068) 1px solid;
}

.cast-rank-icon-description {
    -webkit-flex-grow: 1;
    flex-grow: 1;
}

.cast-rank-icon {
    height: 80px;
    width: 80px;
    margin-right: 30px;
    text-align: center;
    text-indent: -9999px;
}

.cast-rank-icon-plutinum {
    background-image: url(assets/images/icon-plutinum.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 80px auto;
}

.cast-rank-icon-premierelite {
    background-image: url(assets/images/icon-premierelite.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 80px auto;
}

.cast-rank-icon-premier {
    background-image: url(assets/images/icon-premier.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 80px auto;
}

.cast-rank-icon-price {
    font-weight: bold;
    text-align: center;
}

.cast-image,
#profile-main-image {
    position: relative;
}

.cast-image .cast-icon,
#profile-main-image #profile-icons {
    position: absolute;
    bottom: 5px;
    left: 5px;
    width: 80px;
    height: 80px;
    background-size: 80px 80px;
    z-index: 2;
}

.review_bloc {
    border: #30ff0a 2px solid;
    padding: 10px;
    border-radius: 8px;
    background: #000;
}

input::placeholder {
    /* 標準 */
    opacity: 0.7;
}

.mag_check {
    display: flex;
    gap: 10px;
}

input[type=submit] {
    background-color: #30ff0a;
    padding: 10px 20px;
    margin: 20px auto;
    width: 300px;
    border-radius: 40px;
    color: #242424;
    display: inline-block;
    text-decoration: none;
    font-weight: bold;
    transition: all .3s;
    text-align: center;
}

.mag_submit {
    display: flex;
    justify-content: center;
}

.event_column {
    padding-top: 20px;
}

@media print,
screen and (min-width: 48em) {
    #enter-image {
        padding: 15rem 0 5rem
    }
    .event_column {
        display: flex;
        gap: 10px;
    }
    .event_image,
    .event_content {
        width: 50%;
    }
    .type-event {
        padding: 20px;
    }
    .smart_fix_menu {
        display: none;
    }
    #top-heaf-widget-col {
        display: flex;
        gap: 10px;
    }
    #cp5_cast_slider-6 {
        width: 33%;
    }
    #cp5_news-5 {
        width: 66%;
    }
    .play_content_figure {
        width: calc(50% - 10px);
    }
    .step-content,
    .reservation-content {
        width: 700px;
        padding-left: 50px;
    }
    .shop-tel .num {
        font-size: 28px;
    }
    #header #header-block {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
        width: 100%;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
    .top_columns {
        display: flex;
    }
    /* .top_left_columns {
                float: left;
            } */
    .top_left_columns {
        width: 70%;
        margin-right: 10px;
    }
    .top_right_columns {
        width: 30%;
    }
    #header-logo-col img {
        max-width: 380px;
        height: auto;
    }
    #header-shop-info,
    .shop-info.open,
    .shop-info.shop-tel {
        text-align: right;
    }
    #header #header-block-col {
        line-height: 1.6em;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
        -webkit-align-items: end;
        -ms-flex-align: end;
        align-items: end;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-flex: 1;
        -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }
    .card_pay {
        width: 100%;
        margin: 0;
        display: flex;
        justify-content: flex-start;
    }
    .card_pay .pay_image {
        margin-left: 30px;
    }
}

@media print,
screen and (max-width: 48em) {
    .cast-rank-icon {
        height: 80px;
        width: 80px;
        margin-right: 0px;
    }
    .cast-rank-icon-plutinum {
        background-size: 50px auto;
    }
    .cast-rank-icon-premierelite {
        background-size: 50px auto;
    }
    .cast-rank-icon-premier {
        background-size: 50px auto;
    }
    .cast-rank {
        padding: 10px;
    }
    .x_icon {
        width: 100%;
        text-align: center;
    }
    #profile-weekly-schedule-frame {
        order: 6;
    }
    #cp5_cast_slider-6 h2 {
        margin: 16px;
    }
    #carousel-container-cp5_cast_slider-6 {
        background: rgba(0, 0, 0, 0.815)
    }
    #cp5_cast_slider-6,
    #cp5_news-5 {
        width: 100%;
    }
    #cp5_cast_slider-6 .cast-section {
        padding-left: 10px;
    }
    .post-inline-cast {
        display: flex;
        justify-content: center;
        float: none;
        text-align: center;
    }
    ul.category_list {
        display: block;
        width: 100%;
    }
    ul.category_list li {
        width: 100%;
    }
    .play_content_bloc {
        display: block;
    }
    .play_content_figure_bloc {
        display: block;
    }
    .play_content_figure {
        width: 100%;
    }
    .recruit_entry {
        width: 100%;
    }
    .reservation-link a,
    .phone-number a {
        text-align: center;
        text-decoration: none;
        background-image: -webkit-linear-gradient(90deg, rgb(48, 43, 30) 0%, rgb(0, 0, 0) 100%);
        color: #fff;
        border-radius: 28px;
        padding: 10px 20px;
        width: 100%;
        margin: 10px auto;
        display: flex;
        justify-content: center;
    }
    .step,
    .reservation-item {
        flex-direction: column;
    }
    .step-number,
    .reservation-icon {
        width: 100%;
        padding: 10px;
    }
    .step-number:after,
    .reservation-icon:after {
        display: none;
    }
    .section-header {
        font-size: 16px;
    }
    .step-content,
    .reservation-content {
        padding: 15px;
    }
    .more-link {
        padding: 0 10px;
    }
    .widget-block {
        padding: 16px;
    }
    #cp5_image_slider-3 .widget-block,
    #secondary .columns {
        padding: 0;
    }
    #header-block-col {
        width: 100%;
        display: flex;
        justify-content: center;
    }
    #header #header-block {
        display: block;
    }
    #header #header-block-col {
        text-align: center;
    }
    #header #header-logo-col a img {
        max-width: 300px;
        margin: 30px auto;
    }
    .shop-tel a {
        background-color: #000;
        padding: 10px;
        width: 100%;
        display: block;
    }
    .news-lists-frame,
    .home .cast-lists-frame {
        padding: 16px!important;
    }
    #secondary .columns {
        padding: 0;
        margin: 0;
    }
    #drawer-wrap .shop-tel {
        margin: 0 10px;
    }
    #cp5_cast_slider-5,
    #nav_menu-3 {
        display: none;
    }
}