@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;
}

/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("font/noto-sans-jp-v54-japanese-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-500 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("font/noto-sans-jp-v54-japanese-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("font/noto-sans-jp-v54-japanese-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-500 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 500;
  src: url("font/noto-serif-jp-v31-japanese-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 700;
  src: url("font/noto-serif-jp-v31-japanese-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/*====================================================
////id |  common
====================================================*/

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

:root {
  --mainColor: #4f775c;
  --red: #de3030;

  --green: #57b385;
  --d_green: #4f775c;
  --l_green: #6abf88;
  --w_green: #f5fbfb;
  --w_green: #e9f6f0;

  --l_yellow: #fef9ed;
  --orange: #e6a638;
  --l_orange: #ffe7bc;

  --w_gray: #f4f4f4;
  --l_gray: #f1f1f1;
  --gray: #d3d3d3;
  --d_gray: #888;
  --black: #333;

  --font_family: "Noto Sans JP", "Yu Gothic", "游ゴシック Medium", "YuGothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  --f_serif: "Noto Serif JP", "游明朝 Medium", "YuMincho Medium", "Hiragino Mincho ProN", "MS PMincho", serif;
}

body,
button,
input,
select,
optgroup,
textarea {
  color: var(--black);
  font-family: var(--font_family);
  font-size-adjust: 0.5;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.7;
}
button,
input,
select,
optgroup,
textarea {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  body,
  button,
  input,
  select,
  optgroup,
  textarea {
    font-size: min(4.2vw, 1.7rem);
    line-height: 1.65;
  }
}
/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
  body,
  button,
  input,
  select,
  optgroup,
  textarea {
    font-size: min(2.15vw, 1.8rem);
  }
}

body {
  background: #fff;
  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.2s ease-in-out;
  /* vertical-align: middle; */
}
.tel_link a,
a[href^="tel:"] {
  color: inherit !important;
  text-decoration: none !important;
}
.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]),
.bodyText ul:not(.page-numbers):not(.not_set) li a:not([class]),
.bodyText ol li a:not([class]),
dd a:not([class]),
a.underline {
  color: var(--d_green);
  -webkit-text-decoration: underline dotted 1px var(--d_green);
  text-decoration: underline dotted 1px var(--d_green);
  text-underline-position: under;
  text-underline-offset: 0.1em;
}

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

figure {
  margin: 0;
  position: relative;
}
figure img {
  position: relative;
}
.coverImg {
  overflow: hidden;
  padding-top: 56.5%;
  width: 100%;
}
figure.coverImg img {
  margin: auto;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  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 figure {
  overflow: hidden;
}
.scaleUpImg figure {
  transition: 0.2s ease-in-out;
}

.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 {
  width: 100%;
  transition: 0.2s ease-in-out;
  position: relative;
  z-index: 1;
}
.innerBox {
  margin: 0 auto;
  padding: min(12vw, 110px) 0;
  position: relative;
  width: 90%;
  max-width: 1200px;
  z-index: 2;
}
.innerBox.shortPadding {
  padding: min(10vw, 70px) 0;
}
.innerBox .innerBox {
  width: 100%;
}

.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;
}
.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;
}

p + p {
  margin-top: 2em;
}

.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(--gray);
  border: none;
  height: 1px;
  opacity: 0.4;
}

::before,
::after {
  pointer-events: none;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  .hidden-mob {
    display: none;
  }
  .display-mob {
    display: block;
  }
  .innerBox {
    padding: min(12.8vw, 60px) 0;
  }
  figure figcaption.noImage {
    font-size: 1.6rem;
  }
  .flexColumn-mob,
  .flexColumn-tab {
    flex-direction: column;
  }
  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: 960px) {
  .innerBox {
    padding: min(10vw, 70px) 0;
  }
  .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: 1330px) {
  .display-middle {
    display: block;
  }
}

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

@media (hover: hover) {
  /*NOTE ホバー処理*/
  a:not([class]):hover,
  p a:hover {
    opacity: 0.7;
  }
  a.opacity-1:hover {
    opacity: 1;
  }
  .scaleUpImg:hover figure {
    transform: scale(1.02);
  }
  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);
}
.f-serif {
  font-family: var(--f_serif);
  font-weight: 500;
}
.ff_setting {
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}
.tate {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  text-orientation: upright;
}
ruby > rt {
  font-size: min(0.3em, 1rem);
  font-weight: 400;
  text-align: center;
}
/*====================================================
// NOTE |  装飾系
====================================================*/

.arrow {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 6 9"><path fill="%23333333" d="M1.56,9l-1.56-1.58,2.89-2.92L0,1.58,1.56,0l4.44,4.5L1.56,9Z" /></svg>') no-repeat center;
  background-size: 0.3em 0.4em;
  display: inline-block;
  transition: 0.2s ease-in-out;
  width: 0.7em;
  height: 0.7em;
}

.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 6 9"><path fill="%23333333" d="M1.56,9l-1.56-1.58,2.89-2.92L0,1.58,1.56,0l4.44,4.5L1.56,9Z" /></svg>') no-repeat center;
  background-size: 0.3em 0.4em;
  display: inline-block;
  transition: 0.2s ease-in-out;
  width: 0.7em;
  height: 0.7em;
}

.btn_wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.formBtn,
.linkBtn {
  /*class linkBtn */
  background: var(--orange);
  border: solid 2px var(--orange);
  border-radius: 2px;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  grid-gap: 0 0.4em;
  justify-content: center;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
  opacity: 1;
  padding: 0.3em 2em;
  position: relative;
  text-align: center;
  transition: 0.2s ease-in-out;
  min-height: 3.35em;
  z-index: auto;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link .triangle_arrow,
.formBox .btn-outer .triangle_arrow,
.linkBtn .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 6 9"><path fill="%23ffffff" d="M1.56,9l-1.56-1.58,2.89-2.92L0,1.58,1.56,0l4.44,4.5L1.56,9Z" /></svg>') no-repeat center;
  background-size: 0.4em 0.5em;
  margin: auto;
  pointer-events: none;
  position: absolute;
  top: 0;
  right: 1.3em;
  bottom: 0;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link .linkBtn-inner,
.linkBtn .linkBtn-inner {
  flex: 1;
  position: relative;
}

.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 .bodyText .is-style-outline .wp-block-button__link,
.linkBtn-small {
  background: transparent;
  border: none;
  border-bottom: solid 1px var(--gray);
  border-radius: 0;
  color: var(--black);
  cursor: pointer;
  display: flex;
  align-items: center;
  grid-gap: 0 0.4em;
  filter: none;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.4;
  opacity: 1;
  padding: 0.1em;
  position: relative;
  text-align: left;
  width: auto;
}
.wp-block-button .btn_wrap,
main .bodyText .btn_wrap {
  justify-content: flex-start;
}
.wp-block-button.is-style-outline .wp-block-button__link .linkBtn-inner,
main .bodyText .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;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  .wp-block-button:not(.is-style-outline) .wp-block-button__link,
  main .bodyText .wp-block-button:not(.is-style-outline) .wp-block-button__link,
  .linkBtn {
    /* class linkBtn mobile */
    min-width: 60vw;
  }
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
  /* NOTE linkBtn pc */
  .formBtn,
  .linkBtn {
    min-width: 300px;
  }
  .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    font-size: 1.1em;
    min-height: 3em;
    min-width: 300px;
  }
}

