@charset "UTF-8";
/* ========== Common Section ========== */
/* --- CSS Variables --- */
:root {
    --heading-color: #016772;
       --time-color: #5F6406;
}
/* --- Pager --- */
nav#pager {
    text-align: center;
    margin: 15px 0;
}
nav#pager a,
nav#pager b {
    display: block;
    margin: 1px;
    padding: 12px;
    display: inline-block;
    /*border: 1px solid #FF6A00;*/
    color: #016772;
    font-weight: bold;
    text-decoration: none;
}
nav#pager a:hover {
    background-color: #fff;
    color: #016772;
}
nav#pager b {
    width: 45px;
    border-radius: 25px;
    background-color: #016772;
    /*border: 1px solid #FF6A00;*/
    color: #fff;
}

/* --- New Person --- */
.new {
    color: #f00;
    font-weight: bold;
    font-size: .8em;
}

/* --- Date --- */
.sun { color: #FF00DC; }
.sat { color: #5B00FF; }

/* --- License --- */
.lico_s { width: 35px; }
.lico_m { width: 50px; }
.line_qr { width: 50px; }


/* --- To Detail Button --- */
a.todetail {
    box-shadow: inset 0px 1px 0px 0px #11b8c8;
    background: linear-gradient(to bottom, #11B8C8 5%, #3161AB 100%);
    background-color: #11B8C8;
    border-radius: 20px;
    border: 1px solid #182F53;
    color: #fff;
    font-size: .8em;
    font-weight: bold;
    padding: 5px 20px;
    text-decoration: none;
    text-shadow: 0px 1px 0px #3161ab;
}

/* ========== for Contents html Section ========== */
/* Contents Column */
main > article:not(#conttop) {
    width: 780px;
    padding: 30px;
    margin-right: -290px;
    float: left;
    /*background-color: #fcc;*/
}
aside {
    width: 290px;
    float: right;
    padding: 30px 0 0 0;
    /*background-color: #cfc;*/
}

/* --- for INDEX(TOP/ENTRANCE) html --- */
#conttop {
    text-align: center;
    margin: 25px 0;
}
#conttop a#enter {
    background-color: #00B6C6;
    box-shadow: inset 1px 10px 0px -3px #72D1C7;
    background: linear-gradient(to bottom, #00B6C6 5%, #3554A3 100%);
    border-radius: 40px;
    border: 3px solid #00B6C6;
    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 #3554A3;
}
#conttop a#enter:hover {
    background-color: #3554A3;
    background: linear-gradient(to bottom, #3554A3 5%, #00B6C6 100%);
}
#conttop a#enter:active {
    position: relative;
    top: 1px;
}

/* --- for HOME html --- */
#conthome > article:not(#conttop) {
    margin: 0 0 20px 0;
    padding: 10px;
    /*background-color: #ccc;*/
}

article[id^="cont"] h2 {
    position: relative;
    padding: 5px 15px;
    font-size: 1.4em;
    background: #325A8C;
    color: #fff;
}
article[id^="cont"] h2 img {
    width: 45px;
    margin-right: 5px;
}
article[id^="cont"] h2::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    width: calc(100%);
    height: 0;
    border: solid 10px transparent;
    border-bottom-color: #1A3654;
}

/* Schedule */
#conthome #sche h2 + time {
    color: var(--time-color);
    font-weight: bold;
}
#conthome #sche section.cast {
    width: 135px;
    padding: 5px;
    margin: 0 3px 3px 0;
    display: inline-block;
    font-size: .9em;
    color: #006771;
    /*text-shadow: 1px -1px 0px #000;*/
    background-color: rgba(255,255,255,.8);
    border-radius: 5px;
    border: 1px solid #fff;
    text-align: center;
    position: relative;
}
#conthome #sche section.cast .lico_s {
    position: absolute;
    top: 0;
    left: 0;
}
#conthome #sche section.cast .new {
    padding: 3px;
    position: absolute;
    top: -3px;
    right: -3px;
    border-radius: 10px;
    background: linear-gradient(to bottom, #ef027d 5%, #ff5bb0 100%);
    transform: rotate(10deg);
    color: #fff;
    font-size: .8em;
}
#conthome #sche img.thum {
    width: 100%;
    height: 185px;
    object-fit: cover;
    margin: 0 0 5px 0;
}
#conthome #sche h3 {
    font-size: 1.0em;
    display: inline;
}
#conthome #sche section.cast a:link,
#conthome #sche section.cast a:visited {
    color: #006771;
}
#conthome #sche section.cast .staynow{
    position: absolute;
    left: 6px;
    top: 170px;
}
#conthome #sche section.cast .lico_m{
    position: absolute;
    left: 0;
    top: 0;
}

