/*
Theme Name: Crystal Gate
Theme URI: 
Description: 
Version:
Author: 
Author URI: 
*/

/* CSS Document */

@charset "utf-8";


/* ********************************************
// --- リセット ---
// ***************************************** */
  
/* CSS Document */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline:0;
	font-size: 62.5%;
	vertical-align: baseline;
	background: transparent;
}

body {
	font-family: YuMincho, serif;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	font-style: normal;
	line-height: 1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display: block;
}

ul,li {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
	color: #1f1f1f;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #1f1f1f; 
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;   
	border-top: 1px solid #1f1f1f;
	margin: 1em 0;
	padding: 0;
}

input, select {
	vertical-align: middle;
}

p,h1,h2,h3,h4,h5,h6,h7,tr,th,td {
	font-weight: normal;
	color: #000000;
}

img{
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

.clear {
	clear: both;
}
.no_link{
    pointer-events: none; 
    cursor: default;	
}

/*************** ヘッダー ***************/
#header{
	width: 100%;
	background-color: #000;
    padding: 10px 40px;
	box-sizing: border-box;
}
.header_top{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
}
.header_logo{
    display: flex;
    align-items: center;
}
.header_logo img{
    height: 50px; /* ロゴのサイズ調整 */
    margin-right: 10px;
}
.header_logo h1{
    font-size: 18px;
    line-height: 1.4;
	color: #ffffff;
}
.header_contact ul{
    display: flex;
    align-items: center;
}
.header_contact ul li{
    font-size: 14px;
	text-align: center;
    margin-left: 20px
}
.header_contact ul li a{
	color: #ffffff;
	line-height: 1.4
}
.header_contact ul li a span{
	font-size: 10px;
}
.header_contact ul li:nth-child(2) a {
    border: 1px solid #fff;
    padding: 5px 40px 5px 15px;
    display: inline-block;
}
.btn-login {
    display: flex;
    align-items: center;
    position: relative;
    padding: 5px 15px;
    padding-right: 40px;
    border: 1px solid #fff;
    color: #fff;
    text-decoration: none;
	pointer-events: none; 
    cursor: default;
}
.btn-login::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-image: url('./images/login.svg');
    background-size: contain;
    background-repeat: no-repeat;
    filter: brightness(0) invert(1);
}
.header_contact ul li img {
    width: 30px;
    vertical-align: middle;
}
/* ナビゲーションメニュー */
.header_nav{
	
}
.header_nav ul {
    display: flex;
    justify-content: center;
    padding-top: 10px;
}
.header_nav ul li {
    padding: 0 20px; 
    margin: 0;
    font-size: 14px;
    line-height: 1;
}
.header_nav ul li + li {
	border-left: 1px solid #ffffff;
}
.header_nav ul li a{
	font-size: 14px;
	color: #ffffff;
}


/* ハンバーガーボタンはPCでは隠す */
.sp-menu-toggle {
    display: none;
}

