@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{
font-family:"Zen Kaku Gothic New", sans-serif;
font-weight:500;
font-style: normal;
}
/*固定ページ背景*/
.page:not(.home) {
  background: linear-gradient(#EBE9E3,#DED9CA,#EBE9E3,#EBE9E3);
}

/*メインビューの画像*/
picture.p-mainVisual__imgLayer.c-filterLayer__img img.lazyloaded{
	height:100% !important;
}

/*pc表示のみ（画像）*/
@media(max-width:960px){
figure.wp-block-image.size-large.pc_only,.swell-block-column.swl-has-mb--s.section_img.pc_img::after {
    display: none !important;
}
}
.size_xs img, img.size_xs{
    max-width:100%;
}


/*コンテンツ幅-----------------------------------------------------------*/
.l-container,
.l-article,
.alignfull>.wp-block-cover__inner-container, 
.alignfull>.wp-block-group__inner-container,
#message .swell-block-fullWide__inner{
	max-width:1150px;
	padding-left:0;
	padding-right:0;
}
@media(max-width:1440px){
	.l-container,
	.l-article,
    .alignfull>.wp-block-cover__inner-container, 
    .alignfull>.wp-block-group__inner-container,
    #footer .swell-block-fullWide__inner,
    #message .swell-block-fullWide__inner{
		max-width: clamp(820px, 79.86vw, 1150px);
	}
    .-series .l-header__inner{
        max-width: clamp(900px, 79.86vw, 1150px) !important;/*ヘッダー内*/
    }
}
@media(max-width:1024px){
	.l-container,
	.l-article,
    .alignfull>.wp-block-cover__inner-container, 
    .alignfull>.wp-block-group__inner-container,
    #footer .swell-block-fullWide__inner,
    #message .swell-block-fullWide__inner{
		max-width:clamp(700px, 80.08vw, 820px);
	}
        .-series .l-header__inner{
        max-width:clamp(700px, 80.08vw, 820px) !important;/*ヘッダー内*/
    }

}
	@media(max-width:768px){
	.l-container,
	.l-article,
    .alignfull>.wp-block-cover__inner-container, 
    .alignfull>.wp-block-group__inner-container,
    #footer .swell-block-fullWide__inner,
    #message .swell-block-fullWide__inner{
		max-width:90%;
	}
}
/*------------------------------------------------------------------------*/


/*ヘッダー-------------------------------------------------------------------*/
.-series .l-header__logo,
.l-fixHeader__logo{
	margin-right: 0;
    padding: 0;
}
.-series .c-headLogo{
	margin-right:0;
}
.-series .l-header__inner{
	align-items:center;
}
.c-gnav>.menu-item{
	font-family: "Cinzel", serif;
    font-weight: bold;
}
.c-gnav>.menu-item > a {
    padding: 0 1.875rem;
	transition:.3s;
}
.c-gnav>.menu-item > a:hover{
	opacity:0.6;
	background:none;
}
.-series-right .w-header {
  margin-left: 2.5rem;
}
.web_btn a{
	display:inline-block;
	padding:0.6rem 3.75rem;
	background-color:#EBE9E3;
	border-radius:9999px;
	color:#3F5040;
	border:1.5px solid #3F5040;
	transition:all .3s;
}
.web_btn a:hover{
	background-color:#3F5040;
	color:white;
}

.c-widget__title.-spmenu{
    display: none;
}
.c-listMenu.c-listMenu li{
    font-family: "Cinzel", serif;
    font-weight: bold;
}

/*ヘッダーナビの背景削除*/
.c-gnav > li:hover > a, .c-gnav > .-current > a{
    background: none;
}



@media not all and (min-width: 960px) {
    .l-fixHeader, .l-header__gnav {
        display: block;
    }
	.l-header__customBtn, 
	.l-header__menuBtn{
		display:none;
	}
	.l-header__spNav {
    display: none;
}
	.pc_, .pc_only {
		display:block !important;
	}
	
	/*ロゴ上下のpadding消去*/
	.-img .c-headLogo__link{
		padding:0;
	}


}
@media screen and (max-width: 959px) {
	.l-header__inner {
		justify-content:space-between;
	}
}


