body{ 
    margin: 0;
    padding: 0;
    font-family: YakuHanJP, Roboto, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Arial, nc3Jp, sans-serif !important;
    line-height: 1.5;
  }
a {
    cursor: pointer;
    color: #222;
    text-decoration: none;
}
.news-box a {
    color: #222 !important;
}
p {
    margin: 0;
    padding: 0;
}
a:hover{
    opacity:0.7;
    transition-duration:0.2s;
}
hr {
    border-top: 1px solid #ccc;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.bakeobi {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.bakeobi img {
    width: 100vw;
}
img{
    vertical-align: bottom;
}
.testaria {
    background: #333;
}
.base-box a{
    color: #ab020b;    
    text-decoration:underline;
}
.top-base-box a{
    cursor: pointer;
    color: #222;
    text-decoration: none;
}
/*==========================
メンテナンス中
===========================*/
.maintenance-mode {
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    background: #ab020b;
    color: #fff;
    text-align: center;
    position: relative;
}
.maintenance-mode-in {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
}
/*==========================
スケジュール
===========================*/
.wp-block-table table {
    border-collapse:  collapse;     /* セルの線を重ねる */
    font-size: 14px;
    color: #222;
    margin: 0 auto;
    width: 100%;
}
.wp-block-table th,td {
    padding: 10px;
    vertical-align: top;
}
.wp-block-table td:nth-child(3) {
    width: 75%;
}
.wp-block-table tr:nth-of-type(2n-1) td{
    background:  #efefef;
}
/*==========================
WP
===========================*/
.has-vivid-red-color {
    color: #ab020b;
}
.wp-block-column {
    float: left;
}
.wp-block-spacer {
    clear:both;
}
.wp-block-separator {
    border-top: 1px solid #ccc;
    width: 100%;
    margin: 32px 0;
}
.has-small-font-size {
    font-size: 13px;
}
.space-1lh {
    min-height: 1lh;
}


/*==========================
枠
===========================*/
.akawaku {
    font-size: 15px;
    text-align: left;
    width:  calc(100% - 54px);
    margin: 0 auto;
    border: 3px solid #c7000b;
    padding: 32px 24px;
    text-align: center;
    border-radius: 20px;
}
.akawaku-title {
    text-align: center;
    width: 100%;
    font-weight: bold;
}
.campaign_01 {
    background: #c7000b;
    color: #fff;
    padding: 24px;
    border-radius: 16px;
}
.campaign_cp {
    display: block;
    line-height: 140%;
    text-align: left;
    padding: 8px 16px 0;
}

/*==========================
ニュース
===========================*/
.news-spec-left {
    float: left;
    width: 70px;
    padding-top: 3px;
    margin-bottom: 6px;
}
.news-spec-right {
    float: left;
    width: calc(100% - 70px);
    margin-bottom: 6px;
}
/*==========================
ピックアップ
===========================*/
.pickup {
    width: 940px;
    margin: 0 auto 4px;
    color: #222;
}
.pickup-now {
    display: inline-block;
    color: #ab020b;
    border: 1px solid #ab020b;
    width: 80px;
    height: 16px;
    text-align: center;
    margin-right: 10px;
}
.pickup-icon {
    float: left;
    display: block;
    width: 80px;
    height: 16px;
    text-align: center;
    margin-right: 12px;
    margin-bottom: 8px;
}
.pickup-reserve {
    color: #235891;
    border: 1px solid #235891;
}
.pickup-open {
    color: #ab020b;
    border: 1px solid #ab020b;
}
.pickup-oshirase {
    color: #222;
    border: 1px solid #222;
}
.pickup-text {
    float: left;
}
.pickup-time {
    color: #ab020b;
    border: 1px solid #ab020b;
}

/*==========================
float
===========================*/
.float-left {
    float: left;
}
.float-clear {
    clear:both;
}

/*==========================
カラー
===========================*/
.color-red {
    color: #ab020b;
}
.color-kiso {
    color: #3575bb;
}
.color-mera {
    color: #d78700;
}
.color-rabo {
    color: #7768c6;
}
.color-yellow {
    color: #fff202;
}
.color-green {
    color: #63a723;
}



