@charset "utf-8";



/* font ******************************************************************************************************************************** */
@font-face {
  font-family: "Shippori Mincho";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/ShipporiMincho-Regular.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Shippori Mincho";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/ShipporiMincho-Bold.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Libre Baskerville";
  font-style: normal;
  font-weight: 100 900;
  src: url("../fonts/LibreBaskerville-VariableFont_wght.woff2") format("woff2");
  font-display: swap;
}



/* common ******************************************************************************************************************************** */
:root {
  --colorText: #444;
  --colorGold: #c59d62;
  --colorTBlue: #95cac5;
	--colorLineGreen: #06c755;
  --colorKyoto: #d88;
  --colorShiga: #7ac;
  --textShadow: 0 .125em .375em #0006;
  --lowerH1Bg: ;
}
*,::before,::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  font-size: calc(10vw / 14);
  color: var(--colorText);
  scroll-behavior: smooth;
}
body {
  font-family: "Libre Baskerville", "Shippori Mincho", serif;
  font-size: 1.6em;
  line-height: 1;
  text-align: justify;
}
.fontLibre {
  font-family: "Libre Baskerville", serif;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 1em;
  font-weight: 400;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}
a {
  color: inherit;
  font: inherit;
  text-decoration: none;
}
a[href^="tel:"] {
  pointer-events: none;
  cursor: default;
}
br.pc {
  display: inline;
}
br.sp,br.tb {
  display: none;
}
.atmk::before {
  content: '@';
}
.btn button,
.btn button.push:hover {
  appearance: none;
  font: inherit;
  border: none;
  background: var(--colorTBlue);
  color: #fff;
  font-weight: 700;
  padding: .5em 1em;
  border-radius: .375em;
  display: flex;
  gap: .5em;
  margin: 0 auto;
  cursor: pointer;
  box-shadow: none;
  translate: 0 0;
  transition: .5s;
}
.btn button::before,
.btn button.push:hover::before {
  content: '';
  display: block;
  border-left: 1em solid #fff;
  border-top: .5em solid transparent;
  border-bottom: .5em solid transparent;
  transition: .5s;
}
.btn button.push::before {
  rotate: 90deg;
}
.btn button:hover,
.btn button.push {
  background: var(--colorGold);
  color: #000;
  box-shadow: 0 .125em .375em #0004;
  translate: 0 -.25em;
}
.btn button:hover::before,
.btn button.push::before {
  border-left-color: #000;
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
  html {
    font-size: calc(10vw / 10);
  }
  br.pc {
    display: none;
  }
  br.tb {
    display: inline;
  }
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  html {
    font-size: calc(10vw / 4.8);
  }
  br.tb {
    display: none;
  }
  br.sp {
    display: inline;
  }
  a[href^="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
}



/* .opening 	*****************************************************************************************************/
@keyframes openFrameout {
	100% {
		left: 100%;
	}
}
.opening {
	display: flex;
    display: none;
	justify-content: center;
	align-items: center;
	width: 100%;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 9999999;
	animation: openFrameout 1s 7s cubic-bezier(.5,0,1,.5) both;
}
@keyframes openBefore {
	100% {
		left: 0;
	}
}
.opening::before {
	content: '';
	display: block;
	width: 200%;
	height: 100%;
	background: linear-gradient(90deg,transparent,#fff 50%);
	position: absolute;
	top: 0;
	left: -100%;
	animation: openBefore 2s 6s ease-in both;
}
@keyframes openFadeout {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
.opening dl {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 2em;
	animation: openFadeout 1s 8s linear both;
}
@keyframes openFadein {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.opening dl dt {
	width: 25vw;
	animation: openFadein 2s 1s linear both;
}
.opening dl dt img {
	width: 100%;
}
.opening dl dd {
	text-align: center;
	line-height: 2.25;
	font-size: 1.5vw;
	animation: openFadein 2s 2.5s ease-in-out both;
}
.opening dl dd:nth-of-type(1) {
	font-size: 1.25em;
	font-weight: bold;
}
@media (max-width: 768px) {
	.opening dl dt {
		width: 50vw;
	}
	.opening dl dd {
		font-size: 3vw;
	}
}
@media (max-width: 450px) {
	.opening dl dt {
		width: 70vw;
	}
	.opening dl dd {
		font-size: 4vw;
	}
}



/* .comHeader ******************************************************************************************************************************** */
.comHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1em 3.75%;
  border-bottom: 1px solid var(--colorGold);
  position: sticky;
  inset: 0 0 auto 0;
  z-index: 9999;
}
.comHeader.small {
  padding: .5em 3.75%;
}
.comHeader::before {
  content: '';
  display: block;
  background: linear-gradient(180deg, #fff, #fffc);
  backdrop-filter: blur(.25em);
  position: absolute;
  inset: 0 0 0 0;
  z-index: -1;
}
.comHeader .logo {
  font-size: 1em;
  height: 3.5em;
  transition: .5s;
}
.comHeader.small .logo {
  height: 3em;
}
.comHeader .logo img {
  height: 100%;
  object-fit: contain;
}
.comHeader .telNum {
  list-style: none;
  color: var(--colorTBlue);
  display: flex;
  align-items: center;
  gap: 1.5em;
  margin-top: 1em;
}
.comHeader .telNum li dl {
  display: flex;
  align-items: center;
  gap: .375em;
}
.comHeader .telNum li dl dt {
  font-size: .875em;
}
.comHeader .telNum li dl dd {
  display: flex;
  align-items: center;
}
.comHeader .telNum li dl dd::before {
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-weight: 900;
  font-size: 1.125em;
  margin-right: .125em;
}
.comHeader .telNum li:nth-child(1) dl dd::before {
  content: '\f095';
}
.comHeader .telNum li:nth-child(2) dl dd::before {
  content: '\f3cd';
}
.comHeader .send {
  list-style: none;
  display: flex;
  gap: .5em;
  transition: .5s;
}
.comHeader.small .send {
  font-size: .75em;
}
.comHeader .send li.icon {
  color: #fff;
}
.comHeader .send li.icon a {
  display: flex;
  flex-flow: column;
  justify-content: space-evenly;
  align-items: center;
  background: var(--colorGold);
  width: 4em;
  aspect-ratio: 1/1;
  border-radius: .75em;
}
.comHeader .send li.icon a::before {
  display: block;
  width: 100%;
  text-align: center;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 2em;
  margin-top: .0625em;
}
.comHeader .send li.icon.res a::before {
  content: "\f54f";
}
.comHeader .send li.icon.doc a::before {
  content: "\f15c";
}
.comHeader .send li.icon.ask a::before {
  content: "\f328";
}
.comHeader .send li.icon a span {
  font-size: .6875em;
}
.comHeader .send li.sns a {
  display: block;
  width: 4em;
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
  .comHeader .logo {
    width: 30%;
  }
  .comHeader .telNum {
    flex-flow: column;
    align-items: flex-start;
    gap: .5em;
    margin-top: .5em;
  }
  .comHeader .send {
    font-size: .875em;
  }
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  .comHeader {
    padding: .75em 5%;
    transition: .5s;
  }
  .front .comHeader {
    position: fixed;
  }
  .front .comHeader.out {
    border-bottom-color: transparent;
  }
  .comHeader::before {
    backdrop-filter: blur(.125em);
    transition: .5s;
  }
  .comHeader .logo {
    width: 50%;
    transition: .5s;
  }
  .front .comHeader.out::before,
  .front .comHeader.out .logo {
    opacity: 0;
  }
  .comHeader .telNum {
    margin-top: 0;
    position: fixed;
    inset: 20% 0 auto auto;
    z-index: 10000;
    transition: .5s;
  }
  .comHeader .telNum.out {
    translate: 100% 0;
  }
  .comHeader .telNum li dl dt {
    display: none;
  }
  .comHeader .telNum li dl dd {
    flex-flow: column;
    gap: .5em;
    background: var(--colorTBlue);
    border-radius: .5em 0 0 .5em;
    color: #fff;
    padding: .75em .625em .75em .5em;
    letter-spacing: .125em;
    box-shadow: 0 .125em .25em #0006;
  }
  .comHeader .telNum li dl dd::before {
    margin-right: -.3125em;
  }
  .comHeader .telNum li dl dd a {
    writing-mode: vertical-rl;
  }
  .comHeader .send {
    gap: 1em 0;
    flex-flow: row wrap-reverse;
    justify-content: center;
    position: fixed;
    inset: auto 0 0 0;
    z-index: 10000;
    transition: .5s;
  }
  .comHeader .send.out {
    translate: 0 100%;
  }
  .comHeader .send li.icon {
    width: calc(100% / 3);
    aspect-ratio: 8/3;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
  }
  .comHeader .send li.icon:first-child {
    border-left: none;
  }
  .comHeader .send li.icon a {
    flex-flow: row;
    width: 100%;
    height: 100%;
    border-radius: 0;
    padding: 0 5%;
  }
  .comHeader .send li.icon a::before {
    width: auto;
    font-size: 2.75em;
    margin-top: 0;
  }
  .comHeader .send li.icon a span {
    font-size: 1em;
  }
  .comHeader .send li.sns {
    margin: 0 .5em;
  }
  .comHeader .send li.sns a {
    width: 3em;
  }
}



/* .front .fv ******************************************************************************************************************************** */
.front .fv {
  position: relative;
    overflow: hidden;
}
.front .fv .phrase {
  display: none;
}
.front .fv .slider {
  width: 100%;
  aspect-ratio: 8/3;
  overflow: hidden;
}
.front .fv .slider .slick-list .slick-track .slick-slide {
  position: relative;
}
.slick-slide img {
  width: 100%;
}
.front .fv .slider .slick-list .slick-track .slick-slide>span {
  color: #fff;
  font-size: .875em;
  padding: 0.375em 2.5em .375em .5em;
  background: linear-gradient(90deg, #c59d62c0 85%, transparent);
  text-shadow: 0 .125em .25em #0006;
  position: absolute;
  inset: 0 auto auto 0;
}
.front .fv .produced {
  background: rgba(0,0,0,0.4);
  color: #fff;
  font-size: 0.7em;
  font-style: italic;
  padding: 0.5em 1em;
  border-radius: 1em 0 0 0;
  position: absolute;
  inset: auto 0 0 auto;
  z-index: 1;
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  .front .fv {
    width: 100%;
    height: 100vh;
  }
  .front .fv .phrase {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 10%;
    background: var(--colorGold);
    text-align: center;
    position: fixed;
    inset: 0 0 0 0;
    z-index: 2;
    animation: opening 1s 1.5s linear both;
  }
  @keyframes opening {
    0% {
      opacity: 1;
    }
    99% {
      opacity: 0;
      z-index: 2;
    }
    100% {
      opacity: 0;
      z-index: -9999;
    }
  }
  .front .fv .phrase dt {
    width: 100%;
    aspect-ratio: 60/11;
    /* filter: drop-shadow(0 .125em .25em #0009) drop-shadow(0 .125em .25em #0009) drop-shadow(0 .125em .5em #0009); */
  }
  .front .fv .phrase dd {
    color: #fff;
    letter-spacing: .125em;
    /* text-shadow: 0 .125em .25em #0006, 0 .125em .25em #0006; */
    position: relative;
  }
  .front .fv .phrase dd::before {
    content: '';
    display: block;
    background: radial-gradient(closest-side,var(--colorGold),transparent);
    position: absolute;
    inset: -1em -4em;
    z-index: -1;
  }
  .front .fv .phrase dd:nth-of-type(1) {
    font-size: 1.375em;
    font-weight: 700;
    margin-top: 1.5em;
  }
  .front .fv .phrase dd:nth-of-type(2) {
    font-size: 1.125em;
    line-height: 1.375;
    margin-top: 1em;
  }
  .front .fv .slider {
    aspect-ratio: auto;
    position: absolute;
    inset: 0 auto auto 0;
  }
  .front .fv .slider,
  .front .fv .slider .slick-list,
  .front .fv .slider .slick-list .slick-track {
    height: 100%;
  }
  .front .fv .slider .slick-list .slick-track .slick-slide>span {
    font-size: 1.25em;
    padding: 0.75em 2.5em .75em 1em;
  }
  .front .fv .slider .slick-list .slick-track .slick-slide picture {
    height: 100%;
  }
  .front .fv .slider .slick-list .slick-track .slick-slide picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}



/* .pages .fv ******************************************************************************************************************************** */
h1.fv {
  width: 100%;
  aspect-ratio: 5/1;
  display: flex;
  justify-content: center;
  align-items: center;
	position: relative;
}
h1.fv::before,
h1.fv::after {
	content: '';
	display: block;
	position: absolute;
	background: no-repeat center/cover;
}
.pages.index h1.fv::before {
	inset: 0 50% 0 0;
}
.pages.index h1.fv::after {
	inset: 0 0 0 50%;
}
.pages.venue.index h1.fv::before {
	background-image: url(../images/_common/img_omijingu.webp);
}
.pages.venue.index h1.fv::after {
	background-image: url(../images/_common/img_bianca.webp);
}
.pages.lower h1.fv::before {
	inset: 0 0 0 0;
  background-image: var(--lowerH1Bg);
}
.pages.lower h1.fv::after {
  display: none;
}
h1.fv span {
  color: #fff;
  font-size: 1.75em;
  letter-spacing: .25em;
  margin-left: .125em;
  position: relative;
  z-index: 1;
}
h1.fv span::before {
  content: '';
  display: block;
  background: radial-gradient(closest-side,var(--colorGold) 25%,transparent);
  width: 350%;
  aspect-ratio: 7/2;
  position: absolute;
  inset: 50% auto auto 50%;
  z-index: -1;
  translate: -50% -50%;
}
.pages.lower h1.fv+img {
  display: none;
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
  h1.fv {
    aspect-ratio: 3/1;
  }
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
	h1.fv {
		aspect-ratio: 4/3;
	}
  h1.fv span {
    font-size: 1.5em;
    letter-spacing: .125em;
    margin-left: .0625em;
		margin-bottom: 30%;
  }
  h1.fv span::before {
    background: radial-gradient(closest-side,var(--colorGold) 40%,transparent);
    width: 250%;
    aspect-ratio: 3/1;
  }
}



/* .global ******************************************************************************************************************************** */
.global {
  display: flex;
  flex-flow: column;
  justify-content: center;
  position: sticky;
  top: 4em;
  z-index: 9999;
  transition: .5s;
}
.global .nav {
  list-style: none;
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  gap: 1px 0;
  background: var(--colorGold);
  width: 100%;
  padding: 1em 5%;
  transition: .5s;
}
.comHeader.small~.global .nav {
  padding-top: .5em;
  padding-bottom: .5em;
}
.global .nav li a {
  display: block;
  color: #fff;
  text-align: center;
  padding: .5em 1em;
  border-radius: 9999px;
  outline: 1px solid transparent;
  outline-offset: .5em;
  transition: .5s;
}
.global .nav li a:hover,
body.front .global .nav li a[href^="/index"],
body.blog .global .nav li a[href^="/blog"],
body.report .global .nav li a[href^="/report"],
body.venue .global .nav li a[href^="/venue"],
body.fair .global .nav li a[href^="/fair"],
body.location .global .nav li a[href^="/location"],
body.support .global .nav li a[href^="/support"],
body.option .global .nav li a[href^="/option"],
body.charm .global .nav li a[href^="/charm"],
body.clothes .global .nav li a[href^="/clothes"],
body.flow .global .nav li a[href^="/flow"],
body.faq .global .nav li a[href^="/faq"],
body.access .global .nav li a[href^="/access"],
body.about .global .nav li a[href^="/about"] {
  outline: 1px solid #fff;
  outline-offset: 0;
}
.global .breadcrumb {
  list-style: none;
  padding: .375em 3.75% 1em;
  background: linear-gradient(180deg,#fffd 70%,transparent);
  display: flex;
}
.global .breadcrumb li:not(:first-child)::before {
  content: '>';
  font-size: .875em;
  margin: 0 .5em;
}
.global .breadcrumb li>* {
  font-size: .75em;
}
.global .breadcrumb li>a {
  text-decoration: underline;
  transition: .5s;
}
.global .breadcrumb li>a:hover {
  text-decoration: none;
  color: var(--colorGold);
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
  .global {
    top: 4.25em;
  }
  .global .nav {
    padding: 1em 5%;
  }
  .global .nav li a {
    font-size: .875em;
  }
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  .global {
    position: static;
  }
  .global .nav {
    display: none;
  }
}



/* main ******************************************************************************************************************************** */
main {
  min-height: 75vh;
}
main>* {
  padding: 4em 3.75%;
  position: relative;
}
main>section {
}
main>section h2 {
  color: var(--colorGold);
  font-size: 2em;
  display: flex;
  align-items: center;
  letter-spacing: .125em;
  margin-bottom: .75em;
}
main>section h2::after {
  content: '';
  display: block;
  flex-grow: 1;
  height: 1px;
  background: var(--colorGold);
  margin-left: .375em;
}
.bnr li,
input[type="submit"],
input[type="reset"] {
  transition: .5s;
}
.bnr li:hover,
input[type="submit"]:hover,
input[type="reset"]:hover {
  filter: drop-shadow(0 .25em .375em #0004);
  translate: 0 -.25em;
}
main>aside {
  padding: 4em 0;
  margin: 0 3.75%;
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  main>section h2 {
    font-size: 1.5em;
    font-weight: 700;
  }
}



/* footer ******************************************************************************************************************************** */
footer {
  border-top: 1px solid var(--colorGold);
  padding: 0 3.75% 1em;
}
#Nav,#Nav+label {
  display: none;
}
footer nav {
  display: flex;
  justify-content: center;
  gap: 5%;
  padding: 1.5em 0;
}
footer nav ul {
  display: flex;
  flex-flow: column;
  gap: .5em;
  font-size: .875em;
}
footer nav ul li {
  margin-left: 1.25em;
}
footer nav ul li::marker {
  color: var(--colorGold);
}
footer nav ul li ul {
  list-style: disc;
  margin-top: .5em;
}
footer nav ul li ul li {
}
footer nav ul li ul li::marker  {
  color: #c59d6280;
}
footer nav ul li a {
  color: var(--colorGold);
  transition: .5s;
}
footer nav ul li a:hover {
  color: var(--colorText);
}
footer div {
  display: flex;
  justify-content: center;
  gap: 5%;
  margin: 1.5em auto;
}
footer div hgroup {
  width: 32.5%;
  display: flex;
  flex-flow: column-reverse;
  justify-content: flex-end;
  gap: 1em;
}
footer div hgroup h2 {
}
footer div hgroup p {
  color: var(--colorTBlue);
}
footer div ul {
  list-style: none;
  font-size: .875em;
  display: flex;
  flex-flow: column;
  gap: .375em;
}
footer div ul li {
}
footer small {
  display: block;
  text-align: center;
  font-size: 1rem;
  color: var(--colorTBlue);
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
	footer {
		padding: 7.5% 5% 22.5%;
	}
  #Nav+label {
    display: flex;
    align-items: center;
    width: 2.5em;
    aspect-ratio: 3/2;
    position: fixed;
    inset: 1em 1em auto auto;
    z-index: 10000;
  }
  #Nav+label::before,
  #Nav+label::after,
  #Nav+label span {
    display: block;
    width: 100%;
    height: 4px;
    background: var(--colorTBlue);
    transition: .5s;
  }
  .front:has(.comHeader.out) #Nav+label::before,
  .front:has(.comHeader.out) #Nav+label::after,
  .front:has(.comHeader.out) #Nav+label span {
    background: #fff;
    box-shadow: 0 2px .25em #0009;
  }
  #Nav+label::before,
  #Nav+label::after {
    content: '';
    position: absolute;
  }
  #Nav+label::before {
    top: 0;
  }
  #Nav+label::after {
    bottom: 0;
  }
  #Nav:checked+label::before,
  #Nav:checked+label::after,
  #Nav:checked+label span {
    box-shadow: none !important;
  }
  #Nav:checked+label::before {
    top: calc(50% - 2px);
    rotate: -225deg;
  }
  #Nav:checked+label::after {
    bottom: calc(50% - 2px);
    rotate: -315deg;
  }
  #Nav:checked+label span {
    background: transparent !important;
  }
  footer nav {
		gap: 2.5%;
		padding: 0 0 15%;
    flex-flow: column;
		align-items: center;
    background: #c59d62e0;
    color: #fff;
    position: fixed;
    inset: 0 0 0 0;
    z-index: 1;
    animation: navClose .75s linear both;
  }
  footer nav.start {
		opacity: 0;
	}
  @keyframes navClose {
    0% {
      clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
			animation-timing-function: cubic-bezier(.5,0,1,.5);
    }
    30% {
      clip-path: polygon(0 0,100% 0,0 100%,0 100%);
			animation-timing-function: cubic-bezier(0,.5,.5,1);
    }
    100% {
      clip-path: polygon(0 0,100% 0,0 0,0 0);
    }
  }
  #Nav:checked~nav {
    animation: navOpen .75s linear both;
  }
  @keyframes navOpen {
    0% {
      clip-path: polygon(0 0,100% 0,0 0,0 0);
			animation-timing-function: cubic-bezier(.5,0,1,.5);
    }
    70% {
      clip-path: polygon(0 0,100% 0,0 100%,0 100%);
			animation-timing-function: cubic-bezier(0,.5,.5,1);
    }
    100% {
      clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
    }
  }
	footer nav ul {
		list-style: none;
		width: 90%;
		position: relative;
	}
	footer nav>ul:not(:first-child)::before {
		content: '';
		display: block;
		width: 100%;
		height: 0;
		border-top: 3px dotted #fff9;
		position: absolute;
		inset: -1em 0 auto 0;
	}
	footer nav ul li {
		margin-left: 0;
		position: relative;
	}
	footer nav>ul>li:not(:first-child)::before,
	footer nav ul li ul li::before {
		content: '';
		display: block;
		width: 100%;
		height: 1px;
		background: linear-gradient(90deg,#fff0,#fff 45%,#fff 55%,#fff0);
		position: absolute;
		inset: -.375em 0 auto 0;
	}
	footer nav ul li ul {
		list-style: none;
		margin: .5em auto 0;
	}
  footer nav ul li a,
  footer nav ul li a:hover {
		display: block;
    color: inherit;
    transition: 0s;
		text-align: center;
		padding: .375em 0;
  }
	footer div {
		gap: 2em;
		flex-flow: column;
		align-items: center;
    margin-top: 0;
	}
	footer div hgroup {
		width: 100%;
		align-items: center;
	}
	footer div hgroup p {
		font-size: 1.375em;
		font-weight: 700;
	}
	footer div ul {
		flex-flow: row wrap;
		gap: .5em;
		line-height: 1.375;
		width: 75%;
	}
	footer small {
		text-align: left;
	}
}
/* max 600px and min 1/2 *********************************************************** */
@media (max-width: 600px) and (min-aspect-ratio: 4/9) {
  footer nav {
    flex-flow: row wrap;
		align-content: center;
	}
	footer nav>ul {
		width: 40%;
	}
  footer nav ul li a,
  footer nav ul li a:hover {
		padding: .5em 0;
  }
}