@media (hover: hover) {
  .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
  .formBox button[type="submit"]:hover,
  .formBtn:hover,
  .linkBtn:hover,
  a:hover .linkBtn {
    filter: brightness(1.1) saturate(1.1);
    opacity: 1;
    transform: scale(1.03);
  }
  .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover .triangle_arrow,
  .formBox button[type="submit"]:hover .triangle_arrow,
  .formBtn:hover .triangle_arrow,
  .linkBtn:hover .triangle_arrow,
  a:hover .linkBtn .triangle_arrow {
    transform: translateX(0.3em);
  }

  .wp-block-button.is-style-outline .wp-block-button__link:hover,
  main .bodyText .is-style-outline .wp-block-button__link:hover,
  .linkBtn-small:hover {
    color: var(--orange);
  }
  .wp-block-button.is-style-outline .wp-block-button__link:hover .triangle_arrow,
  main .bodyText .is-style-outline .wp-block-button__link:hover .triangle_arrow,
  .linkBtn-small:hover .triangle_arrow {
    transform: translateX(0.3em);
  }

  .mainColorBtn.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
  .linkBtn.bg-mainColor:hover {
    color: var(--mainColor);
  }

  .is-style-outline .wp-block-button__link:hover,
  main .bodyText .is-style-outline .wp-block-button__link:hover,
  a:hover .linkBtn-small,
  .linkBtn-small:hover {
    opacity: 1;
  }
  .wp-block-button.is-style-outline .wp-block-button__link:hover::after,
  main .bodyText .is-style-outline .wp-block-button__link:hover::after,
  .linkBtn-small:hover::after {
    transform: translateX(0.3em);
  }
  .wp-block-button.is-style-outline .wp-block-button__link:hover::before,
  main .bodyText .is-style-outline .wp-block-button__link:hover::before,
  .linkBtn-small:hover::before {
    width: calc(100% + 0.3em);
  }

  .arrow:hover::before,
  a:hover .arrow::before,
  button:hover .arrow::before,
  .formBox .btn-outer:hover .arrow::before {
    right: -120%;
  }
  .arrow:hover::after,
  a:hover .arrow::after,
  button:hover .arrow::after,
  .formBox .btn-outer:hover .arrow::after {
    right: 0;
  }
}

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

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

.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.4s 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,
.bodyText.default_deco ul > li,
.bodyText.default_deco ol > li {
  margin: 0;
  line-height: 1.5;
  position: relative;
}
ul.markList > li + li,
ul.normal > li + li,
.bodyText.default_deco ul > li + li,
ol > li + li,
.bodyText.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(--green);
  border-radius: 100%;
  content: "";
  top: 0.5em;
  left: 0.2em;
  width: 0.35em;
  height: 0.35em;
}
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;
}
ol {
  counter-reset: number; /* 名前を付けたカウンターをリセット */
  list-style: none; /* olが数字を付けることをキャンセル */
  margin: 0;
  padding: 0;
}
ol.markList > li {
  line-height: 1.8;
  margin-top: 0.2em;
  padding-left: 1.8em;
  position: relative;
}
ol > li:before {
  background: var(--mainColor);
  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.8em;
  font-weight: 700;
  line-height: 1;
  padding-bottom: 0.1em;
  position: absolute;
  top: 0.3em;
  left: 0;
  text-align: center;
  width: 1.8em;
  height: 1.8em;
  line-height: 1;
}
.bodyText.default_deco ol > li::before {
  top: auto;
}
ol.circleMark > li:before {
  border: solid 1px;
  border-radius: 100%;
  font-size: 0.9em;
  top: 0.05em;
}

.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;
}

.squareMark {
  border: solid 1px;
  display: inline-block;
  padding: 0.3em 0.7em;
  line-height: 1;
  text-align: center;
}

.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 |  【特殊装飾】 */

.headBox {
  position: relative;
}

.en_jp {
  display: grid;
  grid-gap: 0.1em;
  font-size: min(8vw, 5rem);
  letter-spacing: 0.03em;
  margin-bottom: min(8.5vw, 40px);
}
.en_jp .en {
  line-height: 1;
}
.en_jp .jp {
  font-size: min(4vw, 1.8rem);
  font-weight: 500;
  line-height: 1.4;
  order: -1;
  padding-left: 1.3em;
  position: relative;
}
.en_jp .jp::before {
  background: var(--mainColor);
  border-radius: 100%;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 0.83em;
  height: 0.83em;
}

@media print, screen and (min-width: 769px) {
  .en_jp {
    font-size: min(6.5vw, 5.5rem);
  }
}

.circle_deco {
  padding-left: 1.3em;
  position: relative;
}
.circle_deco::before {
  background: var(--mainColor);
  border-radius: 100%;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 0.83em;
  height: 0.83em;
}

.wp-block-lazyblock-emphasis-text {
  text-align: center;
}
.deco-emphasis_text {
  display: inline-block;
  font-size: min(5.2vw, 2.6rem);
  font-weight: bold;
  line-height: 1.4;
  padding: 0 1.5em;
  position: relative;
}
.deco-emphasis_text::before,
.deco-emphasis_text::after {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 23 30"><path fill="%23de3030" d="M3.22,0l19.78,30L0,2.4,3.22,0ZM.32,21.71l16.79,7.95L2.21,18.54l-1.89,3.16Z" /></svg>') no-repeat center bottom / contain;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  bottom: 0;
  width: 1.2em;
  height: 100%;
}
.deco-emphasis_text::before {
  left: 0;
}
.deco-emphasis_text::after {
  right: 0;
  transform: scale(-1, 1);
}

