@charset "utf-8";
/*
Theme Name: Lightning Pro Child Sample
Theme URI:
Template: lightning-pro
Description:
Author:
Tags:
Version: 0.0.0
*/

body {
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

body.home{
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/header_bg.jpg) no-repeat top center #101010;
    background-size: 100%;
}

.pc{display: inline-block;}

.sp{display: none;}

a:hover{text-decoration: none;}

.headerTop {
    display: none;
}

.section.breadSection {
    border: none;
    letter-spacing: 0.05em;
}

.siteHeader{
	box-shadow: none;
    background: none;
    padding-top: 20px;
}

.navbar-header {
    position: fixed;
    top: 20px;
    left: 40px;
}

.siteHeader_logo img {
    max-height: 150px;
}

.siteHeader_logo img.sp {
    display: none;
}

.full_wide{
    width: 100vw;
    margin: 0 calc(50% - 50vw) 100px;
}

.flexbox{
    display: flex;
}

.row_reverse{
    flex-direction: row-reverse;
}

.grid{
    display: grid;
}

.tx_rl {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.base_copy{
	font-size: 1.2rem;
    letter-spacing: 0.1em;
    color: #CCC;
	line-height: 1.8;
	text-align: justify;	
}

.center{
	text-align: center;
}

.section.siteContent{
	padding-top: 7px;
	padding-bottom: 0!important;	
}

h2{border: none;padding: 0;margin: 0;}

h3{border: none;padding: 0;margin: 0;}

h2::after{border: none;}

h3::after{border: none;}

h2{
	font-size: 2.5rem;
	letter-spacing: 0.2em;
	line-height: 1.6;
    margin-bottom: 10px;
	color: #FFF;
}

.h2_title.tx_rl{
    
}

h2 span.en{
    display: block;
    color: #666;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    margin-right: 10px;
}

h3{
    font-size: 1.2rem;
	letter-spacing: 0.3em;
	line-height: 1.6;
	margin-bottom: 20px;
	color: #CCC;
}

h3 span.en{
    display: block;
    color: #666;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    margin-right: 10px;
}

h4{
    font-size: 1.2rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	font-weight: bold;
	margin-bottom: 10px;
	color: #FFF;
}

.icon_01{
    width: 65px;
    margin-bottom: 10px;
    margin-right: 8px;
    opacity: 0.7;
}

.icon_02{
    width: 65px;
    margin-bottom: 10px;
    margin-right: 8px;
    opacity: 0.7;
}

.icon_03{
    width: 65px;
    margin-bottom: 10px;
    margin-right: 8px;
    opacity: 0.7;
}

.icon_04{
    width: 65px;
    margin-bottom: 10px;
    margin-right: 8px;
    opacity: 0.7;
}

.icon_05{
    width: 65px;
    margin-bottom: 10px;
    margin-right: 8px;
    opacity: 0.7;
}

.icon_06{
    width: 65px;
    margin-bottom: 10px;
    margin-right: 8px;
    opacity: 0.7;
}

ul{
    list-style: none;
    padding-left: 0;
}

figure{
	text-align: center; 
}

.img_r img{
    border-radius: 30px;
}

.container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 100%;
    }

.gMenu_nav {
    position: fixed;
    top:40px;
    right: 5%;
}

.gMenu li{
    display: grid;
    font-size: 1.4rem;
}

.gMenu a {
    color: #FFF;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: 0.3em;
}

.gMenu a:active, .gMenu a:focus, .gMenu a:hover {
    color: #FFF;
}
    
.gMenu>li .gMenu_name {
    font-size: 16px;
    font-weight: normal;
}

.device-pc .gMenu>li a {
    padding:0 1em;
    text-align: left;
    display: flex;
    align-items: center; /* 垂直中心 */
}

.device-pc .gMenu>li a:before {
    border-top: 1px solid;
    content: "";
    width: 15px; /* 線の長さ */
    transform: rotate(90deg);
  }
  .device-pc .gMenu>li a:before {
    margin-right: -3px;
    margin-bottom: 18px;
  }

  .header_scrolled .gMenu>li{
    border: none;
  }

  .header_scrolled .gMenu>li:last-child{
    border: none;
  }

.gMenu>li:hover:before, .gMenu>li[class*=current]:before {
    width: 0;
}

.gMenu>li .gMenu_name .jp {
    display:none;
}

.gMenu>li a:hover .en {
	display:none;
}

.gMenu>li a:hover .jp {
	display:inline;
}

/*スクロールダウン全体の場所*/
.scrolldown1{
    position: absolute;
    right: 5%;
    top: 600px;
    height: 50px;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
	position: absolute;
	left:-15px;
	top: -15px;
    /*テキストの形状*/
	color: #eee;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
    /*描画位置*/
	position: absolute;
	top: 0;
    /*線の形状*/
	width: 1px;
	height: 30px;
	background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:50px;
		opacity: 0;
	}
}

div#comments {
    display: none;
}

