@charset "UTF-8";
/* #######################
共通スタイル
####################### */

html {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    color: #5C3A00;
    background-color: #FFFBF6;
}

body {
    font-size: 3.4vw;
}

.wrap {
    width: 100%;
    margin: 0 auto;
    background-color: #FFFBF6;
}

/* PC版スタイル */
@media (min-width: 769px) {
    body {
        font-size: 16px;
    }
    .wrap {
        min-width: 1020px;
    }
    #awardTgl:checked ~ label[for="awardTgl"]#awardArea .wrap,
    #reservedTgl:checked ~ label[for="reservedTgl"]#reservedArea .wrap {
        min-width: 500px;
        width: 500px;
    }
    #gameDetail footer .btnLink label {
        max-width: 400px;
    }
}

main {
    position: relative;
    z-index: 1;
}

section {
    margin-top: 1em;
    background-color: white;
    box-sizing: border-box;
    box-shadow: 0px 2px 5px rgba(92, 58, 0, .5);
}
section > header {
    padding: 0 .5em;
    border-bottom: 1px solid #cccccc;
    box-sizing: border-box;
}
section .inner {
    padding: 0 .5em;
}

.flex {
    display: flex;
}

.disp-oneline {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
*[display="oneline"] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

header .flex {
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
header .flex a {
    color: #5C3A00;
}
header .flex a span {
    font-size: .8em;
}

li {
    list-style: none;
}

select {
    position: relative;
    padding: 0 2em 0 .5em;
    line-height: 3em;
    font-size: 1em;
    background: linear-gradient(rgba(248, 248, 248,.5), rgba(221, 221, 221,.5));
    border: 1px solid #cccccc;
    border-radius: 0;
    box-sizing: border-box;
    z-index: 1;
}

input[type="text"],
input[type="email"] {
    padding: 0 .5em;
    line-height: 3em;
    font-size: 1em;
    background-color: white;
    border: 1px solid #cccccc;
    box-sizing: border-box;
}
input[type="number"] {
    padding: 0 .5em;
    line-height: 3em;
    font-size: 1em;
    background-color: white;
    border: 1px solid #cccccc;
    box-sizing: border-box;
}

button {
    padding: 0 .5em;
    line-height: 3em;
    font-size: 1em;
    background: linear-gradient(#f8f8f8, #dddddd);
    border: 1px solid #cccccc;
    border-radius: 0;
    box-sizing: border-box;
}

.table {
    display: table;
}
.table > * {
    display: table-cell;
}

a[lines-to-show="1"] {
    display: inline-block;
    padding: .5em 0;
    width: 100%;
    box-sizing: border-box;
}
a[link-type="detail"] {
    /* color: #00A7E5; */
    color: dodgerblue;
}
a[display="box"] {
    position: relative;
    display: block;
    padding: 1.25em 0 1.25em;
    width: 100%;
    color: #5C3A00;
    box-sizing: border-box;
}
a[display="box"] .title {
    padding: 0.25em 0;
}
a[display="box"] .title span {
    font-size: 1.1em;
}
a[display="box"] .date {
    position: absolute;
    top: 0;
    right: 0;
    line-height: .8em;
}
a[display="box"] .about span {
    font-size: .8em;
}
a.optionLink {
    position: absolute;
    bottom: 0;
    right: 0;
    line-height: .8em;
    color: dodgerblue;
}
.allLists a.optionLink {
    bottom: .5em;
    font-size: .8em;
}
a.optionLink span {
    font-size: .8em;
}
.anker-textdecoration-none a {
    text-decoration: none;
}

.title {
    font-weight: bold;
}
.flex dt.title {
    width: 28em;
}

.date {
    color: lightslategray;
}
.date span {
    font-size: .8em;
}
.flex dd.date {
    width: 6em;
    text-align: right;
}

.tglArea {
    display: none;
}

#searchEasyTgl  ~ .tglArea ~ * {
    display: none;
}
#searchEasyTgl:checked + .btnTgl {
    display: none;
}
#searchEasyTgl:checked ~ footer {
    display: inherit;
}
#searchEasyTgl:checked + .btnTgl + .tglArea {
    display: inherit;
}
#searchEasyTgl:checked  ~ .tglArea ~ .btnTgl {
    display: inherit;
}