@media(max-width:1024px){
	.c-gnav>.menu-item > a {
        padding: 0 .8rem;
	}
    .l-fixHeader__inner{
        align-items: center;
    }
    .web_btn a {
        padding: 0.6rem 4vw;
    }
    .-series-right .w-header {
        margin-left: 1rem !important;
    }
}
@media(max-width:768px){
	.pc_, .pc_only {
		display:none !important;
	}
	/*ハンバーガーメニューなどの表示*/
		.l-header__customBtn, 
	.l-header__menuBtn{
		display:block;
	}
	/*PCのナビを削除*/
	.l-fixHeader, .l-header__gnav{
		display:none;
	}
	/*ハンバーガーメニューの色*/
	.l-header__menuBtn{
		color:#3F5040;
	}
    /*ハンバーガーメニュー内のフォント変更*/
    .c-widget__title.-spmenu,
    .p-spMenu__nav{
        font-family: "Cinzel", serif;
        font-weight: 400;
    }

        /*web予約のボタン*/
    .sp_web_btn a {
        text-align: center;
        border: solid 1px #3F5040;
        display: block;
        padding: 1.25rem 0;
        border-radius: 9999px;
        background-color: #3F5040;
        color:white;
    }
	
}
/*------------------------------------------------------------------------*/

/*フッター-----------------------------------------------------------------*/
.w-beforeFooter{
    margin:0;
    background: #EBE9E3;
    padding:4rem 0;
}
#before_footer_widget .l-container{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
div#media_image-2 {
    width: 247px;
}
div#nav_menu-2 {
    width: 40%;
    margin:0;
}
.c-widget.c-listMenu.widget_nav_menu .menu{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.c-widget.c-listMenu.widget_nav_menu li{
    font-family: "Cinzel", serif;
    font-weight: bold;
}
.c-widget.c-listMenu.widget_nav_menu li a{
    border:none;
    padding:0;
    transition: .3s;
}
.c-widget.c-listMenu.widget_nav_menu li a:hover{
    background: none;
    opacity: .6;
}
.c-widget.c-listMenu.widget_nav_menu li a::before{
    display: none;
}
div#swell_sns_links-2{
    margin-top:0;
}

@media(max-width:1440px){
    div#nav_menu-2 {
        width: 50%;
    }
}

@media(max-width:1220px){
    div#nav_menu-2 {
        width: 55%;
    }
}

@media(max-width:768px){
    .w-beforeFooter{
        padding: 2.5rem 0;
    }
    #before_footer_widget .l-container{
        flex-flow: column;
        align-items: center;
    }
    div#nav_menu-2{
        margin:2rem 0;
        width:80%;
    }
    
}
@media(max-width:425px){
    div#media_image-2{
        order:2;
    }
    div#nav_menu-2{
        order:1;
    }
    .c-widget.c-listMenu.widget_nav_menu .menu{
        flex-flow: column;
    }
    .c-widget.c-listMenu.widget_nav_menu li{
        padding-bottom:1.5rem;
    }
    .c-widget.c-listMenu.widget_nav_menu li:last-of-type{
        padding-bottom:0;
    }
    div#swell_sns_links-2{
        order:3;
    }
    .w-beforeFooter {
        padding: 2rem 0;
    }
}
/*------------------------------------------------------------------------*/


/*メインの共通パーツ----------------------------------------------------------*/

/*ページヘッダー*/
.page .l-topTitleArea{
    height:350px;
}
.-filter-blur>.c-filterLayer__img {
    object-position: 0 -27.78vw;
    object-fit: cover;
    left:0;
    top:0;
}
.c-pageTitle{
    display: flex;
    justify-content: center;
    flex-flow: column;
    align-items: center;
    font-family: "Cinzel", serif;
    font-weight: bold;
    font-size: 1rem;
}
.c-pageTitle__subTitle{
    margin-left:0;
    top:0;
    font-family:"Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size:1.75rem;
    margin-top:10px;
}