/*=========
fadeDownTrigger
=========*/

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes fadeUpAnime{
from {
    opacity: 0;
    transform: translateY(100px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}


/*=========
moreボタン
=========*/


.more_btn{
	margin: 0 auto ;
    text-align: center;
}

.more_btn a{
    color: #DDD;
    font-size: 1rem;
    letter-spacing: 0.1em;
}

/*丸がボタンに変形する*/

.btntransform{
    /*丸の基点とするためrelativeを指定*/
	position: relative;
    /*ボタンの形状*/	
    display: inline-block;
	padding:0 0 0 20px;
	line-height: 50px;
    color: #333;
    text-decoration: none;
    outline: none;
}

/* 丸が動く */
.btntransform::before{
	content:'';
    /*絶対配置で丸の位置を決める*/
	position:absolute;
	left:0;
	z-index: -1;
    /*丸の形状*/
	width:50px;
	height:50px;
	background:#ce4e4e;
	border-radius:25px;
    /*アニメーションの指定*/
    transition:.3s ease-out;
}

.btntransform:hover{
    color: #101010;
    transition:.3s ease-out;
}

/*hoverした際の形状*/
.btntransform:hover::before{
	width:108%;
}

.type-post {
    color: #333;
}

.entry-header {
    border-bottom: solid 2px #333 !important;
}

span.entry-meta_items.entry-meta_updated {
    display: none;
}

span.vcard.author.entry-meta_items.entry-meta_items_author{
    display: none;
}

span.smoothText {
    padding: 0px 5px 0 15px;
    display: inline-block;
    margin-bottom: 0;
    line-height: 1.2;
    animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;/*　はみ出た色要素を隠す　*/
	opacity:0;
}

@keyframes bgextendAnimeBase{
    from {
      opacity:0;
    }
  
    to {
      opacity:1;  
  }
  }

  /*左から右*/
span.smoothText::before{
	animation-name:bgLRextendAnime;
	animation-duration:1s;
	animation-fill-mode:both;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: #6ec878;/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(1);
	}
}

/* アニメーションで傾斜がついている文字列を水平に戻す*/
span.smoothTextTrigger{
	transition: .8s ease-in-out;
	transform: translate3d(0,100%,0) skewY(12deg);
	transform-origin: left;
	display: block;
    
}
span.smoothTextTrigger.smoothTextAppear{
    transform: translate3d(0,0,0) skewY(0);
}



/*=========
TOPページ_ヘッダー
=========*/

.top_header{
    position: relative;
    height: 900px;
}

.top_header_copy{
    position: absolute;
    top:420px;
    left: 3%;
	color: #FFF;
    font-size: 3.5rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
}

.top_header_copy span{
    background: #101010;
    padding: 5px 0 5px;
}


/*=========
トップ_aboutエリア
=========*/

.top_about_area{
    margin-bottom: 100px;
}

.top_about_area h2{
    margin-left: 10%;
}

.top_about_box{
    margin-right: 0;
    margin-left: auto;
    width: 80%;
}

.top_about_box figure{
    margin-bottom: 50px;
    text-align: right;
}


/*=========
トップ_roomエリア
=========*/

.top_room_area{
    margin-bottom: 100px;
}

.top_room_area h2{
    margin-right: 10%;
    font-size: 2rem;
}

.top_room_box{
    margin-right: auto;
    margin-left: 0;
    width: 80%;
}

.top_room_box figure{
    margin-bottom: 50px;
    text-align: left;
}

.top_room_box p{
    margin-left: 40%;
}

/*=========
トップ_omiエリア
=========*/

.top_omi_area{
    height: 1000px;
}

.top_omi_area h2{
    margin-left: 10%;
    padding-top: 70px;
    font-size: 2rem;
}

.top_omi_area h2 .icon_03{
    margin-top: -48px;
}

.top_omi_box{
    margin-right: 0;
    margin-left: auto;
    width: 80%;
}

.top_omi_box figure{
    margin-bottom: 50px;
    text-align: right;
}

/*=========
トップ_季節限定エリア
=========*/

.top_season_area{
    margin-bottom: 100px;
}

.top_season_area h2{
    margin-right: 7%;
    font-size: 2rem;
}

.top_season_area h2 .icon_04{
    margin-top: -60px;
}

.top_season_area h2 span{
    font-size: 0.8rem;
    padding: 10px 5px;
    border: solid 1px #666;
    display: inline-block;
}

.top_season_box{
    margin-right: auto;
    margin-left: 0;
    width: 80%;
}

.top_season_box figure{
    margin-bottom: 50px;
    text-align: left;
}

.top_season_box .tx_box{
    width:100vw;
    margin: 0 cacl(50% - 50vw);
    padding: 0 100px;
    justify-content: space-between;
}

.top_season_box .tx_box p{
    margin-right: 50px;
}

/*=========
トップ_menuエリア
=========*/

.top_menu_area{
    width: 95%;
    margin-bottom: 200px;
}

.top_menu_area h2{
    margin-left: 10%;
    padding-top: 70px;
    font-size: 2rem;
}

.top_menu_area h2 .icon_05{
    margin-top: -48px;
}

.top_menu_box{
    margin-right: 0;
    margin-left: auto;
    width: 37%;
}

.top_menu_box figure{
    margin-bottom: 50px;
    text-align: right;
}

.top_menu_box .h3_title{
    letter-spacing: 0.1em;
}

.top_menu_box .more_btn{
    text-align: right;
}

/*=========
トップ_お知らせエリア
=========*/

.top_news_area{
    margin: 100px auto;
    padding-bottom: 100px;
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/tx_bg_03.png) no-repeat left bottom;
    background-color:rgba(16,16,16,0.88);
    background-blend-mode:darken;
}

