@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&display=swap&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
@font-face {
    font-family: "CustomAlphaNumeric";
    /* 游ゴシックやヒラギノ角ゴをベースにする */
    src:
        /* Mac用の厳密な名称（PostScript名）を追加 */
        local("HiraKakuProN-W3"),           /* ヒラギノ角ゴ ProN W3 */
        local("HiraKakuProN-W4"),           /* ヒラギノ角ゴ ProN W4 */
        
        /* 従来の指定（iOSや他の環境用のフォールバックとして残す） */
        local("Hiragino Kaku Gothic ProN"), /* Mac用 */
        local("Hiragino Sans"),             /* モダンなMac/iOS用 */
        local("Yu Gothic Medium"),          /* Win用（標準より少し太めが見やすい） */
        local("Yu Gothic"),                 /* Win用 */
        local("YuGothic"),                  /* Win用（古い表記） */
        local("Meiryo");                    /* 予備：メイリオ */
    /* 英数字（Basic Latin）の範囲を指定 */
    unicode-range: U+0020-007E; 
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
body, html {
    font-family: "CustomAlphaNumeric","Noto Serif JP", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Yu Mincho","游明朝", "MS PMincho", "ＭＳ Ｐ明朝", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-optical-sizing: auto;
    color: #fff;
}
a { color: #fff; }
a, a:where(:not(.wp-element-button)) {text-decoration: none !important;}
.site-body { padding: 0;margin-top: 0 !important; }
.blog .site-body,
.single-post .site-body,
.archive .site-body {
    padding-top: 160px;
}
.entry-title--post-type--page, h2:where(:not(.wp-block-post-title)) {
    padding: 0;
    border-top: unset;
    border-bottom: unset;
}
.site-footer-title, .sub-section-title, h3:where(:not(.wp-block-post-title)) {
    border-bottom: unset;
    padding: 0;
}
.site-footer-title:after, .sub-section-title:after, h3:where(:not(.wp-block-post-title)):after {
    content: unset;
}
h1,h2,h3,h4,h5,h6,p,ul,ol {
    padding: 0;
    margin: 0;
}

/* 共通パーツ */
.full-width {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.contents_wrap {

}
.pt70 {
    padding: 70px 0;
}
.pt200 {
    padding: 200px 0;
}
.pt300 {
    padding: 300px 0;
}
.bg-grey {
    background-color: #343434;
}
a.btn_more {
    position: relative;
    display: block;
    width: 178px;
    margin: 40px 0 0 auto;
    font-size: 20px;
    padding-left: 20px;
    padding-bottom: 10px;
    transition: all .3s ease-in-out;
}
a.btn_more::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 1px;
    border-radius: 9999px;
    background-color: #ffffff;
    bottom: 0;
    left: 0;
}
a.btn_more::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 30px;
    height: 1px;
    border-radius: 9999px;
    background-color: #ffffff;
    transform: rotate(45deg);
    transform-origin: calc(100% - 0.5px) 50%;
}
a.btn_more:hover{
    letter-spacing: .15em;
}
.offs .effect,
.offs.effect {
    opacity: 0;
    transform: translate(0, 50px);
    -webkit-transform: translate(0, 50px);
}
.ons .effect,
.ons.effect  {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: all 1s ease;
    transition: all 1s ease；;
}
.breadcrumb {
    margin-top: 80px;
}

/* 見出し */
h2.main_ttl {
    font-size: 54px;
    color: #fff;
    font-weight: normal;
    line-height: 1.2;
    letter-spacing: 1px;
    margin: 0 0 50px;
}
h2.main_ttl > span {
    font-size: 18px;
    display: block;
    font-weight: 500;
}
h3 {
    font-size: 24px;
    font-weight: normal;
    margin-bottom: 20px;
}

/* イベントリスト */
.event_list .event_box {
    display: flex;
    align-items: stretch;
    margin-bottom: 20px;
    background-color: #fff;
}
.event_list .event_box .event_date {
    width: 140px;
    display: flex;
    flex-direction: column;
    background-color: #343434;
    justify-content: center;
    align-items: center;
}
.event_list .event_box .event_date p {
    color: #fff;
    line-height: 1;
    margin: 0;
    padding: 0;
}
.event_list .event_box .event_date .year,
.event_list .event_box .event_date .dow {
    font-size: 14px;
}
.event_list .event_box .event_date .month {
    font-size: 18px;
    margin: 3px 0 -5px;
}
.event_list .event_box .event_date .day {
    position: relative;
    font-size: 42px;
    padding-top: 8px;
    padding-bottom: 16px;
    letter-spacing: -2px;
}
.event_list .event_box .event_date .day::after {
    position: absolute;
    content: '';
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 1px;
    background-color: #fff;
}
.event_list .event_box .event_date .time {
    margin-top: 6px;
    font-size: 14px;
}
.event_list .event_box .event_dtl {
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex: 1;
    padding: 30px 40px 30px 70px;
}
.event_list .event_box .event_dtl h3 {
    font-size: 22px;
    font-weight: 500;
    padding-bottom: 16px;
    border-bottom: 1px #000 solid;
    color: #000;
}
.event_list .event_box .event_dtl p {
    font-size: 16px;
    line-height: 1.75;
    margin: 0 0 10px;
    color: #000;
}
.event_list .event_box .event_dtl .other .flex {
    display: flex;
    flex-wrap: wrap;
}
.event_list .event_box .event_dtl .other p {
    margin: 0;
}
.event_list .event_box .event_dtl .other .place {
    margin-right: 30px;
}
.event_list .event_box .event_img {
    width: 200px;
    padding: 20px 40px 20px 0;
    display: grid;
    align-items: center;
}
.event_list .event_box .event_img img {
    object-fit: cover;
    aspect-ratio: 9 / 13;
    width: 100%;
    height: auto;
    display: block;
}

/* ニュースリスト */
.news_list article {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}
.news_list article .date {
    color: #fff;
    font-size: 18px;
    width: 110px;
    margin: 0 20px 0 0;
}
.news_list article .cat {
    display: block;
    text-align: center;
    color: #000;
    background-color: #fff;
    font-size: 14px;
    width: 120px;
    height: 24px;
    margin-right: 30px;
    border-radius: 5px;
}
.news_list article .cat > a {
    color: #000;
    line-height: 28px;
}
.news_list article .ttl a {
    color: #fff;
    font-size: 18px;
}
article.entry .news_list article .ttl a {
    font-size: 16px;
}

/* 自動取得NewsList */
.postListText {
    border-bottom: 1px #fff solid;
    padding: 0;
    margin-bottom: 40px;
}
.postListText_date {
    font-size: 18px;
    line-height: 24px;
    min-width: 90px;
}
.postListText_singleTermLabel_inner {
    display: block;
    text-align: center;
    color: #000 !important;
    background-color: #fff !important;
    font-size: 14px;
    width: 120px;
    height: 24px;
    line-height: 24px;
    margin-right: 30px;
    border-radius: 5px;
}
.vk_posts .postListText_title {
    width: 100%;
    font-size: 16px;
    line-height: 2.1;
    padding: 15px 0 30px;
}
.widget ul {
    display: flex;
    flex-wrap: wrap;
}
.widget_nav_menu>ul li {
    margin-right: 5px;
    margin-bottom: 10px;
}
.widget_nav_menu>ul li a {
    position: relative;
    display: inline-block;
    background-color: #fff;
    color: #000 !important;
    width: fit-content;
    border-radius: 5px;
    padding: 8px 10px;
    font-size: 16px;
}
.widget_nav_menu>ul li a::before {
    position: relative;
    content: '# ';
    left: 0;
    top: -2px;
    font-size: 18px;
}
.widget_nav_menu>ul li a:hover {
    background-color: #343434;
    color: #fff !important;
}

/* Artist */
.artist_list .artist_box {
    position: relative;
    height: 100%;
}
.artist_list .artist_box div {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 120px;
    background: linear-gradient( rgba(123, 123, 123, 0) 0%, rgba(96, 96, 96, 0.5) 45.6%, #3a3a3a7e 100%);
    padding: 0 30px 20px;
    display: flex;
    align-items: flex-end;
}
.artist_list .artist_box div img {
    object-fit: cover;
}
.artist_list .artist_box div h3 {
    color: #fff;
    font-size: 18px;
    line-height: 1.6;
}

/* link_btn */
.link_btn > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #343434;
    width: 570px;
    height: 280px;
    clip-path: polygon(30px 0, 100% 0, calc(100% - 30px) 100%, 0 100%);
}
.link_btn > a h3 {
    font-size: 40px;
    line-height: 1;
    margin-bottom: 30px;
}
.link_btn > a p {
    font-size: 18px;
    line-height: 1.75;
    text-align: center;
}

/* contact_area */
.contact_area {
    display: flex;
    justify-content: space-between;
    margin: 120px auto 230px;
    padding: 80px 0 40px;
    border-top: 1px #fff solid;
    border-bottom: 1px #fff solid;
}
.contact_area .ttl {
    flex: 4;
}
.contact_area .txt {
    flex: 6;
}
.contact_area .txt p {
    font-size: 16px;
    line-height: 1.75;
    color: #fff;
}
.contact_area a.btn_more {
    width: 265px;
    margin-top: 60px;
}

/* 下層ページ見出し */
.page-header {
    position: relative;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100%;
    height: 590px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #000;
}
.page-header h1,
.page-header-title {
    color: #fff;
    font-size: 80px;
    letter-spacing: 4px;
    font-weight: normal;
    line-height: 1;
}
.page-header h1 > span,
.page-header-title > span {
    display: block;
    color: #fff;
    font-size: 18px;
    letter-spacing: 2px;
    margin-top: 20px;
    font-weight: normal;
    line-height: 1;
}

/* 下層ページ見出し下ページ内リンク */
.page_ankerlink {
    background-color: #343434;
    height: 60px;
}
.page_ankerlink ul {
    display: flex;
    justify-content: center;
    list-style-type: none;
}
.page_ankerlink ul li {
    padding: 0;
    margin: 0;
}
.page_ankerlink ul li a {
    color: #fff;
    line-height: 60px;
    margin: 0 20px;
    font-size: 16px;
}

/* table */
table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: solid 1px #fff;
}
table th,
table td {
    color: #fff;
    font-size: 16px;
    padding: 30px 20px;
    border-bottom: solid 1px #fff;
}
table th {
    width: 210px;
    vertical-align: top;
    text-align: left;
}