/*コンテンツの余白削除*/
.l-mainContent__inner>.post_content{
    padding:0;
}


/*カラムのflex*/
.wp-block-columns{
    align-items: self-start !important;
}

/*カラムの余白削除*/
.swell-block-columns__inner{
    margin-left:0;
    justify-content: space-between; /*カラム*/
}
.swell-block-column.swl-has-mb--s.section_info,
.swell-block-columns .swell-block-column {
    margin: 0;
}



/*メインの下部の余白を消去*/
.l-content{
    margin:0 auto;
}
/*メインビューしたのところの余白を消去*/
.top #content {
    padding-top: 0;
    margin-bottom:0 !important;
}
/*グループ内の余白を削除*/
.post_content>*{
    margin-bottom: 0px;
}

/*セクション背景（グラデ）*/
.wp-block-group.alignfull.section_bg {
    padding: 5rem 0 0 0 ;
    background: linear-gradient(#EBE9E3, #DED9CA);
}
/*セクション背景（ノーマル）*/
.wp-block-group.alignfull.section_bg.normal{
    background:#DED9CA;
}



/*セクションタイトル*/
.wp-block-column.section_info {
    position: relative;
}
.en_ttl{
    position: absolute;
    top:-30px;
    left:0;
    font-family: "Cinzel", serif;
    font-weight: bold;
    font-size: 5.313rem;
    color:white;
    opacity: 0.5;
    margin-bottom:0;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){
    background: none;
    padding:0;
    margin:0;
    color:#3F5040;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{
    display: none;
}
h2.wp-block-heading.section_ttl{
    margin-top:35px;
}


/*セクション、画像部分*/
.section_img,
.wp-block-image{
    position: relative;
    border-radius: 2.5rem !important;
}
img.lazyloaded,
.section_img::after{
    object-fit: cover;
    height: 330px !important;
}
img.p-mainVisual__img.u-obf-cover.ls-is-cached.lazyloaded{
    height:100% !important;
}
.section_img::after{
    content:"";
    display: block;
    width:100%;
    height:330px;
    background-color: rgba(96, 96, 96 , .4);
    position: absolute;
    top:0;
    border-radius: 2.5rem;
}
.section_info .section_img::after{
    display: none;
}
.wp-block-column.section_img img,
.wp-block-image img{
    border-radius: 2.5rem;
}

/*セクション、テキスト部分*/
.section_info p{
    line-height:2.5rem;
    margin-top:1.25rem;
    font-weight: 500;
}

/*詳しく見るボタン*/
.swell-block-button.-size-custom.is-style-btn_normal.more_btn{
    text-align: right;
}
.swell-block-button.-size-custom.is-style-btn_normal.more_btn a{
    font-weight: 400;
}



/*contact調整用CSS------------------------------*/
#contact{
    margin-top:5rem !important;
}
#contact .en_ttl{
    top:-35px;
    left:50%;
    transform: translateX(-50%);
    text-align: center;
}
#contact h2.wp-block-heading.section_ttl{
    text-align: center;
}
p.has-text-align-center.contact_txt {
    line-height: 2.5rem;
    color:#3F5040;
}

/*お問い合わせボタン*/
#contact [class*=is-style-btn_] a:hover{
    background-color: #3F5040;
    color:white;
}
#contact .is-style-btn_line a{
    color:#3F5040;
    font-weight: 600;
}

@media(max-width:1024px){
    #contact .swell-block-columns__inner{
        justify-content: space-between;
    }
    #contact .swell-block-columns .swell-block-column{
        margin:0;
    }
}
@media(max-width:960px){
    #content .wp-block-cover{
        padding:5rem 0 !important;
    }
    #contact .swell-block-columns .swell-block-column{
        width:100%;
    }

    .section_info .section_img::after{
        display: block;
    }
}
@media(max-width:768px){
    #content .wp-block-cover{
        padding:4rem 0 !important;
    }
    p.has-text-align-center.contact_txt{
        text-align: left;
    }
}
@media (min-width: 600px) {
    [class*=is-style-btn_].-size-l {
        --the-min-width: 100%;
    }
}
@media(max-width:425px){
    #contact h2.wp-block-heading.section_ttl{
        margin-top:10px;
    }
}
/*---------------------------------------------------------*/


