@charset "UTF-8";

/*
Theme Name: オリジナルテーマ
Author: Yoko Dohi
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-style: normal;
	/* vertical-align: baseline; */
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input[type="text"],
input[type="password"],
textarea,
select,*:focus {
	outline: none;
}

/*====================================================
////id |  common
====================================================*/

html {
  font-size: 10px;
  font-size: 62.5%;
  width: 100%;
  max-width: 100vw;
}

body, button, input, select, optgroup, textarea {
  background: var(--base_bg);
  color: var(--black);
  font-size: min(3.7333vw, 1.6rem);
  font-family: var(--font_family);
  font-weight: 500;
  line-height: 1.75;
}
button, input, select, optgroup, textarea {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
}

body {
  overflow-wrap: break-word;
  position: relative;
  width: 100%;
  height: auto;
}

* {
  min-height: 0;
  min-width: 0;
}

body * {
  box-sizing: border-box;
}

body.scroll-lock {
  position: fixed;
  overflow: hidden;
  width: 100%;
}

section {
  position: relative;
  max-width: 100vw;
  z-index: 2;
}
a {
  display: inline-block;
  color: inherit;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  cursor: pointer;
  outline: none;
  position: relative;
  text-decoration: none;
  transition: 0.3s ease-in-out;
  /* vertical-align: middle; */
  overflow-wrap: anywhere;
}

.tel_link a,
a[href^="tel:"] {
  text-decoration: none !important;
}

@media print, screen and (min-width: 769px) {
  .tel_link a,
  a[href^="tel:"] {
    pointer-events: none;
  }
}

.tel_linkBtn {
  pointer-events: none;
}

.fax a {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none;
}

.underline {
  -webkit-text-decoration: underline solid 1px;
  text-decoration: underline solid 1px;
  text-underline-position: under;
  text-underline-offset: 0.1em;
}

p a:not([class]),
ul:not(.page-numbers):not(.not_set):not(.menu):not(.sub-menu) li a:not([class]),
ol li a:not([class]),
dd a:not([class]),
a.underline {
  color: var(--color_4);
  -webkit-text-decoration: underline dotted 1px var(--color_4);
  text-decoration: underline dotted 1px var(--color_4);
  text-underline-position: under;
  text-underline-offset: 0.1em;
}

@media (hover: hover) {
  p a:not([class]):hover,
  ul:not(.page-numbers):not(.not_set):not(.menu):not(.sub-menu) li a:not([class]):hover,
  ol li a:not([class]):hover,
  dd a:not([class]):hover,
  a.underline:hover {
    opacity: 0.8;
  }
}

img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  display: block;
  /* margin: auto; */
}

p img {
  display: inline-block;
}

figure {
  margin: 0;
  position: relative;
}

