@charset "utf-8";

/* ───────────────────── destyle.css ───────────────────── */


/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */
/* ============================================ */

*,
::before,
::after {
  box-sizing: textbox;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  /*font-weight: inherit;*/
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable
 */

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */

[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */

select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}


/* ───────────────────── base.css ───────────────────── */

/* !Base -------------------------------------------------------------- */
:root {
  --blue: #88C4CD;
  --dblue: #17a9c1;
  --gold: #b49b72;
  --gray: #797979;
  --red: #FE6060;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  color: inherit;
  text-decoration: none;
}

a.underline {
  border-bottom: 1px solid;
}

a.white:hover {
  color: var(--gold);
}

a.hgold:hover {
  color: var(--gold);
}

a.blue {
  color: #17a9c1;
}

.detail_news a {
  color: #17a9c1;
}

.detail_news a:hover {
  border-bottom: 1px solid;
}

html {
  font-size: 62.5%;
  overflow-y: scroll;
}

body {
  font-size: 16px;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.04em;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  line-height: 2;
  color: #333;
}

.mincho {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.Garamond {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.lato {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.bold {
  font-weight: 600;
}

.normal {
  font-weight: 400;
}

p {
  padding: 1em 0;
}

img {
  max-width: 100%;
  height: auto;
}

.taL {
  text-align: left !important;
}

.taC {
  text-align: center !important;
}

.taR {
  text-align: right !important;
}

.marker {
  background: linear-gradient(transparent 60%, #FCFAD8 60%, #FCFAD8 100%, #fff 100%);
}

.white {
  color: #fff;
}

.black {
  color: #333;
}

.black2 {
  color: #000;
}

.gray {
  color: #797979;
}

.blue {
  color: var(--blue);
  font-weight: bold;
}

.gold {
  color: var(--gold);
}

.bg_white {
  background: #fff;
}

.bg_black {
  background: #000;
}

.bg_blue {
  background: var(--blue);
}

.bg_gold {
  background: var(--gold);
}

.bg_gray {
  background: #4A4A4A;
}

.bg_lgray {
  background: #F5F5F5;
}

.bg_lgray2 {
  background: #F9F9F9;
}

.bg_lgray3 {
  background: #fafafa;
}

.shadow {
  filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, .2));
}

.shadow2 {
  box-shadow: 0px .125em .375em rgba(0, 0, 0, .1);
}

.br50 {
  border-radius: 1.75em;
}

.br15 {
  border-radius: 1.5em;
}

.br8 {
  border-radius: .5em;
}

.fz88 {
  font-size: 5.5em;
}

.fz64 {
  font-size: 4em;
}

.fz56 {
  font-size: 3.5em;
}

.fz48 {
  font-size: 3em;
}

.fz40 {
  font-size: 2.5em;
}

.fz32 {
  font-size: 2em;
}

.fz28 {
  font-size: 1.75em;
}

.fz24 {
  font-size: 1.5em;
}

.fz20 {
  font-size: 1.25em;
}

.fz18 {
  font-size: 1.125em;
}

.fz16 {
  font-size: 1em;
}

.fz14 {
  font-size: .875em;
}

.fz12 {
  font-size: .75em;
}

.fz10 {
  font-size: .625em;
}

.fz88 {
  font-size: 88px;
}

.fz64 {
  font-size: 64px;
}

.fz56 {
  font-size: 56px;
}

.fz48 {
  font-size: 48px;
}

.fz40 {
  font-size: 40px;
}

.fz36 {
  font-size: 36px;
}

.fz32 {
  font-size: 32px;
}

.fz28 {
  font-size: 28px;
}

.fz26 {
  font-size: 26px;
}

.fz24 {
  font-size: 24px;
}

.fz20 {
  font-size: 20px;
}

.fz18 {
  font-size: 18px;
}

.fz17 {
  font-size: 17px;
}

.fz16 {
  font-size: 16px;
}

.fz14 {
  font-size: 14px;
}

.fz12 {
  font-size: 12px;
}

.fz10 {
  font-size: 10px;
}

h1,
.h1,
h2,
h3,
h4,
h5 {
  line-height: 1.5;
  font-weight: 400;
  padding: 0;
}

.h1 {
  font-size: 32px;
}

h2,
.detail_news h1 {
  font-size: 28px;
}

h3,
h4,
h5,
.detail_news h2 {
  font-size: 20px;
}

strong {
  font-weight: 600;
}

.lh25 {
  line-height: 2.5;
}

.lh24 {
  line-height: 2.4;
}

.lh23 {
  line-height: 2.3;
}

.lh22 {
  line-height: 2.2;
}

.lh21 {
  line-height: 2.1;
}

.lh20 {
  line-height: 2.0;
}

.lh19 {
  line-height: 1.9;
}

.lh18 {
  line-height: 1.8;
}

.lh17 {
  line-height: 1.7;
}

.lh165 {
  line-height: 1.65;
}

.lh16 {
  line-height: 1.6;
}

.lh155 {
  line-height: 1.56;
}

.lh15 {
  line-height: 1.5;
}

.lh14 {
  line-height: 1.4;
}

.lh13 {
  line-height: 1.3;
}

.lh12 {
  line-height: 1.2;
}

.lh11 {
  line-height: 1.1;
}

.lh10 {
  line-height: 1;
}

.ls00 {
  letter-spacing: 0;
}

.ls002 {
  letter-spacing: 0.02em;
}

.ls003 {
  letter-spacing: 0.03em;
}

.ls004 {
  letter-spacing: 0.04em;
}

.ls005 {
  letter-spacing: 0.05em;
}

.ls008 {
  letter-spacing: 0.08em;
}

.ls01 {
  letter-spacing: 0.1em;
}

.ls02 {
  letter-spacing: 0.2em;
}

.ls03 {
  letter-spacing: 0.3em;
}

.ls04 {
  letter-spacing: 0.4em;
}

figcaption {
  line-height: 1.4;
  margin-top: 0.5em;
}

.r_over {
  transition: all 0.2s;
}

.r_over:hover {
  filter: brightness(105%);
}

.r_over2 {
  transition: all 0.2s;
}

.r_over2:hover {
  filter: brightness(80%);
}

.r_over3 {
  transition: all 0.2s;
}

.r_over3:hover {
  filter: brightness(88%) saturate(1.5);
}

.r_over4 {
  transition: all 0.3s;
}

.r_over4:hover {
  filter: brightness(94%) contrast(104%);
}

.r_over5 {
  transition: all 0.3s;
}

.r_over5:hover {
  filter: brightness(80%);
}

.t-03 {
  transition: all 0.3s;
}

.hdn {
  display: none;
}

@media screen and (max-width: 1440px) {
  body {
    font-size: 1.111vw;
  }

  .fz88 {
    font-size: 6.111vw;
  }

  .fz64 {
    font-size: 4.444vw;
  }

  .fz56 {
    font-size: 3.889vw;
  }

  .fz48 {
    font-size: 3.333vw;
  }

  .fz40 {
    font-size: 2.778vw;
  }

  .fz36 {
    font-size: 2.5vw;
  }

  .fz32 {
    font-size: 2.222vw;
  }

  .fz28 {
    font-size: 1.944vw;
  }

  .fz26 {
    font-size: 1.806vw;
  }

  .fz24 {
    font-size: 1.667vw;
  }

  .fz20 {
    font-size: 1.389vw;
  }

  .fz18 {
    font-size: 1.25vw;
  }

  .fz17 {
    font-size: 1.181vw;
  }

  .fz16 {
    font-size: 1.111vw;
  }

  .fz14 {
    font-size: 0.972vw;
  }

  .fz12 {
    font-size: 0.833vw;
  }

  .fz10 {
    font-size: 0.694vw;
  }

  .h1 {
    font-size: 2.222vw;
  }

  h2,
  .detail_news h1 {
    font-size: 1.944vw;
  }

  h3,
  h4,
  h5,
  .detail_news h2 {
    font-size: 1.389vw;
  }
}

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

  /*1100px*/
  body {
    font-size: 1.455vw;
  }

  .fz88 {
    font-size: 8vw;
  }

  .fz64 {
    font-size: 5.818vw;
  }

  .fz56 {
    font-size: 5.091vw;
  }

  .fz48 {
    font-size: 4.364vw;
  }

  .fz40 {
    font-size: 3.636vw;
  }

  .fz36 {
    font-size: 3.273vw;
  }

  .fz32 {
    font-size: 2.909vw;
  }

  .fz28 {
    font-size: 2.545vw;
  }

  .fz26 {
    font-size: 2.364vw;
  }

  .fz24 {
    font-size: 2.182vw;
  }

  .fz20 {
    font-size: 1.818vw;
  }

  .fz18 {
    font-size: 1.636vw;
  }

  .fz17 {
    font-size: 1.545vw;
  }

  .fz16 {
    font-size: 1.455vw;
  }

  .fz14 {
    font-size: 1.273vw;
  }

  .fz12 {
    font-size: 1.091vw;
  }

  .fz10 {
    font-size: 0.909vw;
  }

  .h1 {
    font-size: 2.909vw;
  }

  h2,
  .detail_news h1 {
    font-size: 2.545vw;
  }

  h3,
  h4,
  h5,
  .detail_news h2 {
    font-size: 1.818vw;
  }

  .tab-taC {
    text-align: center !important;
  }
}

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

  /*500px*/
  body {
    /* font-size: 3.2vw; */
    font-size: 3.7vw;
  }

  .fz88 {
    font-size: 17.6vw;
  }

  .fz64 {
    font-size: 12.8vw;
  }

  .fz64 {
    font-size: 10vw;
  }

  .post-type-archive-ear .fz64 {
    font-size: 8.5vw;
  }

  .fz56 {
    font-size: 11.2vw;
  }

  .fz48 {
    font-size: 9.6vw;
  }

  .fz40 {
    font-size: 8vw;
  }

  .fz36 {
    font-size: 6.15vw;
  }

  .fz32 {
    font-size: 6.4vw;
  }

  .fz32 {
    font-size: 5.2vw;
  }

  .fz28 {
    font-size: 5.6vw;
  }

  .point .fz28 {
    font-size: 4.5vw;
  }

  .fz26 {
    font-size: 5.2vw;
  }

  .fz24 {
    font-size: 4.8vw;
  }

  .fz20 {
    font-size: 4vw;
  }

  h1.fz20 {
    font-size: 3.59vw;
  }

  .fz18 {
    font-size: 3.6vw;
  }

  .fz17 {
    font-size: 3.2vw;
  }

  .fz16 {
    font-size: 3.2vw;
  }

  .fz14 {
    font-size: 2.8vw;
  }

  .fz12 {
    font-size: 2.4vw;
  }

  .fz10 {
    font-size: 2vw;
  }

  #header .fz12 {
    font-size: 2.2vw;
  }

  .h1 {
    font-size: 6.15vw;
  }

  h2,
  .detail_news h1 {
    font-size: 4.8vw;
  }

  h3,
  h4,
  h5,
  .detail_news h2 {
    /* font-size: 3.7vw; */
    font-size: 1.15em;
  }

  .sp-taC {
    text-align: center !important;
  }
}

.sp,
.pro,
.tab,
.protabonly {
  display: none;
}

@media screen and (max-width: 1024px) {
  .pc {
    display: none;
  }

  .pro,
  .protabonly {
    display: block;
  }
}

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

  .pcpro,
  .notabonly {
    display: none;
  }

  .tab {
    display: block;
  }
}

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

  .sp,
  .notabonly {
    display: block;
  }

  .nosp,
  .protabonly {
    display: none !important;
  }
}

.mw100 {
  width: 100%;
  height: auto;
}

.mw90 {
  width: 90%;
  margin: 0 5%;
}

.mw72 {
  width: 100%;
  max-width: 72vw;
  margin: 0 auto;
}

.mw60 {
  max-width: 60vw;
  margin: 0 auto;
}

.dib {
  display: inline-block;
}

.ofh {
  overflow: hidden;
}


/*ナビゲーション部分*/

.header-inner {
  height: 100%;
}

.menu li:not(.nav-tel) a {
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
}

.nav-wrap {
  box-sizing: border-box;
}

@media screen and (max-width: 1024px) {
  .menu {
    background: #404040;
    transition: 0.3s ease;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    position: fixed;
    z-index: 3;
    right: 0;
    top: 0;
    display: flex;
    align-items: center;
    padding: 0;
    width: 50%;
    height: 100%;
    overflow-y: scroll;
    scrollbar-width: none;
    overscroll-behavior: none;
    font-size: 2.4vw;
  }

  .nav-wrap {
    height: 100%;
    min-height: 100.1%;
    min-height: calc(100% + 1px);
    padding: 15% 6% 20%;
  }

  .nav-wrap {
    width: 100%;
  }

  .openmenu {
    width: 100%;
  }

  .openmenu li:last-child {
    padding-bottom: 2vw;
  }

  .menu ul li a {
    color: #fff;
    padding: .35em 0;
  }

  .nav-open>a {
    pointer-events: none;
    position: relative;
  }

  .nav-open>a::after {
    content: "";
    display: block;
    width: .55em;
    height: .38em;
    clip-path: polygon(50% 75%, 100% 0, 100% 25%, 50% 100%, 0 25%, 0 0);
    background: #fff;
    margin-left: .2em;
    position: absolute;
    right: 0;
    top: 45%;
  }

  .nav-open.open>a::after {
    transform: rotate(180deg);
  }

  .nav-slide {
    display: none;
  }

  ul.menu-toggle li a {
    letter-spacing: 0.05em;
    padding: .7em 0;
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, .5);
    position: relative;
    width: 100%;
    font-size: 0.875em;
  }

  ul.menu-toggle li a::after {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.143em;
    height: 1.143em;
    display: block;
    content: "";
    background: url(../img/arrow.svg) no-repeat;
    background-size: 100%;
    background-position: top;
  }

  .menu.open {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

  .Toggle {
    display: block;
    position: fixed;
    cursor: pointer;
    z-index: 4;
    width: 9vw;
    height: 9vw;
    top: 0;
    right: 0;
    line-height: 1;
  }

  .Toggle span {
    display: block;
    position: absolute;
    right: 27.5%;
    transition: all .3s;
  }

  .Toggle span:nth-child(1),
  .Toggle span:nth-child(2) {
    width: 45%;
    border-bottom: solid 1px #333;
  }

  .Toggle span:nth-child(1) {
    top: 42%;
  }

  .Toggle span:nth-child(2) {
    width: 29%;
    top: 58%;
  }

  .Toggle.active span {
    right: 22%;
    border-bottom: solid 1px #fff;
  }

  .Toggle.active span:nth-child(1) {
    width: 54%;
    top: 50%;
    transform: rotate(-45deg);
  }

  .Toggle.active span:nth-child(2) {
    width: 54%;
    top: 50%;
    transform: rotate(45deg);
  }

  .header-cover {
    background-color: rgba(8, 18, 15, .5);
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease;
    z-index: 2;
  }

  .menu.open+.header-cover {
    opacity: 1;
    visibility: visible;
  }

  .menu ul li.nav-insta a {
    padding: 1em 0;
  }
}

@media screen and (max-width: 540px) {
  .menu {
    font-size: 4.1vw;
    width: 71.8%;
  }

  .nav-wrap {
    padding: 22% 6% 20%;
  }

  .openmenu li:last-child {
    padding-bottom: 3vw;
  }

  .Toggle {
    width: 15.9vw;
    height: 15.9vw;
  }

}

/* toggle menu pc */
@media screen and (min-width: 1025px) {
  .Toggle {
    display: none;
  }

  .menu {
    height: 100%;
  }

  .nav-wrap {
    height: 100%;
  }

  .menu li:not(.nav-tel) a {
    font-size: .875em;
  }

  ul.openmenu {
    display: flex;
    height: 100%;
  }

  ul.openmenu>li:not(.nav-tel)>a {
    padding: 0 .85em;
    letter-spacing: 0.03em;
  }

  .nav-slide {
    position: fixed;
    left: 0;
    top: 6.944vw;
    background: #404040;
    width: 100%;
    padding: 1em 0 2em;
    transition: .2s ease;
    visibility: hidden;
    opacity: 0;
  }

  .nav-open:hover>.nav-slide {
    visibility: visible;
    opacity: 1;
  }

  .nav-open>a {
    position: relative;
  }

  .nav-open>a::after {
    content: "";
    display: block;
    width: .55em;
    height: .38em;
    clip-path: polygon(50% 75%, 100% 0, 100% 25%, 50% 100%, 0 25%, 0 0);
    background: var(--gold);
    margin-left: .2em;
  }

  .nav-open:hover>a::after {
    transform: rotate(180deg);
  }

  .nav-open>a::before {
    content: "";
    display: block;
    width: 1.15em;
    height: .71em;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    background: #404040;
    position: absolute;
    bottom: 0;
    left: 45%;
    transform: translateX(-50%);
    transition: .2s ease;
    visibility: hidden;
    opacity: 0;
  }

  .nav-open:hover>a::before {
    visibility: visible;
    opacity: 1;
  }

  ul.menu-toggle {
    display: flex;
    flex-wrap: wrap;
    width: 93.5%;
    max-width: 1345px;
    margin: 0 auto;
  }

  ul.menu-toggle li {
    width: 17.6%;
    margin-right: 3%;
    margin-top: 1em;
    margin-bottom: 1em;
  }

  ul.menu-toggle li:nth-child(5n) {
    margin-right: 0;
  }

  ul.menu-toggle li a {
    letter-spacing: 0.05em;
    padding: .5em 0;
    color: #fff;
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, .7);
    position: relative;
  }

  ul.menu-toggle li a:hover {
    color: var(--gold);
    border-bottom: 1px solid var(--gold);
  }

  ul.menu-toggle li a::after {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.143em;
    height: 1.143em;
    display: block;
    content: "";
    background: url(../img/arrow.svg) no-repeat;
    background-size: 100%;
    background-position: top;
  }

  ul.menu-toggle li a:hover::after {
    background-position: bottom;
  }

  .nav-link a:hover {
    color: var(--gold);
  }

  .header-cover {
    display: none;
  }

  .header-inner {
    padding-top: .7em;
    box-sizing: border-box;
  }
}

