@charset "UTF-8";
* {
    margin: 0px;
    padding: 0px;
}
body {
    color: #111111;
    font-size: 1.7rem;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 500;
    line-height: 1.6;
}
html {
    scroll-behavior: smooth;
}
a {
    color: #111111;
    text-decoration: none;
}
a:hover {
    outline: none;
}
a.disabled {
    pointer-events: none;
}

/* --------------------------------
 * base
 * -------------------------------- */
html {
    font-size: 62.5%;
}
/* --------------------------------
 * header
 * -------------------------------- */
header.is-animation {
    height: 140px;
    transition: .3s;
    box-shadow: 0px 1px 1px #dddddd;
}
.is-animation .local-nav {
    box-shadow: 0px 1px 1px #dddddd;
}
.is-animation .hd-gl-menus ul.global-nav {
    margin-top: 50px;
}
.is-animation .hd-logo img {
    width: 150px;
}
.is-animation .hd-gl-menus ul.global-nav {
    margin-top: 60px;
}
.is-animation .hd-logo {
    margin: 10px 0 0 54px;
}
.is-animation .hd-gl-menus ul.global-nav a {
    padding: 35px 0 0 0;
}
.is-animation .other-nav {
    top: 10px;
}
.is-animation .hd-gl-menus ul.global-nav li a {
    background-size: 45px 45px !important;
}
header {
    position: fixed;
    top: 0;
    width: 100%;
    min-width: 980px;
    height: 185px;
    background-color: #ffffff;
    z-index: 10;
}
.hd-logo {
    position: absolute;
    margin: 15px 0 0 55px;
    transition: .3s;
}
.hd-logo img {
    width: 240px;
    transition: .3s;
}
.hd-gl-menus ul.global-nav {
    margin-top: 90px;
    padding: 0 20px 5px;
    display: flex;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
    font-size: 1.6rem;
    transition: .3s;
}
.hd-gl-menus ul.global-nav li {
    display: inline-block;
    text-align: center;
    background: url("/common/images/hd-gl-menus_bg.png") no-repeat 100% 100%;
    white-space: nowrap;
}
.hd-gl-menus ul.global-nav li:last-child {
    background: none;
}
.hd-gl-menus ul.global-nav li:nth-child(1), .hd-gl-menus ul.global-nav li:nth-child(2) {
    width: 16%;
}
.hd-gl-menus ul.global-nav li:nth-child(3), .hd-gl-menus ul.global-nav li:nth-child(6) {
    width: 18%;
}
.hd-gl-menus ul.global-nav li:nth-child(4) {
    width: 17%;
}
.hd-gl-menus ul.global-nav li:nth-child(5) {
    width: 15%;
}
.hd-gl-menus ul.global-nav a {
    display: block;
    padding: 60px 0 0 0;
}
.hd-gl-menus ul.global-nav a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    min-width: 70px;
    transition: .3s;
}
.hd-gl-menus ul.global-nav a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #ffcaa7;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
}
.hd-gl-menus ul.global-nav a:hover::after {
    transform: scale(1, 1);
}
.hd-gl-menus ul.global-nav li:nth-child(1) a {
    background: url("/common/images/ic_watch.png") no-repeat 50% 0;
    background-size: 70px 70px;
}
.hd-gl-menus ul.global-nav li:nth-child(2) a {
    background: url("/common/images/ic_call.png") no-repeat 50% 0;
    background-size: 70px 70px;
}
.hd-gl-menus ul.global-nav li:nth-child(3) a {
    background: url("/common/images/ic_try.png") no-repeat 50% 0;
    background-size: 70px 70px;
}
.hd-gl-menus ul.global-nav li:nth-child(4) a {
    background: url("/common/images/ic_consult.png") no-repeat 50% 0;
    background-size: 70px 70px;
}
.hd-gl-menus ul.global-nav li:nth-child(5) a {
    background: url("/common/images/ic_tomo.png") no-repeat 50% 0;
    background-size: 70px 70px;
}
.hd-gl-menus ul.global-nav li:nth-child(6) a {
    background: url("/common/images/ic_aboutPUK.png") no-repeat 50% 0;
    background-size: 70px 70px;
}
.hd-gl-menus ul.global-nav ul {
    display: none;
}
.watch .global-nav li:nth-child(1) a::after, .call .global-nav li:nth-child(2) a::after, .try .global-nav li:nth-child(3) a::after, .consult .global-nav li:nth-child(4) a::after, .tomo .global-nav li:nth-child(5) a::after, .aboutpuk .global-nav li:nth-child(6) a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #ffcaa7;
    transform-origin: center top;
    transform: scale(1, 1);
}
.menu-button {
    display: none;
}
header .other-nav {
    position: fixed;
    right: 30px;
    top: 24px;
    transition: .3s;
}
.other-nav li {
    display: inline;
    margin-right: 20px;
}
.local-nav {
    background: #ffffff;
    font-size: 1.6rem;
    text-align: center;
    white-space: nowrap;
}
.local-nav li {
    display: inline-block;
    margin: 10px 50px;
}
.aboutpuk .local-nav li {
    margin: 10px 20px;
}
.aboutpuk .local-nav li:first-child {
    margin-left: 0;
}
.aboutpuk .local-nav li:last-child {
    margin-right: 0;
}
.local-nav a {
    display: inline-block;
    position: relative;
    padding-left: 15px;
}
.local-nav a:before {
    position: absolute;
    top: .5em;
    left: 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fb9b12;
    border-right: 2px solid #fb9b12;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
    transition-property: all;
    transition: 0.1s linear;
}
_:-ms-input-placeholder, :root .local-nav a::before {
    top: .4em;
}
.local-nav a:hover:before {
    left: .1em;
}
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?ihq7bb');
  src:  url('fonts/icomoon.eot?ihq7bb#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?ihq7bb') format('truetype'),
    url('fonts/icomoon.woff?ihq7bb') format('woff'),
    url('fonts/icomoon.svg?ihq7bb#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-line:before {
    content: "\e900";
}
.icon-line:hover {
    color: #00c300;
}
.icon-facebook:before {
    content: "\ea91";
}
.icon-facebook:hover {
    content: "\ea91";
    color: #4267b2;
}
.icon-instagram:before {
    content: "\ea92";
}
.icon-instagram:hover {
    content: "\ea92";
    color: #e4405f;
}
.icon-twitter:before {
    content: "\e901";
}
.icon-twitter:hover {
    content: "\e901";
    color: #000000;
}
.icon-play:before {
    content: "\e912";
}
.icon-play:hover {
    content: "\e912";
    color: #ff0000;
}
.icon-line, .icon-facebook, .icon-instagram, .icon-twitter, .icon-play {
    font-size: 2.4rem;
    color: #666666;
    vertical-align: middle;
}