figure:has(img)::after {
  content: "";
  display: block;
  margin: auto;
  pointer-events: auto;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

figure img {
  position: relative;
}

.coverImg {
  overflow: hidden;
  padding-top: 56.666%;
  width: 100%;
}

figure.coverImg img {
  margin: auto;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: 0.2s ease-in-out;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
}

figure.coverImg.contain img {
  -o-object-fit: contain;
  object-fit: contain;
}

figure figcaption.noImage {
  background: #f2fff2;
  color: var(--red);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* .scaleUpImg {
	overflow: hidden;
} */
.scaleUpImg img {
  transition: 0.2s ease-in-out;
}

.text-overlay {
  overflow: hidden;
  position: relative;
}

.text-overlay::before {
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(3px);
  color: #fff;
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.2s ease-in-out;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.text-overlay::after {
  /* 詳しくみる*/
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 120 30"><path fill="%23ffffff" d="M97.06,15s0,.04,0,.05c0-.02,0-.04,0-.05h0ZM120,15s0,.03,0,.04c-.02,7.88-6.16,14.34-13.91,14.9-.36.03-.72.05-1.09.05s-.73-.03-1.09-.05c-7.75-.56-13.89-7.02-13.91-14.9,0-.02,0-.03,0-.04,0-8.27,6.73-15,15-15s15,6.73,15,15ZM119.17,15c0-7.81-6.35-14.17-14.17-14.17s-14.17,6.36-14.17,14.17,6.35,14.17,14.17,14.17,14.17-6.36,14.17-14.17ZM.77,17.15h4.34v-1.18H.77v1.18ZM.73,18.21h4.52v4.48H.73v-4.48ZM2,21.52h1.98v-2.14h-1.98v2.14ZM5.11,13.76H.77v1.17h4.34v-1.17ZM0,12.7h5.83v-1.17H0v1.17ZM5.11,9.3H.77v1.2h4.34v-1.2ZM10.75,15.94h2.84v-1.23h-2.84v-1.92h3.35v-1.23h-2.3c.22-.38.45-.8.67-1.26.22-.46.42-.9.59-1.31l-1.36-.45c-.17.48-.38,1-.63,1.57-.25.57-.49,1.05-.73,1.46h-2.12c.16-.08.36-.17.59-.26.23-.09.42-.16.54-.2-.17-.42-.38-.86-.62-1.33-.25-.47-.47-.87-.69-1.2l-1.23.53c.24.37.48.78.69,1.22.22.44.41.86.57,1.24h-1.9v1.23h3.11v1.92h-2.8v1.23h2.8v2.03h-3.43v1.3h3.43v3.9h1.45v-3.9h3.71v-1.3h-3.71v-2.03ZM28.47,19.41c-.03-.22-.05-.41-.06-.54-.43.37-.93.71-1.5,1.02-.57.31-1.19.56-1.84.74s-1.31.28-1.98.28c-.71,0-1.22-.1-1.51-.3-.29-.2-.44-.57-.44-1.09v-5.06c0-.53,0-1.04,0-1.51,0-.47.01-.91.02-1.3,0-.51.03-.98.05-1.41.02-.43.04-.73.05-.9l-1.61-.11v10.54c0,.66.11,1.18.34,1.57s.59.65,1.09.81c.5.15,1.14.23,1.93.23,1.01,0,2.01-.18,3-.53.99-.35,1.87-.81,2.64-1.36-.02-.08-.05-.23-.09-.44s-.07-.42-.1-.65ZM41.23,19.78c-.37-.48-.75-.96-1.13-1.43-.38-.47-.75-.91-1.1-1.32s-.66-.74-.93-1.01c-.31-.31-.31-.6-.02-.86.33-.31.71-.7,1.15-1.16s.89-.95,1.35-1.46c.46-.51.89-1,1.29-1.48.39-.48.71-.89.94-1.23l-1.37-.94c-.2.41-.5.87-.89,1.41-.39.53-.83,1.07-1.3,1.62s-.94,1.07-1.41,1.55c-.46.49-.87.89-1.22,1.21-.36.33-.55.62-.56.88-.01.26.16.57.53.93.27.27.58.61.94,1.02.36.41.74.86,1.13,1.35.39.49.78,1,1.16,1.51s.72,1.01,1.04,1.49.57.9.76,1.27c.09-.09.22-.19.39-.32.18-.13.36-.25.55-.36.19-.11.35-.2.46-.25-.18-.29-.43-.64-.74-1.06-.31-.42-.65-.87-1.02-1.35ZM62.88,19.85c.29.1.53.18.74.23-.1.81-.23,1.42-.42,1.82s-.43.67-.74.81-.71.2-1.2.2h-2.91c-.6,0-1.01-.09-1.25-.28-.24-.19-.36-.5-.36-.94v-3.68h-1.39c-.11,1.3-.66,2.42-1.66,3.37-1,.94-2.48,1.57-4.43,1.88-.03-.12-.09-.26-.17-.44s-.16-.35-.25-.51c-.08-.17-.16-.29-.24-.38.98-.07,1.85-.29,2.6-.64.76-.35,1.36-.81,1.82-1.38.46-.57.73-1.2.81-1.9h-2.4v-8.91h9.17v8.91h-2.36v2.99c0,.17.04.29.12.37.08.08.25.11.5.11h2c.3,0,.54-.05.71-.14.18-.1.31-.28.4-.56s.16-.69.2-1.23c.17.1.4.2.69.3ZM52.98,11.79h6.12v-1.41h-6.12v1.41ZM52.98,14.26h6.12v-1.39h-6.12v1.39ZM59.1,16.72v-1.39h-6.12v1.39h6.12ZM76.89,16.3c.34.54.5,1.18.5,1.9,0,.78-.19,1.47-.58,2.09-.39.61-.93,1.1-1.61,1.45-.69.35-1.48.53-2.39.53-1.18,0-2.05-.22-2.61-.66-.56-.44-.84-.98-.84-1.62,0-.41.1-.75.3-1.04.2-.29.47-.51.8-.66s.68-.22,1.04-.22c.7,0,1.28.24,1.73.73.45.49.72,1.1.81,1.85.51-.17.94-.46,1.29-.87.35-.41.53-.94.53-1.58,0-.49-.12-.92-.34-1.3-.23-.37-.55-.67-.95-.88-.4-.21-.87-.32-1.41-.32-1.4,0-2.56.4-3.48,1.2-.19.17-.45.39-.77.65-.32.26-.62.49-.89.7l-.99-1.07c.5-.3,1.04-.68,1.61-1.15.58-.47,1.15-.99,1.72-1.55.57-.57,1.11-1.15,1.62-1.74.51-.6.96-1.18,1.34-1.74-.45.11-.96.21-1.53.31-.58.1-1.14.19-1.68.26-.55.07-1.01.12-1.4.14l-.26-1.41c.29.01.65,0,1.08-.02.43-.03.89-.07,1.37-.12.48-.05.96-.11,1.42-.18s.88-.15,1.25-.23c.37-.08.64-.17.81-.24l1.1.75c-.25.48-.56.99-.95,1.53-.39.54-.82,1.08-1.29,1.62-.47.54-.95,1.07-1.45,1.57.24-.12.52-.21.82-.29.3-.07.58-.11.86-.11.78,0,1.46.16,2.05.46.58.31,1.05.74,1.38,1.28ZM72.72,20.91c-.03-.47-.16-.85-.38-1.15-.22-.3-.51-.45-.85-.45-.22,0-.41.06-.55.17-.14.11-.22.27-.22.49,0,.27.14.49.42.66s.74.27,1.39.29h.19ZM108.78,14.83h-10.08v1h10.08v1.93l4.58-2.43-4.58-2.43v1.93Z" /></svg>')
    no-repeat center / contain;
  content: "";
  display: block;
  margin: auto;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 1em;
  bottom: 0;
  transition: 0.2s ease-in-out;
  width: 80%;
  height: 1.8em;
  z-index: 11;
}

.text-overlay.column-text-overlay::after {
  /* 記事を見る */
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 120 30"><path fill="%23ffffff" d="M105,30c-8.27,0-15-6.73-15-15S96.73,0,105,0s15,6.73,15,15-6.73,15-15,15ZM105,.99c-7.72,0-14,6.28-14,14.01s6.28,14.01,14,14.01,14-6.28,14-14.01S112.72.99,105,.99ZM0,12.74v-1.17h6.22v1.17H0ZM.72,22.77v-4.54h4.91v4.54H.72ZM.77,10.53v-1.2h4.75v1.2H.77ZM.77,14.96v-1.18h4.75v1.18H.77ZM.77,17.17v-1.17h4.75v1.17H.77ZM2.06,21.6h2.24v-2.19h-2.24v2.19ZM8.9,22.74c-.6,0-1.02-.09-1.26-.28-.24-.19-.36-.5-.36-.94v-7.36h4.74v-3.49h-4.9v-1.31h6.38v6.14h-4.72v5.34c0,.16.04.28.12.36s.24.12.49.12h2.38c.3,0,.54-.05.71-.15.18-.1.31-.29.4-.57s.16-.69.2-1.23c.16.1.38.19.67.3s.53.18.74.23c-.1.81-.23,1.42-.42,1.82s-.43.67-.74.81c-.31.13-.71.2-1.2.2h-3.25ZM20.93,23.2c-.02-.2-.06-.43-.13-.68-.06-.25-.13-.46-.21-.63h1.54c.22,0,.38-.04.48-.11.1-.08.14-.22.14-.43v-.93h-5.39v-1.09h5.39v-.93h-6.64v-1.01h6.64v-.88h-5.41v-1.01h5.41v-.85h-4.21v-2.9h4.21v-.77h-6.18v-1.09h6.18v-1.25h1.47v1.25h6.18v1.09h-6.18v.77h4.18v2.9h-4.18v.85h4.9v1.89h1.71v1.01h-1.71v2.02h-4.9v1.28c0,.52-.14.9-.43,1.14-.29.24-.73.36-1.33.36h-1.54ZM19.9,13.66h2.85v-.91h-2.85v.91ZM24.22,13.66h2.82v-.91h-2.82v.91ZM24.22,17.39h3.47v-.88h-3.47v.88ZM24.22,19.33h3.47v-.93h-3.47v.93ZM40.94,22.7c-.82,0-1.56-.08-2.21-.25-.65-.17-1.17-.42-1.54-.78-.38-.35-.57-.82-.57-1.39,0-.48.15-.92.46-1.32.31-.4.73-.77,1.27-1.11.54-.34,1.14-.65,1.8-.93v-.18c0-.48-.1-.82-.3-1.01-.2-.19-.45-.3-.76-.32-.54-.03-1.09.05-1.63.26-.54.2-1.04.54-1.49,1.01-.19.2-.42.44-.69.7-.27.27-.51.49-.72.67l-1.07-1.07c.76-.53,1.47-1.19,2.14-1.98.67-.79,1.22-1.62,1.67-2.48-.65.03-1.25.05-1.79.06-.54.01-.94.01-1.21,0l-.06-1.42c.34.03.85.05,1.51.05s1.39-.02,2.17-.06c.14-.37.25-.74.33-1.1.08-.36.12-.71.14-1.04l1.47.1c-.03.65-.16,1.3-.38,1.95.82-.05,1.59-.12,2.31-.21.72-.08,1.27-.18,1.64-.27l.1,1.38c-.3.06-.69.12-1.18.18-.48.06-1.02.11-1.6.16s-1.18.09-1.78.14c-.16.36-.36.73-.59,1.11-.24.38-.47.74-.72,1.08.26-.14.54-.24.86-.31.31-.07.61-.1.89-.1.63,0,1.13.18,1.5.53.37.35.6.91.67,1.66.63-.22,1.27-.42,1.91-.6.64-.18,1.24-.33,1.78-.46l.43,1.36c-.74.11-1.45.25-2.14.42s-1.34.37-1.95.58v2.19h-1.46v-1.65c-.63.3-1.14.61-1.53.94s-.58.64-.58.95c0,.41.24.7.73.88.49.18,1.18.27,2.07.27.34,0,.72-.02,1.14-.07.42-.05.83-.11,1.26-.19.42-.08.8-.17,1.14-.26-.02.1-.03.24-.03.42s0,.38.02.57c.01.19.02.35.03.46v.06c-.53.14-1.11.24-1.73.31s-1.2.1-1.73.1ZM49.28,23.26c-.03-.12-.09-.26-.17-.44s-.16-.35-.25-.51c-.08-.17-.17-.29-.24-.38.98-.07,1.85-.29,2.61-.64.76-.35,1.37-.81,1.82-1.38s.73-1.2.82-1.9h-2.4v-8.91h9.18v8.91h-2.37v2.99c0,.17.04.29.12.37.08.08.25.11.5.11h2c.3,0,.54-.05.71-.14.18-.1.31-.28.4-.56.09-.28.16-.69.2-1.23.17.1.4.2.69.3.29.1.53.18.74.23-.1.81-.23,1.42-.42,1.82-.18.41-.43.67-.74.81-.31.13-.71.2-1.2.2h-2.91c-.6,0-1.02-.09-1.26-.28-.24-.19-.36-.5-.36-.94v-3.68h-1.39c-.11,1.3-.66,2.42-1.66,3.37-1,.94-2.48,1.57-4.43,1.88ZM52.99,11.79h6.13v-1.41h-6.13v1.41ZM52.99,14.26h6.13v-1.39h-6.13v1.39ZM52.99,16.72h6.13v-1.39h-6.13v1.39ZM72.84,22.27c-1.18,0-2.06-.22-2.62-.66s-.84-.98-.84-1.62c0-.41.1-.75.3-1.04s.47-.51.8-.66c.33-.15.68-.22,1.04-.22.71,0,1.28.24,1.74.73.45.49.72,1.1.81,1.85.51-.17.94-.46,1.29-.87.35-.41.53-.94.53-1.58,0-.49-.11-.92-.34-1.3s-.55-.67-.95-.88c-.41-.21-.87-.32-1.41-.32-1.4,0-2.56.4-3.49,1.2-.19.17-.45.39-.77.65-.32.26-.62.49-.9.7l-.99-1.07c.5-.3,1.04-.68,1.62-1.15s1.15-.99,1.72-1.55c.57-.57,1.11-1.15,1.62-1.74s.96-1.18,1.34-1.74c-.45.11-.96.21-1.54.31-.58.1-1.14.19-1.69.26-.55.07-1.02.12-1.4.14l-.26-1.41c.29.01.65,0,1.08-.02.43-.03.89-.07,1.38-.12.49-.05.96-.11,1.42-.18.46-.07.88-.15,1.25-.23.37-.08.64-.17.81-.24l1.1.75c-.25.48-.56.99-.95,1.53-.39.54-.82,1.08-1.29,1.62s-.96,1.07-1.46,1.57c.24-.12.52-.21.82-.29.3-.07.59-.11.86-.11.78,0,1.46.16,2.05.46s1.05.74,1.38,1.28.5,1.18.5,1.9c0,.78-.2,1.47-.58,2.09-.39.61-.93,1.1-1.62,1.45-.69.35-1.49.53-2.39.53ZM72.57,20.91h.19c-.03-.47-.16-.85-.38-1.15-.22-.3-.51-.45-.85-.45-.22,0-.41.06-.55.17-.14.11-.22.27-.22.49,0,.27.14.49.42.66s.74.27,1.39.29ZM108.77,17.75v-1.92h-10.03v-.99h10.03v-1.92l4.56,2.42-4.56,2.42Z" /></svg>')
    no-repeat center / contain;
}

@media (hover: hover) {
  a:hover .text-overlay::before {
    opacity: 1;
  }

  a:hover .text-overlay::after {
    opacity: 1;
    transform: translateX(1em);
  }
}

.round {
  border-radius: 10px;
  overflow: hidden;
}

figure.square {
  display: block;
  width: 100%;
  padding-top: 100%;
}

figure.square img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#contents {
  min-height: 100vh;
  width: 100%;
  transition: 0.2s ease-in-out;
  position: relative;
  z-index: 1;
}

.block {
  display: block;
}

.inb {
  display: inline-block;
}

.relative {
  position: relative;
  z-index: 1;
}

.flexBox {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.flexCenter {
  align-items: center;
  justify-content: center;
}

.flexStart {
  justify-content: flex-start;
}

.flexEnd {
  justify-content: flex-end;
}

.flexWrap {
  flex-wrap: wrap;
}

.flexColumn {
  flex-direction: column;
  justify-content: flex-start;
}

.align-center {
  align-items: center;
}

.flex-1 {
  flex: 1;
}

.gridBox {
  display: grid;
}

dl.gridBox {
  grid-template: "dt dd";
  grid-template-columns: auto 1fr;
}

dl.gridBox dd {
  grid-column: 2;
  word-break: break-word;
}

.mw300 {
  max-width: 300px;
  margin: auto;
}

.mw400 {
  max-width: 400px;
  margin: auto;
}

.mw500 {
  max-width: 500px;
  margin: auto;
}

.mw600 {
  max-width: 600px;
  margin: auto;
}

.mw700 {
  max-width: 700px;
  margin: auto;
}

.mw800 {
  max-width: 800px;
  margin: auto;
}

.mw900 {
  max-width: 900px;
  margin: auto;
}

.mw1000 {
  max-width: 1000px;
  margin: auto;
}

.mw1100 {
  max-width: 1100px;
  margin: auto;
}

.mw1200 {
  max-width: 1200px;
  margin: auto;
}

.mw-none {
  max-width: none;
}

input[type="radio"],
input[type="checkbox"] {
  display: none;
}

.hidden {
  display: none;
}

hr {
  background: var(--color_4);
  border: none;
  height: 1px;
  opacity: 0.4;
}

::before,
::after {
  pointer-events: none;
}

.innerBox {
  margin: 0 auto;
  padding: min(15vw, 120px) 0;
  position: relative;
  width: 90%;
  width: calc(100% - (var(--innerBox_margin) * 2));
  z-index: 2;
}

.innerBox.is-style-padding-top-x_large {
  padding-top: min(20vw, 180px);
}

.innerBox.is-style-padding-top-middle {
  padding-top: min(7vw, 70px);
}

.innerBox.is-style-padding-top-small {
  padding-top: min(3vw, 30px);
}

.innerBox.is-style-padding-top-none {
  padding-top: 0;
}

.innerBox.is-style-padding-bottom-x_large {
  padding-bottom: min(20vw, 180px);
}

.innerBox.is-style-padding-bottom-middle {
  padding-bottom: min(7vw, 70px);
}

.innerBox.is-style-padding-bottom-small {
  padding-bottom: min(3vw, 30px);
}

.innerBox.is-style-padding-bottom-none {
  padding-bottom: 0;
}

.innerBox.wide {
  width: calc(100% - (var(--innerBox_wide_margin) * 2));
}

html[lang="en"] br.hidden-mob,
html[lang="en"] br.hidden-small,
html[lang="en"] br.hidden-pc,
html[lang="en"] br.hidden-pc_d-tab,
html[lang="en"] br.hidden-wide,
html[lang="en"] br.hidden-maxwide {
  display: none;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  .innerBox {
    padding: min(18vw, 80px) 0;
  }

  .hidden-mob {
    display: none;
  }

  .display-mob {
    display: block;
  }

  figure figcaption.noImage {
    font-size: 1.6rem;
  }

  dl.gridBox.responsive,
  dl.formItem {
    grid-template: "dt" "dd";
  }

  dl.gridBox.responsive dd,
  dl.formItem dd {
    grid-column: 1;
  }
}

@media screen and (max-width: 600px) {
  .hidden-small {
    display: none;
  }

  .display-small {
    display: block;
  }
}

@media screen and (max-width: 1060px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
  .hidden-pc_d-tab,
  .hidden-pc {
    display: none;
  }
}

/* ////////// tablet ////////// */
@media screen and (min-width: 769px) and (max-width: 959.9px) {
  .flexColumn-tab {
    flex-direction: column;
  }

  .hidden-tab {
    display: none;
  }

  .hidden-pc_d-tab,
  .display-tab {
    display: block;
  }
}

@media screen and (min-width: 960px) and (max-width: 1220px) {
  .display-middle {
    display: block;
  }
}

@media screen and (min-width: 1330.1px) {
  .hidden-wide {
    display: none;
  }

  .display-wide {
    display: block;
  }
}

@media screen and (min-width: 1600px) {
  .hidden-maxwide {
    display: none;
  }

  .display-maxwide {
    display: block;
  }
}

@media (hover: hover) {
  /*NOTE ホバー処理*/
  a:not([class]):hover,
  p a:hover {
    opacity: 0.7;
  }

  a.opacity-1:hover {
    opacity: 1;
  }

  .scaleUpImg:hover img {
    transform: scale(1.025);
  }

  a.scaleUpImg:hover {
    opacity: 1;
  }

  a.scaleUpLink:hover {
    transform: scale(1.02);
  }
}

.h100 {
  height: 100%;
}

.w100 {
  width: 100%;
}

/*====================================================
// NOTE |  余白
====================================================*/
.ma-auto {
  margin: auto !important;
}

.ma-0 {
  margin: 0 !important;
}

.ma-05em {
  margin: 0.5em !important;
}

.ma-10em {
  margin: 1em !important;
}

.ma-15em {
  margin: 1.5em !important;
}

.ma-20em {
  margin: 2em !important;
}

.ma-30em {
  margin: 3em !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-03em {
  margin-top: 0.3em !important;
}

.mt-05em {
  margin-top: 0.5em !important;
}

.mt-08em {
  margin-top: 0.8em !important;
}

.mt-10em {
  margin-top: 1em !important;
}

.mt-15em {
  margin-top: 1.5em !important;
}

.mt-20em {
  margin-top: 2em !important;
}

.mt-30em {
  margin-top: 3em !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.ml-03em {
  margin-left: 0.3em !important;
}

.ml-05em {
  margin-left: 0.5em !important;
}

.ml-10em {
  margin-left: 1em !important;
}

.ml-15em {
  margin-left: 1.5em !important;
}

.ml-20em {
  margin-left: 2em !important;
}

.ml-30em {
  margin-left: 3em !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mr-02em {
  margin-right: 0.2em !important;
}

.mr-05em {
  margin-right: 0.5em !important;
}

.mr-10em {
  margin-right: 1em !important;
}

.mr-15em {
  margin-right: 1.5em !important;
}

.mr-20em {
  margin-right: 2em !important;
}

.mr-30em {
  margin-right: 3em !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-03em {
  margin-bottom: 0.3em !important;
}

.mb-05em {
  margin-bottom: 0.5em !important;
}

.mb-08em {
  margin-bottom: 0.8em !important;
}

.mb-10em {
  margin-bottom: 1em !important;
}

.mb-15em {
  margin-bottom: 1.5em !important;
}

.mb-20em {
  margin-bottom: 2em !important;
}

.mb-30em {
  margin-bottom: 3em !important;
}

.ma-10 {
  margin: 10px !important;
}

.ma-20 {
  margin: 20px !important;
}

.ma-30 {
  margin: 30px !important;
}

.ma-40 {
  margin: 40px !important;
}

.ma-50 {
  margin: 50px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.ml-50 {
  margin-left: 50px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.pa-0 {
  padding: 0 !important;
}

.pa-05em {
  padding: 0.5em !important;
}

.pa-10em {
  padding: 1em !important;
}

.pa-15em {
  padding: 1.5em !important;
}

.pa-20em {
  padding: 2em !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-05em {
  padding-top: 0.5em !important;
}

.pt-10em {
  padding-top: 1em !important;
}

.pt-15em {
  padding-top: 1.5em !important;
}

.pt-20em {
  padding-top: 2em !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-05em {
  padding-bottom: 0.5em !important;
}

.pb-10em {
  padding-bottom: 1em !important;
}

.pb-15em {
  padding-bottom: 1.5em !important;
}

.pb-20em {
  padding-bottom: 2em !important;
}

/*====================================================
//class eachTextAnime
====================================================*/
.eachTextAnime:not(.anime_unset) {
  opacity: 0;
}

.eachTextAnime.appeartext {
  opacity: 1;
}

.eachTextAnime:not(.anime_unset) span {
  opacity: 0;
}

.eachTextAnime.appeartext:not(.anime_unset) span {
  -webkit-animation: text_anime_on 1s ease-out forwards;
  animation: text_anime_on 1s ease-out forwards;
  /* animation-delay: .4s; */
}

@-webkit-keyframes text_anime_on {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes text_anime_on {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.delay-01 {
  transition-delay: 0.1s;
}

.delay-02 {
  transition-delay: 0.2s;
}

.delay-03 {
  transition-delay: 0.3s;
}

.delay-04 {
  transition-delay: 0.4s;
}

.delay-05 {
  transition-delay: 0.5s;
}

.delay-06 {
  transition-delay: 0.6s;
}

.a_delay-01 {
  animation-delay: 0.1s;
}

.a_delay-02 {
  animation-delay: 0.2s;
}

.a_delay-03 {
  animation-delay: 0.3s;
}

.a_delay-04 {
  animation-delay: 0.4s;
}

.a_delay-05 {
  animation-delay: 0.5s;
}

.a_delay-06 {
  animation-delay: 0.6s;
}

/*====================================================
// NOTE |  テキスト
====================================================*/
.f-default {
  font-family: var(--font_family);
}

.ff_setting {
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}

.tate {
  display: inline-block;
  line-height: 1;
  /* iOSのズレを軽減 */
  text-orientation: upright;
  writing-mode: vertical-rl;
}

ruby > rt {
  font-size: min(0.3em, 1rem);
  font-weight: 400;
  text-align: center;
}

/*====================================================
// NOTE |  装飾系
====================================================*/

.triangle_arrow {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 8 12"><path fill="%2300817c" d="M8,6l-5.99,6-2.01-2.01,3.98-3.99L0,2.01,2.01,0l5.99,6Z" /></svg>') no-repeat center / contain;
  display: inline-block;
  transition: 0.2s ease-in-out;
  width: 0.5em;
  height: 0.6em;
}

.btn_wrap {
  display: flex;
  /* justify-content: center; */
  flex-wrap: wrap;
  max-width: 100%;
}

.wp-lightbox-container button.lightbox-trigger {
  display: none;
}

.glitter {
  overflow: hidden;
  position: relative;
}

.glitter::before,
.glitter .wp-block-button__link::before {
  animation: glitter 2.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) infinite;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 45%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-45deg);
  content: "";
  opacity: 0.8;
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.glitter:has(.wp-block-button__link)::before {
  display: none;
}

@keyframes glitter {
  0% {
    left: -100%;
  }

  25% {
    left: 100%;
  }

  100% {
    left: 100%;
  }
}

.smallBtn {
  font-size: 1em;
  min-width: 0;
  min-height: 2.5em;
}

.wp-block-button.is-style-outline .wp-block-button__link,
main .is-style-outline .wp-block-button__link,
.linkBtn-small {
  display: flex;
  align-items: center;
}

.wp-block-button .btn_wrap,
.single main .btn_wrap {
  justify-content: flex-start;
}

.wp-block-button.is-style-outline .wp-block-button__link .linkBtn-inner,
main .is-style-outline .wp-block-button__link .linkBtn-inner,
.linkBtn-small .linkBtn-inner {
  position: relative;
}

.linkBtn img {
  display: inline-block;
  height: 1em;
  margin-right: 0.5em;
  transition: 0.1s ease-in-out;
  vertical-align: -0.1em;
}

.link_icon {
  display: inline-block;
  height: 0.8em;
  margin-left: 0.5em;
}

.tax {
  font-size: 0.5em;
  margin-left: 0.3em;
}

dl.accordion > dt,
dl.menu-accordion > dt,
.accordion > .accordion-ttl {
  cursor: pointer;
  position: relative;
}

dl.accordion > dd,
dl.menu-accordion > dd,
.accordion > .accordion-cnt {
  overflow: hidden;
  transition: 0.2s ease-in-out;
}

dl.accordion > dd > .accordion-inner,
.accordion > .accordion-cnt > .accordion-inner {
  opacity: 0;
  transition: 0.2s ease-in-out;
}

dl.accordion.open > dd > .accordion-inner,
.accordion.open > .accordion-cnt > .accordion-inner {
  opacity: 1;
}

.accordion-ttl:has(.plus_icon) {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 1em;
}

.accordion-ttl > .plus_icon {
  display: block;
  width: 1em;
  height: 1em;
  position: relative;
}

.accordion-ttl > .plus_icon::before,
.accordion-ttl > .plus_icon::after {
  border-top: solid 3px #e3b7cd;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0.1em;
  left: 0;
  right: 0;
  bottom: 0;
  transition: 0.2s ease-in-out;
  width: 0.9em;
  height: 0;
}

.accordion-ttl > .plus_icon::after {
  transform: rotate(90deg);
}

.accordion.open > .accordion-ttl > .plus_icon::before {
  transform: rotate(90deg);
  opacity: 0;
}

.accordion.open > .accordion-ttl > .plus_icon::after {
  transform: rotate(180deg);
}

.accordion_close {
  cursor: pointer;
}

.bgBox {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.bgBox img {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
  object-fit: cover;
}

.decoBox {
  pointer-events: none;
  position: absolute;
}

.opacity-6 {
  opacity: 0.6;
}

.opacity-8 {
  opacity: 0.8;
}

.opacity-10 {
  opacity: 1;
}

ul.markList {
  padding-left: 0;
}

ul.markList > li {
  position: relative;
  padding-left: 1em;
  line-height: 1.5;
}

ul > li,
.contentMain.default_deco ul > li,
.contentMain.default_deco ol > li {
  margin: 0;
  line-height: 1.5;
  position: relative;
}

ul.markList > li + li,
ul.normal > li + li,
.contentMain.default_deco ul > li + li,
ol > li + li,
.contentMain.default_deco ol > li + li {
  margin: 0.4em 0 0;
}

ul.markList > li::before {
  content: "\30FB";
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
}

ul.markList > li:after {
  display: none !important;
}

ul.markList.attentionMark > li:before {
  background: transparent;
  content: "\203B";
  top: 0.1em;
  left: 0;
}

ul.markList.dot > li:before {
  background: var(--color_1);
  border-radius: 100%;
  content: "";
  top: 0.5em;
  left: 0;
  width: 0.5em;
  height: 0.5em;
}

ul.markList.dot.dot-blue > li:before {
  background: var(--blue);
}

ul.markList.checkMark > li {
  padding-left: 1.5em;
}

ul.markList.checkMark > li:before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 25 19"><path fill="%234f775c" d="M14.7,6.42c-2.13,1.94-4.05,4.1-5.74,6.43-1.89-2.45-4.32-4.41-7.11-5.74l-1.85,4.08c.07.03,6.57,3.07,6.57,7.81h4.48c0-.69.48-3.4,6.7-9.29,2.3-2.16,4.72-4.2,7.25-6.1l-2.65-3.61c-2.67,2-5.22,4.14-7.65,6.42Z" /></svg>') no-repeat center / contain;
  content: "";
  top: 0;
  left: 0;
  width: 1em;
  height: 1.5em;
}


.contentMain.default_deco ol > li::before {
  top: auto;
}

ol.circleMark > li:before {
  background: var(--color_1);
  border-radius: 100%;
  box-sizing: border-box;
  color: #fff;
  counter-increment: number;
  content: counter(number);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  padding-bottom: 0.1em;
  position: absolute;
  top: 0.2em;
  left: -2em;
  text-align: center;
  width: 1.6em;
  height: 1.6em;
  line-height: 1;
}

.circleBox {
  border-radius: 100%;
}

.markerline {
  background: linear-gradient(transparent 50%, rgba(255, 244, 139, 0.8) 50%, rgba(255, 244, 139, 0.8) 100%);
  margin: 0 0.1em;
  padding: 0 0.1em;
}

.circleMark {
  border-radius: 100px;
  display: inline-block;
  line-height: 1.2;
  padding: 0.25em 0.6em 0.3em;
}

.dataBox-dl {
  display: grid;
  grid-gap: min(2vw, 8px);
}

.dataBox-dl dl {
}

.dataBox-dl dt {
  background: var(--w_gray);
}

@media screen and (max-width: 769px) {
  .dataBox-dl dl > * {
    padding: 0.5em 1em;
  }
}

@media print, screen and (min-width: 769px) {
  .dataBox-dl dl {
    border-bottom: solid 1px var(--d_gray);
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
  }

  .dataBox-dl dl > * {
    padding: 0.8em 1em;
  }
}

/*
// NOTE |  【特殊装飾】 */

@media screen and (max-width: 769px) {
}

@media print, screen and (min-width: 769px) {
}

.text_dots {
  background-image: radial-gradient(circle at center, var(--color_2) 20%, transparent 20%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 0.93em 0.3em;
  padding-top: 0.3em;
}

.article-category {
  display: flex;
  grid-gap: 0.4em;
  flex-wrap: wrap;
}

.category-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3em;
}

.article-tag {
  color: var(--color_1);
  display: flex;
  gap: 0 0.8em;
  font-size: 0.75em;
  font-weight: 500;
}

.icon {
  display: inline-block;
  vertical-align: -0.1em;
  width: 0.9em;
  height: 0.9em;
}

.icon.icon-search {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 12 16"><path fill="%23ffffff" d="M12,14.94l-3.22-5.63h0c1.84-1.64,2.35-4.42,1.07-6.65,0-.02-.02-.03-.03-.04-.17-.3-.37-.57-.59-.82-.07-.08-.16-.14-.23-.22-.17-.17-.34-.35-.53-.49-.1-.07-.21-.13-.31-.19-.18-.12-.37-.25-.56-.35-.24-.12-.5-.21-.76-.29-.07-.02-.13-.06-.2-.07-.12-.03-.24-.04-.36-.06-.21-.04-.43-.09-.64-.11-.27-.02-.54,0-.81.02-.07,0-.14,0-.22,0-.27.03-.54.11-.81.18-.07.02-.14.03-.2.05-.33.11-.66.26-.97.44-.18.11-.34.24-.5.36C.31,2.45-.45,4.85.26,7c.11.34.26.67.44.98.16.28.35.54.56.78.05.06.1.12.16.18.2.22.41.42.64.59.02.01.03.03.05.04.24.18.49.33.75.46.08.04.16.08.24.12.23.11.47.2.71.27.04.01.08.03.13.04.28.07.56.12.85.14.09,0,.18.01.27.02.08,0,.15.02.23.02.19,0,.37-.02.56-.04.03,0,.07,0,.1,0,.3-.04.59-.11.88-.2.04-.01.08-.03.11-.04h0s3.22,5.64,3.22,5.64l.6-.35,1.23-.72h0s0,0,0,0ZM6.94,8.22c-1.58.92-3.62.37-4.53-1.22-.91-1.6-.37-3.65,1.21-4.57.51-.3,1.08-.45,1.65-.45.29,0,.58.04.86.12.86.23,1.57.78,2.01,1.56.91,1.6.37,3.65-1.21,4.57Z" /></svg>')
    no-repeat center;
}

.icon.icon-new_window {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 12 12"><path fill="%23707070" d="M2.25,0v9.75h9.75V0H2.25ZM11.06,8.81H3.19V.94h7.88v7.88ZM.94,11.06V2.25h-.94v9.75h9.75v-.94H.94ZM5.46,7.33l2.76-2.76v1.99h.94v-3.59h-3.59v.94h1.99l-2.76,2.76.66.66Z" /></svg>') no-repeat center / contain;
  background-size: 90%;
}

.hover_shadow {
  transition: 0.2s ease-in-out;
}

@media (hover: hover) {
  .hover_shadow:hover {
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
  }
  a.hover_color:hover {
    color: var(--color_2);
  }
}

.f-05em {
  font-size: 0.5em;
}

.f-06em {
  font-size: 0.6em;
}

.f-07em {
  font-size: 0.7em;
}

.f-08em {
  font-size: 0.8em;
}

.f-09em {
  font-size: 0.9em;
}

.f-10em {
  font-size: 1em;
}

.f-11em {
  font-size: 1.1em;
}

.f-12em {
  font-size: 1.2em;
}

.f-13em {
  font-size: 1.3em;
}

.f-14em {
  font-size: 1.4em;
}

.f-15em {
  font-size: 1.5em;
}

.f-16em {
  font-size: 1.6em;
}

.f-17em {
  font-size: 1.7em;
}

.f-18em {
  font-size: 1.8em;
}

.f-20em {
  font-size: 2em;
}

.f-10 {
  font-size: 1rem;
}

.f-11 {
  font-size: min(2.8vw, 1.1rem);
}

.f-12 {
  font-size: min(3vw, 1.2rem);
}

.f-13 {
  font-size: min(3.3vw, 1.3rem);
}

.f-14 {
  font-size: min(3.6vw, 1.4rem);
}

.f-15 {
  font-size: min(3.8vw, 1.5rem);
}

.f-16 {
  font-size: min(4.1vw, 1.6rem);
}

.f-17 {
  font-size: min(4.3vw, 1.7rem);
}

.f-18 {
  font-size: min(4.6vw, 1.8rem);
}

.f-20 {
  font-size: min(5.1vw, 2rem);
}

.f-22 {
  font-size: min(5.6vw, 2.2rem);
}

.f-24 {
  font-size: min(6.1vw, 2.4rem);
}

#contents .has-small-font-size,
#contents [data-fontsize="12px"] {
  font-size: 0.8em !important;
}

#contents .has-medium-font-size,
#contents [data-fontsize="16px"] {
  font-size: 1.2em !important;
}

#contents .has-large-font-size,
#contents [data-fontsize="18px"] {
  font-size: 1.4em !important;
}

#contents .has-x-large-font-size,
#contents [data-fontsize="21px"] {
  font-size: 1.6em !important;
}

.lh-10 {
  line-height: 1;
}

.lh-12 {
  line-height: 1.2;
}

.lh-14 {
  line-height: 1.4;
}

.lh-16 {
  line-height: 1.6;
}

.lh-18 {
  line-height: 1.8;
}

.lh-20 {
  line-height: 2;
}

.lh-20 {
  line-height: 2.2;
}

.ls-0 {
  letter-spacing: 0;
}

.ls-03 {
  letter-spacing: 0.03em;
}

.ls-06 {
  letter-spacing: 0.06em;
}

.ls-10 {
  letter-spacing: 0.1em;
}

.ls-15 {
  letter-spacing: 0.15em;
}

.ls-20 {
  letter-spacing: 0.2em;
}

.ls-25 {
  letter-spacing: 0.25em;
}

small,
.small {
  font-size: 0.8em;
}

big,
.big {
  font-size: 1.2em;
}

strong {
  font-weight: bold;
}

sup {
  font-size: 0.5em;
  vertical-align: 0.5em;
}

.fw-normal {
  font-weight: 400;
}

.fw-elight {
  font-weight: 200;
}

.fw-light {
  font-weight: 300;
}

.fw-medium {
  font-weight: 500;
}

.fw-semibold {
  font-weight: 600;
}

.fw-bold {
  font-weight: 700;
}

.fw-black {
  font-weight: 900;
}

.txt-left {
  text-align: left;
}

.txt-right {
  text-align: right;
}

.txt-center {
  text-align: center;
}

.txt-justify {
  text-align: justify;
}

@media screen and (max-width: 769px) {
}

@media print, screen and (min-width: 769px) {
  .txt-center-pc {
    text-align: center;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  line-height: 1.6;
}

h1 {
  font-size: 2.2em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 960px) {
  h2 {
    font-size: 1.57em;
  }
  h3 {
    font-size: 1.3em;
  }

  h4 {
    font-size: min(5.5vw, 1.25em);
  }

  h5 {
    font-size: min(5vw, 1.2em);
  }
}

@media screen and (max-width: 500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
  h2 {
    font-size: min(3.2vw, 3.3rem);
  }
  h3 {
    font-size: min(3vw, 2.8rem);
  }
  h4 {
    font-size: min(2.8vw, 1.25em);
  }
  h5 {
    font-size: min(2.6vw, 1.2em);
  }
}

/* ////////// tablet ////////// */
@media screen and (min-width: 769px) and (max-width: 960px) {
}

@media screen and (min-width: 1580px) {
}

.border-none {
  border: none;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/*====================================================
////id |  .yt
====================================================*/

.yt,
.wp-block-embed__wrapper {
  position: relative;
  height: 0;
  padding: 0px 0 56.3%;
  overflow: hidden;
}

.yt iframe,
.wp-block-embed__wrapper iframe {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
}

/*====================================================
////id |  a11y-control
====================================================*/
.a11y-content {
  --a11y_font_size: 14px;
}
/* ===== UI（ボタン） ===== */
.a11y-control {
  display: flex;
  align-items: center;
  gap: 0.85em;
  font-size: var(--a11y_font_size);
}
.a11y-control dt {
  white-space: nowrap;
}
.a11y-control dd {
  display: flex;
  align-items: center;
  gap: 6px;
}
.a11y-btn {
  background: var(--base_bg);
  border: solid 1px var(--d_gray);
  border-radius: 3px;
  color: var(--d_gray);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--a11y_font_size);
  line-height: 1;
  padding: 0 0.5em 0.05em;
  text-align: center;
  transition: background-color 0.2s ease-in-out;
  height: 2em;
}
@media (hover: hover) {
  .a11y-btn:hover {
    background: #f2f4f7;
  }
}

.a11y-btn[aria-pressed="true"] {
  background: var(--d_gray2);
  border-color: var(--d_gray2);
  color: var(--base_bg);
  pointer-events: none;
}

.a11y-btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* ===== 文字サイズ =====
   ※サイト全体を安定して拡大するなら html の font-size を上げるのが一番崩れにくい
*/
html[data-a11y-font="large"] {
  /* font-size: 112.5%; */
  font-size: calc(10px * 1.125);
  font-size: calc(62.5% * 1.125);
  /* 16px -> 18px相当 */
}

/* ===== 背景色（テーマ） =====
   注意：テーマによっては各ブロックが独自に背景色を持っていて完全には反映されません。
   その場合は “上書き対象をmainだけにする” 等に調整します。
*/

/* 白（デフォルト寄り） */
html,
html[data-a11y-theme="white"] {
  --base_bg: #fff;
  --base_color: var(--black);
}

/* 黒（ダーク） */
html[data-a11y-theme="black"] {
  --base_bg: #000;
  --base_color: #fff;
}
html[data-a11y-theme="black"] a {
  color: inherit;
}

/* 青（高コントラスト寄り） */
html[data-a11y-theme="blue"] {
  --base_bg: #0b2a6f;
  --base_color: #fff;
}
html[data-a11y-theme="blue"] a {
  color: inherit;
}

/* “よくある白背景ブロック”を最低限追従させる（必要なら増やす） */
html[data-a11y-theme="black"] .wp-block-group,
html[data-a11y-theme="blue"] .wp-block-group {
  background: transparent;
}

/*====================================================
////id |   音声読み上げ
====================================================*/
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  padding: 0;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
}

.js-tts-btn {
  background: var(--d_gray2);
  border-radius: 3px;
  color: var(--base_bg);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.57em;
  font-size: var(--a11y_font_size);
  line-height: 1;
  padding-bottom: 0.05em;
  height: 2em;
  width: 10.8em;
}
.js-tts-btn::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 13"><path fill="%23ffffff" d="M11.74.19c-.43-.25-.96-.25-1.39,0l-4.59,2.68h-2.94c-1.55,0-2.81,1.27-2.82,2.82v1.63c0,1.56,1.26,2.82,2.82,2.82h2.94l4.59,2.67c.66.39,1.52.16,1.9-.51.12-.21.19-.45.19-.7V1.4c0-.5-.27-.96-.7-1.21ZM5.32,8.74h-2.51c-.79,0-1.43-.64-1.43-1.43h0v-1.63c0-.79.64-1.43,1.43-1.43h2.51v4.49ZM11.05,11.6l-4.91-2.86v-4.49h0l4.91-2.86v10.21ZM16.22,3.08c-.19-.2-.51-.2-.71,0-.19.18-.2.48-.04.68,1.4,1.56,1.4,3.93,0,5.49-.19.21-.17.52.03.71.2.19.52.17.71-.03,0,0,0,0,0,0,1.74-1.94,1.74-4.89,0-6.84h0ZM18.06,1.42c-.19-.21-.5-.22-.71-.03-.2.19-.22.5-.04.71,2.24,2.51,2.24,6.31,0,8.81-.18.21-.17.52.04.71.21.19.52.17.71-.04h0c2.59-2.89,2.59-7.27,0-10.16h0ZM13.67,4.71c-.2.19-.22.5-.04.71.56.62.56,1.55,0,2.17-.18.21-.15.53.06.71.2.17.5.15.68-.04.9-1,.9-2.51,0-3.51-.18-.21-.5-.22-.71-.04,0,0,0,0,0,0Z" /></svg>')
    no-repeat center / contain;
  content: "";
  display: block;
  margin-bottom: -0.1em;
  width: 1.3em;
  height: 1em;
}
html[data-a11y-theme="blue"] .js-tts-btn::before,
html[data-a11y-theme="black"] .js-tts-btn::before {
  filter: invert(10);
}

/* 読み上げ中 */
.js-tts-btn.is-speaking {
  opacity: 0.85;
}

/* 非対応時 */
.js-tts-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/*====================================================
////id |  weglot 言語切替
====================================================*/
header .country-selector {
  border: solid 1px var(--black);
  border-radius: 2px;
  display: flex;
    align-items: center;
  line-height: 1;
  overflow: hidden;
}
header .country-selector.weglot-inline label ,
header .country-selector.weglot-inline li a {
  display: flex;
    align-items: center;
    justify-content: center;
  font-size: inherit;
  font-weight: 500;
  padding: 0 0 .1em;
  width: 4.46em;
  height: 1.73em;
} 
header .country-selector.weglot-inline label {
  background: var(--black);
  color: #fff;
  padding: 0;
  pointer-events: none;
}
header .country-selector.weglot-inline label::before,
header .country-selector.weglot-inline label::after {
  display: none;
}
header .country-selector.weglot-inline li {
  margin: 0;
}
header .country-selector.weglot-inline li a {
  background: #fff;
} 

@media (hover: hover) {
  header .country-selector.weglot-inline li a:hover {
    background: var(--l_gray);
    color: inherit;
    text-decoration: none;
  }
}

/*====================================================
////id 【header】
====================================================*/
@media screen and (max-width: 1220px) {
  :root {
    --header_h: min(20vw, 75px);
  }
}
@media print, screen and (min-width: 1220.1px) {
  :root {
    --header_h: min(7vw, 90px);
  }
}
.header-logo {
  display: flex;
    align-items: center;
  /* height: calc(var(--header_h) - 14px); */
  position: fixed;
    top: 7px;
    left: min(2.5vw, 35px);
  transform-origin: top left;
  transition: 0.4s ease-in-out;
  z-index: 999990;
}
.header-logo img {
  height: calc(var(--header_h) - 14px);
}

header {
  transition: 0.2s ease-in-out;
  position: relative;
  z-index: 888888;
}

.header-inner {
  height: 100%;
  margin: auto;
  /* width: calc(100% - (min(2.5vw, 30px) * 2)); */
  width: 100%;
}

header img {
  margin: 0;
}

header .headerBox {
  position: fixed;
  left: 0;
  right: 0;
  transition: 0.2s ease-in-out;
  width: 100%;
  height: var(--header_h);
  z-index: 888888;
}

.header-pc {
  font-size: min(1.1vw, 1.5rem);
}

.header-a11y-pc {
  display: flex;
  grid-gap: min(1.5vw, 16px);
}
.a11y-controls {
  display: flex;
  grid-gap: 0.85em min(1.5vw, 16px);
}

.header-pc_menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
}
.header-pc_menu .menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0 min(1.3vw, 50px);
  height: 100%;
  padding: 0;
  /* max-width: min(30vw, 400px); */
}

.header-pc_menu .menu > .menu-item {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  position: relative;
}

.header-pc_menu .menu a {
  font-weight: 700;
  padding: 0.2em;
  position: relative;
  z-index: 10;
}

.header-pc_menu .menu > .menu-item > a {
  display: grid;
  place-content: center;
  place-items: center;
}

.header-pc_menu .menu > .menu-item > a:hover {
  opacity: 1;
}

.header-pc_menu .menu a::before {
  border-bottom: solid 2px var(--color_1);
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  right: 0;
  bottom: 0;
  transition: 0.2s ease-in-out;
  width: 0;
  height: 0;
  z-index: -1;
}

.header-pc_menu .menu a:hover::before {
  opacity: 1;
  left: 0;
  right: auto;
  width: 100%;
}

.header-pc_menu .menu li:has(.sub-menu-outer) > a {
  /* margin-right: 1.2em; */
  position: relative;
}

.header-pc_menu li:has(.sub-menu-outer) {
  position: relative;
}

.header-pc_menu li:has(.sub-menu-outer)::before {
  content: "";
  display: block;
  margin: auto;
  pointer-events: auto;
  position: absolute;
  top: 100%;
  left: -3em;
  width: calc(100% + 6em);
  height: 40px;
}

.header-pc_menu li:has(.sub-menu-outer):hover::before {
  pointer-events: auto;
}

.header-pc_menu .sub-menu-outer {
  margin: auto;
  pointer-events: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  text-align: center;
  white-space: nowrap;
  z-index: 30;
}

.header-pc_menu .open .sub-menu-outer {
  opacity: 1;
  pointer-events: auto;
}

.header-pc_menu .sub-menu-block {
  padding: 0 15px 20px;
  text-align: center;
  transition: 0.2s ease-in-out;
}

.header-pc_menu .sub-menu-block::before {
  background: var(--base_bg);
  box-sizing: border-box;
  content: "";
  display: block;
  margin: auto;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.2s ease-in-out;
  width: 100%;
  height: 100%;
}

.headerBox:hover .header-pc_menu .sub-menu-block::before {
  opacity: 1;
}

.header-pc_menu .sub-menu {
  display: inline-block;
  text-align: left;
}

.header-pc_menu .sub-menu {
  pointer-events: auto;
  font-weight: 500;
}
.header-pc_menu .sub-menu li {
  padding-left: 1.3em;
  position: relative;
}
.header-pc_menu .sub-menu li::before {
  border-top: solid 1px;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 0.7em;
  height: 0;
}
.header-pc_menu .sub-menu li + li {
  margin-top: 0.5em;
}


.header-btn-link {
  display: flex;
    align-items: center;
    justify-content: center;
    gap: .3em 1em;
  font-weight: 700;
  line-height: 1.4;
  padding: 7px;
  position: relative;
  transition: none;
}
.header-btn-link img {
  height: 1.466em;
}
.header-btn-link::before,
.header-btn-link::after {
  border: solid currentColor;
  box-sizing: border-box;
  content: '';
  display: block;
  margin: auto;
  opacity: 0;
  position: absolute;
  transition: width .2s ease-in-out, height .2s ease-in-out;
  width: 0;
  height: 0;
}
.header-btn-link::before {
  border-width: 1px 0 0 1px;
  top: 5px;
  left: 5px;
}
.header-btn-link::after {
  border-width: 0 1px 1px 0;
  right: 5px;
  bottom: 5px;
}
.header-btn-link .translation-en {
  display: none;
}
html[lang="en"] .header-btn-link .translation-en {
  display: block;
}
html[lang="en"] .header-btn-link:has(.translation-en) .jp {
  display: none;
}

.header-btn-mob {
  display: grid;
    grid-gap: min(3vw, 40px);
  margin-top: 30px;
}
.header-btn-mob .header-btn-link {
  min-height: 4em;
}
.header-btn-mob .header-btn-link:nth-child(2) {
  background: #fff;
  color: var(--color_1);
}
.header-btn-mob .header-btn-link:nth-child(2) img {
  filter: none;
}

.header-mob .country-selector {
  margin-top: 30px;
}
.header-mob .country-selector > * {
  flex: 1;
}
.header-mob .country-selector .weglot-lang ,
.header-mob .country-selector .weglot-lang a {
  width: 100%;
}
@media (hover: hover) {
  .header-btn-link:hover::before,
  .header-btn-link:hover::after {
    opacity: 1;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
  }
  .header-mob .country-selector .weglot-lang a:hover {
    color: var(--black);
  }
}

.header-btn-link:nth-child(1) {
  background-color: #E2E3DD;
  color: var(--color_1);
}
.header-btn-link:nth-child(2) {
  background-color: var(--color_1);
  color: #fff;
}
.header-btn-link:nth-child(2) img {
  filter: brightness(0) invert(10);
}

.header-btn-pc {
  display: flex;
}
.header-btn-pc .header-btn-link {
  flex-direction: column;
  min-width: 8em;
  height: var(--header_h);
}
@media print,screen and (min-width: 1600.1px) {
  .header-btn-pc .header-btn-link {
    width: 180px;
  }
}

header .menu-outer {
  z-index: 30;
}

.header-menuBtn {
  cursor: pointer;
  display: grid;
  grid-template-rows: 1fr auto;
  overflow: hidden;
  position: fixed;
  top: 15px;
  right: var(--innerBox_margin);
  transition: 0.2s ease-in-out;
  width: calc(var(--header_h) - 30px);
  height: calc(var(--header_h) - 30px);
  z-index: 999995;
}

.header-menuBtn .humberger {
  margin: 0;
  position: relative;
  transition: opacity 0.2s ease-in-out;
  width: 100%;
  height: 100%;
}

.header-menuBtn .humberger span {
  border-top: solid 2px var(--color_1);
  content: "";
  margin: auto;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: 0.2s ease-in-out;
  height: 0;
}

.header-menuBtn .humberger span:nth-child(1) {
  width: 100%;
  transform: translateY(-3px);
}
.header-menuBtn .humberger span:nth-child(2) {
  display: none;
}
.header-menuBtn .humberger span:nth-child(3) {
  right: auto;
  width: 77.777%;
  transform: translateY(+3px);
}

header + .maskBox {
  /* background: rgba(0, 0, 0, .1); */
  backdrop-filter: blur(2px);
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  transition: 0.5s ease-in-out;
  width: 100%;
  height: 100vh;
  height: 100svh;
  z-index: 777777;
}

header .menuBox {
  backdrop-filter: blur(10px) brightness(1.2);
  border-radius: 15px 0 0 15px;
  color: #fff;
  margin: auto;
  opacity: 0;
  overflow-y: auto;
  padding: min(8vw, 40px) 0 min(10vw, 40px);
  pointer-events: none;
  position: fixed;
  top: var(--header_h);
  right: 0;
  transition: 0.5s ease-in-out;
  transform: translateX(100px);
  width: min(calc(100% - var(--innerBox_margin)), 500px);
  height: calc(100vh - var(--header_h));
  height: calc(100svh - var(--header_h));
  z-index: 999999;

  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  
  background-color: rgb(0 129 124 / 0.96);
}
header .menuBox::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
header .menuBox::after {
  /* background: var(--color_1);
  content: "";
  display: block;
  margin: auto;
  opacity: 0.96;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1; */
}
.menu-open .header-menuBtn .humberger span {
  width: 100%;
}
.menu-open .header-menuBtn .humberger span:nth-child(1) {
  transform: rotate(-135deg);
}
.menu-open .header-menuBtn .humberger span:nth-child(2) {
  opacity: 0;
}
.menu-open .header-menuBtn .humberger span:nth-child(3) {
  transform: rotate(135deg);
}
.menu-open header + .maskBox {
  opacity: 1;
  pointer-events: auto;
}
.menu-open header .menuBox {
  pointer-events: auto;
  transform: none;
  opacity: 1;
}
header .menuBox .menuBox-inner {
  margin: auto;
  position: relative;
  width: min(90%, 340px);
  z-index: 10;
}

header .menuBox-first {
  display: flex;
  justify-content: space-between;
  /* margin: 0 -5%;
    width: 110%; */
}

header .menu_logo_img {
  height: var(--header_h);
}

header .menuBox-closeBtn {
  cursor: pointer;
  position: relative;
  width: var(--header_h);
  height: var(--header_h);
}

header .menuBox-closeBtn::before,
header .menuBox-closeBtn::after {
  border-top: solid 2px var(--color_1);
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 80%;
  height: 0;
}

header .menuBox-closeBtn::before {
  transform: rotate(-45deg);
}

header .menuBox-closeBtn::after {
  transform: rotate(45deg);
}

header .menuBox-content {
  display: grid;
  grid-gap: 18px;
  margin: 0 auto 0;
}

header .menuBox .menu-main .menu > li {
  border-bottom: solid 1px rgba(255, 255, 255, 0.4);
  padding: 0.5em 0;
  position: relative;
  width: 100%;
}

header .menuBox .menu-main .menu > li > a {
  display: grid;
    grid-template-columns: 1fr auto;
  padding: 1em 0;
  position: relative;
}

header .menuBox li + li {
  margin-top: 0;
}

header .menuBox .menu li a {
  position: relative;
}

header .menuBox .menu > li > a::after {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 65 12"><path fill="%23fff" d="M55,11.77v-4.77H0v-2h55V.23l10,5.77-10,5.77Z" /></svg>') no-repeat center / contain;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0.5em;
  bottom: 0;
  transition: 0.2s ease-in-out;
  width: 35px;
  height: 1em;
}

header .menu .sub-menu-outer {
  overflow: hidden;
  /* position: relative; */
  transition: 0.4s ease-in-out;
  z-index: 10;
}

header .menuBox .sub-menu-outer {
  height: auto !important; /* 展開済みにするため */
  /* transform: translateY(-.5em); */
}

header .menuBox li:has(.sub-menu-btn) > a {
  /* pointer-events: none; */
}

header .menuBox li:has(.sub-menu-btn) > a::after {
  display: none;
}

header .menuBox li .sub-menu-btn {
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 3.5em;

  display: none; /* 展開済みにするため */
}

header .menuBox li .sub-menu-btn::before,
header .menuBox li .sub-menu-btn::after {
  border-top: solid 2px;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0.2em;
  transition: 0.2s ease-in-out;
  width: 1em;
  height: 0;
}

header .menuBox li .sub-menu-btn::after {
  transform: rotate(90deg);
}

header .menuBox li.open .sub-menu-btn::before {
  transform: rotate(180deg);
}

header .menuBox li.open .sub-menu-btn::after {
  transform: rotate(180deg);
}

header .menuBox li .sub-menu {
  padding-left: 1em;
}
header .menuBox li .sub-menu a {
  display: block;
  padding: 0.3em 0.3em 0.3em 1em;
}
header .menuBox li .sub-menu a::before {
  border-top: solid 1px;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 1em;
  left: 0;
  transition: 0.2s ease-in-out;
  width: 0.5em;
  height: 0;
}

.menu .menu-item.no_link > a {
  pointer-events: none;
}

/* ////////// mobile ////////// NOTE header mobile */
@media screen and (max-width: 1220px) {

  .header-logo {
    mix-blend-mode: difference;
  }
  .header-logo_img {
    filter: invert(10);
  }

  .body_wrapper.first .header-logo {
    height: min(18vw, 120px);
    top: 20px;
    mix-blend-mode: unset;
  }
  .body_wrapper.first .header-logo_img {
    height: min(18vw, 120px);
    filter: none;
  }

  header .headerBox {
    height: 0;
  }

  .header-weglot {
    display: flex;
      align-items: center;
    font-size: calc(min(3.7333vw, 1.6rem) * .8);
    position: fixed;
      top: 0;
      right: calc(var(--innerBox_margin) + 75px);
    height: var(--header_h);
  }

  header.hide {
    top: -130px;
  }


  .header-pc_menu,
  .header-btn-pc {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .header-pc_menu .header-cta-link-wrapper {
    display: none;
  }
}

/* ////////// PC ////////// NOTE header PC */
@media print, screen and (min-width: 769px) {
}

@media print, screen and (min-width: 1220.1px) {

  header {
    height: 0;
  }

  header .headerBox {
    background: rgba(255, 255, 255, 0);
    position: fixed;
    left: 0;
    right: 0;
    transition: background-color 0.2s ease-in-out;
    width: 100%;
    height: var(--header_h);
    z-index: 888888;
  }

  header.hide .headerBox {
    transform: translateY(-130px);
  }
  .global header .headerBox {
    backdrop-filter: blur(5px);
    background: rgba(255, 255, 255, 0.6);
  }
  header.hide {
    top: -180px;
  }

  .header-inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: none;
    padding-left: calc(min(2.5vw, 35px) + 200px);
  }


  .body_wrapper.first .header-logo {
    /* height: min(26vw, 130px);
    top: 45px; */
    transform: scale(1.7) translateY(15px);
  }
  /* .body_wrapper.first .header-logo_img {
    height: min(26vw, 130px);
  } */

  header .header-logo a:hover {
    color: inherit;
  }

  .header-menuBtn,
  header .menu-outer {
    display: none;
  }

  .header-pc {
    display: flex;
      align-items: center;
      justify-content: flex-end;
    grid-gap: min(3vw, 80px);
  }
  .header-pc_menu .menu {
    gap: 0 min(1.5vw, 3em);
  }

  .header-a11y-pc {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}
@media print,screen and (min-width: 1600.1px) {
  .header-pc {
    grid-gap: 0 80px;
  }
  .header-pc_menu .menu {
    gap: 0 80px;
  }
}

@media (hover: hover) {
  @media print, screen and (min-width: 1220.1px) {
    .global header .headerBox:hover {
      background: rgba(255, 255, 255, .8);
    }
  }
  .header-pc_menu .sub-menu a:hover {
    /* color: var(--color_1); */
    opacity: 1;
  }

  .header-menuBtn:hover {
    filter: brightness(1.1) saturate(1.1);
  }

  header .menuBox .menu a:hover,
  header .menuBox .menu .sub-menu-btn:hover {
    opacity: 1;
  }

  header .menuBox .menu li a:hover::after {
    right: 0;
  }
  header .menuBox li .sub-menu a:hover {
    padding: 0.3em 0 0.3em 1.3em;
  }
  header .menuBox li .sub-menu a:hover::before {
    width: 0.8em;
  }

  .sns-item:hover {
    transform: scale(1.1);
  }
}

/*====================================================
////id |   loader
====================================================*/
.is-hide {
  display: none;
}

/* ローディング画面をフェードアウト */
.fadeout-bg {
  transition-property: opacity;
  transition-delay: 0s;
  transition-duration: 1.7s;
  opacity: 0;
  pointer-events: none;
}

/* ローディング画面 */
#loader {
  background: var(--base_bg);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999999;
}

/*====================================================
//class .sa
====================================================*/
.sa {
  opacity: 0;
}

.sa.show {
  animation: 0.8s ease-in-out forwards sa-show;
}

.sa.slow.show {
  animation: 1.2s ease-in-out forwards sa-show;
}

@keyframes sa-show {
  to {
    opacity: 1;
    transform: none;
  }
}

.sa.show_after {
  opacity: 1;
  transform: none;
  transition: 0s;
}

.sa-lr {
  transform: translate(-40px, 0);
}

.sa-rl {
  transform: translate(40px, 0);
}

.sa-up {
  transform: translate(0, 40px);
}

.sa-down {
  transform: translate(0, -40px);
}

.sa-scaleUp {
  transform: scale(0.8);
}

.sa-scaleDown {
  transform: scale(1.2);
}

.sa-rotateL {
  transform: rotate(180deg);
}

.sa-rotateR {
  transform: rotate(-180deg);
}

.sa.slideShow {
  opacity: 1;
  position: relative;
  z-index: 1;
}

.sa.slideShow:before {
  background: var(--color_5);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  transition: 0.5s ease-in-out;
  width: 0;
  height: 100%;
  z-index: 10;
}

.sa.slideShow.show:before {
  -webkit-animation: anim-slide 1.3s ease-in-out forwards;
  animation: anim-slide 1.3s ease-in-out forwards;
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

@keyframes anim-slide {
  0% {
  }

  47% {
    width: 100%;
    left: 0;
    right: 0;
  }

  53% {
    width: 100%;
    left: auto;
    right: 0;
  }

  100% {
    width: 0;
    left: auto;
    right: 0;
  }
}

.sa.slideShow.slide-rl:before {
  left: auto;
  right: 0;
}
.sa.slideShow.slide-rl.show:before {
  -webkit-animation: anim-slide-rl 1.3s ease-in-out forwards;
  animation: anim-slide-rl 1.3s ease-in-out forwards;
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

@keyframes anim-slide-rl {
  0% {
  }

  47% {
    width: 100%;
    left: auto;
    right: 0;
  }

  53% {
    width: 100%;
    right: auto;
    left: 0;
  }

  100% {
    width: 0;
    right: auto;
    left: 0;
  }
}

.sa.slideShow:not(.show) > * {
  opacity: 0;
}

.sa.slideShow.show > * {
  animation: anim-slide-item 1.1s ease-in-out forwards;
}

@keyframes anim-slide-item {
  0%,
  99% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.sa.sa-imgScaleDown img {
  transform: scale(1.1);
}

.show.sa-imgScaleDown img {
  animation: 8s 0.6s ease-out forwards scaleDownImg;
}

@keyframes scaleDownImg {
  to {
    transform: none;
  }
}

/*====================================================
////id |  swiper
====================================================*/

#contents .swiper-container {
  display: grid;
    align-items: center;
    grid-gap: min(3.2vw, 24px);
    grid-template-columns: 1fr 35px 50px 35px 1fr;
}
#contents .swiper-wrapper {
  grid-column: span 5;
}

#contents .swiper-button-prev,
#contents .swiper-button-next {
  background: transparent;
  border-radius: 0;
  cursor: pointer;
  position: relative;
    top: 0.7em;
    bottom: auto;
    right: auto;
    left: auto;
  transition: .2s ease-in-out;
  width: 35px;
  height: 1em;
}

#contents .swiper-button-prev {
  grid-column: 2;
  grid-row: 2;
}

#contents .swiper-button-next {
  grid-column: 4;
  grid-row: 2;
}

#contents .swiper-button-prev,
#contents .swiper-button-next {
  position: relative;
}
#contents .swiper-button-prev::after,
#contents .swiper-button-next::after {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 65 12"><path fill="%23333333" d="M55,11.77v-4.77H0v-2h55V.23l10,5.77-10,5.77Z" /></svg>') no-repeat center / contain;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: 0.2s ease-in-out;
  width: 100%;
  height: 100%;
}

#contents .swiper-button-prev::after {
  transform: scale(-1, 1);
}