/* flow */
.flow_design {
    display: flex;
    align-items: center;
    margin-bottom: 80px;
}
.flow {
    padding-left: 0;
}
.flow > li {
    list-style-type: none;
    position: relative;
    padding-left: 50px;
}
.flow > li:not(:last-child) {
    padding-bottom: 30px;
}
.flow > li .icon {
    width: 100px;
    height: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 100vh;
    background: #fff;
    color: #000;
    position: absolute;
    left: 0;
    font-size: 40px;
    line-height: 1;
    font-weight: normal;
}
.flow > li .icon > span {
    display: block;
    font-size: 16px;
    line-height: 1;
    font-weight: normal;
}
.flow > li:not(:last-child)::before {
    content: '';
    background: #fff;
    width: 1px;
    height: 100%;
    position: absolute;
    top: calc(50% - -30px);
    left: 50px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.flow > li dl {
    display: flex;
    align-items: center;
}
.flow > li dl dt {
    font-size: 20px;
    font-weight: 600;
    padding-left: 85px;
    margin: 0;
    flex-shrink: 0;
    height: 100px;
    display: grid;
    align-items: center;
    width: 250px;
}
.flow > li dl dd {
    margin-left: 80px;
    flex-shrink: 0;
    height: 100px;
    display: grid;
    align-items: center;
}

/* Youtube */
.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.youtube iframe {
    width: 100%;
    height: 100%;
    margin: 0;
}

/* 投稿 */
.entry-footer {
    margin-bottom: 30px;
}
.sc_event .entry-meta-item-date,
.entry-meta-item-updated,
.entry-meta-item-author,
.entry-meta-item-date i,
.entry-meta-data-list--category dt,
.entry-meta-data-list--post_tag dt,
.vk_posts.next-prev {
    display: none;
}
.entry-meta-item .published {
    font-size: 18px;
    line-height: 24px;
}
.tagcloud a:before {
    content: "# ";
}
.entry-meta-data-list--category dd {
    display: block;
    background-color: #fff;
    text-align: center;
    width: 120px;
    height: 24px;
    line-height: 24px;
    font-size: 14px;
    color: #000;
    margin-left: 30px;
    margin-right: 5px;
    border-radius: 5px;
}
.entry-meta-data-list--category dd a {
    margin-right: 0;
}
.entry-meta-data-list--post_tag dd {
    display: block;
    background-color: #343434;
    text-align: center;
    width: 120px;
    height: 24px;
    line-height: 24px;
    font-size: 14px;
    border-radius: 5px;
}
.entry-meta-data-list--post_tag dd a {
    color: #fff;
    margin-right: 0;
}
.entry-header .flex,
.entry-header .flex .entry-footer {
    display: flex;
}
article.post {
    margin-bottom: 250px;
}
article h1.entry-title {
    font-size: 20px;
    font-weight: normal;
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px #fff solid;
}
article .entry-body {
    padding-bottom: 100px;
    margin-bottom: 80px;
    border-bottom: 1px #fff solid;
}
.single-artists article .entry-body {
    border-bottom: unset;
}

/* header */
.site-header {
    background-color: #000;
    position: fixed;
}
.header_scrolled .site-header {
    box-shadow: unset;
    background-color: #000;
    animation: none;
}
.site-header-container.container {
    max-width: unset;
}
.vk-mobile-nav {
    background-color: transparent !important;
    overflow: hidden;
    padding: 65px 24vw;
}
.vk-mobile-nav nav>ul {
    display: flex;
    border-top: unset;
    flex-wrap: wrap;
    justify-content: space-between;
}
.vk-menu-acc li {
    width: calc(100% / 2 - 20px);
    border-bottom: unset;
}
.vk-mobile-nav nav ul li a {
    color: #fff;
    border-bottom: unset;
    font-size: 30px;
}
.vk-mobile-nav nav ul li span {
    font-size: 18px;
    margin-left: 14px;
}
#custom_html-7 {
    position: relative;
    z-index: 10;
    text-align: center;
    margin-top: -80px;
    width: fit-content;
    left: 55%;
}
.vk-mobile-nav-menu-btn.menu-open {
    border-radius: 50%;
    border: unset;
    background-color: #fff;
}
#nav-bg {
    opacity: 0;
    content: "";
    width: 2800px;
    height: 2800px;
    margin-right: -1400px;
    margin-top: -1400px;
    top: 40px;
    right: 40px;
    position: fixed;
    background-color: rgb(106 106 106 / 90%);
    -webkit-border-radius: 50%;
    border-radius: 50%;
    z-index: -1;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: scale(.02);
    transform: scale(.02);
}
.vk-mobile-nav-open #nav-bg {
    opacity: 1;
    -webkit-transform: scale(2.5);
    transform: scale(2.5);
    -webkit-transition: all .6s ease-out;
    transition: all .6s ease-out;
}