/* --- スマホサイズ（768px以下）の設定 --- */
@media (max-width: 768px) {
    #header {
        padding: 10px 20px;
        position: relative; /* ナビの基準点 */
    }

    /* 特定の要素を隠す */
    .pc-only {
        display: none !important;
    }

    /* ハンバーガーボタンを表示 */
    .sp-menu-toggle {
        display: block;
        margin-left: 15px;
    }

    /* ハンバーガーアイコンのデザイン */
    #js-hamburger {
        background: none;
        border: none;
        width: 30px;
        height: 24px;
        position: relative;
        cursor: pointer;
    }

    #js-hamburger span {
        display: block;
        width: 100%;
        height: 2px;
        background-color: #fff;
        position: absolute;
        left: 0;
        transition: all 0.3s;
    }

    #js-hamburger span:nth-child(1) { top: 0; }
    #js-hamburger span:nth-child(2) { top: 11px; }
    #js-hamburger span:nth-child(3) { top: 22px; }

    /* 開閉時のアニメーション（×印にする） */
    #js-hamburger.is-active span:nth-child(1) { transform: translateY(11px) rotate(45deg); }
    #js-hamburger.is-active span:nth-child(2) { opacity: 0; }
    #js-hamburger.is-active span:nth-child(3) { transform: translateY(-11px) rotate(-45deg); }

    /* ナビゲーションをスマホ用に作り変える */
    .header_nav {
        display: none; /* 初期状態は非表示 */
        position: absolute;
        top: 100%; /* ヘッダーのすぐ下から表示 */
        left: 0;
        width: 100%;
        background-color: rgba(0, 0, 0, 0.9);
        z-index: 100;
        padding: 20px 0;
    }

    /* メニューが開いている時 */
    .header_nav.is-active {
        display: block;
    }

    .header_nav ul {
        flex-direction: column; /* 縦並び */
        align-items: center;
    }

    .header_nav ul li {
        padding: 15px 0;
        width: 100%;
        text-align: center;
        border-left: none !important; /* PC版の縦線を消す */
        border-bottom: 1px solid #333; /* 代わりに横線を引く */
    }
}
/*************** アイキャッチ ***************/
#eye {
	position: relative;
	width: 100%;
	height: calc(100vh - 105px);
}
#eye img,
#eye picture img {
	width: 100%;
	height: calc(100vh - 105px);
	display: block;
	object-fit: cover;
	object-position: 50% 50%;
}
.eye_text{
    position: absolute;
	text-align: right;
    bottom: 15%; /* 下からの位置 */
    right: 5%;  /* 右からの位置 */
}
.eye_text h2 {
	display: inline-block;
    color: #fff;
    font-size: 40px;
    line-height: 1.5;
	background: rgba(0, 0, 0, .4);
	margin: 0 0 10px 0;
	padding: 0 10px;
}

@media (max-width: 768px) {
	#eye {
		position: relative;
		width: 100%;
		height: auto;
	}
	/* 【修正】スマホ時も同様にセレクタを調整。高さautoを維持 */
	#eye img,
	#eye picture img {
		width: 100%;
		height: auto;
		display: block;
		object-fit: cover;
		object-position: 50% 50%;
	}
	.eye_text{
		position: absolute;
		bottom: 15%; /* 下からの位置 */
		right: 5%;  /* 右からの位置 */
	}
	.eye_text h2 {
		color: #fff;
		font-size: 24px;
		text-align: right;
		line-height: 1.5;
		background: rgba(0, 0, 0, .4);
		margin: 0 0 15px 0;
		padding: 0 10px;
	}	
}


/*************** トップ ***************/
#top {
	width: 100%;
	background-color: #000;
	box-sizing: border-box;
	padding: 60px 20px;
}
.top_title{
	text-align: center;
    font-size: 28px;
    margin-bottom: 20px;
}
.top_title h2 {
    font-size: 40px;
    margin-bottom: 30px;
	color: #BCB29E;
	font-weight: 700;
	line-height: 1.2;
}
.top_title p {
    font-size: 16px;
    line-height: 1.8;
    color: #ffffff;
}
.top_movie {
	max-width: 1200px;
	aspect-ratio: 16 / 9;
	margin: 40px auto 0 auto;
}
.top_movie iframe {
	width: 100%;
	height: 100%;
}
/*************** お部屋紹介 ***************/
#room {
	padding: 80px 20px;
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}
.room_title {
    text-align: center;
    margin-bottom: 60px;
}
.room_title h2 {
    font-size: 24px;
    position: relative;
    display: inline-block;
}
.room_title h2::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background-color: #BCB29E;
}
.room_title h2 span{
    font-size: 14px;
}
.room_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
}
.room_box_img {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.room_box_img img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}
.room_box_text {
    flex: 1;
    text-align: center;
}
.room_box_text h3 {
    font-size: 26px;
    margin-bottom: 20px;
}
.room_box_text p {
    line-height: 2;
    margin-bottom: 30px;
    font-size: 16px;
}
.room_box_text a {
    display: inline-block;
    border: 1px solid #000000;
    padding: 12px 60px;
    font-size: 14px;
    transition: all 0.3s;
}

/* ボタンのホバーエフェクト（おまけ） */
.room_box_text a:hover {
    background-color: #333;
    color: #fff;
}