header .other-nav04 {
    display: none;
}
header#lp {
    height: 70px;
    box-shadow: 0px 1px 1px #dddddd;
    }
header#lp .hd-logo {
    margin: 10px 0 0 24px;
}
header#lp .hd-logo img {
    width: 150px;
}

/* --------------------------------
 * main
 * -------------------------------- */
main {
    width: auto;
    min-width: 920px;
    padding: 0 60px;
}
/* --------------------------------
 * heading
 * -------------------------------- */
/* --- copyright --- */
.copyright {
    display: block;
    padding-top: 30px;
    padding-bottom: 15px;
    text-align: center;
}
/* --- text --- */
.fs-large {
    font-size: 2.4rem;
}
.fs-small {
    font-size: 1.4rem;
}
.underline {
    text-decoration: underline;
}
/* --- list --- */
.list {
    margin: 1em 0 0 12px;
}
.list li {
    margin-left: 0.7em;
    text-indent: -0.7em;
}
.list li:before {
    position: relative;
    display: inline-block;
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 100%;
    background: #febe79;
    left: -10px;
    top: -2px;
    z-index: 0;
}
/* --- 表示切替 --- */
.sp-only {
    display: none;
}
/* --------------------------------
 * footer
 * -------------------------------- */
footer {
    min-width: 920px;
    margin-top: 3em;
    padding: 40px 60px 30px;
    background: #3e9279;
}
footer .other-nav {
    position: absolute;
    right: 45px;
    margin-top: 30px;
}
footer, footer a, footer .icon-line, footer .icon-facebook, footer .icon-instagram, footer .icon-twitter, footer .icon-line:hover, footer .icon-facebook:hover, footer .icon-instagram:hover, footer .icon-twitter:hover, footer .icon-play:hover {
    color: #ffffff;
}
footer .icon-play {
    color: #ffffff;
}

/* --- other-nav02 --- */
footer .other-nav02 {
    position: absolute;
    margin-top: 30px;
    width: 75%;
}
footer .other-nav02 li {
    display: inline;
    margin-right: 18px;
    white-space: nowrap;
}
/* --- other-nav03 --- */
.other-nav03 {
    display: flex;
    justify-content: space-between;
    margin: 0 -23px;
}
.other-nav03 p {
    margin: 0 22px;
}
.other-nav03 img {
    width: 100%;
}
/* --- address copyright --- */
footer address {
    padding: 100px 0 0;
    text-align: center;
}
footer small {
    display: block;
    font-size: 1.4rem;
    text-align: center;
}

.page-top {
    float: right;
    padding-right: 10px;
}
.page-top a {    
    display: block;
    margin: -60px 10px 0;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: url("/common/images/pagetop_arrow.svg") no-repeat 50% 45% #fcdd51;
    background-size: 35px;
    text-indent: -9999px;
    transition: all 300ms 0s ease;
}
.page-top a:hover {
    background-position: 50% 35%;
}
    


/* --------------------------------
 * main マージン
 * -------------------------------- */
main {
    margin: auto;
}
main p {
    margin-top: 1.8em;
}
main p.no-margin, main .no-margin {
    margin-top: 0 !important;
}
main p.margin-small, main .margin-small {
    margin-top: 1em !important;
}
main p.margin-large, main .margin-large {
    margin-top: 3em !important;
}

/* --------------------------------
 * 共通パーツ
 * -------------------------------- */
