@charset "UTF-8";
/* ========== Common Section ========== */
/* --- CSS Variables --- */
:root {
    --heading-color: #ff0000;
       --time-color: #009900;
}
/* --- Pager --- */
nav#pager {
    text-align: center;
    margin: 15px 0;
}
nav#pager a,
nav#pager b {
    display: block;
    margin: 1px;
    padding: 10px;
    display: inline-block;
    border: 1px solid #fff;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}
nav#pager a:hover {
    background-color: #ff6363;
    color: #fff;
}
nav#pager b {
    background-color: #8e1414;
    border: 1px solid #fff;
    color: #fff;
}

/* --- New Person --- */
.new {
    color: #f00;
    font-weight: bold;
    font-size: 1.1em;
}

/* --- Date --- */
.sun { color: #c03; }
.sat { color: #0047cc; }

/* --- License --- */
.lico_s { width: 24px; }
.lico_m { width: 50px; }
.line_qr { width: 50px; }


/* --- To Detail Button --- */
a.todetail {
    width: 205px;
    padding: 10px 10px;
    margin-right:5px;
    background: linear-gradient(to bottom, #8fe0d9 5%, #1bb7aa 100%);
    background-color: #1bb7aa;
    box-shadow: inset 0px 1px 0px 0px #8fe0d9;
    border-radius: 20px;
    border: 1px solid #00463f;
    display: inline-block;
    cursor: pointer;
    color: #350100;
    font-size: .98em;
    font-weight: bold;
    text-decoration: none;
    text-shadow: 0px 1px 0px #ded17c;
    text-align: right;
}
 a.todetail:hover {
    background: linear-gradient(to bottom, #1bb7aa 5%, #8fe0d9 100%);
}
 a.todetail:active {
    position:relative;
    top: 1px;
}
/* ========== for Contents html Section ========== */
/* Contents Column */
main > article:not(#conttop) {
    width: 790px;
    padding: 30px 27px;
    margin-left: -290px;
    float: right;
}
aside {
    width: 290px;
    float: left;
    padding: 10px 0 0 0;
}
.yugata img{
    width: 100%;
    margin-top: 10px;
}
#de_banner img{
    width: 100%;
    margin-top: 10px;
}
/* --- for INDEX(TOP/ENTRANCE) html --- */
#conttop {
    text-align: center;
    padding-bottom:50px;
}
#conttop h1 {
    margin:0;
}
#conttop h1 img{
    margin-top:10px;
}
#conttop a#enter {
    background-color: #1bb7aa;
    box-shadow: inset 1px 10px 0px -3px #8fe0d9;
    background: linear-gradient(to bottom, #8fe0d9 5%, #1bb7aa 100%);
    border-radius: 40px;
    border: 3px solid #00463f;
    display: inline-block;
    cursor: pointer;
    color: #2f0000;
    font-size: 1.5em;
    font-weight: bold;
    padding: 14px 47px;
    text-decoration: none;
    text-shadow: 1px 3px 0px #ded17c;
}
#conttop a#enter:hover {
    background: linear-gradient(to bottom, #1bb7aa 5%, #8fe0d9 100%);
    background-color: #f2ab1e;
}
#conttop a#enter:active {
    position: relative;
    top: 1px;
}
#conttop p {
    color:#fff;
    /* padding:10px; */
}
#conttop a:visited:not(#enter) {
    color:#b1ffe6;
}
/* --- for HOME html --- */
#r_banner img{
    width: 100%;
    margin-top: 10px;
}
#ride{
    margin-top: 10px;
    width: 100%;
}
#conthome > article:not(#conttop) {
    margin: 0 0 50px 0;
}
#conthome .banner_r {
    width: 720px;
}
#conthome #dc {
    border: solid 5px #fff;
    width: 100%;
    display: block;
    margin-top: 10px;
    margin-bottom:10px;
    border-radius: 10px;
    padding: 10px;
    font-size: 1.5rem;
    text-align: center;
    background-color: #ffffff85;
}
#conthome h2 img{
    display:block;
    margin:0 auto;
}
/* Schedule */