/* --- スマホ対応（レスポンシブ） --- */
@media (max-width: 768px) {
    .room_box {
        flex-direction: column; /* 縦並びにする */
    }
    
    .room_box_img {
        width: 100%;
    }
    
    .room_box_text h3 {
        font-size: 22px;
        margin-top: 20px;
    }
}

/*************** リンク ***************/
#link {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    background-color: #fff;
}
#link a {
    position: relative;
    display: block;
    height: 300px;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    background-size: cover;
    background-position: center;
    transition: transform 0.3s ease;
}
#link a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
    transition: background 0.3s;
}
#link a:hover::before {
    background: rgba(0, 0, 0, 0.2);
}
#link a .room_title,
#link a .room_text {
    position: relative;
    z-index: 2;
}
#link a .room_title {
    text-align: center;
    margin-top: 60px;
}

#link a .room_title h2 {
    font-size: 24px;
    color: #ffffff;
}
#link a .room_title h2::after {
	content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background-color: #ffffff;
}
#link a .room_title h2 span{
    font-size: 14px;
}
#link a .room_text {
    position: absolute;
    bottom: 30px;
    right: 30px;
    text-align: right;
}
#link a .room_text p {
    font-size: 14px;
    line-height: 1.8;
    color: #ffffff;
}
#link a:nth-child(1) {
	background-image: url('images/price.jpeg');
}
#link a:nth-child(2) {
	background-image: url('images/food.jpeg');
}
#link a:nth-child(3) {
	background-image: url('images/member.jpeg');
}
#link a:nth-child(4) 
{ background-image: url('images/qa.jpeg');
}

#link a.no_link::before {
    background: rgba(100, 100, 100, 0.85);
}
#link a.no_link:hover::before {
    background: rgba(100, 100, 100, 0.85); 
}
#link a.no_link {
    pointer-events: none; 
    cursor: default;
}

/* スマホ対応 */
@media (max-width: 768px) {
    #link {
        grid-template-columns: 1fr; /* 1列にする */
    }
    #link a {
        height: 250px;
    }
}


/*************** 新着情報 ***************/
#news {
	width: 100%;
	background-color: #EEEAE4;
    padding: 20px;
	box-sizing: border-box;
}
.news_box {
	width: 100%;
	background-color: #fff;
	padding: 80px 0;
	box-sizing: border-box;
}
.news_box_title {
    text-align: center;
    margin-bottom: 40px;
}
.news_box_title h2 {
    font-size: 24px;
    position: relative;
    display: inline-block;
    padding-bottom: 10px;
}
.news_box_title h2::after {
	content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background-color: #BCB29E;
}
.news_box_title h2 span{
    font-size: 14px;
}
.news_box_content{
	
}
.news_box_list {
    padding: 20px 40px;
    border-bottom: 1px dotted #BCB29E;
    max-width: 800px;
    margin: 0 auto;
	box-sizing: border-box;
}
.news_box_list:last-of-type {
    border-bottom: none;
}
.news_box_list_date p {
    font-size: 12px;
    color: #888;
    margin: 0 0 5px 0;
}
.news_box_list_title a {
    font-size: 16px;
    text-decoration: none;
    line-height: 1.6;
    transition: opacity 0.3s;
}
.news_box_list_title a:hover {
    opacity: 0.6;
}
.news_box_link {
    text-align: center;
    margin-top: 50px;
}
.news_box_link a {
    display: inline-block;
    border: 1px solid #000000;
    padding: 12px 60px;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s;
}
.news_box_link a:hover {
    background-color: #333;
    color: #fff;
}

/* --- スマホ対応 --- */
@media (max-width: 768px) {
    .news_box {
        padding: 40px 20px;
    }
    
    .news_box_list_title a {
        font-size: 14px;
    }
}

/*************** アクセス ***************/
#access {
    padding: 80px 20px;
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}
.access_title {
    text-align: center;
    margin-bottom: 60px;
}
.access_title h2 {
    font-size: 24px;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}
