@charset "utf-8";
/* -----------------------------------------------------
PC用CSSファイル pc.css
----------------------------------------------------- */
.only-mobile { display: none; }
.only-desktop { display: block;}


/* 要素非表示
----------------------------------------------------- */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }


/* spacer
----------------------------------------------------- */
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb25{margin-bottom:25px;}
.mb30{margin-bottom:30px;}
.mb35{margin-bottom:35px;}
.mb40{margin-bottom:40px;}
.mb45{margin-bottom:45px;}
.mb50{margin-bottom:50px;}
.mb60{margin-bottom:60px;}
.mb120{margin-bottom:120px;}


/* clearfix
----------------------------------------------------- */
.clearfix::after {
    content: "";
    display: block;
    clear: both;
  }


body{
    font-family: 'Zen Old Mincho', serif;
    line-height: 1.8;
    color: #000;
    background-color: #000;
    margin: 0; padding: 0;
}  

body a { color:#0000ff; text-decoration:none;}
body a:hover { color: #0000ff; text-decoration:underline; }
body a:hover img {
  filter: brightness(1.4);
  opacity: 1; /* 必要なら確実に100%にしておく */
  transition: 0.3s;
}

html {
  scroll-behavior: smooth;
}

/* TOPページメインイメージ
----------------------------------------------------- */
.main_visual {
  width: 100%;
  height: 650px; 
  overflow: hidden;
  position: relative;
  margin: 0 auto 70px auto;
}

.swiper {
  width: 100%;
  height: 100%;
}

.swiper-wrapper {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  width: 100%;
  height: 100%;
  position: relative;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center; /* 中央基準にする */
  display: block; 
}

.swiper-pagination-bullet {
  width: 12px !important;
  height: 12px !important;
  background: #000 !important;
  border-radius: 50%;
  opacity: 0.6 !important;
}

.swiper-pagination-bullet-active {
  background: #e3c970 !important;
  opacity: 1 !important;
}


/* スマホだけ表示位置を変える */
@media (max-width: 768px) {
  .main_visual {
    width: 100%;
    height: 50vh;
    margin: 0 auto 35px auto;
  }

  .swiper-slide img {
    object-position: center center; /* 中央基準にする */
  }
}


.zoom-out {
  animation: zoomIn 8s ease-in-out infinite;
  transform-origin: center center;
  width: 100%;
  height: auto;
  object-fit: cover;
}

@keyframes zoomIn {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}


/* section
----------------------------------------------------- */

/* sectionベース設定（デフォルト） */
section {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 120px auto;
  padding: 0;
  box-sizing: border-box;
}

/* fullクラスがついたときは幅100%に拡張 */
section.full {
  max-width: 100%;
}

section.common_body {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 120px auto;
  padding: 0;
  box-sizing: border-box;
}

section.common_body02 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 0 auto;
  padding: 0;
  box-sizing: border-box;
}



/* スマホ時の共通設定 */
@media screen and (max-width: 768px) {
  section {
    width: 100%;
    margin: 0 0 40px 0;
  }

  section.common_body {
    width: 95%;
    margin: 0 auto 80px auto;
    padding: 0;
    box-sizing: border-box;
  }
  
}


/* コンテンツページタイトル
----------------------------------------------------- */
.pagetitle01 {
  position: relative;
  width: 100%;
  height: 160px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
  margin: 0 0 70px 0;
}

.pagetitle01::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/pt01_bg.jpg);
  background-size: cover;
  background-position: center center;
  filter: blur(10px); /* ←ここでぼかす */
  z-index: 1;
}

.pagetitle01 > * {
  position: relative;
  z-index: 2;
}

.pagetitle02 {
  position: relative;
  width: 100%;
  height: 160px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
  margin: 0 0 70px 0;
}

.pagetitle02::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/pt02_bg.jpg);
  background-size: cover;
  background-position: center center;
  filter: blur(10px); /* ←ここでぼかす */
  z-index: 1;
}

.pagetitle02 > * {
  position: relative;
  z-index: 2;
}

.pagetitle03 {
  position: relative;
  width: 100%;
  height: 160px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
  margin: 0 0 70px 0;
}

.pagetitle03::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/pt03_bg.jpg);
  background-size: cover;
  background-position: center center;
  filter: blur(10px); /* ←ここでぼかす */
  z-index: 1;
}

.pagetitle03 > * {
  position: relative;
  z-index: 2;
}


.pagetitle04 {
  position: relative;
  width: 100%;
  height: 160px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
  margin: 0 0 70px 0;
}


.pagetitle04::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/pt04_bg.jpg);
  background-size: cover;
  background-position: center center;
  filter: blur(10px); /* ←ここでぼかす */
  z-index: 1;
}

.pagetitle04 > * {
  position: relative;
  z-index: 2;
}

  /* 黒い半透明ボックス */
  .pt_overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50%;
    background: rgba(0, 0, 0, 0.7);
    padding: 30px 0;
    transform: translate(-50%, -50%);
    text-align: center;
    }
    
    .pt_overlay h2 {
    color: #000;
    font-size: 35px;
    font-weight: 500;
    line-height: 100%;
    margin: 0;
    }

@media (max-width: 768px) {
  .pagetitle01 {
    height: 140px;
    margin: 0 0 50px 0;
  }

  .pagetitle04 {
    height: 140px;
    margin: 0 0 50px 0;
  }

  .pt_overlay { 
    width: 85%;
    padding: 20px 0;
    }
    
    .pt_overlay h2 {
    font-size: 28px;
    }
}
    


/* common_title01
----------------------------------------------------- */
h3.commontitle01 {
	width: 100%;
	font-size: 20px;
	box-sizing: border-box;
	background: #0e0e0e;
	border-top: #e3c870 3px solid;
	border-bottom: #333 1px dotted;
	margin: 0 0 50px 0;
	padding: 12px 0px 12px 40px;
	color: #000;
	position: relative; /* ←ここ重要 */
  }
  
  /* 擬似要素でアイコンを表示 */
  h3.commontitle01::before {
	font-family: "Font Awesome 6 Free";
	content: "\f192";
	font-weight: 500;
	color: #e3c870;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px;
  }
  