@media screen and (min-width: 1441px) {
  .nav-slide {
    top: 100px;
  }
}


.nav-tel {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1.3;
}

.header-option {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 1.6875em;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 93.5%;
  max-width: 1345px;
  margin: 0 auto;
  line-height: 1;
}

.header-lang {
  cursor: pointer;
  margin-left: .8em;
}

@media screen and (min-width: 1025px) {
  .nav-tel {
    padding-left: .5em;
  }
}

@media screen and (max-width: 1440px) {
  .header-lang img {
    height: 1.6875em;
  }

  .icon-instagram {
    width: 1.25em;
  }
}

@media screen and (max-width: 1024px) {
  .header-option {
    left: inherit;
    transform: none;
    right: 12vw;
    height: 9vw;
    width: auto;
  }

  .nav-tel {
    color: #fff;
    border-top: 1px solid #515151;
    margin-top: 3vw;
    padding-top: 3vw;
  }

  .nav-tel .fz26 {
    font-size: 3.385vw;
    letter-spacing: 0.08em;
  }

  .nav-tel .fz10 {
    font-size: 1.302vw;
    letter-spacing: 0.08em;
  }

  .header-lang img {
    height: 3.516vw;
  }

  .icon-instagram {
    width: 2.604vw;
  }
}

@media screen and (max-width: 540px) {
  .header-option {
    right: 14vw;
    height: 15.9vw;
  }

  .header-lang img {
    height: 5.4vw;
  }

  .icon-instagram {
    width: 4vw;
  }

  .nav-tel {
    padding-top: 3.5vw;
  }

  .nav-tel .fz26 {
    font-size: 6.667vw;
  }

  .nav-tel .fz10 {
    font-size: 2.564vw;
  }
}


/* !header -------------------------------------------------------------- */
#header {
  position: fixed;
  z-index: 30;
  width: 100%;
  height: 100px;
  background: #fff;
}

#contents {
  padding-top: 100px;
}

@media screen and (max-width: 1440px) {
  #header {
    height: 6.944vw;
  }

  #contents {
    padding-top: 6.944vw;
  }
}

@media screen and (max-width: 1024px) {
  #header {
    height: 9vw;
  }

  #contents {
    padding-top: 9vw;
  }
}

@media screen and (max-width: 540px) {
  #header {
    height: 15.9vw;
  }

  #contents {
    padding-top: 15.9vw;
  }
}


/* !logo -------------------------------------------------------------- */
.logo {
  padding: 0;
}

.logo a {
  display: block;
  color: var(--gold);
  font-size: 18px;
  margin-top: .22em;
  line-height: 1.5;
}

.logo a img {
  margin-right: .44em;
  vertical-align: bottom;
}

@media screen and (min-width: 1025px) {
  #header .logo a {
    padding-bottom: .5em;
  }
}

@media screen and (max-width: 1440px) {
  .logo a {
    font-size: 1.25vw;
  }

  .logo a img {
    width: 1.611em;
  }
}

@media screen and (max-width: 1024px) {
  .logo a {
    font-size: 1.758vw;
  }

  #footer .logo a {
    font-size: 2vw;
  }
}

@media screen and (max-width: 540px) {
  .logo a {
    font-size: 3.2vw;
  }

  #footer .logo a {
    font-size: 4vw;
  }
}


/*基準1440*/
.container {
  width: 80%;
  max-width: 1140px;
  margin: 0 auto;
}

.container2 {
  width: 80%;
  max-width: 1140px;
  margin: 0 auto;
}

.container736 {
  width: 73.6%;
  margin: 0 auto;
}

.container784 {
  width: 55%;
  max-width: 784px;
  margin: 0 auto;
}

.container1345 {
  width: 93.5%;
  max-width: 1345px;
  margin: 0 auto;
}

.container1440 {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.container1920 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}

.container100 {
  width: 100%;
  margin: 0 auto;
}

.container95 {
  width: 95.1%;
  margin: 0 auto;
}

@media screen and (max-width: 1024px) {
  .container {
    width: 90%;
  }

  .container2 {
    width: 90%;
  }

  .container784 {
    width: 72%;
  }

  .container736 {
    width: 90%;
  }
}

@media screen and (max-width: 540px) {
  .container {
    width: 90%;
  }

  .container2 {
    width: 80%;
  }

  .container736 {
    width: 100%;
  }
}


/* !btn -------------------------------------------------------------- */
a.btn_01 {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: var(--gold);
  font-size: .875em;
}

a.btn_01 span {
  position: relative;
  padding-right: 1.8em;
}

a.btn_01 span::after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.143em;
  height: 1.143em;
  display: block;
  content: "";
  background: url(../img/arrow.svg) no-repeat;
  background-size: 100%;
  background-position: bottom;
  transition: .2s;
}

a.btn_01.taC {
  margin: 0 auto;
}

.submitbtnWrap {
  margin: 0 auto;
  width: 12em;
  max-width: 100%;
}

.submitbtnWrap input {
  width: 100%;
  height: 100%;
  background: #ccc;
  color: #fff;
  text-align: center;
  border-radius: .5em;
  padding: .6em;
}

.pcheck:has(input:checked) .submitbtnWrap input,
.submitbtnWrap.submitbtnWrap_confirm input {
  background: var(--blue);
}

.pcheck:has(input:checked) .submitbtnWrap input:hover,
.submitbtnWrap.submitbtnWrap_confirm input:hover {
  background: #67b2be;
}

@media screen and (min-width: 1025px) {
  a.btn_01:hover span::after {
    right: -4px;
  }

  a.btn_01:hover span::before {
    right: -3px;
  }
}

a.btn_02 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: var(--gold);
  height: 3.5em;
  border-radius: 1.8em;
  background: #fff;
  border: 1px solid var(--gold);
  min-width: 16.56em;
  max-width: 100%;
  transition: .2s;
}

a.btn_02:hover {
  color: #fff;
  background: var(--gold);
}


/* !行間設定 -------------------------------------------------------------- */
.pd0 {
  padding: 0;
}

.pd02 {
  padding: 0.2em 0;
}

.pd03 {
  padding: 0.3em 0;
}

.pd04 {
  padding: 0.4em 0;
}

.pd05 {
  padding: 0.5em 0;
}

.pd07 {
  padding: 0.7em 0;
}

.pd08 {
  padding: 0.8em 0;
}

.pd1 {
  padding: 1em 0;
}

.pd15 {
  padding: 1.5em 0;
}

.pd2 {
  padding: 2em 0;
}

.pd25 {
  padding: 2.5em 0;
}

.pd3 {
  padding: 3em 0;
}

.pd35 {
  padding: 3.5em 0;
}

.pd4 {
  padding: 4em 0;
}

.pd45 {
  padding: 4.5em 0;
}

.pd5 {
  padding: 5em 0;
}

.pd6 {
  padding: 6em 0;
}

.pd7 {
  padding: 7em 0;
}

.pd8 {
  padding: 8em 0;
}

.mg05 {
  margin: 0.5em auto;
}

.mg1 {
  margin: 1em auto;
}

.mg15 {
  margin: 1.5em auto;
}

.mg2 {
  margin: 2em auto;
}

.mg25 {
  margin: 2.5em auto;
}

.mg3 {
  margin: 3em auto;
}

.mg4 {
  margin: 4em auto;
}

.mg5 {
  margin: 5em auto;
}

.mt05 {
  margin-top: 0.5em;
}

.mt1 {
  margin-top: 1em;
}

.mt15 {
  margin-top: 1.5em;
}

.mt18 {
  margin-top: 1.8em;
}

.mt2 {
  margin-top: 2em;
}

.mt25 {
  margin-top: 2.5em;
}

.mt3 {
  margin-top: 3em;
}

.mt35 {
  margin-top: 3.5em;
}

.mt4 {
  margin-top: 4em;
}

.mt45 {
  margin-top: 4.5em;
}

.mt5 {
  margin-top: 5em;
}

.mt6 {
  margin-top: 6em;
}

.mt8 {
  margin-top: 8em;
}

.mt9 {
  margin-top: 9em;
}

.mr05 {
  margin-right: 0.5em;
}

.mr1 {
  margin-right: 1em;
}

.mr15 {
  margin-right: 1.5em;
}

.mr2 {
  margin-right: 2em;
}

.mr25 {
  margin-right: 2.5em;
}

.mr3 {
  margin-right: 3em;
}

.mr4 {
  margin-right: 4em;
}

.mr5 {
  margin-right: 5em;
}

.ml05 {
  margin-left: 0.5em;
}

.ml1 {
  margin-left: 1em;
}

.ml15 {
  margin-left: 1.5em;
}

.ml2 {
  margin-left: 2em;
}

.ml25 {
  margin-left: 2.5em;
}

.ml3 {
  margin-left: 3em;
}

.ml4 {
  margin-left: 4em;
}

.ml5 {
  margin-left: 5em;
}

.mb05 {
  margin-bottom: 0.5em;
}

.mb1 {
  margin-bottom: 1em;
}

.mb15 {
  margin-bottom: 1.5em;
}

.mb2 {
  margin-bottom: 2em;
}

.mb25 {
  margin-bottom: 2.5em;
}

.mb3 {
  margin-bottom: 3em;
}

.mb35 {
  margin-bottom: 3.5em;
}

.mb4 {
  margin-bottom: 4em;
}

.mb45 {
  margin-bottom: 4.5em;
}

.mb5 {
  margin-bottom: 5em;
}

.mb6 {
  margin-bottom: 6em;
}

.pt05 {
  padding-top: 0.5em;
}

.pt1 {
  padding-top: 1em;
}

.pt15 {
  padding-top: 1.5em;
}

.pt2 {
  padding-top: 2em;
}

.pt25 {
  padding-top: 2.5em;
}

.pt3 {
  padding-top: 3em;
}

.pt35 {
  padding-top: 3.5em;
}

.pt4 {
  padding-top: 4em;
}

.pt45 {
  padding-top: 4.5em;
}

.pt5 {
  padding-top: 5em;
}

.pt6 {
  padding-top: 6em;
}

.pt7 {
  padding-top: 7em;
}

.pt8 {
  padding-top: 8em;
}

.pt9 {
  padding-top: 9em;
}

.pt10 {
  padding-top: 10em;
}

.pr05 {
  padding-right: 0.5em;
}

.pr1 {
  padding-right: 1em;
}

.pr15 {
  padding-right: 1.5em;
}

.pr2 {
  padding-right: 2em;
}

.pr25 {
  padding-right: 2.5em;
}

.pr3 {
  padding-right: 3em;
}

.pr35 {
  padding-right: 3.5em;
}

.pr4 {
  padding-right: 4em;
}

.pr5 {
  padding-right: 5em;
}

.pl03 {
  padding-left: 0.3em;
}

.pl05 {
  padding-left: 0.5em;
}

.pl1 {
  padding-left: 1em;
}

.pl15 {
  padding-left: 1.5em;
}

.pl2 {
  padding-left: 2em;
}

.pl25 {
  padding-left: 2.5em;
}

.pl3 {
  padding-left: 3em;
}

.pl35 {
  padding-left: 3.5em;
}

.pl4 {
  padding-left: 4em;
}

.pl45 {
  padding-left: 4.5em;
}

.pl5 {
  padding-left: 5em;
}

.pb05 {
  padding-bottom: 0.5em;
}

.pb1 {
  padding-bottom: 1em;
}

.pb15 {
  padding-bottom: 1.5em;
}

.pb2 {
  padding-bottom: 2em;
}

.pb25 {
  padding-bottom: 2.5em;
}

.pb3 {
  padding-bottom: 3em;
}

.pb35 {
  padding-bottom: 3.5em;
}

.pb4 {
  padding-bottom: 4em;
}

.pb45 {
  padding-bottom: 4.5em;
}

.pb5 {
  padding-bottom: 5em;
}

.pb6 {
  padding-bottom: 6em;
}

.pb7 {
  padding-bottom: 7em;
}

.pb8 {
  padding-bottom: 8em;
}

.pb9 {
  padding-bottom: 9em;
}

.pb10 {
  padding-bottom: 10em;
}

.pb-f {
  padding-bottom: 15em;
}

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

  /*.pd08	{ padding: 1.2vw 0; }
.pd1	{ padding: 1.5vw 0; }
.pd15	{ padding: 2.25vw 0; }
.pd2	{ padding: 3vw 0; }
.pd25	{ padding: 3.75vw 0; }
.pd3	{ padding: 4.5vw 0; }
.pd35	{ padding: 5.25vw 0; }
.pd4	{ padding: 6vw 0; }
.pd45	{ padding: 6.75vw 0; }
.pd5	{ padding: 7.5vw 0; }
.pd6	{ padding: 9vw 0; }
.pd7	{ padding: 10.5vw 0; }
.pd8	{ padding: 12vw 0; }
.mg1	{ margin: 1.5vw auto; }
.mg15	{ margin: 2.25vw auto; }
.mg2	{ margin: 3vw auto; }
.mg25	{ margin: 3.75vw auto; }
.mg3	{ margin: 4.5vw auto; }
.mg4	{ margin: 6vw auto; }
.mg5	{ margin: 7.5vw auto; }
.mt05	{ margin-top: 0.75vw;}
.mt1	{ margin-top: 1.5vw;}
.mt15	{ margin-top: 2.25vw;}
.mt2	{ margin-top: 3vw;}
.mt25	{ margin-top: 3.75vw;}
.mt3	{ margin-top: 4.5vw;}
.mt35	{ margin-top: 5.25vw;}
.mt4	{ margin-top: 6vw;}
.mt45	{ margin-top: 6.75vw;}
.mt5	{ margin-top: 7.5vw;}
.mt6	{ margin-top: 9vw;}
.mt8	{ margin-top: 12vw;}
.mt9	{ margin-top: 13.5vw;}
.mr1	{ margin-right: 1.5vw;}
.mr15	{ margin-right: 2.25vw;}
.mr2	{ margin-right: 3vw;}
.mr25	{ margin-right: 3.75vw;}
.mr3	{ margin-right: 4.5vw;}
.mr4	{ margin-right: 6vw;}
.mr5	{ margin-right: 7.5vw;}
.ml1	{ margin-left: 1.5vw;}
.ml15	{ margin-left: 2.25vw;}
.ml2	{ margin-left: 3vw;}
.ml25	{ margin-left: 3.75vw;}
.ml3	{ margin-left: 4.5vw;}
.ml4	{ margin-left: 6vw;}
.ml5	{ margin-left: 7.5vw;}
.mb1	{ margin-bottom: 1.5vw;}
.mb15	{ margin-bottom: 2.25vw;}
.mb2	{ margin-bottom: 3vw;}
.mb25	{ margin-bottom: 3.75vw;}
.mb3	{ margin-bottom: 4.5vw;}
.mb35	{ margin-bottom: 5.25vw;}
.mb4	{ margin-bottom: 6vw;}
.mb45	{ margin-bottom: 6.75vw;}
.mb5	{ margin-bottom: 7.5vw;}
.mb6	{ margin-bottom: 9vw;}
.pt1	{ padding-top: 1.5vw;}
.pt15	{ padding-top: 2.25vw;}
.pt2	{ padding-top: 3vw;}
.pt25	{ padding-top: 3.75vw;}
.pt3	{ padding-top: 4.5vw;}
.pt35	{ padding-top: 5.25vw;}
.pt4	{ padding-top: 6vw;}
.pt45	{ padding-top: 6.75vw;}
.pt5	{ padding-top: 7.5vw;}
.pt6	{ padding-top: 9vw;}
.pt7	{ padding-top: 10.5vw;}
.pt8	{ padding-top: 12vw;}
.pt10	{ padding-top: 15vw;}
.pr1	{ padding-right: 1.5vw;}
.pr15	{ padding-right: 2.25vw;}
.pr2	{ padding-right: 3vw;}
.pr25	{ padding-right: 3.75vw;}
.pr3	{ padding-right: 4.5vw;}
.pr35	{ padding-right: 5.25vw;}
.pr4	{ padding-right: 6vw;}
.pr5	{ padding-right: 7.5vw;}
.pl1	{ padding-left: 1.5vw;}
.pl15	{ padding-left: 2.25vw;}
.pl2	{ padding-left: 3vw;}
.pl25	{ padding-left: 3.75vw;}
.pl3	{ padding-left: 4.5vw;}
.pl35	{ padding-left: 5.25vw;}
.pl4	{ padding-left: 6vw;}
.pl45	{ padding-left: 6.75vw;}
.pl5	{ padding-left: 7.5vw;}
.pb1	{ padding-bottom: 1.5vw;}
.pb15	{ padding-bottom: 2.25vw;}
.pb2	{ padding-bottom: 3vw;}
.pb25	{ padding-bottom: 3.75vw;}
.pb3	{ padding-bottom: 4.5vw;}
.pb3-0	{ padding-bottom: 0;}
.pb35	{ padding-bottom: 5.25vw;}
.pb4	{ padding-bottom: 6vw;}
.pb45	{ padding-bottom: 6.75vw;}
.pb5	{ padding-bottom: 7.5vw;}
.pb6	{ padding-bottom: 9vw;}
.pb7	{ padding-bottom: 10.5vw;}
.pb8	{ padding-bottom: 12vw;}
.pb9	{ padding-bottom: 13.5vw;}
.pb10	{ padding-bottom: 15vw;}
.pb-f	{ padding-bottom: 20vw;}*/
  .tab-mt {
    margin-top: 2vw;
  }

  .tab-mt2 {
    margin-top: 5vw;
  }

  .tab-pt {
    padding-top: 5vw;
  }

  .tab-pd {
    padding: 3vw 0;
  }
}

