@charset "utf-8";
/* CSS INFORMATION -====================================================
File name : top.css
Description :
===================================================================== */

/* =====================================================================
*    top
* =================================================================== */

.next .inner {
    padding: 43.5% 0 24%;
}

@media screen and (min-width:768px){
    .next {
        position: relative;
    }

    .next::after {
        content: "";
        display: block;
        width: 100%;
        padding-top: 29.27%;
        background: url(../images/bg_yellow.jpg) repeat center top;
        background-size: 18.18% auto;
        position: absolute;
        left: 0;
        bottom: 0;
    }

	.next .inner {
        padding: 17.82% 0 15.64%;
        z-index: 2;
    }
}

@media screen and (min-width:1100px){
    .next::after {
        padding-top: 322px;
        background-size: 200px auto;
    }

    .next .inner {
        padding: 196px 0 172px;
    }
}

/* .banner
---------------------------------------------------------- */
.banner {
    background: url(../images/bg_yellow.jpg) repeat left top;
    background-size: 32% auto;
}

.banner .banner_box {
    width: 92%;
    margin: 0 auto;
    padding: 5.33% 0 20%;
}

.banner .banner_box a {
    display: block;
}

@media screen and (min-width:768px){
	.banner {
        background: url(../images/bg_yellow.jpg) repeat center top;
        background-size: 18.18% auto;
    }

    .banner .banner_box {
        width: 37.64%;
        padding: 2.73% 0 9.09%;
    }

    .banner .banner_box a {
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }

    .banner .banner_box a:hover {
        opacity: 0.7;
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }
}

@media screen and (min-width:1100px){
    .banner {
        background-size: 200px auto;
    }
}

/* CONTENTS
---------------------------------------------------------- */
.contents {
    padding:calc(45/750 * 100%) 0 ;
}
.contents .inner{
    padding: 0 ;
}
.l-container {
    width:calc(670/750 * 100%);
    margin:0 auto ;
    border-radius:10px;
    padding:9px 0 0;
}

.contents .l-container {
    background: url(../images/bg_green.jpg) repeat left top;
    position: relative;
    background-color:#438435;
}
.contents .l-container::before {
    content:"";
    display:block;
    background:url(../images/img_contents_sp.png) no-repeat left top;
    background-size:contain;
    width:calc(80/670 * 100%);
    padding-top: 6.4179%;
    position: absolute;
    right: 4.77%;
    top: -1%;
}

.sec_ttl {
    width:calc(606/670 * 100%);
    margin: -18px auto 9px;
}
.sec_ttl img {
    }


.next_theme_box {
    width: 92%;
    margin: 0 auto;
    position: relative;
}

.theme {
    background-color:#438435;
    padding: calc(58/670 * 100%)  calc(20/670 * 100%);
}

.theme_inner {
    background-color:#fff;
    border-radius: 5px;
    position: relative;
    padding:calc(115/670 * 100%) calc(44/670 * 100%) calc(50/670 * 100%);
}
.next_date_box {
    width:calc(540/630 * 100%);
    background: url(../images/bg_contents_date.png) no-repeat center;
    background-size:contain;
    color:#ffe663;
    font-size: 1.53rem;
    font-weight: 700;
    position: absolute;
    top:0;
    left:50%;
    transform: translate(-50% , -27%);
    text-align:center;
    padding: calc(36/630 * 100%) 0;
}