.text_dots {
  background-image: radial-gradient(circle at center, var(--red) 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;
}
.cate_item {
  border: solid 1px;
  border-radius: 2px;
  color: var(--mainColor);
  line-height: 1;
  padding: 0.25em 0.8em;
}
.article-tag {
  color: var(--mainColor);
  display: flex;
  gap: 0 0.8em;
  font-weight: 500;
}
.article-date {
  color: var(--gray);
  line-height: 1;
  padding-left: 1.3em;
  position: relative;
}
.article-date::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="%23b2b2b2" d="M48.03,15.27c-1.26-2.98-3.06-5.65-5.36-7.95-2.29-2.29-4.97-4.1-7.95-5.36-3.08-1.3-6.36-1.97-9.73-1.97s-6.65.66-9.73,1.97c-2.98,1.26-5.65,3.06-7.95,5.36-2.3,2.29-4.1,4.97-5.36,7.95-1.3,3.08-1.97,6.36-1.97,9.73s.66,6.65,1.97,9.73c1.26,2.98,3.06,5.65,5.36,7.95,2.3,2.3,4.97,4.1,7.95,5.36,3.08,1.3,6.36,1.97,9.73,1.97s6.65-.66,9.73-1.97c2.98-1.26,5.65-3.06,7.95-5.36,2.3-2.29,4.1-4.97,5.36-7.95,1.3-3.08,1.97-6.36,1.97-9.73s-.66-6.65-1.97-9.73ZM44.56,25c0,10.79-8.78,19.56-19.56,19.56S5.44,35.79,5.44,25,14.21,5.44,25,5.44s19.56,8.78,19.56,19.56ZM35.04,31.18c1.06,1.06,1.06,2.79,0,3.85-.51.51-1.2.8-1.92.8s-1.41-.28-1.92-.8l-8.11-8.1c-.51-.51-.8-1.2-.8-1.92v-14.2c0-1.5,1.22-2.72,2.72-2.72s2.72,1.22,2.72,2.72v13.08l7.32,7.3Z" /></svg>')
    no-repeat center / contain;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0.05em;
  left: 0;
  width: 0.9em;
  height: 0.9em;
}

.downloadBtn {
  background: var(--mainColor);
  border-radius: 2px;
  color: #fff;
  font-size: 0.95em;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  margin-top: 0.5em;
  padding: 0.4em 0.8em;
}
.downloadBtn .arrow {
  width: 1.4em;
  height: 1.4em;
}
.downloadBtn .arrow::before,
.downloadBtn .arrow::after {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 22 22"><path fill="%23ffffff" d="M11,0h0c6.08,0,11,4.92,11,11h0c0,6.08-4.92,11-11,11h0C4.92,22,0,17.08,0,11h0C0,4.92,4.92,0,11,0ZM10.96,13.66c.08.08.22.08.3,0,0,0,0,0,0,0l3.04-3.3c.08-.08.08-.2,0-.28-.04-.04-.1-.06-.16-.06h-1.35v-4.66c0-.19-.15-.35-.35-.35h-2.67c-.19,0-.35.16-.35.35v4.66h-1.35c-.11,0-.21.08-.21.19,0,.06.02.12.06.16l3.03,3.3ZM15.47,12.37v2.37H6.76v-2.37h-2v4.37h12.71v-4.37h-2Z" /></svg>')
    no-repeat center / contain;
}
.downloadBtn .arrow::after {
  right: 0;
  top: -120%;
}
.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="%2329877f" 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%;
}
.icon-tel {
  line-height: 1;
  padding-left: 0.7em;
  position: relative;
}
.icon-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 23 30"><path fill="%234f775c" d="M2.06,1.27C0,2.61-.41,6.79.37,10.19c.8,3.39,2.18,6.63,4.07,9.56,1.93,2.91,4.31,5.48,7.07,7.61,2.79,2.1,6.77,3.43,8.83,2.1,1.06-.78,1.96-1.75,2.66-2.86l-1.11-1.71-3.05-4.7c-.23-.35-1.65-.03-2.37.38-.75.54-1.39,1.23-1.87,2.03-.67.39-1.23,0-2.39-.54-1.43-.66-3.05-2.71-4.33-4.57-1.17-1.93-2.39-4.24-2.4-5.82-.01-1.28-.14-1.95.49-2.4.92-.11,1.81-.41,2.61-.88.67-.49,1.54-1.66,1.31-2.01L6.86,1.71l-1.11-1.71c-1.3.19-2.55.62-3.69,1.27Z" /></svg>')
    no-repeat center left / contain;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0.15em;
  left: 0;
  bottom: 0;
  width: 0.6em;
  height: 0.7em;
}
.hover_shadow {
  transition: 0.2s ease-in-out;
}
@media (hover: hover) {
  a.cate_item:hover {
    filter: brightness(1.02);
    transform: scale(1.05);
  }
  .downloadBtn:hover .arrow::before,
  a:has(.downloadBtn):hover .arrow::before {
    top: 120%;
    right: 0;
  }
  .downloadBtn:hover .arrow::after,
  a:has(.downloadBtn):hover .arrow::after {
    top: 0;
    right: 0;
  }
  .hover_shadow:hover {
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
  }
}

/*====================================================
////id |  contactArea
====================================================*/
.contactArea-inner {
  padding: min(12vw, 70px) 0;
}
.contactArea-head {
  font-size: min(10vw, 4rem);
  font-weight: 400;
}
.contactArea-link {
  display: flex;
  flex-wrap: wrap;
  grid-gap: min(2vw, 20px) min(3vw, 30px);
  justify-content: center;
}
.contactArea-link .linkBtn {
  min-width: 320px;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  .contactArea-text {
    font-size: min(4.2vw, 1.8rem);
  }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
  .contactArea-text {
    font-size: min(2.2vw, 2rem);
  }
}

@media (hover: hover) {
}

.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);
}

.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;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
  line-height: 1.4;
}
h1 {
  font-size: 2.2em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  h2 {
    font-size: min(6.4vw, 2.8rem);
  }
  h3 {
    font-size: min(5.4vw, 2.4rem);
  }
  h4 {
    font-size: min(4.2vw, 1.25em);
  }
  h5 {
    font-size: min(4.1vw, 1.2em);
  }
}

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

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

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

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

/*====================================================
//// NOTE |  カラー
====================================================*/

