@charset "UTF-8";
/* ========== Common Section ========== */
/* --- CSS Variables --- */
:root {
    --heading-color: #D2B822;
       --time-color: #33C6B7;
}
/* --- Pager --- */
nav#pager {
    text-align: center;
    margin: 15px 0;
}
nav#pager a,
nav#pager b {
    width: 50px;
    display: block;
    margin: 1px;
    padding: 3px;
    border-radius: 50px;
    display: inline-block;
    color: #fff;
    border: 2px solid #fff;
    font-weight: bold;
    text-decoration: none;
}
nav#pager a:hover {
    background-color: #29C6B7;
    color: #fff;
}
nav#pager b {
    background-color: #fff;
    color: #004A33;
}

/* --- New Person --- */
.new {
    color: #f00;
    font-weight: bold;
    font-size: .8em;
}

/* --- Date --- */
.sun { color: #F5E; }
.sat { color: #0FF; }

/* --- License --- */
.lico_s { width: 24px; }
.lico_m { width: 50px; }
.line_qr { width: 50px; }

/* --- To Detail Button --- */
a.todetail {
    background: linear-gradient(to bottom, #f0c911 5%, #f2ab1e 100%);
    background-color: #f0c911;
    border-radius: 20px;
    border: 1px solid #e65f44;
    color: #c92200;
    font-size: .8em;
    font-weight: bold;
    padding: 5px 20px;
    text-decoration: none;
    text-shadow: 0px 1px 0px #ded17c;
    box-shadow: inset 0px 1px 0px 0px #f9eca0;
}

/* ========== for Contents html Section ========== */
/* Contents Column */
main > article:not(#conttop) {
    width: 780px;
    padding: 30px;
    margin-right: -290px;
    float: left;
    background-color: #004A33;
    border: 10px solid #B38665;
    border-radius: 10px;
    box-shadow: 0 0 5px 3px rgba(0,0,0,0.5);
}
aside {
    width: 290px;
    float: right;
    padding: 0 0 0 0;
    /*background-color: #cfc;*/
}
.yugata img{
    width: 100%;
}
#de_banner img{
    width: 100%;
    padding: 5px;
    /* margin-bottom: 20px; */
}

/* --- for INDEX(TOP/ENTRANCE) html --- */
#conttop {
    text-align: center;
    height: 720px;
    margin: 50px 0;
    padding: 100px 0 0;
}
#conttop h1 {
    z-index: 3;
    position: absolute;
    top: 50px;
    left: 290px;
    z-index: 3;
}

#conttop a#enter {
    background-color: #0F92EF;
    background: linear-gradient(to bottom, #0F92EF 5%, #110EF0 100%);
    border-radius: 40px;
    border: 3px solid #110EF0;
    display: inline-block;
    cursor: pointer;
    color: #fff;
    font-size: 1.5em;
    font-weight: bold;
    padding: 14px 47px;
    text-decoration: none;
    text-shadow: 1px 3px 0px #110EF0;
    position: absolute;
    top: 300px;
    left: 500px;
    z-index: 3;
}
#conttop a#enter:hover {
    background-color: #110EF0;
    background: linear-gradient(to bottom, #110EF0 5%, #0F92EF 100%);
}
#conttop a#enter:active {
    /*position: relative;*/
    top: 301px;
}

#conttop #gatemark {
    width: 120px;
    position: absolute;
    top: 395px;
    left: 585px;
    z-index: 3;
}

#conttop #gatecopy {
    position: absolute;
    top: 395px;
    left: 720px;
    z-index: 3;
    text-align: left;
}

#conttop #open {
    position: absolute;
    top: 530px;
    right: 60px;
    transform: rotate(-10deg);
    z-index: 3;
}

#conttop #phone {
    position: absolute;
    top: 580px;
    right: 55px;
    transform: rotate(-10deg);
    z-index: 3;
}

#conttop #photo {
    width: 280px;
    position: absolute;
    top: 230px;
    left: 55px;
    transform: rotate(-12deg);
    z-index: 1;
}

#conttop #board {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

#r_banner img{
    /* margin: 10px; */
    width: 100%;
    padding: 5px;
}
#ride{
    width: 100%;
}

/* --- for HOME html --- */
#conthome > article:not(#conttop) {
    margin: 0 0 20px 0;
    padding: 10px;
    /*background-color: #ccc;*/
}

/* Schedule */
#conthome #sche h2 + time {
    color: var(--time-color);
    font-weight: bold;
}
#conthome #sche section.cast {
    width: 132px;
    padding: 8px;
    margin: 0 1px 2px 0;
    display: inline-block;
    font-size: .9em;
    line-height: 1.0;
    color: #fff;
    text-shadow: 1px 1px 0px #000;
    /*background-color: #99f;*/
    text-align: center;
    position: relative;
}
#conthome #sche section.cast .lico_s {
    position: absolute;
    width: 30px;
    top: 155px;
    left: 0;
    z-index: 11;
}
#conthome #sche section.cast .new {
    padding: 3px;
    position: absolute;
    top: 160px;
    right: 3px;
    background-color: rgba(182, 255, 0, .6);
    color: #f00;
    font-size: 0.8em;
    z-index: 11;
}
#conthome #sche section.cast img.frame {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 10;
}
#conthome #sche img.thum {
    width: 100%;
    height: 174px;
    object-fit: cover;
    margin: 0 0 10px 0;
    z-index: 9;
}
#conthome #sche h3 {
    font-size: 1.0em;
    display: inline;
}
#conthome #sche section.cast a:link,
#conthome #sche section.cast a:visited {
    color: #fff;
}
#conthome #sche section.noopen {
    margin: 10px 0;
    text-align: center;
}

