body {
    font-family: 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans HK', sans-serif;
    background: #F1F1F1;
}

* {
    word-break: break-all;
}

/* 全てのリンクの下線を消去する */
a:hover {
    text-decoration: none;
}

p {
    margin: 0;
}

.row {
    /* padding: 0 0.2rem; */
    margin-top: 0.4rem;
    margin-right: 0;
    margin-left: 0;
}

.menu-row {
    margin-top: 0.2rem;
    margin-left: 4px;
    margin-right: 4px;
}

.col {
    /* padding: 0 0.2rem; */
    margin-top: 0.5rem;
    margin-right: 0;
    margin-left: 0;
}

hr {
    border-width: 1px 0px 0px 0px;
    /* 太さ */
    border-style: solid;
    /* 線種 */
    height: 1px;
    /* 高さ(※古いIE用) */
    padding: 0;
    margin-top: 0.4rem;
    margin-bottom: 0.4rem;
}

.col-6,
.col-12 {
    padding: 0;
}

.col-3 {
    padding: 0 0.2rem 0 0.2rem;
}

.col-5 {
    padding: 0 0.2rem 0 0.2rem;
}

.col-limit {
    max-width: 15rem;
    min-width: 10rem;
}

.col-7 {
    padding: 0 0.2rem 0 0.2rem;
}

.col-1-4 {
    width: 25%;
    float: left;
    padding: 0 0.1rem 0 0.1rem;
    font-size: 1.0rem;
}

.col-1-5 {
    width: 20%;
    float: left;
    padding: 0 0.1rem 0 0.1rem;
    font-size: 1.0rem;
}

@media only screen and (min-device-width:160px) and (max-device-width:320px) and (orientation:portrait) {
    .col-1-4 {
        font-size: 0.8rem;
    }

    .col-1-5 {
        font-size: 0.8rem;
    }
}


.button-area .col-6:nth-child(odd) {
    padding-right: 0.2rem;
}

.button-area .col-6:nth-child(even) {
    padding-left: 0.2rem;
}

a.l-btn {
    display: flex;
    justify-content: center;
    width: 100%;
    border-radius: 0.5rem;
    text-decoration: none;
    overflow: hidden;
    vertical-align: middle;
}

a.l-btn:active {
    /* filter: saturate(150%); */
    opacity: 0.8;
}

a.l-btn:hover {
    /*color: #ffffff;*/
}

a.l-btn .content {
    max-width: 100%;
    display: flex;
    justify-content: center;
}

a.l-btn .content span.btn-text {
    font-size: 12px;
    max-width: 100%;
    font-weight: 500;
    word-break: break-word;
    margin: 0;
    vertical-align: middle;
}

@media (max-width: 320px) {

    /* 横幅が320px以下の場合に適用するスタイル */
    a.l-btn .content span.btn-text {
        font-size: 0.7rem;
    }
}

a.l-btn .content span.btn-eng {
    max-width: 100%;
    color: rgba(0, 0, 0, 0.15);
}

#rbtn_pref {
    background: #30c734;
}

#rbtn_genre {
    background: #007bff;
}

#rbtn_tps {
    background: #007bff;
}

.icons_s {
    display: flex;
}

.icons_s img {
    width: 2.7rem;
    height: 2.7rem;
    margin: auto;
    /*margin-left: -0.6rem;*/
    /* display: inline-block; */
}

.list-btn {
    -webkit-appearance: none;
    border-radius: 0;
    font-size: 12px;
    line-height: 0.9rem;
    height: 3rem !important;
    padding-left: 0.0rem;
    padding-right: 0.2rem;
    color: #ffffff;
    /*    padding-top: 1rem;
    padding-bottom: 1rem;*/
}

@media only screen and (min-device-width:320px) and (max-device-width:568px) and (orientation:portrait) {
    .list-btn {
        -webkit-appearance: none;
        border-radius: 0;
        font-size: 9pt;
        line-height: 0.9rem;
        height: 3rem !important;
        padding-left: 0.0rem;
        padding-right: 0.2rem;
        color: #ffffff;
        /*    padding-top: 1rem;
    padding-bottom: 1rem;*/
    }
}

.list-area {
    text-align: center;
    min-height: 100vh;
    min-height: calc(100vh - 3.5rem - 6rem - 3rem);
    min-height: calc(100vh - 3.5rem - 6rem - 3rem - env(safe-area-inset-bottom));
    margin-bottom: 5px;
    margin-bottom: calc(60px + env(safe-area-inset-bottom));
    margin-bottom: 8vh;
}

.list-area-hist {
    text-align: center;
    min-height: 100vh;
    min-height: calc(100vh - 7vh - 20vh);
    min-height: calc(100vh - 7vh - 20vh - env(safe-area-inset-bottom));
    margin-bottom: 5px;
    margin-bottom: calc(60px + env(safe-area-inset-bottom));
}