.top_news_area h2{
    margin-right: 7%;
}

.top_news_list{
    width: 70%;
    margin-right: 5%;
    background: #262626;
    padding: 50px 5% 30px;
}

.top_news_list li{
    font-size: 1.1rem;
    letter-spacing: 0.1em;
    color: #CCC;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: dotted 1px #444;
}

.postListText_date{
    font-size: 1.1rem;
    color: #999;
    padding: 0;
    margin: 0;
    min-width: 150px;
}

.postListText_title{
    font-size: 1.1rem;
    color: #CCC;
    padding: 0;
    margin: 0;
    font-weight: normal;
}

.top_news_list li a:hover{
    text-decoration: underline;
    color: #333;
}


/*=========
トップ_accessエリア
=========*/

.top_access_area{
    margin: 100px auto;
}

.top_access_area h2{
    margin-left: 10%;
}

.gmap{
    width: 80%;
    margin-left: auto;
    margin-right: 0;
}

.gmap iframe{
    width: 100%;
    height: 500px;
    -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

.top_access_box .more_btn{
    margin-top: 50px;
}

.top_access_info{

}

.top_access_info li{
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    color: #CCC;
}

.top_access_info li a{
    color: #CCC;
    font-size: 2rem;
    text-decoration: underline;
}

/*=========
フッター_コンタクトエリア
=========*/

.footer_contact_area{
    border-top: solid 1px #222;
    border-bottom: solid 1px #222;
    margin-bottom: 0;
}

.footer_contact_area h3{
    margin-bottom: 10px;
}

.footer_contact_area p{
    font-size: 1rem;
    letter-spacing: 0.1em;
    color: #CCC;
    margin-left: -10px;
}

.footer_contact_area a{
    font-size: 2rem;
    letter-spacing: 0.1em;
    color: #FFF;
    font-weight: normal;
}

.footer_contact_area a::after{
    content: "\f061";
    font-size: 1.8rem;
	font-family: "Font Awesome 6 Pro";
    font-weight: 300;
    padding-left: 8px;
}

.tel_contact_box{
    width: 50%;
    height: 300px;
    padding: 80px 5% 50px 15%;
    border-right: solid 1px #222;
}

.tel_contact_box h3{
    
}

.mail_contact_box{
    width: 50%;
    height: 300px;
    padding: 80px 5% 50px 10%;
}


/*==================================================
スライダーエリア
===================================*/

.slide_area{
    margin: 100px calc(50% - 50vw) 100px;
	width: 100vw;
}

.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slider .slick-slide {
    margin:0 10px;/*スライド左右の余白調整*/
}



/*=========
Footerエリア
=========*/

.siteFooter {
    width: 100%;
    border-top: none;
    background: #262626;
    padding: 80px 0;
}

.footer_info{
    width: 30%;
    text-align: left;
    padding-top: 20px;
    margin-left: 5%;
}

.footer_info img{
    width: 80%;
}


.footer_info_list{
    list-style: none;
    padding: 0;
}

.footer_info_list li{
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    margin-bottom: 0;
    color: #CCC;
}

.footer_info_list li.footer_info_address{
    margin-bottom: 10px;
}

.footer_info_tel a{
    color: #CCC;
    font-size: 2rem;
    letter-spacing: 0.11em;
}

.footer_nav{
    width: 70%;
    justify-content: space-evenly;
}

.footer_nav li a{
    color: #CCC;
    font-size: 1rem;
    letter-spacing: 0.1em;
}

.footer_nav li a i{
    margin-right: 8px;
}

.footer_reserve{
    margin-top: 25px;
}

.footer_reserve a{
    display: inline-block;
    color: #FFF;
    background: #ce4e4e;
    padding: 10px 25px;
    text-decoration: none;
}

.footer_reserve a:hover{
    opacity: 0.6;
}

.footer_bottom{
    padding: 20px;
    background: #262626;
}

.footer_bottom p {
    margin: 0 auto;
    color: #999;
    text-align: right;
    font-size: 0.8rem;
    letter-spacing: 0.2em;
}

.scrolled .page_top_btn {
    bottom: 80px;
}

/*=========
google_reCAPTCHA
=========*/

.grecaptcha-badge { visibility: hidden; }

.google-copy {
    font-size: 0.6rem;
    color: #999;
    text-align: right;
    letter-spacing: 0.05em;
}

.google-copy a {color: #CCC;}


/*=========
fix_btnエリア
=========*/

.fix_btn_bigbox{
    position: fixed;
    top: 250px;
    right: 0;
}

.fix_reserve a {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
    color: #FFF;
    background: #ce4e4e;
    padding: 25px 10px;
    text-decoration: none;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
}

.fix_reserve a:hover{
    opacity: 0.7;
    scale: calc(1.1);
    transition: 0.3s;
}

/*=========
ページ_ヘッダー
=========*/

.page_header{
    position: relative;
    height: 550px;
    margin-top: 200px;
    align-items: center; /* 横線を上下中央 */
    display: flex; /* 文字と横線を横並び */
}

.page_header h1{
    position: absolute;
    top: 300px;
    left: 12%;
	color: #FFF;
    font-size: 2.5rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
    margin-bottom: 0;
}

.page_header h1 span{
    display: block;
    font-size: 1.5rem;
}

.page_header::before{
  background-color: #CCC; /* 横線の色 */
  border-radius: 5px; /* 横線の両端を丸く */
  content: "";
  width: 10%;
  height: 1px; /* 横線の高さ */
  margin-right: 15px; /* 文字との余白 */
  margin-top: 90px;
}

.page_header.about .icon_01 {
    position: absolute;
    top: -10px;
    left: 95%;
}

.page_header.menu .icon_02 {
    position: absolute;
    top: -10px;
    left: 95%;
}

.page_header.reserve .icon_03 {
    position: absolute;
    top: -10px;
    left: 95%;
}

.page_header.privacy .icon_04 {
    position: absolute;
    top: -10px;
    left: 95%;
}

.page_header.contact .icon_05 {
    position: absolute;
    top: -10px;
    left: 95%;
}


.page_header.news .icon_05 {
    position: absolute;
    top: -10px;
    left: 95%;
}

/*=========
about_ページ
=========*/

body.page-template-about{
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/about_header-scaled.jpg)no-repeat top center #111;
    background-size: contain;
}

.about_top_area{
    margin-bottom: 100px;
}

.h2_page_title{
    font-size: 1.8rem;
    color: #EEE;
    margin-bottom: 30px;
}

.about_top_copy{
    width: 55%;
    margin:0 50px 0 12%;
}

.about_top_img_02{
    width: 80%;
    margin: -50px 0 0 40px;
}

.about_slide_area{
    margin-bottom: 100px;
}

.about_slide_area figure img{
    width: 95%;
}

.about_food_area{
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/about_food_img_top.jpg)no-repeat top right;
    background-size: 70%;
}