#conthome #sche h2 + time {
    color:#8e0002;
    text-shadow: 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff, 0px -1px 0px #fff;
    font-weight: bold;
    font-size: 25px;
}
#conthome #sche section.cast {
    width: 135px;
    padding: 10px;
    margin: 0 9px 8px 0;
    display: inline-block;
    font-size: .9em;
    color: #2f0000;
    background-image: url(img/lattice.jpg);
    border-radius: 20px 20px;
    text-align: center;
    position: relative;
}
#conthome #sche section.cast .lico_m {
    position: absolute;
    top: -5px;
    left: -5px;
    width: 40px;
}
#conthome #sche section.cast .staynow {
    position: absolute;
    top: 170px;
    left: 10px;
}

#conthome #sche section.cast .new {
    padding: 2px;
    position: absolute;
    top:3px;
    right: 4px;
    border-radius: 10px 10px;
    /* background-color: #f00; */
    color: #ff416d;
    text-shadow: 1px 0px 1px #fff, 0px 1px 1px #fff, -1px 0px 1px #fff, 0px -1px 1px #fff;
    font-size: 1.2em;
}
#conthome #sche img.thum {
    width: 100%;
    margin: 0 0 5px 0;
    height: 172.5px;
    border-radius:20px;
    object-fit: cover;
}
#conthome #sche h3 {
    font-size: 1.0em;
    display: inline;
}
#conthome #sche section.cast a:link,
#conthome #sche section.cast a:visited {
    color: #2f0000;
}
#conthome #sche section.noopen {
    margin: 10px 0;
    text-align: center;
    color:#fff;
}

/* ブログ */
#blog article {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#blog hr {
    background-color: #fff;
    border-top: 2px dashed #880019;
}
#blog p {
    padding: 5px 20px;
    text-shadow: 1px 0px 1px #fff, 0px 1px 1px #2f0000, -1px 0px 1px #fff, 0px -1px 1px #fff;
}
#blog section {
    background-image: url(img/lattice.jpg);
    /*margin: 0 16px 60px 0;*/
    box-shadow: 4px 4px 10px #000;
    width: 362px;
}
#blog h3 {
    padding: 10px 0 0 0;
    text-shadow: 1px 0px 1px #fff, 0px 1px 5px #2f0000, -1px 0px 1px #fff, 0px -1px 1px #fff;
}
#blog section .author {
    /*float: right;*/
    margin-right: 10px;
    margin-left: 5px;
    font-weight: bold;
}
/* 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: 80px;
    height: 50px;
    padding: 12px 0 0 0;
    display: inline-block;
    border: 1px solid #fff;
    background-color: #ff6565;
    color: #000;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border-radius:30px 30px;
    line-height: 0.8;
}
#conthome #tabnavi li a.active {
    background-color: #1bb7aa;
}
#conthome #tabnavi li a:hover {
    background-color: #1bb7aa;
}
#conthome #tabcontent{
    padding: 0;
    border: none;
}

/* Base Layout */
#news img {
    top:-10px;
}
#news article:not(#sche):not(#tabcontent) > section {
    /*margin: -40px 16px 60px 0;*/
    padding:20px;
    background-color: rgba(255, 255, 255, 0.6);
    width: 345px;
        margin-bottom: 10px;
}

#conthome article:not(#sche):not(#tabcontent) > section h3 {
    color: var(--heading-color);
    text-shadow: 1px 0px 1px #fff, 0px 1px 1px #2f0000, -1px 0px 1px #fff, 0px -1px 1px #fff;
line-height: 1.2;
font-size: 1.3rem;
}
#blog article:not(#sche):not(#tabcontent) > section time {
    color: var(--time-color);
    font-size: 1.1em;
    /*margin: -28px 125px;*/
    text-shadow: 1px 0px 1px #fff, 0px 1px 1px #2f0000, -1px 0px 1px #fff, 0px -1px 1px #fff;
}
#news article:not(#sche):not(#tabcontent) > section time {
    color: var(--time-color);
    font-size: 1.1em;
    /*float: right;*/
    text-shadow: 1px 0px 1px #fff, 0px 1px 1px #2f0000, -1px 0px 1px #fff, 0px -1px 1px #fff;
}