.bg-white {
  background: #fff;
}
.bg-mainColor {
  background: var(--mainColor);
  color: #fff;
}
.bg-red {
  background: var(--red);
  color: #fff;
}

.bg-green {
  background: var(--green);
  color: #fff;
}
.bg-l_green {
  background: var(--l_green);
  color: #fff;
}
.bg-w_green {
  background: var(--w_green);
}

.bg-l_yellow {
  background: var(--l_yellow);
}
.bg-orange {
  background: var(--orange);
}

.bg-w_gray {
  background: var(--w_gray);
}
.bg-l_gray {
  background: var(--l_gray);
}
.bg-gray {
  background: var(--gray);
  color: #fff;
}
.bg-black {
  background: var(--black);
  color: #fff;
}

.bg-transparent {
  background: transparent;
}

.white {
  color: #fff;
}
.mainColor {
  color: var(--mainColor);
}
.red {
  color: var(--red);
}

.green {
  color: var(--green);
}
.l_green {
  color: var(--green);
}
.d_green {
  color: var(--d_green);
}

.gray {
  color: var(--gray);
}
.d_gray {
  color: var(--d_gray);
}
.black {
  color: var(--black);
}

.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 【header】
====================================================*/
header {
  transition: 0.2s ease-in-out;
}
header .headerBox {
  background: rgba(255, 255, 255, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  transition: 0.4s ease-in-out;
  width: 100%;
  z-index: 999999;
}
header.hide .headerBox {
  transform: translateY(-130px);
}
header .header-inner {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  height: 100%;
}
.header_logo {
  display: flex;
  align-items: center;
  margin-left: 2.6vw;
}
header img {
  margin: 0;
}

header .menu-outer {
  position: relative;
  z-index: 30;
}
header .menuBtn {
  background: var(--l_green);
  cursor: pointer;
  display: grid;
  grid-template-rows: 1fr auto;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  transition: 0.2s ease-in-out;
  width: min(12vw, 50px);
  height: min(12vw, 50px);
  z-index: 10;
}
header .menuBtn .humberger {
  margin: 0;
  position: relative;
  transition: 0.2s ease-in-out;
  width: 100%;
  height: 100%;
}
header .menuBtn .humberger span {
  border-top: solid 2px #fff;
  content: "";
  margin: auto;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: 0.4s ease-in-out;
  width: 55%;
  height: 0;
}
header .menuBtn .humberger span:nth-child(1) {
  transform: translateY(-6px);
}
header .menuBtn .humberger span:nth-child(2) {
}
header .menuBtn .humberger span:nth-child(3) {
  transform: translateY(6px);
}
header .menuBtn-text {
  color: #fff;
  font-size: min(2vw, 9px);
  line-height: 1;
  height: 1em;
  pointer-events: none;
  text-align: center;
  transform: translateY(-0.8em);
}
header + .maskBox {
  background: transparent;
  backdrop-filter: blur(2px) grayscale(50%);
  opacity: 0;
  pointer-events: none;
  position: fixed;
  bottom: 0;
  left: 0;
  transition: 0.5s ease-in-out;
  width: 100%;
  height: calc(100vh - 50px);
  height: calc(100svh - 50px);
  z-index: 999998;
}
header .menuBox {
  background: var(--w_green);
  opacity: 0;
  overflow-y: auto;
  padding: min(8vw, 30px) min(10vw, 36px) 60px;
  pointer-events: none;
  position: fixed;
  top: min(12vw, 50px);
  right: -500px;
  transition: 0.5s ease-in-out;
  width: 80%;
  max-width: 450px;
  height: calc(100vh - min(12vw, 50px));
  height: calc(100svh - min(12vw, 50px));
  z-index: 1;

  overflow-y: scroll;
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
}
header .menuBox::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

.menu-open .headerBox {
  background: #fff;
}
header .menu-outer.open .menuBtn {
  background: var(--w_green);
  transition: 0.2s ease-in-out;
}
header .menu-outer.open .humberger span {
  border-top-color: var(--black);
  right: 0;
}
header .menu-outer.open .humberger span:nth-child(1) {
  bottom: 0;
  transform: rotate(-135deg);
}
header .menu-outer.open .humberger span:nth-child(2) {
  width: 0;
  opacity: 0;
}
header .menu-outer.open .humberger span:nth-child(3) {
  top: 0;
  transform: rotate(135deg);
}
header .menu-outer.open .menuBtn-text {
  opacity: 0;
  height: 0;
}
.menu-open header + .maskBox {
  opacity: 1;
  pointer-events: auto;
}
header .menu-outer.open .menuBox {
  pointer-events: auto;
  right: 0;
  opacity: 1;
}

header .menuBox .menuBox-inner {
}
header .menuBox ul {
}
header .menu-outer .menu-pc {
  display: none;
}
header .menuBox .menu > li {
  border-bottom: solid 1px var(--gray);
  padding: 0;
  position: relative;
  width: 100%;
}
header .menuBox .menu > li > a {
  font-weight: 500;
}
header .menu .sub-menu-outer {
  overflow: hidden;
  position: relative;
  transition: 0.4s ease-in-out;
  z-index: 10;
}
header .menuBox .sub-menu-outer {
  transform: translateY(-0.5em);
}
header .menuBox li .sub-menu-btn {
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 3.8em;
}
header .menuBox .menu li a {
  position: relative;
}
header .menuBox li a::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 6 9"><path fill="%23333333" d="M1.56,9l-1.56-1.58,2.89-2.92L0,1.58,1.56,0l4.44,4.5L1.56,9Z" /></svg>') no-repeat center;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  transition: 0.2s ease-in-out;
  width: 0.6em;
  height: 0.6em;
}
header .menuBox li:has(.sub-menu) > a::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 9 6"><path fill="%23333333" d="M0,1.56L1.58,0l2.92,2.89L7.42,0l1.58,1.56-4.5,4.44L0,1.56Z" /></svg>') no-repeat center;
}
header .menuBox li.open:has(.sub-menu) > a::before {
  transform: rotate(-180deg);
}
header .menuBox .sub-menu li a::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 5 8"><path fill="%23333333" d="M5,4l-3.95,4-1.05-1.06,2.91-2.94L0,1.06,1.05,0l3.95,4Z" /></svg>') no-repeat center;
  transform: scale(0.9);
}
.menu .menu-item.no_link > a {
  pointer-events: none;
}

.menu-open .headerBox {
  /* background: transparent; */
  transition: 0.5s ease-in-out;
}

