@charset "utf-8";
/* CSS Document */
* {
    margin: 0;
    padding: 0;
}
html {
    font-size: 100%;
}
body {
    font-family: san-serif;
}
img {
    max-width: 100%;
    vertical-align: bottom;
}
li {
    list-style: none;
}
a {
    text-decoration: none;
    color: #000000;
}
a:hover {
    opacity: 0.7;
}
h2 {
    text-align: center;
    font-size: 35px;
    margin-bottom: 30px;
    font-weight: normal;
}
.txt-center {
    text-align: center;
}
.table-sp {
    width: 100%;
    border-collapse: collapse;
}
.table-sp th, td {
    padding: 10px 15px;
    border: 1px solid #afafaf;
}
.table-sp th {
    width: 20%;
    text-align: left;
}
.table-form {
    width: 100%;
    border-collapse: collapse;
}
.table-form th, td {
    padding: 20px;
    border: 1px solid #afafaf;
    background-color: #ffffff;
}
.table-form th {
    width: 40%;
    text-align: left;
}
.table-form .req {
    color: #d12b2b;
}
.form-box {
    background-color: #f2f2f2;
}
.form-box table {
    margin-bottom: 10px;
}
.sp {
    display: none;
}
/* header --------------------------------------------------*/
#header {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
}
#header .box {
    display: flex;
    background-color: #ffffff;
    border-radius: 10px;
    padding: 20px;
    margin: 20px;
    align-items: center;
    justify-content: space-between;
}
#header .logo {
    max-width: 306px;
    line-height: 0;
}
#header .logo a {
    display: block;
}
#header .navi {
    display: flex;
    align-items: center;
}
#header .navi li {
    margin-right: 10px;
}
.header-txt {
    font-size: 14px;
}
.header-txt p {
    padding-bottom: 3px;
}
.search_container {
    box-sizing: border-box;
    position: relative;
    border: 1px solid #888888;
    display: block;
    padding: 3px 10px;
    border-radius: 20px;
    height: 2.3em;
    width: 240px;
    overflow: hidden;
    background-color: #ffffff;
}
.search_container input[type="text"] {
    border: none;
    height: 2.0em;
}
.search_container input[type="text"]:focus {
    outline: 0;
}
.search_container input[type="submit"] {
    cursor: pointer;
    font-family: FontAwesome;
    font-size: 1.3em;
    border: none;
    background: none;
    color: #afafaf;
    position: absolute;
    width: 2.5em;
    height: 2.5em;
    right: 0;
    top: -10px;
    outline: none;
}
.Language {
    display: inline-flex;
    align-items: center;
    position: relative;
}
.Language::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}
.Language select {
    appearance: none;
    min-width: 150px;
    height: 2.4em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #888888;
    border-radius: 3px;
    background-color: #fff;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
}
.wrapper {
    max-width: 1000px;
    padding: 40px 20px;
    margin: 0 auto;
}
/* mainvisual --------------------------------------------------*/
.mainvisual {
    width: 100%;
    height: 600px;
    position: relative;
    overflow: hidden;
    margin-bottom: 60px;
}
.img-01, .img-02, .img-03 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 550px;
    background-position: center;
    aspect-ratio: 16 / 9;
    background-size: 100% auto;
    background-repeat: no-repeat;
}
.top_title img {
    padding-bottom: 60px;
}
.img-01 {
    background-image: url("img/mv_bg.webp");
    animation: slide-animation-01 24s infinite;
}
.img-02 {
    background-image: url("img/mv_bg02.webp");
    animation: slide-animation-02 24s infinite;
}
.img-03 {
    background-image: url("img/mv_bg03.webp");
    animation: slide-animation-03 24s infinite;
}
@keyframes slide-animation-01 {
    0% {
        opacity: 1;
    }
    30% {
        opacity: 1;
    }
    40% {
        opacity: 0;
    }
    90% {
        opacity: 0
    }
    100% {
        opacity: 1;
    }
}
@keyframes slide-animation-02 {
    0% {
        opacity: 0;
    }
    30% {
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
    60% {
        opacity: 1;
    }
    70% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}
@keyframes slide-animation-03 {
    0% {
        opacity: 0;
    }
    60% {
        opacity: 0;
    }
    70% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
.mainvisual-sec {
    width: 100%;
    height: 300px;
    background-repeat: no-repeat;
    background-image: url("img/mv_bg.webp");
    background-size: 100% auto;
    background-position: center;
    aspect-ratio: 16 / 9;
    position: relative;
    margin-bottom: 60px;
}
.mainvisual img {
    position: absolute;
    bottom: 0;
    margin-bottom: -50px;
}
.mainvisual-sec img {
    position: absolute;
    bottom: 0;
    margin-bottom: -20px;
}
/* news --------------------------------------------------*/
.news {
    margin-bottom: 60px;
}
.news-box .news-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 20px;
    margin-bottom: 40px;
    font-size: 15px;
}
.news-box .news-list .title {
    font-weight: bold;
    margin-bottom: 5px;
}
.news-box .news-list li .img img {
    border-radius: 10px;
}
.news-frame {
    display: flex;
}
.news-frame .date-box {
    width: 170px;
    padding: 0 10px;
}
.news-frame .date-box .date {
    display: block;
    font-weight: bold;
}
.news-frame .date-box .title {
    display: block;
    font-weight: bold;
}
/* spot --------------------------------------------------*/
.newspot {
    margin-bottom: 40px;
}
.spot-box .spot-list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 40px 20px;
    margin-bottom: 40px;
    font-size: 15px;
}
.spot-box .spot-list .title {
    font-weight: bold;
    margin-bottom: 5px;
}
.spot-box .spot-list li .img {
    margin-bottom: 10px;
}
.spot-box .spot-list li .img img {
    border-radius: 10px;
}
.list_btn {
    text-align: center;
    margin-top: 50px;
}
.btn {
    padding: 10px 50px;
    background: #fff;
    border: 1px solid #afafaf;
    border-radius: 10px;
    transition: all 0.5s;
}
.btn-normal {
    padding: 10px 50px;
    background: #183b8c;
    color: #ffffff;
    border-radius: 20px;
    transition: all 0.5s;
}
/* map --------------------------------------------------*/
.map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 40%;
}
.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.spot .maru {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    flex-flow: column;
    vertical-align: top;
    color: #ffffff;
    font-weight: normal;
}
.spot .size_normal {
    width: 23px;
    height: 23px;
    font-size: 14px;
}
.spot .i-meal {
    background-color: #7a6baf;
}
.spot .i-tourism {
    background-color: #e50165;
}
.spot .i-shopping {
    background-color: #d59b1d;
}
.spot .i-other {
    background-color: #6fba2c;
}
.spot .i-hotel {
    background-color: #0081b2;
}
/* spot tab --------------------------------------------------*/
.tabs {
    display: flex;
    flex-wrap: wrap;
}
.tabs-tourism {
    display: flex;
    flex-wrap: wrap;
}
.tabs-meal {
    display: flex;
    flex-wrap: wrap;
}
.tab_label {
    color: #000000;
    text-align: center;
    font-size: 20px;
    margin: 0 5px 30px 5px;
    border: solid 1px #afafaf;
    border-radius: 20px;
    position: relative;
    z-index: 1;
    cursor: pointer;
    flex: 1;
    padding: 5px 0;
}
.tab_label:hover {
    opacity: 0.75;
}
.tab_content {
    flex: 100%;
    display: none;
    overflow: hidden;
}
input[name="tab_switch"] {
    display: none;
}
input[name="tab_switch_02"] {
    display: none;
}
.tabs input:checked + .tab_label {
    color: #fff;
    background-color: #194382;
    border: none;
}
.tabs-tourism input:checked + .tab_label {
    color: #fff;
    background-color: #c80852;
    border: none;
}
.tabs-meal input:checked + .tab_label {
    color: #fff;
    background-color: #7a6baf;
    border: none;
}
#tab01:checked ~ #tab01_content, #tab02:checked ~ #tab02_content, #tab03:checked ~ #tab03_content, #tab04:checked ~ #tab04_content, #tab05:checked ~ #tab05_content {
    display: block;
}
#tourism-tab01:checked ~ #tourism-tab01_content, #tourism-tab02:checked ~ #tourism-tab02_content, #tourism-tab03:checked ~ #tourism-tab03_content, #tourism-tab04:checked ~ #tourism-tab04_content {
    display: block;
}
#meal-tab01:checked ~ #meal-tab01_content, #meal-tab02:checked ~ #meal-tab02_content, #meal-tab03:checked ~ #meal-tab03_content, #meal-tab04:checked ~ #meal-tab04_content {
    display: block;
}
.tab_content {
    position: relative;
    animation: fadeIn 1s ease;
}
/* info --------------------------------------------------*/
.info {
    padding: 0 0 80px 0;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 7%, #194382 7%, #194382 100%);
}
.info-des {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
}
.info-des h3 {
    font-size: 40px;
    margin-bottom: 10px;
}
.info-des .txt {
    width: 400px;
    color: #ffffff;
}
.info-title {
    font-size: 26px;
    font-weight: bold;
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: solid;
    border-color: #194382;
    border-width: 3px;
}
.info-box {
    background-color: #ffffff;
    padding: 20px;
    margin-bottom: 40px;
}
.info-list ul {
    padding-left: 0px;
}
.info-list li {
    padding-top: 5px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.date {
    margin-right: 10px;
}
/* footer --------------------------------------------------*/
#footer {
    padding: 30px 0;
}
#footer .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    align-items: flex-start;
}
#footer .menu {
    display: flex;
    align-items: center;
    align-items: flex-start;
}
#footer .menu ul {
    margin-right: 50px;
}
#footer .menu .footer-line {
    border-left: 1px solid #888888;
    padding-left: 30px;
}
#footer .copyright {
    font-size: 12px;
    text-align: center;
    vertical-align: middle;
}
#footer .copyright img {
    vertical-align: middle;
    margin: 10px;
}
/* sec --------------------------------------------------*/
.sec-title {
    text-align: left;
    padding: 0 0 0 15px;
    line-height: 110%;
}
.title-tourism {
    border-left: 5px solid #e50165;
}
.title-meal {
    border-left: 5px solid #7a6baf;
}
.title-shopping {
    border-left: 5px solid #d59b1d;
}
.title-other {
    border-left: 5px solid #6fba2c;
}
.title-hotel {
    border-left: 5px solid #0081b2;
}

