﻿@charset "utf-8";

/*-------------------------*/
/*  base
/*-------------------------*/
body {
    font-family: "メイリオ", Meiryo, 'Kosugi Maru', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-family: quasimoda, sans-serif;
    position: relative;
    line-height: 1.8;
    font-size: 14px;
    color: #81766b;
    background: #fffefb;
}

.adblock {
    width: 100%;
    overflow: hidden;
    text-align: center;
}

.adblock.article {
    margin-top: 10em;
}

/*-------------------------*/
/*  common
/*-------------------------*/
h2 {
    margin-bottom: 60px;
    font-size: 26px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    border-bottom: 2px solid #c29532;
}

.main_list_wrap h2 {
    margin-bottom: 0.8em;
}

.inner {
    max-width: 1300px;
    width: 100%;
    margin: 0 auto;
    padding: 0 25px;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}

article section {
    margin-bottom: 3em;
}

/*-------------------------*/
/*  header
/*-------------------------*/
header {
    width: 100%;
    height: 75px;
    padding: 8px 16px;
    box-sizing: border-box;
    position: relative;
    z-index: 9999;
}

h1 {
    position: relative;
    top: -5px;
    width: 70px;
}

.article_desc h3 {
    background: #fffad5;
    font-size: 18px;
    margin-top: 2em;
    padding: 10px;
}

.article_desc.hotel_text p {
    padding: 10px;
}

.content {
    padding-top: 100px;
}

header .logos {
    width: 304px;
    line-height: 1;
    background: #1A1A1C;
    padding: 16px;
    border-radius: 0px 0px 8px 0px;
    position: absolute;
    top: 0;
    left: 0;
}

nav {
    display: flex;
    justify-content: flex-end;
    column-gap: 32px;
    align-items: center;
    list-style: none;
}

header nav {
    position: relative;
    top: -39px;
}

nav ul {
    display: flex;
    column-gap: 32px;
    align-items: center;
    justify-content: flex-end;
    justify-content: flex-start;
    list-style: none;
}

header.top {
    background: transparent;
}

/*-------------------------*/
/*  mv
/*-------------------------*/
#mv {
    width: 100%;
    height: 450px;
    background: #fff;
    margin-bottom: 2px;
    overflow: hidden;
    background: url(../images/mv.png) no-repeat top center;
    background-size: cover;
    color: #fff;
}

.cnt #mv {
    height: 260px;
    margin-bottom: 60px;
}

#mv .inner {
    display: flex;
    align-items: center;
    height: 100%;
}

#mv .inner span {
    letter-spacing: 12px;
}

#mv .inner img {
    max-width: 150px;
    margin-top: 10px;
}

.fs-32 {
    font-size: 32px;
    font-weight: bold;
}

#seach_section {
    height: 100px;
    display: grid;
    place-items: center;
    text-align: center;
    margin-bottom: 15px;
}

#seach_section input {
    width: 100%;
    max-width: 700px;
    padding: 10px;
}

#seach_section button {
    height: 40px;
    width: 60px;
    position: relative;
    top: 5px;
    background-color: #343434;
    cursor: pointer;
    border-radius: 5px;
    padding: 0;
    display: inline;
}

#seach_section button img {
    width: auto;
    height: 20px;
    max-height: 44px;
    max-width: 44px;
    color: #fff;
    margin: 0 auto;
    text-align: center;
    display: block;
}

.wp-block-search__inside-wrapper {
    display: block;
}

main .inner {
    display: flex;
}

main .inner article {
    width: calc(100% - 325px);
    padding: 0 1.5em;
}

.cnt main .inner article {
    width: calc(100% - 325px);
    padding: 0 1.5em;
}

main .inner aside {
    width: 300px;
}

main .main_list_detail {
    position: relative;
}

main .main_list_detail a {
    display: block;
    height: 100%;
}

main .main_list_detail h3 {
    margin-top: 8px;
    font-size: 16px;
    font-weight: bold;
}

main .main_list_detail .main_list_img {
    position: relative;
}

main .main_list_detail .main_list_img:after {
    content: "";
    display: block;
    position: absolute;
    top: -5px;
    left: -5px;
    width: 100%;
    height: 100%;
    border: 1px solid #c29532;
}

main .main_list_detail .main_list_img:hover:after {
    top: -1px;
    left: -1px;
}