/* Home Schedule Tab */
#conthome #tabnavi {
    margin: 10px 0;
    text-align: center;
}
#conthome #tabnavi li          { display: inline; }
#conthome #tabnavi li span.week{ font-size: .7em; }
#conthome #tabnavi li a {
    width: 65px;
    height: 65px;
    padding: 20px 0 0 0;
    display: inline-block;
    border: 2px solid #110EF0;
    background: linear-gradient(to bottom, #0F92EF 5%, #110EF0 100%);
    color: #fff;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    line-height: 0.8;
    border-radius: 65px;
}
#conthome #tabnavi li a.active {
    border-bottom: 5px solid #ff0;
    background: linear-gradient(to bottom, #110EF0 5%, #0F92EF 100%);
    color: #ff0;
}
#conthome #tabnavi li a:hover {
    border: 2px solid #FFA66B;
    background: linear-gradient(to bottom, #110EF0 5%, #0F92EF 100%);
    color: #ff0;
}
#conthome #tabcontent{
    padding: 0;
    border: none;
}

/* Base Layout */
#conthome article:not(#sche):not(#tabcontent) > section {
    margin: 0 0 30px 0;
    /*background-color: #99f;*/
}
#conthome article:not(#sche):not(#tabcontent) > section h3 {
    color: var(--heading-color);
    font-size: 1.8em;
    margin: 30px 0;
}
#conthome article:not(#sche):not(#tabcontent) > section time {
    color: var(--time-color);
    font-size: 1.4em;
}
#conthome article > section img.thum {
    max-width: 240px;
    margin: 0 15px 15px 0;
    vertical-align: top;
    float: left;
    transform: rotate(-2deg);
}

/* To ListPage Button */
#conthome a.contlist {
    width: 300px;
    margin: 0 0 0 400px;
    padding: 5px 20px;
    background: linear-gradient(to bottom, #f0c911 5%, #f2ab1e 100%);
    background-color: #f0c911;
    box-shadow: inset 0px 1px 0px 0px #f9eca0;
    border-radius: 20px;
    border: 1px solid #e65f44;
    display: inline-block;
    cursor: pointer;
    color: #c92200;
    font-size: .8em;
    font-weight: bold;
    text-decoration: none;
    text-shadow: 0px 1px 0px #ded17c;
    text-align: right;
}
#conthome a.contlist:hover {
    background: linear-gradient(to bottom, #f2ab1e 5%, #f0c911 100%);
    background-color: #f2ab1e;
}
#conthome a.contlist:active {
    position:relative;
    top: 1px;
}



/* --- for NEWS html --- #contnews {  } */



/* --- for NEW_PERSON/PICKUP_CAST html --- #contnper {  } */



/* --- for CAST html --- #contcast {  } */
#contcast section,
#contcade #osusume section {
    transform: rotate(-5deg);
    width: 225px;
    padding: 10px;
    margin: 0 1px 10px 0;
    display: inline-block;
    line-height: 1.2;
    font-size: .9em;
    text-align: center;
    position: relative;
    /*background-color: #99f;*/
    transition-duration: 0.2s;
    z-index: 14;
}
#contcast section:hover,
#contcade #osusume section:hover {
    transform: scale(1.05) rotate(-5deg);
    transition-duration: 0.2s;
}
#contcast section .lico_m,
#contcade #osusume section .lico_m {
    position: absolute;
    top: 275px;
    left: 0;
    z-index: 11;
}
#contcast section .line_qr,
#contcade #osusume section .line_qr {
    position: absolute;
    z-index: 12;
    top: 0;
    right: 0;
}
#contcast section .new,
#contcade #osusume section .new {
    padding: 3px;
    position: absolute;
    top: 295px;
    right: 10px;
    background-color: rgba(182, 255, 0, .6);
    color: #f00;
    font-size: 1.0em;
    z-index: 11;
}
#contcast section img.frame,
#contcade #osusume section img.frame {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 10;
}
#contcast section img.thum,
#contcade #osusume section img.thum {
    width: 100%;
    height: 308px;
    object-fit: cover;
    margin: 0 0 15px 0;
    z-index: 9;
    display: block;
}
#contcast section h3,
#contcade #osusume h6 {
    background: linear-gradient(transparent 35%, rgba(255,255,126,0.4) 35%);
    font-size: 1.2em;
    display: inline;
    z-index: 12;
}
#contcast section b,
#contcade #osusume b {
    color: #00D6D2;
}