/* .topBtn ******************************************************************************************************************************** */
.topBtn {
	display: flex;
	background: #95cac5;
	width: 5%;
	min-width: 50px;
	aspect-ratio: 1/1;
	position: fixed;
	right: -5%;
	bottom: 0;
	z-index: 999999;
	overflow: hidden;
	transition: .5s;
}
.topBtn.in {
	right: 0;
}
.topBtn::before {
  content: '';
  display: block;
	margin: auto;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	width: 40%;
	aspect-ratio: 1/1;
	transform: rotate(45deg);
	position: relative;
	top: 0;
	animation: topArrow 1.5s infinite;
}
@keyframes topArrow {
	0% {
		top: 0;
		animation-timing-function: ease-in;
	}
	33% {
		top: 20%;
		animation-timing-function: ease-in;
	}
	66% {
		top: -60%;
	}
	67% {
		top: 75%;
		animation-timing-function: ease-out;
	}
	100% {
		top: 0;
	}
}
.topBtn span {
  display: none;
}
@media (max-width: 1000px) {
	.topBtn {
		right: -50px;
	}
}
@media (orientation: portrait) {
	.topBtn:hover {
		opacity: 1;
	}
	.topBtn:active {
		opacity: .8;
	}
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
	.topBtn {
		bottom: 12.5vw;
	}
}