main .main_list_detail .main_list_img .img {
    aspect-ratio: 5 / 3.33;
    overflow: hidden;
    text-align: center;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

main .main_list_detail .main_list_img .img img {
    width: auto;
    max-width: inherit;
    height: 100%;
}

.main_list_cat {
    font-size: 11px;
    font-weight: bold;
    position: absolute;
    top: 10px;
    left: 10px;
}

.main_list_cat li {
    display: inline-block;
    border-radius: 5px;
    padding: 3px 10px 1px;
    line-height: 1;
    color: #c29532;
    background: #fff;
    border: 1px solid #c29532;
}

.main_list_cat .area {
    color: #fff;
    background: #c29532;
}

.main_list_update {
    position: absolute;
    transform: rotate(90deg);
    font-size: 11px;
    opacity: 0.5;
    right: -73px;
    top: 57px;
    letter-spacing: 1px;
}

.rating-result {
    color: #c29532;
}

.rating-result i {
    margin-right: -2px;
}

.count,
.star-result {
    display: none;
}

.col3>div,
.col3>li {
    width: calc(33% - 40px);
    min-width: 168px;
    margin-right: 35px;
    margin-bottom: 40px;
}

/*-------------------------*/
/*  sub_list_wrap  
/*-------------------------*/
.sub_list_wrap {
    margin-top: 60px;
}

.sub_list_wrap h2 {}

.sub_list_detail h3 {
    font-size: 16px;
    font-weight: bold;
}

.sub_list_update {
    margin-top: 5px;
    font-size: 11px;
    letter-spacing: 1px;
}

/*-------------------------*/
/*  top  
/*-------------------------*/
#sidenav>div {
    margin-bottom: 40px;
}

#sidenav h3 {
    border-bottom: 2px solid #c29532;
    font-weight: bold;
    padding-bottom: 5px;
    margin-bottom: 15px;
}

#sidenav li {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dotted #c29532;
    ;
}

#sidenav .side_cat_name {
    font-weight: bold;
    margin-bottom: 3px;
}

#sidenav .col-2>a {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
}

#sidenav .side_tab_wrap li .side_tab_img {
    width: 40%;
    margin-right: 10px;
}

#sidenav .side_tab_wrap li .side_tab_detail {
    width: calc(60% - 10px);
}

#sidenav .side_tab_wrap li .side_tab_detail .side_cat_text {
    font-size: 12px;
    color: #81766b;
}

footer {
    background: #222;
    color: #fff;
}

footer a {
    color: #fff;
}

footer nav {
    display: flex;
    justify-content: center;
    column-gap: 32px;
    align-items: center;
    list-style: none;
}

footer .cw {
    font-size: 10px;
    padding: 10px 0;
    text-align: center;
}

/*-------------------------/*-------------------------*/
/*  cnt      hotel    
/*-------------------------/*-------------------------*/
.cnt article {
    margin-bottom: 6em;
}

.cnt h2 {
    font-size: 2em;
    margin-bottom: 1em;
}

.cnt .bred {
    font-size: 11px;
    margin-bottom: 2em;
}

.cnt .hotel_text {
    margin-top: 2em;
}

.cnt .hotel_info {
    border-top: 1px dotted #c29532;
    padding-top: 2em;
    margin-top: 2em;
}

.cnt .bred a {
    text-decoration: underline;
}

.cnt article a {
    text-decoration: underline;
}

.cnt .hotel_photo {
    border-top: 1px dotted #c29532;
    padding-top: 2em;
    margin-top: 2em;
}

.cnt .hotel_photo ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.cnt .hotel_photo ul li {
    width: calc(20% - 10px);
    margin: 5px;
    padding: 5px;
    box-sizing: border-box;
    border: 1px dotted #c29532;
}

/*-------------------------/*-------------------------*/
/*  sp      side_tab_img    
/*-------------------------/*-------------------------*/
@media (max-width: 1365px) {
    .mv_bg img {
        width: 100%;
        height: auto;
    }
}

