/*----------------------------------------------------

 https://nicolas-cusan.github.io/destyle.css

----------------------------------------------------*/
*, ::before, ::after {  box-sizing: border-box;  border-style: solid;  border-width: 0;}
html {  line-height: 1.15;  -webkit-text-size-adjust: 100%;  -webkit-tap-highlight-color: transparent;}
body {  margin: 0;}
main {  display: block;}
p, table, blockquote, address, pre, iframe, form, figure, dl {  margin: 0;}
h1, h2, h3, h4, h5, h6 {  font-size: inherit;  font-weight: inherit;  margin: 0;}
ul, ol {  margin: 0;  padding: 0;  list-style: none;}
dt {  font-weight: bold;}
dd {  margin-left: 0;}
hr {  box-sizing: content-box;  height: 0;  overflow: visible;  border-top-width: 1px;  margin: 0;  clear: both;  color: inherit;}
pre {  font-family: monospace, monospace;  font-size: inherit;}
address {  font-style: inherit;}
a {  background-color: transparent;  text-decoration: none;  color: inherit;}
abbr[title] {  text-decoration: underline dotted;}
b, strong {  font-weight: bolder;}
code, kbd, samp {  font-family: monospace, monospace;  font-size: inherit;}
small {  font-size: 80%;}
sub, sup {  font-size: 75%;  line-height: 0;  position: relative;  vertical-align: baseline;}
sub {  bottom: -0.25em;}
sup {  top: -0.5em;}
svg, img, embed, object, iframe {  vertical-align: bottom;}
img {  height: auto;  border: none;  line-height: 0;  max-width: 100%;  display: block;}
button, input, optgroup, select, textarea {  -webkit-appearance: none;  appearance: none;  vertical-align: middle;  color: inherit;  font: inherit;  background: transparent;  padding: 0;  margin: 0;  border-radius: 0;  text-align: inherit;  text-transform: inherit;}
[type="checkbox"] {  -webkit-appearance: checkbox;  appearance: checkbox;}
[type="radio"] {  -webkit-appearance: radio;  appearance: radio;}
button, [type="button"], [type="reset"], [type="submit"] {  cursor: pointer;}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled {  cursor: default;}
:-moz-focusring {  outline: auto;}
select:disabled {  opacity: inherit;}
option {  padding: 0;}
fieldset {  margin: 0;  padding: 0;  min-width: 0;}
legend {  padding: 0;}
progress {  vertical-align: baseline;}
textarea {  overflow: auto;}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {  height: auto;}
[type="search"] {  outline-offset: -2px;}
[type="search"]::-webkit-search-decoration {  -webkit-appearance: none;}
::-webkit-file-upload-button {  -webkit-appearance: button;  font: inherit;}
label[for] {  cursor: pointer;}
details {  display: block;}
summary {  display: list-item;}
[contenteditable]:focus {  outline: auto;}
table {  border-color: inherit;  border-collapse: collapse;}
caption {  text-align: left;}
td, th {  vertical-align: top;  padding: 0;}
th {  text-align: left;  font-weight: bold;}
/* Hyper Link
----------------------------------------------------*/
a {  transition: 0.3s ease-in-out;}
a:link {  color: var(--clr-txt);  text-decoration: none;}
a:visited {  color: var(--clr-txt);  text-decoration: none;}
a:hover {  color: var(--clr-txt);  text-decoration: none;}
a:hover {
  filter: alpha(opacity=70);
  opacity: 0.7;
  transition: 0.3s ease-in-out;
}
article a:link {  text-decoration: underline;}
a[href^="tel:"] {  text-decoration: none;}
a.point-none {  pointer-events: none;}
a.popup {
	position: relative;
	padding-right: 25px !important;
	display: inline-block !important;
}
a.popup:after {
  position: absolute;
  content: "\f08e";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  top: 50%;
  right: 5px;
  transform: translatey(-40%);
  transition: .3s;
	font-size: 1.1rem;
}
.gnav-item a.popup {  display: block !important;}
@media(min-width: 768px) {
  a[href^="tel:"] {  pointer-events: none;}
}
/* Font Style
----------------------------------------------------*/
.b {  font-weight: bold;}
.i {  font-style: italic;}
.n {  font-style: normal;}
.u {  text-decoration: underline;}
.d {  text-decoration: line-through;}
/* Font Color */
.red {  color: #f00;}
/* Text Align */
.txt-l {  text-align: left;}
.txt-c {  text-align: center;}
.txt-r {  text-align: right;}
.img-c { margin: 0 auto;}
/* Float */
.left {  float: left;}
.right {  float: right;}
/* Clear Float */
.clear {  clear: both;}
.clearfix:before, .clearfix:after {  content: "";  display: table;}
.clearfix:after {  clear: both;}
.clearfix {  *zoom: 1;}
/* Space */
.mb-1 {  margin-bottom: 120px !important;}
.mb-2 {  margin-bottom: 100px !important;}
.mb-3 {  margin-bottom: 80px !important;}
.mb-4 {  margin-bottom: 60px !important;}
.mb-5 {  margin-bottom: 40px !important;}
.mb-6 {  margin-bottom: 20px !important;}
@media (min-width: 600px) {
  .mb-1 {  margin-bottom: 130px !important;}
  .mb-2 {  margin-bottom: 110px !important;}
  .mb-3 {  margin-bottom: 90px !important;}
  .mb-4 {  margin-bottom: 70px !important;}
  .mb-5 {  margin-bottom: 50px !important;}
  .mb-6 {  margin-bottom: 30px !important;}
}
@media (min-width:1000px) {
  .mb-1 {  margin-bottom: 140px !important;}
  .mb-2 {  margin-bottom: 120px !important;}
  .mb-3 {  margin-bottom: 100px !important;}
  .mb-4 {  margin-bottom: 80px !important;}
  .mb-5 {  margin-bottom: 60px !important;}
  .mb-6 {  margin-bottom: 40px !important;}
}
/* List Style */
/* 共通スタイル */
ul.list {  list-style: none;  padding-left: 0;}
ul.list li {  padding-left: 1.5em;  position: relative;}
ul.list li:before {
  content: '\30FB'; /* ・ */
  position: absolute;
  left: 0;
}
ul.list.list-km li:before {  content: '\203B'; /* ※ */}
ul.list.list-mr li:before {  content: '\25cf'; /* ● */}

/* ------------------ */
/* ▼ 通し番号（1. 2. 3.） */
/* ------------------ */
ul.list.list-num {  counter-reset: item;}
ul.list.list-num li:before {
  counter-increment: item;
  content: counter(item) ". ";
  position: absolute;
  left: 0;
}
/* ------------------ */
/* ▼ アルファベット（a. b. c.） */
/* ------------------ */
ul.list.list-alpha {  counter-reset: item;}
ul.list.list-alpha li:before {
  counter-increment: item;
  content: counter(item, lower-alpha) ". ";
  position: absolute;
  left: 0;
}
.cap {  font-size: 1.2rem;}
/* grid */
.grid-center {
    display: grid;
    justify-items: center;
    align-items: center;	
}
/* flex */
.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex-reverse {  flex-direction: row-reverse; /*逆向き*/}
.nowrap {  flex-wrap: nowrap;}
.space-around {  justify-content: space-around;}
.space-between {  justify-content: space-between;}
.justify-start {  justify-content: flex-start;}
.justify-end {  justify-content: flex-end;}
.justify-center {  justify-content: center;}
.items-center {  align-items: center;}
.items-end {  align-items: flex-end;}
.cell {  position: relative;}
.cell img {  display: block;  width: 100%;}
.cell > *:last-child {  margin-bottom: 0;}
.cell--1-2-l {  width: 50%;}
.cell--1-2-m {  width: 48.5%;}
.cell--1-2-s {  width: 46.5%;}
.cell--1-3-l {  width: 32%;}
.cell--1-3-m {  width: 30%;}
.cell--1-3-s { width: 28%;}
.cell--1-4 {  width: 23%;}
.cell--2-3 {  width: 60%;}
.cell--3-4 {  width: 73%;}
@media (max-width: 768px) {
  .flex {  flex-direction: column;}
  .cell--1-2-l,
  .cell--1-2-m,
  .cell--1-2-s,
  .cell--1-3-l,
  .cell--1-3-m,
  .cell--1-3-s,
  .cell--2-3,
  .cell--3-4 {  margin-bottom: 1em;  width: 100%;}
  .cell--1-4 {  margin-bottom: 1em;  width: 48%;}
  .order0 {  order: 0;}
  .order1 {  order: 1;}
}
/* img hover */
figure.img-hover-bg {  overflow: hidden;}
figure.img-hover-bg p {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  height: 0;
  /*padding-top: 56.25%;*/ /*16:9*/
  padding-top: 66.6%; /*3:2*/
}
@media (min-width:1000px) {
  figure.img-hover {  overflow: hidden;  display: block !important;}
  figure.img-hover img {  transition: .5s;}
  figure.img-hover:hover img {  transform: scale(1.1);}
  figure.img-hover-bg p {  transition: .5s;}
  a:hover figure.img-hover-bg p {  transform: scale(1.1);}
}
/* lity
----------------------------------------------------*/
/*.lity {  background: rgba(0, 0, 0, 0.8);}
.lity-image img {  max-width: 90%;  margin: 0 auto;}
@media (max-width: 768px) {}
@media (min-width:1000px) {
  .lity-image img {  max-width: 800px;}
}*/
.lity {	padding: 3vw;}
.lity-content {  background: #fff;  padding: 1em;}
.lity-image img {	max-height: 800px !important;}
.lity-caption {
  color: #fff;
  text-align: center;
  margin-top: 1.2em;
  font-size: 1.3rem;
}
/* デフォルトの 56.25% (16:9 相当) をオーバーライド */
.lity-custom-50 .lity-iframe-container {
  padding-top: 50%;
}
.lity-custom-80 .lity-iframe-container {
  padding-top: 80%;
}
.lity-custom-100 .lity-iframe-container {
  padding-top: 100%;
}
/* scrollAnimation
----------------------------------------------------*/
.flow-text {  white-space: normal;  visibility: hidden;}
.flow-text span {
  display: inline-block; /* ← アニメーションのために必要 */
  white-space: pre; 
  opacity: 0;
}
.fade,
.fade-up,
.fade-down,
.fade-left,
.fade-right {
  opacity: 0;
  visibility: hidden; /* または opacity:0だけでもOK */
}
.blur-image {  filter: blur(20px);  opacity: 0;}

/* Page Top
----------------------------------------------------*/
#page-top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 9988
}
#page-top a {
  background: var(--clr-bk);
  width: 50px;
  height: 50px;
  display: block;
  position: relative;
  border-radius: 50vh;
}
#page-top a::after {
  position: absolute;
  content: "\f106";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  color: #fff;
  font-size: 1.2rem;
}
@media (min-width: 1000px) {
  #page-top {  bottom: 73px;  right: 3vw;}
  #page-top a:hover {  opacity: 0.7;}
}
/*reCAPTCHAのロゴを非表示にする*/
.grecaptcha-badge { visibility: hidden; }
.recaptcha-notice { font-size: 1.1rem;text-align: center;}