@media screen and (max-width: 540px) {
  .pd02 {
    padding: 0.1em 0;
  }

  .pd08 {
    padding: 2vw 0;
  }

  .pd1 {
    padding: 2vw 0;
  }

  .pd15 {
    padding: 3vw 0;
  }

  .pd2 {
    padding: 4vw 0;
  }

  .pd25 {
    padding: 5vw 0;
  }

  .pd3 {
    padding: 6vw 0;
  }

  .pd35 {
    padding: 7vw 0;
  }

  .pd4 {
    padding: 8vw 0;
  }

  .pd45 {
    padding: 9vw 0;
  }

  .pd5 {
    padding: 10vw 0;
  }

  .pd6 {
    padding: 12vw 0;
  }

  .pd7 {
    padding: 14vw 0;
  }

  .pd8 {
    padding: 16vw 0;
  }

  .mg1 {
    margin: 2vw auto;
  }

  .mg15 {
    margin: 3vw auto;
  }

  .mg2 {
    margin: 4vw auto;
  }

  .mg25 {
    margin: 5vw auto;
  }

  .mg3 {
    margin: 6vw auto;
  }

  .mg4 {
    margin: 8vw auto;
  }

  .mg5 {
    margin: 10vw auto;
  }

  .mt1 {
    margin-top: 2vw;
  }

  .mt15 {
    margin-top: 3vw;
  }

  .mt2 {
    margin-top: 4vw;
  }

  .mt25 {
    margin-top: 5vw;
  }

  .mt3 {
    margin-top: 6vw;
  }

  .mt35 {
    margin-top: 7vw;
  }

  .mt4 {
    margin-top: 8vw;
  }

  .mt45 {
    margin-top: 9vw;
  }

  .mt5 {
    margin-top: 10vw;
  }

  .mt6 {
    margin-top: 12vw;
  }

  .mt8 {
    margin-top: 16vw;
  }

  .mt9 {
    margin-top: 18vw;
  }

  .mr1 {
    margin-right: 2vw;
  }

  .mr15 {
    margin-right: 3vw;
  }

  .mr2 {
    margin-right: 4vw;
  }

  .mr25 {
    margin-right: 5vw;
  }

  .mr3 {
    margin-right: 6vw;
  }

  .mr4 {
    margin-right: 8vw;
  }

  .mr5 {
    margin-right: 10vw;
  }

  .ml1 {
    margin-left: 2vw;
  }

  .ml15 {
    margin-left: 3vw;
  }

  .ml2 {
    margin-left: 4vw;
  }

  .ml25 {
    margin-left: 5vw;
  }

  .ml3 {
    margin-left: 6vw;
  }

  .ml4 {
    margin-left: 8vw;
  }

  .ml5 {
    margin-left: 10vw;
  }

  .mb1 {
    margin-bottom: 2vw;
  }

  .mb15 {
    margin-bottom: 3vw;
  }

  .mb2 {
    margin-bottom: 4vw;
  }

  .mb25 {
    margin-bottom: 5vw;
  }

  .mb3 {
    margin-bottom: 6vw;
  }

  .mb35 {
    margin-bottom: 7vw;
  }

  .mb4 {
    margin-bottom: 8vw;
  }

  .mb45 {
    margin-bottom: 9vw;
  }

  .mb5 {
    margin-bottom: 10vw;
  }

  .mb6 {
    margin-bottom: 12vw;
  }

  .pt1 {
    padding-top: 2vw;
  }

  .pt15 {
    padding-top: 3vw;
  }

  .pt2 {
    padding-top: 4vw;
  }

  .pt25 {
    padding-top: 5vw;
  }

  .pt3 {
    padding-top: 6vw;
  }

  .pt35 {
    padding-top: 7vw;
  }

  .pt4 {
    padding-top: 8vw;
  }

  .pt45 {
    padding-top: 9vw;
  }

  .pt5 {
    padding-top: 10vw;
  }

  .pt6 {
    padding-top: 12vw;
  }

  .pt7 {
    padding-top: 14vw;
  }

  .pt8 {
    padding-top: 16vw;
  }

  .pt9 {
    padding-top: 18vw;
  }

  .pt10 {
    padding-top: 20vw;
  }

  .pr1 {
    padding-right: 2vw;
  }

  .pr15 {
    padding-right: 3vw;
  }

  .pr2 {
    padding-right: 4vw;
  }

  .pr25 {
    padding-right: 5vw;
  }

  .pr3 {
    padding-right: 6vw;
  }

  .pr35 {
    padding-right: 7vw;
  }

  .pr4 {
    padding-right: 8vw;
  }

  .pr5 {
    padding-right: 10vw;
  }

  .pl1 {
    padding-left: 2vw;
  }

  .pl15 {
    padding-left: 3vw;
  }

  .pl2 {
    padding-left: 4vw;
  }

  .pl25 {
    padding-left: 5vw;
  }

  .pl3 {
    padding-left: 6vw;
  }

  .pl35 {
    padding-left: 7vw;
  }

  .pl4 {
    padding-left: 8vw;
  }

  .pl45 {
    padding-left: 9vw;
  }

  .pl5 {
    padding-left: 10vw;
  }

  .pb1 {
    padding-bottom: 2vw;
  }

  .pb15 {
    padding-bottom: 3vw;
  }

  .pb2 {
    padding-bottom: 4vw;
  }

  .pb25 {
    padding-bottom: 5vw;
  }

  .pb3 {
    padding-bottom: 6vw;
  }

  .pb3-2 {
    padding-bottom: 19vw;
  }

  .pb35 {
    padding-bottom: 7vw;
  }

  .pb4 {
    padding-bottom: 8vw;
  }

  .pb45 {
    padding-bottom: 9vw;
  }

  .pb5 {
    padding-bottom: 10vw;
  }

  .pb6 {
    padding-bottom: 12vw;
  }

  .pb7 {
    padding-bottom: 14vw;
  }

  .pb8 {
    padding-bottom: 16vw;
  }

  .pb9 {
    padding-bottom: 18vw;
  }

  .pb10 {
    padding-bottom: 20vw;
  }

  .pb-f {
    padding-bottom: 25vw;
  }

  .tab-mt {
    margin-top: 3vw;
  }

  .tab-mt2 {
    margin-top: 9vw;
  }

  .tab-pt {
    padding-top: 0;
  }

  .tab-pd {
    padding: 10vw 0;
  }

  .sp-pt {
    padding-top: 8vw;
  }

  .sp-mt0 {
    margin-top: 0;
  }

  .sp-mt {
    margin-top: 3vw;
  }

  .sp-mt2 {
    margin-top: 6vw;
  }

  .sp-mt3 {
    margin-top: 9vw;
  }

  .sp-mt4 {
    margin-top: 12vw;
  }

  .sp-mt5 {
    margin-top: 15vw;
  }

  .sp-pt {
    padding-top: 5vw;
  }

  .sp-pl {
    padding-left: 2vw;
  }

  .sp-pb {
    padding-bottom: 6vw;
  }

  .sp-pb2 {
    padding-bottom: 9vw;
  }
}


/* !flex -------------------------------------------------------------- */
.flex,
.flex_pc,
.flex_all {
  display: flex;
  justify-content: space-between;
}

.iflex {
  display: inline-flex;
}

.aic {
  align-items: center;
}

.ais {
  align-items: start;
}

.aie {
  align-items: flex-end;
}

.flwWrap {
  flex-wrap: wrap;
}

.jcs {
  justify-content: start;
}

.jcc {
  justify-content: center;
}

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

.jc-se {
  justify-content: space-evenly;
}

.fd-rr {
  flex-direction: row-reverse;
}

.fd-column {
  flex-direction: column;
}

.flex-sh0 {
  flex-shrink: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.flex-w100 {
  width: 100%;
}

.flex-w63 {
  width: 63%;
}

.flex-w62 {
  width: 62.4%;
}

.flex-w60 {
  width: 60%;
}

.flex-w49 {
  width: 49%;
}

.flex-w46 {
  width: 46%;
}

.flex-w40 {
  width: 40%;
}

.flex-w37 {
  width: 37%;
}

.flex-w34 {
  width: 34.04%;
}

.flex-col-1 {
  width: 100%;
}

.flex-col-2 {
  width: 49%;
  margin-left: 2%;
}

.flex-col-2:nth-child(2n-1) {
  margin-left: 0;
}

.flex-col-2min {
  width: 47.37%;
}

.flex-col-3 {
  width: 28.1%;
}

.flex-col-3w {
  width: 31.1%;
}

.flex-col-4 {
  width: 23.43%;
  margin-left: 2.09%;
}

.flex-col-4:nth-child(4n-3) {
  margin-left: 0;
}

.flex-col-6 {
  width: 15.8%;
}

@media screen and (max-width: 1024px) {
  .flex_pc {
    display: block;
  }

  .flex_pc [class^="flex-w"],
  .flex_pc [class^="flex-col-"] {
    width: 100%;
  }
}

@media screen and (max-width: 540px) {
  .flex {
    display: block;
  }

  .btn_footer_1,
  .btn_footer_2,
  .btn_footer_3,
  .btn_footer_4 {
    width: 100% !important;
  }

  .flex [class^="flex-w"],
  .flex [class^="flex-col-"] {
    width: 100%;
    margin-left: 0;
  }

  .flex_sp {
    display: flex;
  }

  .flex [class^="pr"] {
    padding-right: 0;
  }

  .flex [class^="pl"] {
    padding-left: 0;
  }

  .sp-w70 {
    width: 70%;
  }
}


/* !mv -------------------------------------------------------------- */
.mv_slide_wrapper {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  height: 30em;
  max-height: 90vh;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 541px) {
  .mv_slide_wrapper {
    overflow: hidden;
  }
}

#mv_slide {
  width: 1920px;
}

@media screen and (max-width: 1905px) {
  #mv_slide {
    margin-left: calc(calc(100% - 119em) /2);
    margin-right: calc(calc(100% - 119em) /2);
  }
}

@media screen and (min-width: 541px) and (max-width: 1440px) {
  #mv_slide {
    width: 120em;
  }
}

#mv_slide .slider-img {
  width: 62.5em;
  max-width: 1032px;
  padding: 0 .5em;
}

#mv_slide img {
  width: 100%;
  object-fit: cover;
}

.mv_slide_txt_wrap {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 16.2em;
  left: calc(calc(calc(100% - 1440px) /2) + 16.2em);
  transform: translateY(-50%);
}

.mv_txt_1 {
  font-size: 2em;
  line-height: 1.4;
  padding: 0;
}

.mv_txt_2 {
  line-height: 2.25;
  padding: 1.1em 0 0;
}

@media screen and (max-width: 1440px) {
  .mv_slide_txt_wrap {
    left: 16.2em;
  }
}

@media screen and (max-width: 1024px) {
  .mv_slide_wrapper {
    font-size: 1.3vw;
  }

  .mv_slide_txt_wrap {
    left: 10em;
  }
}

@media screen and (max-width: 540px) {
  .mv_slide_wrapper {
    height: 113.1vw;
    font-size: 3vw;
  }

  #mv_slide {
    margin-left: 0;
    margin-right: 0;
    width: inherit;
    height: 107.7vw;
  }

  #mv_slide .slider-img {
    padding: 0;
  }

  .mv_slide_txt_wrap {
    left: 5vw;
    top: 55%;
    width: 90%;
  }

  .mv_txt_2 {
    line-height: 2;
  }

  #mv_slide .slick-dots {
    bottom: -6.8vw;
  }

  #mv_slide .slick-dots li {
    width: 10.3vw;
    height: 2px;
    margin: 0 3px;
  }

  #mv_slide .slick-dots li button {
    margin: 0;
    padding: 0;
    width: 10.3vw;
    height: 2px;
    line-height: 1;
  }

  #mv_slide .slick-dots li button:before {
    width: 100%;
    height: 2px;
    content: "";
    background: #e4e4e4;
    opacity: 1;
  }

  #mv_slide .slick-dots li.slick-active button:before {
    opacity: 1;
    background: var(--gold);
  }
}


.news_list a {
  line-height: 1.8;
  padding: 1.1em 0;
  display: flex;
}

.news_list a:hover {
  color: var(--blue);
}

.news_span {
  display: flex;
  white-space: nowrap;
  align-items: start;
  padding-right: 1em;
  line-height: 1.6;
  padding-top: .12em;
}

.news_cat {
  font-size: .875em;
  display: inline-block;
  border: 1px solid;
  border-radius: 1em;
  margin-right: 1.5em;
  padding: 0 1.1em;
  color: var(--blue);
  letter-spacing: 0.06em;
}

.news_list li {
  border-bottom: 1px solid #E7E7E7;
}

.mv_topnews_box .news_list li {
  border-bottom: none;
}

.news_day {
  color: #797979;
}

@media screen and (max-width: 540px) {
  .news_list a {
    font-size: 3.59vw;
    line-height: 2;
    padding: 1em 0 .8em;
    display: block;
  }

  .news_span {
    margin-bottom: .3em;
  }
}


.mv_topnews_box {
  position: absolute;
  right: 0;
  bottom: 0;
  border-top-left-radius: .5em;
  background: #4a4a4a;
}

.mv_topnews_box:hover {
  background: #404040;
}

.mv_topnews_box .news_list a {
  font-size: .875em;
  color: #fff;
  padding: 1em 1.5em;
}

.mv_topnews_box .news_list a:hover {
  color: var(--gold);
}

.mv_topnews_box .news_list a .news_cat {
  color: #fff;
}

.mv_topnews_box .news_list a:hover .news_cat {
  color: var(--gold);
}

.mv_topnews_box .news_day {
  color: inherit;
}

@media screen and (max-width: 1024px) {
  .mv_topnews_box .news_list a {
    font-size: 1em;
  }
}

@media screen and (max-width: 540px) {
  .mv_topnews_box {
    background: #FAFAFA;
    width: 100%;
    border-top-left-radius: 0;
    position: inherit;
    margin-top: 5.4vw;
  }

  .mv_topnews_box .news_list a {
    font-size: 3.59vw;
    color: #333;
    padding: 1em 1em .8em;
  }

  .mv_topnews_box .news_list a:hover {
    color: #333;
  }

  .mv_topnews_box .news_list a .news_cat {
    color: var(--gold);
    border-color: var(--gold);
  }

  .mv_topnews_box:hover {
    background: #FAFAFA;
  }
}


/* !decoration -------------------------------------------------------------- */
.nmr {
  margin-right: -0.5em;
}

.line-gold {
  position: relative;
  padding-bottom: .9em;
}

.line-gold::after {
  position: absolute;
  content: "";
  background: var(--gold);
  display: block;
  width: 56px;
  height: 1px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 1440px) {
  .line-gold::after {
    width: 3.889vw;
  }
}

@media screen and (max-width: 1024px) {
  .line-gold::after {
    width: 5.091vw;
  }
}

@media screen and (max-width: 540px) {
  .line-gold::after {
    width: 11.2vw;
  }
}

.txt-tate {
  writing-mode: vertical-rl;
}

.line-right {
  position: relative;
}

.line-right::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #F0E7D7;
  left: 0;
  top: 50%;
  z-index: -1;
}

.line-right span {
  display: inline-block;
  padding-right: .8em;
  background: #fff;
}


.btn-blue {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: .5em;
  background: var(--blue);
  box-shadow: 0px 2px 8px rgba(0, 0, 0, .2);
  color: #fff !important;
  line-height: 1.5;
  transition: all .2s;
}

.btn-blue:hover {
  background: #67b2be;
}

.btn-blue-iconleft {
  padding: 1em 1.5em;
}

.btn-blue-icon {
  background: #fff;
  border-radius: 50%;
  width: 4.5em;
  height: 4.5em;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-blue-icon img {
  width: 2.5em;
}

.btn-blue-iconleft .btn-blue-icon {
  margin-right: 1.5em;
}

.arrow2 {
  position: relative;
}

.arrow2::after,
.arrow2::before {
  position: absolute;
  content: "";
  display: block;
  right: 1.25em;
  top: 50%;
  transition: .2s;
}

.arrow2::after {
  background: rgba(255, 255, 255, .8);
  width: 1.25em;
  height: 1px;
}

.arrow2::before {
  background: #fff;
  width: .4em;
  height: 1px;
  transform: translateY(-0.15em) rotate(40deg);
}

.arrow2:hover::after,
.arrow2:hover::before {
  right: .8em;
}

@media screen and (max-width: 1024px) {
  .btn-blue-iconleft {
    padding: 1em;
  }

  .btn-blue-iconleft .btn-blue-icon {
    margin-right: 1em;
  }

  .btn-blue .fz16 {
    letter-spacing: 0;
  }
}

@media screen and (max-width: 540px) {
  .btn-blue .fz16 {
    font-size: 2.9vw;
  }
}


/* !contents -------------------------------------------------------------- */
.bg_01 {
  background: url(../img/bg_01.webp) center no-repeat;
  background-size: cover;
}

.bg_02 {
  background: url(../img/bg_02.webp) center no-repeat;
  background-size: cover;
}

.bg_03 {
  background: url(../img/bg_03.webp) center no-repeat;
  background-size: cover;
}

.bg_04 {
  background: url(../img/bg_04.webp) center no-repeat;
  background-size: cover;
}

@media screen and (min-width: 541px) {
  .merit-02 {
    margin-top: 4.2em;
  }
}

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

  .merit-01,
  .merit-02,
  .merit-03 {
    margin-top: 6vw;
  }
}

.txt-message {
  position: relative;
}

.txt-message::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 10em;
  height: 100%;
  background: url(../img/txt-message.webp) no-repeat;
  background-size: auto 100%;
  display: inline-block;
}

@media screen and (max-width: 540px) {
  .txt-message::before {
    content: none;
  }

  .sp-messimg {
    padding: 3% 10% 8% 15%;
  }
}

.map iframe {
  width: 100%;
}

@media screen and (max-width: 1440px) {
  .map iframe {
    height: 22.222vw;
  }
}