@media (min-width: 992px) {
    .site-header {
        height: 100px;
        display: flex;
        align-items: center;
    }
    .site-header--layout--nav-float .site-header-logo {
        position: relative;
        left: 150px;
        width: fit-content;
        display: block;
    }
    body.device-pc .vk-mobile-nav-menu-btn,
    body.device-pc .vk-mobile-nav {
        display: block;
    }
    .vk-mobile-nav-menu-btn {
        top: 26px;
    }
    .vk-mobile-nav-menu-btn.position-right {
        right: min(5.208333333333333vw,100px);
    }
    .admin-bar .vk-mobile-nav-menu-btn {
        top: calc(32px + 50px);
    }
    .vk-mobile-nav-menu-btn {
        width: 42px;
        height: 60px;
        border: unset;
        background: url(/moon2026/wp-content/themes/lightning-child/assets/img/nav-menu.png);
    }
    .vk-mobile-nav-menu-btn.menu-open {
        width: 60px;
        background-size: 60%;
    }
}
@media (max-width: 991px) {
    .vk-mobile-nav {
        padding: 20px 15px;
    }
    .vk-mobile-nav nav>ul {
        justify-content: space-between;
    }
    .vk-menu-acc li {
        width: calc(100% / 2 - 10px);
    }
    .vk-mobile-nav nav ul li a {
        font-size: 22px;
        padding: .7em 0;
    }
    .vk-mobile-nav nav ul li span {
        font-size: 14px;
        margin-left: 0;
        display: block;
    }
    #custom_html-7 {
        margin-top: -73px;
    }
    #nav-bg {
        width: 1200px;
        height: 1200px;
        margin-right: -600px;
        margin-top: -600px;
    }
    .vk-mobile-nav-open #nav-bg {
        -webkit-transform: scale(1.8);
        transform: scale(1.8);
    }
}