input[type="checkbox"] {
    display: none;
}

.chkPref,
.chkGenre,
.chkGenreSm,
.chkMap {
    user-select: none;
    /* 文字列選択させない */
    -moz-user-select: none;
    /* Firefox */
    -webkit-user-select: none;
    /* Safari、Chromeなど */
    -ms-user-select: none;
    /* IE10かららしい */
    width: 100%;
    text-align: center;
    /* テキストのセンタリングを指定する */
    line-height: 2.25rem;
    /* 行の高さを指定する */
    padding-left: 1px;
    /* ラベル内左側の余白を指定する */
    padding-right: 1px;
    /* ラベル内右側の余白を指定する */
    cursor: pointer;
    /* マウスカーソルの形（リンクカーソル）を指定する */
    color: #666666;
    /* フォントの色を指定 */
    border: 1px solid #C1C1C1;
    /* ラベルの境界線を実線で指定する */
    background: #FFFFFF;
    border-radius: 10px;
    /* 角丸を指定する */
    margin-top: 0;
    margin-bottom: 0;
}

.chkGenre {
    font-size: 11.5px;
}

.chkGenreSm {
    font-size: 15px;
}

.chkMap {
    border: none;
}

@media (max-width: 320px) {

    /* 横幅が320px以下の場合に適用するスタイル */
    .chkGenre,
    .chkGenreSm {
        font-size: 9px;
    }
}

input[type="checkbox"]:checked+.chkPref {
    background: #30c734;
    /* マウス選択時の背景色を指定する */
    border: 1px solid #30c734;
    /* ラベルの境界線を実線で指定する */
    color: #ffffff;
    /* マウス選択時のフォント色を指定する */
}

input[type="checkbox"]:checked+.chkGenre {
    background: #007bff;
    /* マウス選択時の背景色を指定する */
    border: 1px solid #007bff;
    /* ラベルの境界線を実線で指定する */
    color: #ffffff;
    /* マウス選択時のフォント色を指定する */
}

input[type="checkbox"]:checked+#tps {
    background: #007bff;
    /* マウス選択時の背景色を指定する */
    border: 1px solid #007bff;
    /* ラベルの境界線を実線で指定する */
    color: #ffffff;
    /* マウス選択時のフォント色を指定する */
}

input[type="checkbox"]:checked+#info {
    background: #007bff;
    /* マウス選択時の背景色を指定する */
    border: 1px solid #007bff;
    /* ラベルの境界線を実線で指定する */
    color: #ffffff;
    /* マウス選択時のフォント色を指定する */
}

input[type="checkbox"]:checked+#map_tp,
input[type="checkbox"]:checked+#map_info {
    background: #66b0ff;
    /* マウス選択時の背景色を指定する */
    /*border: 1px solid #3034c7;     ラベルの境界線を実線で指定する */
    color: #ffffff;
    /* マウス選択時のフォント色を指定する */
}

.cp_iptxt {
    position: relative;
}

.cp_iptxt input[type=text] {
    font: 15px/24px sans-serif;
    box-sizing: border-box;
    height: 3rem;
    width: 100%;
    padding: 0.3em;
    margin: 0;
    transition: 0.3s;
    border: 2px solid #C1C1C1;
    border-radius: 8px;
    outline: none;
}

.cp_iptxt input[type=text]:focus {
    /* border-color: #da3c41; */
}

.cp_iptxt input[type=text] {
    padding-left: 40px;
}

.cp_iptxt i {
    position: absolute;
    top: 8px;
    left: 0;
    padding: 9px 15px;
    transition: 0.3s;
    color: #aaaaaa;
}

.cp_iptxt input[type=text]:focus+i {
    /* color: #da3c41; */
}

/*=========================================================
	ARTICLE
===========================================================*/

#list-title {
    position: absolute;
    width: 100%;
    left: 0;
    font-size: 14px;
    color: #999999;
    padding-top: 0.1rem;
}

.article {
    position: relative;
    margin-bottom: 5px;
    padding: 0px 3px;
}

.article hr {
    background-color: black;
    height: 3px;
}

.article .article-img>a {
    display: block;
}

.article>a:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: #222;
    opacity: 0;
    -webkit-transition: 0.2s opacity;
    transition: 0.2s opacity;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    /* margin: 0px 3px; */
}

