@charset "UTF-8";

/*==================================================================================================

       hero

===================================================================================================*/

.hero-wrap {
        position: relative;
        box-sizing: border-box;
        width:100%;
        margin-top:100px;
        z-index: 0;
        }
        .pages { margin-top:100px; }

        @media screen and (max-width:1024px) {
        .hero-wrap { margin-top:96px;  }
        .pages { margin-top:96px; }
        }
        @media screen and (max-width:767px) {
        .hero-wrap { margin-top:80px; }
        .pages { margin-top:80px; }
        }

/*==================================================================================================

       背景

===================================================================================================*/

.border-box {
        border:1px solid #aaa;
        padding:3.5rem 4rem;
        border-radius: 10px;
        background: #FFF;
        box-sizing: border-box;
        }
        .border-box-s {
        border:1px solid #aaa;
        padding:2.5rem 3rem;
        box-sizing: border-box;
        }
        .border-box-s.bg-white { background: #FFF; }

.bg-blue {
        background: #62B0E3;
        color:#FFF;
        }

        @media screen and (max-width:1024px) {
        .border-box-s { padding:2rem 2rem; }
        
        }
        @media screen and (max-width:767px) {
        .border-box-s { padding:1.5rem 1.5rem; }
        .border-box  { padding:2rem 9%; }
        
        }

/*==================================================================================================

        タイトル / テキスト

===================================================================================================*/

.white { color:#FFF !important; }
.white .en { color:#FFF; }
.red { color:#800000;}
.pink { color:#EF8E7A;}

.mark {background:linear-gradient(transparent 60%, #FCE989 60%);}

.under-title {
        padding-bottom:.25rem;
        border-bottom:1px solid rgba(0,0,0,.6);
        }
        .bg-green .under-title {  border-bottom:1px solid rgba(255,255,255,.6); }
.box-title {
        border:1px solid rgba(0,0,0,.4);
        border-bottom:3px solid rgba(0,0,0,.65);
        padding:.7rem 1.2rem;
        box-sizing: border-box;
        }
.bar-title {
        position: relative;
        padding-top:1rem;
        box-sizing: border-box;
        }
        .bar-title:after {
        content:"";
        display: block;
        position: absolute;
        top:0;
        left: 0;
        width:40px;
        height:4px;
        background:#848743;
        }
.dotted-title {
        padding-bottom:.25rem;
        border-bottom:2px dotted #3A0D22;
        }
.lead {
        position: relative;
        width:100%;
        overflow: hidden;
        z-index: 0;
        }
        .lead:after {
        content:"";
        position: absolute;
        display: inline-block;
        top:50%;
        transform: translateY(-50%);
        width:100%;
        height:1px;
        background:rgba(0,0,0,.4);
        margin-left:1.5rem;
        z-index: -1;
        }
        .bg-blue .lead:after { background: rgba(255,255,255,.7); }
        .sp-lead {
        position: relative;
        width:100%;
        overflow: hidden;
        z-index: 0;
        }
        .sp-lead:after {
        content:"";
        position: absolute;
        display: none;
        top:50%;
        transform: translateY(-50%);
        width:100%;
        height:1px;
        background:rgba(0,0,0,.3);
        margin-left:1.5rem;
        z-index: -1;
        }
        .center-lead {
        position: relative;
        width:100%;
        overflow: hidden;
        z-index: 0;
        }
        .center-lead:after {
        content:"";
        position: absolute;
        display:block;
        top:50%;
        left:0;
        width:100%;
        height:1px;
        background:rgba(0,0,0,.3);
        z-index: -1;
        }
        .center-lead span {
        background: #FFF;
        display: inline-block;
        padding:0 1.25rem;
        }

.label-title {
        padding:.5rem 1.25rem;
        box-sizing: border-box;
        background: rgba(139,77,45,.1);
        border-radius: 4px;
        }



        @media screen and (max-width:1024px) {
        
        }
        @media screen and (max-width:767px) {
        .sp-lead:after { display: inline-block; }
        }

/*==================================================================================================

       トップページ

===================================================================================================*/

        /*=================================================
                Attraction BTN
        ==================================================*/

        .btn-wrap {
        position: relative;
        width:100%;
        height:100%;
        background: #D4E9F5;
        }
        .btn-wrap a {
        position: relative;
        display: block;
        color:#0074BE;
        }
        .btn-img {
        position:relative;
        top:0;
        width:100%;
        height:0;
        padding-bottom:55.5%;
        z-index: 1;
        -webkit-transition  : all .3s ease;
        transition  : all .3s ease;
        }
        .btn_01 { background: url("../images/img/top/img_01.jpg") center center / cover; }
        .btn_02 { background: url("../images/img/top/img_02.jpg") center center / cover; }
        .btn_03 { background: url("../images/img/top/img_03.jpg") center center / cover; }
        .btn_04 { background: url("../images/img/top/img_04.jpg") center center / cover; }
        .btn_05 { background: url("../images/img/top/img_05.jpg") center center / cover; }
        .btn_06 { background: url("../images/img/top/img_06.jpg") center center / cover; }


        .btn-cover {
        position: relative;
        width:100%;
        padding:1.75rem;
        box-sizing: border-box;
        z-index: 1;
        -webkit-transition  : all .3s ease;
        transition  : all .3s ease;
        }
        .btn-cover p { line-height: 1; }
        @media screen and (max-width:1750px) {
        .w1750-none { display: none; }
        }

        /*=================================================
                News
        ==================================================*/

        .top-news-list {
        width:100%;
        }
        .top-news-list li {
        line-height:150%;
        font-size:1rem;
        }
        .top-news-list li a {
        display: inline-block;
        position: relative;
        padding:.5rem 0 .15rem;
        margin-bottom:.35rem;
        font-weight:400;
        box-sizin: border-box;
        letter-spacing: .05em;
        color:#302D2C;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .top-news-list span {
        width:5em;
        display:inline-block;
        padding-right:1rem;
        }
        .top-news-list li a:hover {
        cursor: pointer;
        opacity: .6;
        text-decoration: none;
        }
        .top-news-list li a::after {
        position: absolute;
        bottom: -2px;
        left: 0;
        content: '';
        width: 100%;
        height: 1px;
        background: #302D2C;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform .3s;
        }
        .top-news-list li a:hover::after {
        transform-origin: left top;
        transform: scale(1, 1);
        }

        @media screen and (max-width:767px) {
        .top-news-list li { border-bottom:1px dotted rgba(255,255,255,.3); }
        .top-news-list li:last-child { border-bottom:none; }
        .top-news-list span { display:block; }
        }

/*==================================================================================================

       下層 ヘッダー

===================================================================================================*/

.page-header-wrap {
        position: relative;
        box-sizing: border-box;
        height: auto;
        overflow: hidden;
        z-index: 0;
        }

        /*=================================================
                ノーマルヘッダー
        ==================================================*/

        .page-header {
        position: relative;
        width: 100%;
        height:100%;
        max-height:calc(100vh - 100px);
        z-index: 0;
        }
        .page-header:before {
        content: "";
        display: block;
        padding-bottom:56.25%;
        height:0;
        width:100%;
        }
        .page-header.short:before {
        content: "";
        display: block;
        height:0;
        padding-bottom:600px;
        width:100%;
        }

        .header-top{ background: url("../images/img/top/header_01.jpg") center center / cover; }


        @media screen and (max-width:1024px) {
        .page-header:before { padding-bottom:70%; height:0; }
        .page-header.short:before { padding-bottom:70%; }
        }
        @media screen and (max-width:767px) {
        }


.memo {
        padding:.4rem 0;
        border-top:2px dotted rgba(0,0,0,.3);
        border-bottom:2px dotted rgba(0,0,0,.3);
        }
        .memo-w {
        padding:.5rem 0;
        border-top:1px solid rgba(255,255,255,.3);
        border-bottom:1px solid rgba(255,255,255,.3);
        }

figure {
        position: relative;
        z-index: 0;
        }
        .figure-caption {
        position: absolute;
        bottom:0;
        left:0;
        display: inline-block;
        padding:.5rem .75rem;
        background: #111;
        color:#FFF;
        z-index: 1;
        }


/*==================================================================================================

       NEWS

===================================================================================================*/

        .archive-news-list {
        width:100%;
        border-top:1px dotted rgba(0,0,0,.2);
        }
        .archive-news-list li {
        line-height:150%;
        font-size:1rem;
        border-bottom:1px dotted rgba(0,0,0,.2);
        }
        .archive-news-list li a {
        display: block;
        position: relative;
        padding:1.25rem 0;
        font-weight:400;
        box-sizing: border-box;
        letter-spacing: .05em;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .archive-news-list span {
        width:6em;
        display:inline-block;
        padding-right:1.5rem;
        padding-left:.5em;
        font-size:.8725rem;
        }
        .archive-news-list li a:hover {
        cursor: pointer;
        opacity: 1;
        background:#EFEFEF;
        text-decoration: none;
        }

        @media screen and (max-width:767px) {
        .archive-news-list li {  }
        .archive-news-list li:last-child { border-bottom:none; }
        .archive-news-list span { display:block; }
        }


/*==================================================================================================

       投稿　Post

===================================================================================================*/

        .post-content-wrap {
        }
        .post-content-wrap .post-title {
        font-size:1.65rem;
        line-height: 150%;
        padding-bottom:.5rem;
        margin-bottom:.5em;
        font-weight:900;
        }
        .post-cat-wrap {
        padding-bottom:1.5rem;
        }
        .post-cat {
        float:right;
        }
        .list-date { float: right; text-align: right; font-size:.75rem;}
        .post-date { float:right; font-size:.866666rem;}
        
        .post-memo-wrap {
        background:#F3F4F6;
        padding:2rem;
        margin-bottom: 3rem;
        }
        .post-content {
                position: relative;
                padding-bottom: 3rem;
                }
                .post-content p { padding-bottom:1.5rem; }
                .post-content img { padding-bottom:1.5rem; text-align: center; }
                .post-content p img { padding-bottom:10px; text-align: center; }
                .post-content p span { display: block; }
                .post-content p span.center-img { text-align: center; }
                .post-content h2 { padding:3rem 0 .5rem; margin:0 auto 1.5rem; border-bottom:1px solid #3E4144; font-size:1.25rem; line-height: 150%; font-weight:900; }
                .post-content h3 { padding:3rem 0 .5rem; margin:0 auto 1.5rem; border-bottom:1px dotted #3E4144; font-size:1.125rem; line-height: 150%; font-weight:900; }
                .post-content h4 { padding:3rem 0 1.25rem; margin:0 auto; font-size:1.075rem; line-height: 150%; font-weight:900; }
                .post-content h5 { padding:3rem 0 1.25rem; margin:0 auto; font-size:1.075rem; line-height: 150%; font-weight:900; }
                .post-content a { font-weight:600; color:#527D69; text-decoration: underline; }
                .post-content a:hover { color:#AAA;}
                .post-content p.more { padding-bottom:10px; }
                .post-content blockquote { padding: 2.5rem; border: 4px solid #CCC; background-color: #f7f7f7; line-height: 240%; margin-bottom:3rem; border-radius: 6px; }
                .post-content blockquote p { padding-bottom:0; font-weight:400; }
                .post-content .post-image-box  { padding-bottom:3rem; }
                .post-content .post-image-box p { padding-bottom:0; }
                .post-content .post-image-box img { padding-bottom:0; }



        @media screen and (max-width:1024px) {
        .post-memo-wrap { padding:1.75rem; }
        .post-content-wrap .post-title { font-size:1.8rem; }
        .post-content h2 { font-size:1.65rem; }
        .post-content h3 { font-size:1.5rem; }
        .post-content h4 { font-size:1.35rem; }
        .post-content h5 { font-size:1.2rem; }
        .post-content blockquote { padding: 2rem; border: 3px solid #CCC; line-height: 220%; }
        .qa-table th { width:60px; font-size:33px; }
        .qa-table td { font-size:17px; }
        }
        @media screen and (max-width:767px) {
        .post-memo-wrap { padding:1.25rem 1.5rem; }
        .post-content-wrap .post-title { font-size:1.75rem; }
        .post-content h2 { font-size:1.5rem; }
        .post-content h3 { font-size:1.35rem; }
        .post-content h4 { font-size:1.2rem; }
        .post-content h5 { font-size:1.1rem; }
        .post-content blockquote { padding: 1.5rem; border: 2px solid #CCC; line-height: 200%; }
        .qa-table th { width:40px; font-size:21px; }
        .qa-table td { font-size:15px; }
        }

/*==================================================================================================

       一覧　ページャー

===================================================================================================*/

        .pagination-wrap {
        position: relative;
        clear: both;
        width:100%;
        }
        .pagination-wrap ul {
        position: relative;
        text-align: center;
        list-style: none;
        }
        .pagination-wrap li {
        position: relative;
        margin-right: .3rem;
        margin-bottom: 5px;
        display:inline-block;
        }
        .pagination-wrap li a {
        display: block;
        color: #1f1f1f;
        padding: 12px 0;
        font-size:1rem;
        font-weight:700;
        line-height:1;
        text-align: center;
        width:40px;
        box-sizing: border-box;
        background-color: #FFF;
        border: 1px solid #CCC;
        }
        .pagination-wrap li a:hover {
        background-color:#E6E8EB;
        border: 1px solid #C3C3C3;
        }
        .pagination-wrap li .current {
        display: block;
        color: #FFF;
        padding: 12px 0;
        font-size:1rem;
        line-height:1;
        text-align: center;
        width:40px;
        background-color: #62B0E3;
        border: 1px solid #62B0E3;
        text-decoration: none;
        }
        @media screen and (max-width:767px) {
        .pagination-wrap { padding-top:2rem;}
        .pagination-wrap li a { padding: 10px 0; width:40px; }
        .pagination-wrap li .current { padding: 10px 0; width:40px; }
        }

/*==================================================================================================

       投稿　ページャー

===================================================================================================*/

        .post-pager {
        padding:2em 0 1.5em;
        }
        .prev-pager,
        .next-pager,
        .all-pager {
        height:100%;
        line-height:135%;
        position: relative;
        }
        .prev-pager a {
        display: block;
        width:100%;
        height:100%;
        padding:1.75em 1.5em 1.75em 45px;
        box-sizing:border-box;
        color:#1F1F1F;
        text-align: left;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .prev-pager a:before {
        display: block;
        content: "";
        position: absolute;
        left:0;
        top:50%;
        margin-top:-1px;
        line-height:1;
        padding:0;
        background: #1F1F1F;
        width:30px;
        height:2px;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .prev-pager a:hover {
        padding-left:55px;
        }
        .prev-pager a:hover:before {
        width:40px;
        }
        .next-pager a {
        display: block;
        width:100%;
        height:100%;
        padding:1.75em 45px 1.75em 1.5em;
        box-sizing:border-box;
        color:#1F1F1F;
        text-align: right;
        -webkit-transition: all 0.3s ease;
         transition: all 0.3s ease;
        }
        .next-pager a:before {
        display: block;
        content: "";
        position: absolute;
        right:0;
        top:50%;
        margin-top:-1px;
        line-height:1;
        padding:0;
        background: #1F1F1F;
        width:30px;
        height:2px;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .next-pager a:hover {
        padding-right:55px;
        }
        .next-pager a:hover:before {
        width:40px;
        }
        @media screen and (max-width:767px) {
        .prev-pager a { padding:1.75em 1.5em 1.75em 30px; }
        .prev-pager a:before { width:20px; }
        .prev-pager a:hover { padding-left:40px; }
        .prev-pager a:hover:before { width:30px; }
        .next-pager a { padding:1.75em 30px 1.75em 1.5em; }
        .next-pager a:before { width:20px; }
        .next-pager a:hover { padding-right:40px; }
        .next-pager a:hover:before { width:30px; }
        }

/*==================================================================================================

       お問い合わせ

===================================================================================================*/

        .kome {
        color:#ff0000;
        font-size:12px;
        font-weight: bold;
        }
        .input.short {
        max-width: 100%;
        width: auto;
        min-width:15em;
        }

        .form-table {
        width:100%;
        border-collapse:collapse;
        border-spacing:0;
        text-align:left;
        letter-spacing:0;
        box-sizing: border-box;
        line-height: 150%;
        font-weight:400;

        }
        .form-table tr { }
        .form-table th {
        vertical-align: middle;
        padding-right:1rem;
        font-weight:normal;
        }
        .form-table td {
        padding:3px 0;
        }
        .form {
        width:100%;
        max-width:600px;
        position: relative;
        }
        .button, .input, .input-mail input .textarea, .select, .file-cta, .file-name, .pagination-previous, .pagination-next, .pagination-link, .pagination-ellipsis { border-radius: 5px; }

        html>/**/body #submit_button {
        cursor: pointer;
        display: block;
        color:#FFF;
        margin: 0 auto;
        width: 100%;
        max-width: 300px;
        font-size:16px;
        font-weight:700;
        font-family: 'Noto Sans JP', sans-serif;
        height: 60px;
        border: none;
        border-radius: 0;
        background: #DEAF5E;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        }
        html>/**/body #submit_button:hover {
        opacity: 0.7;
        }

.input-mail input {
        background-color: #FFF;
        color: #363636;
        box-shadow: inset 0 1px 2px rgb(10 10 10 / 10%);
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
        -webkit-appearance: none;
        align-items: center;
        border: 1px solid #A4A4A4;
        display: inline-flex;
        font-size: 1rem;
        height: 3em;
        border-radius: 5px;
        justify-content: flex-start;
        line-height: 1.5;
        padding-bottom: calc(0.375em - 1px);
        padding-left: calc(0.625em - 1px);
        padding-right: calc(0.625em - 1px);
        padding-top: calc(0.375em - 1px);
        position: relative;
        vertical-align: top;
        }

/*==================================================================================================

       access / parking

===================================================================================================*/

        .parking-info-section .parking-block + .parking-block {
         margin-top: 6rem;
         }

        .parking-info-section .parking-block h3 {
         margin-bottom: 1.5rem;
         }

       @media screen and (max-width: 767px) {
       .parking-info-section .parking-block + .parking-block {
        margin-top: 4rem;
        }

       .parking-info-section .parking-block h3 {
        margin-bottom: 1rem;
        }
        }
       
        /* public transport */

       .access-route-item {
        display: flex;
        align-items: flex-start;
        }

       .access-route-icon {
        width: 80px;
        flex: 0 0 80px;
        margin-right: 1.5rem;
        }

       .access-route-icon img {
        width: 100%;
        height: auto;
        display: block;
        }

       .nowrap {
        white-space: nowrap;
        }

       @media screen and (max-width: 767px) {
      .access-route-icon {
       width: 45px;
       flex-basis: 45px;
       margin-right: 0.5rem;
       }
       }