/* footer */
.site-footer {
    background-color: #343434;
    color: #fff;
}
.site-footer-copyright p:nth-child(2) {
    display: none;
}
.site-footer-content {
    padding-bottom: 40px;
    border-bottom: 1px #fff solid;
}
.footer-nav {
    display: none;
}
.site-footer-content .footer_logo {
    display: flex;
    align-items: center;
}
.site-footer-content .footer_logo .insta {
    margin: 0 20px 0 40px;
}
.widget_nav_menu > div > ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.widget_nav_menu > div > ul li a {
    font-size: 20px;
    line-height: 55px;
    color: #fff;
    padding: 0;
    margin: 0;
}
.site-footer-content div.col-lg-4.col-md-6:last-child {
    display: none;
}
.site-footer-copyright p {
    font-size: 16px;
}
@media only screen and (min-width: 992px) {
    .site-footer-content div.col-lg-4.col-md-6:nth-child(2) {
        flex: 0 0 66.66666667%;
        max-width: 66.66666667%;
        padding-right: 0;
        padding-left: 50px;
    }
}
@media only screen and (max-width: 991px) {
    .site-footer-content {
        padding-bottom: 30px;
    }
    .site-footer-content .footer_logo {
        justify-content: center;
    }
    .site-footer-content .footer_logo .insta {
        margin: 0 16px 0 20px;
    }
    .widget_nav_menu > div > ul li a {
        font-size: 16px;
        line-height: 55px;
    }
    .site-footer-copyright p {
        font-size: 12px;
    }
}


/* top */
.top_mv {
    position: relative;
    height: 100vh;
    display: grid;
    justify-content: center;
    align-items: center;
}
.top_mv div {
    position: absolute;
    top: 65%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #fff;
    font-size: 19px;
    letter-spacing: 5px;
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}


/* ABOUT */
.message_wrap p {
    text-align: center;
    font-size: 26px;
    line-height: 2.3;
}
.message_wrap p.en {
    margin-top: 40px;
}
.Leadership_wrap .Leadership_box {
    margin-bottom: 105px;
    padding-bottom: 35px;
    border-bottom: 1px #fff solid;
}
.Leadership_wrap .Leadership_box h3 {
    margin-bottom: 60px;
}
.Leadership_wrap .Leadership_box p,
.production_wrap p,
.management_wrap p {
    font-size: 16px;
    line-height: 2.1875;
}
.Leadership_wrap .Leadership_box:last-child {
    border-bottom: unset;
}
.production_wrap .wp-block-columns {
    margin-top: 40px;
}
.production_wrap .wp-block-column .txt {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    background-color: #fff;
    text-align: center;
    height: 110px;
}
.production_wrap .wp-block-column .txt p {
    color: #000;
    font-size: 14px;
    line-height: 1.85;
}
.production_wrap figure {
    margin: 0;
    min-height: 305px;
    background-color: #000;
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}
.management_wrap .wp-block-columns {
    margin-top: 40px;
    margin-bottom: 80px;
}
.management_wrap .wp-block-column p {
    margin-top: 10px;
    text-align: center;
    font-size: 14px;
    line-height: 1.75;
}