.about_food_copy{
    margin:0 0 100px 12%;
    padding-top: 100px;
    min-height: 700px;
}

.about_food_material{
    width: 80%;
    margin: 0 auto;
    justify-content: space-evenly;
    flex-wrap: wrap;
}

.about_food_material_box{
    position: relative;
    width: 40%;
    margin-bottom: 80px;
}

.about_food_material_box figure img{
    width: 100%;
}

.about_food_material_box h3{
    position: absolute;
     -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: #333;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    padding: 15px 5px;
    top: -20px;
    left: -20px;
}

.about_food_material_box h3.kyoyasai{
    background: #cfea8e;
    box-shadow: 0 0 0 3px #cfea8e, 0 0 0 6px #101010, 0 0 0 7px #cfea8e;
}

.about_food_material_box h3.omibeef{
    background: #ef7f7f;
    box-shadow: 0 0 0 3px #ef7f7f, 0 0 0 6px #101010, 0 0 0 7px #ef7f7f;
}

.about_food_material_box h3.fish{
    background: #9ad8e5;
    box-shadow: 0 0 0 3px #9ad8e5, 0 0 0 6px #101010, 0 0 0 7px #9ad8e5;
}

.about_food_material_box h3.kyojidori{
    background: #d1b770;
    box-shadow: 0 0 0 3px #d1b770, 0 0 0 6px #101010, 0 0 0 7px #d1b770;
}

/*=========
Menu_ページ
=========*/

body.page-template-menu{
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/menu_header-scaled.jpg)no-repeat top center #111;
    background-size: contain;
}

.menu_info_area{
    margin-bottom: 100px;
}

.h2_menu_title.right_line{
    position: relative;
    font-size: 1.8rem;
    color: #EEE;
    margin:0 0 120px 12%;
    align-items: center; /* 横線を上下中央 */
    display: flex; /* 文字と横線を横並び */
}

.h2_menu_title.right_line::after{
  background-color: #CCC; /* 横線の色 */
  border-radius: 5px; /* 横線の両端を丸く */
  content: "";
  width: 65%;
  height: 1px; /* 横線の高さ */
  margin-left: 15px; /* 文字との余白 */
}

.h2_menu_title.right_line.sukiyaki_special::after{
  width: 45%;
}    
.h2_menu_title_sub.right_line{
    color: #d1b770;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    border: solid 1px #d1b770;
    margin:0 0 8px 12%;
    padding: 2px 15px;
    display: inline-block;
}

.h2_menu_title.left_line{
    position: relative;
    font-size: 1.8rem;
    color: #EEE;
    margin:0 12% 120px 0;
    align-items: center; /* 横線を上下中央 */
    display: flex; /* 文字と横線を横並び */
}

.h2_menu_title.left_line::before{
    background-color: #CCC; /* 横線の色 */
    border-radius: 5px; /* 横線の両端を丸く */
    content: "";
    width: 50%;
    height: 1px; /* 横線の高さ */
    margin-right: 15px; /* 文字との余白 */
}

.h2_menu_title.left_line.other::before{
  width: 75%;
}    