dl.theme_list {
    background: url(../images/img_border.png) repeat-x left top;
    padding-top:20px;
}
dl.theme_list dt{
    box-shadow: 2px 2px 0 #f2bd58;
    background-color:#ffe663;
    color: #4c5e98;
    border-radius: 1.5em;
    font-weight: 700;
    padding:0.2em 1em 0.2em 1.8em;
    margin-bottom:14px;
    display: inline-block;
    position: relative;
    font-size:1.1rem;
}
dl.theme_list dt::before {
    content: "";
    background: url(../images/icon_mark.png) no-repeat center left;
    background-size:contain;
    display:block;
    position: absolute;
    top:50%;
    left:2px;
    transform: translate(25% , -50%);
    margin-top:1px;
    width:1em;
    height:1em;
}
dl.theme_list dd {
    font-size: 1.3rem;
    font-weight: 700;
    color:#7a4a24;
    margin-bottom:22px;
    padding-bottom:1rem;
    background: url(../images/img_border.png) repeat-x left bottom;
}
.bnr_mydo {
    width:100%;
    margin:0 auto;
}
a.more {
    background-color:#c31a1a;
    width:calc(410/570 * 100%);
    display: block;
    margin:0 auto calc(70/670 * 100%);
    border-radius: 5px;
}
@media screen and (min-width:768px){
    .l-container {
        width:calc(1024/1100 * 100%);
        border-radius:10px;
        box-shadow: 4px 4px 0 rgba(0,0,0,.2);
}
.contents .l-container::before {
    background:url(../images/img_contents.png) no-repeat left top;
    background-size:contain;
    width:calc(893/1024 * 100%);
    padding-top: 3.4%;
    position: absolute;
    right: 1.75%;
    top: -16px;
}

.sec_ttl {
        width:calc(435/1024 * 100%);
        margin: -18px 0 12px 15px;
    }

    .theme {
    background-color:#438435;
    padding: calc(30/1024 * 100%)  calc(20/1024 * 100%);
    }
    .theme_inner {
        padding:80px 40px 40px;
    }
    .next_date_box {
        width:calc(435/1024 * 100%);
        margin: 0 auto;
        font-size: 2.6rem;
        padding:calc(30/1024 * 100%) 0;
    }
    dl.theme_list dt {
        font-size:1.8rem;
        padding-left:2em;
        margin-bottom:12px;
    }
    dl.theme_list dt::before {
    width:1.5em;
    height:1.5em;
}
    dl.theme_list dd {
        font-size:2.4rem;
        font-weight: 700;
        margin-bottom:20px;
        padding-bottom:1.6rem;
    }
    .bnr_mydo {
    width:calc(825/984 * 100%);
    }
    .bnr_mydo a {
        display: block;
    }
    a.more:hover , .bnr_mydo a {
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }
    a.more:hover , .bnr_mydo a:hover {
        opacity: .7;
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }
    a.more {
    width:calc(208/984 * 100%);
    margin-bottom:calc(20/984 * 100%);
    }
}

@media screen and (min-width:1100px){
    dl.theme_list dt::before {
    width:2.2rem;
    height:2.2rem;
}
.contents .l-container::before {
    position: absolute;
    right: 1.75%;
    top: -20px;
}
}

/* #backnumber
---------------------------------------------------------- */
.backnumber {
    padding-bottom:10%;
}
.backnumber_list_ttl {
    width:calc(560/670 * 100%);
    margin:11.9% auto 14.17%;
}

.backnumber_list {
    width: calc(630/670 * 100%);
    margin: 0 auto ;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
}
.backnumber_list::before,
.backnumber_list::after {
    content:"";
    display: block;
    position: absolute;
    z-index:1;
    height:0;
    padding-top: 18.41%;
    width:calc(83/630 * 100%);
}
.backnumber_list::before {
    background:url(../images/img_chara_yamamoto.png) no-repeat center;
    background-size: contain;
    position: absolute;
    top:0;
    left:0;
    transform: rotate(-15deg);
    margin-top:-15.07936507936508%;
}
.backnumber_list::after {
    background:url(../images/img_chara_hose.png) no-repeat center;
    background-size: contain;
    position: absolute;
    top:0;
    right:0;
    transform: rotate(15deg);
    margin-top:-15.07936507936508%;
}

.backnumber_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 48.8%;
    margin: 0 0 2.2% ;
    padding-top:29.68%;
    position: relative;
    font-weight: 700;
    z-index: 3;
}

.backnumber_list li:nth-child(even) {
    margin-right: 0;
}

.backnumber_list li:last-child {
    margin-right: 0;
}