.access_title h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background-color: #BCB29E;
}
.access_title h2 span {
    font-size: 14px;
}
.access_map {
    margin-bottom: 50px;
    width: 100%;
    text-align: center;
}
.access_map iframe {
    width: 100%;
    max-width: 800px;
    height: 450px;
    margin: 0 auto;
    border: none;
    filter: grayscale(20%);
}
.access_text {
    max-width: 800px;
    margin: 0 auto 30px;
}
.access_text h3 {
    font-size: 18px;
    font-weight: bold;
    position: relative;
    padding-left: 35px;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
}
.access_text h3::before {
    content: "";
    position: absolute;
    left: 0;
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.car::before {
    background-image: url('./images/car.svg');
}
.train::before {
    background-image: url('./images/train.svg');
}
.access_text p {
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}
/* --- スマホ対応 --- */
@media (max-width: 768px) {
    .access_text {
        padding-left: 0; /* 左の大きな余白をなくす */
        max-width: 100%;
    }

    .access_map iframe {
        height: 300px;
    }

    .access_text h3 {
        font-size: 16px;
    }

    .access_text p {
        font-size: 14px;
    }
}


/*************** お問い合わせ ***************/
#contact {
	width: 100%;
	background-color: #EEEAE4;
    padding: 20px 20px 40px 20px;
	box-sizing: border-box;
}
.contact_box {
	width: 100%;
	background-color: #fff;
	padding: 80px 0;
	box-sizing: border-box;
}
.contact_box_title {
    text-align: center;
    margin-bottom: 40px;
}
.contact_box_title h2 {
    font-size: 24px;
    position: relative;
    display: inline-block;
    padding-bottom: 10px;
}
.contact_box_title h2::after {
	content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background-color: #BCB29E;
}
.contact_box_title h2 span{
    font-size: 14px;
}
.contact_box_text {
	max-width: 800px;
    margin: 0 auto;
	text-align: center;
}
.contact_box_text p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 30px;
}
.contact_box_tell{
    max-width: 800px;
    margin: 0 auto;
	text-align: center;
}
.contact_box_tell a {
    display: inline-block;
    background-color: #bfae96;
    color: #fff;
    font-size: 32px;
    padding: 15px 60px;
    text-decoration: none;
    transition: opacity 0.3s;
}
.contact_box_tell a:hover {
    opacity: 0.8;
}
.contact_box_recruit {
    background-color: #fff;
    border: 1px solid #BCB29E;
    max-width: 1000px;
    margin: 40px auto 0;
    padding: 30px 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.contact_box_recruit_title h2 {
    font-size: 24px;
    position: relative;
    display: inline-block;
    padding-bottom: 10px;
	text-align: center;
}
.contact_box_recruit_title h2::after {
	content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background-color: #BCB29E;
}
.contact_box_recruit_title h2 span{
    font-size: 14px;
}
.contact_box_recruit_text p {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}
.contact_box_recruit_link a {
    display: inline-block;
    border: 1px solid #000000;
    padding: 10px 40px;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s;
}
.contact_box_recruit_link a:hover {
    background-color: #000000;
    color: #fff;
}

/*************** フッター ***************/
#footer {
    background-color: #000;
    color: #fff;
    padding: 60px 20px 30px 20px;
    text-align: center;
}
.footer_logo img {
    width: 80px;
    margin-bottom: 20px;
}
.footer_text p {
    font-size: 13px;
    line-height: 1.8;
    color: #fff;
    margin-bottom: 20px;
}
.footer_link{
	text-align: right;
}
.footer_link img {
    width: 60px;
    margin-bottom: 30px;
}
.footer_copyright p {
    font-size: 10px;
    color: #ffffff;
}
/* --- スマホ対応 --- */
@media (max-width: 768px) {
	#footer {
		padding-bottom: 100px;
	}
	.contact_box_tell a {
        font-size: 24px;
        padding: 15px 30px;
    }
    .contact_box_recruit {
        flex-direction: column; /* 縦に並べる */
        text-align: center;
        gap: 20px;
        padding: 30px 20px;
    }
}