#conthome article > section img.thum {
    width: 180px;
    margin: 5px 15px 5px 15px;
    vertical-align: top;
    margin: 0 auto;
    display: block;
    margin-top: 10px;
}

/* To ListPage Button */
#conthome a.contlist{
    width: 300px;
    margin: 50px 0 0 400px;
    padding: 10px 20px;
    background: linear-gradient(to bottom, #8fe0d9 5%, #1bb7aa 100%);
    background-color: #1bb7aa;
    box-shadow: inset 0px 1px 0px 0px #8fe0d9;
    border-radius: 20px;
    border: 1px solid #00463f;
    display: inline-block;
    cursor: pointer;
    color: #350100;
    font-size: 1.2em;
    font-weight: bold;
    text-decoration: none;
    text-shadow: 0px 1px 0px #ded17c;
    text-align: right;
}
#conthome a.contlist:hover {
    background: linear-gradient(to bottom, #1bb7aa 5%, #8fe0d9 100%);
    background-color: #f2ab1e;
}
#conthome a.contlist:active {
    position:relative;
    top: 1px;
}

#conthome #news article {
    padding: 0 20px 0 0;
    height: 650px;
    overflow: scroll;
    overflow-x: hidden;
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
}

#conthome #news article::-webkit-scrollbar{
    width: 15px;
}
#conthome #news article::-webkit-scrollbar-track{
    background: #fff;
    border-radius: 10px;
    border-left: solid 1px #ececec;
}
#conthome #news article::-webkit-scrollbar-thumb{
    background: #ccc;
    border-radius: 10px;
    box-shadow: inset 0 0 0 2px #fff;
}

/* --- for NEWS html --- #contnews {  } */



/* --- for NEW_PERSON/PICKUP_CAST html --- #contnper {  } */



/* --- for CAST html --- #contcast {  } */
#contcast section,
#contcade #osusume section {
    width: 240px;
    padding: 10px;
    margin: 0 5px 5px 0;
    display: inline-block;
    line-height: 1.2;
    font-size: .9em;
    text-align: center;
    position: relative;
    background-image: url(img/lattice.jpg);
    border-radius: 30px 30px;
    color: #2f0000;
}
#contcast section .lico_m,
#contcade #osusume section .lico_m {
    position: absolute;
    top: 0;
    left: 0;
}
#contcast section .line_qr,
#contcade #osusume section .line_qr {
    position: absolute;
    top: 0;
    right: 0;
}

#contcast section .staynow,
#contcade #osusume section .staynow {
    position: absolute;
    top: 325px;
    left: 25%;
}

#contcast section .new {
    padding: 3px;
    /* position: absolute;
    right: 20px;
    bottom: 76px;
    background-color: #f00; */
    color: #ff416d;
    font-size: 1.0em;
}
#contcade #osusume section .new {
    right: 12px;
    bottom:90px;
}
#contcast section img.thum,
#contcade #osusume section img.thum {
    width: 100%;
    height: 330px;
    margin: 0 0 10px 0;
    border-radius:30px;
}
#contcast section h3,
#contcade #osusume h6 {
    display: inline;
}



/* --- for CAST_DETAIL html --- #contcade {  } */
#contcade .new {
    font-size: 20px;
    text-shadow: 1px 0px 1px #2f0000, 0px 1px 1px #2f0000, -1px 0px 1px #2f0000, 0px -1px 1px #2f0000;
    color:#ff416d;
}
#contcade h3 {
    color: var(--heading-color);
    text-shadow: 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff, 0px -1px 0px #fff;
}
#contcade h4,
#contcade h5 {
    color: var(--heading-color);
    font-size: 1.0em;
    text-shadow: 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff, 0px -1px 0px #fff;
}
#contcade h6 {
    font-size:20px;
}
#contcade #photoslider {
    width: 360px;
    margin: 0 15px 15px 0;
    float: left;
}
#contcade #photoslider img {
    width: 360px;
    /*height: 540px;*/
}
#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 #f00;
}
#contcade #photoslider .caution {
    color: var(--heading-color);
    text-shadow: 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff, 0px -1px 0px #fff;
}
#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;
    padding:10px 0;
}
#contcade #schedule table td {
    background-color: #fff;
    box-shadow: 0px 10px 8px -8px rgba(0,0,0,0.4) inset;
}