/* common_title02
----------------------------------------------------- */
h3.commontitle02 {
	width: 100%;
	color: #000;
	font-size: 17px;
	box-sizing: border-box;
	background: linear-gradient(to right, #5a4805, #80711f); /* 右に向かって金っぽいグラデ */
	margin: 0 0 40px 0;
	padding: 8px 0 8px 15px;
	position: relative;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); /* ほんのり影を落とす */
	letter-spacing: 0.05em; 
  }
  
  @media (max-width: 768px) {
    .fixed-reserve {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      background: #111;
      text-align: center;
      z-index: 9999; /* 最前面に出す */
    }
  
    .fixed-reserve a {
      width: 90%;
      display: block;
      margin: 2% auto;
      padding: 15px 0;
      font-size: 16px;
      color: #000;
      background:url(../img/bg_red01.png); 
      text-decoration: none;
      font-weight: bold;
      filter: brightness(1.4); /* 1が通常、1.2で少し明るく */
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.8);
    }
  
    .fixed-reserve a:hover {
      color: #000;
      text-decoration: none;
      filter: brightness(1.6); /* 1が通常、1.2で少し明るく */
      transition: filter 0.3s; /* なめらかに変化 */
    }
  }
  

/* common_title03
----------------------------------------------------- */
h3.commontitle03 {
	width: 100%;
	font-size: 20px;
  text-align: center;
	box-sizing: border-box;
	background: #080808;
	margin: 0 0 50px 0;
	padding: 12px 0;
	color: #000;
	position: relative; /* ←ここ重要 */
  }
  
  h3.commontitle03::before,
  h3.commontitle03::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 450px; /* 線の長さ */
    height: 3px; /* 線の太さ */
    background: linear-gradient(to right, transparent, rgba(227, 200, 112, 0.5));
    transform: translateY(-50%);
  }

  @media (max-width: 768px) {
    h3.commontitle03::before,
    h3.commontitle03::after {
      width: 100px; /* スマホ時は線を短めにする */
    }
  }
  
  h3.commontitle03::before {
    left: 10px;
  }
  
  h3.commontitle03::after {
    right: 10px;
    background: linear-gradient(to left, transparent, #e3c870); /* 左に向かってゴールドに */
  }
  

/* footer
----------------------------------------------------- */
footer.footer {
  width: 100%;
  height: auto;
  color: #000;
  text-align: center;
  border-top: 1px solid #393939;
  padding: 70px 0 50px 0;
  background: linear-gradient(to bottom, #121212 0px, transparent 150px);
}

@media (max-width: 768px) {
  .footer {
    margin-bottom: 80px; /* ボタンの高さ+αで少し余裕を持たせる */
  }
}

footer a{
  color: #000;
  text-decoration: none;
}

.footer_logo { margin-bottom: 30px;}


.footer_address {
  font-size: 14px;
  font-style: normal;
  line-height: 1.6;
  margin-bottom: 30px;
}

a.footer_btn {
  width: 250px;
  height: auto;
  font-size: 14px;
  background: #222;
  border-radius: 30px;
  margin: 0 auto 20px auto;
  padding: 10px;
  display: block;
}

a.footer_btn:hover {
  color: #000;
  text-decoration: none;
  background: #555;
}

@media (max-width: 768px) {
  a.footer_btn { width: 70%; }

}

a.footer_sns {margin: 0 auto 35px auto; display: block;}

.footer_nav ul {
  display: flex;
  justify-content: center;
  gap: 20px;
  list-style: none;
  margin: 0 0 50px 0;
  padding: 0;
}

.footer_nav a {
  display: flex;
  align-items: center;
  font-size: 13px;
  text-decoration: none;
  color: #000;
  line-height: 1; 
}

.footer_nav li::before {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  font-size: 9px;
  margin-right: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1em;
  position: relative;
  top: 4px;
}

@media screen and (max-width: 768px) {
  .footer_nav ul {
    flex-direction: column;     /* 縦並びにする */
    align-items: center;        /* 中央寄せ */
    gap: 10px;                  /* 縦方向の余白 */
  }
}


.copyright { font-size: 14px;}

.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
  }

.youtube iframe {
width: 100%;
height: 100%;
}
/* header
----------------------------------------------------- */
.site-header {
	width: 100%;
	height: 100px;
	margin: 0 auto 0 auto;
  }

  @media (min-width: 769px) {
	.site-header {
	  position: sticky;
	  top: 0;
	  z-index: 1000;
	  background: #080808;
	  border-bottom: solid 1px #111;
	}
   }

   /* ページ内リンク先がヘッダーに隠れないようにする（PCだけ） */
@media (min-width: 769px) {
	:target::before {
	  content: "";
	  display: block;
	  height: 150px; /* PCヘッダーの高さに合わせる */
	  margin-top: -150px;
	}
  }

  .header-inner {
	width: 1200px;
	margin: 0 auto;
	display: flex;
	position: relative;
  }

  h2.logo {
	width: 200px;
	height: 65px;
	margin: 18px 240px 0 0;
	padding: 0;
  }


/* navigation
----------------------------------------------------- */
.main-nav {
	width: auto;
	font-size: 15px;
	box-sizing: border-box;
	margin: 24px 0 0 0;
	padding: 0;
}

/* reserve_modal
----------------------------------------------------- */
/* 初期は非表示 */
.modal-overlay {
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 表示時 */
.modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

.modal-content {
  background: #1a1a1a; /* ダークグレー背景 */
  color: #000;         /* 白文字に */
  width: 90%;
  max-width: 800px;
  max-height: 90%;
  padding: 30px;
  overflow: visible;
  border-radius: 5px;
  position: relative;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
}

.modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: transparent;
  color: #aaa;
  font-size: 0.9em;
  border: none;
  cursor: pointer;
  padding: 5px 10px;
  line-height: 1;
  transition: color 0.3s;
  z-index: 10000;
}

.modal-close:hover {
  color: #000;
}

/* モーダル内の padding-top を追加してボタン下に空間を作る */
.modal-content {
  padding-top: 60px; /* 通常の30px → 60pxに拡張（例） */
}




/* --- 親メニュー --- */
#flip.dropmenu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex; /* ←Flex横並び */
	gap: 0; /* メニュー間隔 */
	position: relative;
  }
  
  /* --- 各メニュー項目 --- */
  #flip > li {
	position: relative;
	z-index: 10;
	perspective: 400px; /* ←3D回転用の視点 */
  }
  
  /* --- メインメニューリンク --- */
  #flip > li > a {
	display: block;
	padding: 10px 13px;
	text-decoration: none;
	color: #000;
  }
  
  #flip > li > a:hover {
	color: #000;
	background-color: #e3c970;
  }
  
  /* --- サブメニュー初期状態 --- */
  #flip li ul {
	width: 220px;
	list-style: none;
	margin: 0;
	padding: 10px 0;
	position: absolute;
	top: 100%;
	left: 0;
	background: #222;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	display: flex;
	flex-direction: column; /* サブメニューは縦並び */
	
	/* 3D回転隠し */
	visibility: hidden;
	opacity: 0;
	transform: rotateX(-80deg);
	transform-origin: 50% 0;
	transition: transform 0.3s, opacity 0.3s;
	z-index: 100;
  }
  
  /* --- サブメニュー内リンク --- */
  #flip li ul li a {
	display: block;
	padding: 8px 15px;
	text-decoration: none;
	color: #000;
  }
  
  #flip li ul li a:hover {
	color: #000;
	background: #e3c970;
  }
  
  /* --- hoverでサブメニューを開く --- */
  #flip li:hover > ul {
	visibility: visible;
	opacity: 1;
	transform: rotateX(0deg);
  }
  
  .reserve_btn {
	text-align: center;
	margin : 22px 0 0 auto;
  }