/*************** スマホ下部メニュー ***************/
#sp_fix {
    display: none;
}
@media (max-width: 768px) {
    #sp_fix {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 60px;
        background-color: #000;
        z-index: 9999;
        border-top: 1px solid #fff;
    }
    #sp_fix a {
        flex: 1;
        color: #fff;
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        border-right: 1px solid #fff;
        position: relative;
    }
    #sp_fix a:last-child {
        border-right: none;
		background: rgba(100, 100, 100, 0.9);
		pointer-events: none;
		cursor: default;
	}
    #sp_fix a::before {
        content: "";
        width: 24px;
        height: 24px;
        margin-right: 8px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        filter: brightness(0) invert(1);
    }
    .fix_reserve::before {
        background-image: url('./images/calendar.svg');
	}
    .fix_map::before {
		background-image: url('./images/mapmarker.svg');
    }
	.fix_login::before {
		background-image: url('images/login.svg');
	}
}


/*************** 子ページ ***************/
#child {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
    background-color: #000;
}
#child img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
#child::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}
.child_title {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
	width: 100%;
    max-width: 1200px;
    z-index: 2;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding-bottom: 15px;
}
.child_title h2 {
    color: #fff;
    font-size: 32px;
    font-weight: normal;
    margin: 0;
    display: flex;
    align-items: baseline;
    letter-spacing: 0.1em;
}
.child_title h2 span {
    font-size: 16px;
    margin-left: 20px;
    letter-spacing: 0.2em;
}

/* --- スマホ対応 --- */
@media (max-width: 768px) {
    #child {
        height: 200px;
    }
	.child_title {
		width: 90%;
    }
    .child_title h2 {
        font-size: 24px;
        flex-direction: column;
        gap: 5px;
    }
    .child_title h2 span {
        margin-left: 0;
        font-size: 12px;
    }
}


/*************** お部屋紹介ページ ***************/
#c_room {
    padding: 80px 20px;
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}
.c_room_link {
    display: flex;
    justify-content: center;
	gap: 30px;
    padding: 20px 20px 60px 20px;
}
.c_room_link a {
    display: block;
    padding: 5px 10px;
    background-color: #EEEAE4;
    border: 1px solid #BCB29E;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
    transition: all 0.3s;
}
.c_room_link a:hover {
    background-color: #bcb29e;
    color: #fff;
}

/* --- スマホ対応 --- */
@media (max-width: 768px) {
	#c_room {
		padding: 0 20px 80px 20px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	.c_room_link {
        flex-wrap: wrap;
        gap: 10px;
        padding: 40px 10px;
    }
    .c_room_link a {
        width: 45%;
        padding: 15px 0;
        font-size: 14px;
    }
}
.c_room_type {
	margin: 0 0 80px 0;
}
.c_room_type_box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 0 40px;
    max-width: 1100px;
    margin: 0 auto 40px;
}
.c_room_type_img {
    grid-row: 1 / 3; 
}
.c_room_type_img img {
    width: 100%;
    height: auto;
    display: block;
}
.c_room_type_text {
    grid-row: 1;
    grid-column: 2;
}
.c_room_type_text_top {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}
.c_room_type_text_top h3 {
    font-size: 32px;
    font-weight: normal;
    margin: 0;
}
.c_room_type_text_top h3 span {
    font-size: 54px;
    margin-right: 5px;
}
.c_room_type_text_top p {
    border: 1px solid #BCB29E;
    padding: 4px 12px;
    font-size: 14px;
    margin: 0;
}
.c_room_type_text_price table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 15px;
}
.c_room_type_text_price th,
.c_room_type_text_price td {
    border: 1px solid #BCB29E;
    padding: 12px 10px;
    text-align: center;
    width: 50%;
}
.c_room_type_text_price th {
    background-color: #EEEAE4;
    font-weight: normal;
    font-size: 16px;
}
.c_room_type_text_price td {
    background-color: #fff;
    font-size: 20px;
}
.c_room_type_text_note {
    grid-row: 2;
    grid-column: 2;
    margin-top: 10px;
}
.c_room_type_text_note p {
    font-size: 11px;
    color: #666;
    margin-bottom: 5px;
    line-height: 1.6;
}
.c_room_type_link {
    text-align: center;
}
.c_room_type_link a {
    display: inline-block;
    border: 1px solid #BCB29E;
    padding: 15px 80px;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s;
}
.c_room_type_link a:hover {
    background-color: #000000;
    color: #fff;
}
/* --- スマホ対応 --- */
@media (max-width: 900px) {
    .c_room_type_box {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 30px;
    }
    .c_room_type_img,
    .c_room_type_text,
    .c_room_type_text_note {
        grid-column: 1;
        grid-row: auto;
    }
    .c_room_type_text_top {
        justify-content: center;
    }
}
.c_room_amenities{
	
}
.c_room_amenities_title{
	
}
.c_room_amenities_title h3{
    font-size: 24px;
    font-weight: normal;
    margin: 0 0 15px 0;
	border-bottom: 1px solid #BCB29E;
	padding: 0 0 10px 0;
}
.c_room_amenities_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 1200px;
}
.c_room_amenities_list li {
    background-color: #EEEAE4;
    padding: 15px 20px;
    font-size: 16px;
    display: flex;
    align-items: center;
}

