@charset "utf-8";
/*!
Theme Name: kouzouji
Version: 0.0.1
*/

/* Don't overwrite this file. Compile "/assets/main.scss" to "/assets/dist/main.css" */
/* From http://codex.wordpress.org/CSS */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap');

html { overflow-x: hidden; }
body { 
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	margin: 0;
	overflow: hidden;
	color: #333;
	background-image: url(image/common/body_bg.jpg);
	background-position: top;
}
body.home { 
	width: 100%;
	background-image: url(image/common/body_bg.jpg);
	background-position: top;
    width: 100%;
    position: relative;
}

.video-bg { 
    width: 100%;
	height: 100%;
	position: fixed;
    top: 0;
    left: 0;
	background: rgb(9, 15, 24, .7);
	z-index: -2;
}

body.home video {
    width: 100%;
	height: 100%;
	position: fixed;
    top: 0;
    left: 0;
    object-fit: cover;
	z-index: -3;
}


h1,h2,h3,h4,h5,h6 { margin-bottom: 0!important; }
h1.top-logo {
margin: 0;
padding: 0;
font-size: initial;
font-weight: initial;
color: initial;
line-height: initial;
text-align: initial;
}
#main { margin: 0; padding: 0; }
#single .container,#page .container { max-width: 980px!important; }
img { user-drag: none; -webkit-user-drag: none; -moz-user-select: none; }
.container { max-width: 980px!important; }
.container-full { width: 100vw; position: relative; left: 50%; transform: translateX(-50%); }
.container.single-wrap,.container.archive-wrap { background: rgb(255, 255, 255, 0.5); padding: 30px 15px 60px 15px; min-height: 50vh; margin-top:2.5rem; margin-bottom:2.5rem; }
.row { margin-left: 0; margin-right: 0; }