.backnumber_list li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    color: #010101;
    font-size: 1.19rem;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    background: url(../images/bg_backnumber_link.png) no-repeat  center;
    background-size: contain;
    position: absolute;
    top:0;
    left:0;
    padding:12.55% 0 22.55%;
}
.backnumber_list li a::after {
    content:"";
    background: url(../images/img_backnumber_ar.png) no-repeat center;
    background-size:contain;
    display: block;
    width:100%;
    padding-top:10%;
    position: absolute;
    bottom:18.21%;
    left:0;
}

@media screen and (min-width:768px){
    .backnumber {
    padding-bottom:5.6%;
    }
    .backnumber_list_ttl {
    width:calc(300/1024 * 100%);
    margin:2% auto ;
    }

    .backnumber_list {
        width: calc(904/1024 * 100%);
        justify-content: space-between;
    }
    .backnumber_list::before {
    width:calc(85/1024 * 100%);
    padding-top: 18.41%;
    height:0;
    position: absolute;
    top:150%;
    left:-8.3%;
    transform: rotate(-15deg);
    margin-top:-15.07936507936508%;
}
.backnumber_list::after {
    width:calc(85/1024 * 100%);
    padding-top: 18.41%;
    position: absolute;
    top:150%;
    right:-8.3%;
    transform: rotate(15deg);
    margin-top:-15.07936507936508%;
}

    .backnumber_list li {
        width: calc(221/904 * 100%);
        padding-top:14.60%;
        margin:0;
    }


    .backnumber_list li a {
        font-size: 1.6rem;
        line-height: 1.6;
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
        padding:12.55% 0 24.55%;
    }
    .backnumber_list li a::after {
    bottom:21.21%;
    left:0;
}

    .backnumber_list li a:hover {
        transform: scale(1.1);
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
        z-index:5 ;
        -webkit-backface-visibility:hidden;
        backface-visibility:hidden;
    }
}

@media screen and (min-width:1100px){

}

/* =====================================================================
*    .character
* =================================================================== */
.character {
    padding:0 0 calc(45/750 * 100%);
}
.character .l-container {
    background: url(../images/bg_blue.jpg) repeat left top;
}
.slide {
    background-color:#52649f;
    padding: calc(40/670 * 100%)  calc(20/670 * 100%);
    border-radius: 0 0 10px 10px;
    }
.slide_inner {
    background-color:#fff;
    border-radius: 5px;
    position: relative;
    padding:calc(40/670 *100%) 0;
}
.character_list{
    width: calc(560/630 * 100%);
    margin:0 auto;
}
.character_list li {
    width: calc(218/558 * 100%);
    margin:0 4px 0;
    position: relative;

}
    .character_list li .chara{
        width:calc(109/218 * 100%);
        margin:0 auto 0;
        padding-bottom:40%;
      }
    .character_list li .txt {
        display: block;
        position: absolute;
        bottom: 0;
      }

@media screen and (min-width:768px) {
    .slide {
    padding: calc(30/1024 * 100%)  calc(20/1024 * 100%);
    border-radius: 0 0 10px 10px;
    }
    .slide_inner {
        padding:calc(38/984 * 100%) calc(40/984 *100%);
    }
    .character_list{
        width: 100%;
    }
    .character_list li{
        cursor: pointer;
    }
    .character_list li .chara{
       -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }
    .character_list li:hover .chara{
        -webkit-transform: translateY(-10px);
                transform: translateY(-10px);
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }
    .character_list li{
        width: calc(220/904 * 100%);
        margin:10px 4px 0;
        position: relative;
      }
    .character_list li .chara{
        width:calc(109/218 * 100%);
        margin:0 auto 0;
        padding-bottom:40%;
      }
    .character_list li .txt {
        display: block;
        position: absolute;
        bottom: 0;
      }

}
/* #character_popup
---------------------------------------------------------- */