.h2_menu_title_sub.left_line{
    color: #d1b770;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    border: solid 1px #d1b770;
    margin:0 0 8px 45%;
    padding: 2px 15px;
    display: inline-block;
}

.menu_header_list{
    position: absolute;
    top: 280px;
    right: 8%;
    list-style-type: disc;
}

.menu_header_list li{
    color: #CCC;
    margin-bottom: 0px;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
}

.menu_bigbox{
    margin-left: 12%;
}

.menu_bigbox.row_reverse{
    margin-left: 0;
    margin-right: 5%;
}

.menu_list{
    width: 65%;
}

.menu_list.left{
    margin-right: 3%;
}

.menu_bigbox.row_reverse .menu_list.left{
    margin-left: 5%;
}
.menu_box{
    margin-bottom: 80px;
}

.menu_box h3{
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    display: flex;
    justify-content: space-between;
}

.menu_price{
    color: #d1b770;
    letter-spacing: 0.1em;
    display: inline-block;
}

.menu_price span{
    font-size: 0.7rem;
}

.menu_copy_title{
    background: #444;
    color: #CCC;
    font-size: 0.9rem;
    letter-spacing: 0.05em;
    margin-bottom: 5px;
    padding: 3px 8px;
    display: inline-block;
}

.menu_copy{
    width: 100%;
    color: #CCC;
    font-size: 1rem;
}

.menu_img_box .menu_list{
    width: 80%;
}

small {
    margin-bottom: 30px;
}

p.caption{
    color: #CCC;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    text-align: left;
}

/*=========
お知らせ_ページ
=========*/

body.page-template-news{
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/reserve_header-scaled.jpg)no-repeat top center #111;
    background-size: contain;
}

body.page-template-news .entry_area {
    width: 90%;
    margin: 0 auto 100px;
}

/*=========
お知らせ_記事ページ
=========*/

body.single-post{
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/reserve_header-scaled.jpg) no-repeat top center #111;
    background-size: contain;
}

.entry-header{
    color: #CCC;
}

.entry_contents{
    color: #CCC;
}

.entry-body {
    color: #CCC;
}

body.single-post .entry_area {
    width: 75%;
    margin: -100px auto 100px;
}

.nav-links {
    width: 75%;
    margin: 50px auto;
    display: flex;
    justify-content: space-between;
}

.nav-previous, .nav-next {
    width: 48%;
}

.post-navigation a{
    font-size: 1.2rem;
    color: #CCC;
    padding: 15px 15px;
    border-radius: 5px;
    display: block;
    border: solid 1px #262626;
    background: #262626;
}

.post-navigation a:hover{
    border: solid 1px #FFF;
    background: #444;
    color: #CCC;
    transition: .3s;
}

.nav-next{
    text-align: right;
}

.nav-next a::after{
    content: '\f0a9';
    font-size: 1.2rem;
	font-family: "Font Awesome 6 Pro";
    font-weight: 100;
    padding-left: 15px;
}

.nav-previous a::before{
    content: '\f0a8';
    font-size: 1.2rem;
	font-family: "Font Awesome 6 Pro";
    font-weight: 100;
    padding-right: 15px;
}

/*=========
予約_ページ
=========*/

body.page-template-reserve{
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/reserve_header-scaled.jpg)no-repeat top center #111;
    background-size: contain;
}

.reserve_area{
    margin: -100px auto 100px;
}

.reserve_box{
    width: 50%;
    margin: 50px auto;
    text-align: center;
}

.reserve_box h2{
    font-size: 1.8rem;
    margin-bottom: 20px;
}

.reserve_box a{
    display: block;
    border: solid 1px #CCC;
    border-radius: 15px;
    background: #262626;
    padding: 30px 50px;
    color: #d1b770;
    font-size: 2rem;
    letter-spacing: 0.1em;
}

.reserve_box a:hover{
    transform: scale(1.1);
    transition: 0.3s;
    background: #555;
}

.reserve_box a span{
    font-size: 3.5rem;
    margin-left: 8px;
}

.reserve_box a p{
    display: block;
    font-size: 1.1rem;
    color: #CCC;
}

.reserve_web{
   margin: 50px auto 0 80px;
}

.reserve_web iframe{
    width: 100%;
    transform: scale(1.3);
}

.reserve_web_search{
    width: 870px;
    height: 60px;
}

.reserve_web_search iframe{
    width: 870px;
    height: 60px
}

/*=========
English_ページ
=========*/

body.page-template-english{
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/english_header-scaled.jpg)no-repeat top center #111;
    background-size: contain;
}

.base_copy.english{
    font-size: 1rem;
}

.about_food_copy.english{
    width: 40%;
}

/*=========
プライバシー_ページ
=========*/

body.page-template-privacy{
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/privacy_header-scaled.jpg)no-repeat top center #111;
    background-size: contain;
}

.privacy_area{
    width: 70%;
    margin: 0 auto 100px;
}

.privacy_h2{
    color: #CCC;
    font-size: 1.5rem;
}

.privacy_copy{
    color: #AAA;
}

.privacy_copy.last{
    margin-bottom: 50px;
}

.privacy_list{
    list-style: disc;
    list-style-position: inside;
}