#searchDetailTgl:checked  ~ .tglArea {
    display: inherit;
}
#searchDetailTgl:checked ~ .btnTgl label {
    border-bottom: none;
}
#searchDetailTgl:checked ~ .btnTgl label[for="blogListOpen"] {
    display: none;
}
#blogListOpen:checked + .btnTgl label[for="blogListOpen"] {
    display: none;
}
#blogListOpen:checked + .btnTgl + .tglArea {
    display: block;
}
label[for="searchDetailTgl"]::after {
    content: "を開く";
}
#searchDetailTgl:checked ~ .btnTgl label[for="searchDetailTgl"]::after {
    content: "を閉じる";
}


.btn {
    color: dimgray;
    text-align: center;
}
.btnLink > * {
    display: inline-block;
    padding: 1.2em;
    width: calc(100% - 2em);
    line-height: 1em;
    color: white;
    text-decoration: none;
    background: orangered;
    border: none;
    border-radius: 2em;
    box-sizing: border-box;
}
.btnTgl > * {
    display: inline-block;
    padding: 1.2em;
    width: 100%;
    line-height: 1em;
    color: dimgray;
    text-decoration: none;
    background-color: #efefef;
    border-bottom: 2px solid gray;
    box-sizing: border-box;
}

.aboutText {
    padding: .5em;
}
.aboutText p {
    color: dimgray;
}

/* archive */
.archive {
    padding: .5em 0;
}
.archive > dl {
    display: block;
    position: relative;
}
.archive a[display="box"] {
    position: initial;
}

/* ---------------
 icon
--------------- */

.icon::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    display: inline-block;
    margin-right: .5em;
}
.icon::after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    display: inline-block;
    margin-right: .5em;
}
.bars .icon::before {
    content: "\f0c9";
}
/* <i class="fas fa-cube"></i> */
.about .icon::before {
    content: "\f1b2";
}
/* <i class="fas fa-map-marked-alt"></i> */
.access .icon::before {
    content: "\f5a0";
    content: "\f14e"; /* 応急措置 */
}
/* <i class="fas fa-grip-vertical"></i> */
.map .icon::before {
    content: "\f58e";
    content: "\f279"; /* 応急措置 */
}
/* <i class="fas fa-blog"></i> */
.news .icon::before {
    content: "\f781";
    content: "\f09e"; /* 応急措置 */
}
/* <i class="fas fa-gamepad"></i> */
.game .icon::before {
    content: "\f11b";
}
/* <i class="fas fa-store"></i> */
.boothlist .icon::before {
    content: "\f54e";
    content: "\f0ca"; /* 応急措置 */
}
.titleLv3 .icon {
    margin-left: .5em;
}
/* <i class="fas fa-search"></i> */
.search .icon::before {
    content: "\f002";
}
/* <i class="fas fa-bullhorn"></i> */
.bullhorn .icon::before {
    content: "\f0a1";
}
/* <i class="fas fa-candy-cane"></i> */
.theme .icon::before {
    content: "\f786";
    content: "\f02c"; /* 応急措置 */
}
/* <i class="fas fa-stopwatch"></i> */
.time .icon::before {
    content: "\f2f2";
}
/* <i class="fas fa-users"></i> */
.num .icon::before {
    content: "\f0c0";
}
/* <i class="fas fa-user-shield"></i> */
.age .icon::before {
    content: "\f505";
}
/* <i class="fas fa-yen-sign"></i> */
.price .icon::before {
    content: "\f157";
}
/* <i class="fas fa-child"></i> */
.experience .icon::before {
    content: "\f1ae";
}
/* <i class="fas fa-calendar-alt"></i> */
.calendar .icon::before {
    content: "\f073";
}
/* <i class="fas fa-flag-checkered"></i> */
.entry .icon::before {
    content: "\f11e";
}
/* <i class="fas fa-paper-plane"></i> */
.contact .icon::before {
    content: "\f1d8";
}
/* <i class="fab fa-twitter"></i> */
.twitter .icon::before {
    font-family: "Font Awesome 5 Brands";
    font-weight: 400;
    content: "\f099";
}
/* <i class="fas fa-comments"></i> */
.faq .icon::before {
    content: "\f086";
}
/* <i class="fas fa-building"></i> */
.company .icon::before {
    content: "\f1ad";
}
/* <i class="fas fa-file-signature"></i> */
.rule .icon::before {
    content: "\f573";
    content: "\f19d"; /* 応急措置 */
}
/* <i class="fas fa-file-invoice"></i> */
.privacy .icon::before {
    content: "\f570";
    content: "\f023"; /* 応急措置 */
}
/* <i class="fas fa-file-invoice-dollar"></i> */
.regal .icon::before {
    content: "\f571";
    content: "\f0e3"; /* 応急措置 */
}
/* <i class="far fa-copyright"></i> */
.copyright .icon::before {
    font-weight: 400;
    content: "\f1f9";
}