/* --- for CAST_DETAIL html --- #contcade {  } */
#contcade h3 {
    color: var(--heading-color);
}
#contcade h3 .new {
    background-color: rgba(182, 255, 0, .6);
    color: #f00;
    padding: 5px;
    margin: 0 5px;
}
#contcade h4,
#contcade h5 {
    color: var(--heading-color);
    font-size: 1.0em;
}
#contcade #photoslider {
    width: 360px;
    margin: 0 15px 15px 0;
    float: left;
}
#contcade img#line_base {
    width: 200px;
}
#contcade img#line_qr {
    width: 96px;
    height: 96px;
}
#contcade #photoslider .lSSlideOuter .lSPager.lSGallery li.active,
#contcade #photoslider .lSSlideOuter .lSPager.lSGallery li:hover {
    border-bottom: 5px solid #0097C8;
}
#contcade #photoslider .caution {
    color: var(--heading-color);
}
#contcade #schedule table {
    width: 720px;
    margin: 0 0 50px 0;
    line-height: 1.2;
}
#contcade #schedule table th,
#contcade #schedule table td {
    width: calc(100%/7);
    vertical-align: middle;
    text-align: center;
    background-color: transparent;
    color: #fff;
    border: 1px dashed #00B27F;
}
#contcade #schedule table th {
    background-color: #003636;
}
#contcade table th:not(:last-child),
#contcade table td:not(:last-child) {
    border-right: 1px dashed #fff;
}
#contcade table#option {
    width: 720px;
}
#contcade table#option th,
#contcade table#option td {
    width: calc(100%/8);
    text-align: center;
}
#contcade table#option th {
    font-size: .8em;
}
#contcade table#option td {
    font-size: 1.4em;
}



/* --- for GRAVURE html --- #contgrav {  } */
#contgrav h3 {
    color: var(--heading-color);
}
#contgrav #photoslider img {
    width: 700px;
}

/* --- for SCHEDULE html --- #contsche {  } */
#contsche h3 {
    color: var(--heading-color);
}

#contsche table caption {
    padding: 10px;
    color:#fff;
    /*background: #7F1085;*/
}

#contsche table caption b {
        color: #00D6D2;
}
#contsche table caption h4 {
    display: inline;
}
#contsche table caption .new {
    background-color: rgba(182, 255, 0, .6);
    color: #f00;
    padding: 5px;
    margin: 0 5px;
}
#contsche table {
    width: 720px;
    margin: 0 0 50px 0;
    line-height: 1.2;
}
#contsche table th,
#contsche table td {
    width: calc(100%/8);
    vertical-align: middle;
    text-align: center;
    border: 1px dashed #00B27F;
    color: #fff;
}
#contsche table th {
    background-color: #003636;
}
/*
#contsche table th:not(:last-child),
#contsche table td:not(:last-child) {
    border-right: 1px dashed #fff;
}
*/
#contsche table a:link,
#contsche table a:visited {
    color: #fff;
}
#contsche table .thum {
    transform: rotate(-3deg);
    height: 180px;
    object-fit: cover;
    width: 120px;
}
#contsche #update time {
    color: var(--time-color);
    font-size: 1.8em;
}



/* --- for BLOG html --- #contblog {  } */
#contblog section {
    margin: 0 0 70px 0;
    line-height: 2.0;
    /*background-color: #ccf;*/
}

#contblog section h3 a:link,
#contblog section h3 a:visited {
    color: var(--heading-color);
    font-size: 1.4em;
    text-decoration: none;
}

#contblog section time {
    color: var(--time-color);
    font-size: 1.4em;
}

#contblog section img.photo {
    max-width: 240px;
    margin: 0 15px 15px 0;
    vertical-align: top;
    float: left;
}


/* --- for SYSTEM html --- #contsyst {  } */
#contsyst h3 {
    padding: 10px 0;
    color: var(--heading-color);
    font-size: 1.4em;
    background: linear-gradient(transparent 35%, rgba(0, 255, 255, 0.2) 35%);
    transform: rotate(-2deg);
    /*border-left: 5px solid var(--heading-color);*/
    /*border-bottom: 1px solid var(--heading-color);*/
}
#contsyst ul:not(#warning) li:nth-child(2){
    color: #f00;
}


/* --- for RECRUIT html --- #contrecr {  } */
#contrecr h3 {
    padding: 10px 0;
    color: var(--heading-color);
    font-size: 1.4em;
    background: linear-gradient(transparent 35%, rgba(0, 255, 255, 0.2) 35%);
    transform: rotate(-2deg);

    /*border-left: 5px solid var(--heading-color);*/
    /*border-bottom: 1px solid var(--heading-color);*/
}
#contrecr h4 {
    padding: 10px 0;
    color: var(--heading-color);
}

/* --- for LINK html --- #contlink {  } */
#contlink section {
    line-height: 1.5;
    margin: 20px 0;
}
#contlink h3 {
    font-size: .8em;
    margin: 5px 0;
}