@charset "UTF-8";
@import url("reset.css");
/*A Modern CSS Reset  https://andy-bell.co.uk/a-modern-css-reset*/
:root {
  --cont_padding: 50px;
  --header_inner: 90px;
  --header_inner_low: 70px;
  --fv_img_height: 230px;
  /* color */
  --color_theme01: #218E21;
  --color_theme01_rgb: 33, 142, 33;
  --color_theme02: #F4ECB2;
  --color_theme03: #DFB913;
  --color_theme04: #00B900;
  --color_theme05: #226422;
  --color_theme06: #C4B6A4;
  --color_theme07: #E1AE5E;
  --color_font01: #000;
  --color_font02: #fff;
  --color_font02_rgb: 255, 255, 255;
  --color_font03: #657065;
  --color_field01: #fff;
  --color_field01_rgb: 255, 255, 255;
  --color_field02: #F0F4EB; /* 薄い緑色 */
  --color_field03: #F0F4EB; /* 薄いベージュ */
  --color_border01: #fff;
  --color_border01_rgb: 255,255,255;
  --color_border03_rgb: 0,0,0;
  --color_border04: #9C9C9C;
  --color_border05: #BDBDBD;
  --color_link01: #00B04F;
  /* fonts */
  --default_ff: "Noto Sans JP",
  sans-serif;
  --second_ff: "A1 Mincho" , "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; /*さくらサーバーフォント使用*/
  --option01_ff: "Roboto", sans-serif;
  /* cont width */
  --cont_width00: 1180px;
  --cont_width01: 1200px;
  --cont_width02: 1070px;
  --cont_width03: 1300px;
  --cont_width04: 800px;
  --cont_width05: 940px;
  /* space */
  --space_10: 10px;
  --space_15: 15px;
  --space_20: 20px;
  --space_25: 25px;
  --space_30: 30px;
  --space_40: 40px;
  --space_50: 50px;
  --space_60: 60px;
  --space_70: 60px;
  --space_80: 80px;
  --space_100: 100px;
  --space_120: 120px;
}
@media (width <= 820px) {
  :root {
    --cont_padding: 20px;
  }
}
@media (width <= 1200px) {
  :root {
    --header_inner: 60px;
  }
}
@media (width <= 820px) {
  :root {
    --fv_img_height: 160px;
  }
}
@media (width <= 820px) {
  :root {
    --space_10: 5px;
  }
}
@media (width <= 820px) {
  :root {
    --space_15: 10px;
  }
}
@media (width <= 820px) {
  :root {
    --space_20: 13px;
  }
}
@media (width <= 820px) {
  :root {
    --space_25: 15px;
  }
}
@media (width <= 820px) {
  :root {
    --space_30: 18px;
  }
}
@media (width <= 820px) {
  :root {
    --space_40: 25px;
  }
}
@media (width <= 820px) {
  :root {
    --space_50: 30px;
  }
}
@media (width <= 820px) {
  :root {
    --space_60: 40px;
  }
}
@media (width <= 820px) {
  :root {
    --space_70: 45px;
  }
}
@media (width <= 820px) {
  :root {
    --space_80: 40px;
  }
}
@media (width <= 820px) {
  :root {
    --space_100: 50px;
  }
}
@media (width <= 820px) {
  :root {
    --space_120: 60px;
  }
}

/*end :root */
ul,
li,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

img {
  width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s ease;
}
a[href*="tel:"] {
  text-decoration: none;
}
@media (width > 820px) {
  a[href*="tel:"] {
    pointer-events: none;
    /*PCはリンクさせない*/
  }
}
@media (width > 820px) {
  a[href*="tel:"]::after {
    content: none !important;
  }
}

button {
  outline: none;
  border-style: none;
  background-color: transparent;
}

em {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

figure {
  display: block;
}

/*parts----------------------------------------------------------------------------------*/
.bodyMotif {
  position: absolute;
  top: 0;
  left: 0;
  width: 262px;
  height: 100%;
  pointer-events: none;
  /* 下層：画像を1170pxおきに表示 */
  background-image: url("../images/motif.png");
  background-repeat: repeat-y;
  background-size: 262px 262px;
  background-position: left top;
  /* 上層：透明グラデーションマスクを重ねる */
  mask-image: repeating-linear-gradient(to bottom, rgb(0, 0, 0) 0px, rgb(0, 0, 0) 262px, rgba(0, 0, 0, 0) 262px, rgba(0, 0, 0, 0) 1834px);
  -webkit-mask-image: repeating-linear-gradient(to bottom, rgb(0, 0, 0) 0px, rgb(0, 0, 0) 262px, rgba(0, 0, 0, 0) 262px, rgba(0, 0, 0, 0) 1834px);
}
@media (width <= 1200px) {
  .bodyMotif {
    display: none;
  }
}

.rectangle {
  display: inline-block;
  text-align: center;
  font-size: inherit;
  line-height: 1;
  font-style: normal;
  font-weight: 500;
  transition: 0.4s ease;
  white-space: nowrap;
  letter-spacing: 0.1em;
}
.rectangle.-format01 {
  padding: 0.3em 0.8em 0.45em;
  color: var(--color_font02);
  border-radius: 100vh;
  background-color: var(--color_theme01);
}
.rectangle.-format02 {
  min-width: 7em;
  padding: 0.6em 0.8em 0.7em;
  color: var(--color_font02);
  border-radius: 4px;
}
@media (width <= 580px) {
  .rectangle.-format02 {
    min-width: initial;
    padding: 0.4em 0.8em 0.45em;
  }
}
.rectangle.-format03 {
  min-width: 7em;
  padding: 0.6em 0.8em 0.7em;
  color: var(--color_theme01);
  border-radius: 4px;
  border: thin solid var(--color_theme01);
  background-color: transparent;
}
@media (width <= 580px) {
  .rectangle.-format03 {
    min-width: initial;
    padding: 0.4em 0.8em 0.45em;
  }
}
.rectangle.-format04 {
  width: 100%;
  padding: 0.6em 0.8em 0.7em;
  text-align: left;
  color: var(--color_theme01);
  border-radius: 4px;
  border: thin solid var(--color_theme01);
  background-color: transparent;
}
@media (width <= 580px) {
  .rectangle.-format04 {
    min-width: initial;
    padding: 0.4em 0.8em 0.45em;
  }
}
.rectangle.-format05 {
  padding: 0.3em 0.8em 0.45em;
  color: var(--color_theme06);
  border: thin solid var(--color_theme06);
  border-radius: 100vh;
  background-color: var(--color_field01);
}
@media (width > 820px) {
  .CategoryList .rectangle.-format05:hover {
    color: var(--color_font02);
    background-color: var(--color_theme06);
  }
}
.rectangle.-format06 {
  padding: 0.5em 0.8em 0.5em;
  text-align: left;
  color: var(--color_font02);
  line-height: 1.4;
  border-radius: 4px;
  background-color: var(--color_theme01);
  white-space: wrap;
}
.rectangle.-format07 {
  padding: 0.2em 0.8em 0.15em;
  text-align: left;
  color: var(--color_font02);
  line-height: 1.4;
  border-top-right-radius: 100vh;
  border-bottom-right-radius: 100vh;
  background-color: var(--color_theme01);
}
.rectangle.-works {
  background-color: var(--color_theme04);
}
.rectangle.-voice {
  background-color: var(--color_theme06);
}
.rectangle.-std {
  background-color: var(--color_theme01);
}
.rectangle.-std::before, .rectangle.-format03::before, .rectangle.-format04::before {
  display: inline-block;
  content: "#";
  margin-right: 0.2em;
}

a.rectangle {
  transition: 0.4s ease;
}

@media (width > 820px) {
  a.rectangle:hover {
    opacity: 0.7;
  }
}

a.rectangle.-format03:hover,
a.rectangle.-format04:hover {
  color: var(--color_font02);
  background-color: var(--color_theme01);
  opacity: 1;
}

.ico {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  line-height: 1;
  font-size: inherit;
}
.ico.ico--arrow01 {
  background-color: var(--color_theme01);
  clip-path: polygon(20% 10%, 90% 50%, 20% 90%);
}
@media (width > 820px) {
  .Button.-solid--variation01:hover .ico.ico--arrow01, .Button.-solid--variation04:hover .ico.ico--arrow01 {
    background-color: var(--color_font02);
  }
}
.ico.ico--arrow02 {
  background-color: var(--color_theme02);
  clip-path: polygon(20% 10%, 90% 50%, 20% 90%);
}
.ico.ico--arrow03 {
  background-color: var(--color_font02);
  clip-path: polygon(20% 10%, 90% 50%, 20% 90%);
}
@media (width > 820px) {
  .Button.-solid--variation02:hover .ico.ico--arrow03 {
    background-color: var(--color_theme01);
  }
}
.ico.ico--calender {
  background-image: url("../images/ico_calender.svg");
}
.ico.ico--mail {
  background-image: url("../images/ico_mail.svg");
}
.ico.ico-arrowCircle {
  width: 100%;
  aspect-ratio: 1/1;
  background-color: var(--color_theme01);
  border-radius: 100vh;
  position: relative;
}
.ico.ico-arrowCircle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 55%;
  width: 30%;
  height: 40%;
  transform: translate(-50%, -50%);
  background-color: var(--color_field01);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
}

.squareMotif {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  writing-mode: horizontal-tb;
}
.squareMotif::before, .squareMotif::after {
  display: block;
  content: "";
  width: 50%;
  height: 50%;
  border-radius: 30%;
}
.squareMotif::after {
  transform: translateX(100%);
}
.squareMotif.-format01::before, .squareMotif.-format01::after {
  background-color: var(--color_theme01);
}
.squareMotif.-format02::before, .squareMotif.-format02::after {
  background-color: var(--color_font02);
}

.copyRight {
  font-size: 11px;
  line-height: 1.2;
}
@media (width <= 820px) {
  .copyRight {
    font-size: 10px;
  }
}

.spacer.-space10 {
  height: 10px;
}
@media (width <= 820px) {
  .spacer.-space10 {
    height: 8px;
  }
}
.spacer.-space20 {
  height: 20px;
}
@media (width <= 820px) {
  .spacer.-space20 {
    height: 10px;
  }
}
.spacer.-space35 {
  height: 35px;
}
@media (width <= 820px) {
  .spacer.-space35 {
    height: 15px;
  }
}
.spacer.-space45 {
  height: 45px;
}
@media (width <= 820px) {
  .spacer.-space45 {
    height: 20px;
  }
}
.spacer.-space50 {
  height: 50px;
}
@media (width <= 820px) {
  .spacer.-space50 {
    height: 22px;
  }
}
.spacer.-space80 {
  height: 80px;
}
@media (width <= 820px) {
  .spacer.-space80 {
    height: 35px;
  }
}

/*---------------------------------------------------------------------------------------------*/
.Page {
  text-size-adjust: 100%;
  /*for smart Phone*/
  -ms-text-size-adjust: 100%;
  /*for smart Phone*/
  box-sizing: border-box;
  scroll-behavior: smooth;
}

.Page__body {
  position: relative;
  font-size: 16px;
  line-height: 1;
  font-feature-settings: "palt" 1;
  color: var(--color_font01);
  font-family: var(--default_ff);
  font-weight: 500;
  letter-spacing: 0.02em;
  background-color: var(--color_field02);
  z-index: 1;
}
@media (width <= 820px) {
  .Page__body {
    font-size: 16px;
  }
}
.Page__body.-naviOpen {
  overflow: hidden;
}
.Page__body.-doctor {
  background-image: url("../images/doctor_bg.jpg");
  background-repeat: no-repeat;
  background-position: 50% var(--fv_img_height);
  background-size: 100% auto;
}
@media (width <= 820px) {
  .Page__body.-doctor {
    background-size: 200% auto;
    background-position: 80% var(--fv_img_height);
  }
}
.Page__body.single-blog {
  padding-top: calc(var(--header_inner) + 50px);
}
@media (width <= 1200px) {
  .Page__body.single-blog {
    padding-top: calc(var(--header_inner) + 10px);
  }
}
.Page__body.-contact {
  padding-top: calc(var(--header_inner) + 10px);
}

.Page__header {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  z-index: 7;
  transform: translateX(-50%);
}
@media (width <= 1200px) {
  .Page__header {
    position: fixed;
  }
}

.Page__prologue {
  position: relative;
  z-index: 4;
}

.Page__spNavi {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100dvh;
  z-index: 6;
  transition: all 0.5s ease;
  opacity: 0;
  visibility: hidden;
}
@media (width > 1200px) {
  .Page__spNavi {
    display: none;
  }
}
.Page__body.-naviOpen .Page__spNavi {
  opacity: 1;
  visibility: visible;
}

.Page__main {
  position: relative;
  z-index: 2;
}

.Page__motif {
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.Page__motif::before {
  content: "";
  position: fixed;
  top: 650px;
  left: 0;
  width: 262px;
  height: 100%;
  pointer-events: none;
  /* 下層：画像を1170pxおきに表示 */
  background-image: url("../images/motif.png");
  /*background-repeat: repeat-y;*/
  background-repeat: no-repeat;
  background-size: 262px 262px;
  background-position: left top;
  /* 上層：透明グラデーションマスクを重ねる 
  mask-image: repeating-linear-gradient(
      to bottom,
      rgba(0, 0, 0, 1) 0px,
      rgba(0, 0, 0, 1) 262px,
      rgba(0, 0, 0, 0) 262px,
      rgba(0, 0, 0, 0) 1834px
  );
  -webkit-mask-image: repeating-linear-gradient(
      to bottom,
      rgba(0, 0, 0, 1) 0px,
      rgba(0, 0, 0, 1) 262px,
      rgba(0, 0, 0, 0) 262px,
      rgba(0, 0, 0, 0) 1834px
  );
  */
}
@media (width <= 1380px) {
  .Page__motif::before {
    display: none;
  }
}
body.-contact .Page__motif::before {
  display: none;
}
body.-top .Page__motif::before, body.-doctor .Page__motif::before, body.-story .Page__motif::before, body.-price .Page__motif::before {
  display: none;
}

.Page__footer {
  position: relative;
  z-index: 1;
}
@media (width > 980px) {
  .Page__footer {
    margin-top: -70px;
  }
}
body.-contact .Page__footer {
  display: none;
}

.Page__miniFooter {
  display: none;
}
body.-contact .Page__miniFooter {
  display: block;
  position: relative;
  z-index: 1;
}

.Page__fix {
  position: relative;
  z-index: 5;
}

.Page__fixHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(var(--header_main_height) * 0.9);
  z-index: 7;
  transition: all 0.3s ease;
  transform: translateY(-110%);
}
@media (width <= 1200px) {
  .Page__fixHeader {
    display: none;
  }
}
.Page__body.-headerFix .Page__fixHeader {
  transform: translateY(0);
}

.Page__trigger {
  display: none;
}
@media (width <= 1200px) {
  .Page__trigger {
    display: block;
    position: fixed;
    z-index: 8;
    right: 0;
    top: 0;
    width: 57px;
    height: var(--header_inner);
  }
}