/*detail-name ▼ */
.detail{
    padding-bottom: 0;
}
.detail .detail-name{
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;
}
.detail .detail-name p{
    font-size: 33px;
    font-weight: bold;
    float: left;
}
.detail .sns-icon{
    display: flex;
    align-items: center;
    float: right ;
}
.detail .sns-icon p{
    font-size: 14px;
    color: #fff;
    background: #000;
    padding: 5px 10px;
}
.detail .sns-icon-list{
    display: flex;
}
.detail .sns-icon-list img{
    width: 40px;
    height: auto;
    margin-left: 20px;
}
/*detail-name ▲ */
.detail .detail-photo {
    display: flex;
    gap: 20px 20px;
    justify-content: space-between;
}
.detail img {
    border-radius: 5px;
}
.detail .detail-box-l {
    width: 450px;
}
.detail .detail-box-r {
    flex: 1;
}
.detail .detail-box-r p {
    margin-top: 20px;
}
.detail .detail-photo_m {
    display: flex;
    gap: 20px 20px;
}
.title-normal h2 {
    text-align: left;
    padding-bottom: 10px;
    font-size: 26px;
    border-bottom: 4px solid #183b8c
}
.form input {
    padding: 10px;
    width: 80%;
}
.form .short input {
    width: 20%;
}
.form select {
    padding: 10px;
}
.form textarea {
    padding: 10px;
    width: 80%;
    height: 100px;
}
.list-st01 li {
    border-bottom: 1px solid #afafaf;
    padding: 20px 0;
}
.mypage-photo {
    display: flex;
    gap: 20px;
    margin: 20px 0 0 0;
}
.btn-s {
    border: 1px solid #afafaf;
    border-radius: 5px;
    padding: 10px 20px;
    line-height: 1;
    display: inline-block;
    margin: 20px 0;
}