/* --- スマホ対応（レスポンシブ） --- */
@media (max-width: 768px) {
    .c_room_amenities_list {
        grid-template-columns: repeat(2, 1fr); /* スマホでは横2つに */
        gap: 5px;
    }
    .c_room_amenities_list li {
        font-size: 14px;
        padding: 12px 15px;
    }
}

@media (max-width: 480px) {
    .c_room_amenities_list {
        grid-template-columns: 1fr; /* 画面が非常に狭い時は1つに */
    }
}


/*************** ご利用料金ページ ***************/
.tab-panel {
    display: none;
}
.tab-panel.is-active {
    display: block;
}
.c_price_link a.is-active {
    background-color: #BCB29E;
    color: #fff;
}
#c_price {
    padding: 80px 20px;
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
}
.c_price_link {
    display: flex;
    justify-content: center;
	gap: 30px;
    padding: 20px 20px 60px 20px;
}
.c_price_link a {
    display: block;
    padding: 5px 10px;
    background-color: #EEEAE4;
    border: 1px solid #BCB29E;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
    transition: all 0.3s;
}
.c_price_link a:hover {
    background-color: #bcb29e;
    color: #fff;
}
/* --- スマホ対応 --- */
@media (max-width: 768px) {
	#c_price {	
		padding: 0 20px 80px 20px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	.c_price_link {
        flex-wrap: nowrapwrap;
        gap: 10px;
        padding: 40px 10px;
    }
    .c_price_link a {
		width: 33%;
        padding: 15px 0;
        font-size: 14px;
    }
}
.c_price_type_title h2 {
    font-size: 24px;
    padding-bottom: 10px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    width: 100%;
    font-weight: normal;
    color: #000;
    margin: 0;
}
.c_price_type_title h2 span {
    font-size: 36px;
    margin-right: 5px;
	transform: translateY(-3px);
}
.c_price_type_title h2::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: #BCB29E;
    margin-left: 20px;
	transform: translateY(2px);
}
.c_price_section {
	margin-bottom: 40px;
}
.c_price_section h3 {
    background-color: #BCB29E;
    color: #fff;
    padding: 10px 20px;
    font-size: 18px;
    margin-bottom: 0;
    font-weight: normal;
}
.c_price_full_table {
    width: 100%;
    border-collapse: collapse;
}
.c_price_full_table th, .c_price_full_table td {
    border: 1px solid #D9D0BE;
    padding: 15px;
	vertical-align: middle;
	text-align: center;
    font-size: 15px;
}
.bg_light { 
	background-color: #EFEAE4;
	font-weight: normal; 
}
.w10 { 
	width: 10%;
}
.note {
    font-size: 12px;
    margin-top: 10px;
    line-height: 1.6;
}
.c_price_notes {
    margin-top: 30px;
}
.c_price_notes p{
    font-size: 13px;
	margin: 0 0 10px 0;
}
.c_price_card_icons{
    margin-top: 30px;
}
.c_price_card_icons img{
	height: 35px;
	margin: 0 10px 0 0;
}