/* =====================================================================
*    .news
* =================================================================== */
.news {
    padding:calc(45/750 * 100%) 0 0 ;
}
.news .l-container {
    background: url(../images/bg_red.jpg) repeat left top;
}
.news_box {
    background-color:#a02d2d;
    padding: calc(30/1024 * 100%)  calc(20/1024 * 100%);
    border-radius: 0 0 10px 10px;
}
.news_list {
    background-color:#fff;
    border-radius: 5px;
    position: relative;
    padding:0 calc(28/670 *100%) ;
    max-height: 404px;
    overflow-y: scroll;
}
.news_list li {
    border-bottom: dotted 1px #532b0a;
}
.news_list li:last-child {
    border-bottom:none;
}
.news_list li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    padding: 2.2% 0 2%;
    font-size: 1rem;
    text-decoration: none;
    vertical-align: baseline;
}
.news_list li .news_txt {
    display: inline-block;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
    font-weight: bold;
    color:#8d5427;
}
.news_list li a .news_txt::after {
    content: "";
    border-bottom: solid 1px #8d5427;
    padding-top:4px;
    width:100%;
    height:1px;
    display: block;
}
.news_list li a:hover .news_txt::after {
    border-bottom: solid 1px #c31a1a;
}

.news_list li .news_date {
    font-size: 1rem;
    display: inline-block;
    color: #c31a1a;
    font-weight: bold;
    text-align: right;
}
@media screen and (min-width:768px){
    .news_list {
    padding:0 calc(40/984 *100%);
    max-height: 208px;
    }
    .news_list li:hover .news_txt {
        color:#b43131;
    }
    .news_list li a {
    padding: 2.2% 0 2%;
    font-size: 1.6rem;
    }
    .news_list li .news_txt {
    }
    .news_list li .news_date {
    font-size: 1.4rem;
    }
}

@media screen and (min-width:1100px){
}
/* =====================================================================
*    .recruitment
* =================================================================== */

.recruitment .l-container {
    width:calc(670/750 * 100%);
    position: relative;
   padding-top:calc(70/750 * 100%);
}
.recruitment .l-container::before , .recruitment .l-container::after {
        content: "";
        display: block;
        width:100%;
        margin:0 auto;
    }
.recruitment .l-container::before {
        background: url(../images/bg_bord_top_sp.png) no-repeat left bottom;
        background-size: 100% auto;
        padding-top:18.95522388059701%;
}
.recruitment .l-container::after {
        background: url(../images/bg_bord_bottom_sp.png) no-repeat left top;
        background-size: 100% auto;
        padding-top:24.47761194029851%;
    }
.recruitment .sec_ttl {
    width:calc(432/670 * 100%);
    margin:0 auto 0;
    position: relative;
}

.recruitment .sec_ttl::before , .recruitment .sec_ttl::after {
    content: "";
    display:block;
    background:url(../images/img_tourou.png) no-repeat left top;
    background-size: contain;
    padding-top:14.58%;
    width:calc(69/432 * 100%);
    z-index:3;
    position: absolute;
}
.recruitment .sec_ttl::before {
    top:-15px;
    left:-31.25%;
}
.recruitment .sec_ttl::after {
    top:-15px;
    right:-31.25%;
}

.recruitment .sec_ttl img{
    position: absolute;
    top:0;
    left: 0;
    width:100%;
    z-index:2 ;
    margin-top:-33.01%;
}

.bord_wrap {
    background: url(../images/bg_bord_repeat_sp.png) repeat-y center;
    background-size:contain;
    padding: 20px 0 10px;
    position: relative;
    margin:-1px 0;
    z-index:1 ;
}
.entryarea {
    width:calc(512/670 * 100%);
    margin:0 auto calc(48/512 * 100%);
    background-color: rgba(229, 215, 181, .5);
    border:solid 1px rgba(184, 177, 162, 0.36);
    border-radius: 5px;
    padding: 10px 0;
    position: relative;
}
.entryarea::before {
    content:"";
    background:url(../images/img_mark_sp.png) no-repeat center;
    background-size: contain;
    width:55px;
    height:55px;
    position: absolute;
    top:-15px;
    right:-4px;
    z-index:-1 ;
}