#contents .swiper-button-prev.swiper-button-disabled,
#contents .swiper-button-next.swiper-button-disabled {
  opacity: 0 !important;
  pointer-events: none !important;
}

#contents .swiper-pagination {
  grid-column: 3;
  grid-row: 2;
  position: unset;
}

.swiper-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(2vw, 20px);
}
#contents .swiper-pagination.swiper-pagination-fraction:not(.swiper-pagination-bullets) {
  background: transparent;
  font-family: var(--f_en);
  gap: .1em;
  line-height: 1.2;
  padding: 0;
  transform: none;
}
.swiper-pagination-current {
  font-size: 1.4em;
  transform: translateY(-.14em);
}
.swiper-pagination-total {
  font-size: 1.4em;
  transform: translateY(.14em);
}

#contents .swiper-pagination-bullet {
  background-color: #dbdbdb;
  border-radius: 8px;
  margin: 0;
  outline: none;
  width: 8px;
  height: 8px;
}

#contents .swiper-pagination-bullet-active {
  background-color: var(--color_1);
}

#contents .swiper-slide {
  font-size: inherit;
}

#contents .swiper-scrollbar {
  height: 2px;
  position: relative;
  top: unset;
  bottom: unset;
}

#contents .swiper .vk_slider_item {
  margin-top: 0 !important;
}