.header-contact {
  display: grid;
  align-items: center;
  grid-gap: 16px;
  grid-template-columns: auto auto;
  place-content: center;
  padding: 5px 20px;
  text-align: center;
}
.menuBox .header-contact {
  margin-top: min(10vw, 50px);
}
.header-contact-text {
  border: solid 1px #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  line-height: 1.17;
  width: 3.5em;
  height: 3.5em;
}
.header-contact-tel-no {
  font-size: 24px;
}
.header-contact-tel-no::before {
  filter: brightness(100);
}
.header-contact-time {
  font-size: 12px;
}
/* ////////// mobile ////////// NOTE header mobile */
@media screen and (max-width: 1299px) {
  header,
  header .headerBox {
    height: min(12vw, 50px);
  }
  header.hide {
    top: -130px;
  }
  header .logo_img {
    width: min(56vw, 250px);
  }

  header .pc_menu {
    display: none;
  }
  header .menuBtn .humberger::before,
  header .menuBtn .humberger::after {
    width: 5px;
    height: 100%;
  }
  header .menu-outer.open .humberger::before {
    left: -3px;
  }
  header .menu-outer.open .humberger::after {
    right: -3px;
  }
  header .menuBtn .text {
    transform: scale(0.8);
  }
  header .menuBox::before {
    content: "";
    display: block;
    margin: auto;
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 1px;
  }
  header .menuBox .menu_logo img {
    height: 2.5em;
  }
  header .menuBox .menu-wrapper {
    align-items: flex-start;
  }
  header .menuBox .menu-wrapper > div {
    width: 100%;
  }
  header .menuBox .menu > li {
    position: relative;
    text-align: left;
  }
  header .menuBox .menu:not(.sub-menu) a {
    display: block;
    padding: 1.2em 0;
    border-bottom: solid 1px var(--gray2);
  }
  header .menuBox .menu .sub-menu {
    display: grid;
    padding-bottom: 0.5em;
  }
  header .menuBox .menu .sub-menu a {
    display: block;
    padding: 0.4em 0;
  }
  header .btnBox {
    grid-gap: 0.5em;
  }
}

@media screen and (max-width: 560px) {
  header .menuBox {
    width: 100%;
    right: -100%;
  }
}

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

@media screen and (min-width: 769px) and (max-width: 959.8px) {
  .menu-open .header_logo a {
    filter: none;
  }
  header .menuBox {
    width: 500px;
  }
  header .menu-outer.open .menuBox {
    /* left: calc(100% - 500px); */
  }
}

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

@media print, screen and (min-width: 1300px) {
  header {
    height: 80px;
  }
  header .headerBox {
    backdrop-filter: blur(3px);
    position: fixed;
    left: 0;
    right: 0;
    transition: 0.4s ease-in-out;
    width: 100%;
    height: 80px;
    z-index: 9000;
  }
  header .headerBox:hover {
    background: rgba(255, 255, 255, 1);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
  }
  header.global .headerBox:hover::before {
    opacity: 1;
  }
  header.hide {
    top: -180px;
  }
  .header-inner {
    max-width: none;
  }
  header .logo_img {
    width: min(20vw, 300px);
  }

  header .header_logo a:hover {
    color: inherit;
  }
  header .pc_menu {
    display: flex;
    align-items: center;
    gap: min(2.4vw, 60px);
    justify-content: flex-end;
    height: 100%;
  }

  header .pc_menu .menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    font-size: min(1.4vw, 1.6rem);
    font-weight: 700;
    height: 100%;
    padding: 0;
  }
  header .pc_menu .menu > .menu-item {
    display: flex;
    align-items: center;
    padding: 0 min(1.4vw, 0.8em);
    position: relative;
  }
  header .pc_menu .menu > .menu-item::before {
    border: solid #d7d7d7;
    border-width: 0 0 0 1px;
    content: "";
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1.2em;
  }
  header .pc_menu .menu > .menu-item:last-child::before {
    border-right-width: 1px;
  }

  header .pc_menu .menu > .menu-item > a {
    display: grid;
    place-content: center;
    place-items: center;
    padding: 0.2em;
    position: relative;
  }
  header .pc_menu .menu > .menu-item > a:hover {
    opacity: 1;
  }
  header .pc_menu .menu > .menu-item > a::before {
    border-bottom: solid 2px var(--orange);
    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 > .menu-item > 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)::after {
        background: var(--w_green);
        clip-path: polygon(50% 0, 100% 100%, 0 100%);
        content: '';
        display: block;
        margin: auto;
        position: absolute;
            top: calc(100% + 10px);
            left: 0;
            right: 0;
        width: 15px;
        height: 21px;
    } */
  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% + 0px);
    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: 1.5em 1.5em 1em 1.5em;
    text-align: center;
    transition: 0.4s ease-in-out;
  }
  header .pc_menu .sub-menu-block::before {
    background: rgba(255, 255, 255, 0.8);
    content: "";
    display: block;
    margin: auto;
    position: absolute;
    top: 23px;
    left: 0;
    transition: 0.4s ease-in-out;
    width: 100%;
    height: calc(100% - 23px);
  }
  .headerBox:hover .pc_menu .sub-menu-block::before {
    background: rgba(255, 255, 255, 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 + li {
    margin-top: 0.5em;
  }

  .header-contact {
    height: 100%;
    flex-shrink: 0;
  }

  header .menuBtn,
  header .menu-outer {
    display: none;
  }
  /* header .menuBox {
		width: 450px;
		height: 100vh;
		height: 100dvh;
	}
	header .menu-outer.open .menuBox {
	}
	header .menuBox .menu {
	}
	header .menuBox .menu li {
		padding: 0;
	}
	header .menuBox .menu > li > a {
		padding: 1em 2em 1em 0;
	}
	header .menuBox .menu > li > a:hover {
		color: var(--mainColor);
		opacity: 1;
	}
	header .menuBox .menu > li > a:hover::before {
	}
	header .menuBox .menu > li > a:hover::after {
		border-color: var(--mainColor);
		transform: translateX(.2em) rotate(45deg);
	}

	header .menuBox .sub-menu-outer {
		height: auto !important;
		margin-top: .7em;
	}
	header .menuBox .sub-menu-outer ul {
		display: flex;
			flex-wrap: wrap;
			grid-gap: .7em 2em;
	}
	header .menuBox .sub-menu-outer ul li {
		width: auto;
	}
	header .menuBox .sub-menu-outer ul a {
		padding-left: 1.3em;
	}
	header .menuBox .sub-menu-outer ul a:hover {
		color: var(--mainColor);
		opacity: 1;
	}
	header .menuBox .sub-menu-outer ul a:hover::before {
		width: 1em;
	}
	header .menuBox li .sub-menu-btn {
		display: none;
	} */
}
@media print, screen and (min-width: 1800px) {
  header .pc_menu .menu {
    font-size: min(1.6vw, 1.8rem);
  }
}
@media screen and (min-width: 960px) and (max-width: 1299px) {
  header,
  header .headerBox {
    height: 50px;
  }
  header .pc_menu .menu > .menu-item {
    padding: 0 min(2vw, 2em);
  }
  .header-contact {
    grid-gap: 12px;
    padding: 5px 15px;
  }
  .header-contact-tel-no {
    font-size: 25px;
  }
  .header-contact-text {
    font-size: 15px;
    width: 3em;
    height: 3em;
  }
  .header-contact-time {
    font-size: 11px;
  }
  header .pc_menu .sub-menu-block::before {
    top: calc((60px - min(1.6vw, 1.8rem) * 1.5 - min(1.6vw, 1.8rem) * 0.4) / 2);
    height: calc(100% - ((60px - min(1.6vw, 1.8rem) * 1.4 - min(1.6vw, 1.8rem) * 0.4) / 2));
  }
}

@media (hover: hover) {
  header .pc_menu .sub-menu a:hover {
    color: var(--orange);
    opacity: 1;
  }
  header .menuBox a:hover {
    color: var(--orange);
  }
}

/*====================================================
////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: #fff;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999999;
}

/*====================================================
//class .sa
====================================================*/
.sa {
  opacity: 0;
}
.sa.show {
  animation: 0.6s 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(--l_orange);
  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 1s ease-in-out forwards;
  animation: anim-slide 1s ease-in-out forwards;
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}
@-webkit-keyframes anim-slide {
  0% {
  }
  55% {
    width: 100%;
    left: 0;
    right: 0;
  }
  65% {
    width: 100%;
    left: auto;
    right: 0;
  }
  100% {
    width: 0;
    left: auto;
    right: 0;
  }
}
@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:not(.show) > * {
  opacity: 0;
}
.sa.slideShow.show > * {
  opacity: 1;
  transition-delay: 0.9s;
}

.sa.slideShow.slide-rl {
  transform: rotate(180deg);
}
.sa.slideShow.slide-rl img {
  transform: rotate(180deg);
}

.sa.slideShow.slide-white:before {
  background: #fff;
}

/*====================================================
////class .splide
====================================================*/
.splide__track {
  position: relative;
}
.splide__arrows {
  pointer-events: none;
  position: absolute;
  top: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}
.splide__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  opacity: 0.8;
  pointer-events: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  transition: 0.2s ease-in-out;
  width: min(8vw, 40px);
  height: min(8vw, 40px);
}
.splide__arrow--prev {
  left: calc(min(4vw, 20px) * -1);
}
.splide__arrow--next {
  right: calc(min(4vw, 20px) * -1);
}
.splide__arrow > span {
  background: #fff url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 40 40"><path fill="%238a8a8a" d="M20,0C8.95,0,0,8.95,0,20s8.95,20,20,20,20-8.95,20-20S31.05,0,20,0ZM24.84,19.83l-6.89,6.89-2.01-2.01,4.88-4.88-4.88-4.87,2.01-2.01,6.89,6.89Z" /></svg>') no-repeat center / contain;
  border-radius: 100%;
  display: block;
  width: min(8vw, 40px);
  height: min(8vw, 40px);
}
.splide__arrow--prev > span {
  transform: scale(-1, 1);
}