.tab_menu {
    z-index: 2;
    position: relative;
    width: 80px;
    margin: 0 5px;
    line-height: 36px;
    float: left;
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
}
.tab_menu:hover {
    color: #838383;
}
.tab_menu:first-of-type {
    margin: 0 5px 0 0px;
}
input:checked + .tab_menu {
    background-color: #fff;
    border-bottom: 3px solid #215aac;
}
input[name="tab_menu"] {
    display: none;
}
.tab_content {
    display: none;
    z-index: 1;
    clear: both;
    padding: 30px 0;
    margin: 0 0 30px 0;
    position: relative;
    top: -2px;
}
#tab_a:checked ~ #tab_a_content, #tab_b:checked ~ #tab_b_content, #tab_c:checked ~ #tab_c_content {
    display: block;
}

.search-list {
    padding-top: 30px;
    margin-bottom: 30px;
    border-top: 1px solid #ccc;
}
.search-list p {
    margin-top: 5px;
}
.search-title {
    font-weight: bold;
}
.label-news {
    width: 80px;
    background-color: #fff;
    border: 1px solid #215aac;
    color: #215aac;
    padding: 1px 20px;
    margin-right: 5px;
    font-size: 14px;
    border-radius: 4px;
}
.label-spot {
    width: 80px;
    background-color: #215aac;
    color: #fff;
    padding: 1px 20px;
    margin-right: 5px;
    font-size: 14px;
    border-radius: 4px;
}
.search-date {
    margin-left: 20px;
    font-size: 14px;
    color: #999;
    font-weight: normal;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 8px;
    list-style-type: none;
    padding: 0;
}