.privacy_list li{
    color: #AAA;
}

.privacy_info_list{
    background: #363636;
    color: #CCC;
    padding: 50px;
    letter-spacing: 0.1em;
}


/*=========
お問い合わせページ
=========*/

body.page-template-contact{
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/contact_header-scaled.jpg)no-repeat top center #111;
    background-size: contain;
}

.contact_area{
    width: 70%;
    margin: -100px auto 100px;
}

.contact_kome_list{
    margin-bottom: 50px;
}

.contact_kome_list li{
    font-size: 1rem;
    margin-bottom: 15px;
    color: #CCC;
    text-align: justify;
}

.contact_kome_list li.red{
    color: hsl(60, 100%, 81%);
}

.form_box{
    background: #222;
    padding: 80px 80px;
    margin-bottom: 50px;
}

.form_box p{  
    color: #CCC;
}
.wpcf7 table tr th p{
    margin-bottom: 5px;
}

.haveto{
	background: #a13131;
	color: #fff;
	padding: 5px 10px;
	border-radius: 5px;
	margin-right: 8px;
	font-size: 0.8em;
}

.any{
	background: #999;
	color: #000;
	padding: 5px 10px;
	border-radius: 5px;
	margin-right: 8px;
	font-size: 0.8em;
}

table.inquiry{
	border-top: none;
}

.table tbody tr td .form-control, .table tbody tr th .form-control, .table td .form-control, .table th .form-control, .table thead tr td .form-control, .table thead tr th .form-control, table tbody tr td .form-control, table tbody tr th .form-control, table td .form-control, table th .form-control, table thead tr td .form-control, table thead tr th .form-control {
    max-width: 100%;
}

.wpcf7 table th, .wpcf7 table td{
	display: block;
	font-size: 1em;
	color: #CCC;
	border-bottom: none;
}

.wpcf7 table th {
    padding-bottom: 0;
    font-size: 1.2rem;
}

.wpcf7 table td{
	padding-bottom: 30px;
}

span.wpcf7-list-item-label {
    margin-right: 20px;
}


input[type="text"]{
    width: 100%;
	font-size: 1.4em;
	background: #fffbe3;
	border: solid 2px #999;
	padding: 20px;
}

input[type="email"]{
    width: 100%;
	font-size: 1.2em;
	background: #fffbe3;
	border: solid 2px #999;
	padding: 20px;
}

input[type="tel"]{
    width: 100%;
	font-size: 1.2em;
	background: #fffbe3;
	border: solid 2px #999;
	padding: 20px;
}

input[type=checkbox], input[type=radio] {
    box-sizing: border-box;
    padding: 0;
    margin-right: 5px;
}

select.wpcf7-form-control{
    width: 100%;
	font-size: 1.2em;
	background: #fffbe3;
	border: solid 2px #999;
}

textarea.wpcf7-form-control{
    width: 100%;
	font-size: 1.2em;
	background: #fffbe3;
	border: solid 2px #999;
	padding: 20px;
}

span.wpcf7-form-control.wpcf7-acceptance {
    margin-right: 7px;
}

input#formbtn {
    background: #c80000;
    border: solid 5px #c80000;
    border-radius: 30px;
    font-size: 1.4em;
    width: 60%;
    letter-spacing: 0.05em;
    margin: 50px auto 0;
    display: block;
    font-family: "Font Awesome 6 Pro";
    color: #FFF;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    color: #FFF;
}

p.contact_kome {
    font-size: 0.9rem;
}

.contact_kome i {
    color: #e5e5e5;
    font-size: 1.1rem;
    margin-right: 5px;
}

.wpcf7-response-output{
	color: #ffb900;
}

/*********** スマホ用 **********************************/


@media screen and (max-width: 480px) {
   /* 600px以上の場合 */



.pc {
	display: none;
}
   
.sp {
	display: block;
    width: 100%
}

.gMenu_nav {
    display: none;
}


.flexbox{
    flex-direction: column;
}

.navbar-header {
    top: 20px;
    left: 20px;
}

.siteHeader_logo {
    padding: 0;
}

.siteHeader_logo img {
    width: 60px;
    margin: 0;
}
	
.siteHeader_logo img.sp {
    display: block;
}

.siteHeader_logo img.pc {
    display: none;
}

.base_copy {
    font-size: 1.1rem;
    line-height: 1.7;
    text-align: justify;
}

.more_btn {
    margin: 20px 0;
}

.btn {
    padding: 15px 30px;
    width: 100%;
    font-size: 1.2rem;
}

.img_r img{
    border-radius: 25px;
}

h2 {
    font-size: 1.5rem;
}

h4{
    text-align: center;
}

.catch_title{
    font-size: 4rem;
}

.vk-mobile-nav {
    background-color: #101010;
}

.vk-mobile-nav-menu-btn {
    left: auto;
    right: 5px;
    border: none;
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.5);
}


.vk-mobile-nav nav ul li a {
    padding: 20px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #FFF;
    letter-spacing: 0.05em;
}

.vk-mobile-nav nav ul li a::after{
    position: absolute;
    right: 10px;
    content: "\f061";
    font-size: 1.2rem;
	font-family: "Font Awesome 6 Pro";
    font-weight: 300;
}