#contcade table th:not(:last-child){
    border-right: 2px dashed #fff;
}
#contcade table td:not(:last-child) {
    border-right: 2px dashed #0a8c69;
}

#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;
}
#detail {
    color:#fff;
}
/* --- for GRAVURE html --- #contgrav {  } */
#contgrav #photoslider img {
    width: 720px;
}

#contgrav .wrap {
    padding: 40px 20px 20px 20px;
    margin: -40px 16px 0 0;
    background-color: rgba(255, 255, 255, 0.6);
    vertical-align:middle;
}
#contgrav .preparation{
    margin-top: 10px;
}
#contgrav .banner {
    display: block;
    text-align:left;
    /* margin: 25px 0 0; */
}
#contgrav .grav:first-child{
    margin-top:20px;
}
/* --- for SCHEDULE html --- #contsche {  } */
.main {
    height:260px;
    background-image: url(img/lattice.jpg);
    margin-bottom:40px;
    box-shadow: 0px 10px 8px -8px rgba(0,0,0,0.4) ;
}

.main h4 {
    position:absolute;
    margin-left:180px;
    vertical-align:middle;
    height: 50px;
    line-height: 50px;
}
.main h4 a {
    font-size:30px;
    text-decoration:none;
    text-shadow: 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff, 0px -1px 0px #fff,
     1px 0px 5px #2f0000, 0px 1px 5px #2f0000, -1px 0px 5px #2f0000, 0px -1px 5px #2f0000;
}
#contsche h3 {
    color: var(--heading-color);
    text-shadow: 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff, 0px -1px 0px #fff;
    margin-top:30px;
    margin-left:10px;
}
#contsche .new {
    color:#ff416d;
    font-size: 0.8em;
    text-shadow: 1px 0px 1px #2f0000, 0px 1px 1px #2f0000, -1px 0px 1px #2f0000, 0px -1px 1px #2f0000;
}
.main .thum {
    width: 170px;
    height: 250px;
    padding:3px 3px 0px;
    object-fit: cover;
}
#contsche table caption {
    float:left;
    color:#fff;
    font-size:20px;
    text-shadow: 1px 0px 1px #2f0000, 0px 1px 1px #2f0000, -1px 0px 1px #2f0000, 0px -1px 1px #2f0000;
}

#contsche table caption b {
    color: #fff;
    text-shadow: 1px 0px 1px #2f0000, 0px 1px 1px #2f0000, -1px 0px 1px #2f0000, 0px -1px 1px #2f0000;
}
#contsche table caption h4 {
    display: inline;
}
#contsche table {
    width: 560px;
    margin: -149px 6px 50px 0;
    line-height: 1.2;
    float:right;
}
#contsche table th,
#contsche table td {
    width: calc(100%/8);
    vertical-align: middle;
    text-align: center;
    padding:14px 7px;
}

#contsche table th:not(:last-child){
    border-right: 2px dashed #fff;
    padding:10px;
}
#contsche table td:not(:last-child) {
    border-right: 2px dashed #0a8c69;

}
#contsche table a:link,
#contsche table a:visited {
    color: #2f0000;
}
#contsche #update time {
    color: var(--time-color);
    font-size: 1.7em;
    text-shadow: 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff, 0px -1px 0px #fff;
}
#contsche .lico_m {
    margin-bottom:11px;
    margin-right:10px;
}
#update {
    color:#fff;
    margin-bottom:15px;
    font-size:13px;
}
#contsche #update {
    float:right;
    margin-top: -55px;
    margin-right: 15px;
    }
.aftertext {
    text-align:right;
}
caption {
    position:absolute;
    margin-top:-35px;
    margin-left:20px;
}
caption hr {
    margin:0;
    background-color: #bbafa;
}

/* --- for BLOG html --- #contblog {  } */
.left {
    float:left;
}
.right {
    float:right;
}
#contblog hr {
    background-color: #fff;
    border-top: 2px dashed #880019;
}