/*************** 求人ページ ***************/
#c_recruit {
    padding: 80px 20px;
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
}
.c_recruit_title {
    text-align: center;
    margin-bottom: 40px;
}
.c_recruit_title h2 {
    font-size: 24px;
    position: relative;
    display: inline-block;
}
.c_recruit_title h2::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background-color: #BCB29E;
}
.c_recruit_text {
    text-align: center;
    margin-bottom: 80px;
}
.c_recruit_text h3 {
    font-size: 20px;
    font-weight: normal;
    margin-bottom: 20px;
}
.c_recruit_text p {
    font-size: 15px;
	line-height: 1.8;
    margin: 0;
}
.c_recruit_box {
    text-align: center; 
}
.c_recruit_box h3 {
	font-size: 24px;
    position: relative;
    display: inline-block;
	margin: 0 0 20px 0;
}
.c_recruit_box h3::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background-color: #BCB29E;
}
.recruit_table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}
.recruit_table th,
.recruit_table td {
    padding: 15px 0;
    border: 1px solid #BCB29E;
    font-size: 15px;
    vertical-align: middle;
}
.recruit_table th {
    background-color: #EEEAE4;
    width: 50%;
    font-weight: normal;
    text-align: center;
}
.recruit_table td {
    background-color: #F5F5F5;
    text-align: left;
    padding-left: 20px;
    line-height: 1.8;
}
.recruit_table tr:last-child th,
.recruit_table tr:last-child td {
    border-bottom: 1px solid #BCB29E;
}

/*************** スマホ対応 ***************/
@media (max-width: 768px) {
   .c_recruit_title h2 {
        font-size: 24px;
    }
    .c_recruit_text p {
        font-size: 14px;
        text-align: left;
    }
}


/*************** よくある質問ページ ***************/
#c_qa {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 20px;
}
.c_qa_lead {
    font-size: 14px;
    margin-bottom: 40px;
}
.c_qa_item {
    margin-bottom: 20px;
	line-height: 1.6;
}
.c_qa_question {
    background-color: #EFEAE4;
    padding: 25px 60px 25px 30px;
    position: relative;
    cursor: pointer;
    font-size: 18px;
    font-weight: normal;
    display: flex;
    align-items: flex-start;
}
.c_q_letter {
    flex-shrink: 0; 
    width: 30px;
    font-size: 20px;
	transform: translateY(-3px);
}
.c_q_text {
    flex: 1;
    line-height: 1.6;
}
.c_qa_question::after {
    content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 10px 0 10px;
    border-color: #BCB29E transparent transparent transparent; 
    transition: transform 0.3s;
}
.c_qa_question.is-open::after {
    transform: translateY(-50%) rotate(180deg);
}
.c_qa_answer {
    display: none;
    background-color: #fff;
    padding: 20px 30px;
}
.c_qa_answer_inner {
    display: flex;
    align-items: flex-start;
}
.c_a_letter {
    font-size: 18px;
    margin-right: 15px;
    margin-top: -1px;
}
.c_qa_answer p {
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}
/*************** スマホ対応 ***************/
@media (max-width: 768px) {
	#c_qa {
		padding: 40px 20px 80px 20px;
		margin: 0 auto;
		box-sizing: border-box;
	} 
	.c_qa_question {
        padding: 20px 50px 20px 20px;
        font-size: 16px;
    }
    .c_qa_question::after {
        right: 20px;
        border-width: 10px 8px 0 8px;
    }
}


/*************** 新着情報一覧 ***************/
#c_news {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 20px;
}
.c_news_box {

}
.c_news_box_list {
	padding: 30px 0;
    border-bottom: 1px solid #BCB29E;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.c_news_box_list_title {
    padding: 0 20px 0 0;
	box-sizing: border-box;
}
.c_news_box_list_title a {
    font-size: 18px;
    text-decoration: none;
    line-height: 1.6;
    transition: opacity 0.3s;
}
.c_news_box_list_title a:hover {
    opacity: 0.6;
}
.c_news_box_list_date p {
    font-size: 14px;
}

/* --- スマホ対応 --- */
@media (max-width: 768px) {
	.c_news_box_list{
		flex-wrap: wrap;
	}   
    .c_news_box_list_title {
        width: 100%;
    }
    .c_news_box_list_title a {
        font-size: 16px;
    }
	.c_news_box_list_date {
        width: 100%;
	}
	.c_news_box_list_date p {
    	font-size: 14px;
		text-align: right;
	}
}