.article-dg>a:after {
    border-radius: 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

/******* メディアクエリ での制御 スマホのタップではhoverが誤った動きになる *******/
/* :hoverが使える端末を想定 */
@media (hover: hover) {
    .article:hover>a:after {
        opacity: 0.3;
    }
}

/* :hoverが使えない端末を想定 */
@media (hover: none) {
    .article:active>a:after {
        opacity: 0.3;
    }
}

.article .article-img,
.article .article-img-dg {
    position: relative;
    overflow: hidden;
    object-fit: cover;
}

.article .article-img img {
    width: 100%;
    height: 7rem;
    object-fit: cover;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    -webkit-transition: 0.5s -webkit-transform;
    transition: 0.5s -webkit-transform;
    transition: 0.5s transform;
    transition: 0.5s transform, 0.5s -webkit-transform;
}

.article .article-img-dg img {
    width: 100%;
    height: 7rem;
    object-fit: cover;
    border-radius: 10px;
    -webkit-transition: 0.5s -webkit-transform;
    transition: 0.5s -webkit-transform;
    transition: 0.5s transform;
    transition: 0.5s transform, 0.5s -webkit-transform;
}

.article .article-img-slide img {
    /* width: 60%; ikem*/
    width: 100%;
    margin: 0 auto;
    -webkit-transition: 0.5s -webkit-transform;
    transition: 0.5s -webkit-transform;
    transition: 0.5s transform;
    transition: 0.5s transform, 0.5s -webkit-transform;
}

.article:hover .article-img img,
.article:hover .article-img-slide img,
.article:hover .article-img-dg img {
    /*    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);*/
}

.article .article-img .article-info {
    position: absolute;
    bottom: 5px;
    left: 15px;
    z-index: 22;
}

.article .article-body {
    padding-top: 0.1rem;
    padding-bottom: 0.2rem;
    background: #FFFFFF;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 0px 1px 1px #DDDDDD;
}

.article .article-body-dg {
    color: #000000;
    font-size: 10pt;
    text-align: left;
    padding: 0.2rem;
    padding-top: 0;
    padding-bottom: 0.2rem;
    background: #FFFFFF;
}

.article .article-body .article-info {
    margin-bottom: 15px;
}

.article .article-info li {
    display: inline-block;
    margin-right: -2px;
}

.article .article-info .article-type {
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    background: #222;
    color: #FFF;
    font-size: 12.5px;
}

.article .article-info .article-category>span {
    display: inline-block;
    padding: 0px 30px;
    height: 30px;
    line-height: 30px;
    background: #EF233C;
    color: #FFF;
    /*text-transform: uppercase;*/
    font-style: normal;
    font-size: 12.5px;
}

.article .article-info .article-category>span:hover {
    opacity: 0.8;
}

.article .article-title {
    -webkit-text-size-adjust: 100%;
    height: 15pt;
    /*text-transform: uppercase;*/
    margin-top: 0px;
    text-align: left;
    font-size: 11pt;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
    color: #000000;
    white-space: nowrap;
    /* 横幅のMAXに達しても改行しない */
    overflow: hidden;
    /* ハミ出した部分を隠す */
    text-overflow: ellipsis;
    /* 「…」と省略 */
    -webkit-text-overflow: ellipsis;
    /* Safari */
    -o-text-overflow: ellipsis;
    /* Opera */
}

@media only screen and (min-device-width:160px) and (max-device-width:320px) and (orientation:portrait) {
    .article .article-title {
        font-size: 8pt;
    }
}

.article .article-title-dg {
    -webkit-text-size-adjust: 100%;
    height: 13pt;
    /*text-transform: uppercase;*/
    margin-top: 0px;
    text-align: left;
    font-size: 11pt;
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
    color: #000000;
    white-space: nowrap;
    /* 横幅のMAXに達しても改行しない */
    overflow: hidden;
    /* ハミ出した部分を隠す */
    text-overflow: ellipsis;
    /* 「…」と省略 */
    -webkit-text-overflow: ellipsis;
    /* Safari */
    -o-text-overflow: ellipsis;
    /* Opera */
}

@media only screen and (min-device-width:160px) and (max-device-width:320px) and (orientation:portrait) {
    .article .article-title {
        font-size: 8pt;
    }
}

.article .article-title>a {
    color: #000000;
}

.article .article-area {
    /*text-transform: uppercase;*/
    margin-top: 0px;
    font-size: 7pt;
    color: #000000;
    /*padding-left: 0.3rem;*/
    padding-right: 0.3rem;
    white-space: nowrap;
}

@media only screen and (min-device-width:160px) and (max-device-width:320px) and (orientation:portrait) {
    .article .article-area {
        font-size: 6pt;
    }
}

.article .article-area36 {
    /*color: #3987C9;*/
    background: url('../images/ico_pref_blue.png');
    background-position: center;
    background-size: 0.7rem 0.7rem;
    background-repeat: no-repeat;
    padding-left: 1rem;
}

.article .article-area37 {
    /*color: #34BB78;*/
    background: url('../images/ico_pref_green.png');
    background-position: center;
    background-size: 0.7rem 0.7rem;
    background-repeat: no-repeat;
    padding-left: 1rem;
}

.article .article-area38 {
    /*color: #FF8824;*/
    background: url('../images/ico_pref_orange.png');
    background-position: center;
    background-size: 0.7rem 0.7rem;
    background-repeat: no-repeat;
    padding-left: 1rem;
}

.article .article-area39 {
    /*color: #EE5993;*/
    background: url('../images/ico_pref_pink.png');
    background-position: center;
    background-size: 0.7rem 0.7rem;
    background-repeat: no-repeat;
    padding-left: 1rem;
}

.article .article-meta {
    margin-bottom: 10px;
    margin-top: 10px;
}

.article .article-meta li {
    display: inline-block;
    color: #DDD;
    font-weight: 400;
    font-size: 12.5px;
    /*text-transform: uppercase;*/
}

.article .article-meta li+li {
    margin-left: 10px;
}

.star {
    font-size: 7pt;
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC;
    /* グレーカラー 自由に設定化 */
}

.star:before,
.star:after {
    content: '★★★★★';
}

.star:after {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffcf32;
}

.star[data-rate="5"]:after {
    width: 100%;
}

/* 星5 */
.star[data-rate="4.5"]:after {
    width: 90%;
}

/* 星4.5 */
.star[data-rate="4"]:after {
    width: 80%;
}

/* 星4 */
.star[data-rate="3.5"]:after {
    width: 70%;
}

/* 星3.5 */
.star[data-rate="3"]:after {
    width: 60%;
}

/* 星3 */
.star[data-rate="2.5"]:after {
    width: 50%;
}

/* 星2.5 */
.star[data-rate="2"]:after {
    width: 40%;
}

/* 星2 */
.star[data-rate="1.5"]:after {
    width: 30%;
}

/* 星1.5 */
.star[data-rate="1"]:after {
    width: 20%;
}

/* 星1 */
.star[data-rate="0.5"]:after {
    width: 10%;
}

/* 星0.5 */
.star[data-rate="0"]:after {
    width: 0%;
}

/* 星0 */

.point {
    /*font-family: 'Sawarabi Gothic', sans-serif;*/
    font-family: 'GenevaBold', sans-serif;
    position: absolute;
    width: 1.75rem;
    height: 1.75rem;
    font-size: 1.25rem;
    margin-top: 0.4rem;
    margin-left: 0.5rem;
    padding-right: 0.05rem;
    color: #FFFFFF;
    font-weight: bold;
    background: #007bff;
    text-align: center;
    vertical-align: middle;
    border-radius: 50%;
    box-shadow: 0px 0px 1px 1px #FFFFFF;
}

.point_img {
    position: absolute;
    width: 2em;
    height: 2em;
    margin-top: 0.4rem;
    margin-left: 0.5rem;
    padding-right: 0.05rem;
    text-align: center;
    vertical-align: middle;
}

.reserve_img {
    position: absolute;
    width: 2em;
    height: 2em;
    top: 0.4rem;
    right: 0.5rem;
    vertical-align: middle;
    border-radius: 0 !important;
}

.now_point {
    /*font-family: 'Sawarabi Gothic', sans-serif;*/
    font-family: 'GenevaBold', sans-serif;
    position: relative;
    font-size: 18pt;
    /*1.5em;*/
    line-height: 1.4;
    color: #FFFFFF;
    font-weight: bold;
    text-align: center;
    width: 2.7rem;
    height: 1.9rem;
    /*letter-spacing: -1.5px;*/
    /*    border-radius: 1rem;
      background: #FFFFFF;
      margin-left: 0.5rem;
      padding-right: 0.7rem;
      padding-left: 0.7rem;  */
}

.now_point_str {
    vertical-align: middle;
    color: #FFFFFF;
}

@media (max-width: 320px) {

    /* 横幅が320px以下の場合に適用するスタイル */
    .now_point_str {
        font-size: 0.8rem;
    }
}

header {
    width: 100%;
    background-color: #F1F1F1;
    position: fixed;
    top: 0;
    z-index: 99;
    transition: 1s;
    padding-top: 3rem;
    margin-top: -3rem;
    /*padding: 0 1rem 0 1rem;*/
}

.hide {
    transform: translateY(-170px);
}

.container-fluid {
    margin-top: 9.0rem;
    position: relative;
    padding: 0;
}

.container-fluid-tabs {
    position: relative;
    padding: 0;
}

#search_box {
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding-bottom: 15.2rem;
}

#search_map {
    width: 100%;
    height: 100%;
}

.txt-searchword {
    width: 100%;
    height: 3rem;
    padding-left: 2.5rem;
    margin: auto;
    border-radius: 0.5rem;
    border: solid 1px #999999;
}