#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: 60px;
    height: 60px;
    padding: 16px 0 0 0;
    display: inline-block;
    background-color: rgba(255,255,255,.6);
    border: 5px solid rgba(255,255,255,.3);
    color: #000;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border-radius: 30px;
    line-height: 0.8;
}
#conthome #tabnavi li a.active {
    border: 5px solid #fff;
}
#conthome #tabnavi li a:hover {
    background-color: rgba(255,255,255,.8);
    color: #000;
}
#conthome #tabcontent{
    padding: 0;
    border: none;
}
#conthome #de_banner img,
#conthome #r_banner img{
    width:100%;
}
/* Base Layout */
#conthome article:not(#sche):not(#tabcontent) > section {
    margin: 0 0 30px 0;
    border-radius: 15px;
    padding: 30px;
    background-color: rgba(255,255,255,.8);
}
#conthome article:not(#sche):not(#tabcontent) > section h3 {
    color: var(--heading-color);
    font-size: 1.4em;
}
#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;
}

/* To ListPage Button */
#conthome a.contlist {
    width: 300px;
    margin: 0 0 0 400px;
    padding: 5px 20px;
    background: linear-gradient(to bottom, #11B8C8 5%, #3161AB 100%);
    background-color: #11B8C8;
    box-shadow: inset 0px 1px 0px 0px #11B8C8;
    border-radius: 20px;
    border: 1px solid #182F53;
    display: inline-block;
    cursor: pointer;
    color: #fff;
    font-size: .8em;
    font-weight: bold;
    text-decoration: none;
    text-shadow: 0px 1px 0px #3161AB;
    text-align: right;
}
#conthome a.contlist:hover {
    background: linear-gradient(to bottom, #3161AB 5%, #11B8C8 100%);
    background-color: #3161AB;
}
#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 {
    width: 235px;
    padding: 10px;
    margin: 0 5px 5px 0;
    display: inline-block;
    line-height: 1.2;
    font-size: .9em;
    text-align: center;
    position: relative;
    border-radius: 15px;
    background-color: rgba(255,255,255,.8);
    color: #006771;
}
#contcast section:hover,
#contcade #osusume section:hover {
    transform: scale(0.9) rotate(5deg);
    transition-duration: 0.2s;
}
#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 .new,
#contcade #osusume section .new {
    padding: 3px 10px;
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 10px;
    background: linear-gradient(to bottom, #ef027d 5%, #ff5bb0 100%);
    transform: rotate(10deg);
    color: #fff;
    font-size: 1.0em;
}
#contcast section img.thum,
#contcade #osusume section img.thum {
    width: 100%;
    height: 323px;
    object-fit: cover;
    margin: 0 0 10px 0;
    display:block;
}
#contcast section b,
#contcade #osusume section b {
    color: #006771;
}
#contcast section h3,
#contcade #osusume h6 {
    font-size: 1.2em;
    display: inline;
}
#contcast section .staynow,
#contcade #osusume .staynow {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    bottom: 90px;
}


/* --- for CAST_DETAIL html --- #contcade {  } */
#contcade {
    margin: 20px 0 0 0;
    border-radius: 15px;
    background-color: rgba(255,255,255,.8);
}

#contcade h3 {
    font-size: 2.0em;
    color: var(--heading-color);
}
#contcade h3 .new {
    font-size: .7em;
    padding: 3px 10px;
    border-radius: 10px;
    background: linear-gradient(to bottom, #ef027d 5%, #ff5bb0 100%);
    color: #fff;
}

#contcade h4,
#contcade h5 {
    margin: 30px 0 10px;
    color: var(--heading-color);
    font-size: 1.2em;
}
#contcade #photoslider {
    width: 360px;
    margin: 0 15px 15px 0;
    float: left;
}
#contcade #photoslider .lSSlideOuter .lSPager.lSGallery li.active,
#contcade #photoslider .lSSlideOuter .lSPager.lSGallery li:hover {
    border-bottom: 5px solid #193994;
}
#contcade #photoslider .caution {
    color: var(--heading-color);
}
#contcade img#line_base {
    width: 200px;
}
#contcade img#line_qr {
    width: 96px;
    height: 96px;
}
#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;
}
#contcade #schedule table th {
    background-color: rgba(255,255,255,.8);
    color: #000;
}
#contcade #schedule table td {
    background-color: rgba(255,255,255,.4);
}
#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);
    line-height: 1.2;
    text-align: center;
}
#contcade table#option th {
    background-color: rgba(41, 137, 0, .8);
    font-size: .8em;
    color: #fff;
}
#contcade table#option td {
    background-color: rgba(255,255,255,.4);
    font-size: 1.4em;
}



/* --- for GRAVURE html --- #contgrav {  } */
#contgrav {
    margin: 20px 0 0 0;
    border-radius: 15px;
    background-color: rgba(255,255,255,.8);
}
#contgrav #photoslider img {
    width: 720px;
}