/* TOP topics
----------------------------------------------------- */
.top_topics {
	display: flex;
	height: auto;
	margin: 0 auto 90px auto;
  }
  
  .top_topics h3 {
	width: 16%;
	height: 60px;
	font-size: 16px;
	font-weight: 400;
	text-align: center;
	background-image: url(../img/bg_red01.png);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
  }
  
  .top_topics a {
	width: 84%;
	height: 60px;
	display: flex;
	align-items: center;
	padding: 0 30px;
	background-color: #0d0d0d;
	color: #000;
	text-decoration: none;
	box-sizing: border-box;
  }

/* 200年の農家屋敷
----------------------------------------------------- */
.top_about {
	display: flex;
	gap: 40px;
	max-width: 1200px;
	box-sizing: border-box;
  }
  
  .about_pic {
	width: 50%;
	height: auto;
	object-fit: cover;
	order: 2; /* ← 画像を右側に持ってくる！ */
  }
  
  .about_text {
	width: 50%;
	order: 1;
	background-image: url(../img/bg_fude01.png);
	background-position: left center;
  }
  
  .about_text h2 {
	color: #e3c970;
	font-size: 36px;
	font-weight: 500;
	margin: 0;
  }
  
  .about_text h3 {
	font-size: 24px;
	font-weight: 500;
	margin: 0 0 20px 0;
  }
  
  .about_text p {
	line-height: 1.8;
	margin: 0 0 50px 0;
  }
  
  a.about_btn{
	width: 375px;
	height: 60px;
	color: #000;
	font-size: 18px;
	font-weight: 400;
	text-align: center;
	background-image: url(../img/bg_yellow01.png);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
  }
  
  a.about_btn:hover {
	color: #000;
	text-decoration: none;
	filter: brightness(1.2);
  }


/* お食事
----------------------------------------------------- */
.top_meal {
	height: 440px;
	background-image: url(../../img/food.jpg);
	position: relative;
  }

  .top_meal h2 {
	font-size: 30px;
	font-weight: 500;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 195px;
	left: 710px;
  }

  .top_meal p {
	font-size: 16px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 250px;
	left: 710px;
  }

  .meal_btn {
	position: absolute;
	bottom: 0;
	right: 0;
	
	width: 300px;
	height: 55px;
	color: #000;
	font-size: 18px;
	font-weight: 400;
	text-align: center;
	background-image: url(../img/bg_yellow01.png);
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
  }
  