/* .frontInfo ******************************************************************************************************************************** */
.frontInfo {
}
.frontInfo hgroup h3 {
  font-weight: 700;
  line-height: 1.375;
}
.frontInfo hgroup p {
  display: flex;
  align-items: center;
}
.frontInfo hgroup p::after {
  content: '';
  display: block;
  background: var(--colorTBlue);
  flex-grow: 1;
  height: 1px;
  margin-left: .25em;
}
.frontInfo .new {
  display: flex;
  flex-flow: row-reverse;
  justify-content: space-between;
}
.frontInfo .new>div {
  width: 47.5%;
}
.frontInfo .new>div hgroup {
  display: flex;
  flex-flow: column-reverse;
  gap: .5em;
  margin-bottom: 2em;
}
.frontInfo .new>div hgroup h3 {
  font-size: 1.375em;
}
.frontInfo .new>div hgroup p {
  font-size: .875em;
}
.frontInfo .new>div div {
}
.frontInfo .new>div div p {
  line-height: 1.75;
  margin-bottom: 1em;
}
.frontInfo .new figure {
  width: 50%;
}
.frontInfo .new figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.frontInfo .post {
  width: 95%;
  margin: 3em auto;
}
.frontInfo .post .btn {
  padding-bottom: 1em;
  border-bottom: 1px solid var(--colorTBlue);
}
.frontInfo .post .past {
  display: none;
}
.frontInfo .post .past ul {
  list-style: none;
  padding-top: 2em;
  display: flex;
  flex-flow: wrap;
}
.frontInfo .post .past ul li {
  width: 31%;
  margin-left: 3.5%;
  border: .25em solid var(--colorTBlue);
  border-radius: .5em;
  padding: 1.25em 1.5em;
  display: flex;
  flex-flow: column;
  gap: .5em;
}
.frontInfo .post .past ul li:nth-child(3n+1) {
  margin-left: 0;
}
.frontInfo .post .past ul li hgroup {
  display: flex;
  flex-flow: column-reverse;
  gap: .5em;
}
.frontInfo .post .past ul li hgroup h3 {
  font-size: 1.125em;
}
.frontInfo .post .past ul li hgroup p {
  font-size: .75em;
}
.frontInfo .post .past ul li div {
  font-size: .875em;
  line-height: 1.375;
}
.frontInfo .post .past ul li div p {
  margin-top: .75em;
}
.frontInfo ul.bnr {
  list-style: none;
  width: 95%;
  margin: 0 auto;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
}
.frontInfo ul.bnr li {
  width: 48%;
  aspect-ratio: 10/3;
}
.frontInfo ul.bnr li.imgbnr img {
  border-radius: .5em;
}
.frontInfo ul.bnr li.linebnr a {
  height: 100%;
  border-radius: .5em;
  border: .375em solid var(--colorGold);
  background: #fff;
  font-size: 1.375em;
  padding: .5em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10%;
}
.frontInfo ul.bnr li.linebnr a img {
  max-height: 100%;
}
.frontInfo ul.bnr li.linebnr a span {
  line-height: 1.375;
}
.frontInfo ul.bnr li.linebnr a span strong {
  color: var(--colorLineGreen);
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
  .frontInfo ul.bnr {
    justify-content: center;
    flex-flow: wrap;
    gap: 2em 4%;
  }
  .frontInfo ul.bnr li {
    width: 48%;
  }
  .frontInfo ul.bnr li.linebnr a {
    font-size: 1.125em;
  }
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  .frontInfo .new {
    flex-flow: column;
  }
  .frontInfo .new>div {
    width: 100%;
  }
  .frontInfo .new>div hgroup {
    margin-bottom: 1em;
  }
  .frontInfo .new figure {
    width: 100%;
  }
  .frontInfo ul.bnr {
    width: 100%;
    flex-flow: column;
    gap: 2em;
  }
  .frontInfo ul.bnr li {
    width: 100%;
  }
  .frontInfo ul.bnr li.linebnr a img {
    width: 25%;
  }
  .frontInfo .post .past ul {
    flex-flow: column;
    gap: 2em;
  }
  .frontInfo .post .past ul li {
    width: 100%;
    margin-left: 0;
  }
}