/* contact */
.contact_wrap p {
    text-align: center;
}
.contact_box {
    margin-top: 60px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-top: 1px #fff solid;
}
.contact_box.confirm {
    margin-bottom: 40px;
}
.contact_box dt {
    display: grid;
    align-items: center;
    padding: 20px;
    height: 95px;
    line-height: 1.75;
    margin: 0;
    width: 25%;
    border-bottom: 1px #fff solid;
}
.contact_box dd {
    padding: 20px;
    height: 95px;
    margin: 0;
    width: 75%;
    border-bottom: 1px #fff solid;
}
.contact_box dt.txt,
.contact_box dd.txt {
    height: 230px;
}
.contact_box.confirm dt,
.contact_box.confirm dd {
    height: 90px;
    display: grid;
    align-items: center;
}
.contact_box.confirm dt.txt,
.contact_box.confirm dd.txt {
    height: auto;
}
.required {
    position: relative;
}
.required::after {
    position: absolute;
    content: "必須";
    color: #ffffff;
    background: #cc0000;
    font-size: 0.8em;
    padding: 0.3em;
    border-radius: 0.5em;
    width: 46px;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    text-align: center;
}
.privacy-policy {
    border-radius: 3px;
    background-color: #fff;
    height: 220px;
    padding: 20px;
    overflow-y: scroll;
}
.privacy-policy h3,
.privacy-policy p {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    text-align: left;
}
.privacy-policy p {
    font-weight: normal;
}
.privacy-policy__box {
    margin-top: 30px;
    color: #000;
}
.privacy-policy__box:first-child {
    margin-top: 0px;
}
.privacy-policy__head {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    text-align: left;
}
.privacy-policy__detail {
    margin-top: .3em;
    color: #000;
    text-align: left;
    font-weight: normal;
}
.contact_wrap .wrapper {
    max-width: 860px;
    margin: 40px auto 20px;
}
.privacy-policy ol {
    padding-left: 15px;
}
.contact_wrap .wrapper + span {
    display: block;
    text-align: center;
    margin-bottom: 40px;
}
.contact_wrap input[type="button"],
.contact_wrap input[type="submit"] {
    display: block;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    font-size: 16px;
    font-weight: bold;
    padding: 0;
    width: 300px;
    height: 45px;
    line-height: 45px;
    background-color: #fff;
    border: none;
    color: #000;
    cursor: pointer;
    border-radius: 0;
    margin: 0 auto 250px;
}
span.wpcf7-spinner {
    display: none;
}

/* アーティスト詳細 */
.artists-eyecatch {
    margin-top: 40px;
    margin-bottom: 160px;
    height: 720px;
}
.artists-eyecatch img {
    object-fit: cover;
    height: 100%;
}
header.artists {
    text-align: center;
}
header.artists h1 {
    font-size: 40px;
    font-weight: normal;
    margin-bottom: 40px;
}
header.artists h1 > span {
    font-size: 70px;
    display: block;
    line-height: 1.5;
}
header.artists > h2 {
    font-size: 18px;
    font-weight: normal;
    line-height: 1;
    margin-top: -10px;
    margin-bottom: 40px;
}
header.artists .category {
    display: block;
    width: fit-content;
    height: 35px;
    line-height: 35px;
    background-color: #343434;
    color: #fff;
    font-size: 16px;
    padding: 0 24px;
    margin: 0 auto 140px;
}
.sns-list {
    display: flex;
    align-items: center;
    margin-bottom: 100px;
    flex-wrap: wrap;
}
.sns-list li {
    list-style: none;
    width: 50px;
    height: 50px;
    margin: 0 16px 20px 0;
    display: grid;
    align-items: center;
}
.sns-list li img {
    height: 50px;
}
.official_site {
    position: relative;
    padding-left: 30px;
}
.official_site::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 20px;
    height: 2px;
    background-color: #fff;
}
.artists .breadcrumb-list li:nth-child(3) {
    display: none;
}
.photo_dl {
    margin: 40px auto 0;
}
.photo_dl a {
    display: block;
    width: 100%;
    height: 50px;
    line-height: 50px;
    border: 1px #fff solid;
    text-align: center;
}

/* アーティスト一覧 */
.post-type-archive-artists .site-body-container {
    padding: 0 45px;
    max-width: unset;
}
.post-type-archive-artists .post-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
}
.post-type-archive-artists article {
    width: calc(100% / 5 - 16px);
    margin-right: 20px;
    margin-bottom: 100px;
}
.post-type-archive-artists article:nth-child(5n) {
    margin-right: 0;
}
.post-type-archive-artists article .artists-img {
    margin-bottom: 30px;
}
.post-type-archive-artists article .artists-txt {
    display: flex;
    justify-content: space-between;
}
.post-type-archive-artists article .artists-txt .name {
    font-size: 20px;
    font-weight: normal;
    line-height: 1.5;
}
.post-type-archive-artists article .artists-txt .category {
    width: fit-content;
    min-height: 25px;
    height: 100%;
    line-height: 1.3;
    background-color: #343434;
    color: #fff;
    font-size: 12px;
    padding: 0 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* イベント詳細 */
.single-sc_event article .entry-body {
    padding-bottom: 0;
    border-bottom: unset;
}
.sc_event h1.event-title {
    font-size: 20px;
    margin-bottom: 16px;
}
.sc_event h1.event-title + .flex {
    margin-bottom: 8px;
}
.sc_event .date {
    font-size: 18px;
}
.sc_event .entry-meta-item .published {
    position: relative;
    padding-left: 25px;
}
.sc_event .entry-meta-item .published::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f073";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.sc_event .entry-header span.time {
    position: relative;
    font-size: 18px;
    padding-left: 25px;
    margin-left: 30px;
    line-height: 1.5;
}
.sc_event .entry-header span.time::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f017";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.events-cat {
    margin-top: 20px;
}
.events-cat-item {
    display: flex;
    flex-wrap: wrap;
}
.events-cat-item a {
    position: relative;
    display: block;
    background-color: #fff;
    color: #000 !important;
    border-radius: 5px;
    text-align: center;
    font-size: 14px;
    width: fit-content;
    height: 24px;
    line-height: 24px;
    padding: 0 20px 0 30px;
    margin: 0 10px 5px 0;
}
.events-cat-item a::before {
    position: absolute;
    content: '#';
    left: 18px;
}
.sc_event_details {
    display: none;
}
.event-ticket {
    margin: 95px 0 120px;
}
.event_list.sidebar {
    margin-top: 160px;
}