/* 対象限定：number_pagenation の中だけ */
.number_pagenation .swiper-pagination.is-fraction-enhanced .swiper-pagination-bullet {
  display: none;
}

.number_pagenation .swiper-pagination.is-fraction-enhanced .js-swiper-fraction {
  display: inline-block;
  font-variant-numeric: tabular-nums;
  /* 桁ブレ防止 */
  line-height: 1;
}

.swiper-controls {
  display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: min(3vw, 24px);
  margin-top: min(3.2vw, 30px);
  padding-bottom: 5px;
}
.swiper-controls:has(.swiper-pagination-lock) {
  display: none;
}
.swiper-controls .swiper-controls-button-prev,
.swiper-controls .swiper-controls-button-next {
  cursor: pointer;
  position: relative;
  width: 65px;
  height: 15px;
}
.swiper-controls .swiper-controls-button-prev.swiper-button-disabled,
.swiper-controls .swiper-controls-button-next.swiper-button-disabled {
  opacity: 0;
  pointer-events: none;
}
.swiper-controls .swiper-controls-button-prev {
  transform: scale(-1, 1);
}
.swiper-controls .swiper-controls-button-prev::before,
.swiper-controls .swiper-controls-button-next::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 35 6"><path fill="%23333333" d="M30,5.89v-2.39H0v-1h30V.11l5,2.89-5,2.89Z" /></svg>') no-repeat center /
    contain;
  content: "";
  display: block;
  filter: brightness(0) invert(10);
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.2s ease-in-out;
  width: 100%;
  height: 100%;
}