.single-wrap h2 {
	background-image: url(image/common/h2_head.png), url(image/common/h2_bg.png);
	background-position: left center, center center ;
	background-repeat: no-repeat, no-repeat;
	background-size: auto, auto;
	padding: 8px 8px 8px 24px;
	color: #94252a;
	font-size: 1.8rem;
	margin-bottom: 0.8rem !important;
}
.single-wrap h3 {
	font-size: 1.6rem;
	border-top: 2.5px solid #bb511f;
	border-bottom: 2.5px solid #bb511f;
	background-image: url(image/common/h3_head.png),linear-gradient(180deg,rgba(248, 197, 172, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 247, 242, 1) 100%);
	margin-bottom: 0.8rem !important;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: auto;
	padding: 8px 8px 8px 24px;
	color: #bb511f;
	background-color: #F8C5AC;
	margin-bottom: 0.8rem !important;
}
.single-wrap h4 {
	background-image: url(image/common/h4_head.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	font-size: 1.45rem;
	padding-left: 30px;
	margin-bottom: 0.6rem !important;
}
.single-wrap h5 { margin-bottom: 8px!important; border-bottom: 1px solid #bb511f; padding-bottom: 6px; }
.single-wrap h5::before { font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; color:#bb511f; margin-right: 0.5rem; }
.single-wrap h6 { margin-bottom: 8px!important; background: #bb511f; padding: 2px 8px 4px 8px; color:#fff; border-radius: 25px; display: inline-block; }
.post-date { background: #212f45; color: #fff; border-radius: 25px; padding: 4px 16px; display: inline-block; margin-bottom: 20px; }
.post-date::before { content: '\f133'; font-family: 'Font Awesome 6 Free'; font-weight: 900; padding-right: 6px; }
.content-wrap { margin-bottom: 2.5rem; }
.content-wrap h2,.home h2 {
	background-image: url(image/common/h4_head.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 2.0rem; 
	font-size: 1.6rem;
	letter-spacing: 0.2rem;
	border-bottom: 3px solid #b50a0a;
	padding: 0.3rem 0 0.5rem 2.5rem ;
}

/* 共通パーツ */
.topBtn {
		opacity: 0;
		position: fixed;
		bottom: 50px;
		left: 0;
		background: #212f45;
		color: #fff;
		font-weight: 500;
		padding: 1.8rem;
		z-index: 9999;
}
.topBtn:hover { padding: 1.8rem 1.8rem 1.8rem 2.8rem; transition: 0.8s; }
.font300 { font-weight: 300; }
.font400 { font-weight: 400; }
.font500 { font-weight: 500; }
.font700 { font-weight: 700; }
.fontS { font-size: 75% !important; }
.noto { font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
.yuji { font-family: "Yuji Syuku", serif; font-weight: 400; font-style: normal; }
.fs-6 { font-size: 0.8rem!important; }
.mt-5 { margin-top: 3.0rem; }
.mt-10 { margin-top: 5.0rem; }
.bold { font-weight: 700!important; }
.icon i { margin-right: 4px; }
.w100 { width: 100%; }
.w290 { min-width: 290px; }
.h100 { height: 100%; }
.no-wrap { white-space: nowrap; }
.download-bt a { display: inline-block; color: #fff; background: #dc143c; padding:1.0rem 3.0rem; border-radius: 6px; }
.download-bt a:hover { background: #db8495; transition: 0.8s; color: #dc143c; }
.gyou-1 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
.gyou-2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.gyou-3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.bg-00 { background: #fff; }
.bg-01 { background: #f5f5f5; }
.bg-02 { background: #2e8b57; }
.bg-03 { background: #212f45; }
.bg-04 { background: #dce4ee; }
.bg-05 { background: #bee0ce; }
.bg-06 { background: #bccf54; }
.bg-07 { background: #1e90ff; }
.bg-08 { background: #000; }
.bg-09 { background: #fff5f5; }
.mt-8 { margin-top:3.0rem!important; }
.text-wrap-01 { font-size: 0.9rem; padding: 0.3rem; }
.text-vwrap { line-height: 2.0rem; }
.text-space { letter-spacing: 0.5rem; }
.text-stroke {
 text-shadow:
       2px  2px 1px #fff,
      -2px  2px 1px #fff,
       2px -2px 1px #fff,
      -2px -2px 1px #fff,
       2px  0px 1px #fff,
       0px  2px 1px #fff,
      -2px  0px 1px #fff,
       0px -2px 1px #fff; 
}
.red { color: #dc143c; }
.green { color: #5A7800; }
.white { color: #fff; }
.blue { color: #212f45; }
.black { color: #333; }
.orange { color: #ff6347; }
.img100 { width:100%; height: auto; }
.over-img { overflow: hidden; }
.over-img img { height: 100%; width: 100%; object-fit: cover; }
.v-center { display:flex; align-items:center; }
.vh-center { display:flex; align-items:center; justify-content:center; }
.v-top { vertical-align: top; }
.v-bottom { vertical-align: bottom; }
.full-width { margin: 0 calc(50% - 50vw); }
.zoom-over:hover { transform:scale(1.1,1.1); transition:1s all; }
.shadow { box-shadow: 0 .15rem .5rem rgba(0, 0, 0, .5) !important; }
.t-shadow { text-shadow: 2px 2px #cce9ff; }
.w-shadow { text-shadow: 2px 2px #fff; }
.blur{
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
.border-a { border-left: 6px solid #d8d8d8; padding-left:0.6rem; }
.border-b { border-left: 6px solid #212f45; padding-left:0.6rem; }
.nowrap { white-space: nowrap; }
.not-found { padding: 22% 0; }
.not-found p:first-of-type { font-size: 2.1rem; }
.not-found a { background: #0d6efd; color: #fff; padding: 10px 40px; border-radius: 10px; }
a.pdf:before { content: '\f1c1'; font-family: 'Font Awesome 6 Free'; font-weight: 900; padding-right: 6px; } 
.over-text { overflow: hidden; white-space: nowrap; width: 100%; text-overflow: ellipsis; }
.not-page { min-height: 50vh!important; margin-bottom: 2.5rem; }
.zoom-img { position: relative; }
.zoom-img::after { position: absolute; content: '\f00e'; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: rgb(255, 255, 255, 0.5); bottom: 4px; left: 8px; }
.map-link:before { font-family: "Font Awesome 6 Free"; content: "\f5a0"; font-weight: 700; margin-right:0.3rem; }
.map-link { background: rgb(234, 34, 34); margin-left: 0.5rem; color:#fff; padding: 2px 10px; font-size: 0.8rem; border-radius: 20px; }
.img-caption { font-size: 0.95rem; text-align: center; letter-spacing: 0.15rem; }

.link-bt { position:relative; display: inline-block; background: #212f45; color:#fff; border: 1.5px solid #212f45; border-radius: 6px; text-align: center; padding: 0.6rem 2.4rem 0.6rem 0.6rem; }
.link-bt:after { position: absolute; right: 0.8rem; top: 50%; transform: translateY(-50%); font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; color:rgba(255, 255, 255, .5); font-size: 1.2rem; }
.link-bt:hover { background: #fff; color: #212f45; transition: 0.8s; }
.link-bt:hover:after { color: #212f45; transition: 0.8s; }

.pdf-wrap { text-align: center; }
.pdf-bt { display: inline-block; background: #af1212; color:#fff; border: 1.5px solid #af1212; border-radius: 6px; padding: 0.6rem 2.4rem; }
.pdf-bt:before { font-family: "Font Awesome 6 Free"; content: "\f1c1"; font-weight: 700; font-size: 1.2rem; margin-right: 0.4rem; }
.pdf-bt:hover { background: #fff; color: #af1212; transition: 0.8s; }


.link-bt-nb { display: inline-block; color:#333; }
.link-bt-nb:after { font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; color:#212f45; margin-left:0.5rem; }
.link-bt-nb:hover { color: #212f45; }

.link-img a:hover { filter: brightness(140%); transition: 0.6s; }

/* パンくずリスト */
.breadcrumbs { margin-bottom: 0; }
.breadcrumbs-wrap { padding-top: 15px; }
.breadcrumbs-home { margin-right: 0.6rem; }
ul.breadcrumbs { display: flex; flex-wrap: wrap; list-style: none; padding:0; }
ul.breadcrumbs li:not(:last-child)::after { content: "＞"; margin: 0 .6em; }
ul.breadcrumbs li a { color: #212f45; }

/* ページネーション */
.pagination { display: flex; justify-content: center; margin-top:2.5rem; }
.page-numbers { font-size: 1.3rem; }
a.page-numbers,.page-numbers.current {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background-color: #212f45;
		color: #fff;
		text-align: center;
		font-size: 15px;
		font-weight: bold;
}
.page-numbers.current { background: #d8d8d8; color: #333; }

/* ポストナビゲーション */
.container .post-navigation { padding-bottom: 20px; }
.post-navigation a { font-size: 1.6rem; background: #212f45; color:#fff; border: 2px solid #212f45; padding: 0 1.2rem; border-radius: 6px; }
.post-navigation a:hover { background: #fff; color:#212f45; border: 2px solid #212f45; transition: 0.4s; }


/* ヘッダーナビ */
.navigation { width: 100%; padding: 15px 0; height: 100px; }
.navbar-bt-top,.navbar-bt { z-index:99; }
.navbar-toggler {
		position: relative;
		width: 70px;
		height: 70px;
		background: #212f45;
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 4px solid #fff;
}
.navbar-toggler:focus { outline: none; }
.navbar-toggler .navbar-toggler-icon {
		width: 40px;
		background-image: url('data:image/svg+xml;charset=UTF8,<svg viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"><path stroke="rgba(255, 255, 255, 1)" stroke-width="2" stroke-linecap="round" d="M4 7h22M4 15h22M4 23h22"/></svg>');
}
.navbar-toggler.active .navbar-toggler-icon {
  background-image: url('data:image/svg+xml;charset=UTF8,<svg viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"><path stroke="rgba(255, 255, 255, 1)" stroke-width="2" stroke-linecap="round" d="M7 7l16 16M7 23L23 7"/></svg>');
}
.btn-close { font-size: 1.8rem; margin-top:20px; }
.offcanvas-header { margin-top: 16px; }
.offcanvas { 
	background-image: url(image/common/body_bg.jpg);
	background-position: center;

 }
.offcanvas-body::-webkit-scrollbar { display:none; }
.offcanvas-body { scrollbar-width: none; -ms-overflow-style: none; }
.offcanvas-body li,.offcanvas-body a { color: #fff; font-size: 1.45rem; padding: 0.35rem 0; }
.offcanvas-body a:hover { padding-left: 8px; border-bottom: 2px solid #b50a0a; transition: 0.6s; font-size: 1.6rem; }
.offcanvas-backdrop { height: 100%; }

.menu-wrap { display: flex; justify-content: end; align-items: end; }
.menu-mainmenu-container ul,.menu-footermenu-container ul { display: flex; margin-bottom: 0; flex-wrap: wrap; }
.menu-mainmenu-container li,.menu-footermenu-container li { list-style: none; padding-left: 16px; }
.menu-mainmenu-container a,.menu-footermenu-container a { color: #333; padding-bottom: 4px; }
.menu-mainmenu-container a:hover,.menu-footermenu-container a:hover { border-bottom: 2px solid #b50a0a; }

.offcanvas-body .menu-mainmenu-container ul { display: block; margin-bottom: 0; }

/* ヘッダ */
.hero-wrap { position: relative; height: 100vh;
	background-image: url(image/main_bg.jpg);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}
.container { position: relative; height: 100%; }
.hero-catch { position: absolute; top: 120px; left: 20px; background: rgb(255,255,255,0.8); padding: 10px; }
.hero-catch img { width: 300px; }
.header-logo-wrap { height: 100%; }
.header-logo-wrap h1,.header-logo-inner { height: 100%; display: flex; align-items: center; }
.header-logo-wrap a,.header-logo-inner a { width: 100%; }
.header-logo-wrap a img,.header-logo-inner a img { max-width: 400px; }


/* フロント season */
#season { padding: 40px 0; background: rgb(255, 255, 255, 0.5); }
.season-upper-inner { padding: 30px 0 ; }
.season-bottom-inner { padding-top: 30px; }

/* フロント info */
#info { padding: 40px 0; background-image: url(image/info_bg.png); }
.info-block { display: flex; }
.info-list { width: calc(100% - 340px); padding-right: 20px; }
.info-link-bt { color: #333; }
.info-link-bt:after { font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; color:#b28247; margin-left:0.3rem; }
.info-link-bt:hover { padding-left: 10px; transition: 0.6s; }
.info-thumb { aspect-ratio: 3/2 ;}
.info-thumb img { object-fit: cover; width: 100%; height: 100%; }
.info-item { margin-bottom: 2.0rem; }
.info-date { background: #212f45; color: #fff; border-radius: 25px; padding: 4px 16px; display: inline-block; font-size: 0.9rem; }
.info-title { padding-top: 0.4rem; border-bottom: 1px solid #b28247; padding-bottom: 0.8rem; }
.info-item a { color: #333; }
.info-title a:hover { color: #818181; }
.info-title:hover { padding-left: 20px; transition: 0.6s; }
.info-empty { text-align: center; padding: 15% 0; }
.facebook { min-width: 340px; height: 380px; background: #fff; padding: 10px 10px 0px 10px; border-radius: 8px; }
.facebook iframe { width: 100%; border-radius: 8px; }
.sns-wrap img { width: 50px; margin-left: 0.3rem; margin-right: 0.3rem; }

/* フロント 観光バナー */
#kankou { padding: 40px 0; background: rgb(255, 255, 255, 0.5); }


/* 固定ページヘッダー&見出し */
.page-head-title { height: 350px; }
.page-head-title .container { display: flex; justify-content: center; align-items: center; }
.page-head-title h1 {
	position: relative;
	display: inline-block;
	font-size: 2.0rem;
	font-weight: 500;
	color: #000;
	background: rgb(255,255,255,0.8);
	letter-spacing: 0.25rem;
	padding: 15px 60px;
}

.page-head-title { 
	width: 100%;
	background-image: url(image/main_bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.page-head-wrap .single-title h1 { font-size: 1.8rem; }

.catimg-wrap { text-align: center; }
.catimg-wrap img { max-width: 600px; }

.content-page .title-wrap h3{ border-bottom: 3px solid #212f45; padding: 0 0 0.5rem 0; margin:0; }
.content-page .title-sub { font-size: 1.6rem; font-weight: 700; color: #ff6347; font-style: italic; }
.content-page .title-body { background: #212f45; padding: 2.0rem; color: #fff; }
.intro-wrap {
	background-image: url(image/common/bg_decration.png),url(image/common/bg_decration.png);
	background-position: left 0 top 10%, right 0 bottom 10%;
	background-size: 40%, 40%;
	background-repeat: no-repeat, no-repeat;
	padding: 3.0rem 0;
}
.intro {
		font-family: "Yuji Syuku", serif; font-weight: 400; font-style: normal;
		font-size: 2.0rem;
		text-align: center;
}
.body-text { line-height: 2.5rem; margin: 2.0rem 0; }

/* 投稿ページ */
.custom-block:not(:first-child) { margin-top: 1.5rem; }
.post-img {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #000;
}

/* フロントmap */
.gmap { width: 100%; height: 400px; position: relative; padding: 0; overflow: hidden; }
.gmap iframe { height: calc(100% + 400px); width: 100%; margin-top: -200px; vertical-align: bottom; filter: grayscale(.5); }
.gmap p { position: absolute; top: 0; right: 0; background: #b50a0a; color: #fff; padding: 6px 16px; }

/* 歴史・沿革ページ */
.history-caption { margin: 3.0rem 0; }
.history-caption .title { font-size: 2.0rem; margin-bottom: 2.0rem; }

/* 境内案内 */
.keidaimap { position: relative; }
.bt-01,.bt-02,.bt-03,.bt-04,.bt-05,.bt-06,.bt-07,.bt-08,.bt-09,.bt-10,.bt-11,.bt-12,.bt-13,.bt-14,.bt-15
{
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto; font-weight: 400;
		font-style: normal;
		color:#fff;
		border-radius: 25px;
		display: inline-block;
		position:absolute;
		background: #b81649;
		font-size: 1.3rem;
		padding: 0 8px;
}
.bt-01 { top:6%; left: 53%; }
.bt-02 { top:16%; left: 49%; }
.bt-03 { top:16%; left: 38%; font-size: 1.5rem; padding: 0 12px; }
.bt-04 { top:21%; left: 49%; }
.bt-05 { top:35%; left: 39%; }
.bt-06 { top:50%; left: 49%; }
.bt-07 { top:50%; left: 30%; font-size: 1.5rem; padding: 0 12px; }
.bt-08 { top:56%; left: 50%; }
.bt-09 { top:60%; left: 28%; font-size: 1.1rem; background: #00a3a3; }
.bt-10 { top:67%; left: 53%; font-size: 1.1rem; background: #00a3a3; }
.bt-11 { top:70%; left: 35%; }
.bt-12 { top:75%; left: 53%; }
.bt-13 { top:77%; left: 33%; font-size: 1.1rem; background: #00a3a3; }
.bt-14 { top:83%; left: 45.5%; }
.bt-15 { top:86%; left: 55%; }
.bt-01:hover,.bt-02:hover,.bt-03:hover,.bt-04:hover,.bt-05:hover,.bt-06:hover,
.bt-07:hover,.bt-08:hover,.bt-09:hover,.bt-10:hover,.bt-11:hover,.bt-12:hover,
.bt-13:hover,.bt-14:hover,.bt-15:hover{ filter: saturate(200%); }

@media screen and (max-width: 769px) {
.bt-01 { top:6%; left: 59%; }
.bt-02 { top:16%; left: 55%; }
.bt-03 { top:16%; left: 44%; font-size: 1.5rem; padding: 0 12px; }
.bt-04 { top:21%; left: 54%; }
.bt-05 { top:35%; left: 45%; }
.bt-06 { top:50%; left: 55%; }
.bt-07 { top:50%; left: 36%; font-size: 1.5rem; padding: 0 12px; }
.bt-08 { top:56%; left: 56%; }
.bt-09 { top:60%; left: 34%; font-size: 1.1rem; background: #00a3a3; }
.bt-10 { top:67%; left: 59%; font-size: 1.1rem; background: #00a3a3; }
.bt-11 { top:70%; left: 41%; }
.bt-12 { top:75%; left: 59%; }
.bt-13 { top:77%; left: 39%; font-size: 1.1rem; background: #00a3a3; }
.bt-14 { top:83%; left: 51.5%; }
.bt-15 { top:86%; left: 61%; }
}
@media screen and (max-width: 634px) {
.bt-01,.bt-02,.bt-03,.bt-04,.bt-05,.bt-06,.bt-07,.bt-08,.bt-09,.bt-10,.bt-11,.bt-12,.bt-13,.bt-14,.bt-15 { font-size: 1.0rem; }
.bt-03 { top:16%; left: 44%; font-size: 1.15rem; }
.bt-05 { top:35%; left: 43%; }
.bt-07 { top:50%; left: 33%; font-size: 1.15rem; }
.bt-09 { top:60%; left: 32%; font-size: 0.9rem; }
.bt-11 { top:70%; left: 38%; }
.bt-13 { top:77%; left: 39%; font-size: 0.9rem; }
.bt-14 { top:83%; left: 51.5%; }
.bt-15 { top:86%; left: 61%; }
}
@media screen and (max-width: 451px) {
.bt-03 { top:16%; left: 42%; }
.bt-07 { top:50%; left: 30%; }
.bt-09 { top:60%; left: 29%; }
.bt-13 { top:77%; left: 36%; font-size: 0.9rem; }
}

.modal-open,.modal { padding-right: 0px !important; }
.modal { max-height: auto; overflow-y: auto; }
.modal::-webkit-scrollbar { display: none; /* Chrome, Safari, Opera */ }
.modal { -ms-overflow-style: none;  /* IE and Edge */ scrollbar-width: none;  /* Firefox */ }
.modal.show .modal-dialog { padding: 15px; }
.modal-header { padding: 15px 15px 0 15px; border-bottom: none; }
.modal-title { margin: 0; letter-spacing: 0.25rem; }
.modal-body p { margin-bottom: 0; margin-top: 15px; font-size: 1.35rem; font-weight: 700; }
.modal-dialog { max-width: 560px; margin-left: auto; margin-right: auto; }
.modal-backdrop { width: 100%; height: 100%; }
.precinct-content { margin-top: 3.0rem; }
.precinct-content h3 { background: none; border-top: none; letter-spacing: .4rem; }
.precinct-body { line-height: 2.5rem; margin: 2.5rem 0; }


/* アクセスページ */
.train-icon ,.car-icon { display: inline-block; font-size: 1.1rem; background: #ccddee; padding: 0.4rem 1.5rem; border-radius: 25px; }
.train-icon::before{ font-family: "Font Awesome 6 Free"; content: "\f238"; font-weight: 700; margin-right:0.3rem; }
.car-icon::before{ font-family: "Font Awesome 6 Free"; content: "\f5de"; font-weight: 700; margin-right:0.3rem; }
.access-rute img { margin-bottom: 1.6rem; }
.access-inner { background: #eae5da; height: 100%; padding: 15px; font-size: 0.9rem; }
.access-inner h3 { display:block; background: none; font-size: 1.1rem; color:#333; border-bottom: 1px solid #a0968c; padding-bottom: 0.3rem; }
.access-inner p { padding-top: 1rem; }
.access-inner .map-link { display: inline-block; }
/* .access-inner p:last-child { margin-top: 1rem; border-top: 1px solid #a0968c; } */
.sub-info { background: #f9e5e8; padding: 20px; }


/* 四季のギャラリー */
#season-gallery-1 .gallery-info { background: #fff5f7; }
#season-gallery-2 .gallery-info { background: #e8fff3; }
#season-gallery-3 .gallery-info { background: #ffefdd; }
#season-gallery-4 .gallery-info { background: #eaf3ff; }
.season-gallery:not(:first-child) { margin-top: 3.0rem; }
.gallery-head { position: relative; }
#season-gallery-1 .gallery-head h2 { color: #ff91bd; }
#season-gallery-2 .gallery-head h2 { color: #1d9e0f; }
#season-gallery-3 .gallery-head h2 { color: #ff7139; }
#season-gallery-4 .gallery-head h2 { color: #5faaff; }
.gallery-head h2 { position: absolute; bottom: 20px;  padding: 0.3rem 1.5rem 0.6rem; letter-spacing: 0.2rem; background: #fff; }
.gallery-head h2::first-letter { font-size: 2.4rem; }
.gallery-info { padding: 1.24rem ; }
.gallery-info p { margin-bottom: 0; padding: 10px; font-weight: 700; text-align: start; }
/* .gallery-img { padding: 15px; padding-top: 0; } */
.gallery-img-wrap { width: 100%; height: 100%; overflow: hidden; position: relative; }
.gallery-img-wrap p { position: absolute; bottom: 0; background: rgb(0, 0, 0,0.5); color: #fff; width: 100%; padding: 4px; font-size: 0.8rem; text-align: center; }
.gallery-img-wrap img { width: 100%; height: 100%; aspect-ratio: 3/2.2; object-fit: cover; }
.gallery-img-wrap img:hover { transform:scale(1.2,1.2); transition: 0.8s; }
.click-caption { display: inline-block; font-size: 0.8rem; font-weight: 700; margin-top:0.8rem; border:1px solid #333; padding: 4px 20px; border-radius: 25px; }
.hr-icon { max-width: 80px; margin-top: 2.0rem; }
#season-gallery-4 .gallery-hr { display: none; }
.gallery-body { position: relative; }
.more-bt { position: absolute;
	width: 100%;
	padding: 80px 0 50px 0;
	bottom: 0; 
	background: #FFF;
	background: linear-gradient(180deg,rgba(248, 247, 235, 0) 0%, rgba(248, 247, 235, 0.5) 15%, rgba(248, 247, 235, 1) 100%);
}
.more-bt a { display:inline-block; color: #333; border :none; padding: 6px 20px; font-weight: 700; }
.more-bt img { max-width: 100px; }

/* Lightbox ORG */
.img-lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.img-lightbox-overlay img {
  max-width: 90%;
  max-height: 90%;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  border-radius: 4px;
}
.img-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 3rem;
  color: white;
  cursor: pointer;
  user-select: none;
  padding: 0 1rem;
}
.img-lightbox-nav.left { left: 0; }
.img-lightbox-nav.right { right: 0; }

/* 観光プランページ */
table.tourist { width: 100%; }
table.tourist tr { border-bottom: 2px solid #fff; }
table.tourist th { padding: 8px; background: rgba(234, 64, 64, 0.5); text-align: center; border-right: 2px solid #fff; }
table.tourist td { padding: 8px; background: rgb(181, 10, 10, 0.2); }

/* 桜楓苑ページ */
#oufuen { margin-top: 2.5rem; margin-bottom: 2.5rem; }
#oufuen h2 { background: none; padding-left: 0; text-align: center; font-size: 2.2rem; font-weight: 900; }
#oufuen h3 { color: #b50a0a; text-align: center; font-size: 2.0rem; font-weight: 900; margin-top: 1.0rem; }
.oufuen-block-1 { margin: 1.5rem 0; font-size: 1.25rem; font-weight: 600; } 
.oufuen-block-2 { margin: 1.5rem 0; font-size: 1.2rem; font-weight: 600; border:2px solid #b50a0a; } 
.oufuen-block-2-head { background: #b50a0a; color: #fff; padding: 0.6rem; }
.oufuen-block-3 table { width:100%; font-size: 0.95rem; font-weight: 400; }
.oufuen-block-3 table th { background: #ffd3d3; border: 1px solid #fff; padding: 4px; }
.oufuen-block-3 table td { background: #d8d8d8; border: 1px solid #fff; text-align: right; padding: 4px; }
.oufuen-block-3 p { background: none; color: #333; font-size: 0.95rem; padding: 4px; }
.oufuen-block-4 { text-align: center; }
.oufuen-block-4 .oufuen-contact p { font-size: 1.8rem; text-align: left; font-weight: 700; }
.oufuen-block-4 .oufuen-contact p:first-child { font-size: 1.0rem; text-align: center; display: inline-block; background: #489537; color:#fff; border-radius: 20px; padding: 1.2rem; margin-right: 15px; }


/* アーカイブページ */
.year-select { background: rgba(3,110,184,0.1); height: 100%; padding: 1.5rem 1.0rem; }
.year-select p { font-size: 1.2rem; font-weight: 500; color: #212f45; padding-right: 0.4rem; }
.year-select p:before { font-family: "Font Awesome 6 Free"; content: "\f073"; font-weight: 700; color:#212f45; margin-right:0.2rem; }
.year-select ul { padding: 0; }
.year-select li { list-style: none; }
.year-select li a { color: #212f45; font-size: 1.1rem; }
.year-select li a:before { font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; color:#212f45; margin-right:0.2rem; }
.year-select li a:hover { padding-left: 10px; transition: 0.6s; }
.year-selector { padding: 8px 12px; }
.archive-wrap { margin-top: 2.5rem; margin-bottom: 2.5rem; }
.archive-inner { background: rgb(255, 255, 255, 0.5) }
.archive-item { border-bottom: 2px dotted #212f45; padding: 0.9rem 1.1rem; }
.archive-item a { display: inline-block; color: #333; }
.archive-item a:hover { padding-left: 10px; color: #212f45; transition: 0.6s; }
.archive-item h2 { font-size: 1.1rem; margin-bottom: 0; }
.archive-item h2:before { font-family: "Font Awesome 6 Free"; content: "\f054"; font-weight: 700; color:#333; margin-right:0.2rem; }
.archive-item h2:hover:before { color: #212f45; }
.archive-date { background: #212f45; color: #fff; border-radius: 25px; padding: 4px 16px; display: inline-block; }

/* フォーム共通 */
.contact-form-head { text-align: center; }
.contact-form-head p:first-child { font-size: 1.2rem; font-weight: 500; }
.contact-number { font-size: 1.2rem; font-weight: 700; color:#212f45; }
.contact-number i { margin-right:0.3rem; }

.form80 { width: 79.3%; }
.form50 { width: 49.3%; }
.form30 { width: 30.5%; }
.form20 { width: 20.0%; }
.form10 { width: 10.5%; }
.form-entry-item { border: none; pointer-events : none; width:100%; }
.form-section:first-child { border-top: 1px solid #d8d8d8; }
.form-section { background: #f5f5f5; border-bottom: 1px solid #d8d8d8; }
.form-section .error { display:block !important; }
.req { font-size: 0.6rem; padding: 3px 5px; background: red; color: #fff; border-radius: 4px; margin-left : 6px; vertical-align: middle; }
.form-head { padding: 0.8rem; }
.form-body { background: #fff; padding: 1.2rem 0.8rem; }
.form-head p,.form-body p { margin: 0; }
.form-control::placeholder { color: #a9a9a9; }
.mwform-checkbox-field-text { margin-right: 1.2rem; }
p.form-area { font-weight:normal; margin: 0.5rem 0 0.5rem 0; }
.form-control { border:2.0px solid #c0c0c0; }
.form-link a { text-decoration: underline; }
.send-check { margin-right: 1.5rem; }
.form-error-ex span::before { content: "※"; }
.form-error-ex span.mwform-file-delete::before { content: ""; }
.mw_wp_form_confirm .msg-hidden { display: none; }
.hidden-height { min-height: 1.4rem; }

#autozip { display: none!important; }
.back-bt { color: #fff; background: #008080; padding:1.0rem 1.0rem; margin-top:1.0rem; border:none; border-radius: 6px; }
.back-bt:hover { background: #8fb3b3; transition: 0.8s; color: #008080; }
.send-bt { color: #fff; background: #dc143c; padding:1.0rem 1.0rem; margin-top:1.0rem; border:none; border-radius: 6px; }
.send-bt:hover { background: #db8495; transition: 0.8s; color: #dc143c; }
.thanks { padding: 10% 0; }
.thanks a { background: #0d6efd; color: #fff; padding: 10px 40px; border-radius: 10px; }

/* ポリシーページ */
.policy-head { background: #212f45; padding: 2.0rem; color: #fff; }
.policy-title { margin-top: 1.5rem; font-weight: 700; color:#212f45; }
.policy-body { padding-left: 1.0rem; }
.policy-list { margin: 1.0rem 0; }
.policy-list li { margin-bottom: 0.3rem; }
.policy-add { margin-top: 5.0rem; }

/* サイトマップページ */
ul.wsp-pages-list ,ul.wsp-archives-list { marign: 0; padding-left: 0; }
.wsp-pages-list li ,ul.wsp-archives-list li { list-style: none; }

/* フッター */
#footer { background: none; }
.footer-inner { padding: 0; }
.bunner-wrap { background: rgb(234, 229, 218); padding: 40px 0; }
.self-bunner { display: flex; justify-content: center; margin-top: 30px; }
.self-bunner p { padding-left: 10px; }
.end-wrap { padding: 30px 0; background:rgb(255, 255, 255, 0.5); }
.footer-logo-wrap { margin: 40px 0; text-align: center; }
.tel-number { font-size: 1.7rem; font-weight: bold; }
.tel-number p { display: inline-block; margin-bottom: 0; baseline: bottom; }
.tel-icon { font-size: 1.0rem; background: #b50a0a; padding: 0.2rem 0.8rem; border-radius: 8px; margin-right: 0.2rem; color: #fff; }
.copyright { background: #eae5da; padding: 1.0rem 15px; text-align: center; }


/* SP調整 */
@media screen and (max-width: 991px) {
html { zoom: 90%; }

}

@media screen and (max-width: 769px) {
html { zoom: 80%; }
.menu-footermenu-container ul { padding-left: 0; }
.menu-footermenu-container li { padding-left: 0; padding: 4px; }
.menu-footermenu-container a { line-height: 2.4rem; border: 1px solid #333; padding:6px 16px; border-radius: 6px; margin: 2px; }
.menu-footermenu-container a:hover { border-bottom: none; background: #b50a0a; border: 1px solid #b50a0a; color:#fff; } 
.hero-catch img { width: 230px; }
.info-list { width: 100%; padding-right: 0; }
.intro { font-size: 1.5rem; }
.precinct-content { margin-top: 2.0rem; }
.body-text { line-height: 1.8rem; margin: 1.6rem 0; }
.tel-number { font-size: 1.6rem; }
#oufuen h2 { font-size: 1.6rem; }
#oufuen h3 { font-size: 1.40rem; }
.oufuen-block-4 .oufuen-contact p { font-size: 1.4rem; }
.oufuen-block-4 .oufuen-contact p:first-child { padding: 0.85rem; }
}

@media screen and (max-width: 575px) {
.intro { font-size: 1.5rem; }
}

@media screen and (max-width: 450px) {
.intro { font-size: 1.2rem; }
}

@media screen and (min-width: 576px) {
.xs-br { display:none; }
}