/*************** お食事メニュー ***************/
#c_food {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px;
}
.c_food_lead {
	font-size: 13px;
    line-height: 1.8;
    margin-bottom: 40px;
}
.c_food_menu_title {
    background-color: #EEEAE4;
    text-align: center;
    font-size: 24px;
    font-weight: normal;
    letter-spacing: 0.1em;
    padding: 15px 0;
    margin: 50px 0 30px;
}
.c_food_menu_grid {
    display: flex;
    justify-content: space-between;
    gap: 40px; /* 左右カラムの間の余白 */
    margin-bottom: 40px;
}
.c_food_menu_column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 30px; /* メニューグループ間の縦の余白 */
}
.c_food_menu_group {
    width: 100%;
}
.c_food_menu_group h3 {
    font-size: 18px;
    font-weight: normal;
    border-bottom: 1px solid #ccc; /* 下の細い線 */
    padding-bottom: 8px;
    margin-bottom: 12px;
}
.c_food_menu_sub_title {
    font-size: 13px;
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 5px;
}
.c_food_menu_list {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
}
.c_food_menu_list li {
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 4px;
}
.c_food_menu_img {
    width: 100%;
    margin: 15px 0;
}
.c_food_menu_img img {
    width: 100%;
    height: 220px;
    display: block;
    object-fit: cover;
}
@media screen and (max-width: 768px) {
	#c_food {
        padding: 30px 20px 0 20px
    }
    .c_food_menu_title {
        font-size: 20px;
        padding: 12px 0;
        margin: 40px 0 20px;
    }
    .c_food_menu_grid {
        flex-direction: column;
        gap: 0;
    }
    .c_food_menu_column {
        gap: 0;
    }
    .c_food_menu_group {
        margin-bottom: 30px;
    }
    .c_food_menu_column:last-child .c_food_menu_group:last-child {
        margin-bottom: 0;
    }
    .c_food_menu_img {
        margin: 10px 0;
    }
}


/*************** ページネーション ***************/
.pagenation {
    margin-top: 60px;
    text-align: center;
    font-family: "Hiragino Mincho ProN", serif;
}

/* WordPressが出力するulリストを整える */
.pagenation ul {
    display: inline-flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 10px; /* 数字同士の間隔 */
}

/* 数字と矢印の共通スタイル */
.pagenation ul li a,
.pagenation ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #BCB29E;
    color: #BCB29E;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s;
    box-sizing: border-box;
}

/* 現在のページの数字 */
.pagenation ul li span.current {
    background-color: #BCB29E;
    color: #fff;
    cursor: default;
}

/* ホバーした時 */
.pagenation ul li a:hover {
    background-color: #BCB29E;
    color: #fff;
}

/* 前へ・次への矢印を少し太く（お好みで） */
.pagenation .prev,
.pagenation .next {
    font-weight: bold;
}

/* --- スマホ対応 --- */
@media (max-width: 768px) {
    .pagenation {
        margin-top: 40px;
    }
    .pagenation ul li a,
    .pagenation ul li span {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }
}

/*************** 新着情報詳細 ***************/
#s_news {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 20px;
}
.s_news_date{
	margin: 0 0 5px 0;
}
.s_news_date p{
    font-size: 14px;	
}
.s_news_title{
	
}
.s_news_title p{
	font-size: 18px;
    text-decoration: none;
    line-height: 1.6;
    transition: opacity 0.3s;
	border-bottom: 1px solid #BCB29E;
	padding: 0 0 5px 0;
	margin: 0 0 10px 0;
}
.s_news_text{
	
}
.s_news_text p{
	font-size: 16px;
    text-decoration: none;
    line-height: 1.6;
	letter-spacing: 1px;
	margin: 0 0 10px 0;
}
.s_news_text img{
	width: 100%;
	height: auto;
	margin: 0 0 10px 0;
}
.s_news_link {
    text-align: center;
    margin-top: 50px;
}
.s_news_link a {
    display: inline-block;
    border: 1px solid #000000;
    padding: 12px 60px;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s;
}
.s_news_link a:hover {
    background-color: #333;
    color: #fff;
}