.swiper-controls.small-controls {
  font-size: .87em;
}
.swiper-controls.small-controls .swiper-controls-button-prev,
.swiper-controls.small-controls .swiper-controls-button-next {
  width: 35px;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 1199.9px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 1200px) {
}

@media (hover: hover) {
  #contents .swiper-button-prev:hover,
  #contents .swiper-button-next:hover {
    opacity: 1;
    transform: scale(1.1);
  }

  .swiper-controls .swiper-controls-button-prev:hover::before,
  .swiper-controls .swiper-controls-button-next:hover::before {
    transform: scale(1.1);
  }
}

/*====================================================
////class .headBox
====================================================*/
.headBox {
  position: relative;
  z-index: 2;
}

.headBox h2,
.headBox h3,
.headBox h4 {
  position: relative;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (max-width: 500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width: 769px) and (max-width: 960px) {
}

@media screen and (min-width: 1580px) {
}

/*====================================================
//id |  form
====================================================*/
input,
button,
select {
  margin: 0;
  padding: 0;
  background: none;
  background-image: none;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: inherit;
  cursor: pointer;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="password"],
input[type="url"],
input[type="number"],
input[type="date"],
select,
textarea {
  -webkit-appearance: none;
  background: var(--base_bg);
  border: solid 1px #acacac;
  border-radius: 2px;
  color: var(--base_color);
  display: block;
  font-family: var(--font_family);
  line-height: 1.4;
  padding: 0.7em 1em;
  width: 100%;
  min-height: 3em;
  flex: 1;
  transition: 0.2s ease-in-out;
}

.input-s {
  max-width: 15em;
}

textarea {
  resize: vertical;
  line-height: 1.6;
  min-height: 80px;
  width: 100%;
}

::-moz-placeholder {
  color: #c9c9c9;
  font-size: 0.85em;
}

:-ms-input-placeholder {
  color: #c9c9c9;
  font-size: 0.85em;
}

::placeholder {
  color: #c9c9c9;
  font-size: 0.85em;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
}

input[type="file"],
label {
  cursor: pointer;
}

form label {
  line-height: 1.6;
  display: inline-block;
  position: relative;
}

.wpcf7-acceptance > .wpcf7-list-item {
  display: inline-block;
  position: relative;
  width: 1.5em;
  height: 1em;
}

input[type="checkbox"] + span,
input[type="checkbox"] + label {
  position: relative;
  padding-left: 1.5em;
  display: inline-block;
}

.wpcf7-acceptance > .wpcf7-list-item:before,
input[type="checkbox"] + span:before,
input[type="checkbox"] + label:before {
  position: absolute;
  content: "";
  width: 1em;
  height: 1em;
  border: solid 1px;
  border-radius: 3px;
  border-color: var(--base_color);
  top: 0.05em;
  left: 0px;
  background: var(--base_bg);
  transition: 0.2s ease-in-out;
}

input[type="checkbox"] + label:before {
  top: -0.15em;
}

.wpcf7-acceptance > .wpcf7-list-item:after,
input[type="checkbox"] + span:after,
input[type="checkbox"] + label:after {
  position: absolute;
  content: "";
  width: 0.7em;
  height: 0.35em;
  border: solid;
  border-width: 0 0 3px 3px;
  border-color: transparent transparent var(--red) var(--red);
  transform: rotate(-45deg);
  top: 0.2em;
  left: 3px;
  opacity: 0;
  transition: 0.2s ease-in-out;
}

input[type="checkbox"] + label:after {
  top: -2px;
}

.wpcf7-acceptance > .wpcf7-list-item:has(input[type="checkbox"]:checked):after,
input[type="checkbox"]:checked + span:after,
input[type="checkbox"]:checked + label:after {
  opacity: 1;
}

input[type="radio"] + span,
input[type="radio"] + label {
  display: inline-block;
  position: relative;
  padding-left: 1.5em;
}

input[type="radio"] + span:before,
input[type="radio"] + label:before {
  background: var(--base_bg);
  content: "";
  border: solid 1px;
  border-radius: 100%;
  border-color: var(--d_gray);
  position: absolute;
  top: 0.35em;
  left: 0px;
  transition: 0.2s ease-in-out;
  width: 1em;
  height: 1em;
}

input[type="radio"] + span:after,
input[type="radio"] + label:after {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 10 10"><path fill="%23de3030" d="M10,5c0,2.76-2.24,5-5,5S0,7.76,0,5,2.24,0,5,0s5,2.24,5,5Z" /></svg>') no-repeat center;
  background-size: 60% 60%;
  content: "";
  border: solid 1px transparent;
  border-radius: 100%;
  opacity: 0;
  position: absolute;
  top: 0.35em;
  left: 0px;
  transition: 0.2s ease-in-out;
  width: 1em;
  height: 1em;
}

input[type="radio"]:checked + span:after,
input[type="radio"]:checked + label:after {
  opacity: 1;
}

.select {
  position: relative;
}

.select:before {
  border: solid var(--black);
  border-width: 0 1px 1px 0;
  content: "";
  display: block;
  margin: auto;
  pointer-events: none;
  position: absolute;
  top: 1.1em;
  right: 10px;
  transform: rotate(45deg);
  width: 0.3em;
  height: 0.3em;
  z-index: 100;
}

#confirm .select:before {
  display: none;
}