#contblog section {
    margin: 0 16px 60px 0;
    padding-bottom:10px;
    box-shadow: 4px 4px 10px #000;
    background-image: url(img/lattice.jpg);
}

#contblog section h3 a:link,
#contblog section h3 a:visited {
    color: var(--heading-color);
    /*font-size: 1.4em;*/
    text-decoration: none;
}
#contblog section h3 {
    padding:19px 19px 0 0;
    text-shadow: 1px 0px 1px #fff, 0px 1px 1px #2f0000, -1px 0px 1px #fff, 0px -1px 1px #fff;
}
#contblog p {
    padding:5px 20px;
    margin-bottom:100px;
    text-shadow: 1px 0px 1px #fff, 0px 1px 1px #2f0000, -1px 0px 1px #fff, 0px -1px 1px #fff;

}

#contblog section time {
    color: var(--time-color);
    font-size: 1.4em;
    float:right;
    margin: -28px 125px;
    text-shadow: 1px 0px 1px #fff, 0px 1px 1px #2f0000, -1px 0px 1px #fff, 0px -1px 1px #fff;
}
#contblog section .author {
    float:right;
    margin-right: 10px;
    font-weight: bold;
}

#contblog section img.photo {
    width: 240px;
    margin:5px 15px 5px 15px;
    vertical-align: top;
    float: left;
}
#contblog .btn {
    float:right;
    margin-top:-63px;
    margin-right:10px;
}
#contblog a.contlist {
    width: 220px;
    padding: 10px 10px;
    background: linear-gradient(to bottom, #8fe0d9 5%, #1bb7aa 100%);
    background-color: #1bb7aa;
    box-shadow: inset 0px 1px 0px 0px #8fe0d9;
    border-radius: 20px;
    border: 1px solid #00463f;
    display: inline-block;
    cursor: pointer;
    color: #350100;
    font-size: .98em;
    font-weight: bold;
    text-decoration: none;
    text-shadow: 0px 1px 0px #ded17c;
    text-align: right;
}
#contblog a.contlist:hover {
    background: linear-gradient(to bottom, #1bb7aa 5%, #8fe0d9 100%);
}
#contblog a.contlist:active {
    position:relative;
    top: 1px;
}

/* --- for SYSTEM html --- #contsyst {  } */
#contsyst section {
    width: 730px;
    padding:0 20px 20px 20px;
    border-radius: 20px 20px;
    background-color: rgba(255,255,255,0.6);
}

#contsyst h3 {
    width: 730px;
    left:-20px;
    padding: 10px;
    position: relative;
    color: #009691;
    text-shadow: 0 0 2px white;
    background: #e0f3ff;
    border-radius: 20px 20px;
    height: 40px;
    border:2px solid #009691;
    align-items: center;
    display: flex;
    padding-left:50px;
}
#contsyst h3:before {
    content: "";
    position: absolute;
    background: #009691;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    top: 50%;
    left:-3px;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
#contsyst .corona {
    padding: 0 20px 20px 20px;
}
#contsyst ul li:nth-child(2){
    color: #FF0000;
}
/* --- for RECRUIT html --- #contrecr {  } */

#contrecr h3 {
    width: 730px;
    left:-20px;
    padding: 10px;
    position: relative;
    color: #009691;
    text-shadow: 0 0 2px white;
    background: #e0f3ff;
    border-radius: 20px 20px;
    height: 40px;
    border:2px solid #009691;
    align-items: center;
    display: flex;
    padding-left:50px;
}
#contrecr h3:before {
    content: "";
    position: absolute;
    background: #009691;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    top: 50%;
    left:-3px;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
#contrecr h4 {
    color: var(--heading-color);
}
#contrecr section {
    width: 730px;
    padding: 0 20px 20px 20px;
    border-radius: 20px 20px;
    background-color: rgba(255,255,255,0.6);
}

/* --- for LINK html --- #contlink {  } */
#contlink section {
    line-height: 1.5;
    margin: 20px 0;
}
#contlink .wrap{
    padding:20px;
    margin: -40px 16px 60px 0;
    background-color: rgba(255, 255, 255, 0.6);
}

#contlink h3 {
    font-size: .8em;
    margin: 5px 0;
}