.carousel-progress {
  background: var(--gray2);
  margin-top: min(7vw, 40px);
}

.carousel-progress-bar {
  background: var(--black);
  height: 2px;
  transition: width 400ms ease;
  width: 0;
}

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

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

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

@media (hover: hover) {
  .splide__arrow:hover {
    opacity: 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: #fff;
  border: solid 1px #acacac;
  border-radius: 2px;
  color: var(--black);
  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.8em;
}
:-ms-input-placeholder {
  color: #c9c9c9;
  font-size: 0.8em;
}
::placeholder {
  color: #c9c9c9;
  font-size: 0.8em;
}

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(--black);
  top: 0.2em;
  left: 0px;
  background: #fff;
  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 {
  position: relative;
  padding-left: 1.5em;
}
input[type="radio"] + span:before,
input[type="radio"] + label:before {
  background: #fff;
  content: "";
  border: solid 1px;
  border-radius: 100%;
  border-color: var(--d_gray);
  position: absolute;
  top: 0.15em;
  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.15em;
  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-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;
}

.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
====================================================*/

.formBox {
  /* background: #fff; */
  margin: auto;
}
.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: 700;
}
.formBox .required {
  background: var(--red);
  color: #fff;
  display: inline-block;
  font-size: 0.6em;
  font-weight: 700;
  line-height: 1;
  margin-left: 1em;
  padding: 0.3em 0.5em 0.25em;
  vertical-align: 0.2em;
}
.formBox .formItem .mwform-tel-field {
  display: flex;
  margin-left: -3px;
  align-items: center;
}
.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: inline-block;
  margin-top: min(10vw, 70px);
  position: relative;
}

.formBox .linkBtn:disabled {
  pointer-events: none;
  opacity: 0.3;
}
/* .formBox .linkBtn {
    background: var(--mainColor);
    border: solid 1px var(--mainColor);
    color: #fff;
} */
.formBox .linkBox.flexBox {
  grid-gap: 0.8em;
}
.formBox .linkBox .back .linkBtn {
  background: transparent;
}
/* ////////// 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 {
    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.7em;
  }
  .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 {
    filter: none;
    right: 1.2em;
  }
}

/*====================================================
////class .wp-block-table
====================================================*/
.bodyText p + .wp-block-table,
.bodyText .wp-block-table + .wp-block-table {
  margin: 1.5em 0;
}
table,
.bodyText .wp-block-table table {
  background: #fff;
  border-collapse: separate;
  border: solid var(--gray);
  border-width: 1px 0 0 1px;
  border-spacing: 0;
  line-height: 1.6;
  /* overflow: hidden; */
  vertical-align: middle;
  width: 100%;
}
.bodyText .wp-block-table table {
  border-collapse: collapse;
}
table thead,
.bodyText .wp-block-table thead {
  border: none;
}
table th,
table td,
.wp-block-table thead th,
.wp-block-table tr td {
  padding: 0.8em 1em;
}