.meal_btn:hover {
	color: #000;
	text-decoration: none;
	filter: brightness(1.2);
}


  /* お部屋
----------------------------------------------------- */
/* お部屋セクション全体 */
.photo_wrapper {
	width: 100%;
	height: 300px;
	overflow: hidden;
	position: relative;
	margin: 0 auto 40px auto;
  }
  
  /* Swiper用のラッパーとスライド */
  .photo_wrapper .swiper-wrapper {
	display: flex;
  }
  
  .photo_wrapper .swiper-slide {
	flex-shrink: 0;
	width: auto;
	height: 300px;
  }
  
  /* 各画像 */
  .photo_wrapper img {
	height: 300px;
	object-fit: cover;
	margin: 0;
	padding: 0;
	border: none;
  }
  
  /* 黒い半透明ボックス（中央固定） */
  .overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 800px;
	background: rgba(0, 0, 0, 0.8);
	padding: 60px 0;
	transform: translate(-50%, -50%);
	text-align: center;
	z-index: 10;
  }
  
  .overlay h2 {
	color: #000;
	font-size: 45px;
	font-weight: 500;
	line-height: 1;
	margin: 0 0 20px 0;
  }
  
  .overlay p {
	color: #000;
	font-size: 20px;
	line-height: 1;
	margin: 0;
  }
	
  .top_room {
	width: 100%;
	height: auto;
	text-align: center;
	padding: 0 0 60px 0;
	background: linear-gradient(to top, #121212 0px, transparent 150px);
	margin: 0 auto 100px auto; 
}

.top_room p {
	font-size: 18px;
	margin: 0 auto 60px auto; 
}

.room_btn {
	width: 400px;
	height: 70px;
	color: #000;
	font-size: 18px;
	font-weight: 400;
	text-align: center;
	background-image: url(../img/bg_yellow01.png);
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	margin: 0 auto 0 auto; 
  }

  .room_btn:hover {
	color: #000;
	text-decoration: none;
	filter: brightness(1.2);
}



/* お風呂
----------------------------------------------------- */
.top_bath {
	height: 440px;
	background-image: url(../../img/bath.jpg);
	position: relative;
  }

  .top_bath h2 {
	font-size: 30px;
	font-weight: 500;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 195px;
	left: 0;
  }

  .top_bath p {
	width: 40%;
	font-size: 16px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 250px;
	left: 0px;
  }

  .bath_btn {
	position: absolute;
	bottom: 0;
	left: 0;
	
	width: 300px;
	height: 55px;
	color: #000;
	font-size: 18px;
	font-weight: 400;
	text-align: center;
	background-image: url(../img/bg_yellow01.png);
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
  }
  
  .bath_btn:hover {
	color: #000;
	text-decoration: none;
	filter: brightness(1.2);
}


  /* お知らせ
----------------------------------------------------- */
  .section_heading {
	width: 300px;
	position: relative;
	background: radial-gradient(ellipse at center bottom, rgba(255,255,255,0.1) 0%, #080808 40%, #080808 100%);
	text-align: center;
	padding: 10px 0 10px 0;
	margin: 0 auto 50px auto;
	overflow: hidden;
  }
  
  .section_heading h2 {
	color: #f5e08b;
	font-size: 20px;
	font-weight: normal;
	margin: 0;
	position: relative;
	z-index: 2;
  }
  
  .section_heading::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 300px;
	height: 1px;
	background: linear-gradient(to right, transparent, #666, transparent);
	z-index: 1;
  }
  
  .top_news {
	display: flex;
	flex-wrap: wrap;
	gap: 40px; /* ← ここを40pxに変更！ */
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	justify-content: flex-start;
	margin-bottom: 120px;
  }
  
  .news_item {
	flex: 0 0 calc((100% - 120px) / 4); /* ← gap3本分（40px×3=120px）引いた幅を4分割 */
	text-align: center;
	display: flex;
	flex-direction: column;
  }
  
  .news_item a {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: #000;
  }
  
  .news_item img {
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 15px;
  }
  
  .news_item h3 {
	font-size: 14px;
	font-weight: 500;
	margin: 0;
	padding: 0;
	line-height: 1.5;
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
  }
  
  .news_item p {
	font-size: 13px;
	color: #ccc;
	margin-bottom: 10px;
  }
  
 
  /* 予約はこちら
----------------------------------------------------- */
.reserve {
	width: 100%;
	margin: 0 auto 50px auto;
  }
  
  .reserve h3{
	text-align: center;
	margin: 0 auto 50px auto;
  }
  
  .freserve_btn {
	display: flex;
	gap: 40px;
	justify-content: center;
	margin: 40px 0;
	padding: 0;
	list-style: none;
  }
  
  .freserve_btn li {
	flex: 0 0 450px; /* ボタン幅固定（必要なら） */
  }
  
  .freserve_btn a.room {
	position: relative;
	display: block;
	text-align: center;
	padding: 20px;
	background-image: url(../img/bg_orange01.png);
	background-size: cover;
	color: #000;
	font-size: 18px;
	font-weight: 500;
	text-decoration: none;
	transition: 0.3s;
  }
  
  .freserve_btn a.plan {
	position: relative;
	display: block;
	text-align: center;
	padding: 20px;
	background-image: url(../img/bg_green01.png);
	background-size: cover;
	color: #000;
	font-size: 18px;
	font-weight: 500;
	text-decoration: none;
	transition: 0.3s;
  }
  
  .freserve_btn a:hover {
	color: #000;
	text-decoration: none;
	filter: brightness(1.3);
}
  
/* 内側の白い線（枠） */
.freserve_btn a::after {
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	right: 5px;
	bottom: 5px;
	border: 1px solid rgba(255,255,255,0.5);
	pointer-events: none; /* 枠はクリック判定なしにする */
	z-index: 2;
  }
  
  
/* ベストレート
----------------------------------------------------- */
  .bestrate {
	display: flex;
	align-items: center;
	color: #000;
	gap: 20px;
	max-width: 760px;
	margin: 0 auto;
	box-sizing: border-box;
	margin-bottom: 50px;
  }
  
  .bestrate img {
	width: 100px; /* 画像サイズを固定 */
	height: auto;
	flex-shrink: 0;
  }
  
  .bestrate_text {
	flex: 1;
	text-align: left;
  }
  
  .bestrate_text h2 {
	font-size: 26px;
	font-weight: 500;
	line-height: 100%;
	margin: 0 0 10px 0;
  }
  
  .bestrate_text p {
	line-height: 1.6;
	margin: 0;
  }
  

/* check_text
----------------------------------------------------- */
.check_text {
	width: 100%;
	height: auto;
	text-align: center;
	margin: 0;
}

.check_text p.time {
	color: #f8df79;
	font-size: 18px;
	font-weight: 700;
}

.check_text p.text {
	font-size: 15px;
}


/* 注意事項
----------------------------------------------------- */
.notes {
	display: flex;
	justify-content: center;
	align-items: stretch;
	padding: 30px 0;
	gap: 0; /* 隙間なし */
	max-width: 1000px;
	margin: 0 auto 0 auto;
  }
  
  .notes_item {
	flex: 1;
	padding: 0 30px;
	box-sizing: border-box;
	text-align: left;
  }
  
  .notes_item h4 {
	font-size: 16px;
	font-weight: 600;
	color: #000;
	margin: 0 0 5px 0;
	display: flex;
	align-items: center;
	gap: 8px;
  }
  
  .notes_item h4 i {
	font-size: 8px;
	color: #000;
  }
  
  .notes_item p {
	font-size: 14px;
	color: #ccc;
	line-height: 1.7;
	margin: 0;
  }
  
  /* 中央の仕切り線 */
  .notes_divider {
	width: 1px;
	background: rgba(255,255,255,0.3);
  }
  

/* フッターバナー
----------------------------------------------------- */
.cake_banner {
	width: 100%;
	text-align: center;
	margin-bottom: 30px;
  }
  
.banners {
	display: flex;
	flex-wrap: wrap;
	gap: 10px; /* バナー同士の間隔少しだけ */
	justify-content: center; /* 中央揃え */
	padding: 0;
	margin: 0 0 50px 0;
	background: none; /* 背景色なし */
  }
  
  .banners a {
	display: block;
  }
  
  .banners img {
	display: block;
	width: 220px; /* 必要なら固定幅指定、なければ画像サイズそのまま */
	height: auto;
  }
  

/* backtop
----------------------------------------------------- */
#page-top {
	position: fixed;
	bottom: 45px;
	right: 20px;
	font-size: 77%;
	z-index: 1;
}
#page-top a {
	background: #c7a430;
	opacity:0.5;	/*Firefox, Opera, Chrome, Safari*/
	filter: alpha(opacity=50);	/*IE8以下*/
	text-decoration: none;
	color: #000;
	width: 100px;
	padding: 30px 0;
	text-align: center;
	display: block;
	border-radius: 3px;
}
#page-top a:hover {
	text-decoration: none;
	background: #e3c870;
}