.Header {
  height: 100%;
  transition: all 0.3s ease;
}

.Header__inner {
  position: relative;
  display: flex;
  align-items: center;
  height: var(--header_inner);
  padding-left: var(--cont_padding);
  background-color: rgba(var(--color_field01_rgb), 0.9);
  border-bottom-left-radius: 40px;
  border-bottom-right-radius: 40px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
}
@media (width <= 1200px) {
  .Header__inner {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }
}
.Page__fixHeader .Header__inner {
  height: var(--header_inner_low);
}

.Header__sub {
  height: calc(100% - var(--header_main_height));
}
.Page__fixHeader .Header__sub {
  display: none;
}
body.-headerFix .Header__sub {
  display: none;
}

.Header__head {
  margin-right: 25px;
  font-size: 29px;
}
@media (width <= 1200px) {
  .Header__head {
    font-size: 19px;
  }
}
.Page__fixHeader .Header__head {
  font-size: 23px;
}

.Header__elm {
  display: flex;
  padding-top: 0.1em;
  font-size: 30px;
}
@media (width <= 1200px) {
  .Header__elm {
    display: none;
  }
}
.Header__elm::before {
  content: "";
  display: block;
  width: 1px;
  height: 50px;
  margin-right: 25px;
  background-color: #D2D2D2;
  transform: rotate(30deg);
}
.Page__fixHeader .Header__elm {
  display: none;
}

.Header__nav {
  position: absolute;
  right: 0;
  top: 0;
  width: 56%;
  height: 80%;
  border-bottom-left-radius: 40px;
  border-bottom-right-radius: 40px;
  background-image: linear-gradient(-179deg, #57A557 0%, #218E21 100%);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
  z-index: 3;
}
@media (width <= 1200px) {
  .Header__nav {
    display: none;
  }
}
body.-contact .Header__nav {
  display: none;
}

.Header__navFloat {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 120%);
  z-index: 2;
}
@media (width <= 1200px) {
  .Header__navFloat {
    display: none;
  }
}
.Page__header .Header__navFloat {
  left: auto;
  right: 0;
  transform: translate(-35px, 80%);
}
.Page__fixHeader .Header__navFloat {
  left: auto;
  right: 58%;
  bottom: 50%;
  transform: translate(0, 40%);
}
body.-contact .Header__navFloat {
  transform: translate(-35px, -50%);
}
body.-contact .Page__fixHeader .Header__navFloat {
  left: auto;
  right: 30px;
  bottom: 50%;
  transform: translate(0, 40%);
}

.Fv {
  position: relative;
  padding-top: var(--fv_img_height);
  border-bottom-right-radius: 90px;
  background-color: rgba(var(--color_field01_rgb), 0.8);
  box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.15);
}
@media (width <= 820px) {
  .Fv {
    border-bottom-right-radius: 70px;
  }
}
body.-contact .Fv {
  padding-top: var(--space_30);
  background: none;
  box-shadow: none;
}

.Fv__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--fv_img_height);
  border-bottom-right-radius: 70px;
  overflow: hidden;
}
@media (width <= 820px) {
  .Fv__img {
    border-bottom-right-radius: 50px;
  }
}
.Fv__img > img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.Fv__head {
  max-width: calc(var(--cont_width03) + var(--cont_padding) * 2);
  margin-left: auto;
  margin-right: auto;
  padding: 0.8em var(--cont_padding);
  color: var(--color_theme01);
  font-size: max(22px, min(2.6vw, 34px));
}