select {
  cursor: pointer;
}

.tel input[type="text"] {
  width: calc(100% / 3 - 10px);
  max-width: 100px;
}

@media screen and (max-width: 769px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="search"],
  input[type="password"],
  input[type="url"],
  input[type="number"],
  select,
  textarea,
  .vkfs input[type="text"],
  .vkfs input[type="search"] {
    padding: 0.7em 0.7em;
  }
}

/*====================================================
////class コンタクトフォーム7
====================================================*/
.wpcf7-form .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 0.3em 1.2em;
}

.wpcf7-form .wpcf7-radio {
  display: grid;
  grid-gap: 0.4em;
}

.wpcf7-form .wpcf7-list-item {
  margin-left: 0;
}

.wpcf7-form .wpcf7-not-valid-tip {
  bottom: -7px;
  background: var(--red);
  color: #fff;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: bold;
  margin: 5px 0 10px;
  padding: 0.25em 0.5em 0.3em 0.8em;
  position: relative;
  text-align: center;
  /* width: 12em; */
  white-space: nowrap;
}

.wpcf7-not-valid-tip:before {
  border: solid transparent;
  border-width: 0 5px 12px 5px;
  border-bottom-color: var(--red);
  content: "";
  margin: auto;
  position: absolute;
  top: -10px;
  left: 20px;
  width: 0;
  height: 0;
}

.wpcf7-spinner {
  display: none !important;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background: var(--red);
  border-color: var(--red);
  border-radius: 5px;
  color: #fff;
  margin: 1.5em auto 0;
  max-width: 720px;
  padding: 0.5em 1em;
}

/*====================================================
////class .formBox
====================================================*/
* + .wpcf7 {
  margin-top: min(10vw, 60px);
}

.formBox {
  margin: 0 auto 0;
}

.formBox.confirm {
  text-align: center;
}

.formBox.confirm .whiteBox {
  display: inline-block;
  text-align: left;
}

.formBox .innerBox {
  padding-bottom: min(25vw, 150px);
}

.formBox .formItem-outer {
  grid-gap: 1.8em;
}

.formBox .formItem {
  display: grid;
  grid-gap: 0.5em 1em;
  width: 100%;
}

.formBox .formItem.head {
  border-bottom: 1px solid #00a1e9;
  padding-bottom: 5px;
  font-size: 1.2em;
  grid-column: 1 / -1;
  display: block;
}

.formBox .formItem dt {
  font-weight: 500;
}

.formBox .required {
  background: var(--red);
  border-radius: 2px;
  color: #fff;
  display: inline-block;
  font-size: 0.6em;
  font-weight: 700;
  line-height: 1;
  margin-left: 1em;
  padding: 0.3em 0.5em 0.35em;
  vertical-align: 0.1em;
}

.formBox .formItem .form-date_time {
  display: flex;
  align-items: center;
  gap: 0.3em min(2vw, 0.8em);
}

.formBox .formItem .form-date_time .date,
.formBox .formItem .form-date_time .time {
  flex: 1;
}

.formBox .formItem.form_file dd {
  display: grid;
  grid-gap: 0.4em;
}

.formBox .formItem.counter dd {
  display: grid;
  align-items: center;
  grid-template-columns: 100px auto;
  gap: 0.5em;
}

.formBox .formItem .mwform-tel-field input {
  margin: 0 3px;
}

.formBox .formItem input[type="number"] {
  width: 100px;
}

.formBox .backBtn {
  position: relative;
}

.formBox .backBtn .linkBtn-small {
  padding: 0;
}

.formBox .backBtn .linkBtn-small:after {
  transform: rotate(-135deg);
  right: auto;
  left: 25px;
}

.formBox .backBtn .linkBtn-small:hover:after {
  left: 15px !important;
}

.formBox .backBtn input[type="submit"] {
  background: transparent;
  color: inherit;
  display: inline-block;
  font-size: 1.4rem;
  margin: 0 !important;
  min-width: 140px;
  /*	padding: .2em 20px .1em 40px;*/
  transition: 0.2s ease-in-out;
}

.formBox dd {
  position: relative;
  text-align: left;
}

.formBox .h_radioBox {
  display: grid;
  grid-gap: 0 2em;
  grid-template-columns: auto 1fr;
}

.formBox .file {
  display: grid;
  grid-gap: 0.3em;
  padding-top: 0.4em;
}

.formBox .consentBox {
  margin: min(8vw, 50px) auto 0;
  /*    font-size: 1.3rem;*/
}

.formBox .consentBox .consent_check {
  display: flex;
  align-items: center;
  position: relative;
}

/* .formBox .consentBox .consent_check .wpcf7-not-valid-tip {
    position: absolute;
        top: 100%;
        left: 0;
} */
.formBox .consentBox .checkBox {
  width: 1.5em;
}

.formBox .consentBox div {
  position: relative;
}

.formBox .consentBox .mwform-checkbox-field {
  display: block;
}

.formBox .btn-outer {
  display: flex;
  flex-direction: column;
  place-items: center;
  margin-top: min(10vw, 50px);
  position: relative;
}

.formBox .btn_wrap {
  position: relative;
}

.formBox .btn_wrap:after {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 65 12"><path fill="%2300817c" d="M55,11.77v-4.77H0v-2h55V.23l10,5.77-10,5.77Z" /></svg>') no-repeat center / contain;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1em;
  transition: 0.2s ease-in-out;
  width: 35px;
  height: 1.2em;
  z-index: 10;
}

.formBox .linkBtn {
  padding-right: 3em;
  width: 100%;
}

.formBox .btn_wrap:has(.linkBtn:disabled) {
  pointer-events: none;
  opacity: 0.3;
}

.formBox .linkBtn:disabled {
  pointer-events: none;
}

/* .formBox .linkBtn {
    background: var(--color_1);
    border: solid 1px var(--color_1);
    color: #fff;
} */
.formBox .linkBox.flexBox {
  grid-gap: 0.8em;
}

.formBox .linkBox .back .linkBtn {
  background: transparent;
}


.formBox.confirm .formItem-outer{
  grid-gap: 0;
  min-width: 600px;
}
.formBox.confirm .formItem {
  border-bottom: solid 1px var(--gray);
  padding: 1.5em 0;
}
.formBox.confirm .formItem:first-child {
  border-top: solid 1px var(--gray);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  .formBox .formItem-outer {
    grid-gap: 2em;
  }

  .formBox .formItem.head {
    border-bottom: 1px solid #00a1e9;
    padding-bottom: 0;
    font-size: 1.2em;
    line-height: 1.5;
  }

  .formBox .formItem dt {
    font-size: 1.15em;
    font-weight: 700;
    text-align: left;
    position: relative;
  }

  .formBox .formItem dd {
    text-align: left;
    width: 100%;
  }

  .mw_wp_form .formBox .error {
    /*		bottom: -2em;*/
    left: 0;
    padding-left: 1em;
  }

  .formBox .consentBox {
    align-items: stretch;
    /* flex-direction: column; */
  }

  .formBox .linkBox {
    margin: auto;
    max-width: calc(480px + 1em);
  }

  .formBox .linkBox.flexBox > div {
    flex: 1;
  }

  .formBox .linkBox.flexBox input[type="submit"],
  .formBox .linkBox.flexBox .linkBtn {
    max-width: 240px;
    min-width: 0;
    width: 100%;
  }

  .formBox.confirm form {
    display: grid;
    place-items: center;
  }
}

@media screen and (min-width: 480px) and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
  .formBox .formItem-outer {
    grid-template-columns: auto 1fr;
    grid-gap: 1.8em 0;
  }

  .formBox .formItem {
    display: grid;
    grid-column: span 2;
    grid-template-columns: subgrid;
    grid-gap: 0 2em;
    line-height: 1.4;
    width: 100%;
  }

  .formBox.input .formItem dt {
    padding-top: 0.9em;
  }

  .formBox .formItem dd {
    /* min-height: 50px; */
  }

  .wpcf7-form .formBox .formItem dd > span {
    display: block;
    width: 100%;
  }

  .wpcf7-form .formBox .wpcf7-checkbox {
    padding-top: 0.5em;
  }

  #confirm .formBox .formItem dt {
    padding-top: 0;
  }

  .mw_wp_form_confirm .formBox dd {
    position: relative;
  }

  .formBox .formItem dd .wpcf7-radio {
    padding: 0.7em 0;
  }

  .formBox .formItem.form_file dd {
    padding: 0.3em 0;
  }

  .mw_wp_form_confirm .formBox .formItem dt,
  .mw_wp_form_confirm .formBox .formItem dd {
    padding: 20px 0;
  }

  .formBox dd .dateBox {
    width: calc(50% - 5px);
  }

  .formBox .error {
  }

  .formBox .btn-outer:hover:before {
    left: 0;
  }

  .formBox .linkBtn {
    min-width: 438px;
  }
}

/* ////////// tablet ////////// */
@media screen and (min-width: 769px) and (max-width: 960px) {
}

@media (hover: hover) {
  .formBox .btn_wrap:hover::after {
    right: 0.7em;
  }

  .formBox .linkBtn:hover {
    filter: brightness(1.1);
  }
}

/*====================================================
////class .wp-block-table
====================================================*/
/* p + .wp-block-table ,
.wp-block-table + .wp-block-table {
	margin: 1.5em 0;
} */
table,
.wp-block-table table {
  background: transparent;
  border-collapse: separate;
  border-spacing: 0;
  border: solid var(--gray);
  border-width: 1px 0 0 1px;
  line-height: 1.6;
  vertical-align: middle;
  width: 100%;
}

table thead,
.wp-block-table thead {
  border-bottom: none !important;
  font-weight: 400;
}

table th,
table td,
.wp-block-table thead th,
.wp-block-table tr td {
  padding: 0.6em 1em 0.7em;
}

table thead th,
.wp-block-table thead th {
  background: var(--color_5);
  border: solid var(--gray);
  border-width: 0 1px 1px 0;
  font-weight: 500;
}

/* table thead th:last-child ,
.wp-block-table thead th:last-child {
    border: solid 1px var(--color_4);
} */
table tbody th,
.wp-block-table tbody th {
  background: var(--color_5);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}

table td,
.wp-block-table tr td {
  background: var(--base_bg);
  border: none;
  border: solid var(--gray);
  border-width: 0 1px 1px 0;
  vertical-align: text-bottom;
}

table tr td a,
.wp-block-table tr td a {
  color: var(--color_3);
  -webkit-text-decoration: underline dotted 1px;
  text-decoration: underline dotted 1px;
  text-underline-position: under;
  text-underline-offset: 0.1em;
}

table tr td .tel_link a,
.wp-block-table tr td .tel_link a {
  color: inherit;
}

table tfoot,
.contentMain .wp-block-table tfoot {
  border-top: none;
}

table tfoot td,
.wp-block-table tfoot td {
  background: var(--l_gray);
  border: solid var(--gray);
  border-width: 0 1px 1px 0;
  text-align: center;
}

table figcaption,
.wp-block-table figcaption {
  font-size: 0.8em;
  margin: 0.5em 0 0 1em;
}

.first-td-head table,
.wp-block-table.is-style-first-td-head table {
}

.first-td-head table th:first-child,
.wp-block-table.is-style-first-td-head th:first-child {
  position: sticky;
  left: 0;
}

.first-td-head table td:first-child,
.wp-block-table.is-style-first-td-head td:first-child {
  /* background: var(--l_pink); */
  /* font-weight: 700; */
  /* position: sticky;
        left: 0; */
  white-space: nowrap;
}

/* .first-td-head table th:first-child::before,
.wp-block-table.is-style-first-td-head th:first-child::before,
.first-td-head table td:first-child::before,
.wp-block-table.is-style-first-td-head td:first-child::before {
    border-left: solid 1px var(--color_4);
    box-sizing: border-box;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
} */

.is-style-responsive table tbody tr td:first-child {
  background: #d9e7f5;
  text-align: center;
  white-space: nowrap;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  table thead th,
  table tr td,
  .wp-block-table thead th,
  .wp-block-table tr td {
    padding: 0.7em 0.7em;
  }
}

@media screen and (max-width: 500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width: 769px) and (max-width: 960px) {
  /* .first-td-head {
        overflow-x: scroll;
    }
    .first-td-head table {
        width: 1000px;
    } */
}

@media screen and (min-width: 1580px) {
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  table.responsive,
  .wp-block-table.is-style-responsive table,
  .wp-block-table.is-style-first-td-head table,
  table.responsive tbody,
  .wp-block-table.is-style-responsive table tbody,
  .wp-block-table.is-style-first-td-head table tbody,
  table.responsive tr,
  .wp-block-table.is-style-responsive table tr,
  .wp-block-table.is-style-first-td-head table tr,
  table.responsive td,
  .wp-block-table.is-style-responsive table td,
  .wp-block-table.is-style-first-td-head table td {
    display: block;
  }

  table.responsive,
  .wp-block-table.is-style-responsive table,
  .wp-block-table.is-style-first-td-head table {
    border: none;
  }

  table.responsive thead,
  .wp-block-table.is-style-responsive thead,
  .wp-block-table.is-style-first-td-head thead {
    display: none;
  }

  table.responsive tr,
  .wp-block-table.is-style-responsive tr,
  .wp-block-table.is-style-first-td-head tr {
    position: relative;
    width: 100%;
  }

  table.responsive th,
  table.responsive td:first-child,
  .wp-block-table.is-style-responsive td:first-child,
  .wp-block-table.is-style-first-td-head td:first-child {
    background-color: transparent;
    border: none;
    /* border-bottom: solid 1px #CFCFCF; */
    color: var(--color_1);
    display: block;
    font-size: 1.1em;
    font-weight: 700;
    padding: 0.3em 0;
    text-align: left;
    width: 100%;
  }

  .wp-block-table.is-style-first-td-head td:first-child {
    background-color: transparent;
    /* border-bottom: solid 1px #CFCFCF; */
    display: block;
    font-size: 1.1em;
    padding: 0.3em 0;
    text-align: left;
    width: 100%;
  }

  table.responsive td,
  .wp-block-table.is-style-responsive td,
  .wp-block-table.is-style-first-td-head td {
    background: transparent;
    border: none;
    /* padding: .6em 0; */
    padding: 0 0 0.4em;
    /* text-align: left; */
    transition: 0.4s ease;
    width: 100%;
  }

  /* table.responsive td + td,
	.wp-block-table.is-style-responsive td + td ,
	.wp-block-table.is-style-first-td-head td + td {
        border-top: dotted 1px #CFCFCF;
    } */
  .wp-block-table.is-style-first-td-head td:nth-child(2) {
    border-top: none;
  }

  table.responsive td:last-child,
  .wp-block-table.is-style-responsive td:last-child,
  .wp-block-table.is-style-first-td-head td:last-child {
    border-bottom: solid 1px #cfcfcf;
    margin-bottom: 1em;
    padding-bottom: 1em;
  }

  /* table.responsive tr:last-child td + td:last-child,
	.wp-block-table.is-style-responsive tr:last-child td + td:last-child {
        border-bottom: solid 1px var(--color_4);
    } */

  table.responsive tr:has(.th_label) {
    display: grid;
    grid-template-columns: auto 1fr;
  }

  table.responsive tr:has(.th_label) > * {
    display: grid;
    align-items: center;
    grid-template-columns: subgrid;
    grid-column: span 2;
    grid-gap: min(6vw, 40px);
  }

  table.responsive tr:has(.th_label) th > div {
    grid-column: 1 / 3;
  }

  table.responsive tr:has(.th_label) td.th_label {
  }

  table.responsive td.th_label:before {
    color: var(--color_1);
    content: attr(data-label);
    font-weight: 500;
  }

  table.responsive td.th_label:first-child::before {
    display: none;
  }

  table.responsive td.th_label:first-child > * {
    grid-column: span 2;
  }

  table.responsive tr:has(.th_label):last-child td + td:last-child,
  .wp-block-table.is-style-responsive tr:has(.th_label):last-child td + td:last-child {
    border-bottom: none;
  }
}

