@charset "utf-8";
/*========================
会社情報ページ
========================*/
/*コンテンツ1*/
.info-page-1 {
    margin-bottom: 30px;
}
.info-page-1-main-name {
    display: flex;
    margin-bottom: 20px;
}
.info-page-1-img img {
    width: 150px;
    height: 150px;
    border-radius: 3px;
    object-fit: cover;
    vertical-align: bottom;
}
.info-page-1-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 10px;
    box-sizing: border-box;
    width: 100%;
}
.info-page-1-text-body {
    margin-top: 15px;
}
.info-page-position p {
    font-size: 0.9rem;
}
.info-page-name p {
    font-size: 1.2rem;
}
.info-page-1-position-1 h3{
    font-size: 0.8rem;
    font-weight: normal;
    margin: 5px 0;
}
.info-page-1-text-1 {
    display: none;
}

/*コンテンツ1-2*/
.info-page-1-2-sub {
    display: flex;
    flex-direction: column;
    border-bottom: solid 1px #ddd;
    margin-bottom: 10px;
}
.info-page-1-2-sub:last-child {
    margin-bottom: 30px;
    border-bottom: none;
}
.info-page-1-2-sub p {
    padding: 10px 0;
    box-sizing: border-box;
}
.info-page-1-2-sub-title {
    flex: 1;
}
.info-page-1-2-sub-title p {
    font-weight: bold;
}
.info-page-1-2-sub-text {
    flex: 2; 
    margin-bottom: 10px;
}
.info-page-1-2-sub-text iframe {
    height: 250px;
}
.info-page-1-2-bt {
    margin: 20px 0;
    display: flex;
    justify-content: center;
}
.info-page-1-2-sub-text a {
    display: block;
    background-color: #67a5da;
    border: solid 1px #67a5da;
    color: #fff;
    font-size: 0.8rem;
    padding: 10px;
    text-align: center;
    border-radius: 3px;
    width: 50%;
}
.info-page-1-2-sub-text a:hover {
    background-color: #fff;
    color: #67a5da;
}
/*コンテンツ2*/
.info-page-2 {
    margin-bottom: 30px;}
.info-page-2-main {
    margin-bottom: 20px;
}
.info-page-2-main:last-child {
    margin-bottom: 0;
}
.info-page-2-img img {
    width: 100%;
    border-radius: 3px;
    vertical-align: bottom;
}
.info-page-2-text-1 {
    padding: 5px;
    border-bottom: solid 2px #67a5da;
    box-sizing: border-box;
    margin: 10px 0 15px;
}
.info-page-2-text-1 h3 {
    font-size: 1rem;
}

/*コンテンツ3*/
/*=====================
サムネイル付きスライダー
=====================*/
#slider {
    width: 100%;
    margin: 0 auto 20px;
}
.slide-item {
    position: relative;
}
.slide-item h3 {
    position: absolute;
    color: #fff;
    padding: 5px 10px;
    box-sizing: border-box;
    font-size: 1rem;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0,0,0,0.3);
}
.slide-item img{
    width: 100%;
    height: 250px;
    object-fit: cover;
}

#thumbnail-list {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3,32%);
    grid-column-gap: 2%;
    list-style: none;
}
.thumbnail-item img {
    object-fit: cover;
    height: 80px;
}
.thumbnail-item {
    margin-bottom: 10px;
    box-sizing: border-box;
    position: relative;
}
.thumbnail-item:hover {
    cursor: pointer;
}
.thumbnail-item:after {
    content: '';
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    transition: .3s opacity linear;
}

.thumbnail-current:after {
    opacity: 0;
}
.thumbnail-item img {
    width: 100%;
    margin: 0 auto;
    vertical-align: bottom;
}
/*========================
コンタクトページ
========================*/
.contact-text-body {
    margin-bottom: 20px;
}
.contact-text-body:last-child {
    margin-bottom: 30px;
}
.contact-img {
    margin-bottom: 15px;
}
.contact-main-title {
    padding: 5px;
    box-sizing: border-box;
    margin: 10px 0 15px;
    border-bottom: solid 2px #67a5da;
}
.contact-main-title h3 {
    font-size: 1rem;
}
.contact-img img{
    width: 100%;
	height: 300px;
    object-fit: cover;
    border-radius: 5px;
    vertical-align: bottom;
}
.contact-form {
    margin: 10px 0 20px;
}
.faq-main p {
    padding: 20px 10px;
    color: #333;
    box-sizing: border-box;  
}
.faq-body {
    border: solid 1px #ddd;
    border-bottom: none;
}
.qestion {
    background-color: #f3f9fd;
    position: relative;
    border-bottom: solid 1px #ddd;
}

