@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 共通 */
#body_wrap {
    background: url(/wp-content/uploads/2026/01/bg.jpg) center top / cover no-repeat;
}

body {
	font-family: fot-tsukubrdgothic-std, sans-serif;
	font-style: normal;
	font-weight: bold;
}

.l-content {
    margin: 0 auto;
    padding-top: 0 !important;
}

.post_content {
    margin: 0!important;
}

p {
	font-size: 14px;
}

p.fz-16 {
    font-size: 16px;
}

.font-co {
    font-family: "Cormorant", serif;
    font-optical-sizing: auto;
    letter-spacing: 0.08em;
}

.font-min {
    font-family: 'Zen Old Mincho', serif;
}

a {
	transition: opacity .25s;
}

a:hover {
	opacity: .8;
}

.link-text a {
	text-decoration: underline;
}

.swell-block-button__link {
    font-family: hiragino-kaku-gothic-pron, sans-serif;
}

.post_content h2.title {
    font-family: "Cormorant", serif;
    font-optical-sizing: auto;
    letter-spacing: 0.08em;
    font-size: 22px;
}

.swell-block-accordion__title {
    border: none;
    justify-content: flex-start;
    padding: 0;
}

.post_content .swell-block-accordion__label {
    flex: none;
    padding: 0 0.5em 0 0;
}

.swell-block-accordion.is-style-simple .swell-block-accordion__body {
    border: none;
    padding: 0;
    margin: 0;
}

.is-style-simple>.swell-block-accordion__item:first-child, .is-style-simple>.swell-block-accordion__item {
    border: none;
}

.wp-block-image img {
    vertical-align: middle;
}

#breadcrumb {
    display: none;
}

@media (min-width: 960px) {
	p, p.fz-16 {
		font-size: 22px;
	}

    .fz-25 .swl-fz {
        font-size: 25px !important;
    }

    p.fz-22 .swl-fz {
        font-size: 22px!important;
    }

    p.fz-20 {
        font-size: 20px;
    }

    p.fz-18 {
        font-size: 18px;
    }

    p.fz-13 .swl-fz {
        font-size: 13px!important;
    }

	.l-content {
        max-width: none;
		margin: 0 0 0 240px;
	}

    .swell-block-fullWide {
        width: calc(100vw - (240px + var(--swl-scrollbar_width, 0px))) !important;
        left: 50%;
        transform: translateX(-50%);
    }

    .post_content h2.title {
        font-size: 40px;
    }
}

@media (min-width: 1366px) {
    .l-content {
		margin: 0 0 0 267px;
	}

    .swell-block-fullWide {
        width: calc(100vw - (267px + var(--swl-scrollbar_width, 0px))) !important;
    }

}

@media (max-width: 959px) {
	.l-article {
		max-width: 600px;
	}
}

/* ヘッダー */
.l-header {
	position: fixed !important;
    background: transparent;
	padding: 8px 20px;
}

.l-header__inner {
	align-items: flex-start;
}

.-series .l-header__logo {
	padding: 0;
}

.c-gnav {
    flex-direction: column;
}

nav#gnav {
    margin-top: 10px;
    padding: 0 0 0 25px;
}

.c-gnav>.menu-item>a {
    width: 100%;
    padding: 15px 0;
}

.c-gnav>.menu-item>a .ttl {
    font-weight: bold;
    font-size: 18px;
}

.c-gnav>.menu-item {
    width: 100%;
    text-align: left;
}

.c-gnav a::after {
	height: 0;
}

.c-gnav>.menu-item>a .ttl {
    font-weight: bold;
}

.header-sns {
    gap: 15px;
}

.header-sns_icon {
    align-items: flex-start;
    gap: 15px;
}

.header-sns_icon img {
    max-width: 30px;
}

.header-sns_note img {
    max-width: 90px;
}

@media (min-width: 960px) {
    .l-header {
        width: 240px;
		padding: 0;
    }

    .-series .l-header__inner {
        padding: 0;
        flex-direction: column;
    }

    .-series .l-header__logo {
        margin: 0;
    }

    .-series .c-headLogo {
        margin: 0;
        height: auto;
    }

	.-series-left .w-header {
		margin: 15px 0 0 0;
		padding: 0 0 0 25px;
	}

	.c-gnav>.menu-item>a .ttl {
		font-size: 18px;
	}
}

@media (min-width: 1366px) {
    .l-header {
        width: 267px;
    }

    nav#gnav {
        margin-top: 35px;
    }

    .header-sns_icon {
        gap: 30px;
    }
}


/* ヘッダーSP */
.c-plainBtn {
    color: #4c3d1b;
}

@media not all and (min-width: 960px) {
	.c-headLogo {
		max-width: 87px;
		height: auto;
	}

	.-img .c-headLogo__link {
		padding: 12px 0 0 0;
	}
}

.-right .p-spMenu__closeBtn {
    top: 8px;
    right: 20px;
}

.p-spMenu__closeBtn {
    background-color: #fff;
}

.p-spMenu__inner {
    width: 100% !important;
	padding: 30px 20px;
}

.-left .p-spMenu__inner {
    transform: translateX(-100%) !important;
}

.-right .p-spMenu__inner {
    transform: translateX(100%) !important;
}

[data-spmenu="opened"] .p-spMenu__inner {
    transform: translateX(0) !important;
}

.p-spMenu__inner::before {
    background: #65b9bc;
}

.p-spMenu__body, .p-spMenu__nav {
    padding: 0;
}

.c-widget__title.-spmenu {
    display: none;
}

