@charset "utf-8";
/* Goorle Fonts */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Roboto:wght@500&display=swap');
/*
Noto Sans JP
  Regular 400
  Medium 500
  Bold 700

Roboto
  Medium 500
/*

/* CSS Document */
body { background: linear-gradient( #fff, #BCC5CE); }
body { font-family: 'Noto Sans JP', sans-serif; }
img { width: 100%; }
.bg_white { background: #fff!important; }
.bg_black { background: #000!important; }


/* =============================
 header
============================= */
header {
    width: 100%;
    height: 60px;
    max-width: 576px;
    margin: 0 auto;
    position: relative;
    background: linear-gradient(to right, #1E4364, #222733);
    display: flex;
    align-items: center;
    justify-content: center;
}

header .guide_number {
    width: 60px;
    height: 36px;
    margin: 0 10px 0 60px;
    color: #212121;
    font-size: 18px;
    font-weight: 700;
    background: rgba(255, 255, 255, .85);
    display: flex;
    align-items: center;
    justify-content: center;
}
header .guide_number + h1 {
    margin-right: auto;
}

header h1 {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.arrow {
    position: absolute;
    left: 0;
    top: 0;
    width: 60px;
    height: 60px;
}

.arrow a {
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.arrow img {
    width: auto;
    height: 24px;
}


/* Hamburger Menu
============================= */
.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
    background-color: rgba(255, 255, 255, 1.0);
}

.drawer-overlay {
    background-color: rgba(0, 0, 0, 0.7);
}

.drawer-menu {
    margin: 0;
    padding: 60px 0 0;
    list-style: none;
    display: block;
    text-decoration: none;
    text-align: left;
}
.drawer-menu li {
    box-sizing: border-box;
    text-indent: 17px;
}

.drawer-menu li a {
    display: block;
    text-decoration: none;
    width: 100%;
}

.drawer-menu li a:hover {
    text-decoration: none;
}

.drawer-nav {
    padding-top: 3.75rem;
    background: #1E4364;
}

.drawer-nav {
    position: fixed;
    z-index: 99999;
    top: 0;
    overflow: hidden;
    width: 16.25rem;
    height: 100%;
    color: #fff;
    /*height: 318px;*/
}

.drawer-navbar .drawer-menu {
    padding-bottom: 7.5rem;
}

.drawer-overlay {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
}

.drawer-open .drawer-overlay {
    display: block;
}

@media (min-width: 64em) {
    .drawer-navbar {
        height: 3.75rem;
    }
    .drawer-navbar .drawer-menu li {
        float: left;
    }
    .drawer-navbar .drawer-menu-item {
        line-height: 3.75rem;
        padding-top: 0;
        padding-bottom: 0;
    }
    .drawer-navbar .drawer-hamburger {
        display: none;
    }
    .drawer-navbar .drawer-menu {
        padding: 0;
    }
}

.drawer-menu li a {
    color: rgba(255, 255, 255, 1.0);
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    box-sizing: border-box;
}

.drawer-menu li:first-child a,
.drawer-menu li:last-child a {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.drawer-hamburger {
    border-left: 0;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
}


/* Right
============================= */
.drawer--right .drawer-nav {
    right: -16.25rem;
    -webkit-transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.drawer--right.drawer-open .drawer-nav,
.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
    right: 0;
}

/* Hamburger
============================= */
.drawer-hamburger {
    position: absolute;
    z-index: 100000;
    top: 0;
    display: block;
    box-sizing: content-box;
    width: 1.7rem;
    padding: 0;
    padding-top: 10px;
    padding-right: .75rem;
    padding-bottom: 29px;
    padding-left: .75rem;
    -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    /*border: 0;*/
    outline: 0;
    background-color: transparent;
}

.drawer-hamburger:hover {
    cursor: pointer;
}

.drawer-hamburger-icon {
    position: relative;
    display: block;
    margin-top: 20px;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
    width: 100%;
    height: 3px;
    -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
    position: absolute;
    top: -7px;
    left: 0;
    content: '';
}

.drawer-hamburger-icon:after {
    top: 7px;
}

.drawer-open .drawer-hamburger-icon {
    background-color: transparent;
}

.drawer-open .drawer-hamburger-icon:before,
.drawer-open .drawer-hamburger-icon:after {
    top: 0;
}

.drawer-open .drawer-hamburger-icon:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.drawer-open .drawer-hamburger-icon:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* =============================
 wrapper
============================= */
.wrapper {
    width: 100%;
    max-width: 576px;
    margin: 0 auto;
    /* background: #fff; */
    text-align: left;
}


/* =============================
 contents
============================= */
.top_info_txt {
    margin-bottom: 30px;
    padding: 15px;
    line-height: 1.6;
    box-sizing: border-box;
    background: #fff;
}

.contents {
    padding: 0 15px;
    box-sizing: border-box;
}


/* =============================
 button
============================= */
.btn {
    width: 100%;
    max-width: 290px;
    height: 60px;
    background: #fff;
    border-radius: 8px;
    border-bottom: solid 3px rgba(0, 0, 0, .08);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 20px;
    color: #212121;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.top_menu_btn {
    height: 90px;
    margin: 0 auto 20px;
    font-size: 24px;
}

.btn .btn_icon {
    width: 24px;
    margin-right: 5px;
}







/*  番号でえらぶ
========================================================== */
.search_number {
    width: 100%;
    max-width: 279px;
    margin: 8px auto 0;
    padding: 0;
}
.search_number .output {
    width: 100%;
    height: 60px;
    border-bottom: solid 2px #CAD3DE;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    font-size: 45px;
}

.search_number .input {
    width: 100%;
    max-width: 279px;
    margin: 30px auto 14px;
    display: flex;
    flex-direction: column;
}

.search_number .input .row {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.search_number .input .num_bth {
    width: 75px;
    height: 75px;
    margin: 0 0 16px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 37.5px;
    font-family: 'Roboto', sans-serif;
    font-size: 30px;
    font-weight: 500;
}

.search_number .input .num_bth.btn_clear {
    color: rgba(33, 33, 33, 0.5);
}

.search_number .input .num_bth.btn_backspace img {
    width: 30px;
    margin-left: -3px;
}


/*  詳細ページ
========================================================== */
.page_details {
    margin-bottom: 50px;
}

.main {
    width: 100%;
    text-align: center;
    background: #ccced5;
}

.main img {
    max-width: 100%;
    max-height: 100%;
}

.sv {
    display: flex;
    height: 120px;
    justify-content: center;
}

.sv_btn {
    width: 146px;
    height: 70px;
    margin: 25px 0 25px 0;
    font-size: 16px;
    line-height: 1.28em;
    display: table;
    font-weight: bold;
    text-align: center;
}

.sv_btn img {
    padding-bottom: 7px;
}

.sv_btn:first-child {
    margin-right: 2%;
}

.sv_btn:last-child {
    margin-left: 2%;
}

.sv_btn a {
    display: block;
    width: 146px;
    height: 70px;
    color: #212121;
    display: table-cell;
    vertical-align: middle;
}

.contents_none {
    background: #AEB1BB;
    opacity: .8;
}

#btn-play img {
    width: 32px;
}

#btn-video-play img {
    width: 23px;
}

.base {
    margin: 0;
    padding: 10px 5%;
    font-size: 15px;
    line-height: 1.6em;
    background: rgba(255, 255, 255, .5);
    box-sizing: border-box;
    white-space: pre-line;
}

.btn_01 {
    width: 256px;
    height: 60px;
    margin: 0 auto;
    font-size: 19px;
    font-weight: 700;
    line-height: 60px;
    margin-top: 20px;
}


/*  マップで探す
========================================================== */
.area {
    transform: scale(0.9);
}

.map {
    width: 320px;
    margin: 0 auto;
    display: flex;
}

.map_01,
.map_02,
.map_03,
.map_04 {
    width: 142px;
    background-size: cover;
    height: 120px;
    position: relative;
    margin: 0 auto;
}

.map_01 {
    background: url(../img/map/map_img_zone_01.jpg) no-repeat center center / cover;
}

.map_02 {
    background: url(../img/map/map_img_zone_02.jpg) no-repeat center center / cover;
}

.map_btn {
    width: 100%;
    height: 45px;
    line-height: 1.3;
    position: absolute;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.map_01 .map_btn {
    bottom: 0;
}

.map_02 .map_btn {
    top: 0;
}

.map_01 .map_btn {
    background-color: rgba(0, 120, 190, 1.0);
}

.map_02 .map_btn {
    background-color: rgba(150, 25, 140, 1.0);
}

.map_03 .map_btn {
    background-color: rgba(0, 59, 130, 1.0);
}

.map_04 .map_btn {
    background-color: rgba(146, 14, 20, 1.0);
}

.map a {
    width: 100%;
    height: 120px;
    display: block;
}

.map_img {
    max-width: 375px;
    margin: 0 auto;
}

.map_img img {
    width: 375px;
}


/*  ゾーン詳細
========================================================== */
.zone_img {
    width: 100%;
}

.zone_img img {
    width: 100%;
}

.zone_outline {
    font-size: .9rem;
    padding: 4% 4% 0;
}

ul.contents_list {
    width: 100%;
    margin: 0;
    padding: 0 4%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    box-sizing: border-box;
}

ul.contents_list li {
    width: 44.62vw;
    max-width: 257px;
    height: 38.272vw;
    max-height: 220px;
    margin: 0 0 2.7%;
    padding: 0;
    overflow: hidden;

}

ul.contents_list li a {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    display: inline-block;
    position: relative;
    color: #fff;
    border-radius: 12px;
}

ul.contents_list li a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

ul.contents_list li .caption {
    width: 100%;
    min-height: 50px;
    padding: 6px 6px;
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: 11px;
    background: rgba(0, 0, 0, .6);
    box-sizing: border-box;
}

ul.contents_list li .caption p {
    line-height: normal;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}