.qestion::before {
    font-weight: bold;
    content: "Q.";
}
.qestion::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 38%;
    transition: all 0.2s ease-in-out;
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
.qestion.open:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 45%;
}
.qestion:hover {
    cursor: pointer;
}
.answer {
    background-color: #fdf5f9;
    display: none;
    border-bottom: solid 1px #ddd;
}
.answer::before {
    font-weight: bold;
    content: "A.";
}
/*========================
メニューページ
========================*/
.menu-page {
	margin-bottom: 30px;
}
.menu-all-box {
    margin-bottom: 50px;
    border: solid 1px #ddd;
    padding: 20px;
    box-sizing: border-box;
}
.menu-all-title h2 {
    text-align: center;
    font-size: 1.3rem;
    margin: 20px 0 30px;
}
.menu-all-sub-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-bottom: dotted 2px #b2291c;
    margin: 0 auto 30px;
    max-width: 300px;
}
.menu-all-sub-title h3 {
    text-align: center;
    font-size: 1.2rem;
    
}
.menu-all-text-box {
    max-width: 700px;
    margin: 20px auto;
    border-bottom: dotted 1px #333;
}
.menu-all-subtext-box {
    display: flex;
    justify-content: center;
}
.menu-all-text-1 {
    flex: 2;
}
.menu-all-text-2 {
    text-align: right;
    flex: 1;
}
.menu-all-subtext-1,
.menu-all-text-2 p {
    font-weight: bold;
}
.menu-all-subtext-2 {
    margin-top: 10px;
}
.menu-all-under-text p{
    text-align: right;
    font-size: 0.7rem;
}
.menu-title-text {
    margin-bottom: 5px;
}
.menu-main {
    border: solid 1px #ddd;
    margin-bottom: 30px;
    box-sizing: border-box;
    padding: 15px;
}
.menu-main-title {
    margin-bottom: 15px;
}
.menu-main-title h3 {
    font-size: 1rem;
    border-bottom: solid 2px #ddd;
    padding-bottom: 5px;
}
.menu-img {
    margin-bottom: 5px;
}
.menu-img img {
    width: 100%;
	height: 300px;
	object-fit: cover;
    vertical-align: bottom;
}
.menu-text-main {
	margin-top: 15px;
}
.menu-fee {
    font-size: 1rem;
    text-align: right;
    margin-top: 15px;
}

/*=============
予約ページ
=============*/
.ord-text {
    margin-bottom: 20px;
}
.ord-main-title {
    border-bottom: solid 2px #67a5da;
    padding: 5px;
    margin: 10px 0 15px;
}
.ord-main-title h3 {
    font-size: 1rem;
}
.ord-main-box {
    margin-bottom: 20px;
}
.ord-img img {
    width: 100%;
    height: 300px;
    object-fit: cover;
	border-radius: 3px;
}
.ord-main-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 20px;
}
.ord-main-text p {
    width: 100%;
    text-align: left;
    margin-bottom: 20px;
}
.ord-main-text a {
    margin-top: auto;
    padding: 10px;
    background-color: #67a5da;
    color: #fff;
    border: solid 1px #67a5da;
    text-align: center;
    width: 50%;
    border-radius: 3px;
}
.ord-main-text a:hover {
    background-color: #fff;
    color: #67a5da;
}
.ord-edit {
    margin-bottom: 20px;
}