/* .frontExclusive ******************************************************************************************************************************** */
.frontExclusive {
  position: relative;
}
.frontExclusive>p {
  color: #fff;
  background: var(--colorTBlue);
  font-size: 1.125em;
  font-weight: 700;
  padding: .75em 3em;
  border-radius: 50%;
  text-align: center;
  line-height: 1.375;
  filter: drop-shadow(0 .25em .25em #0004);
  position: absolute;
  inset: 2em 3.75% auto auto;
}
.frontExclusive>p::before {
  content: '';
  display: block;
  border-top: 2em solid var(--colorTBlue);
  border-right: 2em solid transparent;
  position: absolute;
  inset: 90% auto auto calc(50% - 1em);
  transform-origin: right top;
  transform: skew(-30deg);
}
.frontExclusive>ul {
  list-style: none;
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 2em auto 0;
}
.frontExclusive>ul li {
	width: calc((100% - 4px) / 5);
	display: flex;
}
.frontExclusive>ul li a {
	width: 100%;
	aspect-ratio: 1/1;
	display: flex;
	align-items: flex-end;
}
.frontExclusive>ul li:nth-child(1) a {
	background: url(../images/_exclusive/shoseien.webp) left 15% bottom/auto 140%;
}
.frontExclusive>ul li:nth-child(2) a {
	background: url(../images/_exclusive/shokian.webp) center/cover;
}
.frontExclusive>ul li:nth-child(3) a {
	background: url(../images/_exclusive/otsukan.webp) center/cover;
}
.frontExclusive>ul li:nth-child(4) a {
	background: url(../images/_exclusive/omikangakukan.webp) right center/cover;
}
.frontExclusive>ul li:nth-child(5) a {
	background: url(../images/_exclusive/boat.webp) center/cover;
}
.frontExclusive>ul li a:hover {
	text-decoration: none;
}
.frontExclusive>ul li a>span {
	display: block;
	width: 100%;
	padding: .5em 0;
	background: #fffd;
	color: #000;
	text-align: center;
	line-height: 1.25;
}
.frontExclusive>ul li a>span span {
	display: block;
	font-size: .875em;
}
.frontExclusive>ul li a>span span::before {
	content: '（';
}
.frontExclusive>ul li a>span span::after {
	content: '）';
}
.frontExclusive div {
  margin-top: 3em;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}
.frontExclusive div p {
  padding-bottom: .5em;
  position: relative;
}
.frontExclusive div p::before {
  content: '';
  display: block;
  background: var(--colorGold);
  width: 120%;
  height: 1px;
  position: absolute;
  inset: auto auto 0 0;
  z-index: -1;
}
.frontExclusive div ul {
  list-style: none;
  display: flex;
  gap: 1em;
}
.frontExclusive div ul li {
}
.frontExclusive div ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.25em;
  background: var(--colorGold);
  padding: 1em 2em;
  border-radius: .5em;
  outline: 1px solid #fff;
  outline-offset: -4px;
}
.frontExclusive div ul li a::before {
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
  font-size: 2em;
  font-weight: 900;
  margin-right: .75em;
}
.frontExclusive div ul li.search a::before {
  content: '\f002';
}
.frontExclusive div ul li.shrine a::before {
  content: '\f66f';
}
.frontExclusive div ul li.reception a::before {
  content: '\f3c5';
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
  .frontExclusive>p {
    padding: .5em 3em .75em;
    inset: 0 3.75% auto auto;
  }
  .frontExclusive>ul li {
    outline: 1px solid var(--colorText);
    outline-offset: -4px;
  }
  .frontExclusive div ul li a {
    font-size: 1em;
  }
  .frontExclusive div p {
    line-height: 1.5;
  }
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  .frontExclusive>p {
    filter: drop-shadow(0 .25em .25em #0002);
    position: static;
  }
  .frontExclusive>p::before {
    display: none;
  }
  .frontExclusive>ul {
    margin: 1em auto 0;
  }
  .frontExclusive>ul li {
    width: calc((100% - 1px) / 2);
  }
  .frontExclusive>ul li:nth-child(5) {
    width: 100%;
  }
  .frontExclusive>ul li:nth-child(5) a {
    aspect-ratio: 3/1;
    background-position: center bottom 22.5%;
  }
  .frontExclusive>ul li:nth-child(5) a>span span {
    display: inline;
  }
  .frontExclusive div {
    flex-flow: column;
  }
  .frontExclusive div p::before {
    display: none;
  }
  .frontExclusive div ul {
    flex-flow: column;
    width: 100%;
  }
  .frontExclusive div ul li a {
    width: 100%;
    font-size: 1.5em;
  }
}



/* .frontVenue ******************************************************************************************************************************** */
.frontVenue {
}
.frontVenue ul {
  list-style: none;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  gap: 2em 0;
}
.frontVenue ul li {
  width: 32%;
  aspect-ratio: 5/2;
  border-radius: .5em;
  overflow: hidden;
}
.frontVenue ul li figure {
  height: 100%;
}
.frontVenue ul li figure a {
  display: flex;
  align-items: flex-end;
  height: 100%;
  position: relative;
}
.frontVenue ul li figure a img {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.frontVenue ul li figure a figcaption {
  width: 100%;
  color: #fff;
  text-align: center;
  font-size: 1.25em;
  letter-spacing: .125em;
  text-shadow: var(--textShadow);
  padding: .75em 0;
  position: relative;
}
.frontVenue ul li figure a figcaption span {
  position: relative;
  z-index: 1;
}
.frontVenue ul li figure a figcaption::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0 0 0 0;
  background: var(--colorGold);
  mix-blend-mode: multiply;
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
  .frontVenue ul li {
    width: 48%;
  }
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  .frontVenue ul li {
    width: 100%;
  }
}



/* .frontGuide ******************************************************************************************************************************** */
.frontGuide {
}
.frontGuide p {
  display: flex;
  flex-flow: wrap;
  gap: 1em;
}
.frontGuide .keiji {
  list-style: none;
  display: flex;
  justify-content: space-between;
  margin-top: 2em;
}
.frontGuide .keiji>li {
  width: 48.5%;
  aspect-ratio: 5/2;
  background: no-repeat center/100% auto;
  display: flex;
  justify-content: space-between;
  outline: .5em solid #fffc;
  outline-offset: -.5em;
  padding: calc(.5em + 2px);
}
.frontGuide .keiji>li:nth-child(1) {
  background-position: center 80%;
  background-image: url(../images/_front/front_guide_kyoto.webp);
}
.frontGuide .keiji>li:nth-child(2) {
  background-position: center 90%;
  background-image: url(../images/_front/front_guide_shiga.webp);
}
.frontGuide .keiji>li h3 {
  color: #fff;
  font-weight: 700;
  align-self: flex-start;
  position: relative;
  padding: .75em;
  text-shadow: var(--textShadow);
}
.frontGuide .keiji>li h3::before {
  content: '';
  display: block;
  background: var(--colorGold);
  mix-blend-mode: multiply;
  position: absolute;
  inset: 0 0 0 0;
}
.frontGuide .keiji>li h3>span {
  display: flex;
  flex-flow: column;
  gap: .375em;
  position: relative;
  z-index: 1;
}
.frontGuide .keiji>li h3>span>span:nth-child(1) {
  font-size: 2em;
  letter-spacing: -.125em;
}
.frontGuide .keiji>li h3>span>span:nth-child(1)>span {
  font-size: 1.75em;
}
.frontGuide .keiji>li h3>span>span:nth-child(2) {
  font-size: 2.75em;
}
.frontGuide .keiji>li ul {
  list-style: none;
  width: 40%;
  display: flex;
  flex-flow: column;
  gap: 2px;
}
.frontGuide .keiji>li ul li {
  flex-grow: 1;
  display: flex;
}
.frontGuide .keiji>li ul li a {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fffc;
  position: relative;
  transition: .5s;
}
.frontGuide .keiji>li ul li a:hover {
  color: #fff;
  text-shadow: var(--textShadow);
  background: none;
}
.frontGuide .keiji>li ul li a::before {
  content: '';
  display: block;
  background: var(--colorGold);
  mix-blend-mode: multiply;
  position: absolute;
  inset: 0 0 0 0;
  opacity: 0;
  transition: .5s;
}
.frontGuide .keiji>li ul li a:hover::before {
  opacity: 1;
}
.frontGuide .keiji>li ul li a>span {
  font-size: 1.25em;
  line-height: 1.375;
  text-align: center;
  position: relative;
  z-index: 1;
}
.frontGuide .keiji>li ul li a>span>span {
  font-size: .75em;
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
  .frontGuide .keiji>li ul {
    width: 45%;
  }
  .frontGuide .keiji>li ul li a {
    outline: 1px solid var(--colorText);
    outline-offset: -4px;
  }
  .frontGuide .keiji>li ul li a>span {
    font-size: 1em;
  }
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  .frontGuide .keiji {
    flex-flow: column;
    gap: 2em;
  }
  .frontGuide .keiji>li {
    width: 100%;
  }
}



/* aside.other ******************************************************************************************************************************** */
aside.other {
  margin-top: 4em;
  border-top: 1px solid var(--colorGold);
}
aside.other ul {
  list-style: none;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  gap: 2em 0;
}
aside.other ul li {
  width: 32%;
  aspect-ratio: 9/7;
}
.pages aside.other ul li {
  aspect-ratio: 5/2;
}
aside.other ul li a {
  height: 100%;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  background: no-repeat center/cover;
  color: #fff;
  border-radius: .5em;
  outline: 1px solid #fff;
  outline-offset: -4px;
  padding: .5em;
}
aside.other ul li:nth-child(1) a {
  background-image: url(../images/_common/aside_report.webp);
}
.pages aside.other ul li:nth-child(1) a {
  background-position: center 30%;
}
aside.other ul li:nth-child(2) a {
  background-image: url(../images/_common/aside_location.webp);
}
.pages aside.other ul li:nth-child(2) a {
  background-position: center top;
}
aside.other ul li:nth-child(3) a {
  background-image: url(../images/_common/aside_anniversary.webp);
  background-position: center bottom;
  background-size: auto 120%;
}
.pages aside.other ul li:nth-child(3) a {
  background-position: center bottom 35%;
  background-size: cover;
}
aside.other ul li:nth-child(4) a {
  background-image: url(../images/_common/aside_tenson.webp);
}
aside.other ul li:nth-child(5) a {
  background-image: url(../images/_common/aside_fp.webp);
  background-position: center bottom;
  background-size: auto 120%;
}
.pages aside.other ul li:nth-child(5) a {
  background-position: center bottom 30%;
  background-size: cover;
}
aside.other ul li:nth-child(6) a {
  background-image: url(../images/_common/aside_counseling.webp);
}
.pages aside.other ul li:nth-child(6) a {
  background-position: center top 20%;
}
aside.other ul li a hgroup {
  padding: .5em .625em;
  display: flex;
  flex-flow: column;
  gap: .375em;
  text-shadow: 0 .125em .25em #0006;
  position: relative;
}
aside.other ul li a hgroup::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0 0 0 0;
  background: linear-gradient(90deg,var(--colorGold) 80%,transparent);
  mix-blend-mode: multiply;
}
aside.other ul li a hgroup h2,
aside.other ul li a hgroup p {
  position: relative;
  z-index: 1;
}
aside.other ul li a hgroup h2 {
  font-size: 1.5em;
  font-weight: 700;
}
aside.other ul li a hgroup p {
  font-size: .875em;
  font-weight: 700;
}
aside.other ul li a>p {
  background: #fffd;
  color: var(--colorText);
  font-size: .875em;
  padding: .75em 1.25em;
  line-height: 1.5;
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
  aside.other ul li {
    width: 48%;
  }
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  aside.other ul li {
    width: 100%;
    aspect-ratio: 9/5;
  }
  aside.other ul li a hgroup p {
    display: none;
  }
  aside.other ul li a>p {
    font-size: .875em;
    padding: .375em .75em;
    line-height: 1.375;
  }
}