@media (max-width: 775px) {
    html #mv,
    html {
        font-size: 12px;
    }

    .cnt #mv {
        height: 260px;
        margin-bottom: 30px;
    }

    .cnt main .inner article {
        width: calc(100% - 20px);
        padding-right: 0px;
        margin-bottom: 30px;
    }

    .fs-32 {
        font-size: 19px;
        display: block;
    }

    #seach_section input {
        width: 70%;
        max-width: 700px;
        padding: 10px;
    }

    .col3>div,
    .col3>li,
    main .inner article,
    main .inner aside {
        width: 100%;
    }

    main .inner {
        flex-direction: column;
        padding: 0;
    }

    main .inner article {
        padding: 0 25px;
        box-sizing: border-box;
    }

    main .inner aside {
        background: #fbf9f3;
        padding: 25px;
        box-sizing: border-box;
    }

    #side_ad_warp img {
        margin: 0 auto;
    }

}


/*-------------------------*/
/*  　ハンバーガー
/*-------------------------*/
.hamburger {
    display: block;
    position: fixed;
    z-index: 3;
    right: 20px;
    top: 20px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
    z-index: 9999999;
}

.hamburger span {
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    left: 6px;
    background: #c29532;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
    top: 10px;
}

.hamburger span:nth-child(2) {
    top: 20px;
}

.hamburger span:nth-child(3) {
    top: 30px;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
    top: 16px;
    left: 6px;
    background: #fff;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
    top: 16px;
    background: #fff;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    color: #fff;
    background: rgba(183, 150, 78, 1);
    text-align: center;
    width: 100%;
    transform: translateY(-100%);
    transition: all 0.6s;
    z-index: 9999998;
    padding: 2em 0;
}

nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 80%;
}

nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    transition: .4s all;
}

nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
}

nav.globalMenuSp ul li:hover {
    background: #ddd;
}

nav.globalMenuSp ul li a {
    display: block;
    color: #fff;
    padding: 1em 0;
    text-decoration: none;
}

/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
    opacity: 100;
    display: block;
    transform: translateX(0%);
}

@media (max-width: 775px) {
    nav ul {
        display: block;
    }
}

/*-------------------------*/
/*  cnt
/*-------------------------*/
.wp_form {
    max-width: 600px;
    margin: 0 auto;
    text-align: left;
}

.wp_form>p {
    margin-bottom: 30px;
}

.wp_form label {
    color: #c29532;
    font-weight: bold;
    margin-bottom: 0.3em;
}

.wp_form textarea,
.wp_form select,
.wp_form input {
    padding: .5em;
    box-sizing: border-box;
}

.wp_form textarea,
.wp_form select,
.wp_form label,
.wp_form input {
    display: block;
    width: 100%;
}

form>p {
    color: #c29532;
    font-weight: bold;
}

form p {
    margin-bottom: 15px;
}

.mwform-tel-field input {
    display: inline-block;
    width: 100%;
    max-width: 100px;
}

#check-1 {
    display: inline;
    width: auto;
    margin-bottom: 0px;
}

.mwform-checkbox-field.horizontal-item {
    margin-bottom: 30px;
}

button {
    letter-spacing: 0.1em;
    display: inline-block;
    font-size: 15px;
    background: #c29532;
    color: #fff;
    line-height: 1;
    padding: 15px 20px;
    border-radius: 10px;
    font-weight: bold;
    border: none;
    cursor: pointer;
    display: block;
    margin: 30px auto;
}

.wp_form input.reset {
    letter-spacing: 0.1em;
    display: inline-block;
    font-size: 15px;
    line-height: 1;
    padding: 15px 20px;
    border-radius: 10px;
    font-weight: bold;
    border: none;
    cursor: pointer;
    display: block;
    margin: 30px auto;
    width: auto;
}

.elementor-field-group {
    margin-bottom: 1.5em;
}

span.elementor-field-label:after {
    content: "必須";
    display: inline-block;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 3px 5px;
    margin-bottom: 5px;
    background: #35749d;
}

.elementor-field-type-html h2 {
    font-size: 20px;
    letter-spacing: 0.2em;
    font-weight: bold;
    margin: 20px 0 10px;
    color: #000;
}

.elementor-field-subgroup {
    cursor: pointer;
    text-align: center;
}

.elementor-field-type-acceptance input {
    display: inline;
    width: auto;
}

.elementor-field-type-acceptance label {
    display: inline;
}

.elementor-field-group button {
    cursor: pointer;
    letter-spacing: 0.1em;
    display: inline-block;
    font-size: 18px;
    background: #c29532;
    color: #fff;
    line-height: 1;
    padding: 15px 100px;
    border-radius: 10px;
    font-weight: bold;
    border: none;
}

.e-form__buttons {
    text-align: center;
}