.booking .icon::before {
    font-family: fontawesome;
    font-weight: 400;
    content: "\f274";
}
.designer .icon::before {
    font-family: fontawesome;
    font-weight: 400;
    content: "\f0d0";
}

.illustrator .icon::before {
    font-family: fontawesome;
    font-weight: 400;
    content: "\f1fc";
}
.report .icon::before {
    font-family: fontawesome;
    font-weight: 400;
    content: "\f201";
}
/* <i class="fas fa-sort"></i> */
.select {
    position: relative;
    background: white;
}
.select::after {
    font-family: 'Font Awesome 5 Free';
    position: absolute;
    top: calc(50% - .5em);
    right: .5em;
    content: "\f0dc";
    color: black;
    font-weight: 900;
    z-index: 0;
}
.select select {
    width: 100%;
}
.select i {
    position: absolute;
    top: calc(50% - .5em);
    right: .5em;
    color: dimgray;
}

/* #######################
共通コンポーネント
####################### */

#searchFreeWord .inner {
    margin: 0 .5em;
}

#commonHeader {
    background-color: white;
    border-bottom: 1px solid #cccccc;
}
#commonHeader.fixed {
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 2;
}
#commonHeader.fixed ~ #shortcutLink {
    margin-top: 4em;
}
#commonHeader.fixed .siteLogo img {
    height: 1.75em;
}
#commonHeader.fixed label[for="modalTgl"] {
    padding: 1em;
}
#commonHeader.fixed label[for="modalTgl"] i {
    font-size: 1em;
}
#commonHeader .flex {
    align-items: center;
    width: 100%;
}
#commonHeader label[for="modalTgl"] {
    padding: 1.75em;
    line-height: 1em;
    box-sizing: border-box;
    transition: padding .25s;
}
#commonHeader label[for="modalTgl"] i {
    font-size: 1.5em;
    transition: font-size .25s;
}
#commonHeader .siteLogo {
    padding: .25em .25em .25em 3em;
    width: calc(100% - 3em);
    text-align: center;
    box-sizing: border-box;
}
#commonHeader .siteLogo img {
    display: block;
    margin: 0 auto;
    height: 2.75em;
    width: auto;
    box-sizing: border-box;
    transition: height .25s;
}

#commonFooter {
    position: relative;
    margin-top: 23.4375vw;
    padding: 0 1em;
    text-align: center;
    background: #F59900;
}
#commonFooter::after {
    position: absolute;top: -21.15885vw;
    height: 23.4375vw;
    left: 0;
    content: "";
    width: 100%;
    background-image: url(../images/footer-img_top.png);
    background-position: center;
    background-size: cover;
    z-index: 0;
}
#commonFooter a {
    text-decoration: none;
}
#commonFooter a span {
    text-decoration: underline;
}
#commonFooter small {
    display: block;
    padding: 2em;
    text-align: center;
    color: white;
}
#commonFooter small span {
    font-size: 1.5em;
}
#commonFooter figure {
    position: relative;
    padding: 2em;
    z-index: 1;
}
#commonFooter img {
    display: block;
    margin: 0 auto;
    width: 10em;
}
#commonFooter a {
    color: white;
}
#commonFooter .itemList-child {
    display: inline-block;
    margin: .5em;
    border-bottom: none;
}