@media screen and (max-width: 1024px) {
  .map iframe {
    height: 29.091vw;
  }
}

@media screen and (max-width: 540px) {
  .map iframe {
    height: 50vw;
  }
}


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


/* !footer
---------------------------------------------------------- */
.btn_footer_1,
.btn_footer_2,
.btn_footer_3,
.btn_footer_4 {
  width: 22.5em;
  height: 4.5em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  line-height: 1.25;
  border-radius: 2.3em;
  transition: .2s;
}

.btn_footer_1:hover,
.btn_footer_2:hover {
  color: #fff;
}

.btn_footer_1 {
  background: #B49B72;
  background: linear-gradient(0deg, rgba(180, 155, 114, 1) 0%, rgba(214, 189, 147, 1) 100%);
}

.btn_footer_2 {
  background: #88C4CD;
  background: linear-gradient(0deg, rgba(136, 196, 205, 1) 0%, rgba(156, 219, 229, 1) 100%);
}

.btn_footer_3,
.btn_footer_4 {
  border: 1px solid #fff;
}

.btn_footer_3 {
  padding-bottom: .2em;
  letter-spacing: 0.07em;
}

.btn_footer_1:hover,
.btn_footer_2:hover {
  filter: brightness(85%) contrast(115%);
}

.btn_footer_3:hover,
.btn_footer_4:hover {
  border: 1px solid var(--gold);
  color: var(--gold);
}


#footer {
  padding: 6em 0 3em;
}

.footer_nav a {
  display: block;
}

.footer_nav a:hover {
  color: var(--gold);
}

.footer_nav>ul>li {
  padding: .37em 0;
}

.footer_nav>ul>li>ul {
  margin-top: 1em;
}

.footer_nav>ul>li>ul>li a {
  line-height: 1.85;
  padding: .12em 0;
}

.footer_nav>ul>li>ul>li a::before {
  content: "";
  display: inline-block;
  background: #CDCDCD;
  height: 1px;
  width: .5em;
  margin-right: .5em;
  vertical-align: .3em;
}

.footer-mt {
  margin-top: 1.4em;
}

.footer-dot::before {
  content: "";
  display: inline-block;
  background: #CDCDCD;
  height: .34em;
  width: .34em;
  border-radius: 50%;
  margin-right: .5em;
  margin-left: 1.3em;
  vertical-align: .2em;
}

.copyright {
  text-align: right;
  color: #A3A3A3;
}

@media screen and (max-width: 1024px) {
  #footer {
    padding: 7vw 0 4vw;
    text-align: center;
  }

  #footer .fz12:not(.copyright) {
    font-size: 1.3vw;
  }

  .copyright {
    text-align: center;
  }
}

@media screen and (max-width: 540px) {
  #footer {
    padding: 10vw 0 5vw;
  }

  #footer .fz12:not(.copyright) {
    font-size: 2.8vw;
  }
}


a.anchor {
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}

@media screen and (max-width: 1440px) {
  a.anchor {
    padding-top: 6.944vw;
    margin-top: -6.944vw;
  }
}

@media screen and (max-width: 1024px) {
  a.anchor {
    padding-top: 9vw;
    margin-top: -9vw;
  }
}

@media screen and (max-width: 540px) {
  a.anchor {
    padding-top: 15.9vw;
    margin-top: -15.9vw;
  }
}


/* !Clearfix
---------------------------------------------------------- */
.clearfix::after,
.contactForm dd::after,
.block-course-price dd::after {
  content: '';
  display: block;
  height: 0;
  overflow: hidden;
  clear: both;
}

/* !tel
---------------------------------------------------------- */
@media (min-width: 541px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

/* ───────────────────── contents.css ───────────────────── */

/* !ページタイトル -------------------------------------------------------------- */
.page_title {
  padding: 3em 0 3.9em;
}

.page_imgWrap {
  background: #fafafa;
  position: relative;
  height: 30em;
}

.page_img_txt {
  position: absolute;
  left: 10%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

.page_img_txt>p {
  padding: 0;
}

.page_img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.page_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page_imgWrap2 {
  position: relative;
  height: 27.5em;
}

.page_img_txt2 {
  position: absolute;
  left: 10%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

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

  .page_img_txt,
  .page_img_txt2 {
    left: 5%;
  }
}

@media screen and (max-width: 540px) {
  .page_title {
    padding: 4vw 0 6vw;
  }

  .page_imgWrap,
  .page_img_txt,
  .page_img {
    position: inherit;
    height: inherit;
  }

  .page_img_txt {
    transform: none;
    padding: 0 5% 10vw;
    font-size: 2.9vw;
  }

  .post-type-archive-beauty-infusion .page_img_txt {
    padding: 0 1% 10vw 5%;
  }

  .page_imgWrap2 {
    height: 76.9vw;
  }
}



/* !page header -------------------------------------------------------------- */
.ph-inner {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1;
}

.ph-inner-txt1 {
  /* serif2 */
  font-size: 1.25em;
}

.ph-inner-txt1::before,
.ph-inner-txt1::after {
  content: "";
  background: #000;
  width: 1.15em;
  height: 1px;
  display: inline-block;
  transform: rotate(60deg);
  vertical-align: .3em;
}

.ph-inner-txt1::after {
  transform: rotate(-60deg);
}

.ph-inner-txt2 {
  font-size: 1.75em;
  background: var(--blue);
  width: 2.57em;
  height: 2.57em;
  padding: 0.15em 0 0;
  color: #fff;
  line-height: 1.1;
  margin-right: .3em;
}

.ph-inner-txt3 {
  font-size: 3.5em;
}

.ph-inner-txt4 {
  font-size: 5.5em;
}

.ph-inner-txt5 {
  font-size: 4em;
}

.ph-inner-txt6 {
  font-size: 1.25em;
}

.ph-inner-txt7 {
  font-size: 1.75em;
}

.ph-inner-txt8 {
  font-size: 1.4em;
}

.ph-inner-txt9 {
  width: 3.5em;
  height: 3.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gold);
  border-radius: 50%;
  margin-right: .7em;
}

.ph-inner-txt9 span {
  color: #fff;
  font-size: 1.25em;
}

.ph-inner-txt10 {
  font-size: 1.6em;
}

.p-relative {
  position: relative;
  width: 100%;
}

.p-ab-txt1 {
  /*月々*/
  position: absolute;
  right: 0;
  top: -.9em;
  background: url(../img/icon_fukidashi.svg) no-repeat;
  background-size: 100%;
  width: 3.5em;
  height: 3.5em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-ab-txt1 span {
  color: #fff;
  font-size: 1.25em;
}

.p-ab-txt2 {
  position: absolute;
  right: -1em;
  bottom: -1.4em;
  color: var(--gray);
  font-size: .875em;
  letter-spacing: 0;
}

.p-ab-txt3 {
  position: absolute;
  right: -2em;
  bottom: -1.4em;
  font-size: 1.4em;
  letter-spacing: 0;
}

@media screen and (max-width: 540px) {
  .post-type-archive-mesona-j .ph-inner-txt7 {
    font-size: 4.5vw;
    line-height: 1.5;
  }
}


/* !パンくずリスト -------------------------------------------------------------- */
.breadcrumb {
  color: var(--gold);
  margin: 3em auto 1em;
  padding-bottom: 0.2em;
  max-width: 960px;
  overflow-x: auto;
}

.breadcrumb ul {
  display: flex;
  margin-bottom: .4em;
}

.breadcrumb li {
  display: inline;
  flex-shrink: 0;
}

.breadcrumb li::after {
  content: "";
  margin-left: 0.8em;
  margin-right: 0.8em;
  background: var(--gold);
  display: inline-block;
  width: .33em;
  height: .55em;
  clip-path: polygon(18% 0, 100% 50%, 18% 100%, 0 90%, 66% 50%, 0 10%);
}

.breadcrumb li:last-child::after {
  content: none;
}

.breadcrumb li a {
  color: #000;
}

.breadcrumb li a:hover {
  color: var(--gold);
}

.breadcrumb li:last-child {
  border-bottom: 1px solid;
}

.breadcrumb li a br {
  display: none;
}

@media screen and (max-width: 540px) {
  .breadcrumb {
    margin: 1em auto 0.8em;
  }
}


/* !contents -------------------------------------------------------------- */


/* post */
.btn_anchor {
  margin-bottom: 1em;
}

.btn_anchor a {
  width: 23.87%;
  margin-bottom: 1.5%;
  margin-right: 1.5%;
}

.btn_anchor a:nth-child(4n) {
  margin-right: 0;
}

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

  .btn_anchor-col-6 a,
  .btn_anchor-col-11 a,
  .btn_anchor-col-12 a {
    width: 15.83%;
    margin-bottom: 1%;
    margin-right: 1%;
  }

  .btn_anchor-col-6 a:nth-child(4n),
  .btn_anchor-col-11 a:nth-child(4n),
  .btn_anchor-col-12 a:nth-child(4n) {
    margin-right: 1%;
  }

  .btn_anchor-col-6 a:nth-child(6n),
  .btn_anchor-col-11 a:nth-child(6n),
  .btn_anchor-col-12 a:nth-child(6n) {
    margin-right: 0;
  }
}

.btn_anchor-col-5 a,
.btn_anchor-col-9 a,
.btn_anchor-col-10 a {
  width: 19.2%;
  margin-bottom: 1%;
  margin-right: 1%;
}

.btn_anchor-col-5 a:nth-child(4n),
.btn_anchor-col-9 a:nth-child(4n),
.btn_anchor-col-10 a:nth-child(4n) {
  margin-right: 1%;
}

.btn_anchor-col-5 a:nth-child(5n),
.btn_anchor-col-9 a:nth-child(5n),
.btn_anchor-col-10 a:nth-child(5n) {
  margin-right: 0;
}

.btn_anchor-col-4 a:nth-child(4n),
.btn_anchor-col-8 a:nth-child(4n) {
  margin-right: 0;
}

.btn_anchor a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--blue);
  color: #fff;
  line-height: 1.15;
  font-size: 0.875em;
  border-radius: 0.5em;
  padding: 1.1em 0 1.7em;
  padding: .5em 0 1.2em;
  min-height: 4em;
  letter-spacing: 0;
  position: relative;
  transition: .2s;
  text-align: center
}

.btn_anchor a::after {
  position: absolute;
  content: "";
  background: #fff;
  display: inline-block;
  width: .55em;
  height: .33em;
  clip-path: polygon(18% 0, 100% 50%, 18% 100%, 0 90%, 66% 50%, 0 10%);
  clip-path: polygon(100% 18%, 50% 100%, 0 18%, 12% 0, 50% 66%, 88% 0);
  bottom: 0.5em;
  left: 50%;
  transform: translateX(-50%);
  transition: .2s;
}

.btn_anchor a:hover {
  background: #67b2be;
}

.btn_anchor a:hover::after {
  bottom: 0.25em;
}

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

  .btn_anchor-col-5 a:nth-child(5n),
  .btn_anchor-col-9 a:nth-child(5n),
  .btn_anchor-col-10 a:nth-child(5n) {
    margin-right: 2%;
  }

  .btn_anchor a {
    width: 49%;
    margin-bottom: 2%;
    margin-right: 2%;
    min-height: 4em;
  }

  .btn_anchor a:nth-child(2n) {
    margin-right: 0;
  }
}

.detail>section {
  margin-bottom: 3em;
  margin-top: 2.5em;
}

.detail>section.mt0 {
  margin-top: 0;
}

@media screen and (max-width: 540px) {
  .detail>section {
    margin-bottom: 8vw;
    margin-top: 5vw;
  }
}

.detail h2,
.detail_news h1 {
  position: relative;
  padding-bottom: .7em;
  margin-top: 2.5em;
  margin-bottom: 1.2em;
}

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

  .detail h2,
  .detail_news h1 {
    margin-top: 1.8em;
    margin-bottom: 1em;
  }
}

.detail h2::before,
.detail h2::after,
.detail_news h1::before,
.detail_news h1::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background: #F5F5F5;
}

.detail h2::after,
.detail_news h1::after {
  width: 5.6%;
  background: var(--gold);
}

.detail h3,
.detail_news h2 {
  background: #F9F9F9;
  border-left: 0.15em solid var(--gold);
  padding: .6em 0 .6em .8em;
  margin-top: 2em;
  margin-bottom: 1em;
}

@media (max-width: 540px) {

  .detail h3,
  .detail_news h2 {
    margin-bottom: 1.2em;
  }
}

.detail h3+p {
  margin-top: .5em;
}

.detail h3.bg_f5 {
  background: #f5f5f5;
}

.detail h4::before,
.detail_news h3::before {
  content: "";
  display: inline-block;
  background: #B49B72;
  border: 5px solid #F3E5CC;
  border-radius: 50%;
  margin-right: .5em;
  width: 1em;
  height: 1em;
  vertical-align: -0.4em;
}


.detail h4.nodot::before {
  content: none;
}

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

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

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

  .detail h2::after,
  .detail_news h1::after {
    width: 14%;
  }
}


/* page */

.point {
  position: relative;
  width: 15em;
  height: 15em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 2;
}

.point span {
  color: #fff;
  line-height: 1.46;
}

.point::before,
.point::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--blue);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: -1;
}

.point::after {
  width: 92%;
  height: 92%;
  border: 1px solid #fff;
}

.point+.point {
  margin-left: 2.5em;
}

.point.point_header {
  width: 9em;
  height: 9em;
  letter-spacing: 0;
}

.point.point_header+.point.point_header {
  margin-left: 1em;
}

@media screen and (max-width: 1024px) {
  .point {
    width: 19vw;
    height: 19vw;
  }

  .point+.point {
    margin-left: 2vw;
  }
}

@media screen and (max-width: 540px) {
  .point {
    width: 36vw;
    height: 36vw;
    margin-bottom: 3vw;
  }

  .point+.point {
    margin-left: 3vw;
  }

  .point:nth-child(2n-1) {
    margin-left: 0;
  }

  .point.point_header {
    width: 9.6em;
    height: 9.6em;
  }

  .point.point_header+.point.point_header {
    margin-left: .6em;
  }
}

.flex-online-item {
  width: 23.43%;
  padding: 1.3em 0 1.5em;
  margin-left: 2.09%;
}

.flex-online-item:first-child {
  margin-left: 0;
}

.flex-online-item img {
  width: 6.25em;
  margin-bottom: 1em;
}

.flex-online-item p {
  padding: 0.1em 0;
  line-height: 1.44;
}

@media screen and (max-width: 1024px) {
  .flex-online-item {
    width: 33%;
    margin-left: 3%;
    margin-bottom: 3%;
  }

  .flex-online-item:nth-child(2n-1) {
    margin-left: 0;
  }
}

@media screen and (max-width: 540px) {
  .flex-online-item {
    width: 64%;
    margin-left: 0;
    margin-bottom: 5%;
  }
}

.flex-online2>* {
  padding: 1.3em 1em 1.3em 1.3em;
}

a.btn_03 {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
  color: #fff;
  height: 4.5em;
  border-radius: 2.3em;
  background: var(--gold);
  background: linear-gradient(0deg, rgba(180, 155, 114, 1) 0%, rgba(214, 189, 147, 1) 100%);
  width: 23.75em;
  max-width: 100%;
  transition: .2s;
  margin: 0 auto;
}