.entry_list {
    width:calc(474/512 * 100%);
    margin:0 auto 10px;
    border-radius: 5px;
    background-color: #fff;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 2px 2px 0 #e5e0d1;
}
.entry_ttl {
    background-color: #4d963d;
    color:#fff;
    font-size:1.27rem;
    font-weight: 700;
    padding:10px 10px 10px 25px ;
    position: relative;
}
.entry_ttl::before {
    content:"";
    display:inline-block ;
    background:url(../images/icon_speaker.png) no-repeat center ;
    background-size: 100% auto;
    width:15px;
    padding-top:15px;
    position: absolute;
    top:50%;
    left:0;
    transform: translate(50% , -50%);
}
.entry_txt {
    color:#8d5427;
    font-size:1.2rem;
    margin:1em 1em 0;
    padding-bottom:1em;
    border-bottom:dotted 1px #232323;
    }
.entry_btn {
    width:calc(390/474 * 100%);
    margin: calc(40/390 * 100%) auto;
}
.entry_btn a {
    background-color:#c31a1a;
    border-radius:5px;
    display: block ;
}

.bannerarea {
        width:calc(520/670 * 100%);
        margin:0 auto;
    }
.bannerarea a {
    display:block;
    margin-bottom:3.6%;
    box-shadow: 1px 1px 0 #dfdcd0;
}

@media screen and (min-width:768px) {

    .recruitment .l-container {
    width:calc(1024/1100 * 100%);
    box-shadow:none;
}
    .recruitment .l-container::before {
        background: url(../images/bg_bord_top.png) no-repeat left top;
        background-size: 100% auto;
        padding-top: 10.25390625%;
    }
    .recruitment .l-container::after {
        background: url(../images/bg_bord_bottom.png) no-repeat left top;
        background-size: 100% auto;
        padding-top:9.86328125%;
    }
    .recruitment .sec_ttl {
    width:calc(290/1024 * 100%);
    background-size:contain;
     margin:0 auto 0;
}
    .recruitment .sec_ttl::before , .recruitment .sec_ttl::after {
    content: "";
    display:block;
    background:url(../images/img_tourou.png) no-repeat left top;
    background-size: contain;
    padding-top:21.74%;
    width:calc(69/290 * 100%);
    z-index:3;
    position: absolute;
}
.recruitment .sec_ttl::before {
    top:-15px;
    left:-134.48%;
}
.recruitment .sec_ttl::after {
    top:-15px;
    right:-134.48%;
}

    .bord_wrap {
    background: url(../images/bg_bord_repeat.png) repeat-y center;
    background-size:contain;
    padding: 20px 0;
}
    .bord_wrap::before {
    }

    .entryarea {
    width:calc(885/1024 * 100%);
    padding:30px 0;
    margin-bottom:calc(50/885 * 100%);
}
.entryarea::before {
    content:"";
    background:url(../images/img_mark.png) no-repeat center;
    background-size: 100%;
    width:131px;
    height:158px;
    position: absolute;
    top:-26px;
    right:-18px;
    z-index:-1 ;
}
    .entry_list {
        width:calc(824/885 * 100%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    }
    .entry_ttl {
        font-size:2.4rem;
        width:100%;
        padding-left: calc(60/824 * 100%);
    }
    .entry_ttl::before {
        width:calc(30/824 * 100%) ;
        padding-top:2.4%;
        height:0;
    }
    .entry_txt {
        width:calc(594/824 * 100% - 2em) ;
        padding:0 1em;
        font-size:1.8rem;
        margin:1em 0;
        border-bottom:none;
    }
    .entry_btn {
        width:calc(230/824 * 100%) ;
        margin:1em 0;
        background:url(../images/bg_line.png) repeat-y left center ;
    }
    .entry_btn a {
    width:calc(208/230 * 100%);
    margin:0 auto;
    display: block ;
    -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }
    .entry_btn a:hover {
        opacity:.8;
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }

    .bannerarea {
        width:calc(824/1024 * 100%);
        margin:0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .bannerarea .half {
        width:calc(407/824 * 100%);
    }
    .bannerarea a {
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }
    .bannerarea a:hover {
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
        opacity: .7;
    }

}

@media screen and (min-width:1100px) {
    .bord_wrap::before {
        content:"";
        display: block;
        background: url(../images/img_nobori.png) no-repeat left center;
        background-size:contain;
        width:calc(177/1024 * 100%);
        padding-top:calc(427/1024 * 100%);
        position: absolute;
         left:-13.8671875%;
        top:8.2%
    }
}