/* --- パンくず --- */
.breadcrumb {
    margin-top: -1px;
    padding: 10px 60px 0;
    background: #ffffff;
}
.breadcrumb li {
    display: inline;
}
.breadcrumb li:before {
    content: "> ";
    font-size: 1.7rem;
}
.breadcrumb li:first-child:before {
    content: none;
}
/* --- h1 --- */
.heading-01 h1 {
    height: 220px;
    padding-top: 100px;
    text-align: center;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
    font-style: normal;
    font-size: 5.5rem;
    line-height: 1.2;
    color: #ffffff;
    margin: 200px 0 0 0; /* --- 上からの距離 --- */
    background: url("/common/images/h1_bg02.png") repeat-x 50% 100%;
    text-shadow: 0px 0px 5px #666666;
    font-feature-settings: "palt";
    letter-spacing: 0.3rem
}
.heading-01 span {
    padding: 0 35px;
    background: url("/common/images/h1_bg.svg") no-repeat left 85%, url("/common/images/h1_bg.svg") no-repeat right 85%;
}
.heading-01 span.subtitle {
    display: block !important;
    font-size: 2.3rem;
    font-weight: normal;
    background: none;
    letter-spacing: 0 !important;
}
.heading-01 span.no-decoration {
    background: none;
}
/* --- 上からの距離 --- */
.aboutpuk .heading-01 h1, .try .heading-01 h1, .consult .heading-01 h1 {
    margin: 220px 0 0 0;
}
.heading-01 {
    background: url("/images/heading_com.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-watch {
    background: url("/images/watch/heading_com.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-call {
    background: url("/images/call/heading_com.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-try {
    background: url("/images/try/heading_com.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-consult {
    background: url("/images/consult/heading_com.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-tomo {
    background: url("/images/tomo/heading_com.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-aboutPUK {
    background: url("/images/aboutPUK/heading_com.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-news {
    background: url("/images/news/heading_com.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-contact {
    background: url("/images/contact/heading_com.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-access {
    background: url("/images/access/heading_com.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-consult-make {
    background: url("/images/consult/heading_make.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-consult-theater {
    background: url("/images/consult/heading_theater.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-try-workshop {
    background: url("/images/try/heading_workshop.jpg") no-repeat 50% 50%;
    background-size: cover;
}
.heading-01.hd-try-school {
    background: url("/images/try/heading_school.jpg") no-repeat 50% 50%;
    background-size: cover;
}
/* --- h2 --- */
.heading-02 h2,
h2.heading-02{
    padding-top: 2em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
    font-size: 3.6rem;
    line-height: 1.4;
    text-align: center;
}
.heading-02 span,
h2.heading-02 span {
    display: inline-block;
    padding: 7px 20px 8px;
    background: #ffffff;
    border-top: solid 2px #3e9279;
    border-bottom: solid 2px #3e9279;
}
.heading-02 + .column-media {
    margin-top: 2em;
}
.heading-02 a {
    display: inline-block;
    position: relative;
    padding-left: 25px;
}
.heading-02 a:before {
    position: absolute;
    top: .7em;
    left: 0;
    width: 12px;
    height: 12px;
    border-top: 5px solid #fb9b12;
    border-right: 5px solid #fb9b12;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
    transition-property: all;
    transition: 0.1s linear;
}
.heading-02 a:hover:before {
    left: .1em;
}
/* --- h3 --- */
.heading-03 h2, .heading-03 h3 {
    margin-top: 2em;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.4;
}
.heading-03 h2:before, .heading-03 h3:before {
    content: "";
    border-left: solid 10px #97d270;
    border-radius: 5px;
}
_:-ms-lang(x), .heading-03 h2:before,
_:-ms-lang(x), .heading-03 h3:before {
    border-radius: 0;
}
.heading-03 h2, .heading-03 h3 {
    padding-left: 0.7em;
    text-indent: -0.7em;
}
.heading-03 h2 span, .heading-03 h3 span {
    margin-left: 10px;
}
/* --- リード --- */
.lead {
    margin-top: 1em;
}
.lead .inner {
    width: 660px;
    margin: auto;
    padding: 0 100px 0 160px;
    background-image: url(/common/images/lead_bg_chibi.png), url(/common/images/lead_bg_pu-kichi.png);
    background-size: 90px 97px, 100px 125px;
    background-repeat: no-repeat, no-repeat;
    background-position: 5% 95%, 97% bottom;
    text-align: left;
}
.lead p {
    display: inline-block;
    width: auto;
    min-width: 500px;
    margin: 0 30px;
    padding: 60px 10px 70px 30px;
    background: url(/common/images/lead_bg_top.svg) no-repeat 50% 0, url(/common/images/lead_bg_bottom.svg) no-repeat 50% 100%;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
    color: #28aa00;
}
.lead02 {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
    text-align: center;
    color: #28aa00;
}
/* --- アンカー --- */
.anc-heading {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
    font-size: 3rem;
    text-align: center;
}
.anc {
    margin-top: 3em;
    text-align: center;
    font-size: 2rem;
}
.anc li {
    display: inline;
    margin: 0 20px;
    padding-left: 25px;
}
.anc a {
    display: inline-block;
    position: relative;
    padding-left: 20px;
}
.anc a:before {
    position: absolute;
    top: .4em;
    left: 0;
    width: 8px;
    height: 8px;
    border-top: 3px solid #fb9b12;
    border-right: 3px solid #fb9b12;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    content: "";
    transition-property: all;
    transition: 0.1s linear;
}
_:-ms-input-placeholder, :root .anc a:before {
    top: .3em;
}
.anc a:hover:before {
    top: .55em;
}
_:-ms-input-placeholder, :root .anc a:hover:before {
    top: .4em;
}
/* --- アイコン付きリンク --- */
.ic-link {
    display: inline-block;
    position: relative;
    padding-left: 20px;
}
.ic-link:before {
    position: absolute;
    top: .4em;
    left: 0;
    width: 8px;
    height: 8px;
    border-top: 3px solid #fb9b12;
    border-right: 3px solid #fb9b12;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
    transition-property: all;
    transition: 0.1s linear;
}
_:-ms-input-placeholder, :root .ic-link::before {
    top: .3em;
}
a.ic-link:hover:before {
    left: .1em;
}
span.ic-pdf:after, a.ic-pdf:after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 15px;
    background: url(/common/images/ic_pdf.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
}
/* --- テキストリンク --- */
.inline-link {
    text-decoration: underline;
}
/* ----- リスト ----- */
.list-note {
    margin-top: 1em;
}
.list-note > li:before {
    content: "※";
}
.list-note > li {
    margin-left: 1em;
    text-indent: -1em;
}
/* --- 位置 --- */
.gp-al-left {
    text-align: left;
}
.gp-al-center {
    text-align: center;
}
.gp-al-right {
    text-align: right;
}
.gp-al-center-pc {
    text-align: center;
}
/* --- みたい・よびたい　演目リンク --- */
.program-box {
    margin-top: 2em;
}
.program-box h3 {
    position: relative;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
    font-size: 3rem;
    line-height: 1.4;
    z-index: 1;
}
.program-box-inner {
    display: flex;
    flex-direction: row-reverse;
    margin-top: 10px;
}
.program-box-text {
    width: 50%;
    padding: 2em 40px 50px 5%;
    margin-left: -30px;
    margin-top: -30px;
    margin-bottom: -30px;
    background: #faffda;
    transition: 0.3s linear;
}
.program-box-img {
    width: 50%;
    z-index: 1;
}
.program-box-img img {
    border: solid 3px #fe7070;
    box-sizing: border-box;
    height: auto;
}
.program-box .outline {
    margin-top: 1.5em;
    padding-top: 0.5em;
    border-top: solid 1px #cccccc;
}
.program-box .outline dt {
    margin-top: 10px;
}
.program-box .outline dd {
    margin: -2.7rem 0 0 6em;
    text-indent: -1.3em;
}
.program-box .outline dd:before {
    content: "： ";
}
.program-box .program-box-detail {
    margin-top: 1em;
}
.button-box {
    display: flex;
    margin: -45px 0 0 50%;
}
.button-box li {
    width: 50%;
    padding: 10px;
    text-align: center;
    white-space: nowrap;
}
.button-box .button-detail {
    display: inline-block;
}
.button-box .button-detail span, .button-box .button-detail a {
    padding: 17px 30px 18px 35px;
}
_:-ms-input-placeholder, :root .button-box .button-detail span, _:-ms-input-placeholder, :root .button-box .button-detail a {
    padding: 18px 30px 14px 35px;
}
.button-box .button-detail span:hover, .button-box .button-detail a:hover {
    padding-left: 45px;
    padding-right: 40px;
}
/* --- ボタン --- */
.button-detail {
    text-align: center;
}
.button-detail {
    margin-top: 3em;
}
.button-detail span, .button-detail a {
    padding: 17px 50px 18px 50px;
    background: #65b200;
    color: #ffffff;
    transition: 0.1s linear;
    border-radius: 30px;
}
_:-ms-input-placeholder, :root .button-detail span, _:-ms-input-placeholder, :root .button-detail a {
    padding: 18px 50px 14px 50px;
}
.button-detail span:before, .button-detail a:before {
    padding-right: 10px;
    content: "";
    display: inline-block;
    content: url("/common/images/arrow_white.svg");
    transition-property: all;
    transition: 0.1s linear;
}

.button-detail span:hover, .button-detail a:hover {
    padding-left: 60px;
    padding-right: 55px;
}
.button-detail span:hover:before, .button-detail a:hover:before {
    padding-right: 5px;
}

.movie-block .button-detail a:before {
    transform: scale(-1, 1);
    padding-right: 0;
    padding-left: 10px;
}
.movie-block .button-detail {
    padding-top: 40px;
    border-top: solid 1px #cccccc;
    }


/* --- 扉ページリンク --- */
.index-links {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.index-links li {
    margin-top: 2em;
}
.index-links.item2 li {
    width: 47%;
}
.index-links.item3 li {
    width: 30%;
}
.index-links a {
    display: block;
}
.index-links a span {
    padding-left: 20px;
    background: url("/common/images/arrow.svg") no-repeat 0 50%;
    font-size: 2.4rem;
    font-weight: bold;
    transition-property: all;
    transition: 0.1s linear;
}
.index-links a:hover span {
    background: url("/common/images/arrow.svg") no-repeat 2% 50%;
}
/* --- image-set --- */
.image-set {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-top: 2em;
}
[class*="column-media"] > .column_image > .image-set + .image-set {
    margin-top: 1em;
}
.image-set.gp-al-left {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}
.image-set.gp-al-right {
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}
.image-set:not(.gp-al-left):not(.gp-al-right) .image_inner {
    text-align: center;
}
[class*="column-layout"] > .column_item > .image-set .image_inner, [class*="column-media"][data-media-size] > .column_image > .image-set .image_inner {
    -webkit-flex: 1;
    flex: 1;
}
.image-set .image_inner > *:first-child {
    margin-top: 0 !important;
}
.image-set.is-multi .image_inner {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
}
[data-browser="ie11"] .image-set .image_inner {
    flex: 0 1 auto;
    min-width: 1px;
}
.image-set .image_inner > a {
    display: block;
}
.image-set.is-multi .image_inner > img + img {
    margin-left: 5px;
}
.image-set .image_inner [class^="text-title"] {
    margin-bottom: .5em;
}
.image-set .image_caption {
    margin-top: 0;
    font-size: 1.4rem;
    text-align: center;
}
/* --- table --- */
.table01, .table02,
.table-box01 table, .table-box02 table {
    width: 100%;
    margin-top: 2em;
    border-bottom: solid 1px #cccccc;
    border-left: solid 1px #cccccc;
}
.heading-03 + .table01, .heading-03 + .table02 {
    margin-top: 1em;
}
.table01 th, .table02 th{
    background-color: #effad7;
    font-weight: bold;
}
.table01 th, .table01 td,
.table-box01 table th, .table-box01 table td {
    padding: 8px 20px;
    border-right: solid 1px #cccccc;
    border-top: solid 1px #cccccc !important;
    text-align: center;
}
.table02 th, .table02 td,
.table-box02 table th, .table-box02 table td{
    padding: 8px 20px;
    border-right: solid 1px #cccccc;
    border-top: solid 1px #cccccc !important;
}
.table01.table-price tr:hover,
.table-box01.table-price tr:hover{
    background: #f1f1f1;
    font-weight: bold;
}

.tablepress tfoot th, .tablepress thead th {
    background: #effad7 !important;
    }
.tablepress tbody td {
    vertical-align: middle !important;
    }


/* --- 関連リンク・お問い合わせ・コラム --- */
.box01 {
    margin: 2em 60px 0;
    padding: 25px 30px;
    border: solid 10px #faebd7;
}
.box01 h3 {
    font-weight: bold;
}
.box01 h3.related-link, .box01 h3.contact, .box01 h3.column {
    font-weight: bold;
    padding: 6px 0 6px 48px;
}
.box01 h3.related-link {
    background: url(/common/images/ic_link.svg) no-repeat 0 50%;
    background-size: 40px 40px;
}
.box01 h3.contact {
    background: url(/common/images/ic_mail.svg) no-repeat 0 50%;
    background-size: 40px 40px;
}
.box01 h3.column {
    background: url(/common/images/ic_pen.svg) no-repeat 0 2px;
    background-size: 40px 40px;
}
.box01 ul {
    padding-left: 30px;
}
.box01 li {
    margin-top: 10px;
}
.box01 li span {
    display: block;
    padding-left: 1em;
}
.box01.box-contact {
    padding: 25px 30px 50px;
}
.box01.box-contact p {
    margin-top: 0;
}
/* --- タブ --- */
.tab {
    overflow: hidden;
}
.tab li {
    cursor: pointer;
}
.tab li.select {
    font-weight: bold;
}
.tab-hide {
    display: none;
}

/* --------------------------------
 * img
 * -------------------------------- */
main img {
    width: 100%;
    height: auto;
    transition: 0.2s linear;
}
main a:hover img {
    opacity: 0.7;

    transition-property: all;
    transition: 0.2s linear;
}
/* --------------------------------
 * section
 * -------------------------------- */
main section {
    clear: both;
}
/* --------------------------------
 * text テキスト装飾
 * -------------------------------- */
.f-bold {
    font-weight: bold;
}
.f-orange {
    color: #fb9b03;
    }

/* --------------------------------
 * トップ
 * -------------------------------- */
/* --- bxslider --- */
.top .bx-wrapper {
    position: relative;
    margin-bottom: 60px;
    padding: 0;
    *zoom: 1;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
}
.top .bx-wrapper img {
    max-width: 100%;
    display: block;
}
.top .bxslider {
    position: absolute;
    top: 183px;
    margin: 0;
    padding: 0;
    z-index: 0;
}
.top .bxslider div {
    width: 100%;
    height: 825px;
}
.bxslider div.slide01 {
    background: url("/images/top/slider_img01.jpg") no-repeat center center;
    background-size: 100% 100%;
    background-size: cover;
}
.bxslider div.slide02 {
    background: url("/images/top/slider_img02.jpg") no-repeat center center;
    background-size: 100% 100%;
    background-size: cover;
}
.bxslider div.slide03 {
    background: url("/images/top/slider_img03.jpg") no-repeat center center;
    background-size: 100% 100%;
    background-size: cover;
}
.bxslider div.slide04 {
    background: url("/images/top/slider_img04.jpg") no-repeat center center;
    background-size: 100% 100%;
    background-size: cover;
}
.bxslider div.slide05 {
    background: url("/images/top/slider_img05.jpg") no-repeat center center;
    background-size: 100% 100%;
    background-size: cover;
}
.bx-viewport {
    /*fix other elements on the page moving (on Chrome)*/
    -webkit-transform: translatez(0);
}
.bx-wrapper .bx-controls-direction a {
    position: absolute;
    text-indent: -9999px;
}
/* --- メイン --- */
.top main {
    padding: 0;
}
.top-main-txt {
    position: absolute;
    height: 650px;
    top: 180px;
    width: 100%;
    background: url("/common/images/h1_bg01.png") repeat-x 50% 0, url("/common/images/h1_bg02.png") repeat-x 50% 100%;
    z-index: 1;
}
.top-main-txt p {
    padding: 120px 0 0 0;
    line-height: 6rem;
    font-size: 2rem;
    text-align: left;
}
.top-main-txt span {
    padding: 10px 10px 10px 20px;
    background: #ffffff;
    opacity: 0.8;
}
_:-ms-input-placeholder, :root .top-main-txt span {
    padding: 11px 10px 7px 20px;
}
.latestPerformance {
    position: absolute;
    right: 45px;
    margin-top: -310px;
    z-index: 3;
}
.latestPerformance a {
    display: block;
    width: 270px;
    height: 210px;
    margin: 10px;
    padding-top: 60px;
    background: url("/images/top/latest_arrow.svg") no-repeat 50% 85% #fcdd51;
    background-size: 80px 60px;
    border-radius: 50%;
    text-align: center;
    transition: all 300ms 0s ease;
}
.latestPerformance a:hover {
    background: url("/images/top/latest_arrow.svg") no-repeat 50% 90% #fce57e;
    background-size: 80px 60px;
}
.latestPerformance .title {
    font-size: 2.4rem;
    font-weight: bold;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
}
.latestPerformance .titleLong {
    display: block;
    width: 250px;
    margin: auto;
    font-size: 2rem;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
    line-height: 1.2;
}
.latestPerformance a:hover {
    width: 280px;
    height: 215px;
    padding-top: 65px;
    margin: 5px;
}
/* --- お知らせ・Instagram・なんちゃって劇場　共通--- */
.update-box {
    display: flex;
    padding: 0 60px;
}
.update-box h2 {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
    font-style: normal;
    font-size: 2.4rem;
}
.update-box p {
    margin-top: 0.5em;
    text-align: right;
}
/* --- お知らせ --- */
.update-box .news {
    width: 31%;
}
.update-box.eng .news {
    width: 50%;
}
.update-box.eng .news .cat {
    display: none;
}

.update-box .news dl a {
    text-decoration: underline;
}
.update-box .news dl {
    margin-top: 1.4em;
}
.update-box .cat {
    display: inline-block;
    min-width: 60px;
    margin-right: 10px;
    padding: 3px 10px 2px;
    font-size: 1.4rem;
    text-align: center;
    vertical-align: baseline;
    border: solid 1px #c7c7c7;
}
_:-ms-input-placeholder, :root .update-box .cat {
    padding: 6px 10px 0;
    font-size: 1.4rem;
    vertical-align: baseline;
}
.update-box .news dd {
    margin-top: 0.5em;
}
/* --- Instagram --- */
.update-box .instagram {
    width: 37%;
    margin: 0 4%;
}
.update-box.eng .instagram {
    width: 50%;
}
.update-box .instagram h2 {
    margin-bottom: 0.7em;
}
.update-box p.sbi_bio {
    text-align: left;
}
#sb_instagram .sb_instagram_header .sbi_header_text {
    padding-top: 0 !important;
}
#sb_instagram br:last-of-type {
    display: inherit !important;
}

/* --- なんちゃって劇場 --- */
.update-box .nanchatte {
    width: 24%;
    text-align: center;
}
.update-box .nanchatte .manga-latest {
    height: 400px;
    background-size: cover !important;
    background-position: top;
    text-indent: -9999px;
}
.update-box .nanchatte h2 img {
    max-width: 300px;
}
/* --- みたい・よびたい --- */

.top-program-list {
    margin-top: 100px;
    padding-bottom: 60px;
}
.top-program-list.watch {
    background: #fcf9d7;
}
.top-program-list.call {
    margin-top: 150px;
    background: #fdefdf;
}
.top-program-list h2 {
    position: absolute;
    width: 100%;
    margin-top: -65px;
    _margin-top: -205px;
    _padding-top: 140px;
    font-size: 2rem;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
}
.top-program-list h2 span {
    font-size: 5rem;
    text-shadow: 1px 0 0 #fff, 1px 1px 0 #fff, 0 1px 0 #fff, -1px 1px 0 #fff, -1px 0 0 #fff, -1px -1px 0 #fff, 0 -1px 0 #fff, 1px -1px 0 #fff;
}
.top-program-list.watch h2 span {
    padding: 0 30px;
    background: url("/images/top/h2_bg01.svg") no-repeat left 85%, url("/images/top/h2_bg01.svg") no-repeat right 85%;
    color: #fb9b03;
}
.top-program-list.call h2 span {
    padding: 0 30px;
    background: url("/images/top/h2_bg02.svg") no-repeat left 85%, url("/images/top/h2_bg02.svg") no-repeat right 85%;
    color: #fb2003;
}
.top-program-list > p {
    padding: 70px 0 0 30px;
    text-align: center;
}
.top-program-list .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 30px 60px 0;
    line-height: 1.5;
}
.top-program-list .inner.item2 a {
    display: flex;
    flex-direction: column;
    width: 47%;
}
.top-program-list .inner.item3 a {
    display: flex;
    flex-direction: column;
    width: 30%;
}
.top-program-list .inner.item4 a {
    display: flex;
    flex-direction: column;
    width: 23%;
}
.top-program-list .inner a {
    border: solid 5px #ffffff;
    background: #f1f1f1;
    background-size: cover !important;
    background-position: 50% 50% !important;
    transition-property: all;
    transition: 0.2s linear;
}
.top-program-list h3 {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
}
.top-program-list p.date {
    margin-top: 12px;
    font-size: 1.4rem;
}
.top-program-list p.overview {
    margin: 10px 0 0 0;
}
.top-program-list .program-content {
    margin-top: auto;
    padding: 10px 15px;
    background: rgba(255, 255, 255, 0.9);
    transition-property: all;
    transition: 0.2s linear;
}
.top-program-list a:hover .program-content {
    background: #fff;
}
.top-program-list .inner a:hover {
    opacity: 0.8;
}
.top-program-list section {
    padding-top: 200px;
    margin-top: auto;
}
.top-program-list .scale {
    font-size: 1.4rem;
    font-weight: bold;
}
.top-program-list .button-detail {
    width: 100%;
    position: absolute;
    margin-top: 45px;
}
/* --- やってみたい　相談したい　友の会　くわしくプーク --- */
.top-other-link {
    margin-top: 4em;
    padding: 30px 60px;
}
.top-other-link a {
    display: block;
}
.top-other-link h3 {
    position: relative;
    display: inline-block;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-weight: bold;
    font-size: 2.4rem;
}
.top-other-link h3:before {
    position: absolute;
    top: .8em;
    right: -20px;
    width: 12px;
    height: 12px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
    transition-property: all;
    transition: 0.1s linear;
}
.top-other-link a:hover h3:before { /* やってみたい矢印色 */
    right: -24px;
}
.top-other-link h3 span {
    padding: 5px 10px;
    text-shadow: 1px 0 0 #fff, 1px 1px 0 #fff, 0 1px 0 #fff, -1px 1px 0 #fff, -1px 0 0 #fff, -1px -1px 0 #fff, 0 -1px 0 #fff, 1px -1px 0 #fff;
    white-space: nowrap;
}
.top-other-link section:nth-child(1) h3:before { /* やってみたい矢印色 */
    border-top: 4px solid #339ac6;
    border-right: 4px solid #339ac6;
}
.top-other-link section:nth-child(2) h3:before { /* 相談したい矢印色 */
    border-top: 4px solid #82cfd4;
    border-right: 4px solid #82cfd4;
}
.top-other-link section:nth-child(3) h3:before { /* 友の会矢印色 */
    border-top: 4px solid #ffb100;
    border-right: 4px solid #ffb100;
}
.top-other-link section:nth-child(4) h3:before { /* くわしくプーク矢印色 */
    border-top: 4px solid #f63019;
    border-right: 4px solid #f63019;
}
.top-other-link section:nth-child(1) h3 span { /* やってみたいマーカー色 */
    background: linear-gradient(transparent 65%, #339ac6 60%);
}
.top-other-link section:nth-child(2) h3 span { /*相談したいマーカー色 */
    background: linear-gradient(transparent 65%, #82cfd4 60%);
}
.top-other-link section:nth-child(3) h3 span { /* 友の会マーカー色 */
    background: linear-gradient(transparent 65%, #ffc133 60%);
}
.top-other-link section:nth-child(4) h3 span { /*くわしくプークマーカー色 */
    background: linear-gradient(transparent 65%, #f85c4a 60%);
}
.top-other-link p {
    margin: 1em 20px 0 0;
}
_:-ms-lang(x), .top-other-link .column_item:last-child {
    margin-right: -1px;
}
/* --------------------------------
 * よびたい
 * -------------------------------- */
.top-program-list.call-index {
    margin: 0;
    padding: 0;
}
.top-program-list.call-index .inner {
    margin: 0 -1%;
    padding: 30px 0 0;
    justify-content: flex-start;
}
.top-program-list.call-index .inner.item3 a {
    margin: 0 1%;
}
.top-program-list.call-index .program-content {
    padding-bottom: 20px;
}


/* --------------------------------
 * くわしくプーク
 * -------------------------------- */
/* --- プークについて ABOUT --- */
.about-puk li {
    margin-top: 1.8em;
    margin-left: 1em;
    text-indent: -1em;
}
.about-puk li:before {
    content: "★";
    color: #ff4444;
}
/* --- 地図詳細　住所など --- */
.map-detail {
    display: flex;
    text-align: left;
}
.map-detail dl {
    width: 55%;
}
.map-detail dl dt {
    margin-top: 10px
}
.map-detail dl dd {
    margin: -1.6em 0 0 6em;
}
.map-detail div {
    width: 45%;
    margin-top: 10px;
}

/* --------------------------------
 * スケジュール
 * -------------------------------- */
.cal_wrapper {
    max-width: 800px; /* 最大幅 */
    margin: 2.0833% auto;
}
.googlecal {
    position: relative;
    padding-bottom: 80%; /* 縦横比 */
    height: 0;
    overflow: hidden;
}
.googlecal iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
/* --------------------------------
 * お問い合わせ
 * -------------------------------- */
/* --- headging --- */
.heading-contact {
    text-align: center;
    font-size: 3rem;
}
/* --- form --- */
.contact-form {
    margin-top: 3em;
    padding: 0 30px;
    text-align: left;
}
.contact-form table, .contact-form tr, .contact-form th, .contact-form td {
    width: 100%;
    text-align: left;
}
.contact-form th {
    width: 30%;
    padding: 2.3em 1em 0 0;
    font-weight: bold;
    vertical-align: top;
}
.contact-form td {
    padding: 1.5em 0 0 0;
}
.contact-form input[type="text"], .contact-form input[type="email"], .contact-form input[type="tel"], .contact-form textarea {
    width: 100%;
    margin: 0 0;
    padding: 15px;
    background: #f1f1f1;
    border: none;
    border-radius: 5px;
    font-size: 1.8rem;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.contact-form .wpcf7-list-item {
    display: block;
    margin-top: 0.8em;
}
.contact-form .wpcf7-list-item.first {
    margin-top: 1.5em;
}
.wpcf7-not-valid-tip {
    color: #cc0000 !important;
}
div.wpcf7-validation-errors {
    border: none !important;
    color: #cc0000;
}
div.wpcf7-mail-sent-ok {
    border: none !important;
}
.contact-form .required {
    margin-left: 10px;
    padding: 4px 5px 3px 10px;
    background: #cc0000;
    font-size: 1.2rem;
    color: #ffffff;
    letter-spacing: 0.5em;
    vertical-align: middle;
    display: inline-block;
}
form.wpcf7-form {
    margin-top: -100px;
    padding-top: 100px;
}
/* --- checkbox --- */
input[type="checkbox"] {
    display: none;
}
.wpcf7-list-item-label {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
}
.wpcf7-list-item-label::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    background: #f1f1f1;
}
input:checked + .wpcf7-list-item-label {
    font-weight: bold;
}
input:checked + .wpcf7-list-item-label::after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 6px;
    width: 6px;
    height: 12px;
    transform: rotate(40deg);
    border-bottom: 3px solid #484848;
    border-right: 3px solid #484848;
}
.wpcf7-checkbox {
    display: block;
    margin-top: -15px;
}
/* --- 送信ボタン --- */
.submit-button, .buttons-area-confirm {
    margin-top: 3em;
    text-align: center;
}
.contact-form input[type="submit"], .contact-form input[type="button"] {
    margin: 0 30px;
    padding: 17px 48px 16px 54px;
    background-color: #65b200;
    border: none;
    border-radius: 30px;
    color: #ffffff;
    cursor: pointer;
    font-size: 2rem;
}
.contact-form input[type="submit"]:hover, .contact-form input[type="button"]:hover {
    opacity: 0.9;
}
_:-ms-lang(x), .contact-form input[type="submit"], _:-ms-lang(x), .contact-form input[type="button"] {
    padding: 20px 48px 13px 54px;
}
/* --- エラーメッセージ --- */
.wrap-error {
    margin: 1em auto 0;
    text-align: left;
    color: #cc0000;
    font-size: 1.8rem;
}
.error-messages li {
    list-style: none;
}
/* --- 確認画面 --- */
.wpcf7-form-control-wrap-confirm {
    display: block;
    margin: 1em 0 0 30px;
}
.contact-form input[type="button"].button-rewrite {
    background: #8e8e96;
}
.tx-confirm {
    font-size: 2.3rem;
    text-align: center;
}
.tx-confirm h2 {
    font-size: 4.5rem;
}
.tx-confirm p {
    text-align: left;
    font-size: 1.8rem;
}
/* --- 送信完了ページ --- */
.thanks-text {
    padding: 0 0 50px 100px;
}
/* --- IEハック --- */
_:-ms-lang(x), .contact-form .required {
    padding: 5px 5px 1px 10px;
}
_:-ms-lang(x), .contact-form input[type="submit"] {
    padding: 17px 50px 13px 50px;
}
.wpcf7-form-mode-confirm table th span, .wpcf7-form-mode-confirm .txt_edit, .wpcf7-form-mode-confirm .txt_sent, .wpcf7-form-mode-edit .tx-confirm, .wpcf7-form-mode-edit .txt_sent, .sent .tx-confirm, .sent .txt_edit, .sent table, .sent h2 {
    display: none;
}
.sent .txt_sent {
    display: block;
}
div.wpcf7-mail-sent-ok {
    border: none;
    padding: 0;
    margin: 0;
}
/* --- cleafix --- */
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}
/* --------------------------------
 * なんちゃって劇場
 * -------------------------------- */
.manga-box {
    display: flex;
}
.manga-box .manga-box-title {
    width: 30%;
    padding-top: 3.5em;
    text-align: center;
}
.manga-box .tab {
    display: flex;
    flex-wrap: wrap;
}
.manga-box .tab li {
    margin: 10px 0 0 0;
    flex-direction: column;
    width: 50%;
}
.manga-box .manga-box-content {
    width: 65%;
    margin-left: 5%;
}
.manga-box-content .bxslider .bxslider-img-wrap {
    display: flex;
}
.manga-box-content .bxslider .bxslider-img-wrap p {
    width: 50%;
    padding: 5px;
    text-align: center;
}
.manga-box-content p.latest {
    padding: 0 25%;
    text-align: center;
}
.manga-content .bx-pager {
    text-align: center;
}
.manga-content .bx-pager-item {
    text-indent: -9999px;
    }
.manga-content .bx-pager-item {
    display: inline;
}
.manga-content .bx-pager-item a {
    display: inline-block;
    margin: 0 5px;
    padding: 8px !important;
    border: solid 1px #65b200;
    color: #65b200;
    border-radius: 50%;
    font-size: 0;
}
.manga-content .bx-pager-item a:hover, .manga-content .bx-pager-item a.active {
    display: inline-block;
    margin: 0 5px;
    padding: 0 12px;
    border: solid 1px #65b200 !important;
    border-radius: 50%;
    background: #65b200;
    color: #ffffff;
}

/* --------------------------------
 * サイトマップ
 * -------------------------------- */
.sitemap-box .heading-02 h2 {
    padding-top: 0;
    font-size: 3rem;
    text-align: left;
}
.sitemap-box .heading-02 span {
    display: block;
    border-top: none;
    border-bottom: none;
    border-bottom: solid 1px #c7c7c7;
}
.sitemap-box ul {
    margin: 1em 0 0 1.8em;
}
.sitemap-box ul li {
    margin-top: 10px
}
.heading-02 a {
    display: inline-block;
    position: relative;
    padding-left: 25px;
}
.heading-02 a:before {
    position: absolute;
    top: .4em;
    left: 0;
    width: 12px;
    height: 12px;
    border-top: 5px solid #fb9b12;
    border-right: 5px solid #fb9b12;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
    transition-property: all;
    transition: 0.1s linear;
}
.heading-02 a:hover:before {
    left: .1em;
}

/* --------------------------------
 * みたい・よびたい詳細ページ
 * -------------------------------- */
 
 /* --- タイトル --- */
.detail-common-title-box {
    margin-top: 2em;
    font-size: 2rem;
    text-align: center;
}
.detail-common-title-box .inner {
    min-height: 140px;
    display: inline-block;
    padding: 0 120px;
    background-image: url(/common/images/lead_bg_chibi.png), url(/common/images/lead_bg_pu-kichi.png);
    background-size: 90px 97px, 100px 125px;
    background-repeat: no-repeat, no-repeat;
    background-position: 0px 100%, 100% bottom;
}

.detail-common-title-box .scale {
    margin-right: 10px;
    padding: 5px 20px;
    background: #ff5a00;
    color: #ffffff;
}

.detail-common-title-box .title {
    display: block;
    margin-top: -15px;
    padding: 0.8em 0 50px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.1;
    vertical-align: middle;
}
.call-detail .detail-common-title-box .title {color: #ff5a00;}
.watch-detail .detail-common-title-box .title {color: #ff9000;}

 .detail-common-title-box .title span {
    vertical-align: middle;
}
 
/* --- スライダー --- */
.detail-common .bxslider-box {
    position: relative;
    margin: -15px -60px 0;
    padding: 30px 60px 15px;
}
.call-detail .bxslider-box {background: #ffcfb5;}
.watch-detail .bxslider-box {background: #ffe19e;}

.detail-common .bx-wrapper {
  position: relative;
  margin-bottom: 40px;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}
.detail-common .bx-wrapper img {
  max-width: 100%;
  display: block;
  height: 500px;
  object-fit: cover;
    border: solid 5px #ffffff;
    box-sizing: border-box;
}

.detail-common .bx-wrapper .bx-pager,
.detail-common .bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -35px;
  width: 100%;
}

/* PAGER */
.detail-common .bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-family: Arial;
  font-weight: bold;
  color: #ffffff;
  padding-top: 20px;
}
.detail-common .bx-wrapper .bx-pager.bx-default-pager a {
  background: #ffffff;
  text-indent: -9999px;
  display: block;
  width: 18px;
  height: 18px;
  margin: 0 5px;
  outline: 0;
  -moz-border-radius: 9px;
  -webkit-border-radius: 9px;
  border-radius: 9px;
}
.call-detail .bx-wrapper .bx-pager.bx-default-pager a:hover,
.call-detail .bx-wrapper .bx-pager.bx-default-pager a.active,
.call-detail .bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #ff5a00;
}
.watch-detail .bx-wrapper .bx-pager.bx-default-pager a:hover,
.watch-detail .bx-wrapper .bx-pager.bx-default-pager a.active,
.watch-detail .bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #fdb300;
}

.detail-common .bx-wrapper .bx-pager-item,
.detail-common .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}
.detail-common .bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}

/* --- アンカー --- */
.detail-common .anc li {
    margin: 0 0px;
}

/* --- 公演概要 --- */
.detail-common .column-layout {
    margin-top: 0;
    padding-bottom: 2em;
    }
.detail-common .column-layout p,
.detail-common .column-layout ul{
    margin-left: 21px;
    }
.detail-common .column-layout li {
    margin-top: 1em;
    }

/* --- heading-detail01 --- */
.detail-common .heading-02 span {
    border-color: #ffb911;
}

.call-detail .heading-03 h2:before {border-color: #ff5a00;}
.watch-detail .heading-03 h2:before,
.watch-detail .heading-03 h3:before{border-color: #ffb911;}


.detail-common .heading-detail01 {
    margin-top: 4em;
    padding: 12px 10px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif , "";
    line-height: 1.2;
    text-align: center;
}
.detail-common .heading-detail01 h2 {
    padding: 0;
    font-size: 4rem;
    color: #ffffff;
    font-weight: bold;
}

.call-detail .heading-detail01 {background: #ff5a00;}
.watch-detail .heading-detail01 {background: #ff9000;}
   

/* --- あらすじ --- */
.detail-common .column-media img {
    max-width: 400px;
}

.detail-common .column_detail p:nth-child(2) {
    margin-top: 1em;
    padding-top: 1em;
    border-top: solid 1px #cecece;
}
 
/* --- box01 --- */
.detail-common .box01 {
    margin: 3em 0;
}
.detail-common .box01 p {
    margin-top: 0;
}
.detail-common .box-contact .column-layout p {
    margin-left: 0;
    }

/* --- youtube --- */

.detail-common .youtube iframe {
    margin-top: 3em;
    }
.detail-common .youtube {
    max-width: 900px;
    margin: auto auto 20px auto;
}


/* --- パンフレット、下見のご案内のボタン --- */
.detail-common .button-box {
    margin: 0 0 0 0;
}
.detail-common .button-box li {
    width: 50%;
    padding: 0px;
}
.detail-common .button-detail span {
    min-width: 240px;
    display: inline-block;
}

.button-box a.link-pdf span:after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 15px;
    background: url(/common/images/ic_pdf.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
}

/* --- 助成金 --- */
.subsidy img {
    margin: 20px 19px 0;
    width: auto;
    max-width: 180px;
    max-height: 80px;
    vertical-align: middle;
}
.subsidy .heading-03 h2 {
    margin-top: 3em;
    }

/* --- パンフレットのリンクがない場合にボタンを隠す --- */
.detail-common .link-pdf.disabled {
    display: none;
    }

/* --------------------------------
 * 動画コーナー詳細ページ
 * -------------------------------- */

.movie-block h2 {
    margin-top: 1em;
    color: #fb9b03;
    font-size: 4rem;
    font-weight: bold;
    text-align: center;
}

@media print, screen and (min-width: 768px) {
.movie-block .youtube {
    background: #fcf9d7; /* ----- PCのみ背景色 ----- */
    margin-top: 30px;
    margin-left: -30px;
    padding-left: 60px;
}
.movie-block .youtube iframe{
    margin-top: 60px;
    height: 81% !important;
    }
}

/* --------------------------------
 * ポップアップ
 * -------------------------------- */
.popup-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
}

.popup-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  padding: 20px;
  box-shadow: 0 0 10px #333;
  border-radius: 8px;
  text-align: center;
  display: inline-block;
}

.popup-content img {
  max-width: 75vw;  /* 画面の75%を超えない */
  height: auto;
  display: block;
}

.close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 24px;
  color: #fff;
  cursor: pointer;
  background:rgba(0,0,0,0.5);
  border-radius: 50%;
  width: 30px;
  height: 30px;
  line-height: 1.3;
}
.popup-content p {
    margin-top: 15px;
    text-align: left;
    }



@media print, screen and (min-width: 768px) {
    /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
    
    /* ----- data-row-pc ----- */
    [data-row-pc]:not([data-row-pc="1"]) {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
    }
    [data-row-pc="auto"] {
        margin-right: -60px;
        margin-bottom: -.5em;
    }
    [data-row-pc] > * {
        margin-left: 60px;
    }
    [data-row-pc="auto"] > * {
        margin-top: 0 !important;
        margin-right: 60px;
        margin-bottom: .5em;
        margin-left: 0;
    }
    [data-row-pc="2"] > * {
        width: calc((99% - 60px) / 2);
    }
    [data-row-pc="3"] > * {
        width: calc((100% - 120px) / 3 - 0.1px);
    }
    [data-row-pc="4"] > * {
        width: calc((100% - 120px) / 4);
        margin-left: 40px;
    }
    [data-row-pc="5"] > * {
        width: calc((100% - 160px) / 5);
        margin-left: 40px;
    }
    [data-row-pc] > *.is-stretch {
        width: 100%;
    }
    [data-row-pc="4"] > *.is-double {
        width: calc((100% - 40px) / 2);
    }
    [data-row-pc="2"] > *:nth-child(-n+2), [data-row-pc="3"] > *:nth-child(-n+3), [data-row-pc="4"] > *:nth-child(-n+4), [data-row-pc="5"] > *:nth-child(-n+5) {
        margin-top: 0 !important;
    }
    [data-row-pc="1"] > *, [data-row-pc="2"] > *:nth-child(2n+1), [data-row-pc="3"] > *:nth-child(3n+1), [data-row-pc="4"] > *:nth-child(4n+1), [data-row-pc="5"] > *:nth-child(5n+1) {
        margin-left: 0 !important;
    }
   
      
   /* ------------------------------------------------------
   * Element >>> Image
  ------------------------------------------------------ */
    /* ----- image-set ----- */
    .image-set {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        margin-top: 2.5em;
    }
    .image-set.gp-al-left {
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
    }
    .image-set.gp-al-right {
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
    }
    /* for IE11 hack */
    _:-ms-lang(x)::-ms-backdrop, .image-set > .image_inner {
        -webkit-flex: 0 1 auto;
        flex: 0 1 auto;
        min-width: 1px;
    }
    .image-set .image_caption {
        margin-top: .5em;
        text-align: left;
    }
    
    /* ------------------------------------------------------
   * Layout >>> Column
  ------------------------------------------------------ */
    /* ----- column-layout ----- */
    [class*="column-layout"] > [class*="column_item"] > *:first-child, [class*="column-layout"] > [class*="column_item"] > section:first-child > [class*="heading-lv"] {
        margin-top: 0 !important;
    }
    .column-layout {
        margin-top: 2.5em;
    }
    .column-layout > .column_item {
        margin-top: 2em;
    }

     /* ----- column-media ----- */
    [class*="column-media"] > [class*="column_"] > *:first-child, [class*="column-media"] > [class*="column_"] > section:first-child > [class*="heading-lv"] {
        margin-top: 0 !important;
    }
    .column-media {
        margin-top: 2.5em;
    }
    .column-media[data-media-size="1/2"] > .column_image {
        width: calc((100% - 60px) / 2);
    }
    .column-media[data-media-size="1/3"] > .column_image {
        width: calc((100% - 120px) / 3);
    }
    .column-media[data-media-size="1/4"] > .column_image {
        width: calc((100% - 120px) / 4);
    }
    .column-media > .column_image[data-image="right"] {
        float: right;
        margin-left: 60px;
    }
    .column-media > .column_image[data-image="left"] {
        float: left;
        margin-right: 60px;
    }
    .column-media > .column_image[data-image] > .image-set .image_caption {
        margin-bottom: .25em;
    }
    .column-media > .column_detail[data-wraparound="false"] {
        overflow: hidden;
    }
}