.pagination a {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2em;
    height: 2em;
    color: #333;
    text-decoration: none;
}

.pagination .current a {
    border-bottom: 2px solid #215aac;
    pointer-events: none;
}
.search-num {
    float: right;
    margin-top: 5px;
}
/* breadcrumb --------------------------------------------------*/
.breadcrumb{
    position: relative;
    top: -60px;
    padding: 0;
    width: 100%;
    height: 0;
}
.breadcrumb::after{
    content: '';
    border-bottom: solid #e8e8e8 1px;
    width: 100%;
    position: absolute;
}
.breadcrumb ol{
    display: flex;
    flex-wrap: wrap;
    padding: 10px 10px;
}
.breadcrumb ol li{
    color: #7d7d7d;
    font-size: 14px;
    max-width: 400px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.breadcrumb ol a{
    color: #7d7d7d;
    font-size: 14px;
}
.breadcrumb ol li::before{
    content: '>';
    position: relative;
    top:-1px;
    margin:0 1.5em;
    color: #7d7d7d;
}
.breadcrumb ol li:first-child::before{
    content: '';
    margin-right: 0;
}

/* menu list --------------------------------------------------*/
/*.menu-list{
    padding-top: 0;
}
.menu-list .wrapper{
    padding-top: 0;
}*/
.menu-list .spot-box .spot-list{
    grid-template-columns: repeat(3, 1fr);
}
.menu-list .spot-box .spot-list img{
    width: 100%;
    height: auto;
    height: clamp(150px, 18vw, 220px);
    object-fit:cover;
}
/* menu list data --------------------------------------------------*/
.menu-list-data div img{
    padding: 10px 0;
    margin: 0 auto;
    display: block;
}
.menu-list-box h2{
    font-size: 25px;
}
.menu-list-box div{
    margin: 10px 0;
}

/*------------------------
sp
------------------------*/
@media screen and (max-width: 767px) {
    #header .logo {
        max-width: 200px;
    }
    .table-sp th {
        background-color: #f2f2f2;
    }
    .table-sp th, td {
        width: auto;
        display: block;
        border-top: none;
    }
    .table-sp tr:first-child {
        border-top: 1px solid #afafaf;
    }
    .table-form th, td {
        width: auto;
        display: block;
        border-top: none;
    }
    .table-form tr:first-child {
        border-top: 1px solid #afafaf;
    }
    .sp {
        display: block;
    }
    .spot-box .spot-list {
        grid-template-columns: repeat(2, 1fr);
    }
    .news-box .news-list {
        grid-template-columns: repeat(1, 1fr);
    }
    #header .box {
        border-radius: 0;
        padding: 20px;
        margin: 0;
    }
    #header .navi {
        display: none;
    }
    .search_container {
        width: 200px;
        margin-top: 15px;
    }
    .Language select {
        width: 200px;
    }
    /* mainvisual --------------------------------------------------*/
    .mainvisual {
        height: 260px;
        background-size: 100% 100%;
        margin-bottom: 0;
    }
    .img-01, .img-02, .img-03 {
        width: 100%;
        height: 230px;
    }
    .mainvisual-sec {
        height: 130px;
        background-size: 100% auto;
        margin-bottom: 0;
    }
    .mainvisual-sec img {
        margin-bottom: -20px;
        width: 90%;
    }
    .top_title img {
        width: 90%;
    }
    /* news --------------------------------------------------*/
    .news-box .news-list {
        margin-bottom: 20px;
    }
    /* map --------------------------------------------------*/
    .map {
        padding-top: 100%;
    }
    /* spot tab --------------------------------------------------*/
    .tab_label {
        font-size: 15px;
        margin: 0 2px 20px 2px;
        border-radius: 7px;
        padding: 20px 0;
    }
    /* info --------------------------------------------------*/
    .info {
        padding: 0 0 20px 0;
    }
    .info_text a {
        display: block;
        margin-top: 10px;
        text-overflow: ellipsis;
        overflow: hidden;
    }
    .info-des {
        display: block;
    }
    .info-des h3 {
        font-size: 30px;
    }
    .info-des .txt {
        width: 100%;
        margin: 30px 0;
    }
    .info-des .img {
        text-align: center;
    }
    /* footer --------------------------------------------------*/
    #footer {
        padding: 0 0 40px 0;
    }
    #footer .inner {
        display: block;
        text-align: center;
    }
    #footer .logo {
        margin-bottom: 30px;
    }
    #footer .menu {
        display: block;
    }
    #footer .copyright {
        line-height: 100%;
    }
    #footer .sp-hid {
        display: none;
    }
    /* sp menu --------------------------------------------------*/
    .menu-btn {
        position: fixed;
        top: 10px;
        right: 10px;
        display: flex;
        height: 60px;
        width: 60px;
        justify-content: center;
        align-items: center;
        z-index: 90;
        background-color: #194382;
        border-radius: 5px;
    }
    .menu-btn span, .menu-btn span:before, .menu-btn span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: #ffffff;
        position: absolute;
    }
    .menu-btn span:before {
        bottom: 8px;
    }
    .menu-btn span:after {
        top: 8px;
    }
    #menu-btn-check:checked ~ .menu-btn span {
        background-color: rgba(255, 255, 255, 0);
    }
    #menu-btn-check:checked ~ .menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    #menu-btn-check:checked ~ .menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
    }
    #menu-btn-check {
        display: none;
    }
    .menu-content {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;
        z-index: 80;
        background-color: #194382;
        transition: all 0.5s;
    }
    .menu-content ul {
        padding: 70px 10px 0;
    }
    .menu-content ul li a {
        display: block;
        width: 100%;
        font-size: 15px;
        box-sizing: border-box;
        color: #ffffff;
        text-decoration: none;
        padding: 20px 15px 21px 0;
        border-bottom: solid 1px #ffffff;
        list-style: none;
        position: relative;
        margin-bottom: 20px;
    }
    .menu-content ul li a::before {
        content: "";
        width: 7px;
        height: 7px;
        border-top: solid 2px #ffffff;
        border-right: solid 2px #ffffff;
        transform: rotate(45deg);
        position: absolute;
        right: 11px;
        top: 28px;
    }
    #menu-btn-check:checked ~ .menu-content {
        left: 0;
    }
    /* sec --------------------------------------------------*/
    .detail .detail-name{
        flex-direction: column;
    }
    .detail .detail-name p{
        font-size: 25px;
    }
    .detail .sns-icon{
        justify-content: flex-end;
    }
    .detail .sns-icon p{
        font-size: 13px;
        padding: 5px;
    }
    .detail .sns-icon-list img{
        width: 30px;
    }
    .detail .detail-photo {
        display: block;
    }
    .detail .detail-box-l {
        width: 100%;
        margin-bottom: 10px;
    }
    .detail .detail-box-r {
        flex: 1;
    }
    .detail .detail-box-r p {
        margin-top: 20px;
    }
    .detail .detail-photo_m {
        gap: 10px 10px;
    }
    /* breadcrumb --------------------------------------------------*/
    .breadcrumb{
        position: static;
        height: auto;
    }
    .breadcrumb ol li{
        max-width: 150px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    /* shop news --------------------------------------------------*/
    .shop-news .news-list{
        grid-template-columns: repeat(100%, 1fr);
    }
    .shop-news .news-frame .date-box{
        width: 100%;
    }
    /* menu link --------------------------------------------------*/
    .menu-list .spot-box .spot-list{
        grid-template-columns: repeat(2, 1fr);
    }
    .menu-list h2{
        font-size: 25px;
    }
    .menu-list .title{
        -webkit-line-clamp: 3;
    }
}