/* コンテンツページタイトル
----------------------------------------------------- */
h2#pagetitle{
	width: 100%;
	font-size: 30px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align:center;
	box-sizing: border-box;
	border-bottom: 3px solid #e3c870;
	margin: 0px 0px 40px 0px;
	padding: 20px 0px 18px 0px;
}


/* 見出し用h3
----------------------------------------------------- */
h3.title01{
	font-size: 24px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	box-sizing: border-box;
	margin: 0 0 15px 0;
	padding: 0;
}

h3.title02{
	font-size: 20px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	box-sizing: border-box;
	margin: 0 0 15px 0;
	padding: 0;
}

h3.title03{
	color: #e3c870;
	font-size: 16px;
	box-sizing: border-box;
	margin: 0 0 10px 0;
	padding: 0;
}



/* ultype01
----------------------------------------------------- */
ul.ultype01{
	margin: 0 0 0 20px;
	padding: 0;
}

ul.ultype01 li{
	list-style: circle;
	margin: 0 0 5px 0;
	padding: 0;
}

/* ultype02
----------------------------------------------------- */
ul.ultype02{
	margin: 0;
	padding: 0;
}

ul.ultype02 li{
	width: 22%;
	height: 280px;
	line-height: 150%;
	list-style: none;
	margin: 0 4% 4% 0;
	padding: 0px;
	float: left;
}

ul.ultype02 li img{
	width: 100%;
	height: auto;
	margin-bottom: 5px;
}

ul.ultype02 li p{
	text-align: center;
	font-weight: bold;
}

ul.ultype02 li:nth-child(4n){
	width: 22%;
	margin: 0;
}


/* 基本テーブル
----------------------------------------------------- */
table.common_table {
	width: 100%;
	font-size: 15px;
	border-collapse: collapse;
}

table.common_table th.t_top {border-top: #e3c870 3px solid;}

table.common_table th {
	background: #111;
	border-bottom: #222 1px solid;
	padding: 15px;
}

table.common_table td.t_top {border-top: #e3c870 3px solid;}

table.common_table td {
	border-bottom: #222 1px solid;
	text-align: left;
	padding: 15px;
}

table.common_table textarea {
	width: 100%;
	color: #333;
}

table.common_table input[type="text"] {
	width: 70%;
	color: #333;
}

table.common_table input[type="text"].zip {
	max-width: 10%;
	color: #333;
}

.formbtn {
	width: 60%;
	color: #000;
	font-size: 15px;
	background: #9b152b;
	border: none;
	font-weight: bold;
	text-align: center;
	display: block;
	margin: 30px auto 30px auto;
	padding: 10px 0;
}

.formbtn02 {
	width: 60%;
	color: #000;
	font-size: 15px;
	background: #9b152b;
	border: none;
	font-weight: bold;
	text-align: center;
	display: block;
	margin: 0 auto 30px auto;
	padding: 10px 0;
}

.formbtn03 {
	width: 20%;
	color: #000;
	font-size: 15px;
	background: #667408;
	border: none;
	font-weight: bold;
	text-align: center;
	display: block;
	margin: 0 auto;
	padding: 10px 0;
}

/* お食事
----------------------------------------------------- */
.meal01 {
	width: 1200px;
	height: 860px;
	background-image: url(../../meal/img/meal01.png);
	position: relative;
	margin: 0 auto 70px auto;
  }

  .meal01 h2 {
	color: #e3c970;
	font-size: 38px;
	font-weight: 500;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
  }

  .meal01 h3 {
	font-size: 22px;
	font-weight: 500;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 65px;
	left: 0;
  }

  .meal01 div.text01 {
	width: 40%;
	font-size: 16px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 120px;
	left: 0px;
  }

  .meal01 div.text02 {
	width: 53%;
	font-size: 16px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 470px;
	right: 0px;
  }


  /* 写真スライダー
----------------------------------------------------- */
.photo_slider {
	width: 100%;
	overflow: hidden;
	margin: 0 0 40px 0;
	padding: 0;
	}

.photo_slider .swiper-slide {
	width: 500px; 
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	border: none;
}

.photo_slider .swiper-slide img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0;
	padding: 0;
	border: none;
	transition: transform 0.3s ease; /* ← なめらかに拡大するため */
  }
  
  .photo_slider .swiper-slide img:hover {
	transform: scale(1.05); /* ← マウスオーバーで1.05倍に拡大 */
  }

  .youtube_section {
	width: 100%;
	padding: 50px 0; /* 上下に余白 */
	margin: 0 auto 40px auto;
	background: linear-gradient(to bottom, #1a1a1a, #111, #0a0a0a); /* ダークグラデ背景 */
	display: flex;
	justify-content: center;
	align-items: center;
  }
  
  .youtube_wrapper {
	width: 100%;
	max-width: 940px; /* 好きな最大幅 */
	padding: 0 20px; /* スマホ時の左右余白 */
  }
  
  .youtube_wrapper iframe {
	width: 100%;
	aspect-ratio: 16/9;
	border: none;
	display: block;
	border-radius: 8px; /* 角丸（お好み） */
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5); /* 少し立体感を出す影 */
  }
  

/* 客室
----------------------------------------------------- */

/* 母屋・別邸リンクボタン----------- */
.room_navi01 {
	display: flex;
	justify-content: center;
	gap: 40px;
	list-style: none;
	padding: 0;
	margin: 30px 0;
  }
  
  .room_navi01 li a {
	width: 250px;
	text-align: center;
	line-height: 1.5; /* テキスト行間。必要なら追加 */
	display: block;
	padding: 12px 30px;
	color: #000;
	text-decoration: none;
	font-weight: bold;
	font-size: 16px;
	background-size: cover;
	background-position: center;
	position: relative; /* ★擬似要素配置のため必須 */
	transition: all 0.3s;
	box-sizing: border-box;
  }
  
  /* 内側枠線 */
.room_navi01 li a::after {
	content: '';
	position: absolute;
	top: 4px;
	left: 4px;
	right: 4px;
	bottom: 4px;
	border: 1px solid rgba(255, 255, 255, 0.5); /* ★ 半透明の白枠 */	pointer-events: none; /* 擬似要素クリック無効にする */
	box-sizing: border-box;
  }

   
  /* 母屋ボタン */
  .room_navi01 li.omoya a {
	background: url(../img/bg_yellow01.png) no-repeat center center;
  }
  
  /* 別邸ボタン */
  .room_navi01 li.bettei a {
	background: url(../img/bg_green01.png) no-repeat center center;
  }
  
  /* ホバー共通 */
  .room_navi01 li a:hover {
	filter: brightness(1.2); /* 明るさを120%にする */
	transition: all 0.3s;
  }
  
  .room_navi01 li a:hover::after {
	border-color: rgba(255, 255, 255, 0.8); /* ★ ホバー時に完全な白に */
  }


  /* 部屋カテゴリ見出し----------- */
  .room_cate {
	text-align: center;
	margin: 60px 0 40px;
	position: relative;
  }
  
  .room_cate h2 {
	font-size: 36px;
	letter-spacing: 0.2em;
	font-weight: 700;
	color: #000; /* ★ 背景が暗いので文字は白に！ */
	margin: 0;
	padding-bottom: 12px;
	position: relative;
	display: inline-block;
  }
  
  /* h2下に金色の細いライン */
  .room_cate h2::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 80px;
	height: 2px;
	background: linear-gradient(to right, #e3c870, #d1b860); /* 金色系グラデーション */
  }
  
  .room_cate h2.bettei {
	font-size: 36px;
	letter-spacing: 0.2em;
	font-weight: 700;
	color: #000; /* ★ 背景が暗いので文字は白に！ */
	margin: 0;
	padding-bottom: 12px;
	position: relative;
	display: inline-block;
  }
  
  /* h2下に金色の細いライン */
  .room_cate h2.bettei::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 80px;
	height: 2px;
	background: linear-gradient(to right, #7a9f53, #9ed365); /* 金色系グラデーション */
  }
  

  /* h3は控えめに、でも品よく */
  .room_cate h3 {
	font-size: 18px;
	color: #ccc; /* ★ h3は少し薄い白にすると上品！ */
	margin-top: 15px;
	letter-spacing: 0.1em;
	font-weight: 400;
  }

  .room_cate p {
	color: #ddd;
	font-size: 15px;
	margin-top: 15px;
	letter-spacing: 0.1em;
	font-weight: 400;
	width: 40%;
	border-top: #222 1px solid;
	padding-top: 15px;
	margin: auto auto 60px auto;
  }
  

/* 部屋ボタンリンク----------- */
.room_navi02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	list-style: none;
	padding: 0;
	margin: 40px 0 120px 0;
  }
  
  .room_navi02 li {
	width: 300px;
  }
  
  .room_navi02 li a {
	display: flex;
	flex-direction: column;
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none;
	color: #000;
	background: linear-gradient(to bottom, rgba(255,255,255,0.05), rgba(0,0,0,0.2)); /* グラデ背景 */
	transition: all 0.3s;
	box-shadow: 0 4px 10px rgba(255,255,255,0.1); /* ★ 白系の光っぽい影 */
  }
  
  .room_navi02 li img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.5s ease;
  }
  
  .room_navi02 li a span {
	display: block;
	width: 100%;
	padding: 12px 0;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	background:url(../img/bg_red01.png) no-repeat center center; /* 背景画像 */
	color: #000;
  }
  
  .room_navi02 li a:hover {
	box-shadow: 0 8px 20px rgba(255,255,255,0.2); /* ★ hover時も白系光を強める */
  }
  
  .room_navi02 li a:hover img {
	transform: scale(1.05);
  }
  
  /* モバイル対応 */
  @media (max-width: 768px) {
	.room_navi02 li {
	  width: 45%;
	}
  }