a.btn_03 span {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

a.btn_03 span span.bg_white {
  margin-top: .3em;
  border-radius: 1em;
  padding: 0 .8em;
}

a.btn_03:hover {
  filter: brightness(90%) contrast(110%);
}


.page_img_onlinebtn {
  position: absolute;
  left: 8.5%;
  bottom: 16%;
  transform: scale(85%);
}

.page_img_onlinebtn a.btn_03 {
  width: 19.5em;
}

@media screen and (max-width: 1024px) {
  .page_img_onlinebtn {
    left: 3.5%;
  }
}

@media screen and (max-width: 540px) {
  .page_img_onlinebtn {
    left: 50%;
    transform: translateX(-50%);
    bottom: 6%;
  }
}


.detail h3.title-num {
  background: none;
  border-left: none;
  padding: 1.1em 0 0 1.1em;
}

.detail h3.title-num span {
  font-size: 1.66em;
  color: var(--gold);
  position: relative;
  top: -.8em;
  left: -.7em;
}

.detail h3.title-num span::after {
  width: 1.6em;
  height: 1px;
  content: "";
  display: inline-block;
  background: var(--gold);
  position: absolute;
  right: -1.1em;
  bottom: .15em;
  transform: rotate(-44deg);
}

@media screen and (max-width: 540px) {
  .detail h3.title-num {
    padding: 0.7em 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .detail h3.title-num span {
    top: -0.1em;
    left: 0;
  }

  .detail h3.title-num span::after {
    width: 1.1em;
    bottom: .65em;
    right: -1.1em;
  }
}


.item-list figure {
  border: 1px solid #F5F5F5;
  text-align: center;
  margin-bottom: .8em;
}

.item-list figure img {
  height: 13.625em;
}

.item-list2 .flex-col-4 {
  width: 23.43%;
  margin-left: 2%;
}

.item-list2 .flex-col-4 {}

.item-list2 figure {
  margin-bottom: .8em;
}

.item-list2 figure img {
  height: 18.625em;
}

.item-list2 figure.border {
  border: 1px solid #F5F5F5;
  text-align: center;
}

.item-list2 figure.border img {
  height: 18.5em;
}

@media screen and (max-width: 540px) {
  .item-list .flex-col-4 {
    width: 74%;
    margin-left: 13%;
  }

  .item-list .flex-col-4:nth-child(4n-3) {
    margin-left: 13%;
  }

  .item-list2 .flex-col-2 {
    width: 100%;
    margin-left: 0;
  }

  .item-list2 .flex-col-4 {
    width: 74%;
    margin-left: 13%;
  }
}

/* ───────────────────── post.css ───────────────────── */

/* !post -------------------------------------------------------------- */
.detail {
  line-height: 1.75;
}

.detail p,
.detail ul {}

.detail h1 {}

.detail_news h1+.wp-block-image {
  margin: 2em auto 1.5em;
}

.detail_news .wp-block-image {
  margin: 1.5em auto;
  text-align: center;
}

.detail h1+.wp-block-image {
  margin: 2em auto 1.5em;
}

.detail h1+.wp-block-gallery,
.detail p+.wp-block-gallery,
.detail .wp-block-gallery+p,
.detail h2+.wp-block-image,
.detail h2+.flex-online,
.detail h2+.block-step,
.detail h2+h3,
.detail h2+figure,
.detail p+h2,
.detail .wp-block-image+h2,
.detail .wp-block-image+h3,
.detail h2+ol,
.detail h2+ul,
.detail .wp-block-image+.block-alert,
.detail_news h1+.wp-block-gallery,
.detail_news p+.wp-block-gallery,
.detail_news .wp-block-gallery+p,
.detail_news h2+.wp-block-image,
.detail_news h2+div,
.detail_news h2+h3,
.detail_news h2+figure,
.detail_news p+h2,
.detail_news .wp-block-image+h2,
.detail_news .wp-block-image+h3,
.detail_news h2+ol,
.detail_news h2+ul {
  margin-top: 2em;
}

@media (max-width: 540px) {

  .detail h1+.wp-block-gallery,
  .detail p+.wp-block-gallery,
  .detail .wp-block-gallery+p,
  .detail h2+.wp-block-image,
  .detail h2+.flex-online,
  .detail h2+.block-step,
  .detail h2+h3,
  .detail h2+figure,
  .detail p+h2,
  .detail .wp-block-image+h2,
  .detail .wp-block-image+h3,
  .detail h2+ol,
  .detail h2+ul,
  .detail .wp-block-image+.block-alert,
  .detail_news h1+.wp-block-gallery,
  .detail_news p+.wp-block-gallery,
  .detail_news .wp-block-gallery+p,
  .detail_news h2+.wp-block-image,
  .detail_news h2+div,
  .detail_news h2+h3,
  .detail_news h2+figure,
  .detail_news p+h2,
  .detail_news .wp-block-image+h2,
  .detail_news .wp-block-image+h3,
  .detail_news h2+ol,
  .detail_news h2+ul {
    margin-top: 1.8em;
  }

}

.detail h1+p,
.detail h2+p,
.detail p+.flex-img-5col {
  margin-top: 1em;
}

.detail h3+.block-imgleft,
.detail h4+.block-imgleft,
.detail h3+.block-imgright,
.detail h4+.block-imgright,
.detail p+h4 {
  margin-top: 1.5em;
}

.detail p+h4 {
  margin-top: 1.5em;
}

.detail p+h3,
.detail .block-imgleft+h4 {
  margin-top: 2em;
}

.detail h3+p {
  margin-top: .5em;
}

.detail .block-dermapen+h3,
.detail .block-list+h3,
.detail .down-time+h3,
.detail .block-imgright+h3,
.detail .block-imgleft+h3,
.detail .block-alert+h3,
.detail .price+h3,
.detail .price2+h3,
.detail .flex-online+h3,
.detail .flex-online2+h3,
.detail .wp-block-table+h2 {
  margin-top: 3em;
}

.detail .block-list+h4 {
  margin-top: 2.5em;
}

.detail h2 {}

.detail_news h2,
.detail_news h3 {
  margin-top: 2em;
}

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

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

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

  .detail .block-imgright+h3,
  .detail .block-imgleft+h3,
  .detail .flex-online+h3 {
    margin-top: 2em;
  }
}

.detail_news ul {
  list-style: disc;
  padding: 1em 0 1em 2em;
}

.detail ol {
  list-style: decimal;
}

.detail_news ol {
  list-style: decimal;
  padding: 1em 0 1em 2em;
}


/* 詳細ブロック */
.wp-block-details {
  border-radius: .5em;
  box-shadow: 0px 0.125em 0.5em rgba(0, 0, 0, .2);
  margin: 1.5em auto;
}

.wp-block-details summary {
  font-size: 1.125em;
  padding: .5em 3em .8em 1.56em;
}

.wp-block-details summary::marker {
  content: "Q. ";
  font-size: 1.25em;
  color: var(--gold);
}

.wp-block-details p {
  font-size: .875em;
  line-height: 1.43;
  padding: 0 4em 1.5em 2em;
}

details p {
  visibility: hidden;
  opacity: 0;
}

details[open] p {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

details {
  position: relative;
}

details::after {
  position: absolute;
  right: .8em;
  top: .4em;
  content: "＋";
  font-size: 1.5em;
  color: var(--gold);
  pointer-events: none;
}

details[open]::after {
  content: "－";
}

@media screen and (max-width: 540px) {
  .wp-block-details summary {}

  details::after {
    right: .5em;
  }

  .wp-block-details p {
    padding: 0 2em 1.5em 2em;
  }
}


/* 注意事項 */
.block-alert {
  border: 1px solid #E7E7E7;
  border-radius: .5em;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 1.6em 1em .7em;
  color: #000;
  margin-top: 1.5em;
}

p+.block-alert {
  margin-top: 1em;
}

.block-alert h4 {
  font-size: 1.125em;
  margin-top: 0;
}

.block-alert h4::before {
  content: "";
  display: inline-block;
  width: 1.111em;
  height: 1em;
  background: url(../img/icon-alert.png) no-repeat;
  background-size: 100%;
  vertical-align: -0.15em;
  margin-right: .5em;
  border-radius: 0;
  border: none;
}

.block-alert ul {
  list-style: none;
  font-size: 0.875em;
}

.block-alert p {
  font-size: 0.875em;
}

.block-alert ul li {
  padding: .1em 0;
  text-indent: -1em;
}

.block-alert ul li::before {
  content: "・";
}

.block-alert-2col {
  display: inline-flex;
  flex-wrap: wrap;
  width: 80%;
}

.block-alert-2col li {
  width: 33%;
}

@media screen and (max-width: 1024px) {
  .block-alert-2col {
    width: 100%;
  }
}

@media screen and (max-width: 540px) {
  .block-alert-2col {
    width: 100%;
  }

  .block-alert-2col li {
    width: 100%;
  }
}


.block-alert2 {
  border-radius: .5em;
  background: #fff;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 1.3em 1em .4em;
  color: #000;
  margin-top: 1.5em;
}

p+.block-alert2 {
  margin-top: 1em;
}

.block-alert2 h4 {
  font-size: .875em;
  margin-top: 0;
  color: var(--gold);
}

.block-alert2 h4::before {
  content: "";
  display: inline-block;
  width: 1.214em;
  height: 1em;
  background: url(../img/icon-alert2.png) no-repeat;
  background-size: 100%;
  vertical-align: -0.15em;
  margin-right: .5em;
  border-radius: 0;
  border: none;
}

.block-alert2 ul {
  list-style: none;
  font-size: 0.875em;
  color: #797979;
}

.block-alert2 ul li {
  line-height: 1.4;
  padding: .1em 0;
}

.block-alert2 ul li::before {
  content: "・";
}


/* チェックリストボックス */
.block-list {
  border-radius: .5em;
  background: #f9f9f9;
  padding: .5em 0 .5em 4.5em;
  margin-top: 1.5em;
}

.block-list ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.125em;
}

.block-list ul li {
  width: 50%;
  padding: .4em 0;
  text-indent: -1.72em;
  color: #000;
}

.block-list ul li::before {
  content: "";
  display: inline-block;
  width: 1.222em;
  height: 1.222em;
  background: url(../img/icon-check.png) no-repeat;
  background-size: 100%;
  vertical-align: -0.2em;
  margin-right: .5em;
}

@media screen and (max-width: 1024px) {
  .block-list ul li {
    width: 100%;
  }
}

@media screen and (max-width: 540px) {
  .block-list {
    padding: .5em 1em .5em 2.3em;
  }
}


/* ダウンタイム */
.down-time {
  border-radius: .5em;
  background: #f9f9f9;
  padding: 1.3em 1.5em .5em;
  color: #000;
  margin-top: 1.5em;
}

p+.down-time {
  margin-top: 1em;
}

.price+.down-time {
  margin-top: 3em;
}

.down-time h4 {
  font-size: 1.25em;
  margin-top: 0;
}

.down-time h4::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/icon-time.png) no-repeat;
  background-size: 100%;
  vertical-align: -0.2em;
  margin-right: .5em;
  border-radius: 0;
  border: none;
}

.down-time p {
  font-size: 0.875em;
}

@media screen and (min-width: 1025px) {
  .block-imgleft {
    display: flex;
    align-items: center;
  }

  .block-imgleft-img {
    width: 32%;
  }

  .block-imgleft-txt {
    width: 68%;
    padding-left: 3%;
  }

  .block-imgright {
    display: flex;
    align-items: center;
  }

  .block-imgright-img {
    width: 34.1%;
    order: 2;
  }

  .block-imgright-txt {
    width: 65.9%;
    padding-right: 3%;
    order: 1;
  }

  .block-imgleft p,
  .block-imgright p {
    padding: .5em 0;
  }
}

@media screen and (min-width: 1025px) {
  .block-2col {
    display: flex;
    justify-content: space-between;
  }

  .block-2col-inner {
    width: 47.9%;
  }
}

.block-2col {
  margin-top: 1.5em;
}

.block-2col-inner {
  padding: 1.4em 1.6em 1.1em;
  line-height: 1.5;
}

.block-2col-inner h4 {
  margin-top: 0;
  margin-bottom: .5em;
}

.block-2col-inner p {
  padding: .5em 0;
  letter-spacing: 0;
}

@media screen and (max-width: 540px) {
  .block-2col-inner {
    padding: 1.4em 1.3em 1.1em;
  }

  .block-2col-inner+.block-2col-inner {
    margin-top: 5vw;
  }

  .block-2col-inner p br {
    display: none;
  }
}


/* ダーマペン */
.block-dermapen {
  border-radius: .5em;
  background: #f9f9f9;
  padding: 1.4em 1.5em .5em;
  color: #000;
  margin-top: 2.2em;
}

.block-dermapen h4 {
  font-size: 1.25em;
  margin-top: 0;
}

.block-dermapen h4::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/icon-dermapen.png) no-repeat;
  background-size: 100%;
  vertical-align: -0.2em;
  margin-right: .5em;
  border-radius: 0;
  border: none;
}

.block-dermapen ul {
  list-style: none;
  font-size: 0.875em;
}

.block-dermapen p {
  font-size: 0.875em;
}

.block-dermapen ul li {
  text-indent: -1em;
}

.block-dermapen ul li::before {
  content: "・";
}

@media screen and (max-width: 540px) {
  .block-dermapen {
    padding: 1.5em 1.3em .5em;
  }

  .block-dermapen ul li {
    padding: .3em 0;
  }
}

/* 料金表 */
.price,
.price2 {
  width: 73.6%;
  margin-top: 1.6em;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #dadada;
  letter-spacing: 0;
}

p+.price,
p+.price2 {
  margin-top: 0.6em;
}

.price dl,
.price2 dl {
  display: flex;
  flex-wrap: wrap;
}

.price dt,
.price2 dt {
  width: 31.4%;
  background: var(--blue);
  color: #fff;
  font-weight: 600;
  font-size: 1.25em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1.3;
  text-align: center;
  padding: .5em 0;
}

.price2 dt {
  width: 50%;
}

.price dd+dt,
.price2 dd+dt {
  border-top: 2px solid #fff;
}

.price dd {
  width: 68.6%;
}

.price2 dd {
  width: 50%;
}

.priceTable {
  width: 100%;
  height: 100%;
}

.priceTable-2col td {
  width: 50%;
}

.priceTable-3col td {
  width: 33.33%;
}

.priceTable td {
  border: 1px solid #EAEAEA;
  line-height: 1.33;
  padding: .8em 1.56em;
  vertical-align: middle;
  color: #000;
}

.priceTable td.mh4 {
  height: 5.8em;
}

.priceTable span.small {
  color: #666;
  font-size: .875em;
  display: block;
  margin-top: .4em;
}

.price dd:nth-of-type(2n) td {
  background: #FBFEFF;
}

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

  .price,
  .price2 {
    width: 90%;
  }
}

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

  .price,
  .price2 {
    width: 100%;
    border: none;
  }

  .price dt,
  .price2 dt {
    width: 100%;
    padding: .3em 0;
    min-height: inherit;
  }

  .price dd,
  .price2 dd {
    width: 100%;
  }

  .price dd+dt,
  .price2 dd+dt {
    border-top: none;
    margin-top: 5vw;
  }

  .priceTable td {
    padding: .8em .5em .8em .8em;
  }

  .priceTable td.mh4 {
    height: auto;
  }
}

.detail ul.ul_point {
  list-style: none;
  display: inline-flex;
  flex-wrap: wrap;
  width: 50%;
  margin-left: 2em;
}

.detail ul.ul_point li {
  width: 50%;
}

.detail ul.ul_point li::before {
  content: "▲";
  transform: rotate(90deg);
  display: inline-block;
  font-size: 75%;
  margin-right: .5em;
}

@media screen and (max-width: 1024px) {
  .detail ul.ul_point {
    width: 70%;
  }
}

@media screen and (max-width: 540px) {
  .detail ul.ul_point {
    margin-left: .5em;
  }

  .detail ul.ul_point li {
    width: 100%;
  }
}

.flex-img-5col {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.flex-img-5col>* {
  width: 19.74%;
  margin-right: 0.325%;
}

.flex-img-5col>*:nth-child(5n) {
  margin-right: 0;
}

@media screen and (max-width: 540px) {
  .flex-img-5col>* {
    width: 32%;
    margin-right: 2%;
    margin-bottom: 2%;
  }

  .flex-img-5col>*:nth-child(5n) {
    margin-right: 2%;
  }

  .flex-img-5col>*:nth-child(3n) {
    margin-right: 0;
  }
}

.block-step {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.block-step-inner {
  width: 18%;
  margin-left: 2.5%;
  border: 1px solid #F0F0F0;
  border-radius: .5em;
  text-align: center;
  padding: 1.2em 0 1em;
  line-height: 1.44;
}

.block-step-inner img {
  width: 7em;
}

.block-step-inner:first-child {
  margin-left: 0;
}

.block-step-inner p {
  padding: 0;
}

.block-step-inner p.block-step-step {
  font-size: .875em;
  background: var(--gold);
  color: #fff;
  border-radius: 1em;
  display: inline-block;
  padding: 0.15em 1.2em;
  margin-top: 1.2em;
  margin-bottom: .7em;
}

@media screen and (max-width: 1024px) {
  .block-step-inner {
    width: 19%;
    margin-left: 1.25%;
  }
}

@media screen and (max-width: 540px) {
  .block-step-inner {
    width: 48.5%;
    margin-left: 3%;
    margin-bottom: 3%;
  }

  .block-step-inner:nth-child(2n-1) {
    margin-left: 0;
  }
}

.block-item {
  min-width: 71.7%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  background: #FAFAFA;
  padding: 1em;
  margin-top: 3em;
}

.block-item-inner {
  background: #fff;
  width: 23.33%;
  margin-left: 2.7%;
  padding: 1.5em 1em 1.2em;
  text-align: center;
  line-height: 1.44;
}

.block-item-inner:first-child {
  margin-left: 0;
}

.block-item-inner p {
  padding: 0;
}

.block-item-inner p.block-item-name {
  font-size: .875em;
  background: #888;
  color: #fff;
  border-radius: 1em;
  display: inline-block;
  max-width: 100%;
  padding: 0.15em 1.2em;
  min-width: 11em;
  margin-top: 1.5em;
  margin-bottom: .7em;
}

.block-item-inner img {
  max-height: 21.58em;
}

@media screen and (max-width: 1024px) {
  .block-item-inner {
    width: 30%;
    margin-left: 2.7%;
  }

  .block-item-inner img {
    max-height: 14em;
  }
}

@media screen and (max-width: 540px) {
  .block-item {
    padding: 1em 1em 0.1em;
  }

  .block-item-inner {
    width: 48.5%;
    margin-left: 3%;
    margin-bottom: 3%;
  }

  .block-item-inner:nth-child(2n-1) {
    margin-left: 0;
  }

  .block-item-inner img {
    max-height: 14em;
  }
}

.wp-block-image {
  text-align: center;
  margin-top: 2.5em;
}

.block-course-inner {
  display: flex;
}

@media screen and (min-width: 541px) {
  .block-course {
    display: flex;
    flex-wrap: wrap;
  }

  .block-course>section {
    width: 48.6%;
    margin-left: 2.8%;
  }
}

.block-course>section {
  margin-bottom: .8em;
}

.block-course>section:nth-child(2n-1) {
  margin-left: 0;
}

.block-course>section figure {
  width: 36.1%;
}

.block-course>section figure img {
  width: 12.5em;
}

.block-course-price {
  padding-left: .75em;
  width: 63.9%;
  letter-spacing: 0;
}

.block-course-price dt {
  width: 28.3%;
  text-align: center;
  border-radius: 0.3em;
  float: left;
  line-height: 1.6;
}

.block-course-price dt.blue {
  border: 1px solid var(--blue);
}

.block-course-price dt.red {
  border: 1px solid var(--red);
}

.block-course-price dd {
  width: 100%;
  padding-left: 31.5%;
  line-height: 1.4;
  padding-bottom: .5em;
}

.block-course-inner {
  margin-top: 1.5em;
}

.block-course h3 .gold {
  font-weight: 600;
  font-size: 1.2em;
  margin-right: .2em;
}

@media screen and (max-width: 1024px) {
  .block-course-inner {
    display: block;
  }

  .block-course>section {
    margin-bottom: 2.5em;
  }

  .block-course>section figure {
    width: 100%;
    text-align: center;
  }

  .block-course-price {
    width: 100%;
    padding-left: 2em;
    margin-top: 1.5em;
  }
}

@media screen and (max-width: 540px) {
  .block-course {
    margin-top: 7vw;
  }
}

.block-depilation {
  display: flex;
  margin-top: 2em;
}

.block-depilation>figure {
  order: 2;
  width: 42.7%;
}

.block-depilation>figure img {
  width: 30.375em;
}

.block-depilation>div {
  order: 1;
  width: 57.3%;
}

.block-depilation-point {
  display: flex;
  margin-top: 1.5em;
}

.bg_img_01 {
  width: 12em;
  height: 4.75em;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: url(../img/bg_img_01.webp) no-repeat;
  background-size: 100%;
  margin-left: .6em;
}

.bg_img_01:first-child {
  margin-left: 0;
}

.bg_img_01>span {
  font-size: 1.2em;
  line-height: 1.2em;
  letter-spacing: 0;
  padding-bottom: .1em;
}

.bg_img_01>span .fz22 {
  font-size: 1.3em;
}

@media screen and (max-width: 1024px) {
  .block-depilation {
    display: block;
  }

  .block-depilation>figure {
    width: 100%;
    text-align: center;
  }

  .block-depilation>div {
    width: 70%;
    margin: 1em auto;
  }
}

@media screen and (max-width: 540px) {
  .block-depilation {
    display: block;
  }

  .block-depilation>figure {
    width: 100%;
    text-align: center;
  }

  .block-depilation>div {
    width: 100%;
    margin: 1em auto 0;
  }

  .block-depilation-point {
    flex-wrap: wrap;
    justify-content: center;
  }

  .bg_img_01 {
    margin-bottom: .6em;
  }

  .bg_img_01:nth-child(2n-1) {
    margin-left: 0;
  }
}


.block-price {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: .5em;
}

.modal-open {
  width: 49%;
  background: var(--blue);
  box-shadow: 0px .125em .375em rgba(0, 0, 0, .1);
  color: #fff;
  display: flex;
  flex-direction: column;
  position: relative;
  border-radius: .5em;
  line-height: 1.7;
  padding: 1.3em 2em;
  cursor: pointer;
  margin-top: 2%;
  transition: .2s;
}

.modal-open::after {
  position: absolute;
  content: "＋";
  right: 1em;
  top: 50%;
  font-size: 1.6em;
  font-weight: bold;
  transform: translateY(-50%);
}

.modal-open:hover {
  background: #67b2be;
}

@media screen and (max-width: 540px) {
  .modal-open {
    width: 100%;
    padding: 1em 1.5em;
    margin-top: 3.5vw;
  }
}

.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 50%);
  padding: 0;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  box-sizing: textbox;
  z-index: 100;
  overflow-y: scroll;
  scrollbar-width: none;
  overscroll-behavior: none;
}