/* aside.link ******************************************************************************************************************************** */
aside.link {
  padding-top: 0;
}
aside.link ul {
  list-style: none;
  display: flex;
  justify-content: space-between;
}
aside.link ul li {
  width: 32%;
}
aside.link ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: var(--colorTBlue);
  color: #fff;
  padding: 1em 0;
  border-radius: 9999px;
  outline: 1px solid #fff;
  outline-offset: -4px;
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  aside.link {
    padding: 0 3.75% 1.5em;
  }
  aside.link ul {
    justify-content: space-evenly;
  }
  aside.link ul li {
    width: 30%;
    aspect-ratio: 1/1;
  }
  aside.link ul li a {
    height: 100%;
    line-height: 1.375;
    font-size: 1.125em;
  }
}



/* .pages.venue ******************************************************************************************************************************** */
/* .search ********************************************* */
.search {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  align-items: start;
  gap: 2%;
}
.search .select {
  background: #95cac580;
  padding: 1em 1em;
  display: flex;
  align-items: flex-start;
}
.search .select:nth-of-type(3) {
  grid-row: 1/3;
  grid-column: 3/4;
}
.search .select dt {
  font-size: 1.5em;
  width: calc(2.625em + 1px);
  padding-right: calc(2em / 3);
}
.search .select div {
  width: calc(100% - 4.5em);
  align-self: stretch;
  display: flex;
  flex-flow: wrap;
  align-content: center;
  gap: .5em 0;
  padding-left: 1em;
  border-left: 1px dotted var(--colorText);
}
.search .select div dd {
  width: 50%;
  font-size: .875em;
  display: flex;
  align-items: center;
}
.search .select div dd label {
  cursor: pointer;
}
.search .select div dd input {
  scale: 1.5;
  transform-origin: left center;
  margin-right: .75em;
}
.search .word {
  grid-column: 1/3;
  height: 100%;
  display: flex;
}
.search .word dt {
  margin-right: .5em;
  align-self: center;
}
.search .word dt::after {
  content: ' : ';
}
.search .word dd {
}
.search .word dd:has(input[type="text"]) {
  flex-grow: 1;
  margin-right: 1em;
}
.search .word dd input[type="text"] {
  width: 100%;
  height: 100%;
  font: inherit;
  padding: .25em .5em;
  outline: none;
  border: 1px solid var(--colorText);
  border-radius: .25em;
  transition: .5s;
}
.search .word dd input[type="text"]:focus {
  background: #ffc;
}
.search .word dd input[type="submit"] {
  appearance: none;
  border: none;
  background: var(--colorGold);
  height: 100%;
  color: #fff;
  font: inherit;
  font-size: 1.125em;
  font-weight: 700;
  padding: 0 .75em;
  border-radius: .25em;
  cursor: pointer;
}
/* .result ********************************************* */
.result {
}
.result>ul {
  list-style: none;
  display: flex;
  flex-flow: wrap;
  gap: 2em 2%;
}
.result>ul>li {
  position: relative;
  width: 32%;
}
.result>ul>li a {
  background: #fff url(../images/_common/hall_bg.webp) no-repeat right top;
  border: .25em solid var(--colorGold);
  border-radius: .5em;
  aspect-ratio: 24/9;
  display: grid;
  grid-template-columns: 4fr 5fr;
}
.result>ul>li a::after {
  content: '\25ba詳細を見る';
  font-size: .75em;
  position: absolute;
  inset: auto 50% 1em auto;
  opacity: 0;
  transition: .5s;
}
.result>ul>li a:hover::after {
  opacity: 1;
  inset: auto 1em 1em auto;
}
.result>ul>li a .name {
  padding: 1em .75em 0;
  display: flex;
  flex-flow: column;
  gap: .5em;
}
.result>ul>li a .name h2 {
  font-size: 1.25em;
  line-height: 1.125;
  font-weight: 700;
}
.result>ul>li a .name p {
  font-size: .875em;
}
.result>ul>li a .type {
  display: flex;
  align-items: flex-start;
  gap: .5em;
  position: absolute;
  inset: -.375em auto auto -.375em;
}
.result>ul>li a .type h3 {
  color: #fff;
  font-size: 1.25em;
  font-weight: 700;
  padding: .25em;
  border: 1px solid #fff;
  border-radius: .25em;
}
.result>ul>li a .type h3.kyoto {
  background: var(--colorKyoto);
}
.result>ul>li a .type h3.shiga {
  background: var(--colorShiga);
}
.result>ul>li a .type p {
  font-size: .875em;
  background: #fff;
  border: 1px solid var(--colorGold);
  padding: .25em;
  border-radius: .25em;
}
.result>ul>li a figure {
  order: -1;
  grid-row: 1/3;
}
.result>ul>li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.result>ul>li a .purpose {
  list-style: none;
  padding: 0 .75em 1em;
  display: flex;
  align-items: flex-start;
  gap: .5em;
}
.result>ul>li a .purpose li {
  color: #fff;
  font-size: .75em;
  padding: .25em;
  border-radius: .25em;
}
.result>ul>li a .purpose li.ceremony {
  background: var(--colorGold);
}
.result>ul>li a .purpose li.reception {
  background: var(--colorTBlue);
}
.result>ul>li a .purpose li.party {
  background: var(--colorKyoto);
}
.result>ul>li a .purpose li.after {
  background: var(--colorShiga);
}
.result>ul>li a .purpose li:hover {
  filter: none;
  translate: 0;
}
/* .venueWrap ********************************************* */
.venueWrap {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: 3em;
}
.venueWrap hgroup {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  border-bottom: 1px solid var(--colorGold);
  padding-bottom: 1em;
  position: relative;
}
.venueWrap hgroup::before,
.venueWrap hgroup::after {
  content: '';
  display: block;
  width: 1em;
  aspect-ratio: 1/1;
  background: var(--colorGold);
  clip-path: polygon(0 0,100% 50%,0 100%,50% 50%);
  position: absolute;
  bottom: -.5em;
}
.venueWrap hgroup::before {
  left: -.875em;
}
.venueWrap hgroup::after {
  right: -.875em;
  scale: -1 1;
}
.venueWrap hgroup h2 {
  color: var(--colorGold);
  font-size: 2.5em;
  letter-spacing: .125em;
}
.venueWrap hgroup p {
  color: var(--colorGold);
  font-size: 1.125em;
  color: #fff;
  background: var(--colorGold);
  padding: .25em .75em;
  border-radius: 9999px;
}
.venueWrap hgroup p span.region,
.venueWrap hgroup p span.purpose {
  font-size: 1.125em;
}
.venueWrap .venueImage {
  list-style: none;
  display: flex;
  gap: 1px;
}
.venueWrap .venueImage li {
  flex-grow: 1;
  position: relative;
}
.venueWrap .venueImage li:hover {
  z-index: 1;
}
.venueWrap .venueImage li a {
  display: block;
  height: 100%;
  outline: 1px solid transparent;
  outline-offset: -1px;
  transition: scale .5s;
}
.venueWrap .venueImage li a:hover {
  outline: 1px solid #fff;
  scale: 1.1;
}
.venueWrap .venueImage li a img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}
.venueWrap .fee {
  display: flex;
  justify-content: center;
  align-items: baseline;
  border: 1px solid var(--colorGold);
  padding: .75em 1.25em;
}
.venueWrap .fee dt {
}
.venueWrap .fee dt::after {
  content: ':';
  margin: 0 .5em;
}
.venueWrap .fee dd {
}
.venueWrap .fee dd .price {
  font-size: 1.25em;
}
.venueWrap .fee dd .unit {
  font-size: .75em;
}
.venueWrap .read {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 3em 0;
  position: relative;
}
.venueWrap .read::before,
.venueWrap .read::after {
  content: '';
  display: block;
  background: radial-gradient(closest-side,var(--colorGold),transparent);
  width: 50%;
  aspect-ratio: 3/1;
  opacity: .25;
  position: absolute;
  z-index: -1;
}
.venueWrap .read::before {
  inset: 0 auto auto 10%;
  rotate: -15deg;
}
.venueWrap .read::after {
  inset: auto 10% 0 auto;
  rotate: 10deg;
}
.venueWrap .read>div {
}
.venueWrap .read>div p {
  line-height: 2.25;
}
.venueWrap .map {
  width: 100%;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: .75em;
}
.venueWrap .map iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 4/1;
}
.venueWrap .map figcaption {
  font-size: .875em;
}
.venueWrap .map figcaption span:first-child::after {
  content: ':';
  margin: 0 .5em;
}
.venueWrap .spPage {
  list-style: none;
  width: 75%;
}
.venueWrap .spPage li {
  border-radius: 1em;
  outline: 1px solid #fff;
  outline-offset: -4px;
  overflow: hidden;
}
.venueWrap .spPage li a {
  width: 100%;
  aspect-ratio: 6/1;
  display: flex;
  align-items: center;
  background: var(--colorGold) url(../images/_common/hall_bg.webp) no-repeat right top/auto 90%;
  background-blend-mode: multiply;
  transition: .5s;
}
.venueWrap .spPage li a:hover {
  text-shadow: 0 0 .25em #fff, 0 0 .75em #fff8;
}
.venueWrap .spPage li a::before {
  content: '';
  display: block;
  align-self: stretch;
  background: var(--lowerH1Bg) no-repeat center/cover;
  width: 40%;
}
.venueWrap .spPage li a>span {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.25em;
  gap: .5em;
}
.venueWrap .spPage li a>span>span {
  font-size: 1.25em;
}
.venueWrap .ask {
  width: 100%;
  display: flex;
  justify-content: center;
}
.venueWrap .ask>div {
  box-shadow: 0 0 1em var(--colorGold) inset;
  padding: 2em 3em;
  border-radius: 1em;
  display: flex;
  flex-flow: column;
  gap: 1em;
}
.venueWrap .ask>div p {
}
.venueWrap .ask>div p a:not([href^="tel:"]) {
  color: var(--colorGold);
}
.venueWrap .ask>div p a:not([href^="tel:"]):hover {
  color: var(--colorText);
  text-decoration: underline;
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
  .search {
    display: flex;
    flex-flow: wrap;
    gap: 1em 2%;
  }
  .search .select {
    width: 49%;
  }
  .search .select:nth-of-type(3) {
    width: 100%;
  }
  .search .select:nth-of-type(3) div dd {
    width: 25%;
  }
  .search .word {
    width: 100%;
  }
  .result>ul>li {
    width: 49%;
  }
  .venueWrap .spPage li a>span {
    flex-flow: column;
  }
  .venueWrap .map iframe {
    aspect-ratio: 2/1;
  }
}
/* max 768px and portrait *********************************************************** */
@media (max-width: 768px) and (orientation: portrait) {
  .venueWrap .venueImage {
    flex-flow: wrap;
  }
  .venueWrap .venueImage li {
    flex-grow: 0;
    width: calc((100% - 2px) / 3);
  }
  .venueWrap .map iframe {
    aspect-ratio: 5/3;
  }
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
  .search .select {
    width: 100%;
  }
  .search .select dt {
    width: calc(2.75em + 1px);
  }
  .search .select div dd {
    font-size: 1em;
  }
  .search .select:nth-of-type(3) div dd {
    width: 50%;
  }
  .search .word {
    flex-flow: wrap;
    align-items: stretch;
    gap: .5em 0;
  }
  .search .word dt {
    margin-right: 0;
    width: 100%;
  }
  .search .word dd input[type="text"] {
    padding: .75em;
  }
  .search .word dd input[type="submit"] {
    height: 100%;
  }
  .result>ul>li {
    width: 100%;
  }
  .venueWrap hgroup {
    font-size: .875em;
    width: 95%;
    flex-flow: column;
  }
  .venueWrap hgroup h2 {
    letter-spacing: 0;
  }
  .venueWrap .venueImage li {
    width: calc((100% - 1px) / 2);
  }
  .venueWrap .read {
    padding: 3em;
    overflow: hidden;
  }
  .venueWrap .read::before,
  .venueWrap .read::after {
    width: 75%;
    aspect-ratio: 3/2;
  }
  .venueWrap .read::before {
    inset: 0 auto auto 0;
    rotate: -45deg;
  }
  .venueWrap .read::after {
    inset: auto 0 0 auto;
    rotate: 45deg;
  }
  .venueWrap .map iframe {
    aspect-ratio: 1/1;
  }
  .venueWrap .spPage {
    width: 100%;
  }
  .venueWrap .spPage li a {
    aspect-ratio: 4/1;
  }
  .venueWrap .spPage li a>span {
    font-size: 1em;
  }
  .venueWrap .ask>div p {
    line-height: 1.5;
    text-align: center;
  }
  .venueWrap .ask>div p a {
    font-size: 1.25em;
  }
  .venueWrap .ask>div p a[href^="tel:"] {
    color: var(--colorGold);
  }
}



/* .div ******************************************************************************************************************************** */
.div {
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
}



/* .div ******************************************************************************************************************************** */
.div {
}
/* max 1000px *********************************************************** */
@media (max-width: 1000px) {
}
/* max 600px and portrait *********************************************************** */
@media (max-width: 600px) and (orientation: portrait) {
}