/*==========================
テキスト
===========================*/
.font-30px {
    font-size: 30px;
}
.font-26px {
    font-size: 26px;
}
.font-20px {
    font-size: 20px;
}
.font-18px {
    font-size: 18px;
}
.font-17px {
    font-size: 17px;
}
.font-16px {
    font-size: 16px;
}
.font-14px {
    font-size: 14px;
}
.font-13px {
    font-size: 13px;
}
.font-12px {
    font-size: 12px;
}
.font-bold {
    font-weight: bold;
}
.pg-midashi {
    text-align: center;
}
.txt-mincho {
    font-family: Sawarabi Mincho, serif !important;
    letter-spacing: 2px;
}


/*==========================
ページタイトル
===========================*/
.red-icon {
    width: 10px;
    height: 100%;
    display: inline-block;
    position: relative;
    background: #c7000b;
    margin-right: 4px;
    margin-top: 12px;
}
.pg-title {
    display: inline-block;
    position: relative;
    top: -5px;
}
.pg-title-s {
    display: inline-block;
    position: relative;
    top: -6px;
}
.pg-title-box {
    width:100%;
    height:22px;
    position: relative;
    margin-bottom: 12px;
}

.page-box-w100 {
    width: 100%;
}
.in-box-w5em {
    width: 5em;
    background: #333;
}
.in-box-w60 {
    width: 60%;
}

.in-box-w10 {
    display: inline-block;
    width: 6%;
    height: 1px;
}
.bosyu {
    width: calc(100% - 44px);
    padding: 24px;
    border: 3px solid #ab020b;
    border-radius: 16px;
    margin: 64px 0;
}
.start-txt {
    text-align: center;
    color: #fff;
    background: #c7000b;
    font-size: 26px;
    font-weight: bold;
    height: 40px;
    width: 100%;
    border-radius: 16px;
}
.start-txt-2 {
    text-align: center;
    color: #fff;
    background: #c7000b;
    font-size: 26px;
    font-weight: bold;
    height: 74px;
    width: 100%;
    border-radius: 16px;
    line-height: 120%;
    padding-top: 12px;
}

/*==========================
 講師紹介
===========================*/
.teacher-box {
    margin: 0 -3%;
}
.in-box-w40 {
    width: 44%;
    margin: 0 3%;
}
.pf-box {
    position: relative;
}
.pf-box-in-left {
    position: relative;
    width: 36%;
    margin-right: 4%;
}
.pf-box-in-right {
    position: relative;
    width: 60%;
}
.pf-box-in-left img {
    width: 100%;
}

.pf-bottom {
    margin-bottom: 32px;
}

/*==========================
位置関係
===========================*/
.all-center {
    text-align: center;
}
.all-right {
 text-align: right;
}
/*==========================
ページ画像
===========================*/
.img-size-40 img {
    width: 40%;
}
.img-size-60 img {
    width: 60%;
}
.img-size-80 img {
    width: 80%;
}
.img-size-100 img {
    width: 100%;
    height: auto;
}
.cube-logo img {
    width: 48px;
}

/*==========================
スペーサー
===========================*/
.display-block {
    display: block;
}
.space-600 {
    height: 600px;
}
.space-128 {
    height: 128px;
}
.space-64 {
    height: 64px;
}
.space-32 {
    height: 32px;
}
.space-12 {
    height: 12px;
}
.space-6 {
    height: 6px;
}
.space-1em {
    margin-right: 1em;
}
.space-mainasu {
    margin-bottom: -10px;
}

/*==========================
区切り線
===========================*/
.txt-line {
    background: #efefef;
    width: 100%;
    height: 2px;
}

/*==========================
PC表示
===========================*/
.only-pc {display: block;}

/*==========================
PC非表示
===========================*/
.only-sp {display: none;}