@media screen and (max-width: 500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
  table.responsive td.blank .blank_line {
    background: var(--base_bg);
    display: block;
    margin: -8px auto -8px -12px;
    position: relative;
    width: 3px;
    height: calc(100% + 16px);
    z-index: 1;
  }
}

/* ////////// tablet ////////// */
@media screen and (min-width: 769px) and (max-width: 960px) {
}

@media screen and (min-width: 1580px) {
}

/*====================================================
////class .tabBox
====================================================*/
.tabBox {
  overflow: hidden;
  position: relative;
}

.tabBox .tabArea {
  grid-gap: 4px;
  position: relative;
  z-index: 5;
}

.tabBox .tabArea li {
  background: var(--l_gray);
  border: solid 1px var(--color_4);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 50px;
  line-height: 1.2;
  padding: 5px;
}

.tabBox .tabArea li.current {
  background: var(--base_bg);
  border-bottom-color: #fff;
  cursor: default;
  pointer-events: none;
}

.tabBox .tabArea li a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  width: 100%;
  height: 100%;
}

.tabBox .tabArea li.current a {
  pointer-events: none;
}

.tabBox .contentArea {
  background: var(--base_bg);
  border: solid 1px var(--color_4);
  margin-top: -1px;
  position: relative;
  transition: 0.4s all;
}

.tabBox .contentArea .tab_content {
  transition: 1.2s all;
  transition-delay: 0.4s;
}

.tabBox .contentArea .tab_content:not(.current) {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: 0.6s all;
  transition-delay: 0s;
  width: 100%;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 768px) {
  .tabBox .tabArea {
    display: flex;
  }

  .tabBox .tabArea .tab {
    flex: 1;
    font-size: 1.1rem;
    height: auto;
    min-height: 40px;
    padding: 6px 3px;
  }

  .tabBox .contentArea .tab_content {
    padding: 1.5em 1em;
  }
}

@media screen and (max-width: 500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
  .tabBox .contentArea .tab_content {
    padding: 2em;
  }
}

/* ////////// tablet ////////// */
@media screen and (min-width: 769px) and (max-width: 959px) {
}

@media screen and (min-width: 1580px) {
}

/*====================================================
////id |  mapBox
====================================================*/
.mapBox > div {
  overflow: hidden;
  position: relative;
}

.mapBox iframe {
  margin: auto;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  .mapBox > div {
    width: 100%;
    height: min(80vw, 400px);
  }
}

@media screen and (max-width: 580px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
  .mapBox > div {
    width: 100%;
    height: 400px;
  }
}

/* ////////// tablet ////////// */
@media screen and (min-width: 769px) and (max-width: 960px) {
}

@media screen and (min-width: 1580px) {
}

/*====================================================
////id | archive-item
====================================================*/
.archive-item-link {
  border-bottom: solid 1px var(--gray);
  display: grid;
  grid-gap: 0.5em 1.5em;
  line-height: 1.5;
  padding: 1.2em 0;
}

.archive-item-link:has(.arrow) {
  padding-right: 1.8em;
  position: relative;
}

.archive-item-link .arrow {
  margin: auto;
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0.8em;
  bottom: 0;
}

.archive-item-link .text {
  display: grid;
  grid-gap: 6px;
  place-content: flex-start;
}

.date_cate {
  display: flex;
    align-items: center;
    gap: 0 1.5em;
}
.date_cate .date {
  font-weight: 400;
}

.archive-item-link .date {
  width: 6em;
}
.archive-item-link .category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
.archive-item-link .title {
  transition: color 0.2s ease-in-out;
}
/* .archive-item-date + .archive-item-category ,
.date + .category {
    padding-left: 1em;
    position: relative;
}
.archive-item-date + .archive-item-category::before ,
.date + .category::before {
    color: var(--color_1);
    content: '・';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: -.2em;
    text-align: center;
    width: 1em;
    height: 1em;
} */
.archive-item-category:has(.cate_item-border) {
  font-size: 0.75em;
}

.archive-item-tag {
  font-size: min(3vw, 1.2rem);
}

.archive-item-title {
  transition: 0.2s ease-in-out;
}

.archive-item-excerpt {
  margin-top: 0.3em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 840px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
  .archive-item-wrapper {
    display: grid;
      grid-template-columns:  auto 1fr;
  }
  .archive-item-link {
    grid-template-columns: subgrid;
    grid-column: span 2;
  }

  .archive-wrapper {
    display: grid;
    align-items: center;
    place-content: center;
  }

  .archive-wrapper .archive-item-wrapper {
    min-width: 600px;
  }
}

@media screen and (min-width: 960px) and (max-width: 1280px) {
}

@media (hover: hover) {
  a:hover .archive-item-title {
    color: var(--color_1);
  }

  .archive-item-link:hover .arrow {
    opacity: 1;
    right: 0;
  }
}

/* ////////// tablet ////////// */
@media screen and (min-width: 769px) and (max-width: 960px) {
}

@media (hover: hover) {
  .archive-item:hover .title {
    color: var(--color_2);
  }
}

/*====================================================
////id |  vk-filter-search
====================================================*/
#filter_search {
  background: var(--l_gray);
  border-radius: 10px;
  padding: 5px min(4vw, 44px);
}
.vk-filter-search {
  font-size: 1em !important;
}
#filter_search .filter-genre,
#filter_search .vkfs__outer-wrap {
  background-image: radial-gradient(circle, #22b3e8 1.5px, transparent 1.5px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 7px 3px;
  display: grid;
  grid-gap: min(2vw, 8px) min(2vw, 39px);
  margin: 0;
  padding: min(3vw, 1.3em) 0 min(3.4vw, 1.4em);
}
#filter_search .filter-genre:last-child {
  background: none;
}
#filter_search .filter-genre,
#filter_search .vkfs__labels {
  display: grid;
}
#filter_search .filter-genre dt,
#filter_search .vkfs__label-name {
  color: var(--color_1);
  display: flex;
  align-items: center;
  gap: 0.4em;
  margin: 0;
}
#filter_search .filter-genre dt::before,
#filter_search .vkfs__label-name::before {
  content: "";
  display: block;
  width: 2em;
  height: 2em;
}
#filter_search .filter-cyicling_course_cat dt::before,
#filter_search .filter-cyicling_course_cat .vkfs__label-name::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 33 33"><path fill="%2322b3e8" d="M19.21,21.33l.28-.54c.09-.17.17-.34.25-.52.15-.34.27-.68.35-1.04.19-.63.06-1.31-.35-1.82-.52-.5-1.16-.86-1.85-1.04-1.55-.44-3.13-.94-4.65-1.52-.38-.15-.77-.3-1.15-.46-.4-.16-.79-.36-1.15-.59-.42-.26-.75-.64-.95-1.09-.1-.25-.13-.52-.09-.79.03-.24.11-.48.22-.7.21-.38.45-.73.72-1.07l.74-.97,1.5-1.92,2.56-3.22-1.95-.06c-2.28,2.09-4.43,4.31-6.43,6.67-1.72,2.24-.78,4.22,2.34,5.56,2.63,1.12,5.1,2,5.1,2,.42.21.72.6.83,1.06.1.45,0,.92-.3,1.28l-6.79,8.44h6.78l2.88-5.51,1.12-2.16ZM25.73,16.75c-.98-1.6-2.59-2.72-4.44-3.06l-6.64-1.4c-.27-.05-.5-.23-.63-.47-.12-.24-.11-.53.03-.76l4.42-6.91-2.15-.06-2.72,3.6-1.45,1.95-.71.98c-.23.3-.44.62-.62.96-.15.26-.18.58-.08.87.15.29.38.53.66.69.33.2.67.36,1.02.49.37.15.75.28,1.12.42,1.52.53,3.05.97,4.64,1.39.89.21,1.7.66,2.36,1.29.34.37.58.83.68,1.33.09.47.08.96-.02,1.42-.09.44-.22.86-.4,1.27-.08.2-.17.4-.26.59l-.27.55-1.07,2.19-2.44,4.95h6.87l2.6-7.06c.63-1.72.45-3.63-.5-5.19Z" /></svg>')
    no-repeat center / contain;
}
#filter_search .filter-area dt::before,
#filter_search .filter-area .vkfs__label-name::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 33 33"><path fill="%2322b3e8" d="M16.5,29.05c-.2,0-.39-.06-.55-.17-.4-.26-9.89-6.63-9.89-14.38-.06-5.77,4.57-10.49,10.34-10.55s10.49,4.57,10.55,10.34c0,.07,0,.14,0,.2,0,7.75-9.43,14.12-9.89,14.38-.16.12-.35.18-.55.17ZM16.5,6.14c-4.63-.01-8.4,3.73-8.42,8.36,0,5.67,6.45,10.86,8.42,12.3,1.97-1.44,8.42-6.63,8.42-12.3-.02-4.63-3.79-8.37-8.42-8.36ZM16.5,17.6c-2.05,0-3.71-1.66-3.71-3.71,0-2.05,1.66-3.71,3.71-3.71,2.05,0,3.71,1.66,3.71,3.71,0,.98-.39,1.93-1.08,2.62-.7.7-1.64,1.09-2.62,1.09ZM16.5,12.2c-.93,0-1.68.75-1.68,1.69,0,.93.75,1.68,1.69,1.68.93,0,1.68-.75,1.68-1.69,0-.45-.18-.88-.49-1.19-.32-.32-.74-.49-1.19-.49h0Z" /></svg>')
    no-repeat center / contain;
}
#filter_search .filter-lebel dt::before,
#filter_search .filter-lebel .vkfs__label-name::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 33 33"><path fill="%2322b3e8" d="M26.17,13.19c-.79,0-1.57.13-2.31.4-.97-2.19-1.67-4.49-1.36-6.11.11-.6-.28-1.18-.88-1.3-.07-.01-.14-.02-.21-.02h-3.27c-.61.02-1.1.53-1.08,1.14.02.59.49,1.06,1.08,1.08h2.06c0,.32.02.64.06.95-.05.05-.09.1-.13.15l-2.93,4.31c-.06-.01-.13-.02-.19-.02h-5.89l-.93-2.14s.07,0,.11,0c.61,0,1.11-.5,1.11-1.11,0-.48-.31-.9-.76-1.05-1.63-.54-3.37-.65-5.05-.33-.61.1-1.02.67-.92,1.28.1.61.67,1.02,1.28.92.02,0,.04,0,.05-.01.52-.1,1.04-.14,1.57-.14l.96,2.21c-3.65-.95-7.37,1.23-8.32,4.88-.95,3.65,1.23,7.37,4.88,8.32,3.65.95,7.37-1.23,8.32-4.88.05-.2.1-.41.13-.61h.78c.37,0,.71-.18.92-.49l5.7-8.38c.28.83.6,1.64.96,2.43-2.94,2.36-3.41,6.65-1.05,9.59,2.36,2.94,6.65,3.41,9.59,1.05,2.94-2.36,3.41-6.65,1.05-9.59-1.3-1.62-3.26-2.55-5.33-2.55h0ZM6.83,21.13h4.47c-.61,2.46-3.11,3.97-5.57,3.35-2.46-.61-3.97-3.11-3.35-5.57.61-2.46,3.11-3.97,5.57-3.35,1.65.41,2.94,1.7,3.35,3.35h-4.47c-.61.02-1.1.53-1.08,1.14.02.59.49,1.06,1.08,1.08ZM13.75,18.91h-.19c-.17-1.05-.59-2.04-1.21-2.9h3.37l-1.97,2.9ZM26.17,24.62c-2.54,0-4.6-2.06-4.6-4.6,0-1.23.49-2.4,1.36-3.27.71,1.34,1.48,2.64,2.33,3.89.36.5,1.06.61,1.55.24.48-.35.6-1.01.28-1.51-.82-1.21-1.57-2.47-2.25-3.77,2.43-.73,5,.65,5.73,3.08.73,2.43-.65,5-3.08,5.73-.42.13-.86.19-1.31.19Z" /></svg>')
    no-repeat center / contain;
}
#filter_search .filter-button-wrapper,
#filter_search .vkfs__input-wrap--checkbox,
#filter_search .vkfs__input-wrap--radio {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 0.7em;
  justify-content: flex-start;
  font-size: 0.875em;
}
#filter_search .vkfs__input-wrap--checkbox li,
#filter_search .vkfs__input-wrap--radio li {
  padding: 0;
}
#filter_search .filter-btn,
#filter_search .filter-link {
  font-size: 1em;
}
#filter_search .filter-btn,
#filter_search .filter-link,
#filter_search .vkfs__input-wrap--checkbox label,
#filter_search .vkfs__input-wrap--radio label {
  background: var(--base_bg);
  border: solid 1px #dedede;
  border-radius: 2em;
  color: var(--base_color);
  line-height: 1.4;
  padding: 0.3em 1em;
  transition: 0.2s ease-in-out;
}
#filter_search .vkfs__input-wrap li:last-child {
  flex-grow: unset;
}
#filter_search .filter-btn.is-active,
#filter_search .filter-link.is-active,
#filter_search .vkfs__input-wrap--checkbox label:has(input[type="checkbox"]:checked),
#filter_search .vkfs__input-wrap--radio label:has(input[type="radio"]:checked) {
  background: var(--color_1);
  border-color: var(--color_1);
  color: #fff;
}
#filter_search .filter-link.is-active {
  pointer-events: none;
}
#filter_search .vkfs_submit {
  border: solid 2px var(--color_2);
  background: var(--base_bg);
  border-radius: 2em;
  color: var(--color_2);
  cursor: pointer;
  display: flex;
  align-items: center;
  grid-gap: 0 0.5em;
  justify-content: center;
  font-size: 1em;
  letter-spacing: 0;
  line-height: 1.4;
  margin: 1.5em auto;
  opacity: 1;
  overflow: hidden;
  padding: 0.3em 1em;
  position: relative;
  text-align: center;
  transition: 0.3s ease-in-out;
  width: auto;
  min-height: 2.5em;
  min-width: min(50vw, 280px);
  z-index: auto;
}
#filter_search .vkfs_submit:focus {
  box-shadow: none;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
  #filter_search .filter-genre,
  #filter_search .vkfs__labels {
    grid-template-columns: auto 1fr;
  }
  #filter_search .vkfs__outer-wrap {
    grid-template-columns: subgrid;
    grid-column: span 2;
  }
}

@media (hover: hover) {
  #filter_search .filter-btn:not(.is-active):hover,
  #filter_search .filter-link:not(.is-active):hover,
  #filter_search .vkfs__input-wrap--checkbox label:not(label:has(input[type="checkbox"]:checked)):hover,
  #filter_search .vkfs__input-wrap--radio label:not(label:has(input[type="radio"]:checked)):hover {
    background: var(--l_gray);
    border-color: var(--color_1);
  }
  #filter_search .vkfs_submit:hover {
    box-shadow: 0 0.2em 0.4em rgba(0, 0, 0, 0.2);
  }
}