/* 部屋ボタンリンク02----------- */
.room_navi03 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	list-style: none;
	padding: 0;
	margin: 40px 0 120px 0;
  }
  
  .room_navi03 li {
	width: 280px;
  }
  
  .room_navi03 li a {
	display: flex;
	flex-direction: column;
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none;
	color: #000;
	background: linear-gradient(to bottom, rgba(255,255,255,0.05), rgba(0,0,0,0.2)); /* グラデ背景 */
	transition: all 0.3s;
	box-shadow: 0 4px 10px rgba(255,255,255,0.1); /* ★ 白系の光っぽい影 */
  }
  
  .room_navi03 li img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.5s ease;
  }
  
  .room_navi03 li a span {
	display: block;
	width: 100%;
	padding: 12px 0;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	background:url(../img/bg_green01.png) no-repeat center center; /* 背景画像 */
	color: #000;
  }
  
  .room_navi03 li a:hover {
	box-shadow: 0 8px 20px rgba(255,255,255,0.2); /* ★ hover時も白系光を強める */
  }
  
  .room_navi03 li a:hover img {
	transform: scale(1.05);
  }
  
  /* モバイル対応 */
  @media (max-width: 768px) {
	.room_navi03 li {
	  width: 45%;
	}
  }
  


/* 部屋名----------- */
.room_title {
	text-align: center;
	padding: 25px 0;
	margin: 0 auto 40px auto;
	background: linear-gradient(to bottom, #0e0e0e, transparent); /* 上から下へ淡くグラデーション */
	border-top: 2px solid #e3c870; /* 上に金色ラインで区切り */
	border-bottom: 1px solid #111; 
	position: relative;
  }
  
  .room_title h2 {
	font-size: 32px;
	color: #000;
	font-weight: 700;
	line-height: 100%;
	margin: 0 0 15px 0;
  }
  
  .room_title p {
	font-size: 16px;
	font-weight: 400;
	margin: 0;
  }
  
  /* モバイル対応 */
  @media (max-width: 768px) {
	.room_title {
	  padding: 60px 10px 30px;
	  margin: 40px 0;
	}
  
	.room_title h2 {
	  font-size: 26px;
	}
  
	.room_title p {
	  font-size: 16px;
	}
  }
  
  /* 部屋写真----------- */
  .room_photo {
	width: 100%;
	margin: 0 auto 40px auto;
	padding: 0;
	background: #080808; /* 背景はサイト全体に合わせる（必要なら） */
	overflow: hidden; /* はみ出し防止 */
  }
  
  .room_photo .swiper {
	width: 100%;
  }
  
  .room_photo .swiper-wrapper {
	display: flex;
	align-items: center;
  }
  
  .room_photo .swiper-slide {
	width: auto;
	flex-shrink: 0;
	text-align: center;
  }
  
  .room_photo .swiper-slide img {
	width: auto;
	height: 450px; /* 高さ固定で揃える（必要なら調整OK） */
	max-width: 100%;
	object-fit: cover;
	transition: transform 0.3s;
  }
  
  .room_photo .swiper-slide a {
	display: block;
  }
  
  .room_photo .swiper-slide a:hover img {
	transform: scale(1.05); /* ホバー時にふわっと拡大 */
  }
  
  /* モバイル対応 */
  @media (max-width: 768px) {
	.room_photo .swiper-slide img {
	  height: 250px; /* スマホでは小さく */
	}
  }

  /* 部屋情報----------- */
  .room_info{
	background: #111;
	border: 1px solid #222;
	box-sizing: border-box;
	padding: 25px;
  }
  
  ul.room_info_list{
	margin: 0 0 30px 20px;
	padding: 0;
}

ul.room_info_list li{
	list-style: circle;
	line-height: 1.8;
	margin: 0;
	padding: 0;
}

.room_info p.price{
	width: 350px;
	display: block;
	box-sizing: border-box;
	background: #645d5d;
	margin: 0 0 2px 0;
	padding: 8px 20px;
}

.room_info p.price_text{
	font-size: 14px;
	padding: 0;
	margin: 0 0 30px 10px;
}

.room_reservebtn {
	display: block; /* ← block要素に変更 */
	width: 300px; /* ★ボタンの幅決める（好みで調整OK） */
	margin: 40px auto; /* ← 上下40px、左右自動で中央寄せ */
	padding: 15px 40px;
	background: url(../img/bg_red01.png) no-repeat center center;
	background-size: cover;
	color: #000;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	position: relative; /* ★必須：疑似要素用 */
	transition: all 0.3s;
  }

  
/* 内側枠線を作る */
.room_reservebtn::after {
	content: "";
	position: absolute;
	top: 4px;
	left: 4px;
	right: 4px;
	bottom: 4px;
	border: 1px solid rgba(255, 255, 255, 0.3); /* 白っぽい枠線 */
	pointer-events: none; /* クリックの邪魔をしない */
  }
 
  .room_reservebtn:hover {
	color: #000;
	text-decoration: none;
	filter: brightness(1.2);
  }
  


/* 貸切風呂
----------------------------------------------------- */
.bath_info{
background: #1e2b22;
border: 1px solid #222;
box-sizing: border-box;
padding: 25px;
}

ul.bath_info_list{
margin: 0 0 0 20px;
padding: 0;
}

ul.bath_info_list li{
list-style: circle;
line-height: 1.6;
margin: 0 0 20px 0;
padding: 0;
}

ul.bath_info02_list{
	width: 940px;
	height: auto;
	margin: -80px auto 30px auto;
	padding: 0;
}
	
ul.bath_info02_list li{
list-style: circle;
line-height: 1.6;
border-bottom: 1px dotted #666;
margin: 0;
padding: 10px 0;
}
	
.dayuse{
width: 940px;
height: auto;
text-align: center;
font-size: 14px;
background: #111; 
border-radius: 10px;
box-sizing: border-box;
padding: 25px;
margin: 0 auto 120px auto;
}

.dayuse h3{
	width:40%;
	height: auto;
	text-align: center;
	background: #3d3030; 
	box-sizing: border-box;
	padding: 8px 0;
	margin: 0 auto 20px auto;
	}
	

.onsen_report{
width: 100%;
height: auto;
margin: 0 auto 40px auto;
}

.onsen_info{
	width: 100%;
	font-size: 14px;
	background: #1a1212;
	box-sizing: border-box;
	padding: 25px;
}


	
.onsen_report h5{
	color: #f5e08b;
	font-size: 16px;
	line-height: 100%;
	margin: 0 auto 10px auto;
	}

	.info_row {
		display: flex;
		flex-wrap: wrap;
		padding: 10px 0;
		border-bottom: 1px dotted #666;
	  }
	  
	  .label {
		width: 30%;
		font-weight: bold;
		color: #000;
		box-sizing: border-box;
		padding-right: 10px;
	  }
	  
	  .value {
		width: 70%;
		color: #000;
		box-sizing: border-box;
	  }
	  
	  /* スマホでは縦並びに */
	  @media (max-width: 768px) {
		.label,
		.value {
		  width: 100%;
		  padding-right: 0;
		}
	  
		.label {
		  margin-bottom: 5px;
		}
	  }
	  



/* 宮本家について
----------------------------------------------------- */
.aboutus {
	width: 1200px;
	height: 440px;
	background-image: url(../../about/img/aboutus01.jpg);
	position: relative;
	margin: 0 auto 70px auto;
  }

  .aboutus h2 {
	font-size: 30px;
	font-weight: 500;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 195px;
	left: 0;
  }

  .aboutus p {
	width: 40%;
	font-size: 16px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 255px;
	left: 0px;
  }

    
/* SimpleLightbox
----------------------------------------------------- */
/* 背景だけをぼかし＋暗くする */
.sl-overlay {
	background: rgba(0, 0, 0, 1) !important;
	backdrop-filter: blur(10px);
  }


  /* ご挨拶
----------------------------------------------------- */
.familyhead {
	display: flex;
	gap: 40px;
	max-width: 1200px;
	box-sizing: border-box;
  }
  
  .familyhead_pic {
	width: 50%;
	height: auto;
	object-fit: cover;
	order: 2; /* ← 画像を右側に持ってくる！ */
  }
  
  .familyhead_text {
	width: 50%;
	order: 1;
  }
  
  .familyhead_text h3 {
	font-size: 28px;
	font-weight: 500;
	text-align: center;
	margin: 0 0 20px 0;
  }

  .familyhead_text h4 {
	font-size: 22px;
	font-weight: 500;
	text-align: center;
	margin: 0;
  }
  
  
  .familyhead p {
	line-height: 1.8;
	margin: 0 0 20px 0;
  }


/* 当主紹介セミナー
----------------------------------------------------- */
ul#seminar {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

ul#seminar li {
	width: 32%;
	height: auto;
	float: left;
	list-style: none;
	margin: 0 2% 2% 0;
	padding: 0;
}