/* --- for SCHEDULE html --- #contsche {  } */
#contsche h3 {
    color: var(--heading-color);
}

#contsche table caption {
    padding: 10px;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    color:#000;
    background: #fff;
}

#contsche table caption b {
    color: #016772;
}
#contsche table caption h4 {
    display: inline;
}
#contsche table caption h4 .new {
    padding: 3px 10px;
    border-radius: 10px;
    background: linear-gradient(to bottom, #ef027d 5%, #ff5bb0 100%);
    color: #fff;
}
#contsche table {
    width: 720px;
    margin: 0 0 50px 0;
    line-height: 1.2;
}
#contsche table img.thum{
    width:120px;
    height:180px;
    object-fit:cover;
    display: block;
}
#contsche table th,
#contsche table td {
    width: calc(100%/8);
    vertical-align: middle;
    text-align: center;
    border: 1px solid #fff;
}
#contsche table th {
    position: relative;
    background-color: rgba(255,255,255,0.8);
    color: #000;
}
#contsche table td {
    background-color: rgba(255,255,255,0.4);
}
#contsche table .staynow{
    position: absolute;
    bottom: 5px;
    left: 5px;
}
/*
#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 #update time {
    color: var(--time-color);
    font-size: 1.8em;
}



/* --- for BLOG html --- #contblog {  } */
#contblog section {
    margin: 0 0 50px 0;
    padding: 30px;
    border-radius: 15px;
    background-color: rgba(255,255,255,.8);
}

#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;
}

#contblog section .todetail {
    display: inline-block;
    margin: 15px 0 0 0;
    text-align: right;
}

/* --- for SYSTEM html --- #contsyst {  } */
#contsyst {
    margin: 20px 0 0 0;
    border-radius: 15px;
    background-color: rgba(255,255,255,.8);
}
#contsyst h3 {
    margin: 60px 0 15px;
    color: var(--heading-color);
    font-size: 1.4em;
    /*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 HOTEL html --- #conthotel {  } */
#conthotel {
    margin: 20px 0 0 0;
    border-radius: 15px;
    background-color: rgba(255,255,255,.8);
}
#conthotel .list {
    position: relative;
    border-bottom: 1px solid #d5d5d5;
    padding: 10px 0;
}
#conthotel h3 {
    font-size: 1.3rem;
    position: absolute;
    top: 0;
    display: inline-block;
    color: #f1006f;
}
#conthotel .list img {
    width: 150px;
    height: 100px;
    margin-right: 10px;
    object-fit: cover;
}
#conthotel .left {
    width: 41%;
    display: inline-block;
}
#conthotel .right {
    width: 35%;
    display: inline-block;
    text-align: center;
}
#conthotel .tel {
    position: absolute;
    top: 35px;
    font-size: 1rem;
}
#conthotel .hp {
    position: absolute;
    top: 55px;
}
#conthotel .ad {
    position: absolute;
    top: 75px;
}
#conthotel .traffic {
    font-size: 1.1rem;
}
#conthotel .traffic>span {
    color: #f00;
    font-size: 1.4rem;
}
/* --- for RECRUIT html --- #contrecr {  } */
#contrecr {
    margin: 20px 0 0 0;
    border-radius: 15px;
    background-color: rgba(255,255,255,.8);
}

#contrecr h3 {
    margin: 40px 0 10px;
    color: var(--heading-color);
    font-size: 1.4em;
    /*border-left: 5px solid var(--heading-color);*/
    /*border-bottom: 1px solid var(--heading-color);*/
}
#contrecr h4 {
    margin: 60px 0 25px;
    color: var(--heading-color);
    font-size: 1.4em;
}

/* --- for LINK html --- #contlink {  } */
#contlink {
    margin: 20px 0 0 0;
    border-radius: 15px;
    background-color: rgba(255,255,255,.8);
}

#contlink section {
    line-height: 1.5;
    margin: 20px 0;
}
#contlink h3 {
    font-size: .8em;
    margin: 5px 0;
}

/* --- for deto html --- #contdeto {  } */
#contdeto{
    margin: 20px 0 0 0;
    border-radius: 15px;
    background-color: rgba(255,255,255,.8);
}
#contdeto h2{
    position: unset;
    padding: 0;
}
#contdeto h2 img{
    width: 100%;
}
#contdeto section h3{
    background: linear-gradient(to right, #00e686 50%, #acfff4);
    padding: 10px 20px;
    color: #fff;
    text-shadow: 2px 2px 3px #000;
}
#contdeto section p{
    display: inline-block;
    font-size: 1.2rem;
}
#contdeto section img{
    margin: 0 auto;
    display: block;
    width: 500px;
}
#contdeto section b{
	color: #bb0000 !important;
}
#contdeto section a:hover{
    color: rgb(51, 184, 69)
}