.c-listMenu a:before {
    display: none;
}

.c-listMenu a {
    border-top: none;
    padding: 15px 0;
    border: 0;
    color: #fff;
    font-weight: bold;
}

.sp_logo {
    max-width: 70px;
}

.p-spMenu__bottom {
    margin: 0;
}

.sp_header-sns {
    align-items: flex-start;
    gap: 15px;
    margin-top: 5px;
}

.sp_header-sns .sp_header-sns_icon {
    flex-direction: row;
    gap: 20px;
}

.sp_header-sns .sp_header-sns_icon img {
    max-width: 24px;
	vertical-align: middle;
}

.sp_header-sns_note img {
    max-width: 67px;
}

.p-spMenu__body::before {
	content: "";
	display: inline-block;
	width: 65px;
	height: 41px;
	background: url("/wp-content/uploads/2026/01/sp-logo.png") no-repeat center / cover;
	margin: 0 0 25px 5px;
}

/* footer */

#before_footer_widget {
    margin: 0 auto !important;
}

.l-footer {
    z-index: 100;
    background: url(/wp-content/uploads/2026/03/new-footer-sp.png) no-repeat center / cover;
}

.l-footer__widgetArea {
    padding: 25px 0 10px;
}

.footer-container {
    gap: 10px !important;
}

.footer-logo {
    margin: 0;
}

.w-footer__box {
    padding: 0;
}

.footer-menu {
    list-style-type: none;
    padding: 0!important;
}

.footer-menu li {
    margin: .8em 0;
    letter-spacing: 0.2em;
}

.footer-sns {
    gap: 20px;
    align-items: center;
}

.copyright span {
    display: none;
}

.copyright {
    font-family: hiragino-kaku-gothic-pron, sans-serif;
}

.l-footer__foot {
    padding-bottom: 28px!important;
}

@media (min-width: 960px) {
    .footer-container {
        gap: 10px!important;
        justify-content: center;
        align-items: center!important;
        flex-direction: column;
    }

    .footer-logo img {
        max-width: 264px;
        width: 100%!important;
    }

    .footer-menu {
        display: flex;
        gap: 40px;
        font-size: 18px;
    }

    .footer-content {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

    .footer-sns img {
        max-width: 36px;
        width: 100%!important;
    }

    .footer-sns_icon4 img {
        max-width: 43px;
    }

    .footer-sns_icon6 img {
        max-width: 104px;
    }

    .footer-sns {
        gap: 30px;
    }

    .footer-img {
        max-width: 264px;
    }

    .l-footer__foot {
        padding: 50px 0 43px!important;
    }

    .l-footer__widgetArea {
        padding: 53px 0 0;
    }

    .l-footer {
        background: url(/wp-content/uploads/2026/03/new-footer.png) no-repeat center / cover;
    }
}

@media (min-width: 1366px) {

    .footer-logo img {
        width: 100%!important;
    }

    .footer-container {
        position: relative;
    }

    .footer-img {
        position: absolute;
        top: 50%;
        left: 50px;
        transform: translateY(-50%);
    }
}

/* ご予約 */
.reservation {
    padding: 20px 0 40px!important;
}

.reservation-title_wrapper .wp-block-group__inner-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.reservation-box_title {
    font-family: "Cormorant", serif;
    font-optical-sizing: auto;
    letter-spacing: 0.08em;
}

.reservation_box {
    align-items: center;
}

.reservation_box_button svg {
    color: #4c3d1b;
}

.reservation_box_button a {
    font-family: 'Zen Old Mincho', serif;
    box-shadow: none;
}

.reservation_box:first-child a {
    letter-spacing: .09em;
}

@media (min-width: 960px) {
    .reservation {
        margin: 0 0 0 120px;
        padding: 20px 30px 30px!important;
    }

    .reservation .swell-block-fullWide__inner {
        max-width: 100%;
    }

    .reservation_content {
        flex-direction: column;
        align-items: center !important;
    }

    .reservation-title .swl-fz {
        font-size: 35px!important;
    }

    .reservation .reservation_box {
        flex-direction: row;
        align-items: center;
        gap: 15px;
    }

    .reservation-box_title {
        margin: 0!important;
        width: 87px;
        text-align: center;
    }

    .reservation_box_button a {
        font-size: 26px;
        padding: 5px 0.5em;
    }

    .reservation_box_button {
        --the-width: 379px!important;
    }

    .reservation_box_button svg {
        font-size: 16px;
    }

    .reservation_box_button svg {
        --the-icon-size: 0.9em;
    }

    .reservation-box_title .swl-fz {
        font-size: 25px!important;
    }

}

@media (min-width: 1366px) {
    .reservation {
        margin: 0 0 0 134px;
    }

    .reservation_content {
        flex-direction: row;
        padding: 0 25px;
    }
}

@media (min-width: 1500px) {
    .reservation .swell-block-fullWide__inner {
        max-width: var(--article_size);
    }
}

/* sub */
.c-pageTitle {
    display: none;
}

.sub-fv {
    padding: 100px 0 40px !important;
}

.sub-fv_container {
    align-items: center !important;
}

@media (min-width: 960px) {
    .sub-fv_title .swl-fz {
        font-size: 40px!important;
    }

    .sub-fv_title-sub {
        margin-top: 30px!important;
    }

    .sub-fv {
        padding: 100px 0 !important;
    }

    .sub-fv_container {
        justify-content: space-between;
    }

    .sub-fv_img {
        max-width: 344px;
        width: 100%;
    }

}