body > label[for="modalTgl"],
body > label[for="awardTgl"],
body > label[for="reservedTgl"] {
    display: none;
    font-size: 0;
    line-height: 0;
}
#modalTgl:checked ~ label[for="modalTgl"],
#awardTgl:checked ~ label[for="awardTgl"],
#reservedTgl:checked ~ label[for="reservedTgl"] {
    position: fixed;
    top: 0;
    display: block;
    width: 100vw;
    height: 100vh;
    font-size: initial;
    line-height: initial;
    background-color: #FFFBF6;
    z-index: 100;
}
#modalTgl:checked ~ label[for="modalTgl"] #globalNav,
#awardTgl:checked ~ label[for="awardTgl"] .wrap,
#reservedTgl:checked ~ label[for="reservedTgl"] .wrap {
    margin: 8vh auto;
    width: 90vw;
    box-sizing: border-box;
}
#awardTgl:checked ~ label[for="awardTgl"] .wrap,
#reservedTgl:checked ~ label[for="reservedTgl"] .wrap {
    padding: 0 1em 2em;
    text-align: center;
    background: white;
    border: 5px solid #efefef;
    box-shadow: 0 0 10px rgba(0,0,0,.2);
}
#awardTgl:checked ~ label[for="awardTgl"] .wrap[data-type="finished"],
#reservedTgl:checked ~ label[for="reservedTgl"] .wrap[data-type="finished"] {
    padding: 2em 1em;
}
#awardTgl:checked ~ label[for="awardTgl"] .textAlert.alertLv2,
#reservedTgl:checked ~ label[for="reservedTgl"] .textAlert.alertLv2 {
    margin: 0 0 2em;
    padding: .5em;
}
#awardTgl:checked ~ label[for="awardTgl"] .textAlert.alertLv2 p,
#reservedTgl:checked ~ label[for="reservedTgl"] .textAlert.alertLv2 p {
    margin: .5em 0;
    text-align: left;
    font-size: .8em;
}
#awardTgl:checked ~ label[for="awardTgl"] header,
#reservedTgl:checked ~ label[for="reservedTgl"] header {
    padding: 2em 0;
}
#awardTgl:checked ~ label[for="awardTgl"] form,
#reservedTgl:checked ~ label[for="reservedTgl"] form {
    margin: 1em 0;
}
#awardTgl:checked ~ label[for="awardTgl"] form dl + dl,
#reservedTgl:checked ~ label[for="reservedTgl"] form dl + dl {
    margin-top: 1.5em;
}
#awardTgl:checked ~ label[for="awardTgl"] form dt,
#reservedTgl:checked ~ label[for="reservedTgl"] form dt {
    text-align: left;
}
#awardTgl:checked ~ label[for="awardTgl"] form dd,
#reservedTgl:checked ~ label[for="reservedTgl"] form dd {
    margin-top: .5em;
}
#awardTgl:checked ~ label[for="awardTgl"] form input[type="text"],
#reservedTgl:checked ~ label[for="reservedTgl"] form input[type="text"],
#reservedTgl:checked ~ label[for="reservedTgl"] form input[type="email"] {
    width: 100%;
}
#awardTgl:checked ~ label[for="awardTgl"] form .btnLink,
#reservedTgl:checked ~ label[for="reservedTgl"] form .btnLink {
    font-weight: bold;
    margin-top: 2em;
}
#awardTgl:checked ~ label[for="awardTgl"] .btnLink.close > *,
#reservedTgl:checked ~ label[for="reservedTgl"] .btnLink.close > * {
    margin-top: 3em;
    width: calc(100% - 8em);
    color: black;
    font-size: .8em;
    background: #efefef;
}
#modalTgl:checked ~ label[for="modalTgl"] #globalNav::after,
#awardTgl:checked ~ label[for="awardTgl"] .wrap::after,
#reservedTgl:checked ~ label[for="reservedTgl"] .wrap::after {
    content: "×";
    position: absolute;
    top: .25em;
    right: .25em;
    font-size: 1.5em;
}
#modalTgl:checked ~ label[for="modalTgl"] #globalNav .container {
    border: 5px solid rgba(92, 58, 0,.7)
}
#modalTgl:checked ~ label[for="modalTgl"] #globalNav a {
    display: inline-block;
    padding-left: 1em;
    width: 100%;
    height: calc((80vh - 10px) / 11);
    line-height: calc((80vh - 10px) / 11);
    color: #5C3A00;
    font-size: calc((80vh - 10px) / 28);
    text-decoration: none;
    background: white;
    box-sizing: border-box;
}
#reservedNum {
    margin-top: 1em;
    padding: 1em;
    border: 2px solid;
    pointer-events: none;
}
#reservedNum p {
    margin-top: .25em;
    font-size: 2em
}