/*====================================================
////id |  access
====================================================*/
.access-head {
  margin-bottom: min(10.5vw, 75px);
  text-align: left;
}
.access-head .en {
  font-size: min(16.533vw, 14.5rem);
}
.access-address {
  margin-bottom: .7em;
  padding-left: 1.3em;
  position: relative;
}
.access-address::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 13 15"><path fill="%23333333" d="M7.15,3.78c-.49-.15-1.02-.12-1.5.07-.48.2-.87.55-1.11,1.01-.24.45-.32.98-.22,1.48.1.5.37.96.77,1.29.4.33.9.5,1.41.5.29,0,.58-.06.85-.17.27-.11.52-.28.72-.48.36-.36.59-.84.64-1.35.05-.51-.08-1.03-.36-1.45-.29-.43-.71-.74-1.2-.89ZM7.34,6.46c-.13.19-.32.34-.55.41-.22.07-.46.06-.68-.03-.22-.09-.39-.25-.5-.46-.11-.21-.15-.44-.1-.67.05-.23.17-.44.35-.58.18-.15.41-.23.64-.23.27,0,.53.11.71.3.17.17.27.38.29.62.02.23-.04.47-.17.66ZM12.29,3.87c-.31-.76-.78-1.45-1.36-2.03-.58-.58-1.27-1.04-2.03-1.36S7.32,0,6.5,0s-1.64.16-2.4.48-1.45.78-2.03,1.36-1.04,1.27-1.36,2.03c-.31.76-.48,1.58-.48,2.4C.23,10.92,5.93,14.74,6.17,14.89c.1.07.21.11.33.11.12,0,.24-.04.33-.11.28-.16,5.93-3.98,5.93-8.63,0-.82-.16-1.64-.48-2.4ZM6.5,13.65c-1.18-.87-5.05-3.98-5.05-7.38,0-1.33.54-2.61,1.49-3.55.95-.94,2.23-1.47,3.56-1.46,1.33,0,2.62.52,3.56,1.46.95.94,1.48,2.22,1.49,3.55,0,3.4-3.87,6.52-5.05,7.38Z" /></svg>') no-repeat center / contain;
  content: '';
  display: block;
  margin: auto;
  position: absolute;
    top: .35em;
    left: 0;
  width: 1em;
  height: 1em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 1330.0px) {
  .access-inner {
    max-width: 970px;
  }
  .access-head-wrapper {
    display: flex;
      justify-content: flex-end;
  }
  .access-head.en_jp {
    text-align: left;
  }
  .access-googlemap {
    margin-top: 32px;
  }
  .access-googlemap > div {
    height: min(72vw, 500px);
  }
  .access-link .btn_wrap {
    justify-content: center;
    margin-top: min(8.5vw, 50px);
  }
}

/* ////////// PC ////////// */
@media print,screen and (min-width: 1330.1px) {
  .access-inner {
    display: grid;
      grid-template-columns: 1fr auto;
      grid-template-rows: 1fr auto;
      justify-content: space-between;
      grid-gap: 100px min(5vw, 80px);
  }
  .access-head {
    place-items: end;
  }
  .access-googlemap {
    grid-column: 1;
    grid-row: 1 / 3;
    max-width: 780px;
  }
  .access-googlemap > div {
    margin-left: calc(var(--innerBox_wide_margin) * -1);
    width: calc(100% + var(--innerBox_wide_margin));
    height: 100%;
      min-height: 600px;
  }
  .access-link .btn_wrap {
    justify-content: flex-end;
  }

}

@media (hover: hover) {}



/*====================================================
////id |  reservation
====================================================*/
#reservation {
  padding-top: min(17.5vw, 140px);
}
.reservation-bg {
  background: url('img/cmn/reservation-bg.webp') no-repeat center;
}
.reservation-inner {
  color: #fff;
  text-align: center;
  max-width: 1000px;
}
.reservation-head-wrapper {
  display: flex;
    justify-content: center;
  font-size: min(17.6vw, 15rem);
  position: absolute;
    top: -.55em;
    left: 0;
    right: 0;
}
.reservation-head {
  background-size: 100% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: inherit;
  font-weight: 400;
  text-shadow: none;
}
.reservation-sub_head {
  line-height: 1.6;
  margin-bottom: 1em;
}
.reservation-link .btn_wrap {
  margin-top: min(10.5vw, 64px);
}
.reservation-link .linkBtn {
  background: rgba(255, 255, 255, 0);
  border: solid 1px #fff;
  color: #fff;
  width: 100%;
  min-height: 3.4375em;
}
.reservation-link .linkBtn img {
  filter: brightness(0) invert(10);
  height: 1.25em;
}
.reservation-link .linkBtn .arrow {
  display: none;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
  .reservation-bg {
    background-size: 100% 100%;
  }
  .reservation-head-wrapper {
    left: calc(var(--innerBox_margin) * -1);
    width: calc(100% + (var(--innerBox_margin)) * 2);
  }
  .reservation-sub_head {
    font-size: min(6.4vw, 3rem);
  }
}

/* ////////// PC ////////// */
@media print,screen and (min-width: 769.1px) {
  .reservation-bg {
    background-size: cover;
  }
  .reservation-sub_head {
    font-size: min(3.5vw, 3.5rem);
  }
  .reservation-text {
    font-size: 1.8rem;
  }
  .reservation-link .linkBtn {
    font-size: min(3vw, 3.2rem);
  }
}

@media (hover: hover) {
  .reservation-link .linkBtn:hover {
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(5px);
  }
}



/*====================================================
////class .pagetop
====================================================*/

.pagetop {
  font-size: 14px;
  display: none;
  padding: 0 15px 15px 0;
  position: fixed;
    bottom: 0;
    right: 0;
  z-index: 800000;
  /*	border: solid 1px*/
}

.pagetop.stop {
  position: absolute;
  top: -70px;
  bottom: auto;
}

.pagetop a {
  background: var(--color_1);
  border-radius: 100%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  position: relative;
  opacity: 0.7;
  width: 50px;
  height: 50px;
}

.pagetop a .arrow {
  margin: 0;
  transform: rotate(-90deg);
  width: 50%;
  height: 50%;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  .pagetop {
    right: 5px;
    bottom: 5px;
  }

  .pagetop a {
    transform: scale(0.7);
    transform-origin: right bottom;
  }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
  .footer-view .pagetop {
    position: absolute;
      bottom: 0;
      right: 0;
  }
  .pagetop a:hover {
    opacity: 1;
  }
}

/* ////////// tablet ////////// */
@media screen and (min-width: 769px) and (max-width: 960px) {
}

@media screen and (min-width: 1580px) {
}

@media (hover: hover) {
  .pagetop a:hover .arrow::after {
    transform: none;
  }
}

/*====================================================
////id |  footer
====================================================*/
footer {
  position: relative;
}
.footer-inner {
  padding: 0;
}
.footer-wrapper {
  font-weight: 400;
  padding: min(18vw, 110px) 0 min(7vw, 70px);
}
.footer-tel {
  font-weight: 500;
  padding-left: .8em;
  position: relative;
}
.footer-tel::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 12 15"><path fill="%2300817c" d="M1.28.64C.25,1.3.04,3.39.43,5.1c.4,1.7,1.09,3.31,2.03,4.78.96,1.45,2.16,2.74,3.54,3.81,1.4,1.05,3.39,1.72,4.42,1.05.52-.34,1.3-1.26,1.33-1.43l-.55-.85-1.52-2.35c-.11-.17-.82-.01-1.18.19-.49.28-.93,1.01-.93,1.01-.33.19-.61,0-1.2-.27-.72-.33-1.52-1.36-2.17-2.28-.59-.96-1.19-2.12-1.2-2.91,0-.64-.07-.98.24-1.2,0,0,.86-.11,1.31-.44.33-.25.77-.83.66-1L3.68.86,3.12,0c-.17-.04-1.33.29-1.85.63Z" /></svg>') no-repeat center left / contain;
  content: '';
  display: block;
  margin: auto;
  position: absolute;
    top: .5em;
    left: 0;
  width: .55em;
  height: 1em;
}
.footer-menu ul {
  display: grid;
}
.footer-menu li {
  padding: 0;
}
.footer-btn {
  display: grid;
    grid-gap: min(3.2vw, 24px);
}
.footer-btn-link {
  border: solid 1px var(--color_1);
  color: var(--color_1);
  display: flex;
    align-items: center;
    justify-content: center;
    gap: .3em 1em;
  font-weight: 500;
  line-height: 1.4;
  padding: 7px;
  position: relative;
  transition: none;
  min-height: 3.889em;
}
.footer-btn-link img {
  width: 1.5em;
}
.footer-btn-link::before,
.footer-btn-link::after {
  border: solid currentColor;
  box-sizing: border-box;
  content: '';
  display: block;
  margin: auto;
  opacity: 0;
  position: absolute;
  transition: .2s ease-in-out, .2s ease-in-out;
  width: 0;
  height: 0;
}
.footer-btn-link::before {
  border-width: 1px 0 0 1px;
  top: 5px;
  left: 5px;
}
.footer-btn-link::after {
  border-width: 0 1px 1px 0;
  right: 5px;
  bottom: 5px;
}

@media (hover: hover) {
  .footer-btn-link:hover::before,
  .footer-btn-link:hover::after {
    opacity: 1;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
  }
}
.footer-btn-link .translation-en {
  display: none;
}
html[lang="en"] .footer-btn-link .translation-en {
  display: block;
}
html[lang="en"] .footer-btn-link:has(.translation-en) .jp {
  display: none;
}


/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
  .footer-wrapper {
    display: grid;
      grid-gap: min(8vw, 40px) min(5vw, 80px);
    font-size: min(3.2vw, 1.6rem);
    padding-bottom: 0;
  }
  .footer-main { 
    display: grid;
      place-items: center;
  }
  .footer-logo {
    display: flex;
      justify-content: center;
  }
  .footer-logo img {
    height: 140px;
  }
  .footer-tel {
    font-size: min(7vw, 2.8rem);
    margin-top: 1.5em;
    text-align: center;
  }
  .footer-text {
    margin-top: 1.15em;
  }
  .footer-menu {
    border-top: solid 1px #D9D9D9;
    display: grid;
      grid-template-columns: 1fr 1fr;
    grid-row: 3;
    margin-left: calc(var(--innerBox_margin) * -1);
    position: relative;
    width: calc(100% + (var(--innerBox_margin) * 2));
  }
  .footer-menu::after {
    border-bottom: solid 1px #d9d9d9;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
      bottom: 0;
      left: 0;
    width: 100%;
    height: 0;
  }
  .footer-menu li {
    border-bottom: solid 1px #D9D9D9;
  }
  .footer-menu > div:nth-child(odd) {
    border-right: solid 1px #D9D9D9;
  }
  .footer-menu li a {
    display: flex;
      align-items: center;
    padding: .5em var(--innerBox_margin);
    min-height: 4em;
  }
  .footer-btn {
    place-content: center;
  }
  .footer-btn-link {
    font-size: min(3.7333vw, 1.8rem);
    width: min(78.666vw, 320px);
    min-height: 3.143em;
  }
  .copyright-inner {
    font-size: min(3.2vw, 1.2rem);
    padding: 26px 0 40px;
    text-align: center;
  }
}

/* ////////// PC ////////// */
@media print,screen and (min-width: 769.1px) {
  .footer-wrapper {
    display: grid;
      grid-gap: 80px min(5vw, 80px);
      grid-template-columns: auto auto;
      place-content: center;
  }
  .footer-main { 
    display: grid;
      place-items: center;
    grid-column: 1 / 3;
  }
  .footer-logo {
    display: flex;
      justify-content: center;
  }
  .footer-logo img {
    height: 140px;
  }
  .footer-tel {
    font-size: 2.8rem;
    margin-top: 1.5em;
    text-align: center;
  }
  .footer-text {
    margin-top: 2em;
  }
  .footer-menu {
    display: flex;
      gap: min(4vw, 64px);
  }
  .footer-menu ul {
    grid-gap: 1.3em;
  }
  .footer-btn {
    place-content: start;
  }
  .footer-btn-link {
    font-size: 1.8rem;
    width: min(32vw, 320px);
  }
  .copyright {
    border-top: solid 1px #587D77;
    font-size: 1.2rem;
    font-weight: 400;
    text-align: right;
  }
  .copyright-inner {
    padding: 30px 0;
  }
}

@media screen and (min-width: 1330.1px) {
  .footer-wrapper {
    display: flex;
      gap: min(5vw, 80px);
  }
  .footer-main {
    place-items: start;
  }
  .footer-logo {
    justify-content: flex-start;
  }
  .footer-main {
    flex: 1;
  }
  .footer-tel {
    font-size: 2.2rem;
    margin-top: 2.55em;
    text-align: left;
  }
}

@media (hover: hover) {
  .footer-menu li a:hover {
    color: var(--color_2);
    opacity: 1;
  }
}



.g-recaptcha {
  margin-top: 50px;
  text-align: center;
  font-size: 0.8em;
}

.grecaptcha-badge {
  visibility: hidden;
}

/*====================================================
////id |  翻訳対応
====================================================*/

html[lang="en"] .sr-only:not(.hidden-keep),
html[lang="zh-tw"] .sr-only:not(.hidden-keep) {
  background: rgba(0, 0, 0, 0.5);
  clip: unset;
  color: #fff;
  margin: auto;
  line-height: 1.5;
  padding: 0.5em 1em;
  left: 0;
  bottom: 0;
  text-align: center;
  white-space: unset;
  width: 100%;
  height: auto;
}
html[lang="en"] .cycling_course-archive-item-level > span {
  clip-path: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.3em;
  width: auto;
  height: auto;
  min-height: 3em;
}
html[lang="en"] .cycling_course-archive-item .course-main {
  grid-template-columns: auto 1fr;
}
html[lang="en"] .cycling_course-archive-item .course-main dl {
  grid-template-columns: subgrid;
  grid-column: span 2;
}
html[lang="en"] .cycling_course-archive-item .course-main dt {
  width: auto;
}

/*====================================================
////id |  背景
====================================================*/
html[data-a11y-theme="black"] header .headerBox {
  background: rgba(0, 0, 0, 0.5);
}
html[data-a11y-theme="blue"] header .headerBox {
  background: rgba(11, 42, 111, 0.7);
}
.a11y-opacity_bg {
  position: relative;
}
html[data-a11y-theme="blue"] .a11y-opacity_bg::before,
html[data-a11y-theme="black"] .a11y-opacity_bg::before {
  background: var(--base_bg);
  content: "";
  display: block;
  margin: auto;
  opacity: 0.7;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

html[data-a11y-theme="blue"] .header-logo_img,
html[data-a11y-theme="black"] .header-logo_img {
  filter: brightness(1.3) grayscale(0.3);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 1220px) {
  html[data-a11y-theme="blue"] .header-logo,
  html[data-a11y-theme="black"] .header-logo {
    mix-blend-mode: unset;
  }
}
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
}

@media (hover: hover) {
  html[data-a11y-theme="black"] header .headerBox:hover {
    background: rgba(0, 0, 0, 1);
  }
  html[data-a11y-theme="blue"] header .headerBox:hover {
    background: rgba(11, 42, 111, 1);
  }
}

/*====================================================
////id |  xxx
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width: 769px) and (max-width: 960px) {
}

@media (hover: hover) {
}