ul#seminar li:nth-child(3n) { margin: 0 0 2% 0;}

ul#seminar li img {
	width: 100%;
	height: auto;
}


/* 当主紹介経歴
----------------------------------------------------- */
.fh_pic{
	float: right;
}

table.company_table {
	width: 800px;
	border-collapse: collapse;
	margin: 0;
}

table.company_table th.t_top {border-top: #222 1px dotted;}

table.company_table th {
	background: #111;
	border-bottom: #222 1px dotted;
	padding: 10px;
}

table.company_table td.t_top {border-top: #222 1px dotted;}

table.company_table td {
	border-bottom: #222 1px dotted;
	text-align: left;
	padding: 10px;
}

p.catch_text01{
	color: #92132d;
	font-size: 18px;
	font-weight: bold;
}

/* list04
----------------------------------------------------- */
ul.list04{
	list-style: none;
	margin: 0 auto 0 auto;
	padding: 0;
}

ul.list04 li{
	font-size: 14px;
	text-align: center;
	width: 23.5%;
	height: auto;
	float: left;
	margin: 0 2% 4% 0;
	padding: 0;
}

ul.list04 li img{
	width: 100%;
	height: 200px;
	object-fit: cover;
	margin: 0 0 5px 0;
}

ul.list04 li:nth-child(4n){
	margin: 0 0 4% 0;
}


ul.list04_2{
	list-style: none;
	margin: 0 auto 0 auto;
	padding: 0;
}

ul.list04_2 li{
	font-size: 14px;
	text-align: center;
	width: 23.5%;
	height: auto;
	float: left;
	margin: 0 2% 4% 0;
	padding: 0;
}

ul.list04_2 li img{
	width: 100%;
	height: 300px;
	object-fit: cover;
	margin: 0 0 5px 0;
}

ul.list04_2 li:nth-child(4n){
	margin: 0 0 4% 0;
}

.center_pic{
	text-align: center;
	height: auto;
	margin: 0 auto 100px auto;
	padding: 0;
}



/* 寄贈された横綱
----------------------------------------------------- */
h3.yoko {
	font-size: 25px;
	font-weight: bold;
	margin: 0;
	padding: 0;
}

ul#yoko_pic{
	margin: 0 0 30px 0;
	padding: 0;
}

ul#yoko_pic li{
	width: 49%;
	height: 400px;
	list-style: none;
	float: left;
	margin: 0 2% 2% 0;
	padding: 0;
}