/*==========================
フッター
===========================*/
footer {
    width: 100%;
    height: 220px;
    background: #ab020b;
    margin-top: 64px;
    padding-top: 32px;
}
footer a {
    text-decoration: none;
}
.footer-box {
    display: block;
    width: 940px;
    margin: 0 auto;
}
.footer-box ul li {
    list-style: none;
    color: #fff;
    font-size: 13px;
}
.footer-box-in {
    float: left;
    line-height: 24px;
}
.footer-logo img {
    width: 150px;
    margin-top: 24px;
    margin-bottom: 16px;
} 
.footer-sns img {
    width: 48px;
}
.footer-box-in-main ul li {
    font-size: 18px;
}
.footer-box-in-main {
    font-size: 18px;
    line-height: 32px;
}
.footer-box-in-sub {
    font-size: 12px;
}
.cl {
    width: 100%;
    font-size: 12px;
    color: #fff;
    opacity:0.6;
    text-align: right;
}
.telandtime {
    display: block;
    color: #fff;
    margin-bottom: 12px;
    line-height: 15px;
}
/*==========================
ヘッダー
===========================*/
header{
    margin: 0 0 3px 0;
    padding: 0;
    height: 64px;
    width: 100%;
    background: #fff;
    border-bottom:solid #e0e0e0 1px;
}
.hd-logo {
    position:relative;
    left: 20px;
    top: 11px;
    float: left;
}
.hd-logo img {
    height: 41px;
}
.hd-line {
    position:relative;
}
.hd-line a img {
    position:absolute;
    height: 41px;
    width: auto;
    right: 20px;
    top: 11px;
}
nav {
    position:absolute;
    right: 160px;
    top: 2px;
}
nav ul li {
    color: #222;
    float: left;
    list-style: none;
    text-align: center;
    align-items: center;
    margin-left: clamp(6px, 0.8vw, 18px);
    margin-right: clamp(6px, 0.8vw, 18px);
    font-size: clamp(10px, 1vw, 12px);
    font-weight: bold;
    line-height: 14px; 
}
nav a li:hover{
    opacity: 1.0;
    transition-duration:0.1s;
    color: #ab020b;
}
.onetext {
    line-height: 26px;
}
.bt-main {
    position:relative;
    width: calc(50% - 12px);
    height: 50px;
    color: #fff;
    float: left;
    text-align: center;
    line-height: 52px;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 1px;
    padding: 0 12px 0 0;
}
.bt-lesson{
    background: #c7000b;
}
.bt-main img {
    position:relative;
    width: 32px;
    top: -12px;
    margin-right: 6px;
}
.bt-casting{
    background: #222;
}
.bt-clear {
    clear:both;
    margin-bottom: 16px;
}
.arrow-right {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position:absolute;
    top: 22px;
    right:6px;
}
/*==========================
ハンバーガーメニュー
===========================*/
/* チェックボックスを非表示にする */
.drawer_hidden {
    display: none;
  }
  /* ハンバーガーアイコンの設置スペース */
.drawer_open {
    position: absolute;
    width:44px;
    height:34px;
    z-index: 100;/* 重なり順を一番上にする */
    cursor: pointer;
    top: 0px;
    right: 0px;
    padding-top: 30px;
    padding-left: 16px;
  }
  
  /* ハンバーガーメニューのアイコン */
  .drawer_open span,
  .drawer_open span:before,
  .drawer_open span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background: #333;
    transition: 0.5s;
    position: absolute;
  }
  
  /* 三本線の一番上の棒の位置調整 */
  .drawer_open span:before {
    bottom: 8px;
  }
  
  /* 三本線の一番下の棒の位置調整 */
  .drawer_open span:after {
    top: 8px;
  }
  
  /* アイコンがクリックされたら真ん中の線を透明にする */
  #drawer_input:checked ~ .drawer_open span {
    background: rgba(255, 255, 255, 0);
  }
  
  /* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
  #drawer_input:checked ~ .drawer_open span::before {
    bottom: 0;
    transform: rotate(45deg);
  }
  
  #drawer_input:checked ~ .drawer_open span::after {
    top: 0;
    transform: rotate(-45deg);
  }
/* メニューのデザイン*/
.nav_content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%; /* メニューを画面の外に飛ばす */
    z-index: 99;
    transition: .5s;
  }
  /* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
    left: 0;/* メニューを画面に入れる */
  }