.modal-container::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}

.modal-container.active {
  opacity: 1;
  visibility: visible;
}

.modal-body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 1267px;
  width: 90%;
}

.modal-close {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: .15em;
  right: .22em;
  width: 1em;
  height: 1em;
  font-size: 3em;
  color: #797979;
  cursor: pointer;
}

.modal-content {
  background: #eee;
  background: #fff;
  text-align: left;
  padding: 4.2% 5% 2%;
}

.modal-content-comment {
  color: #797979;
  line-height: 1.7;
}

@media screen and (max-width: 1024px) {
  .modal-close {
    position: fixed;
    top: .15em;
    right: .6em;
    background: #fff;
  }

  .modal-body {
    width: 96%;
  }

  .modal-content {
    padding: 6% 3% 2%;
  }
}

@media screen and (max-width: 540px) {
  .modal-close {
    top: 0;
    right: .2em;
  }

  .modal-content {
    padding: 11% 3% 2%;
  }
}


/* 料金表 脱毛 */
.price3 {
  border: 1px solid #dadada;
  border-top: none;
  letter-spacing: 0;
}

.price3 dl {
  display: flex;
  flex-wrap: wrap;
}

.price3 dt {
  width: 23%;
  background: var(--blue);
  color: #fff;
  font-weight: 600;
  font-size: 1.25em;
  display: flex;
  align-items: center;
  flex-direction: column;
  line-height: 1.6;
  text-align: center;
  padding: 2em 0;
}

.price3 dt span {
  font-weight: 400;
}

.price3 dd {
  width: 77%;
}

.priceTable-3col td {
  width: inherit;
}

.price3 .priceTable tr:nth-of-type(4n) td,
.price3 .priceTable tr:nth-of-type(4n-1) td {
  background: #FBFEFF;
}

.price3 .priceTable td {
  border: 1px solid #dadada;
}

.price3 .priceTable tr:nth-of-type(2n+1) td {
  border-top: 2px solid #dadada;
}

.price3 .priceTable tr:nth-of-type(2n+1) td:first-child {
  font-size: 1.125em;
}

@media screen and (max-width: 1024px) {
  .price3 dt .fz18 {
    font-size: 1.5vw;
  }
}

@media screen and (max-width: 540px) {
  .price3 {}

  .price3 dt {
    width: 100%;
    padding: .5em 0 .4em;
    line-height: 1.4;
  }

  .price3 dd {
    width: 100%;
  }

  .priceTable-3col td {
    text-indent: .5em;
    padding: .8em .3em;
  }

  .price3 .priceTable tr:nth-of-type(2n+1) td:first-child {
    font-size: 1em;
  }

  .price3 dt .fz18 {
    font-size: 3.6vw;
  }
}

.wp-block-image figcaption {
  font-size: .9em;
}

/* 追加 */
.wp-contents {
  max-width: 960px;
  line-height: 1.6;
}

.wp-contents .post-date {
  text-align: right;
  margin-top: 0;
  font-size: 0.9em;
}

.wp-contents * {
  box-sizing: border-box;
}

.wp-contents .thumbnail {
  margin-bottom: 1.2em;
}

.wp-contents h1 {
  font-size: 30px;
  margin-bottom: 0.2em;
}

@media screen and (max-width: 1440px) {
  .wp-contents h1 {
    font-size: 2.2vw;
  }
}

@media screen and (max-width: 1024px) {
  .wp-contents h1 {
    font-size: 2.8vw;
  }
}

.wp-contents h4 {
  margin-top: 2.5em;
  margin-bottom: 1.5em;
}

@media (max-width: 540px) {
  .wp-contents h4 {
    margin-bottom: 1.2em;
  }
}

.wp-contents h3+h4 {
  margin-top: 0;
}

.wp-contents p {
  padding: 0;
  margin-bottom: 1.8em;
}

.wp-contents p:has(+p) {
  margin-bottom: .8em;
}

.wp-contents a {
  color: #1A0DAB;
  transition: .4s;
  text-decoration: underline;
}

.wp-contents a:hover {
  opacity: .6;
}

.img-100 {
  width: 100%;
  margin-bottom: 1.5em;
}

.img-100 a {
  display: block;
  width: 100%;
  height: fit-content;
}

.img-100 img {
  width: 100%;
  height: auto;
}

.wp-contents img {
  width: 100%;
}

.wp-contents ul.mokuji {
  width: 100%;
}

.wp-contents textarea {
  display: block;
  width: 100%;
  height: 200px;
  margin-bottom: 1.5em;
  border: 1px solid #000;
}

.subttl {
  position: relative;
  padding-left: 0.8em;
  font-size: 1.15em;
  text-align-last: left;
  font-weight: bold;
  margin: 2rem 0 1rem;
}

.subttl::before {
  content: '';
  display: block;
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 0.6em;
  aspect-ratio: 1 / 1;
  border-radius: 100px;
  background-color: var(--gold);
}


.subttl,
.blue {
  /* color: var(--color-main);
  font-weight: bold; */
}

.red {
  color: #FE6060;
  font-weight: bold;
}

.caution {
  font-size: 0.75em;
}

.wp-contents p:has(+p .caution),
.wp-contents *:has(+.caution) {
  margin-bottom: 10px;
}

.b {
  font-weight: bold;
}

.marker-blue {
  background: linear-gradient(transparent 70%, #c3ecf2 70%);
  font-weight: bold;
}

.marker-red {
  background: linear-gradient(transparent 70%, #ffd6cf 70%);
  font-weight: bold;
}

/* table */

.table {
  width: 100%;
  margin-bottom: 1.5em;
  table-layout: fixed;
  text-align: center;
  word-break: break-all;
}

.table td>* {
  margin-bottom: 0.75em;
}

.wp-contents .table td>:first-child {
  margin-top: 0;
}

.wp-contents .table td>:last-child {
  margin-bottom: 0;
}

.table thead th {
  font-weight: bold;
  background: var(--blue);
  text-align: center;
  color: #fff;
}

.table thead th+th {
  border-left: 1px solid #fff;
}

.table tbody {
  border: 1px solid #dadada;
}

.table th,
.table td {
  padding: 1em;
  vertical-align: middle;
  text-align: center;
}

.table th:has(ul) li,
.table th:has(ol) li,
.table td:has(ul) li,
.table td:has(ol) li {
  text-align-last: left;
}

.table tbody th {
  background: #FBFEFF;
  border-right: 1px solid #dadada;
}

.table tbody th+th {
  border-left: 1px solid #dadada;
}

.table tbody tr th,
.table tbody tr td {
  border-top: 1px solid #dadada;
}

.table tbody tr:first-of-type>th,
.table tbody tr:first-of-type>td {
  border-top: none;
}

.table tbody td+td {
  border-left: 1px solid #dadada;
}

.table tbody small {
  display: block;
  font-size: 0.75em;
}

.simple-box,
.gray-box {
  margin-bottom: 1.5em;
  padding: 1.4em;
  border: 1px solid #E7E7E7;
}

.wp-contents .simple-box>:first-child,
.wp-contents .gray-box>:first-child {
  margin-top: 0;
}

.wp-contents .simple-box>:last-child,
.wp-contents .gray-box>:last-child {
  margin-bottom: 0;
}

.gray-box {
  background: #F9F9F9;
  border: none;
}

.wp-contents .box-ttl {
  font-weight: bold;
  position: relative;
  font-size: 1.15em;
  margin-bottom: .8rem;
}

.box-ttl:has(.num) {
  padding-left: 2.2em;
}

.box-ttl .num {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75em;
  max-width: 36px;
  font-size: 1em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--gold);
  color: #fff;
}


.wp-contents ul:not([class]) {
  margin-bottom: 1.5em;
}

.wp-contents ul:not([class]) li {
  position: relative;
  padding-left: 1.4em;
  list-style-type: none;
}

.wp-contents ul:not([class]) li::before {
  position: absolute;
  left: 0.4em;
  top: 0.7em;
  content: "";
  display: block;
  width: 0.4em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #333;
}

.wp-contents ol:not([class]) {
  margin-bottom: 1.5em;
  list-style-type: decimal;
  padding-left: 1.4em;
}

.wp-contents ol:not([class]) li {
  position: relative;
}

.wp-contents ul:not([class]) li+li,
.wp-contents ol:not([class]) li+li {
  margin-top: 0.4em;
}


.wp-contents .checkList_ttl {
  margin-bottom: 1rem;
  color: var(--gold);
  font-size: 1.15em;
}

.checkList-box {
  padding: 1.4em;
  margin-bottom: 1.5em;
  background: #f9f9f9;
}

.checkList-box ul {}

.checkList-box li {
  position: relative;
  padding-left: 1.8em;
}

.checkList-box li:has(+li) {
  margin-bottom: 0.4em;
}

.checkList-box li::before {
  content: "";
  position: absolute;
  top: .9em;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 1.3em;
  aspect-ratio: 1 / 1;
  background: url('../img/icon-check.png') no-repeat center center;
  background-size: contain;
}

.flex-box {
  display: flex;
  gap: 1em;
  align-items: flex-start;
  margin-bottom: 1.5em;
}

.flex-box img {
  width: 40%;
}

.flex-box .flex-text>:first-child,
.float-box .flex-text>:first-child {
  margin-top: 0;
}

.flex-box .flex-text>:last-child,
.float-box .flex-text>:last-child {
  margin-bottom: 0;
}

.float-box {
  margin-bottom: 1.5em;
}

.float-box img {
  width: 40%;
  margin: 0 1em 1em 0;
  float: left;
}

.left-img {
  float: left;
  margin-right: 1rem;
  max-width: 48%;
}

.float-clear {
  display: block;
  height: fit-content;
  margin-bottom: 1.5em;
}

.float-clear .left-img {
  margin-bottom: 1rem;
}

.arrow-b {
  clip-path: polygon(20% 7%, 27% 0, 77% 50%, 27% 100%, 20% 93%, 63% 50%, 20% 7%);
  width: 3em;
  margin: 1.8em auto;
  aspect-ratio: 1;
  background-color: var(--gold);
  transform: rotate(90deg);
}

.arrow-b-min {
  clip-path: polygon(20% 7%, 27% 0, 77% 50%, 27% 100%, 20% 93%, 63% 50%, 20% 7%);
  width: 1.7em;
  margin: 1em auto;
  aspect-ratio: 1;
  background-color: var(--gold);
  transform: rotate(90deg);
}

.quote {
  position: relative;
  padding: 4.6em 1.4em 1.4em;
  margin-bottom: 1.5em;
  background: #F9F9F9;
  box-shadow: 0px .125em .375em rgba(0, 0, 0, .1);
}

.quote:before {
  display: inline-block;
  position: absolute;
  top: 10px;
  left: 15px;
  content: '“';
  color: var(--gold);
  font-size: max(8vw, 80px);
  line-height: 1;
  font-weight: 900;
}

.quote>:first-child {
  margin-top: 0;
}

.quote>:last-child {
  margin-bottom: 0;
}

.quote-img {
  width: 75%;
  margin: 0 auto 1em;
}

.quote-img img {
  display: block;
  width: 100%;
  height: auto;
}

.fukidashi {
  text-align: center;
  color: #fff;
  background: var(--blue);
  font-weight: bold;
  font-size: 1.15em;
  padding: 0.6em;
  position: relative;
  margin-top: 1.8em;
  margin-bottom: 1.5em;
}

.fukidashi::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid var(--blue);
}

.summary {
  margin-bottom: 1.5em;
  padding: 1.4em;
  border: 1px solid #E7E7E7;
  background: #fbfeff;
  box-shadow: 0px .125em .375em rgba(0, 0, 0, .1);
}

.wp-contents .summary>:first-child,
.wp-contents .research>:first-child {
  margin-top: 0;
}

.wp-contents .summary>:last-child,
.wp-contents .research>:last-child {
  margin-bottom: 0;
}

.summary-ttl {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: center;
  font-weight: bold;
  font-size: 1.15em;
  margin-bottom: 0.6em;
}

.summary-ttl::before {
  content: '';
  display: block;
  flex: 1;
  width: 100%;
  height: 1px;
  background: var(--gold);
}

.summary-ttl::after {
  content: '';
  display: block;
  flex: 1;
  width: 100%;
  height: 1px;
  background: var(--gold);
}

.research {
  margin-bottom: 1.5em;
  padding: 1.4em;
  border: 1px solid #E7E7E7;
  background: #f9f9f9;
}

.research-ttl {
  text-align: center;
  font-weight: bold;
  margin-bottom: 0.6em;
}

.mininote {
  margin-bottom: 1.5em;
  padding: 1.4em;
  border: 1px solid #E7E7E7;
  background: #f9f9f9;
  font-size: 0.875em;
}

.mininote>:first-child {
  margin-top: 0;
}

.mininote>:last-child {
  margin-bottom: 0;
}


.mininote-ttl {
  margin-bottom: 4px;
  font-weight: bold;
}

.right-link {
  left: 20px;
  text-align: right;
  font-size: 0.875em;
}

.right-link__icon {
  text-align: right;
  margin-bottom: 1.8em;
  margin-left: auto;
  display: table;
  font-size: 0.875em;
}

.wp-contents *:has(+.right-link__icon),
.wp-contents *:has(+.right-link) {
  margin-bottom: 0.6em;
}

.right-link__icon:has(+.right-link__icon),
.right-link:has(+.right-link),
.right-link__icon:has(+.right-link),
.right-link:has(+.right-link__icon) {
  margin-bottom: 1em;
}

.right-link__icon a {
  position: relative;
  text-decoration: underline;
  padding-left: 1.4em;
}

.right-link__icon a::before {
  position: absolute;
  top: 0.4rem;
  left: 0;
  content: '';
  display: block;
  width: 1em;
  aspect-ratio: 1 / 1;
  background: url(../img/link-icon.png) center center / contain no-repeat;
}

.btn {
  position: relative;
  align-items: center;
  z-index: 0;
  width: 60%;
  margin: 0 auto 30px;
  overflow: hidden;
  border-radius: 0.9em;
  font-size: 1.15em;
  text-align: center;
  box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
  -webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
}

.btn .arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 25px;
  width: 21px;
  height: 2px;
  transition: .3s;
}

.btn .arrow::before {
  position: absolute;
  right: 0;
  top: 0;
  content: '';
  display: block;
  background: #fff;
  width: 10px;
  height: 1px;
  transform: translateY(-0.15em) rotate(40deg);
}

.btn .arrow::after {
  position: absolute;
  top: 50%;
  left: 0;
  content: '';
  display: block;
  background: #fff;
  width: 20px;
  height: 1px;
}

.btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 4em;
  padding: 12px;
  color: #fff;
  background: #FE6060;
  text-decoration: none;
  line-height: 1.5;
  transition: all ease .3s;
  font-weight: bold;

}

.btn a:hover {
  background: #fcadad;
  opacity: 1;
}

.btn a:hover~.arrow {
  transform: translateX(10px);
}


.tag {
  margin-bottom: 1.5em;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-content: center;
}

.tag.center {
  justify-content: center;
}

.tag .item {
  background-color: #F4F6F8;
  margin-top: 0;
  border-radius: 4px;
  color: #8b9195;
  font-size: 0.875em;
  letter-spacing: 0;
  line-height: 1;
  display: inline-block;
  padding: 0.8em 1em;
}