/*===============================
アクセスページ
===============================*/
.access-text {
    margin-bottom: 20px;
}
.access-edit {
    width: 100%;
    margin-bottom: 30px;
}
.access-road {
    margin-bottom: 30px;

}
.access-road-title h3 {
    border-left: solid 7px #7d003a;
    padding-left: 10px;
    font-size: 1.2rem;
    margin-bottom: 20px;
}
.access-road-box {
    background-color: aqua;
    margin-bottom: 30px;
    display: flex;
    align-items: flex-start;
    padding: 10px;
    box-sizing: border-box;
}
.access-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 3px;
}
.access-img {
    width: 150px;
    height: 100px;
    margin-left: 10px;
}
.access-road-text {
    margin-bottom: 15px;
    flex: 1;
}
/*===============================
クラウドファンディングページ
===============================*/
.cloud-title-box {
    margin-bottom: 30px;
}
.cloud-sub {
    background-color: #67a5da;
    padding: 15px;
    box-sizing: border-box;
    margin-bottom: 15px;
    border-radius: 3px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.cloud-sub-1 p {
    font-size: 1rem;
}
.cloud-sub-1 p::before {
    content: "\f4d8";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 1rem;
    margin-right: 5px;
}
.cloud-sub-2 {
    margin-top: 10px;
}
/*========================
プライバシーポリシーページ
========================*/
.pri-title-text {
    margin-bottom: 20px;
}
.pri-sub-title {
    margin-bottom: 10px;
}
.pri-sub-title h3 {
    font-size: 0.9rem;
    border-bottom: solid 1px #ddd;
    padding: 5px 10px;
    box-sizing: border-box;
}
.pri-text {
    margin-bottom: 20px;
}
.pri-info {
    margin: 20px 0;
}
.pri-info-title {
    margin-bottom: 5px;
}
.pri-info-title h3 {
    font-size: 0.8rem;
    font-weight: normal;
}
.pri-bt {
    display: flex;
    justify-content: center;
}
.pri-bt a {
    padding: 10px;
    border: solid 1px #67a5da;
    background-color: #67a5da;
    color: #fff;
    box-sizing: border-box;
    border-radius: 3px;
    margin: 20px 0;
}
.pri-bt a:hover {
    background-color: #fff;
    color: #67a5da;
}
.pri-info-body {
    display: flex;
    justify-content: flex-end;
}
/*========================
サイトマップ
========================*/
.sitemap-title {
    margin-bottom: 20px;
}
.sitemap-title h2 {
    font-weight: normal;
    font-size: 1.2rem;
}

.sitemap-box {
    padding: 15px;
    margin: 30px 0;
}
.sitemap-body {
    border: solid 1px #e2c29b;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 30px;
}
.sitemap-main {
    background-color: #fff;
    font-size: 0.8rem;
}
.sitemap h2 {
    font-size: 0.8rem;
    font-weight: normal;
    background-color: #e2c29b;
    color: #fff;
    padding: 10px;
}

.sitemap-main li {
    border-bottom: dashed 1px #e2c29b;
    border-radius: 3px;
    overflow: hidden;
    align-items: center;
    font-size: 0.8rem;
}
.sitemap-main .current_page_item:hover {
    background: none;
    color: inherit;
}
.sitemap-main li:last-child {
    border-bottom: none;
}
.sitemap-main a {
    font-size: 0.8rem;  
}
.sitemap-body a,
.page-sitemap li {
	padding: 10px;
    box-sizing: border-box;
}
.sitemap a:hover {
    opacity: 0.7;
}
.cat-item {
	display: flex;
    align-items:center; 
}
.sitemap-body .sitemap-main .cat-item-none {
    padding: 10px;
}
/*========================
メディアクエリ667px以上
========================*/
@media(min-width:667px) {
    /*========================
    会社情報ページ
    ========================*/
    /*コンテンツ2*/
    .info-page-2-main {
        display: flex;
    }
    .info-page-2-img {
        flex: 1;
        margin-right: 10px;
    }
    .info-page-2-text {
        flex: 3;
    }
    .info-page-2-text-1 {
        margin-top: 0;
    }
    /*コンテンツ3*/
    .slide-item img{
        height: 300px;
    }
    .thumbnail-item img {
        height: 120px;
    }
    /*========================
    メニューページ
    ========================*/
    .menu-main {
        margin-top: 15px;
        margin-bottom: auto;
    }
    .menu-main-body {
        display: grid;
        grid-template-columns: repeat(auto-fit,minmax(49%,1fr));
        grid-column-gap: 2%;
        box-sizing: border-box;
    }
    /*=======================
    コンタクトページ
    =======================*/
    .contact-text {
        display: flex;
    }
    .contact-img {
        flex: 1;
        margin-right: 10px;
    }
    .contact-main-text {
        flex: 2;
    }
    
    /*==========================
    アクセスページ
    ==========================*/
    .access-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 3px;
    }
    .access-img {
        width: 250px;
        height: 200px;
    }
    .access-road-box {
        align-items: center;
    }

    /*==========================
    予約ページ
    ==========================*/
    .ord-main-box {
        display: flex;
    }
    .ord-img,
    .contents-img {
        flex: 1;
        
    }
    .ord-text-left {
        flex: 1;
        margin-right: 10px;
    }
    .ord-text-right {
        flex: 1;
        margin-left: 10px;
    }

    /*===============================
    クラウドファンディングページ
    ===============================*/
    .cloud-sub-box {
        display: grid;
        grid-template-columns: 49% 49%;
        grid-column-gap: 2%;
        box-sizing: border-box;
    }

}
/*========================
メディアクエリ768px以上
========================*/
@media(min-width:768px) {
    /*========================
    会社情報ページ
    ========================*/
    /*コンテンツ1*/
    .info-page-1-main {
        display: flex;
    }
    .info-page-1-main-name {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0;
        flex: 1;
    }
    .info-page-1-text {
        display: none;
    }
    .info-page-1-text-1 {
        display: block;
        padding: 0;
        margin-top: 15px;
    }
    .info-page-text-main {
        flex: 3;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-left: 15px;
        box-sizing: border-box;
    }
    .info-page-1-text-body {
        margin-top: 20px;
    }
    .info-page-1-img img {
        width: 200px;
        height: 200px;
    }
    /*コンテンツ3*/
    .slide-item img{
        height: 400px;
    }
    .thumbnail-item img {
        height: 200px;
    }
    /*========================
    メニューページ
    ========================*/
    .menu-main-body {
        display: block;
    }
    /*========================
    予約ページ
    ========================*/
    .ord-main-box {
        display: block;
    }
    .ord-text-left {
        margin-right: 0;
    }
    .ord-text-right {
        margin-left: 0;
    }

    /*========================
    サイトマップ
    ========================*/
    .sitemap {
        display: grid;
        grid-template-columns: 47.5% 47.5%;
        grid-column-gap: 5%;
        align-items: baseline;
    }    
}