.vk-mobile-nav nav ul li a span.en {
    margin-left: 10px;
    font-weight: normal;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    color: #888;
}

/*=========
TOP_header
=========*/

body.home{
    background: url(https://kyoto-ifuji.jp/wordpress/wp-content/uploads/2025/12/header_bg_sp.jpg) no-repeat top center #101010;
    background-size: 100%;
}

.top_header {
    height: 580px;
}

.top_header_copy {
    top: 350px;
    left: 5%;
    font-size: 1.8rem;
}

.scrolldown1 {
    top: 500px;
    bottom: auto;
}

/*=========
top_about_エリア
=========*/

.top_about_area {
    margin-bottom: 50px;
}

.top_about_area h2{
    position: absolute;
    margin-left: 10px;
    height: max-content;
}

.top_about_box {
    width: 75%;
}

.top_about_box p{
    padding-right: 15px;
}

/*=========
top_room_エリア
=========*/

.top_room_area {
    margin-bottom: 50px;
}

.top_room_area h2 {
    position: absolute;
    font-size: 1.5rem;
    height: max-content;
    right: 0;
    margin-right: 5px;
}

.top_room_box {
    width: 90%;
}

.top_room_box p {
    margin-left: 20px;
    width: 80%;
}

/*=========
top_omi_エリア
=========*/

.top_omi_area {
    height: auto;
    margin-bottom: 100px;
}

.top_omi_area h2 {
    position: absolute;
    font-size: 1.5rem;
    height: max-content;
    margin-left: 10px;
}

.top_omi_box {
    width: 90%;
}

.top_omi_box p {
    width: 80%;
    margin-left: 13%;
}

/*=========
top_season_エリア
=========*/

.top_season_area {
    margin-bottom: 50px;
}

.top_season_area h2 .icon_04 {
    margin-left: -30px;
}

.top_season_area h2 {
    position: absolute;
    font-size: 1.5rem;
    height: max-content;
    right: 0;
    margin-right: 10px;
    line-height: 1.3;
}

.top_season_area h2 span {
    padding: 10px 3px;
}

.top_season_box {
    width: 75%;
}

.top_season_box figure {
    margin-bottom: 30px;
}

.top_season_box .tx_box {
    width: 100%;
    padding: 0;
}

.top_season_box .tx_box p {
    margin-right: 0;
    margin-left: 20px;
}


/*=========
top_menu_エリア
=========*/

.top_menu_area {
    width: 100%;
    margin-bottom: 50px;
}

.top_menu_area h2 {
    position: absolute;
    font-size: 1.5rem;
    height: max-content;
    margin-left: 10px;
}

.top_menu_box {
    width: 75%;
}

.top_menu_box figure {
    margin-bottom: 20px;
}

.top_menu_box .h3_title {
    letter-spacing: 0.1em;
    margin-right: 15px;
}

.top_menu_box .more_btn {
    text-align: left;
}

/*=========
top_news_エリア
=========*/

.top_news_area {
    margin: 50px 0;
    padding-bottom: 0;
    background-position-y: 0;
}

.top_news_area h2 {
    margin: 0 auto 20px;
}

.top_news_list {
    width: 90%;
    padding: 20px 5% 30px;
    margin: 0 auto;
}

.postListText_title{
    text-align: left;
}

/*=========
top_access_エリア
=========*/

.top_access_area {
    margin: 50px auto ;
}

.top_access_area h2 {
    margin: 0 auto 20px;
}

.gmap {
    width: 90%;
    margin: 0 auto;
}

.gmap iframe {
    height: 350px;
}

.top_access_info {
    text-align: center;
}

.top_access_box .more_btn {
    margin-top: 20px;
}


/*=========
フッターエリア
=========*/

.section.siteFooter.flexbox{
    flex-direction: column-reverse;
    padding: 40px 0 0;
}

.footer_nav {
    margin: 0 auto;
    width: 80%;
}

.footer_nav ul {
    margin: 0;
}

.footer_nav li{
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: dotted 1px #444;
}

.footer_nav li a{
    font-size: 1.3rem;
}

.footer_reserve a {
    width: 100%;
    text-align: center;
    font-size: 1.4rem;
}

.footer_info {
    width: 100%;
    text-align: center;
    padding-top: 0;
    margin: 40px auto;
}

.footer_bottom{
    padding: 0 0 120px;
}

.footer_bottom p {
    text-align: center;
}

.google-copy {
    text-align: center;
}

.scrolled .page_top_btn {
    bottom: 120px;
}

/*=========
Fix下部メニュー
=========*/

.fix_btn_bigbox{
    width: 100%;
    height: 100px;
    top: auto;
    bottom: 0;
    right: 0;
    display: flex;
    z-index: 9999;
    border-top: solid 1px #666;
    margin: 0;
}

.fix_btn_bigbox a{
    display: block;
    width: 100%;
    height: 100px;
    border-radius: 0;
    text-align: center;
    padding-top: 15px;
    margin: 0;
    color: #FFF;
    font-size: 1rem;
    letter-spacing: 0.05em;
}

.fix_btn_bigbox i{
    display: block;
    font-size: 3rem;
    margin-bottom: 10px;
}

.fix_map_btn{
    flex: 1;
    background: #777;
    margin: 0;
}

.fix_tel_btn{
    flex: 1;
    background: #54907c;
    margin: 0
}

.fix_reserve{
    flex: 1;
}

.fix_reserve a{
    writing-mode: horizontal-tb;
}

/*=========
ページ_ヘッダー
=========*/

.page_header {
    width: 85%;
    height: 450px;
    margin: 0 auto;
    padding-top: 0;
}

.page_header .page_copy{
    font-size: 2rem;
    letter-spacing: 0.2em;
}

.page_header h1 {
    left: 10px;
    font-size: 2rem;
}

.page_header::before {
    margin-top: 180px;
    margin-left: -30px;
}

/*=========
about_ページ
=========*/

body.page-template-about {
    background-size: 200%;
}

.about_area {
    height: auto;
    width: 80%;
    margin: 100px auto 0;
    padding: 0;
}

.about_top_copy {
    width: 85%;
    margin: 0 auto;
}

.about_top_area {
    margin-bottom: 50px;
}

.about_slide_area{
    flex-direction: row;
    margin-bottom: 50px;
}

.about_food_area {
    background-size: 80%;
}

.about_food_copy {
    margin: 0 auto 80px;
    padding-top: 200px;
    width: 85%;
    min-height: auto;
}

.about_food_material_box {
    width: 80%;
    margin: 0 auto 50px;
}

/*=========
menu_ページ
=========*/

body.page-template-menu {
    background-size: 200%;
}

.menu_info_area {
    height: auto;
    width: 90%;
    margin: 100px auto 0;
    padding: 0;
}

.menu_header_list {
    top: 380px;
    right: 0;
    margin: 0 auto;
    width: 95%;
}

.h2_menu_title.right_line {
    font-size: 1.5rem;
    flex-direction: column;
    margin: 0 0 30px;
    text-align: center;
}

.h2_menu_title_sub.right_line {
    display: block;
    margin: 0 0 10px;
    text-align: center;
}

.h2_menu_title.right_line::after {
    height: 1px;
    margin: 0 auto;
    display: none;
}

.h2_menu_title.left_line {
    font-size: 1.5rem;
    flex-direction: column;
    margin: 0 auto 30px;
    text-align: center;
}

.h2_menu_title_sub.left_line {
    display: block;
    margin: 0 15% 10px;
    text-align: center;
}

.h2_menu_title.left_line::before {
    height: 1px;
    margin: 0 auto;
    display: none;
}

.menu_bigbox{
    margin: 0 auto 50px;
}

.menu_box {
    margin-bottom: 40px;
    border-bottom: dotted 1px #555;
}

.menu_list.left {
    margin-right: 0;
}
.menu_list {
    width: 100%;
}

.menu_box h3{
    flex-direction: column;
    line-height: 1.1;
}

.menu_price{
    margin-left: auto;
}

.menu_bigbox.row_reverse .menu_list.left {
    margin: 0 auto;
}

.menu_img_box .menu_list {
    width: 90%;
}

.menu_img_box .menu_list.flexbox{
    flex-direction: row;
}


/*=========
english_ページ
=========*/

body.page-template-english {
    background-size: 200%;
}
.about_food_copy.english {
    width: 90%;
}

.page-template-english .page_header.menu::before {
    margin-top: 40px;
    margin-left: -30px;
    left: 0;
    margin-right: 0;
    position: absolute;
}

.page-template-english .page_header.menu h1{
    top: 25px
}

.page-template-english .page_header.menu.flexbox{
    height: 150px;
}

.page-template-english .menu_header_list{
    top: 70px;
}

/*=========
ご予約_ページ
=========*/

body.page-template-reserve {
    background-size: 200%;
}

.reserve_area {
    margin: -50px auto 50px;
    width: 85%;
}

.reserve_box {
    width: 100%;
}

.reserve_box a {
    padding: 30px 30px 20px;
    font-size: 1.2rem;
}

.reserve_box a span {
    font-size: 2.2rem;
}

.reserve_web {
    margin: 0 auto;
}

.reserve_web iframe {
    transform: scale(1);
}

/*=========
お知らせ一覧_ページ
=========*/

body.page-template-news {
    background-size: 250%;
}

/*=========
お知らせ記事_ページ
=========*/

body.single-post {
    background-size: 250%;
}

body.single-post .entry_area {
    width: 90%;
    margin: 30px auto 100px;
}


/*=========
お知らせ記事メニュー
=========*/


.nav-links {
    width: 90%;
    flex-direction: column;
    margin-top: -50px;
}

.nav-previous, .nav-next {
    width: 100%;
    margin-bottom: 20px;
}


/*=========
プライバシー_ページ
=========*/

body.page-template-privacy {
    background-size: 200%;
}

.privacy_area {
    width: 85%;
}

/*=========
コンタクト_ページ
=========*/

body.page-template-contact {
    background-size: 200%;
}

.contact_area {
    width: 85%;
}

.form_box {
    padding: 10px;
}

input#formbtn {
    border-radius: 10px;
    font-size: 1.2em;
    width: 90%;
}

}