table thead th,
.wp-block-table thead th {
  background: var(--green);
  border-right: solid 1px #fff;
  color: #fff;
}
table thead th:last-child,
.wp-block-table thead th:last-child {
  border-right: none;
}
table tbody th,
.wp-block-table tbody th {
  background: var(--w_gray);
  border-bottom: solid 1px var(--gray);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}
table td,
.wp-block-table tr td {
  background: #fff;
  border: solid var(--gray);
  border-width: 0 1px 1px 0;
}

table tr td a,
.wp-block-table tr td a {
  color: var(--mainColor);
  -webkit-text-decoration: underline solid 1px;
  text-decoration: underline solid 1px;
  text-underline-position: under;
  text-underline-offset: 0.2em;
}
table tr td .tel_link a,
.wp-block-table tr td .tel_link a {
  color: inherit;
}

table tfoot,
.bodyText .wp-block-table tfoot {
  border: none;
}
table tfoot td,
.wp-block-table tfoot td {
  background: var(--w_green);
  border-top: solid 1px var(--l_gray2);
  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.first_td_head table {
}
.first_td_head table th:first-child,
.wp-block-table.first_td_head th:first-child {
    position: sticky;
        left: 0;
}
.first_td_head table td:first-child,
.wp-block-table.first_td_head td:first-child {
	background: #fbfbfb;
    position: sticky;
        left: 0;
    white-space: nowrap;
}
.first_td_head table th:first-child::before,
.wp-block-table.first_td_head th:first-child::before,
.first_td_head table td:first-child::before,
.wp-block-table.first_td_head td:first-child::before {
    border-left: solid 1px var(--gray);
    box-sizing: border-box;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
} */

/* ////////// 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: 768px) {
  table.responsive,
  .wp-block-table.responsive table,
  table.responsive tbody,
  .wp-block-table.responsive table tbody,
  table.responsive tr,
  .wp-block-table.responsive table tr,
  table.responsive td,
  .wp-block-table.responsive table td {
    display: block;
  }
  table.responsive,
  .wp-block-table.responsive table {
    border: none;
  }
  table.responsive thead,
  .wp-block-table.responsive thead {
    display: none;
  }
  table.responsive tr,
  .wp-block-table.responsive tr {
    position: relative;
    width: 100%;
  }
  table.responsive th,
  .wp-block-table.responsive td:first-child {
    background: var(--green);
    color: #fff;
    display: block;
    font-weight: 500;
    padding: 0.6em 0.6em;
    text-align: center;
    width: 100%;
  }
  table.responsive td,
  .wp-block-table.responsive td {
    border: none;
    padding: 0.6em 0;
    text-align: left;
    transition: 0.4s ease;
    width: 100%;
  }
  table.responsive td + td,
  .wp-block-table.responsive td + td {
    border-top: solid 1px var(--gray);
  }
  table.responsive td:last-child,
  .wp-block-table.responsive td:last-child {
    margin-bottom: 0.5em;
  }
  table.responsive tr:last-child td + td:last-child,
  .wp-block-table.responsive tr:last-child td + td:last-child {
    border-bottom: solid 1px var(--gray);
  }

  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(10vw, 50px);
  }
  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(--black);
    content: attr(data-label);
    font-weight: 500;
  }
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
  table.responsive td.blank .blank_line {
    background: #fff;
    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(--gray);
  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: #fff;
  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: #fff;
  border: solid 1px var(--gray);
  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 .box-inner {
  overflow: hidden;
  position: relative;
}
.mapBox iframe {
  margin: auto;
  position: absolute;
  top: -200px;
  width: 100%;
  height: calc(100% + 400px);
}

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

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

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

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

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

/*====================================================
////id |  faq
====================================================*/
.faq-item-wrapper {
  display: grid;
  grid-gap: min(4vw, 20px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
}
.faq-item {
  overflow: hidden;
  line-height: 1.6;
}
.faq-item dl {
}
.faq-item dt {
  display: grid;
  grid-template-columns: 1em 1fr auto;
  grid-gap: 0.9em;
  padding: 0.8em 1em;
  position: relative;
  transition: 0.2s ease-in-out;
}
.faq-item dt::before,
.faq-item .accordion-inner::before {
  color: var(--mainColor);
  font-size: 1.27em;
  display: block;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  width: 1em;
  height: 1.5em;
}
.faq-item dt::before {
  content: "Q";
}
.faq-item .accordion-inner::before {
  content: "A";
}
.faq-item dt .icon {
  position: relative;
  width: 0.75em;
  height: 100%;
}
.faq-item dt .icon::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 9 6"><path fill="%23333333" d="M0,1.56L1.58,0l2.92,2.89L7.42,0l1.58,1.56-4.5,4.44L0,1.56Z" /></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%;
}
.faq-item.open dt .icon::before {
  transform: rotate(180deg);
}

.faq-item .accordion-inner {
  display: grid;
  grid-gap: 0.9em;
  grid-template-columns: 1em 1fr;
  padding: 0.8em 2em 20px 1em;
  position: relative;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
  .faq-item dt {
    grid-gap: 0.6em;
    padding: 0.8em 1em 0.8em 0.5em;
  }
}

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

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

@media (hover: hover) {
  .faq-item dt:hover {
    filter: brightness(0.98) saturate(3);
  }
}

/*====================================================
////id | archive-item
====================================================*/
.archive-item-wrapper {
  display: grid;
}
.archive-item-link {
  border-bottom: solid 1px var(--gray);
  display: grid;
  grid-gap: 0 1em;
  grid-template-rows: subgrid;
  grid-row: span 3;
  padding: min(4.5vw, 24px) 0;
}
.archive-item-text {
  display: grid;
  grid-gap: 6px;
  place-content: flex-start;
}
.date_cate {
  display: flex;
  align-items: baseline;
  font-size: 0.8em;
}
.archive-item-date {
  font-size: min(3.2vw, 1.5rem);
  width: 6em;
}
.archive-item-title {
  font-size: min(4.5vw, 1.8rem);
  font-weight: 500;
  line-height: 1.4;
  transition: 0.2s ease-in-out;
}
.archive-item-category {
  font-size: 0.9em;
}
.archive-item-tag {
  font-size: min(3vw, 1.2rem);
}
.archive-item-excerpt {
  margin-top: 0.3em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 840px) {
  .archive-item-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 600px) {
  .archive-item-wrapper {
    grid-template-columns: 1fr;
  }
}

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

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

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

/*====================================================
////id |  cmn_contact
====================================================*/
.cmn_contact-head {
  letter-spacing: 0.1em;
}
.cmn_contact-text,
.cmn_contact-tel-no {
  letter-spacing: 0.05em;
}
.cmn_contact-detail {
  background: #fff;
  border-radius: 15px;
  display: grid;
  place-items: center;
  line-height: 1.6;
  position: relative;
  text-align: center;
}
.cmn_contact-label {
  background: #fff;
  border: solid 2px var(--mainColor);
  border-radius: 100%;
  color: var(--mainColor);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  line-height: 1.35;
  margin: auto;
  position: absolute;
  text-align: center;
  width: 4.5em;
  height: 4.5em;
}
.cmn_contact-label:after {
  border: solid 1px var(--mainColor);
  box-sizing: border-box;
  border-radius: 100%;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transform: scale(0.95);
  width: 100%;
  height: 100%;
}
.cmn_contact-tel-no {
  margin-bottom: 0.2em;
}
.cmn_contact-detail .icon-tel::before {
  top: 0.25em;
  height: 0.6em;
}

.cmn_contact-media img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 960px) {
  #cmn_contact {
    background: url("img/cmn/cmn_contact-bg-mob.webp") no-repeat center / cover;
    text-align: center;
  }
  .cmn_contact-inner {
    max-width: 500px;
    padding: min(14.5vw, 60px) 0 min(10vw, 50px);
  }
  .cmn_contact-head {
    font-size: min(7vw, 3rem);
    margin-bottom: 0.7em;
  }
  .cmn_contact-detail {
    font-size: min(3.7vw, 1.5rem);
    margin-top: min(9vw, 30px);
    padding: 2em 1.5em;
  }
  .cmn_contact-label {
    font-size: min(3.7vw, 1.8rem);
    top: -1.6em;
    left: min(3vw, 1em);
    width: 4em;
    height: 4em;
  }
  .cmn_contact-tel-no {
    font-size: min(8vw, 4rem);
  }
  .cmn_contact-add_text {
    text-align: left;
  }
  .cmn_contact-media {
    max-width: 260px;
    margin: 0 auto 1.2em;
  }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
  #cmn_contact {
    background: url("img/cmn/cmn_contact-bg-pc.webp") no-repeat center / cover;
  }
  .cmn_contact-inner {
    display: grid;
    align-items: center;
    grid-template-columns: 360px 1fr;
    gap: 56px;
    padding: min(5vw, 64px) 0;
  }

  .cmn_contact-head {
    font-size: min(3vw, 3.5rem);
    margin-bottom: 0.4em;
  }
  .cmn_contact-detail {
    font-size: min(1.6vw, 1.6rem);
    padding: 24px 40px;
  }
  .cmn_contact-label {
    font-size: min(1.6vw, 2.2rem);
    top: -0.8em;
    left: 0.6em;
  }
  .cmn_contact-tel-no {
    font-size: min(4vw, 5rem);
  }
  .cmn_contact-body {
    display: flex;
    flex-direction: column;
    gap: 1.8em;
  }
	  .cmn_contact-media {
    height: 320px; /* ←ここが肝 */
  }

  .cmn_contact-media img {
    height: 100%;
    object-fit: cover;
  }
}
@media screen and (min-width: 1330px) {
  .cmn_contact-label {
    left: 1em;
  }
}