/*お問い合わせフォーム調節用css*/

span.wpcf7-spinner {
    display: none;/*確認・送信ボタン横のテキスト削除*/
}

.contact_form{
width:800px;
margin:3.75rem auto 0 auto;
}
.contact_confirm{
    width:600px;
    margin:3.75rem auto 0 auto;
}

.form {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
margin-bottom:1.25rem;
}
p.form_name {
    width: 30%;
font-weight: bold;
}
p.form_name span{
color:red;
}
.form p:not(.form_name) {
    width: 70%;
}

.form input,.form textarea{
width:100% !important;
border:none;
}

.submit_btn {
    width: 100%;
    text-align: center;
    margin: 1.25rem auto 0 auto;
}
.contact_confirm .submit_btn{
    width:60%;
    margin:3.75rem auto 0 auto;
}
.contact_confirm .submit_btn p{
    display: flex;
    justify-content: space-between;
}
.submit_btn p {
    width: 100%;
    text-align: center;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner,
input.wpcf7-form-control.wpcf7-previous{
    background: #EBE9E3;
    border: 1px solid #3F5040;
    padding: .25em 3.75em;
    transition: .3s;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner:hover,
input.wpcf7-form-control.wpcf7-previous:hover{
    background: #3F5040;
    color:white;
}




/*------------------------------------------------------------------------------------------
レスポンシブ
--------------------------------------------------------------------------------------------*/


@media(max-width:1440px){
    /*ページヘッダー*/
    .l-topTitleArea{
        height:24.31vw;
    }



    /*セクション、画像部分*/
    .section_img{
        flex-basis: 48% !important;
    }
    img.lazyloaded,
    .section_img::after {
        height: 22.92vw !important;
    }

    /*セクション、テキスト部分*/
    .wp-block-column.section_info,
    .swell-block-column.section_info{
        flex-basis: 47% !important;
    }

}

@media (max-width: 1024px) {
    /*セクションタイトル*/
    .en_ttl {
        width: 140% !important;
    }
}

@media(max-width:960px){

    /*カラム*/
    .wp-block-columns {
        flex-wrap: wrap !important;
    }
    .swell-block-columns .swell-block-column{
        width:auto;
    }

    /*セクション、画像部分*/
    img.lazyloaded,
    .section_img::after {
        height: 58.1vw !important;
    }
    img.p-mainVisual__img.u-obf-cover.ls-is-cached.lazyloaded{
        height:100% !important;
    }
    .wp-block-column.section_img{
        flex-grow: 100 !important;
    }
    .section_img img,
    .wp-block-image img,
    .section_img::after,
    .wp-block-column.section_img img, .wp-block-image img{
        border-radius: 1.5rem;
    }

    /*セクション、テキスト部分*/
    .wp-block-column.section_info,
    .swell-block-column.section_info{
        flex-basis: 100% !important;
    }
}

@media (max-width: 768px) {
    /*コンテンツ幅*/
    .-sidebar-off .l-article{
        margin-left:0;
        margin-right:0;
        max-width:100% !important;
    }
    /*ページヘッダー*/
    .l-topTitleArea {
        height: 300px;
    }
    .-filter-blur>.c-filterLayer__img{
        object-position: center;
    }


    /*セクションタイトル*/
    .en_ttl {
        width: 100%;
    }
    

}

@media (min-width: 600px) {
    /*セクションタイトル*/
    .post_content h2 {
        font-size: 1.4em;
    }
}


@media(max-width:425px){
    /*ページヘッダー*/
    .l-topTitleArea {
        height: 200px;
    }

    /*セクションタイトル*/
    .en_ttl{
        font-size: 4rem !important;
    }
}



@media (max-width: 375px) {
    /*セクションタイトル*/
    h2.wp-block-heading.section_ttl {
        margin-top: 20px;
    }
    .en_ttl{
        top:-55px;
    }
}