/*==========================
スライド
===========================*/
.slider-box {
    overflow: hidden;
}
.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
    width:200%;
    margin:0 -51% 16px;
}
.slider img {
    width:100%;
    height:auto;
}
/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider .slick-slide {
    margin:0 8px;
}

/*==========================
ベースボックス
===========================*/
.base-box {
    margin:0 auto;
    width: 940px;
}
.top-text-titile {
    text-align: center;
    margin: 16px 0 24px;
    font-size: 18px;
    font-weight: bold;
}
.top-text {
    font-size: 16px;
    margin: 0 0 24px;
}
/*==========================
 NEWS トップ用
===========================*/
.news-box {
    margin: 0 -14px;
}
.news-thumbnail {
    width: 214px;
    float: left;
    margin: 0 14px 24px;
    font-size: 13px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5; /* 制限したい行数が3の場合 */
    overflow: hidden;
    height: 200px;
}
.news-thumbnail img {
    aspect-ratio: 1920 / 1018;
    object-fit:cover;
    width: 100%;
    height: auto;
    margin-bottom: 12px;
}
.news-waku {
    width: calc(100% - 64px);
    border: 1px solid #333;
    padding: 32px;
}
/*==========================
ボタン
===========================*/
.link-bt {
    height: 34px;
    width: 200px;
    background: #c7000b;
    color: #fff;
    text-align: center;
    padding-top: 10px;
    font-size: 16px;
    margin: 24px auto 32px;
    position:relative;
}
.arrow-right-link {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position:absolute;
    top: 18px;
    right:6px;
}
/*==========================
メインコンテンツ　トップ用
===========================*/
.content-box {
    margin: 32px -14px;
}
.content-thumbnail {
    width: 456px;
    float: left;
    margin: 0 14px;
    font-size: 16px;
}
.content-thumbnail img {
    width: 100%;
    height: auto;
    margin-bottom: 6px;
}
.content-title {
    width: 100%;
    height: 22px;
    position:relative;
    font-weight: bold;
    margin-bottom: 22px;
    margin-top: 0;
}
.content-title-sub {
    font-size: 12px;
}
.title-icon {
    display: inline-block;
    position: absolute;
    width: 10px;
    height: 22px;
    background: #c7000b;
}
.content-title-text {
    position: absolute;
    left: 16px;
}
.arrow-right-content {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 10px;
    border-top: 2px solid #222;
    border-right: 2px solid #222;
    transform: rotate(45deg);
    position:absolute;
    top: 10px;
    right:0px;
}
/*==========================
ページ
===========================*/
.page-content-title {
    width: 100%;
    margin: 24px 0 24px;
    font-size: 16px;
    font-weight: bold;
    position:relative;
    height: 22px;
}
.page-title-text {
    position: absolute;
    left: 16px;
}
.page-title {
    font-size: 18px;
    font-weight: bold;
    margin: 24px 0 ;
}
.page-img img {
    width: 100%;
    text-align: center;
}
.page-text {
    font-size: 16px;
    margin: 24px 0 256px;
}
.page-text a {
    color: #ab020b;    
    text-decoration:underline;
}
.news-space {
    height: 400px;
}
/*==========================
ページ
===========================*/
.about-logo {
    width: 60%;
    margin: 128px auto 64px;
}
.about-three {
    width: 80%;
    margin: 24px auto 64px;
}
.about-title {
   text-align: center;
   margin: 64px 0 24px ;
}
.about-text {
    margin: 24px 0 64px;
}
.about-three-title {
    font-size: 18px;
    font-weight: bold;
    color: #ab020b;
    margin-bottom: 8px;
}
.about-three-hr {
    border-top: 1px dotted #ccc;
    width: 100%;
    left: none;
    transform: none;
    position: static;
    margin: 24px 0;
}
/*==========================
ローディング　走るバケタロウ
===========================*/
.loading {
    position: fixed;
    z-index: 1000;
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    background: #ab020b;
}
.loading img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.loading.hide {
    opacity: 0;
    pointer-events: none;
    transition: opacity 500ms;
}