@media (hover: hover) {
}

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

.pagetop {
  display: none;
  position: fixed;
  bottom: 15px;
  right: 15px;
  width: 50px;
  height: 50px;
  z-index: 1000;
  /*	border: solid 1px*/
}
.pagetop.stop {
  position: absolute;
  top: -70px;
  bottom: auto;
}
.pagetop a {
  background: var(--l_green);
  border-radius: 100%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding-top: 3%;
  position: relative;
  opacity: 0.7;
  width: 100%;
  height: 100%;
}
.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;
  }
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
  .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;
  z-index: 10;
}
.footer-inner {
  display: grid;
  grid-gap: 0 min(3vw, 60px);
  padding: min(13.5vw, 70px) 0;
}
.footer-nav dt {
  border-bottom: solid 1px var(--gray);
  font-weight: 700;
  margin-bottom: 1em;
  padding-bottom: 0.5em;
}
.footer-nav .menu {
  display: grid;
  grid-gap: 0.4em;
}
.footer-nav .menu .menu-item:has(.sub-menu) > a {
  color: var(--mainColor);
  font-weight: 700;
}
.footer-nav .sub-menu {
  display: grid;
  grid-gap: 0.4em;
  margin-top: 0.3em;
}
.footer-nav .sub-menu .menu-item {
  padding-left: 1em;
  position: relative;
}
.footer-nav .sub-menu .menu-item::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 10 28"><path fill="%23707070" d="M10,14.61H1.86v13.39H0V0h1.86v12.75h8.14v1.87Z" /></svg>') no-repeat top left / contain;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0.5em;
  left: 0.2em;
  width: 0.5em;
  height: 0.8em;
}
footer .menu a {
  color: var(--black);
  padding: 0.1em 0;
  text-decoration: none;
}

footer .menu a[target="_blank"]::after {
  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="%234B4B4B" 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;
  content: "";
  display: inline-block;
  margin-left: 0.5em;
  width: 0.8em;
  height: 0.8em;
}

.copyright {
  color: var(--d_gray);
  font-size: 10px;
  padding-bottom: 1em;
  text-align: center;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960px) {
  footer {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer-inner {
    width: auto;
    max-width: 90%;
  }
  .footer-logo {
    max-width: 300px;
  }
  .footer-nav {
    display: grid;
    grid-gap: 0.6em;
    margin-top: 2em;
  }
  .footer-nav .sub-menu {
    grid-gap: 0.2em;
  }
  .footer-nav .sub-menu li {
    line-height: 1.4;
  }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
  .footer-inner {
    font-size: min(1.7vw, 1.8rem);
    grid-template-columns: auto 1fr;
  }
  .footer-logo .logo_img {
    width: min(30vw, 400px);
  }
  .footer-nav {
    display: flex;
    gap: min(2.5vw, 35px);
    justify-content: flex-end;
  }
  footer .menu {
  }
}
@media screen and (min-width: 960px) and (max-width: 1330px) {
}

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

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

/*====================================================
////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) {
}