.Footer {
  padding: 150px 0 80px;
  background-image: linear-gradient(-155deg, #52A352 1%, #218E21 100%);
}
@media (width <= 1200px) {
  .Footer {
    padding: 130px 0 130px;
  }
}
.Footer.Page__miniFooter {
  padding: 10px var(--cont_padding) 80px;
}
@media (width <= 1200px) {
  .Footer.Page__miniFooter {
    padding: 10px var(--cont_padding) 130px;
  }
}

.Footer__main {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: calc(var(--cont_width03) + var(--cont_padding) * 2);
  margin: 0 auto;
  padding: 0 var(--cont_padding);
}
@media (width <= 980px) {
  .Footer__main {
    flex-direction: column-reverse;
  }
}

.Footer__info {
  width: 380px;
}
@media (width <= 980px) {
  .Footer__info {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}

.Footer__navi {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
}
@media (width <= 980px) {
  .Footer__navi {
    flex: auto;
    width: 100%;
    margin-bottom: 50px;
  }
}

.Footer__naviItem {
  width: 33.333%;
}
@media (width <= 820px) {
  .Footer__naviItem {
    width: 100%;
  }
}
@media (width > 820px) {
  .Footer__naviItem:not(:last-of-type) {
    padding-right: 1.5em;
  }
}

@media (width <= 820px) {
  .Footer__naviSet {
    padding: 0.8em 0.5em;
    border-bottom: thin solid rgba(var(--color_border01_rgb), 0.3);
  }
}

@media (width > 820px) {
  .Footer__naviEach {
    margin-top: 2em;
  }
}

.Footer__head {
  margin-bottom: 0.8em;
  color: var(--color_font02);
  font-size: max(32px, min(2.8vw, 35px));
}
@media (width <= 980px) {
  .Footer__head {
    text-align: center;
  }
}

.Footer__en {
  margin-top: 0.4em;
  font-size: 37%;
  font-weight: 400;
  letter-spacing: 0.15em;
}

.Footer__address {
  margin-bottom: var(--space_60);
  font-style: normal;
  color: var(--color_font02);
  font-size: 13px;
}

.Footer__Tel {
  margin-bottom: var(--space_60);
  font-size: max(46px, min(3.8vw, 50px));
}
@media (width <= 980px) {
  .Footer__Tel {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}

.Footer__copyright {
  color: var(--color_font02);
  font-size: 10px;
}

.Footer__floatNavi {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-top: var(--space_40);
}
@media (width <= 820px) {
  .Footer__floatNavi {
    display: block;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (width > 820px) {
  .Footer__floatNaviItem:not(:last-child) {
    margin-right: 30px;
  }
}
@media (width <= 820px) {
  .Footer__floatNaviItem:not(:last-child) {
    margin-bottom: 15px;
  }
}

.Breadcrumbs {
  max-width: calc(var(--cont_width03) + var(--cont_padding) * 2);
  margin-left: auto;
  margin-right: auto;
  padding: 10px var(--cont_padding) 20px;
}
@media (width <= 820px) {
  .Breadcrumbs {
    padding: 10px var(--cont_padding) 12px;
  }
}

.Breadcrumbs__main {
  display: flex;
  align-items: center;
  font-size: 12px;
}
@media (width <= 820px) {
  .Breadcrumbs__main {
    font-size: 10px;
  }
}

.Breadcrumbs__item {
  line-height: 1.3;
}
.Breadcrumbs__item::after {
  content: ">";
  padding: 0 0.8em;
}
.Breadcrumbs__item:last-of-type::after {
  content: "";
  padding: 0;
}
.Breadcrumbs__item br {
  display: none;
}

.Breadcrumbs__target {
  color: var(--color_theme01);
  text-decoration: underline;
}
@media (width > 820px) {
  .Breadcrumbs__target:hover {
    text-decoration: none;
  }
}

.Name {
  display: block;
  width: 100%;
  font-size: inherit;
}

.Name__sub {
  margin-bottom: 0.6em;
  font-size: 45%;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.Name__main {
  color: var(--color_theme01);
  font-size: inherit;
  font-family: var(--second_ff);
  font-weight: 500;
  letter-spacing: 0.07em;
}

.Tel {
  display: block;
  width: 100%;
  font-size: inherit;
}
.SpNavi__tel .Tel {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ContactBanner__tel .Tel {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
@media (width <= 820px) {
  .ContactBanner__tel .Tel {
    display: block;
    text-align: center;
  }
}

.Tel__sub {
  margin-bottom: 0.6em;
  font-size: 40%;
  font-weight: 400;
  letter-spacing: 0.08em;
}
.SpNavi__tel .Tel__sub {
  font-size: 35%;
  color: var(--color_font02);
}
.ContactBanner__tel .Tel__sub {
  margin-right: 10px;
  margin-bottom: 0;
  font-size: 27%;
  line-height: 1.5;
}
.Footer__Tel .Tel__sub {
  font-size: 28%;
  color: var(--color_font02);
}

.Tel__main {
  color: var(--color_theme01);
  font-size: inherit;
  font-family: var(--option01_ff);
  font-weight: 200;
  letter-spacing: 0.01em;
}
.SpNavi__tel .Tel__main, .Footer__Tel .Tel__main {
  color: var(--color_font02);
}

.Tel__add {
  margin-top: 1em;
  text-align: center;
  color: var(--color_font02);
  font-size: 13px;
  line-height: 1.7;
  font-weight: 400;
}
.ContactBanner__tel .Tel__add {
  width: 100%;
  margin-top: 0;
  text-align: left;
  color: var(--color_theme01);
}
@media (width <= 980px) {
  .ContactBanner__tel .Tel__add {
    text-align: center;
    font-size: 12px;
  }
}

.Humberger {
  position: relative;
  display: block;
  width: 100%;
  height: 90%;
  cursor: pointer;
  padding: 0 15px 0;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  background-image: linear-gradient(-146deg, #57A557 0%, #218E21 100%);
}
.Humberger::before {
  position: absolute;
  top: 10px;
  left: 50%;
  display: block;
  content: "MENU";
  font-size: 10px;
  color: var(--color_font02);
  transform: translate(-50%, 0);
  letter-spacing: 0.08em;
  font-weight: 400;
}

.Humberger__inner {
  position: relative;
  display: block;
  height: 100%;
}

.Humberger__line {
  display: block;
  position: absolute;
  top: 62%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: var(--color_font02);
  transition: 0.4s;
  transform: translate(-50%, -50%);
  /*タップ後の状態=================================*/
  /*==============================================*/
}
.Humberger__line::before, .Humberger__line::after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  background-color: var(--color_font02);
  transition: inherit;
}
.Humberger__line::before {
  top: -7px;
}
.Humberger__line::after {
  bottom: -7px;
}
.Humberger.-active .Humberger__line {
  background-color: transparent !important;
}
.Humberger.-active .Humberger__line::before {
  top: 0;
  transform: rotate(45deg);
}
.Humberger.-active .Humberger__line::after {
  top: 0;
  transform: rotate(-45deg);
}

.SpNavi {
  width: 100%;
  height: 100%;
  padding-top: var(--header_inner);
  background-image: linear-gradient(90deg, #409B40 26%, #177717 100%);
}

.SpNavi__inner:not(:last-child) {
  margin-bottom: 30px;
}

.SpNavi__navi {
  height: 100%;
  padding: 20px var(--cont_padding) 150px;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  /* スクロール可能に */
}

.SpNavi__button {
  margin: 0 calc(var(--cont_padding) * -1) 30px;
  padding: 17px var(--cont_padding);
  background-color: rgba(var(--color_field01_rgb), 0.6);
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}

.SpNavi__tel {
  font-size: 11vw;
}
.SpNavi__tel:not(:last-child) {
  margin-bottom: 30px;
}

.SpNavi__sentence {
  padding: 1em;
  text-align: center;
  color: var(--color_font02);
  font-size: 13px;
  border: thin solid rgba(var(--color_border01_rgb), 0.4);
}
.SpNavi__sentence:not(:last-child) {
  margin-bottom: 30px;
}

.SpNavi__option {
  text-align: center;
  color: var(--color_font02);
  line-height: 1.7;
}

.GlobalNavi {
  display: flex;
  justify-content: center;
  height: 100%;
}
@media (width <= 1200px) {
  .GlobalNavi {
    display: block;
  }
}

.GlobalNavi__item {
  position: relative;
  font-size: 15px;
  height: 100%;
}
@media (width <= 1200px) {
  .GlobalNavi__item {
    font-size: 18px;
  }
}
@media (width > 1200px) {
  .GlobalNavi__item:not(:last-of-type) {
    margin-right: 1.5em;
  }
}

.GlobalNavi__target {
  display: flex;
  align-items: center;
  height: 100%;
  position: relative;
  text-decoration: none;
  color: var(--color_font02);
  font-weight: 700;
  transition: all 0.3s ease;
  cursor: pointer;
  line-height: 1.4;
}
@media (width <= 1200px) {
  .GlobalNavi__target {
    padding: 1em 2em 1em 0;
    font-weight: 500;
  }
}
.GlobalNavi__target.-variation01 {
  flex-direction: row;
  align-items: center;
}
@media (width > 1200px) {
  .GlobalNavi__item:hover .GlobalNavi__target {
    color: var(--color_theme02);
  }
}
.SpNavi__navi .GlobalNavi__target {
  color: var(--color_font02);
}
@media (width <= 1200px) {
  .GlobalNavi__item.-hasSub .GlobalNavi__target::after {
    content: "\f217";
    font-family: Ionicons;
    display: inline-block;
    margin-left: 1em;
    font-size: 100%;
  }
}
@media (width <= 1200px) {
  .GlobalNavi__item.-hasSub.-open .GlobalNavi__target::after {
    content: "\f208";
  }
}

@media (width > 1200px) {
  .GlobalNavi__groupe {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 1em 1em;
  }
}

@media (width > 1200px) {
  .GlobalNavi__groupeItem {
    font-size: 14px;
  }
}
@media (width <= 1200px) {
  .GlobalNavi__groupeItem {
    padding: 0 1.3em;
    font-size: 16px;
    border-bottom: thin solid rgba(var(--color_field01_rgb), 0.2);
  }
}
.GlobalNavi__groupeItem > a {
  display: flex;
  line-height: 1.3;
}
@media (width <= 1200px) {
  .GlobalNavi__groupeItem > a {
    padding: 0.5em 0 0.5em;
    color: var(--color_font02);
    line-height: 1.4;
  }
}
@media (width > 1200px) {
  .GlobalNavi__groupeItem > a:hover {
    color: var(--color_theme01);
  }
}
.Page__spNavi .GlobalNavi__groupeItem br {
  display: none;
}

@media (width > 1200px) {
  .GlobalNavi__sub {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: max-content;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, calc(100% - 10px));
    background-color: var(--color_field01);
    border-radius: 10px;
    transition: all 0.3s ease;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
    z-index: 2;
  }
  .GlobalNavi__item.-hasSub:hover .GlobalNavi__sub {
    opacity: 1;
    visibility: visible;
    z-index: 100;
  }
  .GlobalNavi__sub::before {
    position: absolute;
    top: 0;
    left: 50%;
    content: "";
    display: block;
    width: 16px;
    aspect-ratio: 1/1;
    background-color: var(--color_field01);
    border-radius: 100vh;
    transform: translate(-50%, -50%);
    z-index: 1;
  }
  .Page__fixHeader .GlobalNavi__sub {
    transform: translate(-50%, calc(100% - 5px));
  }
}
@media (width <= 1200px) {
  .GlobalNavi__sub {
    opacity: 1;
    transition: height 0.5s ease, opacity 0.3s ease 0.2s;
  }
}
@media (width <= 1200px) {
  .GlobalNavi__item:not(.-open) .GlobalNavi__sub {
    height: 0 !important;
    overflow: hidden;
    opacity: 0;
  }
}

@media (width > 1200px) {
  .GlobalNavi__subInner {
    display: flex;
    padding: 20px 40px;
  }
}

.GlobalNavi__ico {
  position: relative;
  top: 0.1em;
  margin-right: 0.5em;
  transition: all 0.4s ease;
}
.GlobalNavi__ico.-arrow {
  display: block;
  width: 10px;
  height: 10px;
}
@media (width > 1200px) {
  .GlobalNavi__item > .GlobalNavi__target .GlobalNavi__ico {
    display: none;
  }
}
@media (width <= 1200px) {
  .GlobalNavi__groupe .GlobalNavi__ico {
    display: none;
  }
}
.GlobalNavi__item.-hasSub.-open .GlobalNavi__ico {
  transform: rotate(90deg);
}
.GlobalNavi__groupeItem .GlobalNavi__ico {
  top: 0.3em;
}

.AddNavi {
  font-size: 14px;
}

.AddNavi__head {
  position: relative;
  padding-left: 1.2em;
  font-weight: 700;
  color: var(--color_font02);
  line-height: 1.3;
}
@media (width <= 820px) {
  .AddNavi__head {
    margin-bottom: 0;
  }
}
@media (width <= 820px) {
  .Footer__naviSet .AddNavi__head::after {
    position: absolute;
    top: 50%;
    right: 0;
    content: "\f217";
    width: auto;
    height: auto;
    margin-top: 0;
    font-size: 13px;
    font-family: "Ionicons";
    color: var(--color_font02);
    background-color: transparent;
    transform: translateY(-50%);
  }
}
@media (width <= 820px) {
  .Footer__naviSet.-open .AddNavi__head::after {
    content: "\f208";
  }
}
.Footer__naviEach .AddNavi__head {
  margin-bottom: 0.7em;
}
@media (width <= 820px) {
  .Footer__naviEach .AddNavi__head {
    margin-bottom: 0;
    padding: 0.8em 0.5em 0.8em 1.7em;
    border-bottom: thin solid rgba(var(--color_border01_rgb), 0.3);
  }
}

.AddNavi__ico {
  display: block;
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 0.7em;
  aspect-ratio: 1/1;
  transition: all 0.3s ease;
}
.AddNavi__item .AddNavi__ico {
  top: 0.4em;
  width: 0.6em;
}
@media (width > 820px) {
  .AddNavi__target:hover .AddNavi__ico {
    transform: translateX(0.3em);
  }
}
@media (width <= 820px) {
  .Footer__naviEach .AddNavi__ico {
    top: 1.2em;
    left: 0.5em;
  }
}

@media (width <= 820px) {
  .AddNavi__wrap {
    opacity: 1;
    transition: height 0.5s ease, opacity 0.3s ease 0.2s;
  }
}
@media (width <= 820px) {
  .Footer__naviSet:not(.-open) .AddNavi__wrap {
    height: 0 !important;
    overflow: hidden;
    opacity: 0;
  }
}

.AddNavi__item {
  position: relative;
  margin-left: 1em;
  padding-left: 1.2em;
  line-height: 1.4;
}
.AddNavi__item:not(:last-of-type) {
  margin-bottom: 0.8em;
}

.AddNavi__inner {
  padding-top: 0.8em;
}

.AddNavi__target {
  display: block;
  color: var(--color_font02);
}
.AddNavi__target:hover:before {
  transform: translateX(4px);
}

.FloatNavi {
  display: flex;
  align-items: center;
  padding: 6px;
  background-color: rgba(var(--color_field01_rgb), 0.6);
  border-radius: 100vh;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}
.FloatNavi.-variation01 {
  background-color: var(--color_theme01);
}
.Page__fixHeader .FloatNavi {
  background-color: #fff;
}
.Footer__floatNavi .FloatNavi {
  display: block;
  width: fit-content;
}
@media (width <= 820px) {
  .Footer__floatNavi .FloatNavi {
    width: 100%;
  }
}

.FloatNavi__item {
  font-size: 14px;
  font-weight: 700;
}
.FloatNavi__item:not(:last-child) {
  margin-right: 6px;
}
.Page__fixHeader .FloatNavi__item:not(:last-child) {
  margin-right: 0;
}
.Page__fixHeader .FloatNavi__item.-fixHide {
  display: none;
}
body.-contact .FloatNavi__item.-access, body.-contact .FloatNavi__item.-contact {
  display: none;
}
body.-contact .FloatNavi__item.-fixHide.-counseling {
  display: block;
}

.FloatNavi__target {
  display: block;
  padding: 0.7em 3em;
  color: var(--color_theme01);
  white-space: nowrap;
  background-color: var(--color_field01);
  border-radius: 100vh;
  transition: all 0.4s ease;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.15);
}
@media (width > 1200px) {
  .FloatNavi__target:hover {
    color: var(--color_font02);
    background-color: var(--color_theme01);
  }
}
.FloatNavi.-variation01 .FloatNavi__target {
  background-color: var(--color_theme05);
  color: var(--color_font02);
}
@media (width > 820px) {
  .FloatNavi.-variation01 .FloatNavi__target:hover {
    color: var(--color_theme01);
    background-color: var(--color_field01);
  }
}
.Footer__floatNavi .FloatNavi__target {
  text-align: center;
}

.BottomNavi {
  position: fixed;
  width: max-content;
  height: 70px;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
  transition: all 0.3s ease;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  overflow: hidden;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
}
@media (width <= 1200px) {
  .BottomNavi {
    width: 100%;
    height: auto;
    transform: translate(-50%, 0);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}
.Page__body.-headerFix .BottomNavi {
  transform: translate(-50%, 5px);
}

.BottomNavi__main {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  height: 100%;
}

.BottomNavi__item {
  height: 100%;
}
@media (width <= 1200px) {
  .BottomNavi__item {
    width: 50%;
    height: 45px;
  }
}
.BottomNavi__item.-tel {
  background-color: var(--color_field06);
}
@media (width <= 1200px) {
  .BottomNavi__item.-tel {
    width: 100%;
    height: 65px;
  }
}
.BottomNavi__item:first-child {
  border-right: thin solid var(--color_theme01);
}

.BottomNavi__target {
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: 100%;
  padding: 0 25px;
  font-size: 16px;
  color: var(--color_theme01);
  font-weight: 700;
  line-height: 1.2;
  background-color: var(--color_field01);
}
@media (width <= 1200px) {
  .BottomNavi__target {
    padding: 0 8px;
    text-align: center;
    font-size: 14px;
  }
}
.BottomNavi__item.-tel .BottomNavi__target {
  font-size: 32px;
  color: var(--color_font02);
  font-family: var(--option01_ff);
  font-weight: 300;
  background-image: linear-gradient(148deg, #409B40 0%, #177717 100%);
}
@media (width <= 1200px) {
  .BottomNavi__item.-tel .BottomNavi__target {
    font-size: 30px;
  }
}
@media (width > 1200px) {
  .BottomNavi__item.-tel .BottomNavi__target > *:not(:last-child) {
    margin-right: 12px;
  }
}
@media (width <= 1200px) {
  .BottomNavi__item.-tel .BottomNavi__target > *:first-child {
    margin-right: 12px;
    text-align: left;
  }
}
@media (width > 1200px) {
  .BottomNavi__target > br {
    display: none;
  }
}

.BottomNavi__label {
  font-size: 35%;
  font-weight: 300;
}

.BottomNavi__caution {
  font-size: 35%;
  line-height: 1.3;
  font-weight: 300;
}
@media (width <= 1200px) {
  .BottomNavi__caution {
    display: block;
    width: 100%;
    padding-bottom: 5px;
  }
}
@media (width <= 1200px) {
  .BottomNavi__caution > br {
    display: none;
  }
}

.BottomNavi__ico {
  margin-right: 6px;
  display: block;
  line-height: 1;
}
@media (width <= 1200px) {
  .BottomNavi__ico {
    margin-right: 5px;
  }
}
@media (width <= 320px) {
  .BottomNavi__ico {
    display: none;
  }
}
.BottomNavi__ico.-calender {
  width: 21px;
  height: 19px;
}
.BottomNavi__ico.-mail {
  width: 21px;
  height: 16px;
}

.ButtonSet {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.SpNavi__button .ButtonSet__item {
  width: 100%;
}
.SpNavi__button .ButtonSet__item:not(:last-of-type) {
  margin-bottom: 10px;
}

.Button {
  display: block;
  position: relative;
  max-width: 100%;
  appearance: none;
  text-decoration: none;
  font-size: inherit;
  color: inherit;
  cursor: pointer;
  transition: 0.4s;
  line-height: 1.3;
  letter-spacing: 0.07em;
  width: max-content;
}
.Button.-solid--variation01 { /*丸ボタン白*/
  width: 100%;
  border: thin solid var(--color_field01);
  color: var(--color_theme01);
  font-weight: 700;
  background-color: var(--color_field01);
  border-radius: 100vh;
}
@media (width > 820px) {
  .Button.-solid--variation01:hover {
    color: var(--color_font02);
    background-color: transparent;
  }
}
.SpNavi__button .Button.-solid--variation01, .CardA__button .Button.-solid--variation01 {
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
}
.Button.-solid--variation02 { /*丸ボタンテーマカラー*/
  width: 100%;
  border: thin solid var(--color_theme01);
  color: var(--color_font02);
  font-weight: 500;
  background-color: var(--color_theme01);
  border-radius: 100vh;
}
@media (width > 820px) {
  .Button.-solid--variation02:hover {
    color: var(--color_theme01);
    background-color: transparent;
  }
}
.PanelF__button .Button.-solid--variation02 {
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
}
@media (width > 820px) {
  .PanelF__button .Button.-solid--variation02:hover {
    background-color: var(--color_field01);
  }
}
.Button.-solid--variation03 { /*アイコン右固定*/
  width: 100%;
  color: var(--color_font01);
  font-weight: 700;
  background-color: var(--color_field01);
  border-radius: 100vh;
}
@media (width > 820px) {
  .Button.-solid--variation03:hover {
    background-color: rgba(var(--color_field01_rgb), 0.6);
  }
}
@media (width <= 820px) {
  .IndexStr02__button .Button.-solid--variation03 {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}
.Button.-solid--variation04 { /*丸ボタン白 シャドウ付き*/
  width: 100%;
  color: var(--color_theme01);
  font-weight: 700;
  background-color: var(--color_field01);
  border-radius: 100vh;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
}
@media (width > 820px) {
  .Button.-solid--variation04:hover {
    color: var(--color_font02);
    background-color: var(--color_theme01);
  }
}
.Button.-solid--variation05 { /*丸ボタン明るいグリーン（Line?）*/
  width: 100%;
  border: thin solid var(--color_theme04);
  color: var(--color_font02);
  font-weight: 500;
  background-color: var(--color_theme04);
  border-radius: 100vh;
}
@media (width > 820px) {
  .Button.-solid--variation05:hover {
    color: var(--color_theme04);
    background-color: transparent;
  }
}
.Button.-gravityCenter {
  display: Flex;
  align-items: center;
  justify-content: center;
}
@media (width <= 820px) {
  .Button.-gravityCenter {
    text-indent: -0.1em;
  }
}
.Button.-gravityLeft {
  display: Flex;
  align-items: center;
  justify-content: flex-start;
}
.Button.-gravityEach {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.Button.-standard {
  min-height: 3em;
  padding: 0.3em 1.2em 0.3em;
}
.Button.-hight {
  min-height: 4em;
  padding: 0.7em 1.8em 0.65em;
}
.Button.-solid--variation03.-hight {
  padding: 0.7em 2.5em 0.65em 1.8em;
}
.Button.-low {
  min-height: 3em;
  padding: 0.5em 1.5em 0.48em;
}
.Button.-thin {
  min-height: 2em;
  padding: 0.35em 1.5em 0.35em;
}
.Button.-solid--variation01.-low, .Button.-solid--variation02.-low {
  padding: 0.5em 1em 0.48em 1.5em;
}
.Button.-hasSadow {
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.15);
}

.Button__label {
  position: relative;
  left: -0.3em;
}

.Button__ico {
  position: relative;
  z-index: 2;
  display: block;
  line-height: 1;
}
.Button__ico.-gravityLeft {
  margin-right: 0.5em;
}
.Button__ico.-calender {
  width: 21px;
  height: 19px;
}
.Button__ico.-mail {
  width: 21px;
  height: 16px;
}
.Button__ico.-arrow {
  width: 11px;
  aspect-ratio: 1/1;
}
.Button__ico.-arrow2 {
  position: absolute;
  right: 15px;
  top: 50%;
  width: 26px;
  aspect-ratio: 1/1;
  transform: translateY(-45%);
}
.Button__ico.-arrow3 {
  position: absolute;
  right: 15px;
  top: 50%;
  width: 0.7em;
  aspect-ratio: 1/1;
  transform: translateY(-45%);
}

.Button__textG {
  position: relative;
  z-index: 2;
  display: inline-block;
  text-align: center;
  background-image: linear-gradient(-180deg, #153278 2%, #266BAD 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.Paragraph,
:where(.Post p) {
  line-height: 2;
  letter-spacing: 0.08em;
}
.Paragraph:not(:last-child),
:where(.Post p):not(:last-child) {
  margin-bottom: 1.3em;
}
.Paragraph.-small,
:where(.Post p).-small {
  font-size: 14px;
}
.Paragraph.-big,
:where(.Post p).-big {
  font-size: 15px;
}
.Paragraph.-huge,
:where(.Post p).-huge {
  font-size: 26px;
  font-weight: 800;
  color: var(--color_theme01);
}
.PanelD__discription .Paragraph,
.PanelD__discription :where(.Post p) {
  line-height: 1.7;
}
.BottomCont__body2 .Paragraph,
.BottomCont__body2 :where(.Post p) {
  line-height: 1.5;
}
.Paragraph em,
:where(.Post p) em {
  font-weight: 700;
  background: linear-gradient(transparent 60%, rgba(var(--color_theme01_rgb), 0.2) 0%);
}
.Paragraph.-caution,
:where(.Post p).-caution {
  position: relative;
  padding-left: 1.5em;
  color: red;
}
.Paragraph.-caution::before,
:where(.Post p).-caution::before {
  position: absolute;
  top: 0em;
  left: 0;
  display: inline-block;
  content: "※";
}

.List > li {
  line-height: 2;
}
.List > li:not(:last-of-type) {
  margin-bottom: 0.5em;
}
.SubCont__std .List > li {
  font-size: 14px;
}
.SubCont__std .List > li:not(:last-of-type) {
  margin-bottom: 0.2em;
}

.Thumbnail {
  display: block;
  position: relative;
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
}
.Thumbnail.-variation01 {
  aspect-ratio: 1/0.514;
}
.Thumbnail.-variation02 {
  aspect-ratio: 1/0.69;
}
.Thumbnail.-variation03 {
  aspect-ratio: 1/0.667; /* 3:2 */
}
.Thumbnail.-variation04 {
  aspect-ratio: 1/0.82;
}
.Thumbnail.-variation05 {
  aspect-ratio: 1/1;
}
.Thumbnail > img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transition: all 0.4s ease;
}
@media (width > 820px) {
  .PanelA:hover .Thumbnail > img, a.PanelE__img:hover .Thumbnail > img, .PanelF .Thumbnail > img:hover, .CardA__img .Thumbnail > img:hover {
    transform: scale(1.1);
  }
}
.PanelA .Thumbnail, .PanelC .Thumbnail {
  height: 100%;
}
.PanelC .Thumbnail, .PanelA__img .Thumbnail {
  border-radius: 0;
}
.PanelD__img .Thumbnail {
  border-radius: 5px;
}

.Prologue__main {
  position: relative;
  display: flex;
  margin-bottom: 30px;
}
@media (width <= 820px) {
  .Prologue__main {
    height: 90vw;
  }
}
@media (width <= 580px) {
  .Prologue__main {
    margin-bottom: 15px;
  }
}

.Prologue__img {
  position: relative;
  z-index: 1;
  border-bottom-left-radius: 20px;
  overflow: hidden;
}
@media (width > 820px) {
  .Prologue__img {
    flex: 1;
    height: 720px;
  }
}
@media (width <= 820px) {
  .Prologue__img {
    display: block;
    width: 100%;
    height: 100%;
  }
}
.Prologue__img > img {
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.Prologue__catch {
  position: relative;
  z-index: 2;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  text-orientation: upright;
  line-height: 1.8;
  font-family: var(--second_ff);
  font-feature-settings: normal; /*センター合わせで縦に並べるために必要*/
}
@media (width > 820px) {
  .Prologue__catch {
    width: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (width <= 820px) {
  .Prologue__catch {
    position: absolute;
    top: 0;
    left: 50%;
    width: auto;
    height: 100%;
    transform: translateX(-70%);
  }
}

.Prologue__copy {
  position: relative;
  letter-spacing: 0.15em;
  color: var(--color_theme01);
  line-height: 1.47;
  white-space: nowrap;
}
@media (width > 820px) {
  .Prologue__copy {
    margin-top: 20%;
    font-size: 64px;
  }
}
@media (width <= 820px) {
  .Prologue__copy {
    margin-top: calc(var(--header_inner) + 30px);
    margin-right: 17px;
    font-size: 9vw;
  }
}
.Prologue__copy > span {
  display: inline-block;
  padding: 0.22em 0.15em;
  line-height: 1;
  border-radius: 19px;
  background-color: rgba(var(--color_field01_rgb), 0.78);
}
@media (width <= 820px) {
  .Prologue__copy > span {
    border-radius: 9px;
  }
}

.Prologue__sub {
  white-space: nowrap;
}
@media (width > 820px) {
  .Prologue__sub {
    position: absolute;
    right: 0;
    top: 48%;
    font-size: 25px;
  }
}
@media (width <= 820px) {
  .Prologue__sub {
    margin-top: calc(var(--header_inner) + 30px);
    font-size: 4vw;
    transform: translateY(20%);
  }
}
.Prologue__sub > li:not(:last-of-type) {
  margin-left: 0.5em;
}
.Prologue__sub > li > span {
  display: inline-block;
  padding: 0.5em 0.5em;
  color: var(--color_font02);
  line-height: 1;
  letter-spacing: 0.08em;
  background-image: linear-gradient(100deg, #57A557 0%, #218E21 100%);
  border-radius: 12px;
}
@media (width > 820px) {
  .Prologue__sub > li > span {
    transform: translateX(50%);
  }
}
@media (width <= 820px) {
  .Prologue__sub > li > span {
    border-radius: 7px;
  }
}

.Prologue__calousel {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.Prologue__motif {
  position: absolute;
  left: 0;
  top: 0;
  width: 34px;
  aspect-ratio: 1/1;
  transform: translate(-100%, -100%);
}
@media (width <= 820px) {
  .Prologue__motif {
    display: none;
  }
}

.Carousel__item {
  width: 264px;
  height: 177px;
  margin-right: 20px;
  border-radius: 10px;
  overflow: hidden;
}
@media (width <= 580px) {
  .Carousel__item {
    width: 112px;
    height: 75px;
    margin-right: 7px;
  }
}
.Carousel__item > img {
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.Separation {
  position: relative;
  width: 100%;
  z-index: 1;
  overflow: hidden;
}
.Separation.-variation01::before {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  content: "";
  width: 95%;
  height: 100%;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
  background-image: linear-gradient(145deg, #57A557 0%, #218E21 100%);
}
@media (width <= 820px) {
  .Separation.-variation01::before {
    width: 96%;
  }
}
.Separation.-variation02 {
  background-color: var(--color_theme01);
}
.Separation.-variation03 {
  background-color: var(--color_field07);
}
.Separation.-variation04::before {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
  content: "";
  width: 100%;
  height: 100%;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  background-image: linear-gradient(145deg, #57A557 0%, #218E21 100%);
  transform: translateX(var(--cont_padding));
}
.Separation.-variation05 {
  margin-top: -70px;
  z-index: 0;
}
@media (width <= 820px) {
  .Separation.-variation05 {
    margin-top: 0;
  }
}
.Separation.-variation05::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 87%;
  background: transparent url("../images/bg.jpg") no-repeat 50% 0;
  background-size: cover;
}
@media (width <= 768px) {
  .Separation.-variation05::before {
    height: 100%;
  }
}
.Separation.-variation06 {
  background: transparent url("../images/story_bg.jpg") no-repeat 50% 50%;
  background-size: cover;
}
.Separation.-variation07 {
  background-image: linear-gradient(145deg, #57A557 0%, #218E21 100%);
}

.Separation__inner {
  position: relative;
  margin: 0 auto;
  padding: 0 var(--cont_padding);
  z-index: 4;
  max-width: calc(var(--cont_width00) + var(--cont_padding) * 2);
}
.Separation__inner.-varriation00 {
  max-width: initial;
}
.Separation__inner.-variation01 {
  max-width: calc(var(--cont_width01) + var(--cont_padding) * 2);
}
.Separation__inner.-variation02 {
  max-width: calc(var(--cont_width02) + var(--cont_padding) * 2);
}
.Separation__inner.-variation03 {
  max-width: calc(var(--cont_width03) + var(--cont_padding) * 2);
}
.Separation__inner.-variation04 {
  max-width: calc(var(--cont_width04) + var(--cont_padding) * 2);
}
.Separation__inner.-variation05 {
  max-width: calc(var(--cont_width05) + var(--cont_padding) * 2);
}

.Separation__deco {
  --position_top: 80px;
  --position_left: 95%;
  position: relative;
  font-size: max(50px, min(10vw, 100px));
  color: rgba(var(--color_font02_rgb), 0.3);
  font-family: var(--option01_ff);
  line-height: 1;
  letter-spacing: 0.03em;
}
@media (width < 768px) {
  .Separation__deco {
    display: none;
  }
}
.Separation__deco::before {
  content: attr(data-text);
  position: absolute;
  top: var(--position_top);
  left: var(--position_left);
  writing-mode: vertical-rl;
  font-size: inherit;
  color: inherit;
  text-shadow: 0 0 20px rgba(var(--color_theme01_rgb), 0.3);
  white-space: nowrap;
  transform: translateX(-50%);
  z-index: 0;
}
.Separation__deco::after {
  content: attr(data-text);
  position: absolute;
  top: var(--position_top);
  left: var(--position_left);
  writing-mode: vertical-rl;
  font-size: inherit;
  color: inherit;
  white-space: nowrap;
  transform: translateX(-50%);
  z-index: 1;
}

.Wrap {
  padding: 0;
}
.Wrap.-variation01 {
  padding: 50px 0 50px;
}
@media (width <= 820px) {
  .Wrap.-variation01 {
    padding: 30px 0 30px;
  }
}
.Wrap.-variation02 {
  padding: 100px 0 80px;
}
@media (width <= 820px) {
  .Wrap.-variation02 {
    padding: 50px 0 40px;
  }
}
.Wrap.-variation03 {
  padding: 115px 0 115px;
}
@media (width <= 820px) {
  .Wrap.-variation03 {
    padding: 60px 0 60px;
  }
}
.Wrap.-variation04 {
  padding: 100px 0;
}
@media (width <= 820px) {
  .Wrap.-variation04 {
    padding: 70px 0;
  }
}
.Wrap.-variation05 {
  padding: 400px 0 0;
}
@media (width <= 820px) {
  .Wrap.-variation05 {
    padding: 50px 0 0;
  }
}
.Wrap.-variation06 {
  padding: 220px 0 50px;
}
@media (width <= 820px) {
  .Wrap.-variation06 {
    padding: 80px 0 40px;
  }
}
.Wrap.-variation07 {
  padding: 70px 0;
}
@media (width <= 820px) {
  .Wrap.-variation07 {
    padding: 45px 0;
  }
}
.Wrap.-variation08 {
  padding: 50px 0 70px;
}
@media (width <= 820px) {
  .Wrap.-variation08 {
    padding: 40px 0 50px;
  }
}
.Wrap.-variation09 {
  padding: 80px 0 80px;
}
@media (width <= 820px) {
  .Wrap.-variation09 {
    padding: 40px 0 40px;
  }
}
.Wrap.-variation10 {
  padding: 50px 0 0;
}
@media (width <= 820px) {
  .Wrap.-variation10 {
    padding: 40px 0 40px;
  }
}
.Wrap.-variation11 {
  padding: 580px 0 150px;
}
@media (width <= 820px) {
  .Wrap.-variation11 {
    padding: 340px 0 60px;
  }
}
.Wrap.-variation12 {
  padding: 180px 0 150px;
}
@media (width <= 820px) {
  .Wrap.-variation12 {
    padding: 60px 0 50px;
  }
}
.Wrap.-variation13 {
  padding: 70px 0 70px;
}
@media (width <= 820px) {
  .Wrap.-variation13 {
    padding: 35px 0 35px;
  }
}
.Wrap.-hasBorder {
  border-top: thin solid var(--color_border05);
}

.ColumnA {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ColumnA__item.-col2 {
  width: 46.5%;
}
@media (width <= 820px) {
  .ColumnA__item.-col2 {
    width: 100%;
  }
}
@media (width <= 820px) {
  .ColumnA__item:not(:last-child) {
    margin-bottom: 40px;
  }
}

.ColumnB {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.ColumnB .ColumnB__main {
  width: 54%;
}
@media (width <= 820px) {
  .ColumnB .ColumnB__main {
    width: 100%;
    margin-bottom: 60px;
  }
}
.ColumnB .ColumnB__sub {
  width: calc(32% + var(--cont_padding));
  margin-right: calc(var(--cont_padding) * -1);
}
@media (width <= 820px) {
  .ColumnB .ColumnB__sub {
    width: calc(100% + var(--cont_padding));
  }
}

.GridA {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 3%;
}
@media (width <= 768px) {
  .GridA {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px 3%;
  }
}

.ArchiveA__head {
  margin-bottom: var(--space_50);
  font-size: max(22px, min(2.6vw, 30px));
  color: var(--color_theme01);
}

.ArchiveA__item:not(:last-child) {
  margin-bottom: 70px;
}

.SingleA__head {
  margin-bottom: 0.5em;
  color: var(--color_theme01);
  font-size: max(22px, min(2.6vw, 34px));
}

.SingleA__meta {
  margin-bottom: var(--space_60);
}

.Single__post {
  margin-bottom: var(--space_60);
}

.Single__button {
  max-width: 270px;
  margin-left: auto;
  margin-right: auto;
}

.SubCont__item:not(:last-child) {
  margin-bottom: var(--space_30);
}

.SubCont__itemInner:not(:last-child) {
  margin-bottom: var(--space_20);
}

.SubCont__head {
  margin-bottom: 0.7em;
  color: var(--color_theme01);
  font-size: 18px;
}
.SubCont__em .SubCont__head {
  color: var(--color_font02);
}

.SubCont__em {
  padding: 40px var(--cont_padding) 40px 15%;
  background-color: var(--color_theme01);
  border-top-left-radius: 20px;
}

.SubCont__std {
  padding: 30px var(--cont_padding) 40px 15%;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 20px;
  background-color: var(--color_field01);
}
.SubCont__std.-variiation01 {
  border-top-left-radius: 0;
}

.SubCont__img {
  border-radius: 10px;
  overflow: hidden;
}
.SubCont__img:not(:last-child) {
  margin-bottom: var(--space_20);
}

.SubCont__body {
  font-size: 14px;
}

.SubCont__category {
  color: var(--color_font02);
}

.Heading,
.Post h2,
.Post h3,
.Post h4,
.Post h5 {
  display: block;
  position: relative;
  color: inherit;
  line-height: 1.5;
  font-size: inherit;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.Heading.-format01 { /*明朝*/
  font-weight: 700;
  font-family: var(--second_ff);
  line-height: 1.4;
}

.Heading.-format02 { /*ゴシック　文字細い*/
  font-weight: 500;
}

.Heading.-format03 { /*サブタイトル付き*/
  display: flex;
}

.Heading.-format04 { /*明朝 縦線モチーフ*/
  padding-bottom: 3.5em;
  text-align: center;
  font-weight: 500;
  font-family: var(--second_ff);
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.Heading.-format04::after {
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  content: "";
  width: 1px;
  height: 2.5em;
  background-color: var(--color_theme01);
}
.FloatPanel2__sub .Heading.-format04::after {
  background-color: var(--color_font02);
}

.Heading.-format05 { /*テーマカラー左線モチーフ*/
  padding-left: 0.8em;
  font-family: var(--second_ff);
}
.Heading.-format05::before {
  position: absolute;
  top: 0.3em;
  left: 0;
  display: block;
  content: "";
  width: 6px;
  height: 0.9em;
  background-color: var(--color_theme01);
}

.Heading.-format06,
.Post h2 {
  padding-left: 0.8em;
  font-weight: 500;
  font-family: var(--second_ff);
  line-height: 1.4;
}
.Heading.-format06::before,
.Post h2::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 6px;
  height: calc(100% - 0.4em);
  background-color: var(--color_theme01);
}

.Heading.-format07,
.Post h3 { /*テーマカラー上線*/
  padding-top: 0.7em;
  border-top-width: 2px;
  border-top-style: solid;
  border-top-color: inherit;
}

.Heading.-format08,
.Post h4 { /*薄いテーマカラーボックス*/
  padding: 0.5em 0.7em;
  border-radius: 5px;
  background-color: rgba(var(--color_theme01_rgb), 0.15);
}

.Heading.-format09 { /*ベージュ丸ビュレット*/
  padding-left: 1.2em;
}
.Heading.-format09::before {
  position: absolute;
  top: 0.6em;
  left: 0;
  display: block;
  content: "";
  width: 0.5em;
  aspect-ratio: 1/1;
  background-color: var(--color_theme07);
  border-radius: 100vh;
}

.Heading.-hasIco {
  display: flex;
}

.Heading.-hasNum {
  position: relative;
  padding-left: 2em;
}

.Heading__sub {
  display: block;
  font-size: 55%;
  font-weight: 500;
  color: var(--color_font01);
}

.Heading__motif {
  position: relative;
  top: 0.4em;
  width: 0.7em;
  height: 0.7em;
  margin-right: 0.5em;
}
@media (width <= 820px) {
  .Heading__motif {
    margin-right: 0.3em;
  }
}

.Heading__num {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  aspect-ratio: 1/1;
  margin-right: 0.5em;
  border-radius: 100vh;
  line-height: 1;
}
.Heading__num > span {
  position: relative;
  top: -0.1em;
  left: 0.05em;
}
.ListFlow2__head .Heading__num {
  color: var(--color_field02);
  background-color: var(--color_theme07);
}

.Relation {
  position: relative;
}
.Relation::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background-color: var(--color_theme01);
  box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
  transform: translateY(-3px);
  z-index: 1;
}

.Relation__main {
  position: relative;
  padding: 50px 5%;
  background-color: var(--color_field01);
  border-radius: 20px;
  z-index: 2;
}
@media (width <= 820px) {
  .Relation__main {
    padding: 30px 5%;
  }
}

.Relation__head {
  margin-bottom: 1em;
  text-align: center;
  font-size: max(24px, min(2.3vw, 25px));
  color: var(--color_theme01);
}

.IndexIntoro {
  padding-right: 12%;
}
@media (width < 768px) {
  .IndexIntoro {
    padding-right: 0;
  }
}

@media (width < 768px) {
  .IndexIntoro__topSection {
    padding-right: 8%;
  }
}

.IndexIntoro__head {
  width: fit-content;
  margin: 0 auto 0.2em;
  color: var(--color_font02);
  font-size: max(22px, min(3.8vw, 45px));
}

.IndexIntoro__motif {
  position: relative;
  top: 0.4em;
  width: 0.7em;
  height: 0.7em;
  margin-right: 0.5em;
}

.IndexIntoro__headSub {
  margin-bottom: var(--space_50);
  text-align: center;
  font-size: max(18px, min(2.2vw, 24px));
  color: var(--color_theme02);
  font-weight: 400;
}

.IndexIntoro__discription {
  max-width: 840px;
  margin: 0 auto var(--space_50);
  margin-right: auto;
  color: var(--color_font02);
}

@media (width < 768px) {
  .IndexIntoro__List {
    margin-right: calc(var(--cont_padding) * -1);
  }
}
.IndexIntoro__List > li {
  width: 90%;
  height: 180px;
}
@media (width < 768px) {
  .IndexIntoro__List > li {
    width: 100%;
    height: auto;
    margin-right: calc((12% + var(--cont_padding)) * -1);
    margin-left: 10px !important;
  }
}
.IndexIntoro__List > li:nth-of-type(2) {
  margin-left: 3.3%;
}
.IndexIntoro__List > li:nth-of-type(3) {
  margin-left: 6.6%;
}
.IndexIntoro__List > li:nth-of-type(4) {
  margin-left: auto;
}
.IndexIntoro__List > li:not(:last-of-type) {
  margin-bottom: var(--space_30);
}

.IndexStr01__head {
  display: flex;
  margin-bottom: 0.8em;
  color: var(--color_theme01);
  font-size: max(22px, min(3.3vw, 40px));
}

.IndexStr01__motif {
  position: relative;
  top: 0.4em;
  width: 0.7em;
  height: 0.7em;
  margin-right: 0.5em;
}

.IndexStr01__main {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  margin-bottom: 50px;
}

.IndexStr01__img {
  width: 90%;
  margin: 0 auto 30px;
  overflow: hidden;
}
@media (width > 768px) {
  .IndexStr01__img {
    width: 33%;
    margin-top: -80px;
    margin: -80px 0 0;
  }
}

@media (width > 768px) {
  .IndexStr01__elm {
    width: 57%;
    padding-left: 5%;
  }
}

.IndexStr01__headSub {
  margin-bottom: 0.8em;
  font-size: max(18px, min(3vw, 28px));
  color: var(--color_theme01);
}

.IndexStr01__body {
  margin-bottom: 2em;
}

.IndexStr01__add {
  text-align: right;
  font-size: 18px;
  font-weight: 600;
}
@media (width <= 768px) {
  .IndexStr01__add {
    font-size: 16px;
  }
}
.IndexStr01__add > strong {
  font-size: 120%;
  font-weight: 700;
}

.IndexStr01__button {
  max-width: 270px;
  margin-left: auto;
  margin-right: auto;
}
.IndexStr01__button:not(:last-child) {
  margin-bottom: var(--space_50);
}

.IndexStr01__banner {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.IndexStr01__banner:not(:last-child) {
  margin-bottom: var(--space_80);
}

.IndexStr02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-left: 3%;
}
@media (width <= 820px) {
  .IndexStr02 {
    padding-left: 30px;
  }
}

.IndexStr02__main {
  width: 47%;
}
@media (width <= 820px) {
  .IndexStr02__main {
    width: 100%;
    margin-bottom: 30px;
  }
}

.IndexStr02__button {
  width: 47%;
}
@media (width <= 820px) {
  .IndexStr02__button {
    --offset: 30px;
    width: calc(100% + var(--offset));
    margin-left: calc(var(--offset) * -1);
  }
}
@media (width <= 820px) {
  body:not(.-top) .IndexStr02__button {
    --offset: calc(30px + var(--cont_padding));
    width: calc(100% + var(--offset));
    margin-left: calc(var(--offset) * -1);
  }
}

.IndexStr02__buttonItem {
  font-size: 19px;
}
@media (width <= 820px) {
  .IndexStr02__buttonItem {
    font-size: 17px;
  }
}
.IndexStr02__buttonItem:not(:last-of-type) {
  margin-bottom: 1em;
}

.IndexStr02__head {
  display: flex;
  width: fit-content;
  margin-bottom: 0.8em;
  color: var(--color_font02);
  font-size: max(21px, min(3.3vw, 40px));
}
body:not(.-top) .IndexStr02__head {
  font-size: max(22px, min(3vw, 36px));
}

.IndexStr02__discription {
  color: var(--color_font02);
}

.IndexStr03__head {
  display: flex;
  justify-content: center;
  margin-bottom: 0.8em;
  color: var(--color_theme01);
  font-size: max(22px, min(3.8vw, 45px));
}

.IndexStr03__motif {
  position: relative;
  top: 0.1em;
  width: 0.7em;
  height: 0.7em;
  margin-right: 0.5em;
}

.IndexStr03__discription {
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--space_50);
}

.IndexStr03__main:not(:last-child) {
  margin-bottom: var(--space_40);
}
.IndexStr03__main > li:not(:last-of-type) {
  margin-bottom: var(--space_25);
}

.IndexStr03__sub {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 3%;
}
@media (width <= 768px) {
  .IndexStr03__sub {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px 3%;
  }
}

.IndexArchive__head {
  margin-bottom: 1em;
  color: var(--color_theme01);
  font-size: max(22px, min(2.6vw, 30px));
}

.IndexArchive__list > li:not(:last-of-type) {
  margin-bottom: 40px;
}

.IndexInfo {
  max-width: 1050px;
  display: flex;
  margin-left: auto;
  margin-right: auto;
}
@media (width <= 820px) {
  .IndexInfo {
    display: block;
  }
}

.IndexInfo__head {
  width: 230px;
  font-size: max(22px, min(2.6vw, 30px));
  color: var(--color_theme01);
}
@media (width <= 820px) {
  .IndexInfo__head {
    margin-bottom: 0.8em;
  }
}

.IndexInfo__list {
  flex: 1;
}
.IndexInfo__list > li:not(:last-of-type) {
  margin-bottom: 15px;
}

.ListA > li,
.Post ul > li {
  position: relative;
  padding-left: 1.5em;
  line-height: 2;
}
.ListA > li::before,
.Post ul > li::before {
  display: block;
  position: absolute;
  top: 0.7em;
  left: 0;
  content: "";
  width: 0.7em;
  aspect-ratio: 1/1;
  border-radius: 100vh;
  background-color: var(--color_theme01);
}
.ListA > li:not(:last-of-type),
.Post ul > li:not(:last-of-type) {
  margin-bottom: 1em;
}
.Usuaslly__floatPanel .ListA > li,
.Usuaslly__floatPanel .Post ul > li {
  font-size: 18px;
}
.ListA.-variation01 > li::before,
.Post ul.-variation01 > li::before {
  background-color: var(--color_theme07);
}

.DListA {
  display: flex;
}
@media (width <= 820px) {
  .DListA {
    display: block;
  }
}
.DListA > dt {
  width: 7em;
  font-size: 14px;
  line-height: 1.5;
}
@media (width <= 820px) {
  .DListA > dt {
    margin-bottom: 0.3em;
  }
}
.DListA > dd {
  flex: 1;
  line-height: 1.5;
}
.DListA > dd > a:hover {
  text-decoration: underline;
  color: var(--color_theme01);
}
.DListA dd.-new::after {
  display: inline-block;
  content: "NEW";
  margin-left: 0.5em;
  padding: 0.3em 0.7em 0.4em;
  color: var(--color_font02);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  border-radius: 100vh;
  background-color: var(--color_theme03);
}

.ListFlow {
  --lineWidth: 2px;
  position: relative;
  z-index: 2;
  font-size: 18px;
}
.ListFlow::before {
  position: absolute;
  top: 0;
  left: 48px;
  content: "";
  display: block;
  width: var(--lineWidth);
  height: 100%;
  background-color: var(--color_theme01);
}
.ListFlow > li {
  position: relative;
  padding: 1.2em 1em 1.2em 70px;
  line-height: 2;
  background-color: var(--color_field01);
  box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.05);
  border-radius: 20px;
}
.ListFlow > li:not(:last-of-type) {
  margin-bottom: 20px;
}
@media (width <= 820px) {
  .ListFlow > li:not(:last-of-type) {
    margin-bottom: 15px;
  }
}
.ListFlow > li::before {
  position: absolute;
  top: 50%;
  left: 40px;
  content: "";
  display: block;
  width: 18px;
  aspect-ratio: 1/1;
  background-color: var(--color_theme01);
  border-radius: 5px;
  transform: translateY(-50%);
}
.ListFlow > li::after {
  position: absolute;
  top: 0;
  left: 48px;
  content: "";
  display: block;
  width: var(--lineWidth);
  height: 100%;
  background-color: var(--color_theme01);
}
.ListFlow > li:first-of-type::after {
  top: 50%;
  bottom: auto;
}
.ListFlow > li:last-of-type::after {
  top: auto;
  bottom: 50%;
}

.ListFlow2 {
  font-size: 16px;
}
.ListFlow2 > li {
  position: relative;
  padding: 1.2em 2em 1.2em 2em;
  line-height: 2;
  background-color: var(--color_field01);
  box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}
.ListFlow2 > li:not(:last-of-type) {
  margin-bottom: 50px;
}
.ListFlow2 > li:not(:last-of-type)::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  content: "";
  width: 16px;
  height: 19px;
  background: transparent url("../images/arrow-up-line.svg") no-repeat 0 0;
  background-size: contain;
  transform: translate(-50%, 200%);
}

.ListFlow2__head {
  font-size: max(18px, min(2vw, 22px));
  color: var(--color_theme01);
}
.ListFlow2__head:not(:last-child) {
  margin-bottom: 0.5em;
}

.ListFlow2__body {
  padding-left: 2.7em;
  line-height: 2;
}
.ListFlow2__body:not(:last-child) {
  margin-bottom: 1em;
}

.ListPanel {
  font-size: 16px;
}
.ListPanel > li {
  position: relative;
  padding: 1.2em 2em 1.2em 2em;
  line-height: 2;
  background-color: var(--color_field01);
  box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.05);
  border-radius: 20px;
}
@media (width <= 820px) {
  .ListPanel > li {
    padding: 1.2em 1em 1.2em 1em;
  }
}
.ListPanel > li:not(:last-of-type) {
  margin-bottom: 20px;
}
@media (width <= 820px) {
  .ListPanel > li:not(:last-of-type) {
    margin-bottom: 15px;
  }
}

.ListPanel__head {
  font-size: max(18px, min(2vw, 22px));
  color: var(--color_theme01);
}
.ListPanel__head:not(:last-child) {
  margin-bottom: 0.5em;
}

.ListPanel__body {
  padding-left: 1.5em;
  line-height: 2;
}

.ListPanel2 {
  font-size: 16px;
}
.ListPanel2 > li {
  position: relative;
  padding: 1.8em 2em 1.2em 2em;
  line-height: 2;
  background-color: var(--color_field01);
  border-radius: 20px;
}
@media (width <= 820px) {
  .ListPanel2 > li {
    padding: 1.8em 1em 1.2em 1em;
  }
}
.ListPanel2 > li:not(:last-of-type) {
  margin-bottom: 40px;
}
@media (width <= 820px) {
  .ListPanel2 > li:not(:last-of-type) {
    margin-bottom: 35px;
  }
}

.ListPanel2__badge {
  position: absolute;
  top: 0;
  left: 0;
  font-size: max(14px, min(1.5vw, 18px));
  font-family: var(--second_ff);
  transform: translateY(-50%);
}

.ListPanel2__head {
  font-size: max(18px, min(2vw, 22px));
  color: var(--color_theme01);
}
.ListPanel2__head:not(:last-child) {
  margin-bottom: 0.5em;
}

.ListPanel2__body {
  line-height: 2;
}

.ListNumPanel {
  padding: 25px 30px;
  counter-reset: custom-counter;
  list-style: none !important;
  font-size: 18px;
  border-radius: 15px;
  background-color: var(--color_field01);
  box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.1);
}
.ListNumPanel > li {
  counter-increment: custom-counter;
  position: relative;
  padding-left: 3em;
  line-height: 2;
  list-style-type: none !important;
}
.ListNumPanel > li::before {
  display: block;
  content: counter(custom-counter) "";
  position: absolute;
  left: 0;
  top: 0.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.7em;
  height: 1.7em;
  color: var(--color_font02);
  font-weight: bold;
  border-radius: 100vh;
  background-color: var(--color_theme03);
  line-height: 1;
  font-family: var(--option01_ff);
}
.ListNumPanel > li:not(:last-of-type) {
  margin-bottom: 0.8em;
}
.Post .ListNumPanel {
  margin-left: 0;
}

.ListNormalPanel {
  padding: 25px 30px;
  list-style: none !important;
  font-size: 18px;
  border-radius: 15px;
  background-color: var(--color_field01);
  box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.1);
}
.ListNormalPanel > li {
  position: relative;
  padding-left: 1.5em;
  line-height: 2;
  list-style-type: none !important;
}
.ListNormalPanel > li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  content: "";
  width: 0.7em;
  aspect-ratio: 1/1;
  border-radius: 100vh;
  background-color: var(--color_theme07) !important;
}
.ListNormalPanel > li:not(:last-of-type) {
  margin-bottom: 0.8em;
}

.PanelA {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  height: 100%;
  overflow: hidden;
  background-color: var(--color_field01);
  box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.25);
}
@media (width > 768px) {
  .PanelA {
    justify-content: space-between;
    border-radius: 100vh;
  }
}
@media (width <= 768px) {
  .PanelA {
    border-top-left-radius: 55px;
    border-bottom-left-radius: 55px;
  }
}

.PanelA__img {
  width: 33%;
  height: 100%;
  overflow: hidden;
}
@media (width > 768px) {
  .PanelA__img {
    border-radius: 100vh;
  }
}
@media (width <= 768px) {
  .PanelA__img {
    width: 100%;
  }
}

.PanelA__elm {
  position: relative;
  width: 63%;
  padding-right: 77px;
}
@media (width <= 768px) {
  .PanelA__elm {
    width: 100%;
    padding: 25px;
  }
}

.PanelA__arrow {
  position: absolute;
  top: 50%;
  right: 17px;
  width: 26px;
  height: 26px;
  transform: translateY(-50%);
}
@media (width <= 768px) {
  .PanelA__arrow {
    top: 30%;
    right: 15px;
  }
}

.PanelA__head {
  margin-bottom: 0.3em;
  font-size: max(22px, min(2.4vw, 26px));
  color: var(--color_theme01);
}
@media (width <= 768px) {
  .PanelA__head {
    display: flex;
    align-items: center;
    min-height: 2em;
    padding-right: 45px;
  }
}

.PanelA__discription > p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.PanelB {
  --offset: 13px;
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: calc(100% - var(--offset));
  padding: 50px 6%;
  border-radius: 10px;
  background-color: var(--color_field01);
}
@media (width <= 768px) {
  .PanelB {
    --offset: 10px;
  }
}
.PanelB::before {
  content: "";
  display: block;
  position: absolute;
  left: var(--offset);
  top: var(--offset);
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background-color: rgba(var(--color_field01_rgb), 0.5);
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
  z-index: -1;
}

.PanelB__img {
  overflow: hidden;
}
@media (width > 768px) {
  .PanelB__img {
    width: 45%;
  }
}
@media (width <= 768px) {
  .PanelB__img {
    margin-bottom: 30px;
  }
}

@media (width > 768px) {
  .PanelB__elm {
    width: 50%;
  }
}

.PanelB__head {
  margin-bottom: 0.8em;
  font-size: max(18px, min(2.4vw, 28px));
  color: var(--color_theme01);
}

.PanelB__discription:not(:last-child) {
  margin-bottom: 10px;
}
@media (width <= 768px) {
  .PanelB__discription:not(:last-child) {
    margin-bottom: 30px;
  }
}

.PanelB__button {
  max-width: 150px;
  margin-left: auto;
}
@media (width <= 768px) {
  .PanelB__button {
    margin-left: auto;
    margin-right: auto;
  }
}

.PanelC {
  display: flex;
  flex-wrap: wrap;
  min-height: 320px;
  background-color: #ccc;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 17px 34px 0 rgba(0, 0, 0, 0.1);
}
.PanelC__img {
  width: 46%;
}
@media (width <= 768px) {
  .PanelC__img {
    width: 100%;
  }
}

.PanelC__elm {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4%;
  background-color: var(--color_field03);
}
@media (width <= 768px) {
  .PanelC__elm {
    padding: 20px;
  }
}

.PanelC__head {
  margin-bottom: 0.8em;
  font-size: max(22px, min(2.6vw, 30px));
  color: var(--color_theme01);
}
@media (width <= 768px) {
  .PanelC__head {
    text-align: center;
  }
}

.PanelC__discription {
  margin-bottom: 1em;
}

.PanelC__button {
  width: 150px;
  margin-left: auto;
}
@media (width <= 768px) {
  .PanelC__button {
    margin-right: auto;
  }
}

.PanelD {
  padding: 40px 7%;
  border-radius: 10px;
  background-color: var(--color_theme01);
}
@media (width <= 768px) {
  .PanelD {
    padding: 20px 7%;
  }
}
.IndexStr03__sub .PanelD {
  height: 100%;
}
@media (width <= 768px) {
  .IndexStr03__sub .PanelD {
    height: auto;
  }
}

.PanelD__head {
  margin-bottom: 0.8em;
  color: var(--color_font02);
  font-size: max(20px, min(2.2vw, 24px));
}
@media (width <= 768px) {
  .PanelD__head {
    text-align: center;
  }
}

.PanelD__main {
  display: flex;
  justify-content: space-between;
}

.PanelD__img {
  width: 51%;
}

.PanelD__elm {
  width: 45%;
}

.PanelD__discription {
  color: var(--color_font02);
}
@media (width > 768px) {
  .PanelD__discription:not(:last-child) {
    margin-bottom: 1em;
  }
}

.PanelD__button {
  width: 150px;
  margin-left: auto;
}
@media (width <= 768px) {
  .PanelD__button {
    display: none;
  }
}

.PanelD__button2 {
  width: 150px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}
@media (width > 768px) {
  .PanelD__button2 {
    display: none;
  }
}

.PanelE {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.PanelE__img {
  width: 47%;
}
@media (width <= 580px) {
  .PanelE__img {
    width: 40%;
  }
}

.PanelE__elm {
  width: 48%;
  margin-top: -5px;
}
@media (width <= 580px) {
  .PanelE__elm {
    width: 57%;
  }
}

.PanelE__mata {
  margin-bottom: var(--space_10);
}

.PanelE__category {
  display: flex;
  font-size: 14px;
}
@media (width <= 580px) {
  .PanelE__category {
    font-size: 13px;
  }
}
.PanelE__category > li:not(:last-of-type) {
  margin-right: 4px;
}

.PanelE__head {
  display: block;
  margin-bottom: 0.5em;
  font-size: 18px;
}
@media (width <= 580px) {
  .PanelE__head {
    font-size: 16px;
  }
}
@media (width > 820px) {
  .PanelE__head:hover {
    color: var(--color_theme01);
  }
}

.PanelE__discription {
  margin-bottom: 0.5em;
  font-size: 14px;
}
@media (width <= 580px) {
  .PanelE__discription {
    font-size: 13px;
  }
}

.PanelE__button {
  width: 150px;
  margin-left: auto;
  font-size: 14px;
}
@media (width <= 580px) {
  .PanelE__button {
    display: none;
  }
}

.PanelE__button2 {
  width: 150px;
  margin-top: 5px;
  margin-left: auto;
  margin-right: auto;
  font-size: 14px;
}
@media (width > 580px) {
  .PanelE__button2 {
    display: none;
  }
}

.PanelF__main {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.PanelF__main:not(:last-child) {
  margin-bottom: 40px;
}

.PanelF__img {
  width: 33%;
}
@media (width <= 580px) {
  .PanelF__img {
    display: none;
  }
}
.PanelF__head + .PanelF__img {
  display: none;
}
@media (width <= 580px) {
  .PanelF__head + .PanelF__img {
    display: block;
    width: 100%;
    margin-bottom: 15px;
  }
}

.PanelF__elm {
  width: 60%;
}
@media (width <= 580px) {
  .PanelF__elm {
    width: 100%;
  }
}

.PanelF__meta {
  margin-bottom: 5px;
}

.PanelF__head {
  margin-bottom: 0.3em;
  font-size: max(16px, min(1.8vw, 20px));
}
@media (width <= 580px) {
  .PanelF__head {
    margin-bottom: 0.8em;
  }
}
@media (width > 820px) {
  .PanelF__head:hover {
    text-decoration: underline;
  }
}

.PanelF__discription:not(:last-child) {
  margin-bottom: 0.5em;
}

.PanelF__category {
  margin-bottom: var(--space_10);
  font-size: 12px;
}

.PanelF__tag {
  font-size: 13px;
}

.PanelF__button {
  margin-top: 20px;
  border-top: thin solid var(--color_theme01);
}
@media (width <= 580px) {
  .PanelF__button {
    font-size: 14px;
  }
}

.PanelF__buttonInner {
  position: relative;
  max-width: 145px;
  margin-left: auto;
  margin-right: 0;
}
@media (width <= 580px) {
  .PanelF__buttonInner {
    max-width: 125px;
    margin-right: auto;
  }
}
.PanelF__buttonInner > .Button {
  position: absolute;
  transform: translateY(-50%);
}

.PanelG {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.PanelG__main {
  width: 60%;
}
@media (width <= 768px) {
  .PanelG__main {
    width: 100%;
    margin-bottom: 30px;
  }
}

.PanelG__sub {
  width: 34%;
}
@media (width <= 768px) {
  .PanelG__sub {
    width: 100%;
  }
}

.PanelG__category {
  margin-bottom: 1em;
  font-size: 14px;
}

.PanelG__head {
  margin-bottom: 0.8em;
  font-size: max(20px, min(2.4vw, 26px));
  color: var(--color_theme01);
}

.PanelG__img:not(:last-of-type) {
  margin-bottom: var(--space_20);
}
.PanelG__img > span {
  display: block;
  text-align: center;
  margin-top: 0.3em;
  font-size: 14px;
}

.PanelH {
  position: relative;
  padding: 50px 8% 50px;
  background-color: var(--color_field01);
  border: 2px solid var(--color_theme07);
  border-radius: 20px;
}

.PanelH__head {
  position: absolute;
  top: 0;
  left: 50%;
  width: fit-content;
  min-width: 8em;
  margin: 0 auto 0;
  padding: 0.3em 0.8em;
  text-align: center;
  font-size: max(18px, min(2vw, 22px));
  color: var(--color_font02);
  background-color: var(--color_theme07);
  border-radius: 100vh;
  transform: translate(-50%, -50%);
}

.PanelH__headSub {
  margin-bottom: 0.8em;
  color: var(--color_theme01);
  font-size: max(18px, min(2vw, 22px));
}

.PanelI {
  padding: 2em 2em 2.2em 2em;
  background-color: var(--color_field01);
  border-radius: 20px;
  box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.05);
}
@media (width <= 820px) {
  .PanelI {
    padding: 1.2em 1em 1.2em 1em;
  }
}
.PanelI > dl {
  padding-left: 1em;
  border-left: 3px solid var(--color_theme01);
}
.PanelI > dl:not(:last-child) {
  margin-bottom: var(--space_40);
}
.PanelI > dl > dt {
  margin-bottom: 0.5em;
  font-size: max(18px, min(2vw, 22px));
  line-height: 1.5em;
  color: var(--color_theme01);
  font-weight: 700;
}
.PanelI > dl > dd {
  line-height: 1.7;
}

.PanelPrice {
  border-radius: 20px;
  overflow: hidden;
}

.PanelPrice__main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 1.2em 1.3em;
  font-size: max(18px, min(1.8vw, 20px));
  color: var(--color_font02);
  background-color: var(--color_theme01);
}

.PanelPrice__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-right: 1.5em;
  font-size: inherit;
}
@media (width <= 820px) {
  .PanelPrice__head {
    margin-bottom: 1em;
  }
}

.PanelPrice__aux {
  margin-left: 1em;
  font-size: 80%;
  font-weight: 400;
}

.PanelPrice__caution {
  width: 100%;
  margin-top: 0.7em;
  font-size: 13px;
  font-weight: 500;
}

.PanelPrice__price {
  width: fit-content;
  margin-left: auto;
  margin-right: 0;
  font-weight: 700;
}

.PanelPrice__sub {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 1.5em;
  background-color: var(--color_field01);
}
@media (width <= 820px) {
  .PanelPrice__sub {
    padding: 1em;
  }
}

.PanelPrice__ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.7em;
  aspect-ratio: 1/1;
  margin-right: 2em;
  border-radius: 100vh;
  background-color: var(--color_theme01);
}
@media (width <= 820px) {
  .PanelPrice__ico {
    width: 2.2em;
    margin-bottom: 0.5em;
  }
}
.PanelPrice__ico > span {
  position: relative;
  color: var(--color_field01);
  font-weight: 700;
}

.PanelPrice__detail {
  flex: 1;
  font-size: 18px;
}
@media (width <= 820px) {
  .PanelPrice__detail {
    flex: 0 1 auto;
    width: 100%;
    font-size: 16px;
  }
}
.PanelPrice__detail > li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.PanelPrice__detail > li:not(:first-of-type) {
  padding-top: 1em;
}
.PanelPrice__detail > li:not(:last-of-type) {
  padding-bottom: 1em;
  border-bottom: thin solid rgba(var(--color_theme01_rgb), 0.3);
}

.CardA {
  display: block;
  height: 100%;
}

.CardA__img {
  margin-bottom: var(--space_15);
}

.CardA__head {
  margin-bottom: 0.7em;
  font-size: 16px;
}

.CardA__button {
  max-width: 130px;
  margin-left: auto;
  margin-right: 0;
  font-size: 14px;
}
@media (width <= 768px) {
  .CardA__button {
    margin-right: auto;
  }
}

.Meta {
  display: flex;
  flex-wrap: wrap;
}

.Meta__day {
  position: relative;
  top: 0.4em;
  margin-right: 1em;
  margin-bottom: 0.5em;
  color: var(--color_theme01);
  font-size: 13px;
  font-weight: 700;
}
@media (width <= 580px) {
  .Meta__day {
    top: 0.2em;
  }
}
.Meta__item .Meta__day {
  margin-right: 0;
}

.Meta__item:not(:last-child) {
  margin-right: 10px;
}
.Meta__item.-day {
  display: block;
  margin-bottom: 10px;
}
@media (width <= 580px) {
  .Meta__item.-child {
    width: 100%;
  }
}

.Meta__category {
  font-size: 14px;
}
@media (width <= 580px) {
  .Meta__category {
    font-size: 13px;
  }
}

@media (width <= 580px) {
  .Meta__tag {
    font-size: 14px;
  }
}
.Meta__item .Meta__tag {
  margin-top: 5px;
}

.CategoryList {
  display: flex;
  font-size: inherit;
  flex-wrap: wrap;
}
.CategoryList > li {
  margin-bottom: 5px;
}
@media (width <= 820px) {
  .CategoryList > li {
    margin-bottom: 10px;
  }
}
.CategoryList > li:not(:last-of-type) {
  margin-right: 0.5em;
}
.PanelE .CategoryList > li {
  margin-bottom: 0;
}

.PageNavi {
  position: relative;
  text-align: center;
  /*プラグインのスタイルを上書き====================*/
}
.PageNavi .wp-pagenavi {
  display: flex;
  justify-content: center;
  margin-top: var(--space_100);
}
.PageNavi .wp-pagenavi a, .PageNavi .wp-pagenavi span {
  width: 32px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0.5em 0 0;
  font-size: 15px;
  color: var(--color_font02);
  border-style: none;
  line-height: 1;
  letter-spacing: 0;
  background-color: var(--color_theme06);
  border-radius: 3px;
}
@media (width <= 600px) {
  .PageNavi .wp-pagenavi a, .PageNavi .wp-pagenavi span {
    width: 24px;
    height: 24px;
    margin: 0 0.2em 0 0;
    font-size: 12px;
  }
}
.PageNavi .wp-pagenavi a.current, .PageNavi .wp-pagenavi span.current {
  background-color: var(--color_theme01);
}
@media (width > 820px) {
  .PageNavi .wp-pagenavi a:hover, .PageNavi .wp-pagenavi span:hover {
    background-color: var(--color_theme01);
  }
}
.PageNavi .wp-pagenavi a.previouspostslink, .PageNavi .wp-pagenavi a.nextpostslink, .PageNavi .wp-pagenavi span.previouspostslink, .PageNavi .wp-pagenavi span.nextpostslink {
  border-radius: 100vh;
  background-color: var(--color_theme01);
}
@media (width > 820px) {
  .PageNavi .wp-pagenavi a.previouspostslink:hover, .PageNavi .wp-pagenavi a.nextpostslink:hover, .PageNavi .wp-pagenavi span.previouspostslink:hover, .PageNavi .wp-pagenavi span.nextpostslink:hover {
    background-color: var(--color_link01);
  }
}
.PageNavi .wp-pagenavi a.previouspostslink, .PageNavi .wp-pagenavi span.previouspostslink {
  margin-right: var(--space_20);
}
.PageNavi .wp-pagenavi a.nextpostslink, .PageNavi .wp-pagenavi span.nextpostslink {
  margin-left: var(--space_15);
}
.PageNavi .wp-pagenavi .extend {
  color: var(--color_font01);
  background-color: transparent !important;
  border-style: none;
}
.PageNavi .wp-pagenavi .extend:hover {
  background-image: none;
}

.Tag {
  display: flex;
  flex-wrap: wrap;
}
.Tag > li:not(:last-of-type) {
  margin-right: 1em;
}
.Tag > li > a {
  color: var(--color_font03);
  text-decoration: underline;
}
@media (width > 820px) {
  .Tag > li > a:hover {
    text-decoration: none;
    color: var(--color_theme01);
  }
}
.Tag > li > a::before {
  content: "#";
}

.ListC {
  color: inherit;
}

.ListC__item {
  padding: 0.2em 0;
  font-size: 15px;
  border-top: thin solid rgba(var(--color_border01_rgb), 0.5);
}
.ListC__item:last-of-type {
  border-bottom: thin solid var(--color_border03);
}
.ListC__child .ListC__item {
  padding: 0;
  font-size: 14px;
  border-style: none;
}

.ListC__target {
  display: block;
  padding: 0.5em 0.5em;
  line-height: 1.5;
}
@media (width > 820px) {
  .ListC__target:hover {
    text-decoration: underline;
  }
}
.ListC__child .ListC__target {
  position: relative;
  padding: 0 0.5em 0.5em 2em;
}
.ListC__child .ListC__target::before {
  position: absolute;
  top: 0.7em;
  left: 0.7em;
  content: "";
  display: block;
  width: 0.7em;
  height: 2px;
  background-color: var(--color_theme02);
}

.FloatPanel {
  margin-right: calc(var(--cont_padding) * -1);
}

.FloatPanel__main {
  max-width: 1000px;
  margin-left: auto;
  padding: 90px 10% 90px 8%;
  background-color: rgba(var(--color_field01_rgb), 0.9);
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;
}
@media (width <= 820px) {
  .FloatPanel__main {
    padding: 50px 10% 50px 8%;
  }
}

.FloatPanel2 {
  box-shadow: 0 15px 40px 0 rgba(0, 0, 0, 0.15);
  border-radius: 50px;
  overflow: hidden;
  opacity: 0;
}
@keyframes fadeIn {
  to {
    opacity: 1;
    transform: none;
  }
}
.FloatPanel2.-active {
  animation: fadeIn 1.3s ease-out 0.5s forwards;
  transform: translateY(20px);
}

.FloatPanel2__main {
  padding: 90px 10% 90px 10%;
  background-color: rgba(var(--color_field01_rgb), 0.9);
}
@media (width <= 820px) {
  .FloatPanel2__main {
    padding: 50px 6% 50px 6%;
  }
}

.FloatPanel2__sub {
  padding: 90px 10% 90px 10%;
  background-color: rgba(var(--color_theme01_rgb), 0.9);
}
@media (width <= 820px) {
  .FloatPanel2__sub {
    padding: 50px 6% 50px 6%;
  }
}

.FloatPanel2__head {
  margin-bottom: 0.8em;
  font-size: max(24px, min(2.6vw, 30px));
  color: var(--color_theme01);
}
.FloatPanel2__sub .FloatPanel2__head {
  color: var(--color_font02);
}

.FloatPanel2__sub .FloatPanel2__body {
  color: var(--color_font02);
}

.TableA {
  width: 100%;
  font-size: inherit;
}
.TableA th, .TableA td {
  padding: 0.8em 0.5em;
  text-align: center;
  line-height: 1.2;
  vertical-align: middle;
}
@media (width <= 580px) {
  .TableA th, .TableA td {
    padding: 0.5em 0.2em;
  }
}
.TableA th {
  border-bottom: thin solid var(--color_border05);
}
.TableA col[class^=-col] {
  border-right: thin solid var(--color_border05);
}
.TableA col.-col9 {
  border-right-style: none;
}
.TableA caption {
  margin-top: 0.5em;
  color: red;
  caption-side: bottom;
  text-align: right; /* 任意で調整 */
  font-size: 14px;
}
.TableA .-kome::after {
  content: "*";
  color: red;
}

@media (width <= 580px) {
  .TableB tr {
    display: block;
    padding-bottom: 0.5em;
  }
}
.TableB th, .TableB td {
  padding-top: 0.3em;
  padding-bottom: 0.3em;
  text-align: left;
  line-height: 1.5;
  vertical-align: top;
}
@media (width <= 580px) {
  .TableB th, .TableB td {
    display: block;
    padding-bottom: 0;
  }
}
.SubCont__std .TableB th, .SubCont__std .TableB td {
  font-size: 14px;
}
.TableB th {
  font-weight: 500;
  padding-right: 1em;
  border-right: thin solid var(--color_theme01);
}
@media (width <= 580px) {
  .TableB th {
    border-right: none;
  }
}
@media (width > 580px) {
  .TableB td {
    padding-left: 1em;
  }
}

.TableC {
  width: 100%;
}
.TableC tr {
  border-top: thin solid var(--color_border05);
  border-bottom: thin solid var(--color_border05);
}
.TableC th, .TableC td {
  padding-top: 0.7em;
  padding-bottom: 0.7em;
  text-align: left;
  line-height: 1.5;
  vertical-align: middle;
}
.TableC th {
  font-weight: 500;
  padding-right: 2em;
}
@media (width <= 580px) {
  .TableC th {
    border-right: none;
  }
}
@media (width > 580px) {
  .TableC td {
    padding-left: 1em;
  }
}

.ContactBanner {
  position: relative;
  display: flex;
  margin-bottom: 20px;
  padding: 30px 40px 30px 30%;
  background: var(--color_field01) url("../images/contactBanner_bg.png") no-repeat 0 50%;
  background-size: auto 100%;
  background-color: var(--color_field01);
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
}
@media (width <= 1280px) {
  .ContactBanner {
    padding-left: 25%;
  }
}
@media (width <= 1224px) {
  .ContactBanner {
    background-position: -22% 50%;
  }
}
@media (width <= 980px) {
  .ContactBanner {
    display: block;
    margin: 0 calc(var(--cont_padding) * -1) 20px;
    padding: 30px var(--cont_padding) 30px 40vw;
    border-radius: 0;
    background-position: -30vw 0;
  }
}
@media (width <= 580px) {
  .ContactBanner {
    padding: 20px var(--cont_padding) 20px;
    background-image: none;
  }
}
.ContactBanner::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(var(--color_field01_rgb), 0.15);
  z-index: 0;
}
@media (width <= 580px) {
  .ContactBanner::before {
    content: none;
  }
}

.ContactBanner__main {
  position: relative;
  z-index: 1;
  margin-right: 20px;
}
@media (width <= 980px) {
  .ContactBanner__main {
    margin-bottom: 20px;
    margin-right: 0;
  }
}

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

.ContactBanner__head {
  margin-bottom: 0.5em;
  font-size: max(18px, min(2vw, 25px));
}
@media (width <= 1224px) {
  .ContactBanner__head {
    padding-bottom: 0.5em;
    text-align: center;
    border-bottom: thin solid var(--color_border05);
  }
}

.ContactBanner__tel {
  margin-bottom: 0.3em;
  font-size: max(34px, min(4vw, 51px));
}
@media (width <= 1224px) {
  .ContactBanner__tel {
    padding-bottom: 0.3em;
    border-bottom: thin solid var(--color_border05);
  }
}

.ContactBanner__add {
  line-height: 1.3;
}
@media (width <= 820px) {
  .ContactBanner__add {
    text-align: center;
  }
}

.ContactBanner__button {
  padding: 7px;
  background-color: #F4F3F6;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  border-radius: 24px;
  white-space: nowrap;
}
.ContactBanner__button > li {
  font-size: max(15px, min(1.6vw, 18px));
}
.ContactBanner__button > li:not(:last-of-type) {
  margin-bottom: 7px;
}
.ContactBanner__button:not(:last-child) {
  margin-bottom: var(--space_20);
}

.ContactBanner__add2 {
  text-align: center;
  font-size: 13px;
  line-height: 1.5;
}

.ContactBanner__img {
  display: block;
  margin-top: 20px;
  border-radius: 10px;
  overflow: hidden;
}
@media (width > 580px) {
  .ContactBanner__img {
    display: none;
  }
}

.BottomCont__str01 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 25px 2.5%;
  background-image: linear-gradient(-155deg, #52A352 1%, #218E21 100%);
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}
@media (width <= 980px) {
  .BottomCont__str01 {
    padding: 10px;
  }
}

.BottomCont__map {
  position: relative;
  width: 64%;
  min-height: 350px;
  border-radius: 13px;
  overflow: hidden;
  background-color: #ccc;
}
@media (width <= 980px) {
  .BottomCont__map {
    width: 100%;
  }
}
.BottomCont__map > iframe {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.BottomCont__head {
  margin-bottom: 0.5em;
  color: var(--color_font02);
  font-size: max(22px, min(2.6vw, 30px));
}
.BottomCont__elm2 .BottomCont__head {
  color: var(--color_theme01);
}

.BottomCont__headSub {
  margin-bottom: 0.5em;
  color: var(--color_font02);
  font-size: max(22px, min(2.6vw, 30px));
}

.BottomCont__elm {
  width: 30%;
}
@media (width <= 980px) {
  .BottomCont__elm {
    width: 100%;
    padding: 30px 15px;
  }
}

.BottomCont__body {
  margin-bottom: var(--space_30);
  color: var(--color_font02);
}

.BottomCont__body2 span {
  color: red;
  font-size: 14px;
}

.BottomCont__button {
  max-width: 263px;
}

.BottomCont__str02 {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  padding: 25px 25px 25px 24%;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  overflow: hidden;
  background-color: var(--color_field01);
}
@media (width <= 980px) {
  .BottomCont__str02 {
    display: block;
    padding: 30% 10px 10px 10px;
    background-size: 100% auto;
  }
}
.BottomCont__str02::before, .BottomCont__str02::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
}
.BottomCont__str02::before {
  width: 100%;
  height: 100%;
  z-index: 2;
  background-image: linear-gradient(-110deg, #FFF 70%, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 0) 100%);
  opacity: 0.7;
}
.BottomCont__str02::after {
  width: 40%;
  height: 100%;
  z-index: 1;
  background: transparent url("../images/bottom_cont.png") no-repeat 0 50%;
  background-size: auto 120%;
}
@media (width <= 980px) {
  .BottomCont__str02::after {
    width: 100%;
    height: 40%;
    background-position: 50% 0;
    background-size: cover;
  }
}

.BottomCont__table {
  position: relative;
  z-index: 3;
  padding: 25px 30px;
  background-color: var(--color_field01);
  box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.1);
  border-radius: 15px;
}
@media (width > 980px) {
  .BottomCont__table {
    margin-right: 5%;
  }
}
@media (width <= 980px) {
  .BottomCont__table {
    padding: 15px 10px;
    font-size: 14px;
  }
}

.BottomCont__elm2 {
  position: relative;
  z-index: 3;
}
@media (width <= 980px) {
  .BottomCont__elm2 {
    padding: 20px 15px;
  }
}

.Doctor__item:not(:last-child) {
  margin-bottom: var(--space_50);
}
.Doctor__item.-variation01 {
  padding: var(--space_40) 0 0;
  border-top: 2px solid var(--color_theme01);
}

.Doctor__head {
  margin-bottom: 1em;
  font-size: max(22px, min(2.6vw, 30px));
  color: var(--color_theme01);
}

.Doctor__headSub {
  margin-bottom: 1em;
  font-size: max(18px, min(2.2vw, 24px));
  color: var(--color_theme01);
}

.Doctor__body {
  margin-bottom: var(--space_50);
}

.Doctor__sign {
  text-align: right;
  font-size: max(22px, min(2.6vw, 30px));
  font-weight: 700;
  font-family: var(--second_ff);
  letter-spacing: 0.05em;
}
.Doctor__sign > span {
  display: block;
  margin-bottom: 0.5em;
  font-size: 50%;
  font-weight: 500;
}

.FlowA > li {
  position: relative;
  padding: 1em 2em;
  background-color: var(--color_field01);
  box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.1);
  color: var(--color_theme01);
  line-height: 1.4;
  font-weight: 700;
  border-radius: 10px;
}
.FlowA > li:not(:last-of-type) {
  margin-bottom: 50px;
}
.FlowA > li:not(:last-of-type)::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  content: "";
  width: 16px;
  height: 19px;
  background: transparent url("../images/arrow-up-line.svg") no-repeat 0 0;
  background-size: contain;
  transform: translate(-50%, 200%);
}

.Usually {
  padding-top: 8px;
  color: var(--color_font01);
  line-height: 1.4;
}
.Usually :where(strong) {
  font-weight: 700;
  color: var(--color_theme01);
}
.Usually :where(p.Paragraph a) {
  color: var(--color_theme01);
  text-decoration: underline;
}
@media (width > 820px) {
  .Usually :where(p.Paragraph a:hover) {
    text-decoration: none;
  }
}

.Usually__item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.Usually__item:not(:last-child) {
  margin-bottom: var(--space_100);
}
.Usually__item.-huge {
  display: block;
}

.Usually__head {
  width: 34%;
  color: var(--color_theme01);
  font-size: max(24px, min(2.6vw, 30px));
}
@media (width <= 820px) {
  .Usually__head {
    width: 100%;
    margin-bottom: 0.8em;
  }
}
.Usually__item.-huge .Usually__head {
  width: 100%;
  margin-bottom: 1.5em;
}

.Usually__elm {
  width: 60%;
}
@media (width <= 820px) {
  .Usually__elm {
    width: 100%;
  }
}
.Usually__item.-huge .Usually__elm {
  width: 100%;
}
.Usually__elm > :where(*:not(p)) {
  margin-top: 40px;
  margin-bottom: 30px;
}
@media (width <= 820px) {
  .Usually__elm > :where(*:not(p)) {
    margin-top: 30px;
    margin-bottom: 20px;
  }
}
.Usually__elm > *:first-child {
  margin-top: 0;
}
.Usually__elm > *:last-child {
  margin-bottom: 0;
}
.Usually__elm > iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.Usually__img {
  display: block;
  --offset: 170px;
  overflow: hidden;
}
.Usually__img > img {
  border-radius: 20px;
}
.Usually__img.-offset {
  margin-right: calc(var(--offset) * -1);
}
.Usually__panelOverFlow.-rev .Usually__img.-offset {
  margin-left: 0;
  margin-right: calc(var(--offset) * -1);
}
.Usually__panelOverFlow .Usually__img.-offset {
  margin-right: 0;
  margin-left: calc(var(--offset) * -1);
}
.Usually__img > figcaption {
  display: inline-block;
  margin: 10px 0;
  font-size: 14px;
  line-height: 1.4;
}

.Usually__floatPanel {
  padding: 25px 30px;
  background-color: var(--color_field01);
  box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.1);
  border-radius: 20px;
}
.Usually__floatPanel > *:first-child {
  margin-top: 0 !important;
}
.Usually__floatPanel > *:not(:last-child) {
  margin-bottom: 20px;
}

.Usually__iFrame {
  position: relative;
}
.Usually__iFrame > iframe {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.Usually__iFrame.-map {
  height: 350px;
}

.Usually__headSub {
  margin: 2em 0 1.2em;
  color: var(--color_theme01);
  font-size: max(20px, min(2.3vw, 24px));
}

.Usually__headAux {
  margin: 2em 0 1.2em;
  color: var(--color_theme01);
  font-size: max(18px, min(2vw, 20px));
}

.Usually__headAdd {
  margin: 2em 0 1.2em;
  color: var(--color_theme01);
  font-size: max(20px, min(2.2vw, 22px));
}
.Usually__headAdd.-gravityCenter {
  text-align: center;
}

.Usually__specialHead {
  margin-bottom: var(--space_70);
  color: var(--color_theme01);
  font-size: max(22px, min(2.6vw, 34px));
}

.Usually__panel {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.Usually__panel.-rev {
  flex-direction: row-reverse;
}
@media (width <= 768px) {
  .Usually__panel.-revColumn {
    flex-direction: column-reverse;
  }
}

.Usually__panelImg {
  width: 35%;
}
@media (width <= 768px) {
  .Usually__panelImg {
    width: 100%;
    margin-bottom: 30px;
  }
}
@media (width <= 768px) {
  .Usually__panel.-revColumn .Usually__panelImg {
    margin-bottom: 0;
    margin-top: 20px;
  }
}

.Usually__panelElm {
  width: 60%;
}
@media (width <= 768px) {
  .Usually__panelElm {
    width: 100%;
  }
}
.Usually__panelElm > :where(*:not(p)) {
  margin-top: 40px;
  margin-bottom: 30px;
}
@media (width <= 820px) {
  .Usually__panelElm > :where(*:not(p)) {
    margin-top: 30px;
    margin-bottom: 20px;
  }
}
.Usually__panelElm > *:first-child {
  margin-top: 0;
}
.Usually__panelElm > *:last-child {
  margin-bottom: 0;
}

.Usually__panelOverFlow {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.Usually__panelOverFlow.-rev {
  flex-direction: row-reverse;
}

.Usually__gallery {
  display: grid;
  gap: 20px 20px;
}
.Usually__gallery > li > img {
  border-radius: 20px;
}
.Usually__gallery.-col2 {
  grid-template-columns: repeat(2, 1fr);
}
.Usually__gallery.-col3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (width <= 768px) {
  .Usually__gallery.-col2, .Usually__gallery.-col3 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.Usually__caption {
  width: fit-content;
  margin: -1em auto 0;
  font-size: 14px;
  line-height: 1.4;
}
.Usually__caption.-variation01 {
  margin: 1em auto 0;
}

.Usually__each > li:not(:last-child) {
  margin-bottom: 60px;
}
@media (width <= 820px) {
  .Usually__each > li:not(:last-child) {
    margin-bottom: 40px;
  }
}

.Usually__button {
  max-width: 300px;
}

.Post > :where(*:not(p)),
.smf-complete-content > :where(*:not(p)) {
  margin-top: 40px;
  margin-bottom: 30px;
}
@media (width <= 768px) {
  .Post > :where(*:not(p)),
  .smf-complete-content > :where(*:not(p)) {
    margin-top: 30px;
    margin-bottom: 20px;
  }
}
.Post > *:first-child,
.smf-complete-content > *:first-child {
  margin-top: 0;
}
.Post > *:last-child,
.smf-complete-content > *:last-child {
  margin-bottom: 0;
}
.Post h2,
.smf-complete-content h2 {
  color: var(--color_theme01);
  font-size: max(24px, min(2.6vw, 30px));
}
.Post h3,
.smf-complete-content h3 {
  margin: 2em 0 1.2em;
  color: var(--color_theme01);
  font-size: max(20px, min(2.3vw, 24px));
}
.Post h4,
.smf-complete-content h4 {
  margin: 2em 0 1.2em;
  color: var(--color_theme01);
  font-size: max(18px, min(2vw, 20px));
}
.Post iframe,
.smf-complete-content iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.Post :where(p),
.smf-complete-content :where(p) {
  line-height: 2;
  letter-spacing: 0.08em;
}
.Post :where(p a),
.smf-complete-content :where(p a) {
  color: var(--color_theme01);
  text-decoration: underline;
}
@media (width > 820px) {
  .Post :where(p a:hover),
  .smf-complete-content :where(p a:hover) {
    text-decoration: none;
  }
}
.Post figcaption,
.smf-complete-content figcaption {
  padding-top: 8px;
  color: var(--color_font01);
  line-height: 1.4;
}
.Post .wp-block-image > img,
.smf-complete-content .wp-block-image > img {
  border-radius: 20px;
  overflow: hidden;
}
.Post :where(ol),
.smf-complete-content :where(ol) {
  margin-left: 1em;
  display: list-item;
}
.Post :where(ol) li,
.smf-complete-content :where(ol) li {
  list-style-type: decimal;
  line-height: 2;
}
.Post :where(ol) li::marker,
.smf-complete-content :where(ol) li::marker {
  color: var(--color_theme01);
}
.Post :where(ol) li:not(:last-of-type),
.smf-complete-content :where(ol) li:not(:last-of-type) {
  margin-bottom: 1em;
}
.Post .wp-block-button .wp-block-button__link,
.smf-complete-content .wp-block-button .wp-block-button__link {
  position: relative;
  padding-right: 2.5em;
  background-color: var(--color_theme01);
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
}
.Post .wp-block-button .wp-block-button__link::after,
.smf-complete-content .wp-block-button .wp-block-button__link::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 0.7em;
  aspect-ratio: 1/1;
  transform: translateY(-45%);
  background-color: var(--color_font02);
  clip-path: polygon(20% 10%, 90% 50%, 20% 90%);
}
@media (width > 820px) {
  .Post .wp-block-button .wp-block-button__link:hover,
  .smf-complete-content .wp-block-button .wp-block-button__link:hover {
    color: var(--color_theme01);
    background-color: var(--color_field01);
  }
}
.Post .wp-block-button .wp-block-button__link:hover::after,
.smf-complete-content .wp-block-button .wp-block-button__link:hover::after {
  background-color: var(--color_theme01);
}
.Post .wp-block-button.-variation01 .wp-block-button__link,
.smf-complete-content .wp-block-button.-variation01 .wp-block-button__link {
  color: var(--color_theme01);
  background-color: var(--color_field01);
}
@media (width > 820px) {
  .Post .wp-block-button.-variation01 .wp-block-button__link:hover,
  .smf-complete-content .wp-block-button.-variation01 .wp-block-button__link:hover {
    color: var(--color_font02);
    background-color: var(--color_theme01);
  }
}
.Post .wp-block-button.-variation01 .wp-block-button__link::after,
.smf-complete-content .wp-block-button.-variation01 .wp-block-button__link::after {
  background-color: var(--color_theme01);
}
@media (width > 820px) {
  .Post .wp-block-button.-variation01 .wp-block-button__link:hover::after,
  .smf-complete-content .wp-block-button.-variation01 .wp-block-button__link:hover::after {
    background-color: var(--color_field01);
  }
}

.Qa {
  /*以下のコードはブロックスタイルの上書き変更を含む*/
  display: block !important;
  border-radius: 20px;
  overflow: hidden;
  background-color: var(--color_field01);
}

.Qa__head {
  position: relative;
  /*以下のコードはブロックスタイルの上書き変更を含む*/
  margin: 0 !important;
  width: 100%;
  padding: 1em 1.8em 1em 3.5em;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  background-color: rgba(var(--color_theme01_rgb), 0.2);
}
.Qa__head::before {
  position: absolute;
  top: 0.8em;
  left: 1.5em;
  display: inline-block;
  content: "Q";
  font-size: 120%;
  font-family: var(--second_ff);
}

.Qa__body {
  /*以下のコードはブロックスタイルの上書き変更を含む*/
  padding: 1em 5% 2em;
}
.Qa__body * {
  max-width: initial;
}

.Form__item.-required .smf-item__label .smf-item__label__text::after {
  display: inline-block;
  margin-left: 0.5em;
  padding: 0.05em 0.3em 0.07em;
  font-size: 12px;
  content: "必須";
  color: var(--color_font02);
  border-radius: 3px;
  background-color: red;
}

Form[data-screen=confirm] .Form__item.-required .smf-item__label .smf-item__label__text::after {
  content: none;
}

Form[data-screen=confirm] p.message {
  display: none;
}

.Form__input.-text {
  width: 100%;
}
.Form__input.-narrow {
  width: 6em;
}
.Form__input::placeholder {
  color: #D4D4D4;
}

div:has(> .-hasLabel)::after {
  display: inline-block;
  content: "歳";
  margin-left: 0.5em;
}

.Page__body.-confirm p {
  display: none;
}

/*プラグインのスタイルを上書き*/
.smf-form {
  margin-top: var(--space_60);
  padding: 40px 5%;
  border-radius: 20px;
  background-color: var(--color_field01);
}
@media (width <= 820px) {
  .smf-form {
    padding: 20px 5%;
  }
}

.smf-label:not(:last-of-type) {
  margin-bottom: 0.5em;
}

.smf-checkbox-control__control,
.smf-radio-button-control__control {
  position: relative;
  top: -0.2em;
}

.smf-item__label__text {
  line-height: 1.5;
}
@media (width <= 600px) {
  .smf-item__label__text {
    font-weight: 700;
  }
}

.smf-button-control__control {
  display: block;
}

.smf-action .smf-button-control__control {
  display: block;
  width: 100%;
  max-width: 267px;
  margin-left: auto;
  margin-right: auto;
  padding: 1em 1.5em 1.2em;
  background-image: none;
  background-color: var(--color_theme01);
  font-weight: 500;
  color: var(--color_font02);
  border: thin solid var(--color_theme01);
  transition: all 0.4s ease;
  font-size: 20px;
  border-radius: 100vh;
}
@media (width <= 820px) {
  .smf-action .smf-button-control__control {
    font-size: 16px;
  }
}
@media (width > 820px) {
  .smf-action .smf-button-control__control:hover {
    color: var(--color_theme01);
    background-color: transparent;
    border: thin solid var(--color_theme01);
  }
}

.smf-action button[type=submit].smf-button-control__control {
  position: relative;
}
.smf-action button[type=submit].smf-button-control__control::after {
  position: absolute;
  right: 15px;
  top: 50%;
  display: inline-block;
  content: "▶";
  font-size: 50%;
  transform: translateY(-50%);
}

.smf-action button[type=submit][data-action=back].smf-button-control__control {
  position: relative;
}
.smf-action button[type=submit][data-action=back].smf-button-control__control::after {
  position: absolute;
  right: auto;
  left: 15px;
  top: 50%;
  display: inline-block;
  content: "▶";
  font-size: 50%;
  transform: translateY(-50%) rotate(180deg);
}

.smf-action .smf-button-control__control[data-action=back] {
  background-color: transparent;
  color: var(--color_theme01);
}

body.-contact .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-left: 0 !important;
  margin-right: auto !important;
}

Form[data-screen=confirm] .smf-placeholder {
  color: var(--color_theme01);
}

.ContactMessage__confirm p {
  width: fit-content;
  margin-left: 2em;
  text-align: center;
  line-height: 1.7;
}

/* 確認画面のメッセージを状態に応じて非表示 */
Form[data-screen=input] .ContactMessage__confirm,
Form[data-screen=invalid] .ContactMessage__confirm,
Form[data-screen=back] .ContactMessage__confirm {
  display: none;
}

/*=======プログレスバーの設定変更====================================*/
.smf-progress-tracker {
  margin-bottom: var(--space_50);
}

[data-screen=back] .smf-progress-tracker__item--input .smf-progress-tracker__item__number,
[data-screen=complete] .smf-progress-tracker__item--complete .smf-progress-tracker__item__number,
[data-screen=confirm] .smf-progress-tracker__item--confirm .smf-progress-tracker__item__number,
[data-screen=input] .smf-progress-tracker__item--input .smf-progress-tracker__item__number,
[data-screen=invalid] .smf-progress-tracker__item--input .smf-progress-tracker__item__number {
  background-color: var(--color_theme01);
}

.tracker__item__text {
  color: rgba(var(--color_theme01_rgb), 0.8);
}

[data-screen=back] .smf-progress-tracker__item--input .smf-progress-tracker__item__text,
[data-screen=complete] .smf-progress-tracker__item--complete .smf-progress-tracker__item__text,
[data-screen=confirm] .smf-progress-tracker__item--confirm .smf-progress-tracker__item__text,
[data-screen=input] .smf-progress-tracker__item--input .smf-progress-tracker__item__text,
[data-screen=invalid] .smf-progress-tracker__item--input .smf-progress-tracker__item__text {
  color: var(--color_theme01);
}

.smf-progress-tracker__item__number {
  width: 26px;
  height: 26px;
  font-size: 16px;
}

/* Quick parts=========================================================================================*/
.brakeNarrowPc {
  display: none;
}
@media (width <= 980px) {
  .brakeNarrowPc {
    display: inline;
  }
}

.brakeTablet {
  display: none;
}
@media (width <= 820px) {
  .brakeTablet {
    display: inline;
  }
}

.brakeMobile {
  display: none;
}
@media (width <= 580px) {
  .brakeMobile {
    display: inline;
  }
}

.noBrakeTablet {
  display: inline;
}
@media (width <= 820px) {
  .noBrakeTablet {
    display: none;
  }
}

.noBrakeMobile {
  display: inline;
}
@media (width <= 580px) {
  .noBrakeMobile {
    display: none;
  }
}

.standOut01 {
  font-size: 80%;
}

.standOut02 {
  font-size: 60%;
}
/*# sourceMappingURL=master.css.map */