/* イベントカレンダー */
#sc_calendar_wrap {
    position: relative;
}
#sc_events_calendar_head {
    background-color: unset;
    border: unset;
    margin-bottom: 10px !important;
}
#sc_event_select {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}
#sc_event_select #sc_month {
    order: 1;
    margin: 0;
}
#sc_event_select #sc_year {
    order: 0;
    margin: 0;
}
#sc_event_select #sc_submit {
    order: 2;
}
#sc_event_category {
    display: none;
}
#sc_event_nav_wrap {
    position: absolute;
    top: 0;
    margin: 0 !important;
}
#sc_event_nav_prev .sc_calendar_submit,
#sc_event_nav_next .sc_calendar_submit {
    width: 50px;
    padding: .5em 0;
}
#sc_calendar td.calendar-day.has-events {
    background: #737373;
}
#sc_calendar td.calendar-day-np {
    background: rgba(200,200,200,0.2);
}
#sc_calendar td div.day-number {
    left: 50%;
    right: unset;
    transform: translateX(-50%);
    font-size: 16px;
    color: #fff;
}
.sc_small #sc_calendar td div.sc_day_div > a {
    padding: 25px 0 5px;
    font-size: 40px;
    line-height: 10px;
}
.sc_small #sc_calendar td div.sc_day_div > a:not(:first-of-type) {
    padding: 5px 0;
}
.event-search-bar {
    text-align: right;
}
.event-search-bar input[type=text] {
    width: 40%;
}
.event-search-bar i {
    color: #fff;
}

/* ページネーション */
.pagination {
    margin-bottom: 80px;
}
.page-numbers {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    background-color: #343434;
    color: #fff;
    font-size: 16px;
    margin-right: 10px;
}
.page-numbers.current {
    background-color: #fff;
    color: #000;
}