.tag .item.on {
  background-color: #c2a981;
  color: #fff;
}

.table .btn {
  width: 100%;
  margin-bottom: 0;
  font-size: 1em;
}

.table .btn a {
  min-height: 4.6em;
}

img.table__ico {
  width: 32px;
  display: block;
  margin-top: 10px;
  margin-right: auto;
  margin-left: auto;
}

.table-scroll {
  width: 100%;
  margin-bottom: 1.5em;
  overflow-x: scroll;
}

.table-scroll th {
  min-width: 100px;
}

.table-scroll .table {
  min-width: 110%;
  overflow-x: auto;
  table-layout: fixed;
}

.table.sticky-top thead {
  position: sticky;
  top: 100px;
  left: 0;
  z-index: 10;
}

@media (max-width: 1023px) {
  .table.sticky-top thead {
    top: 72px;
  }
}

.table.sticky-top thead th {
  position: relative;
}

.table.sticky-top thead th:not(:first-child)::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  background: #fff;
}


.table.sticky-left {
  will-change: transform;
}

.table.sticky-left thead th:first-of-type,
.table.sticky-left tbody th {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 3;
}

.table.sticky-left thead th:first-of-type::before,
.table.sticky-left tbody th::before,
.table.sticky-left thead th:first-of-type::after,
.table.sticky-left tbody th::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
}

.table.sticky-left thead th:first-of-type::before {
  background: #dadada;
  position: absolute;
  top: 0;
  left: 0;
}

.table.sticky-left tbody th::before {
  background: #dadada;
  position: absolute;
  top: 0;
  left: 0;
}

.table.sticky-left thead th:first-of-type::after {
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
}

.table.sticky-left tbody th::after {
  background: #dadada;
  position: absolute;
  top: 0;
  right: 0;
}

.jumpMenu {
  display: grid;
  gap: 0.8em;
  grid-template-columns: 1fr 1fr 1fr;
  margin-bottom: 1.5em;
}

.jumpMenu .item {
  position: relative;
  border: 1px solid var(--color-text);
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  text-align: center;
  line-height: 1.4;
  font-size: 0.875em;
}

.jumpMenu .item a {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 4em;
  background: var(--blue);
  color: #fff;
  padding: 1.4em 1.4em 1.8em;
  border-radius: 0.5em;
  transition: .2s;
}

.jumpMenu .item a:hover {
  background: #67b2be;
  opacity: 1;
}

.jumpMenu .item a::after {
  position: absolute;
  content: "";
  background: #fff;
  display: inline-block;
  width: .55em;
  height: .33em;
  clip-path: polygon(18% 0, 100% 50%, 18% 100%, 0 90%, 66% 50%, 0 10%);
  clip-path: polygon(100% 18%, 50% 100%, 0 18%, 12% 0, 50% 66%, 88% 0);
  bottom: 0.8em;
  left: 50%;
  transform: translateX(-50%);
  transition: .2s;
}

.jumpMenu .item a:hover::after {
  bottom: 0.5em;
}

.jumpMenu .arrow {
  display: none;
}

.list_01 {
  margin-bottom: 1.5em;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.list_01-item {
  border: 1px solid var(--gold);
  border-radius: 4px;
  background-color: #F9F9F9;
  padding: 0.4em 0.4em 0.4em 0.8em;
  display: table;
  width: 100%;
}

.list_01-item p {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 0;
}

.list_01-item p::before {
  content: '';
  position: absolute;
  top: 0.6em;
  left: 0;
  display: block;
  width: 0.8em;
  aspect-ratio: 1 / 1;
  margin-right: 8px;
  border-radius: 100px;
  background-color: var(--blue);
}

.list_02 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 1.5em;
}

.list_02 li:nth-of-type(odd) {
  border-image: linear-gradient(to top, #e3c0bb 0%, var(--blue) 100%);
  border-image-slice: 1;
}

@media (min-width: 768px) {
  .list_02 li {
    border-left-width: 0.5rem;
  }
}

.list_02 li {
  display: flex;
  align-items: center;
  padding: 0.5rem 0 0.75rem 1rem;
  border-left: 4px solid #e3c0bb;
  border-image: linear-gradient(to top, var(--blue) 0%, #e3c0bb 100%);
  border-image-slice: 1;
}

.info-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1.5em;
  word-break: break-all;
  border: 1px solid #dadada;
}

.info-list dt {
  width: 30%;
  padding: 1em 1.2em;
  border-bottom: 1px solid #eee;
  color: #fff;
  font-weight: 700;
  background: var(--blue);
}

.info-list dd {
  width: 70%;
  padding: 1em 1.2em;
  border-bottom: 1px solid #eee;
}

.info-list dt:last-of-type {
  border-bottom: none;
}

.info-list dd:last-of-type {
  border-bottom: none;
}

.info-list dt>:first-child,
.info-list dd>:first-child {
  margin-top: 0;
}

.info-list dt>:last-child,
.info-list dd>:last-child {
  margin-bottom: 0;
}

.name-area {
  font-size: 1.2em;
  margin: 1.5em 0 10px;
  padding: 0.6em 1em;
  background: -webkit-repeating-linear-gradient(-45deg, #f4feff, #f4feff 3px, #e9f4ff 3px, #e9f4ff 7px);
  background: repeating-linear-gradient(-45deg, #f4feff, #f4feff 3px, #e9f4ff 3px, #e9f4ff 7px);
}

.wp-contents .name-text {
  font-size: 0.7em;
  margin-bottom: 0;
}

.name-area a {
  display: block;
  width: fit-content;
}

.name-area a:hover {
  opacity: 0.6;
}

.wp-contents .name-area .name {
  margin-bottom: 0;
}

.wp-contents .name-area>:last-child {
  margin-bottom: 0;
}

.step-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 1.5em;
  counter-reset: number 0;
}

.step {}

.wp-contents .step-ttl {
  position: relative;
  padding-top: 2.4em;
  padding-left: 3em;
  font-size: 1.15em;
  margin-bottom: 1rem;
}

.step-ttl::before {
  content: counter(number, decimal-leading-zero);
  counter-increment: number 1;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.66em;
  color: var(--gold);
}

.step-ttl::after {
  width: 3em;
  height: 1px;
  content: "";
  display: inline-block;
  background: var(--gold);
  position: absolute;
  left: 1em;
  top: 2.6em;
  transform: rotate(-44deg);
}

.step-block>:first-child {
  margin-top: 0;
}

.step-block>:last-child {
  margin-bottom: 0;
}

.numbering-area {
  counter-reset: number 0;
  margin-bottom: 1.5em;
}

.numbering-area li {
  list-style-type: none;
}

.numbering-area li+li {
  margin-top: 20px;
}

.wp-contents .numbering-ttl {
  position: relative;
  font-size: 1.15em;
  padding-left: 2.2em;
  margin-bottom: .8rem;
}

.numbering-num {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75em;
  max-width: 36px;
  font-size: 1em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
}

.numbering-num::before {
  content: counter(number);
  counter-increment: number 1;
}

.numbering-block>:first-child {
  margin-top: 0;
}

.numbering-block>:last-child {
  margin-bottom: 0;
}

.search-container input {
  border: 1px solid #000;
}

.search-container table {
  word-break: break-all;
  line-height: 1.2;
}

.search-container table a {
  display: block;
}

.relatedpost {
  margin: 1.8em 0 1.5em;
}

.relatedpost-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1em;
  margin-bottom: 1.5em;
}

.wp-contents .relatedpost-ttl {
  text-align: center;
  color: #fff;
  background: var(--gold);
  font-weight: bold;
  font-size: 1.15em;
  padding: 0.6em;
  line-height: 1.7;
  position: relative;
  margin-bottom: 1rem;
}

.relatedpost-post>a {
  width: 100%;
  height: 100%;
  color: #1A0DAB;
  transition: .4s;
}

.relatedpost-post>a:hover {
  opacity: .6;
}

.wp-contents .relatedpost-post-ttl {
  margin-bottom: 0;
  font-size: 0.9em;
}

.faq-wrap {
  margin: 10px 0 24px;
}

.faq {
  margin-bottom: 1.5em;
  border-radius: .5em;
  box-shadow: 0px 0.125em 0.5em rgba(0, 0, 0, .2);
}

.faqQ {
  position: relative;
  font-size: 1.125em;
  padding: .5em 3em .8em 3.2em;
  cursor: pointer;
}

.faqA {
  display: none;
  font-size: .875em;
  padding: 0 2em 1.5em 2em;
}

.faqQ-icon {
  position: absolute;
  top: .2em;
  left: 1.4em;
  font-size: 1.15em;
  color: var(--gold);
}

.faq-btn {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(-50%, -50%);
  display: block;
  width: 1em;
  aspect-ratio: 1 / 1;
}

.faq-btn::before {
  position: absolute;
  left: 0;
  top: 50%;
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: var(--gold);
}

.faq-btn::after {
  position: absolute;
  top: 0;
  left: 50%;
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  background: var(--gold);
}

.faqQ.action .faq-btn::after {
  display: none;
}

.faqA-icon {
  display: none;
}

.tab-section {
  margin-bottom: 1.5em;
}

.tab-list {
  display: flex;
  gap: 4px;
}

.tab-nav {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
  gap: 5px;
  border-bottom: 2px solid var(--gold);
  padding: 0 20px;
  margin: 24px 0 10px;
}

.tab.active {
  color: var(--gold);
  background-color: #F9F9F9;
  position: relative;
}

.tab {
  border-radius: 5px 5px 0 0;
  flex: auto;
  text-align: center;
  border: 2px solid var(--gold);
  border-bottom: none;
  background-color: #fff;
  cursor: pointer;
  width: 100%;
  padding: 4px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.4;
  font-size: 0.875em;
}

.tab-wrap {
  display: none;
  border: 2px solid var(--gold);
  border-top: none;
  padding: 12px 10px 14px;

}

.tab-wrap>:first-child {
  margin-top: 0;
}

.tab-wrap>:last-child {
  margin-bottom: 0;
}

.tab-wrap.show {
  display: block;
}



.merideme {
  margin-bottom: 1.5em;
}

.merideme:has(+.merideme) {
  margin-bottom: 10px;
}

.merideme[data-type="merit"] {
  border: 2px solid #ffb5b5;
}

.merideme[data-type="merit"] .merideme-ttl {
  background: #ffb5b5;
  border-bottom: 2px solid #ffb5b5;
}

.merideme[data-type="demerit"] {
  border: 2px solid #bfbbbe;
}

.merideme[data-type="demerit"] .merideme-ttl {
  background: #F9F9F9;
  border-bottom: 2px solid #bfbbbe;
}

.merideme-ttl {
  padding: 1em 1.4em;
  font-weight: bold;
  line-height: 1.1;
  font-size: 1.15em;
}

.merideme-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  position: relative;
  padding: 1em 1.7em;
  margin: 0;
}

.merideme-list li {
  padding-left: 1em;
  position: relative;
}

.merideme-list li:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 0.6em;
  aspect-ratio: 1 / 1;
  border-radius: 100px;
}

.merideme[data-type="merit"]>.merideme-list li:before {
  background-color: #ffb5b5;
}

.merideme[data-type="demerit"]>.merideme-list li:before {
  background-color: #45303e;
}

.map {
  margin-bottom: 1.5em;
}

.map-ttl {
  text-align: center;
  color: #fff;
  background: var(--gold);
  font-weight: bold;
  font-size: 1.15em;
  padding: 0.6em;
  line-height: 1.7;
  position: relative;
  margin-bottom: 20px;
}

.map-ttl::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid var(--gold);
}


.addressAcco {
  margin-bottom: 1.5em;
}

.addressAcco-ttl {
  font-size: 1.15em;
  font-weight: bold;
  padding: .6em 3em .6em 1em;
  border-bottom: 1px solid var(--gold);
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.addressAcco-ttl:first-of-type {
  border-top: 1px solid var(--gold);
}

.addressAcco-ttl.action {
  background: #F9F9F9;
}

.addressAcco-cont {
  display: flex;
  align-items: flex-start;
  padding: 1em;
  gap: 1em;
  border-bottom: 1px solid var(--gold);
}

.addressAcco-btn {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(-50%, -50%);
  display: block;
  width: 1em;
  aspect-ratio: 1 / 1;
}

.addressAcco-btn::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: var(--gold);
}

.addressAcco-btn::after {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  content: '';
  display: block;
  width: 2px;
  height: 100%;
  background: var(--gold);
  display: block;
}

.addressAcco-ttl.action .addressAcco-btn::after {
  display: none;
}

.addressAcco-info {
  display: none;
}

.addressAcco-info.action {
  display: block;
}

.addressAcco-cont-ttl {
  font-size: 1em;
  font-weight: bold;
  max-width: 80px;
  min-width: 6em;
  text-align: left;
  line-height: 1.2;
  position: relative;
  top: 4px;
}

.scroll-wrap {
  overflow-x: scroll;
  display: flex;
  gap: 10px;
  width: 100%;
  margin-bottom: 1.5em;
}

.comment {
  width: 80%;
  padding: 20px;
  flex-shrink: 0;
  background: #F9F9F9;
}

.comment-top {
  margin-bottom: 1em;
}

.comment-profile {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 1em;
}

.comment-icon-w,
.comment-icon-m {
  display: block;
  width: 3em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}

.comment-icon-w {
  background: #dedede url(../img/review-icon-woman.svg) center center / contain no-repeat;
}

.comment-icon-m {
  background: #dedede url(../img/review-icon-man.svg) center center / contain no-repeat;
}

.comment-name {
  font-weight: bold;
}

.comment-plan {}

.comment-plan span {
  display: inline-block;
  padding: .4em .8em;
  background: var(--gold);
  color: #fff;
  font-size: 0.875em;
  font-weight: bold;
  border-radius: .7em;
  margin-right: .8em;
}

.comment-plan li+li {
  margin-top: 6px;
}

.comment-bottom {
  display: flex;
  align-items: start;
  gap: 10px;
}

.comment-bottom img {
  width: 40%;
}

.positioning {
  margin-bottom: 1.5em;
}

.positioning-top {
  margin-bottom: 10px;
}

.positioning-subttl {
  text-align: center;
  font-weight: bold;
}

.positioning-ttl {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.15em;
  font-weight: bold;
}

.positioning-ttl::before {
  display: block;
  content: '';
  height: 3px;
  background: var(--color-main);
  flex-grow: 1;
}

.positioning-ttl::after {
  display: block;
  content: '';
  height: 3px;
  background: var(--color-main);
  flex-grow: 1;
}

.positioning-notes {
  font-size: 0.75em;
  text-align: right;
}


.positioning-inner {
  background: repeating-linear-gradient(90deg, #F4F5F0, #F4F5F0 1px, transparent 1px, transparent 32px), repeating-linear-gradient(0deg, #F4F5F0, #F4F5F0 1px, #fff 1px, #fff 32px);
  background-size: 32px 32px;
  background-position: 50% 50%;
  width: 70%;
  margin: 0 auto;
  aspect-ratio: 3 / 4;
  position: relative;
}

.positioning-inner::before {
  content: "";
  display: inline-block;
  background: #ffb5b5;
  border-radius: 50%;
  width: 38%;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 4%;
  right: 5%;
}

.positioning-bg {
  display: inline-block;
  width: 70%;
  height: 100%;
  position: absolute;
  top: 1%;
  left: 49%;
  transform: translateX(-50%);
  background: url(../img/posiMap-bg.png) center center / contain no-repeat;
}

.positioning-subLabel {
  font-size: 0.875em;
  font-weight: bold;
  line-height: 1;
  top: 4%;
  left: 49%;
  transform: translateX(-50%);
}

.positioning-label,
.positioning-subLabel {
  position: absolute;
  z-index: 2;
}

.positioning-label-01,
.positioning-label-02 {
  font-size: 1em;
  font-weight: bold;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 3em;
  aspect-ratio: 1 / 1;
}

.positioning-label-03,
.positioning-label-04 {
  font-size: 1em;
  padding: 8px;
  font-weight: bold;
  line-height: 1.17;
  color: #fff;
  text-align: center;
  display: inline-block;
}

.positioning-label-01 {
  background: var(--blue);
  top: 7.5%;
  left: 49%;
  transform: translateX(-50%);
}

.positioning-label-02 {
  background: #707F89;
  top: 89%;
  left: 49%;
  transform: translateX(-50%);
}

.positioning-label-03 {
  background: var(--blue);
  top: 50.8%;
  transform: translateY(-50%);
  right: 16px;
}

.positioning-label-04 {
  background: #707F89;
  top: 51%;
  transform: translateY(-50%);
  left: 20px;
}

.positioning-item {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #707F89;
  border-radius: 4px;
  box-shadow: 0 4px #707F89;
  padding: 8px 12px;
  position: absolute;
  z-index: 1;
}

.positioning-item-logo {
  width: auto;
  height: 2em;
  border: none;
}

.positioning-item-02 {
  border-color: #a71616;
  box-shadow: 0 4px #A71616;
  z-index: 1;
}

.rank-i {
  margin-bottom: 1.5em;
}

.rank a {
  font-size: 1.15em;
  font-weight: bold;
}

.rank-inner {
  font-size: 1.15em;
}

.rank-catch {
  display: block;
  font-size: 0.875em;
}

.rank-icon-block {
  position: relative;
  padding-top: .8em;
  padding-left: 4em;
  margin-bottom: 10px;
  border-top: 3px dotted var(--blue);
}

.rank-icon {
  position: absolute;
  left: 0;
  top: 62%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
  background: url(../img/rank-04.svg) center center / contain no-repeat;
  width: 3em;
  aspect-ratio: 1 / 1;
}

.rank-icon-block .rank-icon_01 {
  background: url(../img/rank-01.svg) center center / contain no-repeat;
}

.rank-icon-block .rank-icon_02 {
  background: url(../img/rank-02.svg) center center / contain no-repeat;
}

.rank-icon-block .rank-icon_03 {
  background: url(../img/rank-03.svg) center center / contain no-repeat;
}

.forSP {
  display: none;
}

.scrollBoxImg {
  width: 100%;
  background: #F0F0F0;
  padding: 2em 5em;
  box-sizing: textbox;
  overflow-x: auto;
  white-space: nowrap;
  margin-bottom: 1.5em;
}

.scrollBoxImg-wrap {
  width: fit-content;
  display: flex;
  justify-content: center;
  padding-bottom: 10px;
}

.scrollBoxImg-list {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
}

.scrollBoxImg-ttl {
  display: flex;
  align-items: flex-start;
  max-width: 100%;
  min-height: 4em;
  font-size: 1.15em;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: break-word;
  text-align: left;
  color: var(--color-main);
  font-weight: bold;
  margin-bottom: 10px;
}

.scrollBoxImg-ttl .num {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2em;
  margin-right: 0.6em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  color: #fff;
  background: var(--gold);
}

.scrollBoxImg-list li {
  flex: 1 0 calc(50% - 4vw);
  max-width: calc(50% - 4vw);
  margin: 0 2vw;
  text-align: center;
  position: relative;
}

.scrollBoxImg-list li:last-child::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  height: 1px;
  width: 5em;
  background-color: transparent;
}

