@charset "UTF-8";
@import url(//cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp.css);
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  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 */
  -webkit-text-decoration: underline dotted;
          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;
}

/* 全体
**************************************************/
html {
  font-size: 62.5%;
  overflow: auto;
}
@media only screen and (min-width: 640px) and (max-width: 1199px) {
  html {
    font-size: 0.8333333333vw;
  }
}
@media only screen and (max-width: 639px) {
  html {
    font-size: 2.6666666667vmin;
  }
}

body {
  background: white !important;
  overflow-x: clip;
  font-size: 1.4rem;
  color: #0C0B0B;
  font-family: "YakuHanJP", "Zen Maru Gothic", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 639px) {
  body {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}

a {
  text-decoration: underline;
  transition: opacity 0.4s ease;
}
@media only screen and (min-width: calc(768 * 1px)) {
  a:hover {
    text-decoration: none;
    opacity: 0.7;
  }
}
@media only screen and (max-width: calc(768 - 1px)) {
  a:focus, a:active {
    text-decoration: none;
    opacity: 0.7;
  }
}
a:active, a:focus {
  outline: none !important;
}

p {
  margin-bottom: 1.5em;
}

img:not([src*=icon_]) {
  height: auto;
}
@media only screen and (min-width: 640px) {
  img {
    max-width: 100%;
  }
}
@media only screen and (max-width: 639px) {
  img {
    width: 100%;
  }
  img[src*=icon_] {
    width: inherit;
  }
}

h1, h2, h3, h4, h5, p, ul, ol, dl, table {
  margin-bottom: 1rem;
}

input, select, textarea {
  display: inline-block;
  background: white;
}

input, textarea {
  border: solid 1px gray;
  padding: 0.4em 0.5em;
}

input[type=submit],
input[type=button],
button {
  font-size: inherit;
  line-height: 1;
  background: #ddd;
  border: solid 1px #bbb;
  padding: 0.5em 1em;
}

textarea {
  height: 10rem;
  overflow-y: auto;
}

select {
  -webkit-appearance: auto;
          appearance: auto;
}

label {
  cursor: pointer;
}

button[disabled], input[disabled] {
  pointer-events: none;
  opacity: 0.5;
}

.btnReset {
  border: none;
  background: none;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

/* 汎用
**************************************************/
.container > *:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
  body.is-open {
    position: fixed;
    overflow-y: scroll;
  }
}
@media only screen and (max-width: 767px) {
  body.is-open {
    position: relative;
    overflow: hidden;
  }
}

/* ヘッダー
**************************************************/
.header:before {
  content: "";
  display: block;
  width: 100%;
  height: 0.8rem;
  background: #E18040;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
}
@media only screen and (min-width: 1201px) {
  .header__inner {
    width: 100%;
    -webkit-filter: drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.2));
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .header__inner {
    max-width: 220px;
    width: 220px;
  }
}
.header__logo {
  background: white;
  padding: 3rem 1rem;
  border: solid 2px #0C0B0B;
  border-radius: 0.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  position: relative;
}
.header__logo > * {
  margin: 0;
}
@media only screen and (max-width: 1200px) {
  .header__logo {
    padding: 2rem 2rem 1.8rem;
    position: fixed;
    top: 0;
    left: 1rem;
    z-index: 100;
    -webkit-filter: drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.2));
  }
  .header__logo img {
    width: 8rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .header__logo {
    left: 3rem;
  }
}
@media only screen and (min-width: 1201px) {
  .header__logo:before {
    content: "";
    display: block;
    width: 2px;
    height: 2.1rem;
    background: #0C0B0B;
    position: absolute;
    bottom: -1px;
    left: 50%;
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
}
@media only screen and (min-width: 768px) {
  .header__logo img {
    width: 16rem;
  }
}
.header__menuBtn {
  position: fixed;
  top: 2.3rem;
  right: 1rem;
  z-index: 100;
}
@media only screen and (min-width: 1201px) {
  .header__menuBtn {
    display: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .header__menuBtn {
    top: 2.3rem;
    right: 3rem;
  }
}
.header__menuBtn > span {
  display: block;
  width: 8rem;
  height: 4rem;
  border-radius: 10rem;
  background: #E18040;
  position: relative;
}
.header__menuBtn > span:before, .header__menuBtn > span:after {
  content: "";
  display: block;
  width: 4rem;
  height: 2px;
  border-radius: 10rem;
  background: white;
  position: absolute;
  left: 50%;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  transition: all 0.4s;
}
.header__menuBtn > span:before {
  top: 1.5rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.header__menuBtn > span:after {
  bottom: 1.5rem;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
}
.header__menuBtn.is-open > span:before {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(30deg);
          transform: translate(-50%, -50%) rotate(30deg);
}
.header__menuBtn.is-open > span:after {
  bottom: 50%;
  -webkit-transform: translate(-50%, 50%) rotate(-30deg);
          transform: translate(-50%, 50%) rotate(-30deg);
}
.header__secondary {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media only screen and (max-width: 1200px) {
  .header__secondary {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100vw;
    height: 100vh;
    max-height: var(--100vh);
    background: #F8E2D3;
    padding: calc(5rem + var(--headerHgt)) 7.8rem 3rem;
    transition: all 0.4s;
    opacity: 0;
    -webkit-transform: translateX(-110%);
            transform: translateX(-110%);
  }
  .header__secondary.is-open {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.header .globalNav {
  background: white;
  padding: 4rem 4.6rem;
  border: solid 2px #0C0B0B;
  border-radius: 0.8rem;
  display: flex;
  position: relative;
}
@media only screen and (max-width: 1200px) {
  .header .globalNav {
    padding: 4.2rem 4.8rem;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .header .globalNav {
    width: 220px;
    padding: 4rem 4.8rem;
  }
}
.header .globalNav ul {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.header .globalNav ul a {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 170%;
  letter-spacing: 0.15em;
  display: inline-flex;
  gap: 1rem;
  transition: all 0.4s;
}
@media only screen and (min-width: calc(768 * 1px)) {
  .header .globalNav ul a:hover {
    color: #E18040;
    opacity: 1;
  }
}
@media only screen and (max-width: calc(768 - 1px)) {
  .header .globalNav ul a:focus, .header .globalNav ul a:active {
    color: #E18040;
    opacity: 1;
  }
}
.header .globalNav ul a img {
  width: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .header .globalNav ul a img {
    width: 2rem;
  }
}
.header .globalNav:before {
  content: "";
  display: block;
  width: 2px;
  height: 2.1rem;
  background: #0C0B0B;
  position: absolute;
  bottom: -1px;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}
.header__btns {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .header__btns {
    max-width: 220px;
    width: 220px;
    margin: 0 auto;
  }
}
.header__btn {
  color: white;
  text-decoration: none;
  background-color: #E18040;
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  background-size: 1.65rem;
  background-image: url(../images/common/arrow_nav.svg);
  display: flex;
  min-height: 7rem;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 2rem 0.5rem 1rem;
  border: solid 2px #0C0B0B;
  border-radius: 0.8rem;
  font-size: 1.4rem;
  transition: background 0.4s;
}
.header__btn:not(:last-of-type) {
  position: relative;
}
.header__btn:not(:last-of-type):before {
  content: "";
  display: block;
  width: 2px;
  height: 2.1rem;
  background: #0C0B0B;
  position: absolute;
  bottom: -1px;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}
@media only screen and (min-width: calc(768 * 1px)) {
  .header__btn:hover {
    opacity: 1;
    background-color: #E59764;
  }
}
@media only screen and (max-width: calc(768 - 1px)) {
  .header__btn:focus, .header__btn:active {
    opacity: 1;
    background-color: #E59764;
  }
}

/* フッター
**************************************************/
.footer {
  color: white;
}
@media only screen and (min-width: 768px) {
  .footer {
    padding-left: calc(220px + 3rem);
  }
  .footer__inner {
    max-width: 1000px !important;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1599px) {
  .footer__inner {
    max-width: calc(100vw - 220px - 3rem - 4rem) !important;
  }
}
.footer .footerCompany {
  background: rgba(225, 128, 64, 0.7);
  padding-top: 12rem;
  padding-bottom: 12rem;
}
@media only screen and (min-width: 768px) {
  .footer .footerCompany {
    margin-left: calc((220px + 3rem) * -1);
    padding-left: calc(220px + 3rem);
  }
}
@media only screen and (max-width: 767px) {
  .footer .footerCompany {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}
@media only screen and (min-width: 768px) {
  .footer .footerCompany__inner {
    display: flex;
    gap: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .footer .footerCompany__head {
    border-right: 1px solid rgba(255, 255, 255, 0.5);
    padding-right: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .footer .footerCompany__head {
    margin-bottom: 4rem;
  }
}
.footer .footerCompany__title {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 767px) {
  .footer .footerCompany__title {
    align-items: center;
    text-align: center;
  }
}
.footer .footerCompany__title img {
  width: 4rem;
}
@media only screen and (max-width: 767px) {
  .footer .footerCompany__title img {
    width: 3rem;
  }
}
.footer .footerCompany__titleTxt {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.footer .footerCompany__titleTxt > span:first-child {
  font-weight: bold;
  font-weight: 900;
  font-size: 1.2rem;
  line-height: 1.25;
  letter-spacing: 0.15em;
}
.footer .footerCompany__titleTxt > span:last-child {
  font-weight: 700;
  font-size: 3rem;
  line-height: 150%;
  letter-spacing: 0.5em;
}
.footer .footerCompany .footerCompany__subTitle {
  font-weight: 700;
  font-size: 2rem;
  line-height: 150%;
  letter-spacing: 0.15em;
  border-bottom: 1px solid #0C0B0B;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 767px) {
  .footer .footerCompany .footerCompany__subTitle {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
.footer .footerCompany__body {
  flex: 1;
  color: #0C0B0B;
}
@media only screen and (min-width: 768px) {
  .footer .footerCompany__body dl {
    display: grid;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
    row-gap: 0.5rem;
    align-items: start;
  }
}
.footer .footerCompany__body dl dt {
  grid-column: 1; /* dtを常に1列目（左側）に置く */
  word-break: break-word;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.7142857143;
  letter-spacing: 0.15em;
  padding-right: 0.5em;
}
@media only screen and (max-width: 767px) {
  .footer .footerCompany__body dl dt {
    margin-bottom: 0.5rem;
  }
}
.footer .footerCompany__body dl dd {
  grid-column: 2;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 170%;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 767px) {
  .footer .footerCompany__body dl dd:not(:last-of-type) {
    margin-bottom: 1rem;
  }
}
.footer__copy {
  background: #E18040;
  text-align: center;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media only screen and (min-width: 768px) {
  .footer__copy {
    margin-left: calc((220px + 3rem) * -1);
    padding-left: calc(220px + 3rem);
  }
}

/* ページトップボタン
**************************************************/
/* コンテンツ
**************************************************/
@media only screen and (min-width: 768px) {
  .content {
    padding-left: calc(220px + 6rem);
  }
  .content > * {
    margin-left: calc((220px + 6rem) * -1);
    padding-left: calc(220px + 6rem);
  }
}

.inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 4rem;
  box-sizing: content-box;
}
@media only screen and (max-width: 767px) {
  .inner {
    padding: 0 2rem;
  }
}
.inner:last-child,
.inner > *:last-child {
  margin-bottom: 0;
}

main {
  padding-bottom: 12rem;
}
main > *:last-child {
  margin-bottom: 0;
}

/* パンくず
**************************************************/
.breadCrumb {
  margin-top: 1rem;
  margin-bottom: 12rem;
}
@media only screen and (max-width: 767px) {
  .breadCrumb {
    margin-bottom: 8rem;
  }
}
.breadCrumb .inner {
  max-width: 960px;
}
.breadCrumb ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 0.5rem;
}
.breadCrumb ul > li {
  font-weight: 700;
  font-size: 1rem;
  line-height: 150%;
  letter-spacing: 0.15em;
}
.breadCrumb ul > li:not(:last-child) {
  display: flex;
  align-items: center;
  gap: 1rem 0.5rem;
}
.breadCrumb ul > li:not(:last-child):after {
  content: "/";
  display: inline-block;
  width: auto;
  height: auto;
}
.breadCrumb ul > li:not(:last-child) a {
  color: #ec852b;
}

.pageTopBtnWrap {
  height: 0;
  position: relative;
}

.pageTopBtn {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  border: 1px solid white;
  background: #E18040;
  color: white;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.4rem;
  text-align: center;
  letter-spacing: 0.2em;
  display: flex;
  flex-direction: column;
  gap: 2px;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 0.8rem;
  min-width: 4.8rem;
  min-height: 4.8rem;
  text-decoration: none;
  transition: all 0.4s;
}
@media only screen and (min-width: calc(768 * 1px)) {
  .pageTopBtn:hover {
    color: #E18040;
    opacity: 1;
  }
}
@media only screen and (max-width: calc(768 - 1px)) {
  .pageTopBtn:focus, .pageTopBtn:active {
    color: #E18040;
    opacity: 1;
  }
}

@media only screen and (max-width: 767px) {
  .is-pc {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .is-sp {
    display: none !important;
  }
}

.only-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.fw-l {
  font-weight: lighter !important;
}
.fw-n {
  font-weight: normal !important;
}
.fw-m {
  font-weight: 500 !important;
}
.fw-b {
  font-weight: 700 !important;
}

.fz-n {
  font-size: inherit !important;
}
.fz-s {
  font-size: 0.8em;
}
.fz-m {
  font-size: 1.4em;
}
.fz-l {
  font-size: 1.8em;
}
.fz-ll {
  font-size: 2em;
}

.nobr {
  display: inline-block;
}

.is-hide {
  display: none !important;
}

.lts-n {
  letter-spacing: -0.04em;
}
.lts-ss {
  letter-spacing: -0.08em;
}

.fz-ss {
  font-size: 0.6em !important;
}
.fz-s {
  font-size: 0.85em !important;
}
.fz-l {
  font-size: 1.2em !important;
}
.fz-ll {
  font-size: 1.4em !important;
}
.fz-lll {
  font-size: 1.6em !important;
}

.ta-c {
  text-align: center !important;
}
.ta-r {
  text-align: right !important;
}
.ta-l {
  text-align: left !important;
}
.ta-j {
  text-align: justify !important;
  text-justify: inter-ideograph !important;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media only screen and (min-width: 768px) {
  .ta-pc-c {
    text-align: center !important;
  }
  .ta-pc-r {
    text-align: right !important;
  }
  .ta-pc-l {
    text-align: left !important;
  }
  .ta-pc-j {
    text-align: justify !important;
    text-justify: inter-ideograph !important;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
@media only screen and (max-width: 767px) {
  .ta-sp-c {
    text-align: center !important;
  }
  .ta-sp-r {
    text-align: right !important;
  }
  .ta-sp-l {
    text-align: left !important;
  }
  .ta-sp-j {
    text-align: justify !important;
    text-justify: inter-ideograph !important;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

.flx-l {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start !important;
}
.flx-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center !important;
}
.flx-r {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end !important;
}
@media only screen and (min-width: 768px) {
  .flx-pc-l {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start !important;
  }
  .flx-pc-c {
    display: flex;
    flex-wrap: wrap;
    justify-content: center !important;
  }
  .flx-pc-r {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end !important;
  }
}
@media only screen and (max-width: 767px) {
  .flx-sp-l {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start !important;
  }
  .flx-sp-c {
    display: flex;
    flex-wrap: wrap;
    justify-content: center !important;
  }
  .flx-sp-r {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end !important;
  }
}

.va-m, .va-t, .va-b {
  display: table-cell !important;
}
.va-m {
  vertical-align: middle !important;
}
.va-t {
  vertical-align: top !important;
}
.va-b {
  vertical-align: bottom !important;
}
@media only screen and (max-width: 767px) {
  .va-sp-m, .va-sp-t, .va-sp-b {
    display: table-cell !important;
  }
  .va-sp-m {
    vertical-align: middle !important;
  }
  .va-sp-t {
    vertical-align: top !important;
  }
  .va-sp-b {
    vertical-align: bottom !important;
  }
}

/*  margin
================================================== */
.mt-auto, .mh-auto, .ma-auto {
  margin-top: auto !important;
}

.mr-auto, .mw-auto, .ma-auto {
  margin-right: auto !important;
}

.mb-auto, .mh-auto, .ma-auto {
  margin-bottom: auto !important;
}

.ml-auto, .mw-auto, .ma-auto {
  margin-left: auto !important;
}

.mt-0, .mh-0, .ma-0 {
  margin-top: 0rem !important;
}

.mr-0, .mw-0, .ma-0 {
  margin-right: 0rem !important;
}

.mb-0, .mh-0, .ma-0 {
  margin-bottom: 0rem !important;
}

.ml-0, .mw-0, .ma-0 {
  margin-left: 0rem !important;
}

.pt-0, .ph-0, .pa-0 {
  padding-top: 0rem !important;
}

.pr-0, .pw-0, .pa-0 {
  padding-right: 0rem !important;
}

.pb-0, .ph-0, .pa-0 {
  padding-bottom: 0rem !important;
}

.pl-0, .pw-0, .pa-0 {
  padding-left: 0rem !important;
}

.mt-pc-0, .mh-pc-0, .ma-pc-0 {
  margin-top: 0rem !important;
}

.mr-pc-0, .mw-pc-0, .ma-pc-0 {
  margin-right: 0rem !important;
}

.mb-pc-0, .mh-pc-0, .ma-pc-0 {
  margin-bottom: 0rem !important;
}

.ml-pc-0, .mw-pc-0, .ma-pc-0 {
  margin-left: 0rem !important;
}

.pt-pc-0, .ph-pc-0, .pa-pc-0 {
  padding-top: 0rem !important;
}

.pr-pc-0, .pw-pc-0, .pa-pc-0 {
  padding-right: 0rem !important;
}

.pb-pc-0, .ph-pc-0, .pa-pc-0 {
  padding-bottom: 0rem !important;
}

.pl-pc-0, .pw-pc-0, .pa-pc-0 {
  padding-left: 0rem !important;
}

.mt-sp-0, .mh-sp-0, .ma-sp-0 {
  margin-top: 0rem !important;
}

.mr-sp-0, .mw-sp-0, .ma-sp-0 {
  margin-right: 0rem !important;
}

.mb-sp-0, .mh-sp-0, .ma-sp-0 {
  margin-bottom: 0rem !important;
}

.ml-sp-0, .mw-sp-0, .ma-sp-0 {
  margin-left: 0rem !important;
}

.pt-sp-0, .ph-sp-0, .pa-sp-0 {
  padding-top: 0rem !important;
}

.pr-sp-0, .pw-sp-0, .pa-sp-0 {
  padding-right: 0rem !important;
}

.pb-sp-0, .ph-sp-0, .pa-sp-0 {
  padding-bottom: 0rem !important;
}

.pl-sp-0, .pw-sp-0, .pa-sp-0 {
  padding-left: 0rem !important;
}

.mt-5, .mh-5, .ma-5 {
  margin-top: 0.5rem !important;
}

.mr-5, .mw-5, .ma-5 {
  margin-right: 0.5rem !important;
}

.mb-5, .mh-5, .ma-5 {
  margin-bottom: 0.5rem !important;
}

.ml-5, .mw-5, .ma-5 {
  margin-left: 0.5rem !important;
}

.pt-5, .ph-5, .pa-5 {
  padding-top: 0.5rem !important;
}

.pr-5, .pw-5, .pa-5 {
  padding-right: 0.5rem !important;
}

.pb-5, .ph-5, .pa-5 {
  padding-bottom: 0.5rem !important;
}

.pl-5, .pw-5, .pa-5 {
  padding-left: 0.5rem !important;
}

.mt-pc-5, .mh-pc-5, .ma-pc-5 {
  margin-top: 0.5rem !important;
}

.mr-pc-5, .mw-pc-5, .ma-pc-5 {
  margin-right: 0.5rem !important;
}

.mb-pc-5, .mh-pc-5, .ma-pc-5 {
  margin-bottom: 0.5rem !important;
}

.ml-pc-5, .mw-pc-5, .ma-pc-5 {
  margin-left: 0.5rem !important;
}

.pt-pc-5, .ph-pc-5, .pa-pc-5 {
  padding-top: 0.5rem !important;
}

.pr-pc-5, .pw-pc-5, .pa-pc-5 {
  padding-right: 0.5rem !important;
}

.pb-pc-5, .ph-pc-5, .pa-pc-5 {
  padding-bottom: 0.5rem !important;
}

.pl-pc-5, .pw-pc-5, .pa-pc-5 {
  padding-left: 0.5rem !important;
}

.mt-sp-5, .mh-sp-5, .ma-sp-5 {
  margin-top: 0.5rem !important;
}

.mr-sp-5, .mw-sp-5, .ma-sp-5 {
  margin-right: 0.5rem !important;
}

.mb-sp-5, .mh-sp-5, .ma-sp-5 {
  margin-bottom: 0.5rem !important;
}

.ml-sp-5, .mw-sp-5, .ma-sp-5 {
  margin-left: 0.5rem !important;
}

.pt-sp-5, .ph-sp-5, .pa-sp-5 {
  padding-top: 0.5rem !important;
}

.pr-sp-5, .pw-sp-5, .pa-sp-5 {
  padding-right: 0.5rem !important;
}

.pb-sp-5, .ph-sp-5, .pa-sp-5 {
  padding-bottom: 0.5rem !important;
}

.pl-sp-5, .pw-sp-5, .pa-sp-5 {
  padding-left: 0.5rem !important;
}

.mt-10, .mh-10, .ma-10 {
  margin-top: 1rem !important;
}

.mr-10, .mw-10, .ma-10 {
  margin-right: 1rem !important;
}

.mb-10, .mh-10, .ma-10 {
  margin-bottom: 1rem !important;
}

.ml-10, .mw-10, .ma-10 {
  margin-left: 1rem !important;
}

.pt-10, .ph-10, .pa-10 {
  padding-top: 1rem !important;
}

.pr-10, .pw-10, .pa-10 {
  padding-right: 1rem !important;
}

.pb-10, .ph-10, .pa-10 {
  padding-bottom: 1rem !important;
}

.pl-10, .pw-10, .pa-10 {
  padding-left: 1rem !important;
}

.mt-pc-10, .mh-pc-10, .ma-pc-10 {
  margin-top: 1rem !important;
}

.mr-pc-10, .mw-pc-10, .ma-pc-10 {
  margin-right: 1rem !important;
}

.mb-pc-10, .mh-pc-10, .ma-pc-10 {
  margin-bottom: 1rem !important;
}

.ml-pc-10, .mw-pc-10, .ma-pc-10 {
  margin-left: 1rem !important;
}

.pt-pc-10, .ph-pc-10, .pa-pc-10 {
  padding-top: 1rem !important;
}

.pr-pc-10, .pw-pc-10, .pa-pc-10 {
  padding-right: 1rem !important;
}

.pb-pc-10, .ph-pc-10, .pa-pc-10 {
  padding-bottom: 1rem !important;
}

.pl-pc-10, .pw-pc-10, .pa-pc-10 {
  padding-left: 1rem !important;
}

.mt-sp-10, .mh-sp-10, .ma-sp-10 {
  margin-top: 1rem !important;
}

.mr-sp-10, .mw-sp-10, .ma-sp-10 {
  margin-right: 1rem !important;
}

.mb-sp-10, .mh-sp-10, .ma-sp-10 {
  margin-bottom: 1rem !important;
}

.ml-sp-10, .mw-sp-10, .ma-sp-10 {
  margin-left: 1rem !important;
}

.pt-sp-10, .ph-sp-10, .pa-sp-10 {
  padding-top: 1rem !important;
}

.pr-sp-10, .pw-sp-10, .pa-sp-10 {
  padding-right: 1rem !important;
}

.pb-sp-10, .ph-sp-10, .pa-sp-10 {
  padding-bottom: 1rem !important;
}

.pl-sp-10, .pw-sp-10, .pa-sp-10 {
  padding-left: 1rem !important;
}

.mt-15, .mh-15, .ma-15 {
  margin-top: 1.5rem !important;
}

.mr-15, .mw-15, .ma-15 {
  margin-right: 1.5rem !important;
}

.mb-15, .mh-15, .ma-15 {
  margin-bottom: 1.5rem !important;
}

.ml-15, .mw-15, .ma-15 {
  margin-left: 1.5rem !important;
}

.pt-15, .ph-15, .pa-15 {
  padding-top: 1.5rem !important;
}

.pr-15, .pw-15, .pa-15 {
  padding-right: 1.5rem !important;
}

.pb-15, .ph-15, .pa-15 {
  padding-bottom: 1.5rem !important;
}

.pl-15, .pw-15, .pa-15 {
  padding-left: 1.5rem !important;
}

.mt-pc-15, .mh-pc-15, .ma-pc-15 {
  margin-top: 1.5rem !important;
}

.mr-pc-15, .mw-pc-15, .ma-pc-15 {
  margin-right: 1.5rem !important;
}

.mb-pc-15, .mh-pc-15, .ma-pc-15 {
  margin-bottom: 1.5rem !important;
}

.ml-pc-15, .mw-pc-15, .ma-pc-15 {
  margin-left: 1.5rem !important;
}

.pt-pc-15, .ph-pc-15, .pa-pc-15 {
  padding-top: 1.5rem !important;
}

.pr-pc-15, .pw-pc-15, .pa-pc-15 {
  padding-right: 1.5rem !important;
}

.pb-pc-15, .ph-pc-15, .pa-pc-15 {
  padding-bottom: 1.5rem !important;
}

.pl-pc-15, .pw-pc-15, .pa-pc-15 {
  padding-left: 1.5rem !important;
}

.mt-sp-15, .mh-sp-15, .ma-sp-15 {
  margin-top: 1.5rem !important;
}

.mr-sp-15, .mw-sp-15, .ma-sp-15 {
  margin-right: 1.5rem !important;
}

.mb-sp-15, .mh-sp-15, .ma-sp-15 {
  margin-bottom: 1.5rem !important;
}

.ml-sp-15, .mw-sp-15, .ma-sp-15 {
  margin-left: 1.5rem !important;
}

.pt-sp-15, .ph-sp-15, .pa-sp-15 {
  padding-top: 1.5rem !important;
}

.pr-sp-15, .pw-sp-15, .pa-sp-15 {
  padding-right: 1.5rem !important;
}

.pb-sp-15, .ph-sp-15, .pa-sp-15 {
  padding-bottom: 1.5rem !important;
}

.pl-sp-15, .pw-sp-15, .pa-sp-15 {
  padding-left: 1.5rem !important;
}

.mt-20, .mh-20, .ma-20 {
  margin-top: 2rem !important;
}

.mr-20, .mw-20, .ma-20 {
  margin-right: 2rem !important;
}

.mb-20, .mh-20, .ma-20 {
  margin-bottom: 2rem !important;
}

.ml-20, .mw-20, .ma-20 {
  margin-left: 2rem !important;
}

.pt-20, .ph-20, .pa-20 {
  padding-top: 2rem !important;
}

.pr-20, .pw-20, .pa-20 {
  padding-right: 2rem !important;
}

.pb-20, .ph-20, .pa-20 {
  padding-bottom: 2rem !important;
}

.pl-20, .pw-20, .pa-20 {
  padding-left: 2rem !important;
}

.mt-pc-20, .mh-pc-20, .ma-pc-20 {
  margin-top: 2rem !important;
}

.mr-pc-20, .mw-pc-20, .ma-pc-20 {
  margin-right: 2rem !important;
}

.mb-pc-20, .mh-pc-20, .ma-pc-20 {
  margin-bottom: 2rem !important;
}

.ml-pc-20, .mw-pc-20, .ma-pc-20 {
  margin-left: 2rem !important;
}

.pt-pc-20, .ph-pc-20, .pa-pc-20 {
  padding-top: 2rem !important;
}

.pr-pc-20, .pw-pc-20, .pa-pc-20 {
  padding-right: 2rem !important;
}

.pb-pc-20, .ph-pc-20, .pa-pc-20 {
  padding-bottom: 2rem !important;
}

.pl-pc-20, .pw-pc-20, .pa-pc-20 {
  padding-left: 2rem !important;
}

.mt-sp-20, .mh-sp-20, .ma-sp-20 {
  margin-top: 2rem !important;
}

.mr-sp-20, .mw-sp-20, .ma-sp-20 {
  margin-right: 2rem !important;
}

.mb-sp-20, .mh-sp-20, .ma-sp-20 {
  margin-bottom: 2rem !important;
}

.ml-sp-20, .mw-sp-20, .ma-sp-20 {
  margin-left: 2rem !important;
}

.pt-sp-20, .ph-sp-20, .pa-sp-20 {
  padding-top: 2rem !important;
}

.pr-sp-20, .pw-sp-20, .pa-sp-20 {
  padding-right: 2rem !important;
}

.pb-sp-20, .ph-sp-20, .pa-sp-20 {
  padding-bottom: 2rem !important;
}

.pl-sp-20, .pw-sp-20, .pa-sp-20 {
  padding-left: 2rem !important;
}

.mt-25, .mh-25, .ma-25 {
  margin-top: 2.5rem !important;
}

.mr-25, .mw-25, .ma-25 {
  margin-right: 2.5rem !important;
}

.mb-25, .mh-25, .ma-25 {
  margin-bottom: 2.5rem !important;
}

.ml-25, .mw-25, .ma-25 {
  margin-left: 2.5rem !important;
}

.pt-25, .ph-25, .pa-25 {
  padding-top: 2.5rem !important;
}

.pr-25, .pw-25, .pa-25 {
  padding-right: 2.5rem !important;
}

.pb-25, .ph-25, .pa-25 {
  padding-bottom: 2.5rem !important;
}

.pl-25, .pw-25, .pa-25 {
  padding-left: 2.5rem !important;
}

.mt-pc-25, .mh-pc-25, .ma-pc-25 {
  margin-top: 2.5rem !important;
}

.mr-pc-25, .mw-pc-25, .ma-pc-25 {
  margin-right: 2.5rem !important;
}

.mb-pc-25, .mh-pc-25, .ma-pc-25 {
  margin-bottom: 2.5rem !important;
}

.ml-pc-25, .mw-pc-25, .ma-pc-25 {
  margin-left: 2.5rem !important;
}

.pt-pc-25, .ph-pc-25, .pa-pc-25 {
  padding-top: 2.5rem !important;
}

.pr-pc-25, .pw-pc-25, .pa-pc-25 {
  padding-right: 2.5rem !important;
}

.pb-pc-25, .ph-pc-25, .pa-pc-25 {
  padding-bottom: 2.5rem !important;
}

.pl-pc-25, .pw-pc-25, .pa-pc-25 {
  padding-left: 2.5rem !important;
}

.mt-sp-25, .mh-sp-25, .ma-sp-25 {
  margin-top: 2.5rem !important;
}

.mr-sp-25, .mw-sp-25, .ma-sp-25 {
  margin-right: 2.5rem !important;
}

.mb-sp-25, .mh-sp-25, .ma-sp-25 {
  margin-bottom: 2.5rem !important;
}

.ml-sp-25, .mw-sp-25, .ma-sp-25 {
  margin-left: 2.5rem !important;
}

.pt-sp-25, .ph-sp-25, .pa-sp-25 {
  padding-top: 2.5rem !important;
}

.pr-sp-25, .pw-sp-25, .pa-sp-25 {
  padding-right: 2.5rem !important;
}

.pb-sp-25, .ph-sp-25, .pa-sp-25 {
  padding-bottom: 2.5rem !important;
}

.pl-sp-25, .pw-sp-25, .pa-sp-25 {
  padding-left: 2.5rem !important;
}

.mt-30, .mh-30, .ma-30 {
  margin-top: 3rem !important;
}

.mr-30, .mw-30, .ma-30 {
  margin-right: 3rem !important;
}

.mb-30, .mh-30, .ma-30 {
  margin-bottom: 3rem !important;
}

.ml-30, .mw-30, .ma-30 {
  margin-left: 3rem !important;
}

.pt-30, .ph-30, .pa-30 {
  padding-top: 3rem !important;
}

.pr-30, .pw-30, .pa-30 {
  padding-right: 3rem !important;
}

.pb-30, .ph-30, .pa-30 {
  padding-bottom: 3rem !important;
}

.pl-30, .pw-30, .pa-30 {
  padding-left: 3rem !important;
}

.mt-pc-30, .mh-pc-30, .ma-pc-30 {
  margin-top: 3rem !important;
}

.mr-pc-30, .mw-pc-30, .ma-pc-30 {
  margin-right: 3rem !important;
}

.mb-pc-30, .mh-pc-30, .ma-pc-30 {
  margin-bottom: 3rem !important;
}

.ml-pc-30, .mw-pc-30, .ma-pc-30 {
  margin-left: 3rem !important;
}

.pt-pc-30, .ph-pc-30, .pa-pc-30 {
  padding-top: 3rem !important;
}

.pr-pc-30, .pw-pc-30, .pa-pc-30 {
  padding-right: 3rem !important;
}

.pb-pc-30, .ph-pc-30, .pa-pc-30 {
  padding-bottom: 3rem !important;
}

.pl-pc-30, .pw-pc-30, .pa-pc-30 {
  padding-left: 3rem !important;
}

.mt-sp-30, .mh-sp-30, .ma-sp-30 {
  margin-top: 3rem !important;
}

.mr-sp-30, .mw-sp-30, .ma-sp-30 {
  margin-right: 3rem !important;
}

.mb-sp-30, .mh-sp-30, .ma-sp-30 {
  margin-bottom: 3rem !important;
}

.ml-sp-30, .mw-sp-30, .ma-sp-30 {
  margin-left: 3rem !important;
}

.pt-sp-30, .ph-sp-30, .pa-sp-30 {
  padding-top: 3rem !important;
}

.pr-sp-30, .pw-sp-30, .pa-sp-30 {
  padding-right: 3rem !important;
}

.pb-sp-30, .ph-sp-30, .pa-sp-30 {
  padding-bottom: 3rem !important;
}

.pl-sp-30, .pw-sp-30, .pa-sp-30 {
  padding-left: 3rem !important;
}

.mt-35, .mh-35, .ma-35 {
  margin-top: 3.5rem !important;
}

.mr-35, .mw-35, .ma-35 {
  margin-right: 3.5rem !important;
}

.mb-35, .mh-35, .ma-35 {
  margin-bottom: 3.5rem !important;
}

.ml-35, .mw-35, .ma-35 {
  margin-left: 3.5rem !important;
}

.pt-35, .ph-35, .pa-35 {
  padding-top: 3.5rem !important;
}

.pr-35, .pw-35, .pa-35 {
  padding-right: 3.5rem !important;
}

.pb-35, .ph-35, .pa-35 {
  padding-bottom: 3.5rem !important;
}

.pl-35, .pw-35, .pa-35 {
  padding-left: 3.5rem !important;
}

.mt-pc-35, .mh-pc-35, .ma-pc-35 {
  margin-top: 3.5rem !important;
}

.mr-pc-35, .mw-pc-35, .ma-pc-35 {
  margin-right: 3.5rem !important;
}

.mb-pc-35, .mh-pc-35, .ma-pc-35 {
  margin-bottom: 3.5rem !important;
}

.ml-pc-35, .mw-pc-35, .ma-pc-35 {
  margin-left: 3.5rem !important;
}

.pt-pc-35, .ph-pc-35, .pa-pc-35 {
  padding-top: 3.5rem !important;
}

.pr-pc-35, .pw-pc-35, .pa-pc-35 {
  padding-right: 3.5rem !important;
}

.pb-pc-35, .ph-pc-35, .pa-pc-35 {
  padding-bottom: 3.5rem !important;
}

.pl-pc-35, .pw-pc-35, .pa-pc-35 {
  padding-left: 3.5rem !important;
}

.mt-sp-35, .mh-sp-35, .ma-sp-35 {
  margin-top: 3.5rem !important;
}

.mr-sp-35, .mw-sp-35, .ma-sp-35 {
  margin-right: 3.5rem !important;
}

.mb-sp-35, .mh-sp-35, .ma-sp-35 {
  margin-bottom: 3.5rem !important;
}

.ml-sp-35, .mw-sp-35, .ma-sp-35 {
  margin-left: 3.5rem !important;
}

.pt-sp-35, .ph-sp-35, .pa-sp-35 {
  padding-top: 3.5rem !important;
}

.pr-sp-35, .pw-sp-35, .pa-sp-35 {
  padding-right: 3.5rem !important;
}

.pb-sp-35, .ph-sp-35, .pa-sp-35 {
  padding-bottom: 3.5rem !important;
}

.pl-sp-35, .pw-sp-35, .pa-sp-35 {
  padding-left: 3.5rem !important;
}

.mt-40, .mh-40, .ma-40 {
  margin-top: 4rem !important;
}

.mr-40, .mw-40, .ma-40 {
  margin-right: 4rem !important;
}

.mb-40, .mh-40, .ma-40 {
  margin-bottom: 4rem !important;
}

.ml-40, .mw-40, .ma-40 {
  margin-left: 4rem !important;
}

.pt-40, .ph-40, .pa-40 {
  padding-top: 4rem !important;
}

.pr-40, .pw-40, .pa-40 {
  padding-right: 4rem !important;
}

.pb-40, .ph-40, .pa-40 {
  padding-bottom: 4rem !important;
}

.pl-40, .pw-40, .pa-40 {
  padding-left: 4rem !important;
}

.mt-pc-40, .mh-pc-40, .ma-pc-40 {
  margin-top: 4rem !important;
}

.mr-pc-40, .mw-pc-40, .ma-pc-40 {
  margin-right: 4rem !important;
}

.mb-pc-40, .mh-pc-40, .ma-pc-40 {
  margin-bottom: 4rem !important;
}

.ml-pc-40, .mw-pc-40, .ma-pc-40 {
  margin-left: 4rem !important;
}

.pt-pc-40, .ph-pc-40, .pa-pc-40 {
  padding-top: 4rem !important;
}

.pr-pc-40, .pw-pc-40, .pa-pc-40 {
  padding-right: 4rem !important;
}

.pb-pc-40, .ph-pc-40, .pa-pc-40 {
  padding-bottom: 4rem !important;
}

.pl-pc-40, .pw-pc-40, .pa-pc-40 {
  padding-left: 4rem !important;
}

.mt-sp-40, .mh-sp-40, .ma-sp-40 {
  margin-top: 4rem !important;
}

.mr-sp-40, .mw-sp-40, .ma-sp-40 {
  margin-right: 4rem !important;
}

.mb-sp-40, .mh-sp-40, .ma-sp-40 {
  margin-bottom: 4rem !important;
}

.ml-sp-40, .mw-sp-40, .ma-sp-40 {
  margin-left: 4rem !important;
}

.pt-sp-40, .ph-sp-40, .pa-sp-40 {
  padding-top: 4rem !important;
}

.pr-sp-40, .pw-sp-40, .pa-sp-40 {
  padding-right: 4rem !important;
}

.pb-sp-40, .ph-sp-40, .pa-sp-40 {
  padding-bottom: 4rem !important;
}

.pl-sp-40, .pw-sp-40, .pa-sp-40 {
  padding-left: 4rem !important;
}

.mt-45, .mh-45, .ma-45 {
  margin-top: 4.5rem !important;
}

.mr-45, .mw-45, .ma-45 {
  margin-right: 4.5rem !important;
}

.mb-45, .mh-45, .ma-45 {
  margin-bottom: 4.5rem !important;
}

.ml-45, .mw-45, .ma-45 {
  margin-left: 4.5rem !important;
}

.pt-45, .ph-45, .pa-45 {
  padding-top: 4.5rem !important;
}

.pr-45, .pw-45, .pa-45 {
  padding-right: 4.5rem !important;
}

.pb-45, .ph-45, .pa-45 {
  padding-bottom: 4.5rem !important;
}

.pl-45, .pw-45, .pa-45 {
  padding-left: 4.5rem !important;
}

.mt-pc-45, .mh-pc-45, .ma-pc-45 {
  margin-top: 4.5rem !important;
}

.mr-pc-45, .mw-pc-45, .ma-pc-45 {
  margin-right: 4.5rem !important;
}

.mb-pc-45, .mh-pc-45, .ma-pc-45 {
  margin-bottom: 4.5rem !important;
}

.ml-pc-45, .mw-pc-45, .ma-pc-45 {
  margin-left: 4.5rem !important;
}

.pt-pc-45, .ph-pc-45, .pa-pc-45 {
  padding-top: 4.5rem !important;
}

.pr-pc-45, .pw-pc-45, .pa-pc-45 {
  padding-right: 4.5rem !important;
}

.pb-pc-45, .ph-pc-45, .pa-pc-45 {
  padding-bottom: 4.5rem !important;
}

.pl-pc-45, .pw-pc-45, .pa-pc-45 {
  padding-left: 4.5rem !important;
}

.mt-sp-45, .mh-sp-45, .ma-sp-45 {
  margin-top: 4.5rem !important;
}

.mr-sp-45, .mw-sp-45, .ma-sp-45 {
  margin-right: 4.5rem !important;
}

.mb-sp-45, .mh-sp-45, .ma-sp-45 {
  margin-bottom: 4.5rem !important;
}

.ml-sp-45, .mw-sp-45, .ma-sp-45 {
  margin-left: 4.5rem !important;
}

.pt-sp-45, .ph-sp-45, .pa-sp-45 {
  padding-top: 4.5rem !important;
}

.pr-sp-45, .pw-sp-45, .pa-sp-45 {
  padding-right: 4.5rem !important;
}

.pb-sp-45, .ph-sp-45, .pa-sp-45 {
  padding-bottom: 4.5rem !important;
}

.pl-sp-45, .pw-sp-45, .pa-sp-45 {
  padding-left: 4.5rem !important;
}

.mt-50, .mh-50, .ma-50 {
  margin-top: 5rem !important;
}

.mr-50, .mw-50, .ma-50 {
  margin-right: 5rem !important;
}

.mb-50, .mh-50, .ma-50 {
  margin-bottom: 5rem !important;
}

.ml-50, .mw-50, .ma-50 {
  margin-left: 5rem !important;
}

.pt-50, .ph-50, .pa-50 {
  padding-top: 5rem !important;
}

.pr-50, .pw-50, .pa-50 {
  padding-right: 5rem !important;
}

.pb-50, .ph-50, .pa-50 {
  padding-bottom: 5rem !important;
}

.pl-50, .pw-50, .pa-50 {
  padding-left: 5rem !important;
}

.mt-pc-50, .mh-pc-50, .ma-pc-50 {
  margin-top: 5rem !important;
}

.mr-pc-50, .mw-pc-50, .ma-pc-50 {
  margin-right: 5rem !important;
}

.mb-pc-50, .mh-pc-50, .ma-pc-50 {
  margin-bottom: 5rem !important;
}

.ml-pc-50, .mw-pc-50, .ma-pc-50 {
  margin-left: 5rem !important;
}

.pt-pc-50, .ph-pc-50, .pa-pc-50 {
  padding-top: 5rem !important;
}

.pr-pc-50, .pw-pc-50, .pa-pc-50 {
  padding-right: 5rem !important;
}

.pb-pc-50, .ph-pc-50, .pa-pc-50 {
  padding-bottom: 5rem !important;
}

.pl-pc-50, .pw-pc-50, .pa-pc-50 {
  padding-left: 5rem !important;
}

.mt-sp-50, .mh-sp-50, .ma-sp-50 {
  margin-top: 5rem !important;
}

.mr-sp-50, .mw-sp-50, .ma-sp-50 {
  margin-right: 5rem !important;
}

.mb-sp-50, .mh-sp-50, .ma-sp-50 {
  margin-bottom: 5rem !important;
}

.ml-sp-50, .mw-sp-50, .ma-sp-50 {
  margin-left: 5rem !important;
}

.pt-sp-50, .ph-sp-50, .pa-sp-50 {
  padding-top: 5rem !important;
}

.pr-sp-50, .pw-sp-50, .pa-sp-50 {
  padding-right: 5rem !important;
}

.pb-sp-50, .ph-sp-50, .pa-sp-50 {
  padding-bottom: 5rem !important;
}

.pl-sp-50, .pw-sp-50, .pa-sp-50 {
  padding-left: 5rem !important;
}

/*  width
================================================== */
.w-0 {
  width: 0% !important;
}

.w-5 {
  width: 5% !important;
}

.w-10 {
  width: 10% !important;
}

.w-15 {
  width: 15% !important;
}

.w-20 {
  width: 20% !important;
}

.w-25 {
  width: 25% !important;
}

.w-30 {
  width: 30% !important;
}

.w-35 {
  width: 35% !important;
}

.w-40 {
  width: 40% !important;
}

.w-45 {
  width: 45% !important;
}

.w-50 {
  width: 50% !important;
}

.w-55 {
  width: 55% !important;
}

.w-60 {
  width: 60% !important;
}

.w-65 {
  width: 65% !important;
}

.w-70 {
  width: 70% !important;
}

.w-75 {
  width: 75% !important;
}

.w-80 {
  width: 80% !important;
}

.w-85 {
  width: 85% !important;
}

.w-90 {
  width: 90% !important;
}

.w-95 {
  width: 95% !important;
}

.w-100 {
  width: 100% !important;
}

@media only screen and (min-width: 768px) {
  .w-pc-0 {
    width: 0% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-5 {
    width: 5% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-10 {
    width: 10% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-15 {
    width: 15% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-20 {
    width: 20% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-25 {
    width: 25% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-30 {
    width: 30% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-35 {
    width: 35% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-40 {
    width: 40% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-45 {
    width: 45% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-50 {
    width: 50% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-55 {
    width: 55% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-60 {
    width: 60% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-65 {
    width: 65% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-70 {
    width: 70% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-75 {
    width: 75% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-80 {
    width: 80% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-85 {
    width: 85% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-90 {
    width: 90% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-95 {
    width: 95% !important;
  }
}

@media only screen and (min-width: 768px) {
  .w-pc-100 {
    width: 100% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-0 {
    width: 0% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-5 {
    width: 5% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-10 {
    width: 10% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-15 {
    width: 15% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-20 {
    width: 20% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-25 {
    width: 25% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-30 {
    width: 30% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-35 {
    width: 35% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-40 {
    width: 40% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-45 {
    width: 45% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-50 {
    width: 50% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-55 {
    width: 55% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-60 {
    width: 60% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-65 {
    width: 65% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-70 {
    width: 70% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-75 {
    width: 75% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-80 {
    width: 80% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-85 {
    width: 85% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-90 {
    width: 90% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-95 {
    width: 95% !important;
  }
}

@media only screen and (max-width: 767px) {
  .w-sp-100 {
    width: 100% !important;
  }
}

.px-100 {
  width: 100px !important;
}

.px-105 {
  width: 105px !important;
}

.px-110 {
  width: 110px !important;
}

.px-115 {
  width: 115px !important;
}

.px-120 {
  width: 120px !important;
}

.px-125 {
  width: 125px !important;
}

.px-130 {
  width: 130px !important;
}

.px-135 {
  width: 135px !important;
}

.px-140 {
  width: 140px !important;
}

.px-145 {
  width: 145px !important;
}

.px-150 {
  width: 150px !important;
}

.px-155 {
  width: 155px !important;
}

.px-160 {
  width: 160px !important;
}

.px-165 {
  width: 165px !important;
}

.px-170 {
  width: 170px !important;
}

.px-175 {
  width: 175px !important;
}

.px-180 {
  width: 180px !important;
}

.px-185 {
  width: 185px !important;
}

.px-190 {
  width: 190px !important;
}

.px-195 {
  width: 195px !important;
}

.px-200 {
  width: 200px !important;
}

.px-205 {
  width: 205px !important;
}

.px-210 {
  width: 210px !important;
}

.px-215 {
  width: 215px !important;
}

.px-220 {
  width: 220px !important;
}

.px-225 {
  width: 225px !important;
}

/* ブロック
**************************************************/
.block01 {
  margin: 0 auto 3rem;
  border: solid 2px #555555;
  border-radius: 0.4rem;
  padding: 2rem;
}
.block01__head {
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
  background: #555555;
  color: white;
  margin: -2rem -2rem 2rem;
  padding: 2rem;
}
.block01__figure {
  margin-bottom: 2rem;
}
.block01 > *:last-child {
  margin-bottom: 0;
}
.carousel01 .block01 {
  max-width: 380px;
}

.tabBlock01__head {
  display: flex;
  border-bottom: solid 4px #9F71AB;
}
.tabBlock01__hook {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  background: #ddd;
  padding: 0.2rem 1rem;
  min-width: 14rem;
  min-height: 5rem;
  text-decoration: none;
}
.tabBlock01__hook.is-active {
  background: #9F71AB;
  color: white;
}
.tabBlock01__hook:not(:last-child) {
  margin-right: 1rem;
}
.tabBlock01__body {
  border: solid 2px #9F71AB;
  border-top-width: 0;
  padding: 1rem 1.5rem;
}
.tabBlock01__item:not(.is-active) {
  display: none;
}
.tabBlock01__item > *:last-child {
  margin-bottom: 0;
}

.accordionBlock01__item:not(.is-open):not(:last-child) {
  border-bottom: solid 1px white;
}
.accordionBlock01__hook {
  width: 100%;
  line-height: 1.7;
  min-height: 5rem;
  display: flex;
  align-items: center;
  text-decoration: none;
  background: #9F71AB;
  color: white;
  padding: 0.5rem 2.5rem 0.5rem 1.5rem;
  position: relative;
}
.accordionBlock01__hook:before, .accordionBlock01__hook:after {
  content: "";
  display: block;
  width: 1.2em;
  height: 2px;
  background: white;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.accordionBlock01__hook:after {
  -webkit-transform: translate(0, -50%) rotate(90deg);
          transform: translate(0, -50%) rotate(90deg);
  transition: all 0.4s;
}
.accordionBlock01__hook.is-open:after {
  -webkit-transform: translate(0, -50%) rotate(90deg) scale(0, 0);
          transform: translate(0, -50%) rotate(90deg) scale(0, 0);
}
.accordionBlock01__cont {
  padding: 1.5rem;
}
.accordionBlock01__cont > *:last-child {
  margin-bottom: 0;
}

details {
  padding: 1.5rem 1.5rem 1rem;
}
details > summary {
  margin: -1.5rem -1.5rem 0;
  line-height: 1.7;
  min-height: 5rem;
  display: flex;
  align-items: center;
  text-decoration: none;
  background: #9F71AB;
  color: white;
  padding: 0.5rem 2.5rem 0.5rem 1.5rem;
  position: relative;
  cursor: pointer;
}
details > summary:before, details > summary:after {
  content: "";
  display: block;
  width: 1.2em;
  height: 2px;
  background: white;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
details > summary:after {
  -webkit-transform: translate(0, -50%) rotate(90deg);
          transform: translate(0, -50%) rotate(90deg);
  transition: all 0.4s;
}
details[open] {
  padding-bottom: 1.5rem;
}
details[open] > summary {
  margin-bottom: 1.5rem;
}
details[open] > summary:after {
  -webkit-transform: translate(0, -50%) rotate(90deg) scale(0, 0);
          transform: translate(0, -50%) rotate(90deg) scale(0, 0);
}

.modal01 {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 102;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5rem 2rem;
  background: rgba(0, 0, 0, 0.5);
}
.modal01:not(.is-open) {
  display: none;
}
.modal01.is-open {
  display: flex;
  opacity: 0;
  transition: all 0.4s;
}
.modal01.is-open .modal01__box {
  opacity: 0;
  transition: all 0.4s;
  transition-delay: 0.2s;
}
.modal01.is-open.is-show {
  opacity: 1;
}
.modal01.is-open.is-show .modal01__box {
  opacity: 1;
}
.modal01__box {
  background: white;
  padding: 2rem;
  width: 100%;
  height: auto;
  max-width: 80rem;
  max-height: 100%;
  margin: auto;
  display: flex;
  justify-content: center;
  flex-direction: column;
  position: relative;
}
.modal01__close {
  position: absolute;
  right: 0;
  top: -1rem;
  -webkit-transform: translate(0, -100%);
          transform: translate(0, -100%);
  overflow: hidden;
}
.modal01__close > span {
  text-indent: -5em;
  display: block;
  position: relative;
  width: 2.6rem;
  height: 2.6rem;
  overflow: hidden;
}
.modal01__close > span:before, .modal01__close > span:after {
  content: "";
  display: block;
  width: 3rem;
  height: 2px;
  background: white;
  position: absolute;
  top: 50%;
  left: 50%;
}
.modal01__close > span:before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.modal01__close > span:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.modal01__head {
  margin-bottom: 2rem;
}
.modal01__title {
  text-align: center;
  font-weight: bold;
}
.modal01__body > *:first-child {
  margin-top: 0;
}
.modal01__body > *:last-child {
  margin-bottom: 0;
}
.modal01__body {
  max-width: 100% !important;
  overflow: auto;
}
.modal01__foot {
  text-align: center;
  display: flex;
  justify-content: space-between;
  padding-top: 3rem;
}
.modal01__prev, .modal01__next {
  display: inline-block;
  width: 1.4rem;
  height: 2rem;
  position: relative;
  overflow: hidden;
  text-indent: -5em;
}
.modal01__prev:before, .modal01__next:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 1rem 1.4rem 1rem;
  border-color: transparent transparent black transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.modal01__prev:before {
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
          transform: translate(-50%, -50%) rotate(-90deg);
}
.modal01__next:before {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}

/* 画像
**************************************************/
.figure01 {
  margin: 0 auto 4rem;
}
@media only screen and (min-width: 768px) {
  .figure01 {
    display: table;
    width: 10%;
  }
}
@media only screen and (max-width: 767px) {
  .figure01 {
    margin-bottom: 3rem;
  }
}
.figure01 figcaption {
  font-size: 1.4rem;
  margin: 0 auto 1rem;
  line-height: 1.4;
}
.figure01 img, .figure01 picture {
  display: inline-block;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .figure01 img, .figure01 picture {
    max-width: inherit;
  }
}
.figure01 img + figcaption, .figure01 picture + figcaption {
  margin-top: 1rem;
  margin-bottom: 0;
}

/* リンク
**************************************************/
a[class*=link] {
  text-decoration: none;
}

.link01 {
  display: inline-block;
  position: relative;
  transition: opacity 0.4s cubic-bezier(0.11, -0.42, 1, 0.74);
}
.link01:before {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  border-bottom: solid 1px #0C0B0B;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.4s;
}
@media only screen and (min-width: calc(768 * 1px)) {
  .link01:hover {
    opacity: 0.75;
  }
  .link01:hover:before {
    width: 0;
  }
}
@media only screen and (max-width: calc(768 - 1px)) {
  .link01:focus, .link01:active {
    opacity: 0.75;
  }
  .link01:focus:before, .link01:active:before {
    width: 0;
  }
}

.link02 {
  display: inline-block;
  position: relative;
  padding-left: 1.2em;
}
.link02:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.3em 0 0.3em 0.35em;
  border-color: transparent transparent transparent #0C0B0B;
  position: absolute;
  top: 0.6em;
  left: 0.5em;
}

/* --------------------------------------------------
  ページネーション
-------------------------------------------------- */
.pagenation {
  margin: 12rem 0 4rem;
  display: flex;
  justify-content: center;
  gap: 4rem;
  grid-template-areas: "prev numbers next";
}
@media only screen and (max-width: 767px) {
  .pagenation {
    margin: 5rem 0 2rem;
    display: grid;
    grid-template-columns: 3rem 3rem 1fr 3rem 3rem;
    grid-template-areas: "numbers numbers numbers numbers numbers" "first prev spacer next last";
    row-gap: 2.8rem;
  }
}
.pagenation a {
  text-decoration: none;
  transition: all 0.4s;
}
@media only screen and (min-width: calc(768 * 1px)) {
  .pagenation a:hover {
    opacity: 1;
  }
}
@media only screen and (max-width: calc(768 - 1px)) {
  .pagenation a:focus, .pagenation a:active {
    opacity: 1;
  }
}
.pagenation__links {
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4rem;
  grid-area: numbers;
}
.pagenation__links:first-child {
  margin-left: -7.2rem;
}
.pagenation__links:last-child {
  margin-right: -7.2rem;
}
@media only screen and (max-width: 767px) {
  .pagenation__links {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
}
.pagenation .page-numbers li, .pagenation__item,
.pagenation .page-numbers li a, .pagenation__link {
  font-size: 1.6rem;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .pagenation .page-numbers li, .pagenation__item,
  .pagenation .page-numbers li a, .pagenation__link {
    padding-bottom: 0.2em;
    width: 4rem;
  }
}
.pagenation .page-numbers li.is-current, .pagenation__item.is-current,
.pagenation .page-numbers li a.is-current, .pagenation__link.is-current {
  cursor: default;
  pointer-events: none;
  color: white;
  background: #E18040;
  width: 4rem;
  height: 4rem;
  padding-bottom: 0.25em;
  border-radius: 50%;
}
.pagenation .page-numbers li:first-child, .pagenation__item:first-child {
  margin-left: 7.3rem;
}
.pagenation .page-numbers li:last-child, .pagenation__item:last-child {
  margin-right: 7.3rem;
}
.pagenation .page-numbers li.is-current, .pagenation__item.is-current {
  color: white;
  background: #E18040;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
}
@media only screen and (min-width: calc(768 * 1px)) {
  .pagenation .page-numbers li a:hover, .pagenation__link:hover {
    color: #9F71AB;
  }
}
@media only screen and (max-width: calc(768 - 1px)) {
  .pagenation .page-numbers li a:focus, .pagenation .page-numbers li a:active, .pagenation__link:focus, .pagenation__link:active {
    color: #9F71AB;
  }
}
.pagenation__first, .pagenation__prev, .pagenation__next, .pagenation__last {
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 1.4rem auto;
  padding-top: 2rem;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
}
.pagenation__first.is-disabled, .pagenation__prev.is-disabled, .pagenation__next.is-disabled, .pagenation__last.is-disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.5;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
@media only screen and (min-width: calc(768 * 1px)) {
  .pagenation__first:hover, .pagenation__prev:hover, .pagenation__next:hover, .pagenation__last:hover {
    opacity: 1;
    color: #E18040;
  }
}
@media only screen and (max-width: calc(768 - 1px)) {
  .pagenation__first:focus, .pagenation__first:active, .pagenation__prev:focus, .pagenation__prev:active, .pagenation__next:focus, .pagenation__next:active, .pagenation__last:focus, .pagenation__last:active {
    opacity: 1;
    color: #E18040;
  }
}
.pagenation__last {
  display: none;
}
.pagenation__prev {
  justify-self: flex-start;
  grid-area: prev;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_5" data-name="多角形 5" d="M7,0l7,15H0Z" transform="translate(0 14) rotate(-90)" fill="%231c5a95"/></svg>');
}
@media only screen and (min-width: calc(768 * 1px)) {
  .pagenation__prev:hover {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_5" data-name="多角形 5" d="M7,0l7,15H0Z" transform="translate(0 14) rotate(-90)" fill="%23b4a84d"/></svg>');
  }
}
@media only screen and (max-width: calc(768 - 1px)) {
  .pagenation__prev:focus, .pagenation__prev:active {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_5" data-name="多角形 5" d="M7,0l7,15H0Z" transform="translate(0 14) rotate(-90)" fill="%23b4a84d"/></svg>');
  }
}
.pagenation__next {
  justify-self: flex-end;
  grid-area: next;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_6" data-name="多角形 6" d="M7,0l7,15H0Z" transform="translate(15) rotate(90)" fill="%231c5a95"/></svg>');
}
@media only screen and (min-width: calc(768 * 1px)) {
  .pagenation__next:hover {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_6" data-name="多角形 6" d="M7,0l7,15H0Z" transform="translate(15) rotate(90)" fill="%23b4a84d"/></svg>');
  }
}
@media only screen and (max-width: calc(768 - 1px)) {
  .pagenation__next:focus, .pagenation__next:active {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_6" data-name="多角形 6" d="M7,0l7,15H0Z" transform="translate(15) rotate(90)" fill="%23b4a84d"/></svg>');
  }
}
.pagenation__first {
  display: none;
}

.pager01 {
  margin: 3rem 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .pager01 {
    margin: 3rem -0.5rem 0;
  }
}
.pager01 a {
  color: white;
}
.pager01__btn a:hover {
  background-color: #cccccc;
  color: #ffffff;
}
.pager01__list {
  letter-spacing: -0.5em;
}
.pager01__link {
  position: relative;
  letter-spacing: 0.04em;
  display: inline-block;
  margin: 0 0.4rem;
  color: #333;
}
.pager01__btn {
  letter-spacing: 0.04em;
  display: inline-block;
  margin: 0 1.5rem;
}
@media only screen and (max-width: 767px) {
  .pager01__btn {
    margin: 0 1px;
  }
}
.pager01__btn a {
  display: inline-block;
  height: 5rem;
  line-height: 5rem;
  min-width: 5rem;
  text-align: center;
  box-sizing: border-box;
  font-size: 1.8rem;
  transition: all 0.3s;
  background-color: #9F71AB;
}
@media only screen and (max-width: 767px) {
  .pager01__btn a {
    min-width: 3.6rem;
    height: 3.6rem;
    line-height: 3.6rem;
  }
}
.pager01 .is-current a {
  color: #9F71AB;
  background-color: #fff000;
}
.pager01__link {
  margin: 0 1rem;
}
@media only screen and (max-width: 767px) {
  .pager01__link {
    margin: 0 0.5rem;
  }
}
.pager01__link a {
  transition: all 0.3s;
  padding: 1rem 0;
}
.pager01__link a:hover {
  opacity: 0.75;
}
.pager01__link--first a {
  position: relative;
}
.pager01__link--first a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 1rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-135deg);
          transform: translateX(-50%) translateY(-50%) rotate(-135deg);
}
.pager01__link--first a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 2rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-135deg);
          transform: translateX(-50%) translateY(-50%) rotate(-135deg);
}
.pager01__link--last a {
  position: relative;
}
.pager01__link--last a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
          transform: translateX(50%) translateY(-50%) rotate(45deg);
}
.pager01__link--last a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
          transform: translateX(50%) translateY(-50%) rotate(45deg);
}
.pager01__link--prev {
  padding: 0;
}
.pager01__link--prev a {
  color: transparent;
  position: relative;
  padding: 0.3rem 1rem;
}
@media only screen and (max-width: 767px) {
  .pager01__link--prev a {
    padding: 0.3rem 0.4rem;
  }
}
.pager01__link--prev a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-135deg);
          transform: translateX(-50%) translateY(-50%) rotate(-135deg);
}
.pager01__link--next {
  padding: 0;
}
.pager01__link--next a {
  color: transparent;
  position: relative;
  padding: 0.3rem 1rem;
}
@media only screen and (max-width: 767px) {
  .pager01__link--next a {
    padding: 0.3rem 0.4rem;
  }
}
.pager01__link--next a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 1rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
          transform: translateX(50%) translateY(-50%) rotate(45deg);
}

.btnWrap01 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: -2rem -1rem 5rem;
}
.btnWrap01 > a[class*=btn] {
  margin: 2rem 1rem 0;
}
.btnWrap01--list {
  flex-direction: column;
}
.btnWrap01__col1 {
  width: calc(100% - 2rem);
}
.btnWrap01__col2 {
  width: calc(50% - 2rem);
}

.btn01 {
  background: white;
  border: solid 2px #9F71AB;
  padding: 0.5rem 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 5rem;
  min-width: 20rem;
  position: relative;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.4rem;
  color: #9F71AB;
  transition: all 0.4s;
}
.btn01:hover {
  opacity: 0.65;
}
.btn01--arrowRight {
  padding: 0.5rem 3.5rem;
}
.btn01--arrowRight:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-right: solid 2px #9F71AB;
  border-top: solid 2px #9F71AB;
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
}
.btn01--arrowLeft {
  padding: 0.5rem 3.5rem;
}
.btn01--arrowLeft:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-left: solid 2px #9F71AB;
  border-top: solid 2px #9F71AB;
  position: absolute;
  left: 1rem;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(-45deg);
          transform: translate(0, -50%) rotate(-45deg);
}
.btn01--arrowUp {
  padding: 0.5rem 3.5rem;
}
.btn01--arrowUp:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-right: solid 2px #9F71AB;
  border-top: solid 2px #9F71AB;
  position: absolute;
  left: 1rem;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(-45deg);
          transform: translate(0, -50%) rotate(-45deg);
}
.btn01--arrowDown {
  padding: 0.5rem 3.5rem;
}
.btn01--arrowDown:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-right: solid 2px #9F71AB;
  border-top: solid 2px #9F71AB;
  position: absolute;
  left: 1rem;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(135deg);
          transform: translate(0, -50%) rotate(135deg);
}

.anchor01 {
  margin-bottom: 12rem;
}
.anchor01__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.6rem 3.8rem;
}
@media only screen and (max-width: 767px) {
  .anchor01__list {
    flex-direction: column;
  }
}
.anchor01__item a {
  text-decoration: none;
  display: inline-block;
  padding-bottom: 2rem;
  font-weight: 500;
  border-bottom: solid 1px #9F71AB;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .anchor01__item a {
    min-width: 32rem;
  }
}
@media only screen and (max-width: 767px) {
  .anchor01__item a {
    display: block;
    padding-bottom: 1.6rem;
  }
}
.anchor01__item a:before {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background-color: #E18040;
  background-repeat: no-repeat;
  background-position: 48% 55%;
  background-size: 0.8rem auto;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8.571" viewBox="0 0 8 8.571"><path id="多角形_10" data-name="多角形 10" d="M4,0,8,8.571H0Z" transform="translate(8 8.571) rotate(180)" fill="%23fff"/></svg>');
  transition: background-color 0.4s;
  position: absolute;
  top: 0;
  right: 0;
}
.anchor01__item a:hover {
  opacity: 1;
}
.anchor01__item a:hover:before {
  background-color: #9F71AB;
}

/* リスト
**************************************************/
.list01 > li {
  padding-left: 1.6rem;
  position: relative;
}
.list01 > li:not(:last-child) {
  margin-top: 0.8rem;
}
.list01 > li:before {
  content: "";
  display: block;
  width: 2px;
  height: 2px;
  background: #0C0B0B;
  border-radius: 50%;
  position: absolute;
  left: 0.4em;
  top: 0.9em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* 数字付きリスト
**************************************************/
.numberList01 {
  margin-bottom: 5rem;
  margin-left: 1.5em;
}
.numberList01 > li {
  list-style-type: decimal;
}
.numberList01 > li:not(:last-child) {
  margin-bottom: 0.5em;
}
.numberList01 > li > ul {
  margin-top: 0.5em;
}

.numberList02 {
  margin-bottom: 5rem;
}
.numberList02 > li {
  list-style-type: none;
  text-indent: -2em;
  padding-left: 2em;
  counter-increment: calc-ex9;
}
.numberList02 > li:not(:last-child) {
  margin-bottom: 0.5em;
}
.numberList02 > li:before {
  content: counter(calc-ex9) ".";
  display: inline-block;
  width: 2em;
  text-indent: 0;
}
.numberList02 > li:nth-child(n+1):nth-child(-n+9):before {
  content: "0" counter(calc-ex9) ".";
}
.numberList02 > li > ul {
  text-indent: 0;
  margin-top: 0.5em;
}

/* リンクリスト
**************************************************/
/* 注釈リスト
**************************************************/
.noteList01 {
  font-size: 1.2rem;
  line-height: 1.6666666667;
  margin-bottom: 5rem;
}
.noteList01 > li {
  padding-left: 1.5em;
  margin-bottom: 0;
}
.noteList01 > li:before {
  content: "※";
  width: 1.5em;
  display: inline-block;
  position: relative;
  margin-left: -1.5em;
}

/* アイコンリスト
**************************************************/
.iconList01 {
  margin-bottom: 5rem;
  display: table;
}
.iconList01--s {
  font-size: 1.2rem;
}
.iconList01 > li {
  display: table-row;
}
.iconList01 > li > i {
  font-style: normal;
  display: table-cell;
  padding-right: 0.5em;
  white-space: nowrap;
}

/* DLリスト
**************************************************/
.dlist01 {
  margin-bottom: 5rem;
}
.dlist01 dt {
  font-weight: bold;
}
.dlist01 dt:not(:first-child) {
  margin-top: 0.5rem;
}

/* セクション
**************************************************/
.section01 {
  margin-bottom: 12rem;
}
.section01--blue {
  background: #F8E2D3;
  padding: 8.8rem 0;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 767px) {
  .section01--blue {
    padding: 4.8rem 0;
    margin: 0 -1.6rem 7.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .section01 {
    margin-bottom: 10.5rem;
  }
}
.section01 > *:last-child {
  margin-bottom: 0;
}

/* 見出し
**************************************************/
.title01 {
  width: 100%;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.325;
  letter-spacing: 0.07em;
  text-align: center;
  color: #E18040;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .title01 {
    font-size: 2rem;
    line-height: 1.35;
    margin-bottom: 4rem;
  }
}

.title02 {
  font-weight: 700;
  font-size: 2rem;
  line-height: 150%;
  letter-spacing: 0.15em;
  color: #E18040;
  margin-bottom: 1rem;
}
* + .title02 {
  margin-top: 3rem;
}

/* メインビジュアル
**************************************************/
.mainVisual01 {
  position: relative;
}
.mainVisual01__item img {
  width: 100%;
}
.mainVisual01 .slick-dots {
  position: absolute;
  bottom: 1rem;
  left: 5rem;
  display: flex;
  justify-content: flex-start;
  font-size: 0;
  z-index: 2;
}
.mainVisual01 .slick-dots li:not(:last-child) {
  margin-right: 1.5rem;
}
.mainVisual01 .slick-dots button {
  width: 3rem;
  height: 0.5rem;
  background: #2A2D33;
}
.mainVisual01 .slick-dots .slick-active button {
  background: #C62032;
}

.mainVisual02 {
  position: relative;
  overflow: hidden;
}
.mainVisual02__text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-size: 4rem;
  line-height: 1;
  font-weight: bold;
  color: white;
  z-index: 1;
}
.mainVisual02__text small {
  font-size: 2rem;
  display: inline-block;
  margin-top: 0.5rem;
}
.mainVisual02__picture {
  position: relative;
  z-index: 0;
}
.mainVisual02__image {
  max-width: inherit;
  width: 100%;
}

*[class*=__head] > *:first-child,
*[class*=__body] > *:first-child,
*[class*=__cont] > *:first-child {
  margin-top: 0;
}
*[class*=__head] > *:last-child,
*[class*=__body] > *:last-child,
*[class*=__cont] > *:last-child {
  margin-bottom: 0;
}

.title01 {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  text-align: center;
  justify-content: center;
  align-items: center;
  margin-bottom: 4rem;
}
.title01 img {
  width: 4rem;
}
.title01 > span {
  display: inline-block;
}
.title01 > span:first-of-type {
  font-weight: 900;
  font-size: 1.2rem;
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.title01 > span:last-of-type {
  font-weight: 700;
  font-size: 3rem;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.5em;
  position: relative;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media only screen and (max-width: 767px) {
  .title01 > span:last-of-type {
    font-weight: 700;
    font-size: 2.4rem;
    letter-spacing: 0.5em;
    padding: 0;
  }
}
.title01 > span:last-of-type::before, .title01 > span:last-of-type::after {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  background: #E18040;
  position: absolute;
  top: 50%;
}
@media only screen and (max-width: 767px) {
  .title01 > span:last-of-type::before, .title01 > span:last-of-type::after {
    display: none;
  }
}
.title01 > span:last-of-type:before {
  left: 0;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}
.title01 > span:last-of-type:after {
  right: 0;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
}

.title02 {
  font-weight: 700;
  font-size: 2rem;
  line-height: 150%;
  letter-spacing: 0.15em;
  color: #E18040;
  margin-bottom: 1rem;
}
* + .title02 {
  margin-top: 3rem;
}

.c-mv {
  background: url(../images/top/bg_mv.png) left top repeat;
  background-size: 160rem auto;
}
@media only screen and (min-width: 768px) {
  .c-mv {
    padding: 8.5rem 0;
    padding-left: calc(220px + 3rem);
  }
  .c-mv > * {
    margin-left: calc((220px + 3rem) * -1);
    padding-left: calc(220px + 3rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-mv {
    padding-top: calc(3.4rem + var(--headerHgt));
    padding-bottom: 6rem;
  }
}
.c-mv__inner > *:last-child {
  margin-bottom: 0;
}
.c-mv__title {
  text-align: center;
  align-items: center;
  display: flex;
  flex-direction: column;
  color: #E18040;
}
.c-mv__title img {
  width: 5rem;
}
.c-mv__title span:first-of-type {
  margin-bottom: 0.5rem;
  font-weight: 900;
  font-size: 1.2rem;
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.c-mv__title span:last-of-type {
  font-weight: 700;
  font-size: 4rem;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.5em;
  padding: 0 5.2rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-mv__title span:last-of-type {
    font-size: 2.4rem;
    padding: 0;
  }
}
.c-mv__title span:last-of-type:before, .c-mv__title span:last-of-type:after {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  background: #E18040;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .c-mv__title span:last-of-type:before, .c-mv__title span:last-of-type:after {
    display: none;
  }
}
.c-mv__title span:last-of-type:before {
  left: 0;
}
.c-mv__title span:last-of-type:after {
  right: 0;
}

.card01 {
  margin-bottom: 4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  .card01 {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .card01--imageBottom {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .card01 img {
    width: auto;
    max-width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .card01--imageRight {
    justify-content: flex-start;
  }
}
@media only screen and (min-width: 768px) {
  .card01--imageLeft {
    justify-content: flex-end;
    flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 768px) {
  .card01__cont, .card01__body {
    flex: 1;
  }
}
@media only screen and (max-width: 767px) {
  .card01__cont, .card01__body {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .card01__figure {
    max-width: calc(50% - 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .card01__figure {
    width: 100%;
    text-align: center;
  }
  .card01__figure figcaption {
    text-align: left;
  }
}
.card01__figure > *:not(:last-child) {
  margin-bottom: 2rem;
}

.row01 {
  display: flex;
  flex-wrap: wrap;
  grid-row-gap: 2rem;
  grid-column-gap: 2rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 767px) {
  .row01 {
    grid-row-gap: 2rem;
    grid-column-gap: 2rem;
  }
}
.row01__col > *:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .row01__col {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .row01__col--1 {
    width: calc(8.3333333333% - 1.8333333333rem);
  }
  .row01__col--2 {
    width: calc(16.6666666667% - 1.6666666667rem);
  }
  .row01__col--3 {
    width: calc(25% - 1.5rem);
  }
  .row01__col--4 {
    width: calc(33.3333333333% - 1.3333333333rem);
  }
  .row01__col--5 {
    width: calc(41.6666666667% - 1.1666666667rem);
  }
  .row01__col--6 {
    width: calc(50% - 1rem);
  }
  .row01__col--7 {
    width: calc(58.3333333333% - 0.8333333333rem);
  }
  .row01__col--8 {
    width: calc(66.6666666667% - 0.6666666667rem);
  }
  .row01__col--9 {
    width: calc(75% - 0.5rem);
  }
  .row01__col--10 {
    width: calc(83.3333333333% - 0.3333333333rem);
  }
  .row01__col--11 {
    width: calc(91.6666666667% - 0.1666666667rem);
  }
  .row01__col--12 {
    width: calc(100% - 0rem);
  }
}

.c-btn01 {
  text-decoration: none;
  padding: 2rem 4.5rem 2rem 2.5rem;
  min-width: 26.4rem;
  height: 6.8rem;
  background-color: #E18040;
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  background-size: 1.65rem;
  background-image: url(../images/common/arrow_btn.svg);
  border: 2px solid #0C0B0B;
  box-shadow: 0.4rem 0.4rem 0px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 170%;
  text-align: center;
  letter-spacing: 0.15em;
  color: #FFFFFF;
}

.c-leadBox01 {
  border-radius: 0.8rem;
  background: #FFFFFF;
  border: 2px solid #E18040;
  padding: 4rem;
  font-weight: 500;
  font-size: 2rem;
  line-height: 2;
  text-align: center;
  letter-spacing: 0.15em;
  margin: 0 auto 4rem;
}
@media only screen and (max-width: 767px) {
  .c-leadBox01 {
    text-align: left;
    padding: 2rem;
    font-size: 1.6rem;
  }
}
.c-leadBox01 > *:last-child {
  margin-bottom: 0;
}

.c-box01 {
  margin: 0 auto 4rem;
  background: #F3F2F2;
  border-radius: 0.8rem;
  padding: 4rem;
}
@media only screen and (max-width: 767px) {
  .c-box01 {
    padding: 2rem;
  }
}
.c-box01__title {
  margin-bottom: 2rem;
  font-weight: 700;
  font-size: 3rem;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.5em;
  color: #E18040;
}
.c-box01 > *:last-child {
  margin-bottom: 0;
}

.c-box02 {
  border-radius: 0.8rem;
  background: #FFFFFF;
  border: 2px solid #E18040;
  padding: 4rem;
  margin: 0 auto 4rem;
}
.c-box02 ul {
  margin-right: -1em;
}
@media only screen and (max-width: 767px) {
  .c-box02 {
    padding: 2rem;
  }
}
.c-box02 strong {
  color: #E18040;
}
.c-box02 > *:not(.c-box02__title):not(:last-child) {
  margin-bottom: 1rem;
}
.c-box02 > *:last-child {
  margin-bottom: 0;
}
.c-box02__title {
  margin-bottom: 2rem;
  font-weight: 700;
  font-size: 3rem;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.5em;
  color: #E18040;
}
@media only screen and (max-width: 767px) {
  .c-box02__title {
    font-size: 2.4rem;
    line-height: 2.5;
    letter-spacing: 0.15em;
  }
}
.c-box02__title > span {
  display: inline-block;
  position: relative;
}
.c-box02__title > span::before, .c-box02__title > span::after {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  background: #E18040;
  position: absolute;
  top: 50%;
}
@media only screen and (max-width: 767px) {
  .c-box02__title > span::before, .c-box02__title > span::after {
    display: none;
  }
}
.c-box02__title > span:before {
  left: -3rem;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}
.c-box02__title > span:after {
  right: -3rem;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
}

.c-anchorList {
  margin: 12rem auto;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  .c-anchorList {
    margin: 10rem auto;
    gap: 1rem;
  }
}
.c-anchorList__link {
  display: inline-flex;
  align-items: center;
  padding: 1.5rem 4rem 1.5rem 2rem;
  background-color: #E18040;
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  background-size: 1.66rem;
  background-image: url(../images/common/arrow_down.svg);
  border-radius: 0.8rem;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.15em;
  color: #FFFFFF;
  width: calc((100% - 6rem) / 4);
  transition: background 0.4s;
}
@media only screen and (max-width: 767px) {
  .c-anchorList__link {
    width: calc((100% - 1rem) / 2);
  }
}
@media only screen and (min-width: calc(768 * 1px)) {
  .c-anchorList__link:hover {
    opacity: 1;
    background-color: #E59764;
  }
}
@media only screen and (max-width: calc(768 - 1px)) {
  .c-anchorList__link:focus, .c-anchorList__link:active {
    opacity: 1;
    background-color: #E59764;
  }
}

ol.c-numList { /* 対象: オレンジ番号のOL本体 */
  list-style-type: decimal-leading-zero; /* 01, 02... と2桁の先頭ゼロを表示（対応環境） */
  -webkit-padding-start: 1.8em;
          padding-inline-start: 1.8em; /* マーカー分の左インデント（論理プロパティでRTLにも強い） */
  margin: 0; /* 余白初期化（必要に応じて調整） */
  --c-numList-color: #ff7a00; /* デフォルトの番号色（オレンジ）。用途に応じて上書き可 */
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 170%;
  letter-spacing: 0.15em;
}
ol.c-numList > li::marker { /* ネイティブマーカーのスタイル指定 */
  color: var(--c-numList-color); /* 番号色：CSS変数で簡単カスタム */
  font-weight: 700; /* 番号を太字にして視認性UP */
  font-variant-numeric: tabular-nums; /* 等幅数字で桁ズレ防止 */
}
ol.c-numList > li:not(:last-child) {
  margin-bottom: 0.75em;
}

/* === フォールバック: decimal-leading-zero 非対応環境向け === */
@supports not (list-style-type: decimal-leading-zero) {
  ol.c-numList { /* マーカーを自前描画に切替える準備 */
    list-style: none; /* 既定マーカー非表示 */
    counter-reset: c-numList; /* 自前の連番カウンタ初期化 */
    -webkit-padding-start: 0;
            padding-inline-start: 0; /* 左インデントは各li側で確保 */
  }
  ol.c-numList > li { /* 各行でカウンタを進める */
    counter-increment: c-numList; /* 1件ごとに+1 */
    position: relative; /* 疑似要素配置の基準に */
    -webkit-padding-start: 2.4em;
            padding-inline-start: 2.4em; /* 番号ボックス分のインデント */
  }
  ol.c-numList::before { /* 自前の番号を描く疑似要素 */
    content: counter(c-numList, decimal-leading-zero) "."; /* 例: 01. / 02. */
    position: absolute; /* liの左側に固定配置 */
    inset-inline-start: 0; /* 左端（論理方向） */
    inline-size: 2em; /* 番号ボックスの幅で桁揃え */
    text-align: right; /* 右寄せで読みやすく */
    color: var(--c-numList-color); /* 番号色（オレンジ） */
    font-weight: 700; /* 太字で視認性UP */
    font-variant-numeric: tabular-nums; /* 等幅数字で桁ズレ防止 */
  }
}
/******************************************************
*  アニメーション
******************************************************/
/* 速度 */
*[data-inview-duration="100"] {
  transition-duration: 0.1s !important;
}

*[data-inview-duration="200"] {
  transition-duration: 0.2s !important;
}

*[data-inview-duration="300"] {
  transition-duration: 0.3s !important;
}

*[data-inview-duration="400"] {
  transition-duration: 0.4s !important;
}

*[data-inview-duration="500"] {
  transition-duration: 0.5s !important;
}

*[data-inview-duration="600"] {
  transition-duration: 0.6s !important;
}

*[data-inview-duration="700"] {
  transition-duration: 0.7s !important;
}

*[data-inview-duration="800"] {
  transition-duration: 0.8s !important;
}

*[data-inview-duration="900"] {
  transition-duration: 0.9s !important;
}

*[data-inview-duration="1000"] {
  transition-duration: 1s !important;
}

*[data-inview-duration="1100"] {
  transition-duration: 1.1s !important;
}

*[data-inview-duration="1200"] {
  transition-duration: 1.2s !important;
}

*[data-inview-duration="1300"] {
  transition-duration: 1.3s !important;
}

*[data-inview-duration="1400"] {
  transition-duration: 1.4s !important;
}

*[data-inview-duration="1500"] {
  transition-duration: 1.5s !important;
}

*[data-inview-duration="1600"] {
  transition-duration: 1.6s !important;
}

*[data-inview-duration="1700"] {
  transition-duration: 1.7s !important;
}

*[data-inview-duration="1800"] {
  transition-duration: 1.8s !important;
}

*[data-inview-duration="1900"] {
  transition-duration: 1.9s !important;
}

*[data-inview-duration="2000"] {
  transition-duration: 2s !important;
}

/* 遅延処理 */
*[data-inview-delay="100"] {
  transition-delay: 0.1s !important;
}

*[data-inview-delay="200"] {
  transition-delay: 0.2s !important;
}

*[data-inview-delay="300"] {
  transition-delay: 0.3s !important;
}

*[data-inview-delay="400"] {
  transition-delay: 0.4s !important;
}

*[data-inview-delay="500"] {
  transition-delay: 0.5s !important;
}

*[data-inview-delay="600"] {
  transition-delay: 0.6s !important;
}

*[data-inview-delay="700"] {
  transition-delay: 0.7s !important;
}

*[data-inview-delay="800"] {
  transition-delay: 0.8s !important;
}

*[data-inview-delay="900"] {
  transition-delay: 0.9s !important;
}

*[data-inview-delay="1000"] {
  transition-delay: 1s !important;
}

*[data-inview-delay="1100"] {
  transition-delay: 1.1s !important;
}

*[data-inview-delay="1200"] {
  transition-delay: 1.2s !important;
}

*[data-inview-delay="1300"] {
  transition-delay: 1.3s !important;
}

*[data-inview-delay="1400"] {
  transition-delay: 1.4s !important;
}

*[data-inview-delay="1500"] {
  transition-delay: 1.5s !important;
}

*[data-inview-delay="1600"] {
  transition-delay: 1.6s !important;
}

*[data-inview-delay="1700"] {
  transition-delay: 1.7s !important;
}

*[data-inview-delay="1800"] {
  transition-delay: 1.8s !important;
}

*[data-inview-delay="1900"] {
  transition-delay: 1.9s !important;
}

*[data-inview-delay="2000"] {
  transition-delay: 2s !important;
}

*[data-inview-delay="250"] {
  transition-delay: 0.25s !important;
}

.js-fadeIn {
  opacity: 0;
  transition: opacity 0.6s ease-out;
  transition-delay: 0.1s;
}
.in-view .js-fadeIn, .js-fadeIn.in-view {
  opacity: 1;
}

.js-fadeBlur, .js-fadeBlur__inner {
  transition: opacity 0.4s, -webkit-filter 0.4s;
  transition: opacity 0.4s, filter 0.4s;
  transition: opacity 0.4s, filter 0.4s, -webkit-filter 0.4s;
  opacity: 0;
  -webkit-filter: blur(1rem);
          filter: blur(1rem);
  transition-delay: 1s;
}
.in-view .js-fadeBlur, .js-fadeBlur.in-view, .in-view .js-fadeBlur__inner, .js-fadeBlur__inner.in-view {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

.js-fadeBlur__inner {
  transition-delay: 1.1s;
}

.js-slideUp {
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, transform 0.6s;
  transition: opacity 0.6s, transform 0.6s, -webkit-transform 0.6s;
}
.in-view .js-slideUp, .js-slideUp.in-view {
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
}

.js-slideUp02 {
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  transition: opacity 0.4s, -webkit-transform 0.4s;
  transition: opacity 0.4s, transform 0.4s;
  transition: opacity 0.4s, transform 0.4s, -webkit-transform 0.4s;
}
.in-viewItem .js-slideUp02 {
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
}

.js-slideImageLeft,
.js-slideImageRight {
  position: relative;
  overflow: hidden;
}
.js-slideImageLeft:before,
.js-slideImageRight:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: white;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
  transition-delay: 0.2s;
  transition: 0.6s;
  transition-timing-function: ease;
}
.in-view .js-slideImageLeft:before,
.in-view .js-slideImageRight:before {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.js-slideInLeft,
.js-slideInRight {
  -webkit-transform: translateX(-2rem);
          transform: translateX(-2rem);
  opacity: 0;
  transition-delay: 0.2s;
  transition: 0.6s;
  transition-timing-function: ease;
}
.in-view .js-slideInLeft, .js-slideInLeft.in-view,
.in-view .js-slideInRight,
.js-slideInRight.in-view {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}

.js-effectBlur {
  opacity: 0;
  -webkit-filter: blur(1rem);
          filter: blur(1rem);
  transition: opacity 0.4s, -webkit-filter 0.4s;
  transition: opacity 0.4s, filter 0.4s;
  transition: opacity 0.4s, filter 0.4s, -webkit-filter 0.4s;
  transition-delay: 1s;
}
.in-view .js-effectBlur {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

.p-top .section01 {
  padding-top: 0;
  padding-bottom: 0;
}
.p-top .inner {
  max-width: 1000px;
}

.p-top-mv {
  background: url(../images/top/bg_mv.png) left top repeat;
  background-size: 160rem auto;
}
@media only screen and (min-width: 1201px) {
  .p-top-mv {
    padding-left: calc(220px + 3rem);
  }
  .p-top-mv > * {
    margin-left: calc((220px + 3rem) * -1);
    padding-left: calc(220px + 3rem);
  }
}
.p-top-mv__inner {
  position: relative;
}
.p-top-mv__inner:before {
  content: "";
  display: block;
  width: 100%;
  min-width: 1600px;
  height: 1.7rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
  background-image: url(../images/top/arrow_mv.png);
  position: absolute;
  bottom: 4px;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}
@media only screen and (max-width: 767px) {
  .p-top-mv__inner:before {
    background-size: 1600px;
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
}
.p-top-mv h1 {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .p-top-mv h1 {
    text-align: center;
    padding: 18.4rem 0 19.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-top-mv h1 {
    padding: 13.4rem 2.75rem 0;
  }
}
.p-top-mv__image.--v2 {
  position: absolute;
  top: 18.4rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (max-width: 767px) {
  .p-top-mv__image.--v2 {
    top: 13.4rem;
    width: calc(100% - 5.5rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-top-mv__image {
    max-width: 120rem;
    width: 75vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .p-top-mv__image {
    width: calc(100% - 7rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-top-mv__image {
    margin-bottom: -0.4rem;
  }
}

.p-top-mv__inner.--v2 {
  padding: 17.6rem 6rem 19rem;
}
@media only screen and (min-width: 1201px) {
  .p-top-mv__inner.--v2 {
    padding-left: 3rem;
  }
}

.p-top-mvFigure {
  width: 100%;
  max-width: 1200px;
  display: grid;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.p-top-mvFigure__image {
  width: 100%;
  max-width: 32rem;
  max-width: 26.6666666667%;
}
@media only screen and (min-width: 768px) and (max-width: 1599px) {
  .p-top-mvFigure__image {
    width: 20vw;
  }
}
.p-top-mvFigure__body {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  flex: 1;
}
.p-top-mvFigure__title {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  font-weight: 700;
  font-size: 5.6rem;
  line-height: 1.0714285714;
  letter-spacing: 0.15em;
  text-align: center;
}
@media only screen and (min-width: 768px) and (max-width: 1599px) {
  .p-top-mvFigure__title {
    gap: 1.875vw;
    font-size: 3.5vw;
  }
}
.p-top-mvFigure__title strong {
  font-weight: 700;
}
.p-top-mvFigure__title .fz-s {
  font-size: 4rem;
}
@media only screen and (min-width: 768px) and (max-width: 1599px) {
  .p-top-mvFigure__title .fz-s {
    font-size: 2.5vw;
  }
}
.p-top-mvFigure__text:nth-child(2) img {
  width: 19.6rem;
}
@media only screen and (min-width: 768px) and (max-width: 1599px) {
  .p-top-mvFigure__text:nth-child(2) img {
    width: 12.25vw;
  }
}
.p-top-mvFigure__text:nth-child(3) img {
  width: 21rem;
}
@media only screen and (min-width: 768px) and (max-width: 1599px) {
  .p-top-mvFigure__text:nth-child(3) img {
    width: 13.125vw;
  }
}
.p-top-mvFigure__accent {
  display: inline-flex;
  justify-content: center;
  border-radius: 0.8rem;
  min-width: 24rem;
  height: 7rem;
  background: #E18040;
  position: relative;
  -webkit-transform: translateY(30%);
          transform: translateY(30%);
}
@media only screen and (min-width: 768px) and (max-width: 1599px) {
  .p-top-mvFigure__accent {
    min-width: 15vw;
    height: 4.375vw;
  }
}
.p-top-mvFigure__accent img {
  -webkit-transform: translateY(-20%);
          transform: translateY(-20%);
  height: auto;
}
.p-top-mvFigure__logo {
  text-align: center;
}
.p-top-mvFigure__logo img {
  width: 24.2rem;
}
@media only screen and (min-width: 768px) and (max-width: 1599px) {
  .p-top-mvFigure__logo img {
    width: 15.125vw;
  }
}

.dot {
  position: relative;
  display: inline-block;
}
.dot::before {
  content: "";
  position: absolute;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  top: -0.2em;
  left: 50%;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  font-size: 0.5em; /* 丸のサイズを自由に変更可能 */
  background: #E18040;
}

.p-top-about,
.section01:has(.p-top-aboutBox) {
  margin-bottom: 14rem;
}

.p-top-aboutBox {
  border: 2px solid #E18040;
  padding: 4rem;
  border-radius: 0.8rem;
  background: white;
  max-width: 772px;
  margin: 15rem auto 14rem;
  position: relative;
}
.p-top-aboutBox > *:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .p-top-aboutBox {
    font-size: 1.4rem;
    margin: 10rem auto 14rem;
    max-width: 26rem;
    padding: 2rem 1.6rem;
  }
}
.p-top-aboutBox__title {
  font-weight: 700;
  font-size: 3rem;
  line-height: 2;
  text-align: center;
  letter-spacing: 0.5em;
  color: #E18040;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .p-top-aboutBox__title {
    font-size: 2.4rem;
    letter-spacing: 0.15em;
    margin: 0 -0.2em 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-top-aboutBox__title > span {
    position: relative;
    display: inline-block;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .p-top-aboutBox__title > span::before, .p-top-aboutBox__title > span::after {
    content: "";
    display: block;
    width: 3rem;
    height: 1px;
    background: #E18040;
    position: absolute;
    top: 50%;
  }
  .p-top-aboutBox__title > span:before {
    left: 0;
    -webkit-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
  }
  .p-top-aboutBox__title > span:after {
    right: 0;
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
  }
}
.p-top-aboutBox__title + p {
  font-weight: 500;
  font-size: 2rem;
  line-height: 200%;
  text-align: center;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 767px) {
  .p-top-aboutBox__title + p {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 200%;
    letter-spacing: 0.15em;
  }
}
.p-top-aboutBox strong {
  -webkit-text-decoration: underline #E18040 0.3rem;
          text-decoration: underline #E18040 0.3rem;
}
.p-top-aboutBox__img {
  position: absolute;
  width: 12rem;
}
@media only screen and (max-width: 767px) {
  .p-top-aboutBox__img {
    width: 6rem;
  }
}
.p-top-aboutBox__img.--v1 {
  top: -4rem;
  left: -4rem;
}
@media only screen and (max-width: 767px) {
  .p-top-aboutBox__img.--v1 {
    top: -2rem;
    left: -2.5rem;
  }
}
.p-top-aboutBox__img.--v2 {
  bottom: -2.1rem;
  right: -4.5rem;
}
@media only screen and (max-width: 767px) {
  .p-top-aboutBox__img.--v2 {
    bottom: -2rem;
    right: -2.45rem;
  }
}

@media only screen and (max-width: 767px) {
  .p-top-value {
    margin-bottom: 12rem;
  }
}
.p-top-valueCard {
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .p-top-valueCard {
    flex-direction: column-reverse;
  }
}
@media only screen and (min-width: 768px) {
  .p-top-valueCard .card01__figure {
    min-width: 600px;
    text-align: center;
    justify-self: center;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-top-valueCard .card01__figure {
    min-width: calc(50% - 4rem);
  }
}
.p-top-valueCard .card01__body {
  font-size: 14px;
  line-height: 170%;
  letter-spacing: 0.15em;
}
.p-top-valueCard .card01__body strong {
  color: #E18040;
}
.p-top-valueCard .card01__body p {
  margin-bottom: 1.5em;
}
.p-top-value .p-top-valueCard__btns {
  margin-top: 4rem;
}

.p-top-member .row01 {
  justify-content: center;
  gap: 4rem;
}
.p-top-member .row01 .row01__col {
  width: auto;
}
@media only screen and (min-width: 768px) {
  .p-top-member .row01 .row01__col {
    max-width: 45%;
  }
}
.p-top-member figure figcaption {
  margin-top: 1rem;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.15em;
  color: #E18040;
}
.p-top-member figure figcaption > strong {
  font-size: 2rem;
}
.p-top-member .c-btn01 {
  min-width: 23.5rem;
}

.p-top-risk {
  background-color: #F1EEF2;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 10% top;
  background-image: url(../images/top/bg_risk_top.png);
  margin-bottom: 0;
  padding-top: 24rem !important;
  padding-bottom: 8rem !important;
}
@media only screen and (min-width: 768px) {
  .p-top-risk {
    margin-left: calc((220px + 3rem) * -1);
    padding-left: calc(220px + 3rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-top-risk {
    background-position: left top;
    background-image: url(../images/top/bg_risk_top_sp.png);
    padding-top: 12rem !important;
    padding-bottom: 6rem !important;
  }
}
.p-top-risk__head {
  text-align: center;
  margin-bottom: 11rem;
}
@media only screen and (max-width: 767px) {
  .p-top-risk__head {
    margin-bottom: 10rem;
  }
}
.p-top-risk__headText {
  display: inline-block;
  background: url(../images/top/risk_head.png) center center no-repeat;
  background-size: 100% 100%;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 3.6rem;
  text-align: center;
  letter-spacing: 0.15em;
  color: #FFFFFF;
}
@media only screen and (min-width: 768px) {
  .p-top-risk__headText {
    padding: 7.4rem 10.5rem 5.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-top-risk__headText {
    background: url(../images/top/risk_head_sp.png) center center no-repeat;
    background-size: 100% 100%;
    padding: 5.532rem 3.4rem 3.768rem;
    font-size: 1.8rem;
    line-height: 149%;
    margin-left: -1.6rem;
    margin-right: -1.6rem;
    width: calc(100% + 3.2rem);
  }
}
.p-top-risk__headText > span {
  display: inline-block;
  position: relative;
}
.p-top-risk__headText > span:before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: #fff000;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-top-risk .p-top-riskList > li:not(:last-child) {
  margin-bottom: 4rem;
}
.p-top-risk .p-top-riskList > li:last-child {
  margin-bottom: 0;
}
.p-top-risk .card01 {
  gap: 2rem;
}
.p-top-risk .card01 .js-fadeIn p:last-child {
  margin-bottom: 0;
}
.p-top-risk .card01__figure {
  position: relative;
}
.p-top-risk .card01__figure:before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  background: url(../images/common/icon_bad.svg) center center no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (max-width: 767px) {
  .p-top-risk .card01__figure:before {
    top: -1rem;
    left: -1rem;
    -webkit-transform: none;
            transform: none;
  }
}
.p-top-risk .card01__figure img {
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-top-risk .p-top-riskItem__title {
  font-weight: 700;
  font-size: 20px;
  line-height: 150%;
  letter-spacing: 0.15em;
  color: #9F71AB;
  margin-bottom: 1rem;
}
.p-top-risk .card01__body {
  font-weight: 400;
  font-size: 14px;
  line-height: 170%;
  letter-spacing: 0.15em;
  color: #0C0B0B;
}

.p-top-center {
  background: #F1EEF2;
  background: linear-gradient(180deg, rgb(241, 238, 242) 0%, rgb(248, 226, 211) 100%);
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .p-top-center {
    margin-left: calc((220px + 3rem) * -1);
    padding-left: calc(220px + 3rem);
  }
}
.p-top-center .p-top-centerBox {
  padding: 11rem 0;
  position: relative;
}
.p-top-center .p-top-centerBox:before, .p-top-center .p-top-centerBox:after {
  content: "";
  display: block;
  width: 2rem;
  height: 11rem;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-top-center .p-top-centerBox:before {
  top: 0;
  background-image: url(../images/top/arrow_risk.svg);
  background-position: top center;
}
.p-top-center .p-top-centerBox:after {
  bottom: 0;
  background-image: url(../images/top/arrow_point.svg);
  background-position: bottom center;
}
.p-top-center .p-top-centerBox__inner {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 4rem 8rem;
  background: #FFFFFF;
  border-radius: 100rem;
  font-weight: 700;
  font-size: 2rem;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.15em;
}
@media only screen and (min-width: 768px) {
  .p-top-center .p-top-centerBox__inner {
    min-width: 594px;
    min-height: 230px;
  }
}
@media only screen and (max-width: 767px) {
  .p-top-center .p-top-centerBox__inner {
    border-radius: 5rem;
    padding: 2rem;
    font-size: 1.8rem;
  }
}
.p-top-center .p-top-centerBox__inner > *:last-child {
  margin-bottom: 0;
}
.p-top-center .p-top-centerBox__inner strong {
  position: relative;
  display: inline-block;
}
.p-top-center .p-top-centerBox__inner strong:before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: 2px;
  left: 0;
}
.p-top-center .p-top-centerBox__inner strong:first-of-type {
  color: #9F71AB;
}
.p-top-center .p-top-centerBox__inner strong:last-of-type {
  color: #E18040;
}
.p-top-center .p-top-centerBox__inner strong:last-of-type:before {
  background: #fff000;
}

.p-top-point {
  background: #F8E2D3;
  margin-bottom: 0;
  padding-top: 8rem !important;
  padding-bottom: 24rem !important;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 10% bottom;
  background-image: url(../images/top/bg_point_bottom.png);
}
@media only screen and (min-width: 768px) {
  .p-top-point {
    margin-left: calc((220px + 3rem) * -1);
    padding-left: calc(220px + 3rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-top-point {
    background-position: left bottom;
    padding-top: 6rem !important;
    padding-bottom: 18.4rem !important;
    background-image: url(../images/top/bg_point_bottom_sp.png);
  }
}
.p-top-point__head {
  margin-bottom: 8rem;
}
.p-top-point__lead {
  font-weight: 700;
  font-size: 14px;
  line-height: 170%;
  letter-spacing: 0.15em;
  margin-bottom: 8rem;
}
.p-top-point .p-top-pointList > li:not(:last-child) {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 767px) {
  .p-top-point .p-top-pointList > li:not(:last-child) {
    margin-bottom: 7rem;
  }
}
.p-top-point .p-top-pointList > li:last-child {
  margin-bottom: 0;
}
.p-top-point .card01 {
  gap: 2rem;
}
.p-top-point .card01 .js-fadeIn p:last-child {
  margin-bottom: 0;
}
.p-top-point .card01__figure {
  position: relative;
}
.p-top-point .card01__figure:before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  background: url(../images/common/icon_good.svg) center center no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (max-width: 767px) {
  .p-top-point .card01__figure:before {
    top: -1rem;
    left: -1rem;
    -webkit-transform: none;
            transform: none;
  }
}
.p-top-point .card01__figure img {
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-top-pointItem__title {
  font-weight: 700;
  font-size: 20px;
  line-height: 150%;
  letter-spacing: 0.15em;
  color: #E18040;
  margin-bottom: 1rem;
}
.p-top-point .card01__body {
  font-weight: 400;
  font-size: 14px;
  line-height: 170%;
  letter-spacing: 0.15em;
  color: #0C0B0B;
}
.p-top-point .p-top-pointItem__links {
  margin-top: 1rem;
}
.p-top-point .p-top-pointItem__links a {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.15em;
  color: #E18040;
  display: inline-block;
  position: absolute;
  padding-right: 3rem;
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-color: #E18040;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.15em;
}
.p-top-point .p-top-pointItem__links a:before {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: url(../images/common/arrow_next.svg) center center no-repeat;
  background-size: cover;
  position: absolute;
  top: -1px;
  right: 0;
}
.p-top-point .p-top-point__btns {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 10rem;
}
@media only screen and (max-width: 767px) {
  .p-top-point .p-top-point__btns {
    margin-top: 8rem;
  }
}

.p-top-voice {
  padding-top: 12rem !important;
}
.p-top-voice__lead {
  font-weight: bold;
  text-align: center;
  font-size: 1.4rem;
  margin-bottom: 4rem;
}

.p-top-voiceBox {
  max-width: 29rem;
  background: #F3F2F2;
  border: 1px solid #E18040;
  border-radius: 0.8rem;
  padding: 2rem;
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  gap: 2rem;
}
@media only screen and (min-width: 768px) {
  .p-top-voiceBox {
    flex-direction: row-reverse;
    max-width: 66rem;
  }
}
.p-top-voiceBox .p-top-voiceBox__label {
  font-weight: 700;
  font-size: 10px;
  line-height: 150%;
  letter-spacing: 0.15em;
  color: #0C0B0B;
}
.p-top-voiceBox .p-top-voiceBox__figure {
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-top-voiceBox .p-top-voiceBox__body {
  font-weight: 400;
  font-size: 12px;
  line-height: 170%;
  letter-spacing: 0.15em;
  color: #0C0B0B;
}
@media only screen and (min-width: 768px) {
  .p-top-voiceBox .p-top-voiceBox__body {
    flex: 1;
  }
}
.p-top-voiceBox .p-top-voiceBox__title {
  font-weight: 700;
  font-size: 15px;
  line-height: 22px;
  letter-spacing: 0.15em;
  color: #E18040;
  margin-bottom: 1.5rem;
}
.p-top-voiceBox .p-top-voiceBox__title > span {
  font-weight: 700;
  font-size: 20px;
  line-height: 150%;
  letter-spacing: 0.15em;
}

.p-top-voiceSlider ul {
  margin: 0;
}
.p-top-voiceSlider__controler {
  margin: 2rem 0 0;
  display: flex;
  gap: 1.4rem;
}
.p-top-voiceSlider__controler button {
  -webkit-appearance: none;
          appearance: none;
  outline: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
}
.p-top-voiceSlider__controler button:first-child {
  position: relative;
}
.p-top-voiceSlider__controler button:first-child:before {
  content: "";
  display: block;
  width: 0.4rem;
  height: 0.4rem;
  background: #F1EEF2;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: -0.7rem;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}

/* 固定幅カルーセルの基本 */
.p-top-voiceSlider {
  --itemW: 66rem; /* 1枚の幅（必要に応じて変更） */
  --gap: 4rem; /* アイテム間の余白 */
  position: relative;
}
@media only screen and (max-width: 767px) {
  .p-top-voiceSlider {
    --itemW: 29rem; /* 1枚の幅（必要に応じて変更） */
    --gap: 2rem; /* アイテム間の余白 */
  }
}

@media only screen and (max-width: 767px) {
  .p-top-voiceSlider__viewer {
    touch-action: pan-y; /* 縦スクロールはブラウザ、横はJSで処理 */
  }
  .p-top-voiceSlider__viewer img {
    -webkit-user-drag: none; /* 画像のネイティブドラッグ抑止 */
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
}

.p-top-voiceSlider__list {
  display: flex;
  gap: var(--gap);
  margin: 0;
  padding: 0;
  list-style: none;
  will-change: transform;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

@media (prefers-reduced-motion: reduce) {
  .p-top-voiceSlider__list {
    transition: none;
  }
}
.p-top-voiceBox {
  flex: 0 0 var(--itemW);
  max-width: var(--itemW);
  box-sizing: border-box;
}

/* コントローラ（最低限） */
.p-top-voiceSlider__controler button[disabled] {
  opacity: 0.4;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
  pointer-events: none;
}

#risk {
  scroll-margin-top: -10rem;
}
@media only screen and (max-width: 767px) {
  #risk {
    scroll-margin-top: -5rem;
  }
}

.p-memberBoxs {
  display: flex;
  flex-direction: column;
  gap: 8rem;
}

.p-memberBox {
  display: grid;
  grid-template-areas: "figure body" "history body";
  gap: 2rem 4rem;
}
@media only screen and (max-width: 767px) {
  .p-memberBox {
    grid-template-areas: "figure" "body" "history";
    gap: 3rem;
  }
}
.p-memberBox__body {
  grid-area: body;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 170%;
  letter-spacing: 0.15em;
}
.p-memberBox__body strong {
  font-weight: bold;
  color: #E18040;
}
.p-memberBox__body p:not(:last-child) {
  margin-bottom: 1.5em;
}
.p-memberBox__title {
  margin-bottom: 2rem;
}
.p-memberBox__title .p-memberBox__role {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 170%;
  letter-spacing: 0.15em;
}
.p-memberBox__title .p-memberBox__name {
  font-weight: 700;
  font-size: 3rem;
  line-height: 150%;
  letter-spacing: 0.15em;
  color: #E18040;
}
.p-memberBox__figure {
  grid-area: figure;
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-memberBox__history {
  grid-area: history;
  background: #F3F2F2;
  border-radius: 0.8rem;
  padding: 1.5rem 2rem;
}
.p-memberBox__history h3 {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 170%;
  letter-spacing: 0.15em;
}
.p-memberBox__history h3 img {
  width: 2.4rem;
}
.p-memberBox__history ul {
  display: flex;
  flex-direction: column;
}
.p-memberBox__history ul li {
  display: flex;
  justify-content: flex-start;
  text-align-last: left;
  gap: 1rem;
  font-weight: 400;
  font-size: 14px;
  line-height: 170%;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 767px) {
  .p-memberBox__history ul li {
    letter-spacing: 0.1em;
  }
}
.p-memberBox__history ul li time {
  min-width: 5rem;
  white-space: nowrap;
}

.p-service-leadBox {
  margin-left: auto;
  margin-right: auto;
  max-width: 816px;
}

.p-service-pointList {
  display: flex;
  flex-direction: column;
  gap: 8rem;
  margin-bottom: 12rem;
}
@media only screen and (max-width: 767px) {
  .p-service-pointList {
    margin-bottom: 10rem;
  }
}
.p-service-pointList .p-service-pointItem {
  margin-bottom: 0;
}
.p-service-pointList .p-service-pointItem__title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 150%;
  letter-spacing: 0.15em;
  color: #E18040;
  margin-bottom: 2rem;
}
.p-service-pointList .card01 {
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .p-service-pointList .card01 {
    gap: 3rem;
  }
}
.p-service-pointList .card01__body {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 170%;
  letter-spacing: 0.15em;
}
.p-service-pointList .card01__figure {
  position: relative;
}
.p-service-pointList .card01__figure:before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: url(../images/common/icon_good.svg) center center no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .p-service-pointList .card01__figure:before {
    top: -1rem;
    left: -1rem;
    -webkit-transform: none;
            transform: none;
  }
}
.p-service-pointList .card01__figure img {
  overflow: hidden;
  border-radius: 0.8rem;
}

.p-service-box {
  max-width: 600px;
}

.p-value-box {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .p-value-box {
    margin-bottom: 10rem;
  }
}

.p-value-card {
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .p-value-card {
    gap: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-value-card .card01__figure {
    max-width: 60%;
  }
}

/* === layout variables === */
:root {
  --navW: 220px;
  --gap: 0; /* 画面端〜ナビ、ナビ〜本文の余白 */
  --innerMax: 1000px;
}

@media only screen and (min-width: 1201px) {
  /* === Grid scaffolding === */
  .wrapper {
    display: grid;
    grid-template-columns: [edge-left] var(--gap) [nav] var(--navW) [gutter] var(--gap) [content] 1fr [edge-gap] var(--gap) [edge-right] 0;
    grid-template-columns: [edge-left] var(--gap) [nav] var(--navW) [gutter] var(--gap) [content] minmax(0, 1fr) [edge-gap] var(--gap) [edge-right] 0;
  }
  /* === left nav === */
  .js-sticky {
    grid-column: nav;
    grid-row: 1/span 999; /* 全行を跨いで高さを確保: 明示行なしでも末尾まで跨げるように -1 でなく span を使用 */
    align-self: stretch;
    padding: 0 3rem;
  }
  .js-sticky .header {
    position: sticky;
    top: 0;
    z-index: 100;
    width: var(--navW);
    box-sizing: content-box;
    max-height: 100vh;
    overflow: auto;
  }
  /* === normal sections (本文幅) === */
  .content {
    margin-left: 0;
    padding-left: 0;
    grid-column: content;
    margin-left: calc((var(--navW) + 3rem) * -1);
    padding-left: calc(var(--navW) + 6rem);
  }
  .content > * {
    margin-left: calc((var(--navW) + 3rem) * -1);
    padding-left: calc(var(--navW) + 6rem);
  }
  .footer {
    grid-column: content;
    margin-left: calc((var(--navW) + 3rem) * -1);
    padding-left: calc(var(--navW) + 6rem);
  }
  /* === full-bleed sections (MV等：背景は全幅, 中身は本文列) === */
  .p-top-mv > * {
    margin-left: 0;
    padding-left: 0;
  }
}
@media only screen and (max-width: 1200px) {
  .content {
    padding-left: 0;
    margin-right: 0;
  }
  .footer {
    padding-left: 0;
    margin-right: 0;
  }
}
:root {
  --color-black: #002000;
  --color-main: $color01;
}

/* 全ページのスクロールを“なめらか”にする */
html {
  /* モダン環境で広く安定 */
}

/* 固定ヘッダーの下にアンカーが隠れないよう余白を確保 */
:target {
  scroll-margin-top: var(--headerHdg, 64px);
}

/* 1) まずは“効くなら使う” */
.button {
  background: color-mix(in oklch, var(--color-main), white 8%);
  /* 新構文で明るく */
}

/* 2) 新構文が非対応のときの代替（@supportsで切り分け） */
@supports not (color: color-mix(in oklch, white, black)) {
  .button {
    background: var(--color-main);
    /* フォールバック：混色せず基準色だけ */
    /* もしくはSassで事前計算した派生色をここで上書きする運用も可 */
    /* background: var(--brand-light-fallback); */
  }
}
/* 非対応ブラウザのフォールバック：読み込み直後は“見える”sticky */
.site-header {
  --color-black: #002000; /* 影色（任意） */
  position: sticky;
  top: 0;
  -webkit-transform: translateY(0);
          transform: translateY(0); /* ← 初期表示：見える */
  box-shadow: 0 0 0 0 rgb(from var(--color-black) r g b/0.2);
  transition: -webkit-transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition-duration: 0;
  background: white;
}
.site-header .inner {
  display: flex;
  justify-content: space-between;
}

/* ========== 非表示状態：上に隠す（スペースは残す＝詰めない版/デフォルト） ========== */
.site-header.--hidden {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%); /* 視覚的に画面外へ */
  transition-duration: 0.6s;
  box-shadow: 0 1rem 1rem 0 rgb(from var(--color-black) r g b/0.2);
}

/* ========== 非表示時に“上の余白も詰めたい”場合（オプション） ========== */
/* .site-header に .--no-gap を追加したときだけ、隠している間は自分の高さぶんを打ち消す */
/* Scroll-driven Animations 対応ブラウザでのみリッチ挙動に切替 */