@media only screen and (min-width: 992px) {
    /* 共通パーツ */
    .link_btn {
        display: flex;
        justify-content: space-evenly;
    }

    /* top */
    .top_mv img {
        max-width: 677px;
    }

    /* contact */
    .btn_flex {
        display: flex;
        justify-content: space-evenly;
    }

    /* ニュースリスト */
    .news_list article .ttl {
        flex: 1;
    }
    
    /* アーティスト詳細 */
    .artists-wrap {
        display: flex;
    }
    .prof-main {
        flex: 1;
    }
    .prof-side {
        width: 370px;
        margin-left: 90px;
    }

    /* お問い合わせ */
    .contact_box.confirm dt.txt {
        padding: 28px 20px;
    }
}
@media only screen and (max-width: 991px) {
    /* 共通パーツ */
    .pt70 {
        padding: 40px 0;
    }
    .pt200 {
        padding: 60px 0;
    }
    .pt300 {
        padding: 80px 0;
    }
    a.btn_more {
        width: 160px;
        margin: 40px 0 0 auto;
        font-size: 16px;
        padding-left: 16px;
    }
    a.btn_more::before {
        width: 24px;
    }
    
    .blog .site-body,
    .single-post .site-body,
    .archive .site-body {
        padding-top: 60px;
    }

    /* 見出し */
    h2.main_ttl {
        font-size: 36px;
        margin: 0 0 40px;
    }
    h2.main_ttl > span {
        font-size: 12px;
    }
    h3 {
        font-size: 20px;
        margin-bottom: 16px;
    }

    /* イベントリスト */
    .event-search-bar {
        padding: 0 15px;
    }
    .sugar-calendar-block__controls__right__settings {
        width: 100%;
    }
    .event-search-bar .event-search-bar input[type=text] {
        width: 60%;
    }
    .event_list .event_box {
        flex-wrap: wrap;
    }
    .event_list .event_box .event_date {
        flex-direction: row;
        align-items: baseline;
        width: 100%;
        padding: 4px 0 10px;
    }
    .event_list .event_box .event_date .year,
    .event_list .event_box .event_date .dow {
        position: relative;
        font-size: 12px;
        margin-right: 10px;
    }
    .event_list .event_box .event_date .year::after {
        position: relative;
        content: "/";
        left: 5px;
    }
    .event_list .event_box .event_date .month {
        position: relative;
        font-size: 18px;
        margin: 0 10px 0 0;
    }
    .event_list .event_box .event_date .month::after {
        position: relative;
        content: "/";
        left: 5px;
    }
    .event_list .event_box .event_date .day {
        font-size: 22px;
        padding-bottom: 0;
        margin-right: 10px;
    }
    .event_list .event_box .event_date .day::after {
        content: unset;
    }
    .event_list .event_box .event_date .dow::before {
        position: relative;
        content: "[";
        left: -5px;
    }
    .event_list .event_box .event_date .dow::after {
        position: relative;
        content: "]";
        right: -5px;
    }
    .event_list .event_box .event_date .time {
        margin-top: 0;
        font-size: 12px;
    }
    .event_list .event_box .event_dtl {
        padding: 16px 20px 10px 10px;
        justify-content: start;
    }
    .event_list .event_box .event_dtl h3 {
        font-size: 14px;
        padding-bottom: 6px;
        margin-bottom: 0;
    }
    .event_list .event_box .event_dtl p {
        font-size: 12px;
        margin: 4px 0 10px;
    }
    .event_list .event_box .event_dtl .other p.artist {
        font-size: 10px;
        margin-right: 5px;
    }
    .event_list .event_box .event_dtl .other p.artist i {
        font-size: 8px;
    }
    .event_list .event_box .event_dtl .other .place {
        margin-right: 0;
    }
    .event_list .event_box .event_img {
        width: 160px;
        padding: 10px 20px 16px 0;
    }

    /* イベント詳細 */
    .events-cat-item a {
        font-feature-settings: "pkna";
        white-space: nowrap;
        display: inline-block;
        width: max-content;
        font-size: 12px;
        padding: 0 10px 0 16px;
        text-align: left;
    }
    .events-cat-item a::before {
        left: 6px;
    }

    /* ニュースリスト */
    .news_list article {
        margin-bottom: 20px;
        flex-wrap: wrap;
    }
    .news_list article .date {
        font-size: 14px;
        width: 80px;
        margin: 0 10px 0 0;
        line-height: 18px;
    }
    .news_list article .cat {
        font-size: 12px;
        width: 100px;
        height: 20px;
        margin-right: 16px;
    }
    .news_list article .cat > a {
        line-height: 18px;
    }
    .news_list article .ttl {
        display: block;
        width: 100%;
        flex-shrink: 0;
        margin: 10px 0 20px;
    }
    .news_list article .ttl a {
        font-size: 14px;
    }
    
    /* 自動取得NewsList */
    .postListText {
        margin-bottom: 40px;
    }
    .postListText_date {
        font-size: 16px;
        line-height: 20px;
    }
    .postListText_singleTermLabel_inner {
        font-size: 12px;
        width: 100px;
        height: 20px;
        line-height: 20px;
    }
    .vk_posts .postListText_title {
        font-size: 14px;
        line-height: 1.75;
        padding: 15px 0 30px;
    }
    .widget_nav_menu>ul li a {
        padding: 5px 8px;
        font-size: 14px;
    }
    .widget_nav_menu>ul li a::before {
        font-size: 16px;
    }

    /* Artist */
    .artist_list .artist_box div {
        height: 120px;
        padding: 0 16px 10px;
    }
    .artist_list .artist_box div h3 {
        font-size: 16px;
    }

    /* link_btn */
    .link_btn > a {
        width: 100%;
        height: 180px;
        margin-bottom: 20px;
    }
    .link_btn > a h3 {
        font-size: 28px;
        margin-bottom: 20px;
    }
    .link_btn > a p {
        font-size: 14px;
    }

    /* contact_area */
    .contact_area {
        margin: 80px auto;
        padding: 40px 0;
        flex-direction: column;
    }
    .contact_area .ttl {
        flex: 1;
    }
    .contact_area .txt {
        flex: 1;
    }
    .contact_area .txt p {
        font-size: 14px;
    }
    .contact_area a.btn_more {
        width: 200px;
        margin-top: 40px;
    }

    /* 下層ページ見出し */
    .page-header {
        height: 260px;
    }
    .page-header h1,
    .page-header-title {
        font-size: 40px;
        letter-spacing: 3px;
    }
    .page-header h1 > span,
    .page-header-title > span {
        font-size: 14px;
        letter-spacing: 0;
        margin-top: 16px;
    }

    /* 下層ページ見出し下ページ内リンク */
    .page_ankerlink {
        height: 50px;
    }
    .page_ankerlink ul {
        flex-wrap: wrap;
    }
    .page_ankerlink ul li a {
        line-height: 50px;
        margin: 0 8px;
        font-size: 14px;
    }

    /* table */
    table th,
    table td {
        padding: 20px 16px;
    }
    table th {
        width: 30%;
    }

    /* flow */
    .flow_design {
        margin-bottom: 60px;
    }
    .flow > li {
        list-style-type: none;
        position: relative;
        padding-left: 50px;
    }
    .flow > li:not(:last-child) {
        padding-bottom: 30px;
    }
    .flow > li .icon {
        width: 60px;
        height: 60px;
        font-size: 24px;
    }
    .flow > li .icon > span {
        font-size: 14px;
    }
    .flow > li:not(:last-child)::before {
        left: 30px;
    }
    .flow > li dl {
        flex-direction: column;
    }
    .flow > li dl dt {
        font-size: 18px;
        padding-left: 25px;
        height: 50px;
        width: 100%;
    }
    .flow > li dl dd {
        font-size: 14px;
        margin-left: 25px;
        height: auto;
    }

    /* 投稿 */
    .entry-meta-data-list--category dd {
        width: 100px;
        margin-left: 20px;
    }
    .entry-meta-data-list--post_tag dd {
        width: 100px;
    }
    article.post {
        margin-bottom: 200px;
    }
    article h1.entry-title {
        font-size: 16px;
        padding-bottom: 30px;
        margin-bottom: 30px;
    }
    article .entry-body {
        padding-bottom: 80px;
        margin-bottom: 60px;
    }

    /* top */
    .top_mv {
        height: 430px;
    }
    .top_mv div {
        position: absolute;
        top: 70%;
        left: 50%;
        transform: translate(-50%,-50%);
        color: #fff;
        font-size: 1.9rem;
    }

    /* ABOUT */
    .message_wrap p {
        font-size: 18px;
        line-height: 1.8;
    }
    .message_wrap p.en {
        font-size: 16px;
        margin-top: 32px;
    }
    .Leadership_wrap .Leadership_box {
        margin-bottom: 80px;
        padding-bottom: 24px;
    }
    .Leadership_wrap .Leadership_box h3 {
        margin-bottom: 40px;
    }
    .Leadership_wrap .Leadership_box p,
    .production_wrap p,
    .management_wrap p {
        font-size: 14px;
        line-height: 1.75;
    }
    .production_wrap .wp-block-columns {
        margin-top: 40px;
    }
    .production_wrap .wp-block-column .txt {
        margin-top: 10px;
        height: 90px;
    }
    .production_wrap .wp-block-column .txt p {
        font-size: 12px;
        line-height: 1.75;
    }
    .production_wrap figure {
        min-height: 200px;
        margin-bottom: 0;
    }
    .management_wrap .wp-block-columns {
        margin-top: 32px;
        margin-bottom: 40px;
    }
    .management_wrap .wp-block-column img {
        width: 100%;
    }
    .management_wrap .wp-block-column p {
        margin-top: 5px;
    }

    /* contact */
    .contact_box {
        margin-top: 40px;
        flex-direction: column;
    }
    .contact_box.confirm {
        margin-bottom: 30px;
    }
    .contact_box dt {
        padding: 10px;
        height: auto;
        line-height: 1.75;
        width: 100%;
        border-bottom: unset;
    }
    .contact_box dd {
        padding: 0 10px 10px;
        height: auto;
        width: 100%;
    }
    .contact_box dt.txt,
    .contact_box dd.txt {
        height: auto;
    }
    .contact_box.confirm dt,
    .contact_box.confirm dd {
        height: auto;
    }
    .privacy-policy {
        height: 220px;
        padding: 16px;
    }
    .privacy-policy h3,
    .privacy-policy p {
        font-size: 14px;
    }
    .privacy-policy__box {
        margin-top: 20px;
    }
    .privacy-policy__head {
        font-size: 14px;
    }
    .contact_wrap .wrapper {
        max-width: 100%;
        margin: 30px auto 20px;
    }
    .privacy-policy ol {
        padding-left: 15px;
    }
    .contact_wrap .wrapper + span {
        margin-bottom: 30px;
    }
    .contact_wrap input[type="button"] {
        margin: 0 auto 20px;
    }
    .contact_wrap input[type="submit"] {
        margin: 0 auto 80px;
    }
    

    /* アーティスト詳細 */
    .artists-eyecatch {
        margin-top: 0;
        margin-bottom: 60px;
        height: 220px;
    }
    header.artists h1 {
        font-size: 20px;
        margin-bottom: 20px;
    }
    header.artists h1 > span {
        font-size: 40px;
    }
    header.artists .category {
        padding: 0 20px;
        margin: 0 auto 40px;
    }
    .prof-main {
        margin-bottom: 60px;
    }
    .sns-list {
        margin-bottom: 60px;
    }
    .sns-list li {
        height: 32px;
        margin: 0 8px 0 0;
    }
    .sns-list li img {
        height: 32px;
    }
    .official_site {
        padding-left: 20px;
    }
    .official_site::before {
        width: 14px;
    }
    

    /* アーティスト一覧 */
    .post-type-archive-artists .site-body-container {
        padding: 0 15px;
    }
    .post-type-archive-artists .post-list {
        padding: 0 15px;
        justify-content: space-between;
    }
    .post-type-archive-artists article {
        width: calc(100% / 2 - 5px);
        margin-right: 0;
        margin-bottom: 40px;
    }
    .post-type-archive-artists article:nth-child(5n) {
        margin-right: 0;
    }
    .post-type-archive-artists article .artists-img {
        margin-bottom: 20px;
    }
    .post-type-archive-artists article .artists-txt .name {
        font-size: 16px;
    }
    .post-type-archive-artists article .artists-txt .category {
        max-width: 90px;
    }

    /* イベントリスト */
    .event_list.all {
        width: calc(100% - 30px);
        margin: 0 auto;
    }
}
@media screen and (min-width:560px) and (max-width: 991px) {
}
@media screen and (max-width:560px) {
    /* イベントリスト */
    .sc_small #sc_event_nav_next {
        text-align: right;
    }
    #sc_calendar * {
        height: 80px;
    }
    #sc_calendar .calendar-row:first-child {
        height: 20px;
    }
    #sc_calendar .sc-table th {
        display: table-cell;
        height: 20px;
    }
    .sc_small #sc_calendar td div.sc_day_div > a {
        height: auto;
    }
}