.scrollBoxImg-list img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 8px;
}

.scrollBoxImg-list .caption {
  display: block;
  max-width: 100%;
  font-size: 0.9em;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: break-word;
  text-align: left;
}

.scroll-x {
  width: 100%;
  overflow-x: scroll;
}

.scroll-x>* {
  min-width: 110%;
}

/* スライドトグルパーツ */
.toggleSection-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 16px;
  margin-bottom: 1.5em;
}

.toggleSection {
  margin-bottom: 1.5em;
}

.toggleSection-wrap .toggleSection {
  margin-bottom: 0;
}

.toggleSection .sub-ttl {
  text-align: center;
  margin-bottom: 6px;
  color: var(--blue);
  font-weight: bold;
  font-size: 1em;
}

.toggleSection .content {
  padding: 1em;
  border-radius: 10px;
  border: 2px solid var(--blue);
}

.toggleSection .top-inner {
  align-items: center;
  display: grid;
  grid-template-columns: 25% 1fr 23px;
  gap: 10px;
}

.toggleSection .top-inner .img {}

.toggleSection .name p {
  font-size: 1.15em;
  font-weight: bold;
  margin-bottom: 4px;
}

.toggleSection .mintext {
  display: block;
  font-size: 0.875em;
  margin-bottom: 0;
}

.toggleSection-btn {
  clip-path: polygon(20% 7%, 27% 0, 77% 50%, 27% 100%, 20% 93%, 63% 50%, 20% 7%);
  width: 1.2em;
  aspect-ratio: 1;
  background-color: var(--blue);
  transform: rotate(90deg);
  margin: auto;
}

.toggleSection .top-wrap {
  cursor: pointer;
}

.toggleSection .top-wrap.action .toggleSection-btn {
  transform: rotate(270deg);
}

.toggleSection .bottom-wrap {
  display: none;
  margin-top: 20px;
}

.toggleSection .bottom-wrap>:last-child {
  margin-bottom: 0;
}

.toggleSection .info-list {
  display: flex;
  flex-direction: column;
  gap: 1.3em;
  font-size: 0.875em;
  border: none;
}

.toggleSection .info-list .ttl {
  width: 100%;
  text-align: center;
  margin-bottom: 8px;
  padding: 4px;
  background: #f8f8f8;
  color: #333;
}

.toggleSection .bottom-wrap .btn,
.toggleSection2 .bottom-wrap .btn {
  margin-top: 20px;
}

.toggleSection .info-list .text {
  width: 100%;
  padding: 0;
}

/* 2 */
.toggleSection2 {
  margin-bottom: 1.5em;
}

.toggleSection-wrap .toggleSection2 {
  margin-bottom: 0;
}

.toggleSection2 .sub-ttl {
  text-align: center;
  margin-bottom: 6px;
  color: var(--blue);
  font-weight: bold;
  font-size: 1em;
}

.toggleSection2 .content {
  padding: 1em;
  border-radius: 10px;
  border: 2px solid var(--blue);
  border-bottom: none;
}

.toggleSection2.action .content {
  border: 2px solid var(--blue);
}

.toggleSection2 .top-inner {
  align-items: center;
  display: grid;
  grid-template-columns: 33% 1fr 23px;
  gap: 10px;
}

.toggleSection2 .top-inner .img {}

.toggleSection2 .name p {
  font-size: 1.15em;
  font-weight: bold;
  margin-bottom: 4px;
}

.toggleSection2 .mintext {
  display: block;
  font-size: 0.875em;
  margin-bottom: 0;
}

.toggleSection-btn_more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  padding: .8em;
  margin: 14px auto 0;
  background: #F0F0F0;
  border: 1px solid #ddd;
  font-size: 0.875em;
}


.toggleSection-btn_more .toggleSection-btn {
  width: 16px;
  margin: 0;
  background: var(--blue);
}

.toggleSection2.action .toggleSection-btn {
  transform: rotate(270deg);
}


.toggleSection2 .top-wrap {
  cursor: pointer;
}

.toggleSection2 .bottom-wrap {
  position: relative;
  max-height: 80px;
  overflow: hidden;
  margin-top: 20px;
}

.toggleSection-wrap .toggleSection2 .bottom-wrap {
  max-height: 50px;
}

.toggleSection2 .bottom-wrap>:last-child {
  margin-bottom: 0;
}

.toggleSection2 .bottom-wrap::before {
  background: -webkit-linear-gradient(top, rgb(255 255 255 / 10%) 0%, rgb(255 255 255 / 99%) 50%, rgb(255 255 255) 100%, #fff 100%);
  bottom: 0%;
  content: '';
  width: 100%;
  height: 100%;
  left: 0;
  opacity: 0.8;
  position: absolute;
  z-index: 1;
}

.toggleSection2.action .bottom-wrap {
  max-height: fit-content;
  overflow: visible;
}

.toggleSection2.action .bottom-wrap::before {
  display: none;
}

.toggleSection2 .info-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
  font-size: 0.875em;
  border: none;
}

.toggleSection2 .info-list .ttl {
  text-align: center;
  margin-bottom: 8px;
  padding: 4px;
  background: #f8f8f8;
  width: 100%;
  color: #333;
}

.toggleSection2 .info-list .text {
  width: 100%;
  padding: 0;
}

.acco {
  margin-bottom: 1.5em;
}

.acco-ttl {
  font-size: 1.15em;
  font-weight: bold;
  padding: .6em 3em .6em 1em;
  border-bottom: 1px solid var(--gold);
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.acco-ttl:first-of-type {
  border-top: 1px solid var(--gold);
}

.acco-ttl.action {
  background: #F9F9F9;
}

.acco-inner {
  padding-top: 14px;
  padding-left: 14px;
  border-bottom: 1px solid var(--gold);
  padding-bottom: 18px;
  padding-right: 14px;
  display: none;
}

.acco-inner>:first-child {
  margin-top: 0;
}

.acco-inner>:last-child {
  margin-bottom: 0;
}

.acco-btn {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(-50%, -50%);
  display: block;
  width: 1em;
  aspect-ratio: 1 / 1;
}

.acco-btn::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: var(--gold);
}

.acco-btn::after {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  content: '';
  display: block;
  width: 2px;
  height: 100%;
  background: var(--gold);
  display: block;
}

.acco-ttl.action .acco-btn::after {
  display: none;
}

.pr-mark {
  display: inline-block;
  font-size: 0.9em;
  border: 1px solid;
  padding: .2em .4em;
  margin: 0px .8em 0 0;
}

/* 診断パーツ */
.simulation {
  position: relative;
  background: var(--color_main_thin);
  padding: 3%;
  border: 1px solid var(--gold);
  border-radius: 10px;
  margin-bottom: 1.5em;
}

.simulation .ttl {
  background-color: #fff;
  color: #fff;
  margin: -1% -1% 20px !important;
  padding: 1em;
  text-align: center;
  border-radius: 5px;
  border: double .6em #f3a9a9;
  box-shadow: 2px 2px 0 #f3a9a9;
}

.simulation .ttl .sub {
  color: var(--blue);
  font-weight: bold;
  font-size: 1.15em;
  line-height: 1.2em;
  margin-bottom: 0.2em;
}

.simulation .ttl .main {
  display: block;
  font-size: 28px;
  line-height: 1.2em;
  color: var(--gold);
}

.simulation dl {
  margin: 0;
  padding: 0;
}

.simulation dl dt {
  position: relative;
  background: var(--blue);
  color: #fff;
  padding: .5em 2em;
  margin: 0;
  line-height: 1.2em;
  border-radius: 30px;
}

.simulation dl dt span,
.simulation .ttl span {
  display: inline-block;
}

.simulation dl dd+dt {
  margin-top: .8em;
}

/* .simulation dl dt:before {
  content: "";
  position: absolute;
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
  width: 3em;
  height: 3em;
  background-color: #fff !important;
  background-size: 100% 100% !important;
  border: 2px solid var(--gold);
  border-radius: 50%;
  text-align: center;
  font-style: normal;
  font-weight: bold;
}

.simulation dl dt:nth-of-type(1):before {
  background: url(/curriculum/index/5/wp-content/uploads/2025/03/icon-budget-blue.png) no-repeat center center;
}

.simulation dl dt:nth-of-type(2):before {
  background: url(/curriculum/index/5/wp-content/uploads/2025/03/icon-money-blue.png) no-repeat center center;
}

.simulation dl dt:nth-of-type(3):before {
  background: url(/curriculum/index/5/wp-content/uploads/2025/03/icon-doctor-blue.png) no-repeat center center;
} */

.simulation dl dd {
  border: 0;
  padding: .8em 0px;
  position: relative;
  display: flex;
  gap: 2%;
}

.simulation dl dd>label {
  position: relative;
  padding: 10px 12px;
  background: #fff;
  border-radius: 30px;
  color: var(--gold);
  font-weight: bold;
  width: 23.5%;
  line-height: 1.2em;
  border: 1px solid var(--gold);
  border-radius: 40px;
  cursor: pointer;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.5s linear;
  box-shadow: rgba(0, 0, 0, 0.3) 1px 2px 3px;
}

.simulation dl dd>label:has(input[type="checkbox"]) input[type="checkbox"] {
  margin-right: .8em;
  transform: scale(1.5, 1.5);
  box-shadow: #fff 0 0 1px 1px;
}

.simulation dl dd>label:hover,
.simulation dl dd>label:has(input[type="radio"]:checked),
.simulation dl dd>label:has(input[type="checkbox"]:checked) {
  background: var(--gold);
  color: #fff;
  transition: all 0.2s linear;
}

.simulation dl dd label input[type="radio"],
.simulation .sim-result>label input[name="result"] {
  display: none;
}

.simulation dl dd>label:has(:not(input[type="radio"]:checked)):hover {
  top: -2px;
  left: -1px;
  box-shadow: rgba(0, 0, 0, 0.3) 2px 4px 3px;
  transition: all 0.2s linear;
}

.simulation dl dd>p.fukidasi strong {
  font-size: 120%;
  color: #fb3;
}

.simulation dl dd nav,
.simulation .sim-result nav {
  text-align: center;
  margin: .8em auto 0;
  padding: 0;
  width: 100%;
}

.simulation .sim-result nav {
  margin: 1.4em auto 0;
}

.simulation dl dd nav>label,
.simulation .sim-result nav a {
  box-sizing: border-box;
  display: inline-block;
  padding: .4em 1em;
  min-width: 15em;
  background: var(--gold);
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.3em;
  border-radius: 100px;
  border: 1px solid #333;
  box-shadow: rgba(0, 0, 0, 0.3) -1px -3px 1px 2px inset, rgba(255, 255, 255, 0.4) 1px 2px 1px 2px inset;
  text-shadow: rgba(0, 0, 0, 0.7) -1px -1px 1px;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  max-width: 100%;
  transition: opacity 0.5s linear;
}

.simulation .sim-result nav a {
  background: #FE6060;
}

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

  .simulation .ttl .main,
  .simulation dl dd nav>label,
  .simulation .sim-result nav a {
    font-size: 1.944vw;
  }
}

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

  .simulation .ttl .main,
  .simulation dl dd nav>label,
  .simulation .sim-result nav a {
    font-size: 2.545vw;
  }
}

@media (max-width: 540px) {

  .simulation .ttl .sub {
    font-size: 3.2vw;
  }

  .simulation .ttl .main,
  .simulation dl dd nav>label,
  .simulation .sim-result nav a {
    font-size: 4.8vw;
  }

  .simulation .ttl:before {
    width: 80px;
    height: 120px;
    left: -5px;
  }

  .simulation dl dd {
    flex-wrap: wrap;
    padding: 10px 0;
  }

  .simulation dl dd>label {
    width: 49%;
    margin-bottom: 2%;
    padding: 10px 5px;
  }

  .simulation dl dd:has(.fukidasi) {
    padding-right: 45%;
  }

  .simulation dl dd:has(.fukidasi)>label {
    width: 100%;
  }

  .simulation dl dd>p.fukidasi {
    right: -25px;
    padding: 25px 15px;
    font-size: 110%;
    line-height: 1.7em;
  }

  .simulation dl dd>p.fukidasi:before {
    border-width: 8px 20px 8px 0;
  }

  .simulation dl dd nav>label,
  .simulation .sim-result nav a {
    padding: .6em 1.2em;
    width: 100%;
    min-width: 0;
  }

  .simulation dl dd>label:has(input[type="checkbox"]) input[type="checkbox"] {
    margin-right: 6px;
    transform: scale(1.2, 1.2);
  }
}

/* result */
.simulation .sim-result div[id*="sim-result-"] {
  display: none;
}

.simulation:has(input[name="other_conditions"][value="0"]:checked) .sim-result div#sim-result-1,
.simulation:has(input[name="other_conditions"][value="1"]:checked) .sim-result div#sim-result-2,
.simulation:has(input[name="other_conditions"][value="2"]:checked) .sim-result div#sim-result-3 {
  display: block;
}

.simulation .sim-result {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 10000;
  overflow: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.simulation .sim-result.show {
  visibility: visible;
  opacity: 1;
}


.simulation .sim-result:has(input[name="result"]:checked) {
  z-index: -10;
  opacity: 0;
  top: -100%;
  left: 100%;
  width: 0;
  height: 0;
  transition: opacity 0.5s linear;
}

.simulation .sim-result>label:has(input[name="result"]) {
  position: absolute;
  right: 2%;
  top: 2%;
  color: #fff;
  font-size: 60px;
  line-height: 60px;
  font-weight: bold;
  cursor: pointer;
}

.simulation .sim-result .sim-result-inner {
  width: 60%;
  max-width: 600px;
  position: absolute;
  left: 50%;
  top: 0%;
  transform: translate(-50%, -100%);
  background: #fff;
  padding: 1.2em;
  text-align: center;
  border-radius: 10px;
  opacity: 0;
  transition: transform 1s ease;
}

.simulation .sim-result.show .sim-result-inner {
  opacity: 1;
  top: 50%;
  transform: translate(-50%, -50%);
}

.simulation .sim-result:has(input[name="result"]:checked) .sim-result-inner {
  top: -10%;
  opacity: 0;
  transition: all 0.7s ease-out;
}


.sim-result-inner .banner {
  width: 80%;
  margin: 0 auto 15px;
}

.sim-result-ttl {
  position: relative;
  margin: 0 auto 15px;
  padding: 0 5px;
  width: fit-content;
  max-width: 100%;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.1em;
  color: var(--gold);
  vertical-align: middle;
  z-index: 1;
}

.sim-result-ttl span {
  display: inline-block;
}

.sim-result-ttl>span {
  vertical-align: middle;
  max-width: calc(100% - 60px);
}

.sim-result-ttl:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--gold);
  width: 100%;
  height: .5em;
  z-index: -1;
  opacity: 0.3;
}

.sim-result-ttl.name {
  font-size: 26px;
}

.simulation .sim-result {
  line-height: 1.4em;
}

.simulation .sim-result p {
  margin-bottom: .8em;
}

.simulation .sim-result p b {
  display: inline-block;
  margin: 0 5px;
  font-size: 115%;
  color: var(--blue);
}

.simulation .sim-result p i {
  display: inline-block;
  padding: 3px 5px;
  background: #777;
  color: #fff;
  font-weight: bold;
  font-style: normal;
  margin: 0 5px;
  vertical-align: middle;
  border-radius: 3px;
}

.simulation .sim-result p.average {
  font-size: 160%;
  font-weight: bold;
  line-height: 1.4em;
}

.simulation .sim-result p.average em {
  display: inline-block;
  padding: 3px 5px;
  background: #ffd6cf;
  color: #FE6060;
  font-size: 130%;
  font-style: normal;
  margin: 0 5px;
  border: 1px solid #FE6060;
  border-radius: 3px;
}

@media (max-width: 540px) {
  .simulation .sim-result .sim-result-inner {
    padding: 1em .8em;
    width: 90%;
  }
}


.sim-result .close-modal {
  position: absolute;
  right: 2%;
  top: 2%;
  color: #fff;
  font-size: 60px;
  line-height: 60px;
  font-weight: bold;
  cursor: pointer;
}

.sim-result-item {
  display: none;
}

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

  .sim-result-ttl {
    font-size: 1.8vw;
  }

  .sim-result-ttl.name {
    font-size: 2vw;
  }
}

@media screen and (max-width: 1024px) {
  .sim-result-ttl {
    font-size: 2.2vw;
  }

  .sim-result-ttl.name {
    font-size: 2.5vw;
  }
}

@media screen and (max-width: 540px) {
  .sim-result-ttl {
    font-size: 4.2vw;
  }

  .sim-result-ttl.name {
    font-size: 4.7vw;
  }
}