/*========================
メディアクエリ1024px以上
========================*/
@media(min-width:1024px) {
    /*========================
    会社情報ページ
    ========================*/
    /*コンテンツ1-2*/
    .info-page-1-2-sub {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin-bottom: 10px;
    }
    .info-page-1-2-sub-text {
        flex: 3;
        display: flex;
        align-items: center;
        margin-bottom: 0;
    }
    .info-page-1-2-sub-text-main {
        flex: 3;
    }
    .info-page-1-2-bt {
        display: flex;
        justify-content:flex-end; 
        flex: 1;
        margin: 0 0 0 20px;
    }
    .info-page-1-2-bt a {
        width: 200px;
    }
    .info-page-2-main {
        display: flex;
    }
    .info-page-2-text {
        margin-top: 0;
    }
    /*コンテンツ3*/
    .slide-item img{
        height: 500px;
    }
    .thumbnail-item img {
        height: 250px;
    }
    /*========================
    メニューページ
    ========================*/
    .menu-main-body {
        display: grid;
    }
    /*========================
    プライバシーポリシーページ
    ========================*/
    .pri-info-body {
        display: flex;
        justify-content: flex-start;
    }
    
    /*====================
    予約ページ
    ====================*/
    .ord-main-box {
        display: flex;
    }
    .ord-img {
        flex: 1;
    }
    .ord-text-left {
        flex: 1;
        margin-right: 10px;
    }
    .ord-text-right {
        flex: 1;
        margin-left: 10px;
    }
    /*===============================
    クラウドファンディングページ
    ===============================*/
    .cloud-sub-box {
        display: grid;
        grid-template-columns: 32% 32% 32%;
        grid-column-gap: 2%;
        box-sizing: border-box;
    }

}