ul#yoko_pic li img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

ul#yoko_pic li:nth-child(2n){
	width: 49%;
	margin: 0 0 2% 0;
}


/* gallery
----------------------------------------------------- */
ul#gallery{
	margin: 0px;
	padding: 0px;
}

ul#gallery li{
	width: 32%;
	height: auto;
	list-style: none;
	float: left;
	margin: 0 2% 4% 0;
	padding: 0;
}

ul#gallery li img{
	width: 100%;
	height: auto;
	margin: 0 0 5px 0;
}

ul#gallery li:nth-child(3n){
	width: 32%;
	margin: 0 0 4% 0;
}


/* 撮影・取材実績
----------------------------------------------------- */
.media_body{
	width: 100%;
	height: auto;
	background: #111;
	box-sizing: border-box;
	margin: 0 0 60px 0;
	padding: 15px;
}

.media_body ul{
	margin: 0 0 0 15px;
	padding: 0;
}

.media_body ul li{
	list-style: circle;
	margin: 0 0 8px 0;
}

.media_body ul li:last-child{
	margin: 0;
}

/* 各種お問い合わせ
----------------------------------------------------- */
.contat_note{
	width: 940px;
	height: auto;
	font-size: 14px;
	text-align: center;
	background: #111;
	box-sizing: border-box;
	margin: 0 auto 120px auto;
	padding: 30px;
}

.contat_note p.title{
	width: 40%;
	height: auto;
	font-size: 14px;
	text-align: center;
	background: #333;
	border-radius: 20px;
	box-sizing: border-box;
	margin: 0 auto 15px auto;
	padding: 5px;
}

.tel_note{
	width: 940px;
	height: auto;
	font-size: 14px;
	text-align: center;
	background: #111;
	box-sizing: border-box;
	margin: 0 auto 120px auto;
	padding: 30px;
}

.tel_note h4{
	font-size: 28px;
	text-align: center;
	line-height: 100%;
	margin: 0 auto;
	padding: 0;
}




/* ブログ用
----------------------------------------------------- */
#blog_area{
	width: 100%;
	margin: 0px 0px 50px 0px;
	padding: 0px;
}

/* blog_main
--------------------- */
.blog_main{
	width: 550px;
	margin: 0px;
	padding: 0px;
	float: left;
}

h2.entry_title{
	width: 100%;
	font-size: 18px;
	line-height: 150%;
	border-top: 3px solid #e3c870;
	border-bottom: 1px dotted #333;
	box-sizing: border-box;
	margin: 0px 0px 20px 0px;
	padding: 13px 0 13px 8px;
}


.entry_body{
	width: 100%;
	line-height: 160%;
	margin: 0;
	padding:0;
}

.entry_body p{
	margin: 0 0 15px 0;
	padding:0;
}

.entry_body p img{
	max-width: 100%;
	height: auto;
}

.entry_body img{
	max-width: 100%;
	height: auto;
}

.aligncenter {margin:auto;}

.aligncenter {text-align:center;}

.entry_info{
	width: 100%;
	color: #888;
	font-size: 11px;
	text-align: right;
	border-top: #333 1px solid;
	margin: 20px 0 35px 0;
	padding: 5px 0 0 0;
}


/* blog_sub
--------------------- */
.blog_sub{
	width: 200px;
	margin: 0px;
	padding: 0px;
	float: right;
}

.side_title {
	width: 200px;
	color: #000;
	text-align: left;
	background: #111;
	border-top: 4px #222 solid;
	box-sizing: border-box;
	margin: 0px 0px 5px 0px;
	padding: 6px;
}

/*-- side_body ----------*/

ul.side_body {
	width: 200px;
	list-style: none;
	margin: 0 0 30px 0;
	padding: 0;
}

ul.side_body li {
	width: 100%;
	font-size: 13px;
	border-bottom: 1px #333 dotted;
	box-sizing: border-box;
	margin: 0;
	padding: 6px;
}


.wp-block-video {
	display: table;
	margin: 0 0 24px 0;
  }
  .wp-block-video__content {
	display: block;
  }
  .wp-block-video__caption {
	display: table-caption;
	caption-side: bottom;
	color: #666;
	font-size: 0.75rem;
	background: #eee;
	margin-top: 8px;
	padding: 8px 12px;
	border-radius: 16px;
  }

.wp-video{
	width: 100%;
	max-width: 550px;
	height: auto;
}

.wp-video-shortcode{
	width: 100%;
	max-width: 550px;
	height: auto;
}

