@charset "UTF-8";
/*! ---------------------------------
Theme Name: Main
Version: 3.4.3
Tested up to: 6.8.1
---------------------------------- */
@font-face {
  font-family: "Senobi-Gothic-Medium";
  src: url("../main/font/Senobi-Gothic-Medium.woff2") format("woff2"), url("../main/font/Senobi-Gothic-Medium.woff") format("woff");
}
@font-face {
  font-family: "Dela Suko Gothic";
  src: url("../main/font/DelaSukoGothicOne-R.woff2") format("woff2"), url("../main/font/DelaSukoGothicOne-R.woff") format("woff");
}
/* -----------------------------------------------
  Variables
--------------------------------------------------*/
:root {
  --color-text: #000;
  --color-bg: #fff;
  --color-base: #00273b;
  --color-link: #00273b;
  --color-hover: rgb(0, 89.5677966102, 135.5);
  --color-visited: #551a8b;
  --color-error: #dd0000;
  --swiper-theme-color: #00273b;
}

/* -----------------------------------------------
  Mixins
--------------------------------------------------*/
:root {
  /* PCのデザイン基準幅（main-innerの最大幅） */
  --drawer-limit: 915;
  /* PCの可変領域の基準（画面幅からサイドバーを引いたもの） */
  --drawer-base-vw: calc(100vw - 235px - 40px);
}
@media screen and (max-width: 768px) {
  :root {
    /* SPのデザイン基準幅（ご指定の750px） */
    --drawer-limit: 750;
    /* SPはサイドバーなしなので100vwが基準 */
    --drawer-base-vw: 100vw;
  }
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 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 */
}

/**
 * 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: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  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: 1em;
  /* 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * 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] {
  -webkit-appearance: button;
}

/**
 * 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;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 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 {
  box-sizing: border-box;
  /* 1 */
  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;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 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 odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * 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 */
}

/* 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;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/**************************************************
  base
***************************************************/
*,
*::before,
*::after {
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

:root {
  text-spacing-trim: trim-start;
  text-autospace: normal;
  overflow-wrap: anywhere;
}

html {
  font-size: 62.5%;
  background: var(--color-bg);
}
@media all and (min-width: 768px) {
  html {
    width: 100%;
    min-width: 1254px;
    margin-inline: auto;
  }
}

body,
button,
input,
textarea,
select {
  color: var(--color-text);
  line-height: 1.8;
  letter-spacing: -2px;
  font-size: 1.6rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  text-autospace: no-autospace;
}
@media all and (max-width: 767px) {
  body,
  button,
  input,
  textarea,
  select {
    letter-spacing: -1px;
  }
}

::selection {
  background: rgb(0, 72.7118644068, 110);
  color: #fff;
}

:where(button, a, input, textarea, select, [tabindex]) {
  outline: none;
}
:where(button, a, input, textarea, select, [tabindex]):focus {
  outline: none;
}
:where(button, a, input, textarea, select, [tabindex]):focus-visible {
  outline: 2px solid var(--color-base);
}

/* -----------------------------------------------
  Elements
-------------------------------------------------- */
/* ---------- base ---------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.3;
}

h2 + h3,
h3 + h4,
h4 + h5,
h5 + h6 {
  margin-top: 2rem !important;
}

ol,
ul,
menu {
  list-style-type: "";
  margin: 0;
  padding: 0;
}

li {
  position: relative;
  line-height: 1.5;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

/* ---------- text ---------- */
p {
  margin: 2rem 0;
}

strong {
  font-weight: bold;
}

u {
  border-bottom: 1px solid var(--color-text);
}

address {
  font-style: normal;
}

pre {
  text-spacing-trim: space-all;
  text-autospace: no-autospace;
}

time {
  text-autospace: no-autospace;
}

a {
  transition: 0.3s;
  color: #00273b;
}
a:visited {
  color: var(--color-visited);
}
@media all and (min-width: 768px) {
  a:hover {
    color: var(--color-hover);
  }
}
@media all and (min-width: 768px) {
  a[href^="tel:"] {
    color: var(--color-text);
    pointer-events: none;
    text-decoration: none;
  }
}

/* ---------- image ---------- */
img,
svg,
video {
  border: 0;
  vertical-align: middle;
}

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

figure {
  margin: 0;
}

.caption,
figcaption {
  display: block;
  margin-top: 1rem;
  font-size: 0.88em;
}

._nocss {
  margin: 0;
  position: relative;
  background: transparent;
}
._nocss::before, ._nocss::after {
  display: none;
}

/* ---------- form ---------- */
input[type=text],
input[type=tel],
input[type=url],
input[type=email],
input[type=text],
textarea {
  background: none;
  border: none;
  border-radius: 0;
  appearance: none;
  padding: 0.5rem 1rem;
  width: 100%;
  border: 1px solid #cbcbcb;
}

input[type=submit],
label,
button {
  background: none;
  border: none;
  border-radius: 0;
  appearance: none;
  cursor: pointer;
}

fieldset {
  padding: 0;
  border: none;
}

/* ---------- Element ---------- */
iframe {
  border: 0;
}

/**************************************************
  content
***************************************************/
.container {
  background-color: #e8f2fd;
}

.inner {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  max-width: 1254px;
}
@media all and (max-width: 767px) {
  .inner {
    padding: 0 20px;
  }
}

.l-content {
  padding: 50px 0;
  width: 100%;
  overflow-x: hidden;
}
@media all and (max-width: 767px) {
  .l-content {
    padding: 25px 0;
  }
}
.l-content:has(.other-contents) {
  padding-bottom: 0;
}

.privacy-policy .l-content {
  max-width: 1254px;
  margin-inline: auto;
}
@media all and (max-width: 767px) {
  .privacy-policy .l-content {
    padding-inline: 20px;
  }
}

.l-content__has-column {
  padding-top: 50px;
  padding-bottom: 100px;
  display: grid;
  grid-template-columns: 1fr 360px;
}
@media all and (max-width: 767px) {
  .l-content__has-column {
    padding-top: 25px;
    display: flex;
    flex-direction: column;
  }
}

.l-content__main {
  margin-bottom: 100px;
  flex: 1;
  min-width: 0;
}
@media all and (max-width: 767px) {
  .l-content__main {
    margin-bottom: 60px;
  }
}

.l-content__sidebar {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 50px 0;
}
@media all and (min-width: 768px) {
  .l-content__sidebar--sticky {
    position: sticky;
    top: 0;
    max-height: calc(100% - 100px);
    overflow-y: auto;
  }
}
.l-content__sidebar--sticky::-webkit-scrollbar {
  width: 8px;
  background-color: transparent;
}
.l-content__sidebar--sticky::-webkit-scrollbar-thumb {
  background: rgba(var(--color-text), 0.05);
  width: 6px;
  border-radius: 9999px;
}

/**************************************************
  grid
***************************************************/
.l-grid .row {
  display: flex;
  flex-wrap: wrap;
}

.col-1 {
  flex: 0 0 calc(100% / 12 * 1);
  max-width: calc(100% / 12 * 1);
}

.col-2 {
  flex: 0 0 calc(100% / 12 * 2);
  max-width: calc(100% / 12 * 2);
}

.col-3 {
  flex: 0 0 calc(100% / 12 * 3);
  max-width: calc(100% / 12 * 3);
}

.col-4 {
  flex: 0 0 calc(100% / 12 * 4);
  max-width: calc(100% / 12 * 4);
}

.col-5 {
  flex: 0 0 calc(100% / 12 * 5);
  max-width: calc(100% / 12 * 5);
}

.col-6 {
  flex: 0 0 calc(100% / 12 * 6);
  max-width: calc(100% / 12 * 6);
}

.col-7 {
  flex: 0 0 calc(100% / 12 * 7);
  max-width: calc(100% / 12 * 7);
}

.col-8 {
  flex: 0 0 calc(100% / 12 * 8);
  max-width: calc(100% / 12 * 8);
}

.col-9 {
  flex: 0 0 calc(100% / 12 * 9);
  max-width: calc(100% / 12 * 9);
}

.col-10 {
  flex: 0 0 calc(100% / 12 * 10);
  max-width: calc(100% / 12 * 10);
}

.col-11 {
  flex: 0 0 calc(100% / 12 * 11);
  max-width: calc(100% / 12 * 11);
}

.col-12 {
  flex: 0 0 calc(100% / 12 * 12);
  max-width: calc(100% / 12 * 12);
}

@media (min-width: 576px) {
  .col-sm-1 {
    flex: 0 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
  .col-sm-2 {
    flex: 0 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
  .col-sm-3 {
    flex: 0 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
  .col-sm-4 {
    flex: 0 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
  .col-sm-5 {
    flex: 0 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
  .col-sm-6 {
    flex: 0 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
  .col-sm-7 {
    flex: 0 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
  .col-sm-8 {
    flex: 0 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
  .col-sm-9 {
    flex: 0 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
  .col-sm-10 {
    flex: 0 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
  .col-sm-11 {
    flex: 0 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
  .col-sm-12 {
    flex: 0 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 768px) {
  .col-md-1 {
    flex: 0 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
  .col-md-2 {
    flex: 0 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
  .col-md-3 {
    flex: 0 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
  .col-md-4 {
    flex: 0 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
  .col-md-5 {
    flex: 0 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
  .col-md-6 {
    flex: 0 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
  .col-md-7 {
    flex: 0 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
  .col-md-8 {
    flex: 0 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
  .col-md-9 {
    flex: 0 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
  .col-md-10 {
    flex: 0 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
  .col-md-11 {
    flex: 0 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
  .col-md-12 {
    flex: 0 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 992px) {
  .col-lg-1 {
    flex: 0 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
  .col-lg-2 {
    flex: 0 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
  .col-lg-3 {
    flex: 0 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
  .col-lg-4 {
    flex: 0 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
  .col-lg-5 {
    flex: 0 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
  .col-lg-6 {
    flex: 0 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
  .col-lg-7 {
    flex: 0 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
  .col-lg-8 {
    flex: 0 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
  .col-lg-9 {
    flex: 0 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
  .col-lg-10 {
    flex: 0 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
  .col-lg-11 {
    flex: 0 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
  .col-lg-12 {
    flex: 0 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 1200px) {
  .col-xl-1 {
    flex: 0 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
  .col-xl-2 {
    flex: 0 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
  .col-xl-3 {
    flex: 0 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
  .col-xl-4 {
    flex: 0 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
  .col-xl-5 {
    flex: 0 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
  .col-xl-6 {
    flex: 0 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
  .col-xl-7 {
    flex: 0 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
  .col-xl-8 {
    flex: 0 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
  .col-xl-9 {
    flex: 0 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
  .col-xl-10 {
    flex: 0 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
  .col-xl-11 {
    flex: 0 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
  .col-xl-12 {
    flex: 0 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
.l-grid__gap .row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.g-col-1 {
  flex: 0 0 calc(100% / 12 * 1 - 1rem);
  max-width: calc(100% / 12 * 1 - 1rem);
}

.g-col-2 {
  flex: 0 0 calc(100% / 12 * 2 - 1rem);
  max-width: calc(100% / 12 * 2 - 1rem);
}

.g-col-3 {
  flex: 0 0 calc(100% / 12 * 3 - 1rem);
  max-width: calc(100% / 12 * 3 - 1rem);
}

.g-col-4 {
  flex: 0 0 calc(100% / 12 * 4 - 1rem);
  max-width: calc(100% / 12 * 4 - 1rem);
}

.g-col-5 {
  flex: 0 0 calc(100% / 12 * 5 - 1rem);
  max-width: calc(100% / 12 * 5 - 1rem);
}

.g-col-6 {
  flex: 0 0 calc(100% / 12 * 6 - 1rem);
  max-width: calc(100% / 12 * 6 - 1rem);
}

.g-col-7 {
  flex: 0 0 calc(100% / 12 * 7 - 1rem);
  max-width: calc(100% / 12 * 7 - 1rem);
}

.g-col-8 {
  flex: 0 0 calc(100% / 12 * 8 - 1rem);
  max-width: calc(100% / 12 * 8 - 1rem);
}

.g-col-9 {
  flex: 0 0 calc(100% / 12 * 9 - 1rem);
  max-width: calc(100% / 12 * 9 - 1rem);
}

.g-col-10 {
  flex: 0 0 calc(100% / 12 * 10 - 1rem);
  max-width: calc(100% / 12 * 10 - 1rem);
}

.g-col-11 {
  flex: 0 0 calc(100% / 12 * 11 - 1rem);
  max-width: calc(100% / 12 * 11 - 1rem);
}

.g-col-12 {
  flex: 0 0 calc(100% / 12 * 12 - 1rem);
  max-width: calc(100% / 12 * 12 - 1rem);
}

/**************************************************
  l-layer
***************************************************/
.l-layer {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}
@media all and (max-width: 767px) {
  .l-layer {
    display: block;
  }
}
.l-layer__text {
  width: 100%;
  position: relative;
  margin-right: -5vw;
  background: var(--color-bg);
  padding: 5rem 5rem 0;
}
@media all and (max-width: 767px) {
  .l-layer__text {
    margin-left: 0;
    padding: 0;
  }
}
.l-layer__img {
  width: 100%;
}
.l-layer__img img {
  width: 100%;
}

/**************************************************
  Typography
***************************************************/
/* -----------------------------------------------
  Heading
-------------------------------------------------- */
.page .c-heading {
  margin-top: 5rem;
  margin-bottom: 2.5rem;
  clear: both;
}
.page .c-heading--lv2 {
  padding-left: 82px;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 65px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
  position: relative;
}
@media all and (max-width: 767px) {
  .page .c-heading--lv2 {
    padding-left: 44px;
    font-size: 42px;
  }
}
.page .c-heading--lv2::before {
  content: "";
  display: inline-block;
  width: 68px;
  height: 2px;
  background-color: #2a2b32;
  position: absolute;
  top: 0.6em;
  left: 0;
}
@media all and (max-width: 767px) {
  .page .c-heading--lv2::before {
    width: 38px;
  }
}
.page .c-heading--lv3 {
  display: inline-block;
}
.page .c-heading--lv3 > span {
  display: inline;
  background: linear-gradient(to bottom, transparent 10%, #2278bf 10%, #2278bf 90%, transparent 90%);
  padding: 0 4px 2px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  color: #fff;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 56px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.35;
}
@media all and (max-width: 767px) {
  .page .c-heading--lv3 > span {
    font-size: 40px;
  }
}
.page .c-heading--lv4 {
  padding: 26px 0;
  font-size: 38px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.5;
  position: relative;
}
@media all and (max-width: 767px) {
  .page .c-heading--lv4 {
    padding: 22px 0;
    font-size: 26px;
  }
}
.page .c-heading--lv4::before, .page .c-heading--lv4::after {
  content: "";
  display: inline-block;
  width: 168px;
  height: 3px;
  background-color: #000;
  background: linear-gradient(to right, #000 0%, #000 5%, transparent 5%, transparent 8%, #000 8%, #000 100%);
  border-radius: 2px;
  position: absolute;
  top: 0;
  left: 0;
}
@media all and (max-width: 767px) {
  .page .c-heading--lv4::before, .page .c-heading--lv4::after {
    width: 110px;
  }
}
.page .c-heading--lv4::after {
  background: linear-gradient(to left, #000 0%, #000 5%, transparent 5%, transparent 8%, #000 8%, #000 100%);
  top: unset;
  right: 0;
  bottom: 0;
  left: unset;
}
.page .c-heading--lv5 {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.5;
}
@media all and (max-width: 767px) {
  .page .c-heading--lv5 {
    font-size: 20px;
  }
}
.page .c-heading--lv6 {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.5;
}
@media all and (max-width: 767px) {
  .page .c-heading--lv6 {
    font-size: 18px;
  }
}

.wp-post .c-heading {
  margin-top: 5rem;
  margin-bottom: 2.5rem;
  clear: both;
}
.wp-post .c-heading--lv2 {
  color: #1f78c1;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.6;
}
@media all and (max-width: 767px) {
  .wp-post .c-heading--lv2 {
    font-size: 24px;
  }
}
.wp-post .c-heading--lv3 {
  padding: 6px 11px;
  display: inline-block;
  background-color: #e8f2fd;
  border-radius: 10px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.6;
}
@media all and (max-width: 767px) {
  .wp-post .c-heading--lv3 {
    font-size: 22px;
  }
}
.wp-post .c-heading--lv4 {
  padding-left: 20px;
  display: inline-block;
  border-left: 3px solid #e70072;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.5;
  position: relative;
}
@media all and (max-width: 767px) {
  .wp-post .c-heading--lv4 {
    padding-left: 18px;
    font-size: 20px;
  }
}
.wp-post .c-heading--lv5 {
  padding-bottom: 0.8em;
  display: inline-block;
  border-bottom: 1px solid #2a2b32;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.5;
}
.wp-post .c-heading--lv6 {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.5;
}

/* -----------------------------------------------
  Variation
-------------------------------------------------- */
.c-en {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.c-attention {
  color: var(--color-error);
}

.c-lead {
  padding-left: 80px;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 6.5rem;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1.05;
  position: relative;
}
@media all and (max-width: 767px) {
  .c-lead {
    padding-left: 44px;
    font-size: 48px;
  }
}
.c-lead .st1, .c-lead .st2, .c-lead .st3 {
  padding: 0 4px 3px;
  display: inline-block;
  color: #fff;
  line-height: 0.9;
}
.c-lead .st1 {
  background-color: #04a6b4;
}
.c-lead .st2 {
  background-color: #2fbe98;
}
.c-lead .st3 {
  background-color: #eb7c8c;
}
.c-lead::before {
  content: "";
  display: inline-block;
  width: 68px;
  height: 2px;
  background-color: #2a2b32;
  position: absolute;
  top: 0.5em;
  left: 0;
}
@media all and (max-width: 767px) {
  .c-lead::before {
    width: 38px;
  }
}

/**************************************************
  Button
***************************************************/
.wp-block-button__link {
  background: var(--color-base);
}
.wp-block-button.is-style-outline .wp-block-button__link {
  border-color: var(--color-base);
  color: var(--color-base);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:focus {
  background: var(--color-base);
  color: var(--color-bg);
}

/**************************************************
  Icon
***************************************************/
.c-icon {
  width: 1em;
  height: 1em;
  margin-right: 0.3rem;
  margin-left: 0.3rem;
}
.c-icon-blank {
  margin-left: 0.3em;
  max-height: 1em;
  max-width: 1em;
  stroke: #60686c;
  transform: translateY(-0.1em);
}
.c-icon-file {
  height: 1em;
}
.c-icon-arrow.--left {
  transform: rotate(180deg);
}

/**************************************************
  img
***************************************************/
/* -----------------------------------------------
  luminous
-------------------------------------------------- */
a.c-img-zoom {
  cursor: zoom-in;
  position: relative;
  display: inline-block;
}
a.c-img-zoom::after {
  position: absolute;
  content: "";
  inset: 0;
  background: center/50% 50% no-repeat rgba(0, 0, 0, 0.3) url("images/common/icon_zoom.svg");
  width: 2.5rem;
  height: 2.5rem;
}

.lum-lightbox.lum-open {
  backdrop-filter: blur(10px);
  z-index: 10001;
}
.lum-lightbox.lum-open:hover {
  cursor: zoom-out;
}

.lum-gallery-button::after {
  width: 2rem;
  height: 2rem;
  border-width: 2px;
}

.lum-close-button {
  opacity: 0.5;
}

/**************************************************
  List
***************************************************/
.c-list {
  margin-block: 2rem;
}

/* 非順序リスト */
.c-list--bullet li {
  margin-left: 2rem;
}
.c-list--bullet li::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: -1.5rem;
  width: 6px;
  height: 6px;
  background: #e70072;
  border-radius: 100%;
}
.c-list--bullet li:has(a) {
  margin-left: 0;
  padding-left: 3rem;
}
.c-list--bullet li:has(a)::before {
  border-style: solid;
  border-width: 0 1px 1px 0;
  border-color: #e70072;
  content: "";
  display: inline-block;
  position: absolute;
  height: 8px;
  width: 8px;
  rotate: -45deg;
  border-radius: 0;
  background: transparent;
  top: 0.6em;
  left: 3px;
}
.c-list--bullet li:has(a)::after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 1px;
  background-color: #e70072;
  position: absolute;
  top: 0.8em;
  left: 1px;
}
.c-list--bullet ol,
.c-list--bullet ul {
  margin-top: 0;
  margin-bottom: 0;
}

/* 順序リスト */
.c-list--number {
  counter-reset: num;
}
.c-list--number li {
  padding-left: 3.6rem;
}
.c-list--number li + li {
  margin-top: 0.6rem;
}
.c-list--number li > .c-list--number {
  margin-top: 0.6rem;
}
.c-list--number li::before {
  position: absolute;
  counter-increment: num;
  content: counter(num);
  padding-right: 0.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 2.3rem;
  height: 2.3rem;
  background: #00273b;
  border-radius: 100%;
  color: #fff;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  top: 0.1rem;
  left: 0;
}
.c-list--number ol,
.c-list--number ul {
  margin-top: 0;
  margin-bottom: 0;
}

/* ※付きリスト */
.c-list--rice li {
  margin: 0 0 0 1em;
  text-indent: -1em;
}
.c-list--rice li::before {
  display: none;
}

/* テーブルの中のリスト */
table ul,
table ol {
  margin: 0;
}

/**************************************************
  Table（Flexible Table プラグイン）
***************************************************/
/* -----------------------------------------------
  Default
-------------------------------------------------- */
.wp-block-flexible-table-block-table {
  margin-block: 2rem;
}
.wp-block-flexible-table-block-table table {
  border-top: 1px solid #60686c;
  border-bottom: 1px solid #60686c;
}
.wp-block-flexible-table-block-table th, .wp-block-flexible-table-block-table td {
  padding: 18px 20px;
}
.wp-block-flexible-table-block-table th + th,
.wp-block-flexible-table-block-table th + td, .wp-block-flexible-table-block-table td + th,
.wp-block-flexible-table-block-table td + td {
  border-left: 1px solid #60686c;
}
.wp-block-flexible-table-block-table th {
  font-weight: bold;
}
.wp-block-flexible-table-block-table thead + tbody tr:nth-child(1) {
  border-top: 1px solid #60686c;
}
.wp-block-flexible-table-block-table tr + tr {
  border-top: 1px solid #60686c;
}
.wp-block-flexible-table-block-table thead th, .wp-block-flexible-table-block-table thead td {
  background-color: #9be6d4;
}
.wp-block-flexible-table-block-table tbody th {
  background-color: #f7f7e8;
}
@media all and (max-width: 767px) {
  .wp-block-flexible-table-block-table .is-stacked-on-mobile th, .wp-block-flexible-table-block-table .is-stacked-on-mobile td {
    border-left: 1px solid #60686c;
    border-right: 1px solid #60686c;
  }
}

/* -----------------------------------------------
  SPのみスクロール
-------------------------------------------------- */
@media all and (max-width: 767px) {
  .wp-block-flexible-table-block-table.is-scroll-on-mobile {
    cursor: grab;
  }
}
@media all and (max-width: 767px) {
  .wp-block-flexible-table-block-table.is-scroll-on-mobile:active {
    cursor: grabbing;
  }
}
.wp-block-flexible-table-block-table.is-scroll-on-mobile::before {
  content: "※この表は横にスクロールできます";
  position: sticky;
  top: 0;
  left: 0;
  font-size: 90%;
}
@media all and (min-width: 768px) {
  .wp-block-flexible-table-block-table.is-scroll-on-mobile::before {
    content: none;
  }
}
.wp-block-flexible-table-block-table.is-scroll-on-mobile table {
  min-width: 800px;
}

/**************************************************
  box
***************************************************/
.c-box--fill {
  background: #e8f2fd;
  padding: 2rem;
  margin: 2rem 0;
}
.c-box--fill *:first-child {
  margin-top: 0;
}
.c-box--fill *:last-child {
  margin-bottom: 0;
}

.c-box--border {
  background: #fff;
  border: 2px solid var(--color-base);
  padding: 2rem;
  margin: 2rem 0;
}
.c-box--border *:first-child {
  margin-top: 0;
}
.c-box--border *:last-child {
  margin-bottom: 0;
}

/**************************************************
  Header
***************************************************/
.m-header {
  width: 100%;
  height: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
@media all and (max-width: 767px) {
  .m-header__nav {
    display: none;
  }
}
.m-header__logo {
  padding: 22px 0 0 22px;
  width: 155px;
  height: 119px;
  line-height: 1;
  margin-block: 0;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .m-header__logo {
    margin: min(29 / var(--drawer-limit) * var(--drawer-base-vw), 29px) 0 0 min(23 / var(--drawer-limit) * var(--drawer-base-vw), 23px);
    padding: 0;
    width: min(151 / var(--drawer-limit) * var(--drawer-base-vw), 151px);
    height: min(109 / var(--drawer-limit) * var(--drawer-base-vw), 109px);
  }
}
.m-header__logo .link {
  display: block;
}
.m-header__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.home .m-header__logo {
  opacity: 0;
  pointer-events: none;
}
.home .m-header.is-scrolled .m-header__logo {
  opacity: 1;
  pointer-events: unset;
}

.m-hamburger__toggle {
  position: fixed;
  top: 16px;
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.1rem;
  height: 6.5rem;
  background-image: url(./images/common/bg_menu.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  z-index: 1001;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .m-hamburger__toggle {
    width: min(115 / var(--drawer-limit) * var(--drawer-base-vw), 115px);
    height: min(105 / var(--drawer-limit) * var(--drawer-base-vw), 105px);
  }
}
.m-hamburger__toggle:focus, .m-hamburger__toggle:focus-visible {
  outline: none;
}
@media all and (min-width: 768px) {
  .m-hamburger__toggle[aria-expanded=false]:hover {
    background-image: url(./images/common/bg_menu_close.png);
  }
  .m-hamburger__toggle[aria-expanded=false]:hover .m-hamburger__toggle-txt {
    color: #2a2b32;
  }
}
.m-hamburger__toggle[aria-expanded=false] .--menu {
  opacity: 1;
}
.m-hamburger__toggle[aria-expanded=true] {
  background-image: url(./images/common/bg_menu_close.png);
}
@media all and (min-width: 768px) {
  .m-hamburger__toggle[aria-expanded=true]:hover {
    background-image: url(./images/common/bg_menu.png);
  }
  .m-hamburger__toggle[aria-expanded=true]:hover .m-hamburger__toggle-txt {
    color: #fff;
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__toggle[aria-expanded=true] {
    background-image: url(./images/common/bg_menu_close_sp.png);
  }
}
.m-hamburger__toggle[aria-expanded=true] .--close {
  opacity: 1;
}
.m-hamburger__toggle-txt {
  display: inline-block;
  font-family: "Lexend Tera", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: -1px;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transition: 0.3s;
  opacity: 0;
}
@media all and (max-width: 767px) {
  .m-hamburger__toggle-txt {
    font-size: min(18 / var(--drawer-limit) * var(--drawer-base-vw), 18px);
  }
}
.m-hamburger__toggle-txt.--menu {
  color: #fff;
}
.m-hamburger__toggle-txt.--close {
  color: #2a2b32;
}
.m-hamburger__drawer[aria-hidden=true] {
  display: none;
}
.m-hamburger__drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background-color: #00273b;
  background-image: url(./images/common/bg_drawer.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: right 0.3s ease-in-out;
  z-index: 1000;
  overflow-y: auto;
  color: #2a2b32;
  letter-spacing: 0;
}
@media all and (max-width: 767px) {
  .m-hamburger__drawer {
    background: none;
  }
}
.m-hamburger__drawer[aria-hidden=false] {
  right: 0;
}
@media all and (min-width: 768px) {
  .m-hamburger__btn {
    display: none !important;
  }
}
.m-hamburger__btn {
  order: 6;
  margin: 0 auto;
  padding: 0;
  width: min(188 / var(--drawer-limit) * var(--drawer-base-vw), 188px);
  height: min(185 / var(--drawer-limit) * var(--drawer-base-vw), 185px);
}
.m-hamburger__nav {
  display: grid;
  grid-template-columns: 235px 1fr;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 100vh;
    background-color: #f7f7e8;
    overflow: scroll;
  }
}
.m-hamburger__nav__side {
  display: grid;
  grid-template-rows: 1fr 185px;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__side::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #e8f2fd;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0.8;
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side {
    display: contents;
  }
}
.m-hamburger__nav__side .side-contents {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-contents {
    display: contents;
  }
}
.m-hamburger__nav__side .side-contents__logo {
  margin: 0;
  width: 185px;
  height: 120px;
  text-decoration: none;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__side .side-contents__logo:hover {
    opacity: 0.7;
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-contents__logo {
    order: 1;
    margin-left: min(23 / var(--drawer-limit) * var(--drawer-base-vw), 23px);
    width: min(151 / var(--drawer-limit) * var(--drawer-base-vw), 151px);
    height: min(110 / var(--drawer-limit) * var(--drawer-base-vw), 110px);
  }
}
.m-hamburger__nav__side .side-contents__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.m-hamburger__nav__side .side-contents__txt {
  margin: 14px auto 0;
  color: #2a2b32;
  font-family: "Senobi-Gothic-Medium", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 14px;
  letter-spacing: -2px;
  line-height: 1.3;
  text-align: center;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-contents__txt {
    order: 2;
    margin: min(14 / var(--drawer-limit) * var(--drawer-base-vw), 14px) 0 0;
    color: #5e7990;
    font-size: min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px);
    letter-spacing: max(-1 * calc(3 / var(--drawer-limit) * var(--drawer-base-vw)), -3px);
    text-align: left;
  }
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__side .side-contents__sp {
    display: contents;
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-contents__sp {
    padding-top: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
    width: 100%;
    background-color: #ebf3f8;
  }
}
.m-hamburger__nav__side .side-contents__sns {
  margin-top: 15px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-contents__sns {
    order: 4;
    margin: min(75 / var(--drawer-limit) * var(--drawer-base-vw), 75px) auto 0;
    justify-content: center;
    gap: min(90 / var(--drawer-limit) * var(--drawer-base-vw), 90px);
  }
}
.m-hamburger__nav__side .side-contents__sns__item .item-link {
  display: block;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__side .side-contents__sns__item .item-link {
    width: 24px;
    height: 24px;
  }
  .m-hamburger__nav__side .side-contents__sns__item .item-link:hover {
    opacity: 0.6;
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-contents__sns__item .item-link {
    width: min(60 / var(--drawer-limit) * var(--drawer-base-vw), 60px);
    height: min(60 / var(--drawer-limit) * var(--drawer-base-vw), 60px);
  }
}
.m-hamburger__nav__side .side-contents__sns__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.m-hamburger__nav__side .side-other {
  padding: 20px;
  background-color: #e8f2fd;
  font-weight: 500;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-other {
    order: 5;
    padding: min(58 / var(--drawer-limit) * var(--drawer-base-vw), 58px) min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px) min(48 / var(--drawer-limit) * var(--drawer-base-vw), 48px);
    width: 100%;
    background-color: unset;
  }
}
.m-hamburger__nav__side .side-other__txt {
  margin: 0;
  color: #000;
  font-size: 13px;
  line-height: 1.4;
  text-align: left;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-other__txt {
    font-size: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    font-weight: 400;
    text-align: center;
  }
}
.m-hamburger__nav__side .side-other__txt + .side-other__txt {
  margin-top: 14px;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-other__txt + .side-other__txt {
    margin-top: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
  }
}
.m-hamburger__nav__side .side-other__hp {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  text-decoration: none;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__side .side-other__hp:hover {
    color: #e70072;
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-other__hp {
    margin-top: min(48 / var(--drawer-limit) * var(--drawer-base-vw), 48px);
    gap: min(5 / var(--drawer-limit) * var(--drawer-base-vw), 5px);
  }
}
.m-hamburger__nav__side .side-other__hp__img {
  width: 36px;
  height: 32px;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-other__hp__img {
    width: min(88 / var(--drawer-limit) * var(--drawer-base-vw), 88px);
    height: min(80 / var(--drawer-limit) * var(--drawer-base-vw), 80px);
  }
}
.m-hamburger__nav__side .side-other__hp__txt {
  margin: 0;
  padding-top: 4px;
  color: #000;
  font-size: 13px;
  line-height: 1.1;
}
.m-hamburger__nav__side .side-other__hp__txt .c-icon-blank {
  margin: 0;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__side .side-other__hp__txt {
    padding-top: min(2 / var(--drawer-limit) * var(--drawer-base-vw), 2px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - min(94 / var(--drawer-limit) * var(--drawer-base-vw), 94px));
    height: min(80 / var(--drawer-limit) * var(--drawer-base-vw), 80px);
    background-color: #bce1da;
    border-radius: 0 min(6 / var(--drawer-limit) * var(--drawer-base-vw), 6px) min(6 / var(--drawer-limit) * var(--drawer-base-vw), 6px) 0;
    font-size: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  }
}
.m-hamburger__nav__main {
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  max-width: calc(100vw - 235px);
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main {
    order: 3;
    padding: min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px) min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px) 0;
    max-width: 100%;
    background-image: url(./images/common/bg_drawer_sp.jpg);
    background-position: top -80px center;
    background-repeat: no-repeat;
    background-size: cover;
  }
}
.m-hamburger__nav__main .main-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.679fr);
  gap: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  width: 100%;
  max-width: 915px;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: min(158 / var(--drawer-limit) * var(--drawer-base-vw), 158px) 0;
  }
}
.m-hamburger__nav__main .main-inner__blocks {
  width: 100%;
}
.m-hamburger__nav__main .main-inner__blocks a {
  text-decoration: none;
}
.m-hamburger__nav__main .main-inner__blocks .link-block {
  padding: min(18 / var(--drawer-limit) * var(--drawer-base-vw), 18px);
  display: block;
  background-color: #fff;
  border-radius: 10px;
}
.m-hamburger__nav__main .main-inner__blocks .link-block--01 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  background-color: #e8f2fd;
  position: relative;
  z-index: 1;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--01 {
    padding: 0 0 min(5 / var(--drawer-limit) * var(--drawer-base-vw), 5px);
    width: min(245 / var(--drawer-limit) * var(--drawer-base-vw), 245px);
    height: min(94 / var(--drawer-limit) * var(--drawer-base-vw), 94px);
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--01:hover .item-title .c-icon-arrow {
    fill: #e70072;
    right: 0;
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--01 {
    padding: 0;
    width: 100%;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 10px;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--01 .item-img {
  width: min(64 / var(--drawer-limit) * var(--drawer-base-vw), 64px);
  height: min(103 / var(--drawer-limit) * var(--drawer-base-vw), 103px);
  position: absolute;
  top: max(-1 * calc(20 / var(--drawer-limit) * var(--drawer-base-vw)), -20px);
  left: min(13 / var(--drawer-limit) * var(--drawer-base-vw), 13px);
  z-index: -1;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--01 .item-img {
    width: min(77 / var(--drawer-limit) * var(--drawer-base-vw), 77px);
    height: min(123 / var(--drawer-limit) * var(--drawer-base-vw), 123px);
    top: max(-1 * calc(22 / var(--drawer-limit) * var(--drawer-base-vw)), -22px);
    left: min(22 / var(--drawer-limit) * var(--drawer-base-vw), 22px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--01 .item-title {
  margin: 0;
  padding-left: min(90 / var(--drawer-limit) * var(--drawer-base-vw), 90px);
  color: #2a2b32;
  font-size: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
  font-weight: 500;
  line-height: 0.9;
  position: relative;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--01 .item-title {
    font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--01 .item-title span {
    font-size: min(24 / var(--drawer-limit) * var(--drawer-base-vw), 24px);
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--01 .item-title {
    padding: min(25 / var(--drawer-limit) * var(--drawer-base-vw), 25px);
    width: 100%;
    height: 100%;
    font-size: min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px);
    font-weight: 600;
    line-height: 1;
    text-align: center;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--01 .item-title .c-icon-arrow {
  width: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
  height: min(19 / var(--drawer-limit) * var(--drawer-base-vw), 19px);
  position: absolute;
  right: min(3 / var(--drawer-limit) * var(--drawer-base-vw), 3px);
  bottom: 0;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--01 .item-title .c-icon-arrow {
    display: none;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--02 {
  margin-top: min(12 / var(--drawer-limit) * var(--drawer-base-vw), 12px);
  padding: min(27 / var(--drawer-limit) * var(--drawer-base-vw), 27px) min(30 / var(--drawer-limit) * var(--drawer-base-vw), 30px) min(33 / var(--drawer-limit) * var(--drawer-base-vw), 33px);
  background-color: #ebe978;
  border-radius: 10px 0 10px 10px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 {
    margin-top: min(30 / var(--drawer-limit) * var(--drawer-base-vw), 30px);
    padding: 0;
    background-color: unset;
    border-radius: 10px;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-title {
  margin: 0;
  padding-top: min(52 / var(--drawer-limit) * var(--drawer-base-vw), 52px);
  width: min(270 / var(--drawer-limit) * var(--drawer-base-vw), 270px);
  height: min(106 / var(--drawer-limit) * var(--drawer-base-vw), 106px);
  background-color: #fff;
  border-radius: 10px 10px 0 0;
  text-decoration: none;
  position: absolute;
  top: max(-1 * calc(106 / var(--drawer-limit) * var(--drawer-base-vw)), -106px);
  right: 0;
  z-index: -1;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-title:hover .item-title__txt {
    color: #df2c45;
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-title {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    height: min(86 / var(--drawer-limit) * var(--drawer-base-vw), 86px);
    position: unset;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-title__img {
  position: absolute;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-title__img {
    width: min(46 / var(--drawer-limit) * var(--drawer-base-vw), 46px);
    height: min(61 / var(--drawer-limit) * var(--drawer-base-vw), 61px);
    top: max(-1 * calc(13 / var(--drawer-limit) * var(--drawer-base-vw)), -13px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-title__img {
    width: min(53 / var(--drawer-limit) * var(--drawer-base-vw), 53px);
    height: min(70 / var(--drawer-limit) * var(--drawer-base-vw), 70px);
    top: max(-1 * calc(2 / var(--drawer-limit) * var(--drawer-base-vw)), -2px);
    left: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-title__txt {
  margin: 0;
  color: #2a2b32;
  font-size: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  transition: 0.3s;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-title__txt {
    font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-title__txt span {
    font-size: min(24 / var(--drawer-limit) * var(--drawer-base-vw), 24px);
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-title__txt {
    font-size: min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px);
    font-weight: 600;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(4, auto);
  gap: min(14 / var(--drawer-limit) * var(--drawer-base-vw), 14px) 0;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list {
    padding: min(30 / var(--drawer-limit) * var(--drawer-base-vw), 30px);
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(4, 1fr);
    gap: min(24 / var(--drawer-limit) * var(--drawer-base-vw), 24px);
    background-color: #ebe978;
    border-radius: 0 0 10px 10px;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list__item .link {
  color: #2a2b32;
  font-size: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  font-weight: 500;
  line-height: 1.4;
  position: relative;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list__item .link {
    font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list__item .link::before {
    content: "";
    margin-right: 4px;
    display: inline-block;
    background-image: url(./images/common/img_drawer_block_02_pin.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top;
    width: min(15 / var(--drawer-limit) * var(--drawer-base-vw), 15px);
    height: min(21 / var(--drawer-limit) * var(--drawer-base-vw), 21px);
    position: relative;
    top: 0;
    left: 0;
    transition: inherit;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list__item .link:hover::before {
    background-image: url(./images/common/img_drawer_block_02_pin_active.png);
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list__item .link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    max-width: min(296 / var(--drawer-limit) * var(--drawer-base-vw), 296px);
    height: min(78 / var(--drawer-limit) * var(--drawer-base-vw), 78px);
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 10px;
    font-size: min(26 / var(--drawer-limit) * var(--drawer-base-vw), 26px);
    font-weight: 600;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list__item .link-name {
  display: contents;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list__item .link-name {
    margin-right: min(3 / var(--drawer-limit) * var(--drawer-base-vw), 3px);
    display: inline-block;
    position: relative;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list__item .link-name::after {
    content: "";
    display: inline-block;
    width: calc(100% + min(14 / var(--drawer-limit) * var(--drawer-base-vw), 14px));
    height: 3px;
    border-bottom: 3px dotted #2a2b32;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list__item .link-area {
  display: contents;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--02 .item-list__item .link-area {
    display: inline-block;
    color: #fff;
    font-family: "Dela Suko Gothic", "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: min(15 / var(--drawer-limit) * var(--drawer-base-vw), 15px);
    letter-spacing: 1px;
    -webkit-text-stroke: 2px black;
    text-stroke: 2px black;
    paint-order: stroke;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--03 {
  margin-top: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  padding: 0;
  overflow: hidden;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 {
    display: grid;
    grid-template-columns: 1fr min(377 / var(--drawer-limit) * var(--drawer-base-vw), 377px);
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 {
    margin-top: min(30 / var(--drawer-limit) * var(--drawer-base-vw), 30px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-title {
  padding-top: min(22 / var(--drawer-limit) * var(--drawer-base-vw), 22px);
  position: relative;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-title {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    height: min(86 / var(--drawer-limit) * var(--drawer-base-vw), 86px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-title__txt {
  margin: 0 auto;
  width: fit-content;
  color: #2a2b32;
  font-size: min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px);
  font-weight: 600;
  line-height: 1.05;
  text-align: left;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-title__txt {
    font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 500;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-title__txt span {
    font-size: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-title__img {
  width: min(105 / var(--drawer-limit) * var(--drawer-base-vw), 105px);
  height: min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  bottom: 0;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-title__img {
    width: min(666 / var(--drawer-limit) * var(--drawer-base-vw), 666px);
    height: min(86 / var(--drawer-limit) * var(--drawer-base-vw), 86px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-list {
  padding: min(25 / var(--drawer-limit) * var(--drawer-base-vw), 25px) min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px) min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-content: center;
  align-content: center;
  gap: min(4 / var(--drawer-limit) * var(--drawer-base-vw), 4px) min(18 / var(--drawer-limit) * var(--drawer-base-vw), 18px);
  background-color: #ade4d7;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-list {
    width: 100%;
    gap: min(24 / var(--drawer-limit) * var(--drawer-base-vw), 24px) min(26 / var(--drawer-limit) * var(--drawer-base-vw), 26px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-list__item .link {
  display: inline-block;
  min-width: min(147 / var(--drawer-limit) * var(--drawer-base-vw), 147px);
  color: #2a2b32;
  font-size: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-list__item .link {
    border-bottom: 3px dotted #2a2b32;
    font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-list__item .link:hover {
    border-color: #e70072;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-list__item .link span {
    font-size: min(16 / var(--drawer-limit) * var(--drawer-base-vw), 16px);
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-list__item .link {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    height: min(78 / var(--drawer-limit) * var(--drawer-base-vw), 78px);
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 10px;
    font-size: min(26 / var(--drawer-limit) * var(--drawer-base-vw), 26px);
    font-weight: 600;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--03 .item-list__item .link span {
    display: contents;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--04 {
  margin-top: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  padding: 0;
  background-color: unset;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--04 {
    display: grid;
    grid-template-columns: 1fr 1fr min(270 / var(--drawer-limit) * var(--drawer-base-vw), 270px);
    gap: min(12 / var(--drawer-limit) * var(--drawer-base-vw), 12px);
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--04 {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(38 / var(--drawer-limit) * var(--drawer-base-vw), 38px) min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--04 .link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  height: 64px;
  background-color: #fff;
  border-radius: 10px;
  color: #2a2b32;
  font-size: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--04 .link {
    font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--04 .link:hover {
    background-color: #ebe978;
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--04 .link {
    border: 1px solid #000;
    font-size: min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px);
    font-weight: 600;
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--04 .link.--01, .m-hamburger__nav__main .main-inner__blocks .link-block--04 .link.--02 {
    width: calc(50% - min(14 / var(--drawer-limit) * var(--drawer-base-vw), 14px));
    height: min(88 / var(--drawer-limit) * var(--drawer-base-vw), 88px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--04 .link.--03 {
  position: relative;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--04 .link.--03 {
    font-size: min(24 / var(--drawer-limit) * var(--drawer-base-vw), 24px);
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--04 .link.--03 span {
    font-size: min(18 / var(--drawer-limit) * var(--drawer-base-vw), 18px);
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--04 .link.--03 {
    height: min(88 / var(--drawer-limit) * var(--drawer-base-vw), 88px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--04 .link.--03::before {
  content: "";
  margin-right: min(3 / var(--drawer-limit) * var(--drawer-base-vw), 3px);
  display: inline-block;
  background-image: url(./images/common/img_drawer_block_04.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: min(37 / var(--drawer-limit) * var(--drawer-base-vw), 37px);
  height: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  position: relative;
  top: 0;
  left: 0;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--04 .link.--03::before {
    background-image: url(./images/common/img_drawer_block_04_sp.png);
    width: min(95 / var(--drawer-limit) * var(--drawer-base-vw), 95px);
    height: min(54 / var(--drawer-limit) * var(--drawer-base-vw), 54px);
    position: absolute;
    top: min(17 / var(--drawer-limit) * var(--drawer-base-vw), 17px);
    left: min(22 / var(--drawer-limit) * var(--drawer-base-vw), 22px);
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--04 .link.--03 {
    width: 100%;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 {
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: min(13 / var(--drawer-limit) * var(--drawer-base-vw), 13px);
  width: 100%;
  background-color: unset;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 {
    grid-template-columns: 1fr 1fr;
    gap: min(24 / var(--drawer-limit) * var(--drawer-base-vw), 24px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box {
  margin: 0;
  border-radius: 10px;
  color: #000;
  text-decoration: none;
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box:hover .item-box__link .c-icon-arrow {
    fill: #e70072;
    right: min(21 / var(--drawer-limit) * var(--drawer-base-vw), 21px);
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
    border: 1px solid #000;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head {
  padding: min(18 / var(--drawer-limit) * var(--drawer-base-vw), 18px) 0 min(23 / var(--drawer-limit) * var(--drawer-base-vw), 23px);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  border-radius: min(10 / var(--drawer-limit) * var(--drawer-base-vw), 10px) min(10 / var(--drawer-limit) * var(--drawer-base-vw), 10px) 0 0;
  position: relative;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head {
    order: 2;
    padding: min(30 / var(--drawer-limit) * var(--drawer-base-vw), 30px) 0 0;
    height: min(196 / var(--drawer-limit) * var(--drawer-base-vw), 196px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head__txt {
  margin: 0;
  font-family: "Senobi-Gothic-Medium", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: min(19 / var(--drawer-limit) * var(--drawer-base-vw), 19px);
  letter-spacing: max(-1 * calc(6 / var(--drawer-limit) * var(--drawer-base-vw)), -6px);
  line-height: 1;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head__txt {
    display: none;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head__title {
  margin: min(8 / var(--drawer-limit) * var(--drawer-base-vw), 8px) 0 0;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px);
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head__title {
    display: none;
  }
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head__name {
    padding: min(4 / var(--drawer-limit) * var(--drawer-base-vw), 4px) 0 min(3 / var(--drawer-limit) * var(--drawer-base-vw), 3px);
    width: calc(100% - min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px));
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 5px;
    position: absolute;
    bottom: max(-1 * calc(11 / var(--drawer-limit) * var(--drawer-base-vw)), -11px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 3;
  }
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head__name {
    width: 100%;
    height: 100%;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head__name .txt {
  margin: 0;
  font-size: min(15 / var(--drawer-limit) * var(--drawer-base-vw), 15px);
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head__name .txt {
    padding-top: min(50 / var(--drawer-limit) * var(--drawer-base-vw), 50px);
    font-size: min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px);
    line-height: 1.3;
    position: relative;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head__name .txt::before {
  content: "";
  margin-right: min(4 / var(--drawer-limit) * var(--drawer-base-vw), 4px);
  display: inline-block;
  background-image: url(./images/common/img_cta_icon_pc.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: min(16 / var(--drawer-limit) * var(--drawer-base-vw), 16px);
  height: min(14 / var(--drawer-limit) * var(--drawer-base-vw), 14px);
  position: relative;
  top: min(2 / var(--drawer-limit) * var(--drawer-base-vw), 2px);
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__head__name .txt::before {
    margin: 0;
    width: min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px);
    height: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__link {
  padding-top: min(9 / var(--drawer-limit) * var(--drawer-base-vw), 9px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  height: min(78 / var(--drawer-limit) * var(--drawer-base-vw), 78px);
  background-color: #fff;
  border-radius: 0 0 10px 10px;
  text-decoration: none;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__link {
    order: 1;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 100%;
    height: min(233 / var(--drawer-limit) * var(--drawer-base-vw), 233px);
    border-radius: 10px 10px 0 0;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__link__img {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  width: min(78 / var(--drawer-limit) * var(--drawer-base-vw), 78px);
  height: min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px);
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__link__img {
    margin-bottom: min(4 / var(--drawer-limit) * var(--drawer-base-vw), 4px);
    width: min(193 / var(--drawer-limit) * var(--drawer-base-vw), 193px);
    height: min(103 / var(--drawer-limit) * var(--drawer-base-vw), 103px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__link__txt {
  margin: 0;
  color: #000;
  font-size: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
  font-weight: bold;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__link__txt {
    font-size: min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__link .c-icon-blank {
  transform: translateY(0.1em);
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__link .c-icon-blank {
    position: absolute;
    right: min(15 / var(--drawer-limit) * var(--drawer-base-vw), 15px);
    bottom: min(15 / var(--drawer-limit) * var(--drawer-base-vw), 15px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__link .c-icon-arrow {
  position: absolute;
  top: calc(50% + min(4 / var(--drawer-limit) * var(--drawer-base-vw), 4px));
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 24px;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box__link .c-icon-arrow {
    display: none;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box.--01 {
  background-color: #f6a183;
}
.m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box.--02 {
  background-color: #f2d85f;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box.--02 .item-box__link {
    padding-top: min(66 / var(--drawer-limit) * var(--drawer-base-vw), 66px);
    justify-content: flex-start;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--05 .item-box.--02 .item-box__link::after {
    content: "";
    display: inline-block;
    background-image: url(./images/common/img_drawer_block_05_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top;
    width: min(69 / var(--drawer-limit) * var(--drawer-base-vw), 69px);
    height: min(89 / var(--drawer-limit) * var(--drawer-base-vw), 89px);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 {
  margin-top: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: min(13 / var(--drawer-limit) * var(--drawer-base-vw), 13px);
  width: 100%;
  background-color: unset;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 {
    margin-top: min(80 / var(--drawer-limit) * var(--drawer-base-vw), 80px);
    gap: min(44 / var(--drawer-limit) * var(--drawer-base-vw), 44px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item {
  width: 100%;
  height: min(76 / var(--drawer-limit) * var(--drawer-base-vw), 76px);
  background-color: #f7f7e8;
  border-radius: 10px;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item {
    height: min(162 / var(--drawer-limit) * var(--drawer-base-vw), 162px);
    border: 1px solid #000;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item.--01 {
  padding-top: min(2 / var(--drawer-limit) * var(--drawer-base-vw), 2px);
  padding-left: min(56 / var(--drawer-limit) * var(--drawer-base-vw), 56px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item.--01 {
    padding-left: min(80 / var(--drawer-limit) * var(--drawer-base-vw), 80px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item.--01::before {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_cta_btn_icon_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: min(53 / var(--drawer-limit) * var(--drawer-base-vw), 53px);
  height: min(70 / var(--drawer-limit) * var(--drawer-base-vw), 70px);
  position: absolute;
  bottom: 0;
  left: min(17 / var(--drawer-limit) * var(--drawer-base-vw), 17px);
  z-index: 2;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item.--01::before {
    width: min(127 / var(--drawer-limit) * var(--drawer-base-vw), 127px);
    height: min(171 / var(--drawer-limit) * var(--drawer-base-vw), 171px);
    top: max(-1 * calc(13 / var(--drawer-limit) * var(--drawer-base-vw)), -13px);
    left: min(22 / var(--drawer-limit) * var(--drawer-base-vw), 22px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__tel {
  margin: 0 0 min(5 / var(--drawer-limit) * var(--drawer-base-vw), 5px);
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: min(26 / var(--drawer-limit) * var(--drawer-base-vw), 26px);
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__tel {
    margin-bottom: min(8 / var(--drawer-limit) * var(--drawer-base-vw), 8px);
    font-size: min(48 / var(--drawer-limit) * var(--drawer-base-vw), 48px);
    text-decoration: underline;
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__time {
  margin: 0;
  font-size: min(14 / var(--drawer-limit) * var(--drawer-base-vw), 14px);
  letter-spacing: 0;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__time {
    font-size: min(24 / var(--drawer-limit) * var(--drawer-base-vw), 24px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__time .st1 {
  font-weight: 600;
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__time .st2 {
  margin: 0 min(2 / var(--drawer-limit) * var(--drawer-base-vw), 2px);
  color: #e70072;
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__time .st3 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  letter-spacing: 0;
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item.--02 {
  position: relative;
  z-index: 1;
  transition: 0.3s;
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item.--02::before {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_cta_btn_icon_02_set.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: min(57 / var(--drawer-limit) * var(--drawer-base-vw), 57px);
  height: min(63 / var(--drawer-limit) * var(--drawer-base-vw), 63px);
  position: absolute;
  top: max(-1 * calc(8 / var(--drawer-limit) * var(--drawer-base-vw)), -8px);
  left: min(8 / var(--drawer-limit) * var(--drawer-base-vw), 8px);
  z-index: 2;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item.--02::before {
    width: min(150 / var(--drawer-limit) * var(--drawer-base-vw), 150px);
    height: min(155 / var(--drawer-limit) * var(--drawer-base-vw), 155px);
    top: max(-1 * calc(34 / var(--drawer-limit) * var(--drawer-base-vw)), -34px);
    left: max(-1 * calc(6 / var(--drawer-limit) * var(--drawer-base-vw)), -6px);
  }
}
@media all and (min-width: 768px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item.--02:hover {
    background-color: #f6ed5b;
  }
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item.--02:hover .c-icon-arrow {
    transform: translateX(3px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__form {
  padding-left: min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  color: #000;
  font-size: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
  font-weight: 600;
  letter-spacing: -1px;
  text-align: center;
  text-decoration: none;
  position: relative;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__form {
    padding-left: min(90 / var(--drawer-limit) * var(--drawer-base-vw), 90px);
    font-size: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__form .c-icon-blank {
  margin: 0;
  max-height: 0.9em;
  max-width: 0.9em;
  transform: translateY(0.1em);
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__form .c-icon-blank {
    margin-left: min(4 / var(--drawer-limit) * var(--drawer-base-vw), 4px);
  }
}
.m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__form .c-icon-arrow {
  margin-right: 0;
  margin-left: 0.3em;
  max-height: 0.9em;
  max-width: 0.9em;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .m-hamburger__nav__main .main-inner__blocks .link-block--06 .li-item__form .c-icon-arrow {
    display: none;
  }
}

body.is-drawer-open {
  overflow: hidden;
}

.m-header__skip-link {
  display: block;
  margin-top: 50px;
}

/* -----------------------------------------------
  nav
-------------------------------------------------- */
.nav-fixed {
  position: fixed;
  bottom: 26px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 98;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}
.nav-fixed.is-scrolled:not(.hidden) {
  opacity: 1;
  pointer-events: unset;
}
@media all and (max-width: 767px) {
  .nav-fixed {
    display: none !important;
    visibility: hidden;
  }
}
.nav-fixed__links {
  margin-top: 20px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 6px;
}
@media all and (max-width: 767px) {
  .nav-fixed__links {
    display: none !important;
    visibility: hidden;
  }
}
.nav-fixed__links .item {
  position: relative;
  z-index: 1;
}
.nav-fixed__links .item:has(.hover) {
  z-index: 2;
}
.nav-fixed__links .item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  text-align: center;
  text-decoration: none;
  position: relative;
  z-index: 1;
}
.nav-fixed__links .item-link.--linksBtn {
  cursor: pointer;
}
.nav-fixed__links .item-link__txt {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.nav-fixed__links .item {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
  width: 67px;
  height: 65px;
  background-image: url(./images/top/img_btn_bg_02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: 0.3s;
}
.nav-fixed__links .item .item-link__txt {
  color: #00273b;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -1px;
  line-height: 1.2;
  transition: 0.3s;
}
.nav-fixed__links .item--d1:hover {
  background-image: url(./images/top/img_btn_bg_02_hover.png);
}
.nav-fixed__links .item--d1:hover .item-link__txt {
  color: #fff !important;
}
.nav-fixed__links .item--d2, .nav-fixed__links .item--d3 {
  width: 70px;
}
.nav-fixed__links .item--d2 .item-link, .nav-fixed__links .item--d3 .item-link {
  position: relative;
  z-index: 1;
}
.nav-fixed__links .item--d2 .item-link__txt, .nav-fixed__links .item--d3 .item-link__txt {
  padding-bottom: 8px;
  color: #fff;
  letter-spacing: 0;
  position: relative;
}
.nav-fixed__links .item--d2 .item-link__txt::after, .nav-fixed__links .item--d3 .item-link__txt::after {
  content: "";
  display: inline-block;
  background-image: url(./images/top/img_btn_bg_d_nami.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 40px;
  height: 5px;
  position: absolute;
  bottom: -3px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.nav-fixed__links .item--d2 {
  background-image: url(./images/top/img_btn_bg_d2.png);
}
.nav-fixed__links .item--d2 .item-link__deco {
  display: flex;
  width: 8px;
  height: 8px;
  opacity: 0;
  transition: 0.3s;
  animation: flash-alternate 2s infinite;
  position: absolute;
  z-index: 2;
}
.nav-fixed__links .item--d2 .item-link__deco.--01 {
  top: 18px;
  left: 9px;
}
.nav-fixed__links .item--d2 .item-link__deco.--02 {
  right: 9px;
  bottom: 18px;
  animation-delay: 1s;
}
.nav-fixed__links .item--d2:hover {
  background-image: url(./images/top/img_btn_bg_d_hover.png);
}
@keyframes flash-alternate {
  0%, 100% {
    opacity: 0;
    transform: scale(0.8);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}
.nav-fixed__links .item--d3 {
  background-image: url(./images/top/img_btn_bg_d3.png);
}
.nav-fixed__links .item--d3 .item-link__deco {
  margin: 0;
  color: #00273b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: -2.5px;
  line-height: 1;
  white-space: nowrap;
  position: absolute;
  top: -13px;
  left: calc(50% + 2px);
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt {
  display: inline-block;
  opacity: 0;
  display: inline-block;
  animation: text-reveal-loop 9s infinite;
  position: relative;
  bottom: 4px;
  transition: 0.3s;
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--01 {
  animation-delay: 0.2s;
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--02 {
  animation-delay: 0.4s;
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--03 {
  animation-delay: 0.6s;
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--04 {
  animation-delay: 0.8s;
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--05 {
  animation-delay: 1s;
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--06 {
  animation-delay: 1.2s;
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--07 {
  animation-delay: 1.4s;
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--08 {
  animation-delay: 1.6s;
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--09 {
  animation-delay: 1.8s;
}
@keyframes text-reveal-loop {
  0% {
    opacity: 0;
    bottom: 4px;
  }
  5% {
    opacity: 1;
    bottom: 0;
  }
  76% {
    opacity: 1;
    bottom: 0;
  }
  81%, 90% {
    opacity: 0;
    bottom: 0;
  }
  100% {
    opacity: 0;
    bottom: 0;
  }
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--01 {
  transform: rotate(337deg) translateX(-3px) translateY(4px);
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--02 {
  transform: rotate(347deg) translateX(-1px) translateY(2px);
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--03 {
  transform: rotate(353deg);
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--04 {
  transform: translateY(-1px);
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--05 {
  transform: translateY(-1px);
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--06 {
  color: #01886d;
  transform: rotate(13deg) translateX(2px) translateY(-1px);
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--07 {
  transform: rotate(17deg) translateX(3px) translateY(1px);
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--08 {
  transform: rotate(24deg) translateX(3px) translateY(3px);
}
.nav-fixed__links .item--d3 .item-link__deco .dc-txt.--09 {
  color: #e70072;
  transform: rotate(27deg) translateX(2px) translateY(6px);
}
.nav-fixed__links .item--d3:hover {
  background-image: url(./images/top/img_btn_bg_d_hover.png);
}
.nav-fixed__links .item-innerLinks {
  padding: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  width: 0;
  height: 0;
  background-color: #fff;
  border: 1px solid #00273b;
  border-radius: 21px;
  position: absolute;
  bottom: 64px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 2;
  transition: opacity 0.3s;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}
.nav-fixed__links .item-innerLinks::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  background-color: #fff;
  border-right: 1px solid #00273b;
  border-bottom: 1px solid #00273b;
  position: absolute;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  -webkit-transform: translateX(-50%) rotate(45deg);
  -ms-transform: translateX(-50%) rotate(45deg);
  bottom: -6px;
  z-index: 3;
}
.nav-fixed__links .item-innerLinks:not(.hover) * {
  opacity: 0;
  transition: 0.3s;
}
.nav-fixed__links .item-innerLinks.hover {
  padding: 10px 18px;
  width: 165px;
  height: auto;
  bottom: 61px;
  z-index: 2;
  opacity: 1;
  overflow: unset;
  pointer-events: unset;
}
.nav-fixed__links .item-innerLinks__item {
  width: 100%;
}
.nav-fixed__links .item-innerLinks__item + .item-innerLinks__item {
  position: relative;
}
.nav-fixed__links .item-innerLinks__item + .item-innerLinks__item::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, #00273b, #00273b 1px, transparent 1px, transparent 1px);
  background-size: 3px 2px;
  background-position: left bottom;
  background-repeat: repeat-x;
  position: absolute;
  top: 0;
  left: 0;
}
.nav-fixed__links .item-innerLinks__item__link {
  padding: 12px 0 12px 30px;
  display: inline-block;
  width: 100%;
  color: #00273b;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-align: left;
  text-decoration: none;
  position: relative;
}
.nav-fixed__links .item-innerLinks__item__link::before, .nav-fixed__links .item-innerLinks__item__link::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  vertical-align: middle;
}
.nav-fixed__links .item-innerLinks__item__link::before {
  width: 8px;
  height: 1px;
  background-color: #e70072;
  top: 19px;
  left: 14px;
}
.nav-fixed__links .item-innerLinks__item__link::after {
  width: 7px;
  height: 7px;
  border-top: 1px solid #e70072;
  border-right: 1px solid #e70072;
  top: 16px;
  left: 15px;
  transform: rotate(45deg);
}
.nav-fixed__links .item-innerLinks__item__link:hover {
  color: #e70072;
}

/**************************************************
  Footer
***************************************************/
.sec-cta {
  padding: 140px 0 460px;
  width: 100%;
  min-height: 1420px;
  background-image: url(./images/common/bg_cta.jpg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
@media all and (max-width: 767px) {
  .sec-cta {
    padding: min(280 / var(--drawer-limit) * var(--drawer-base-vw), 280px) 0 min(488 / var(--drawer-limit) * var(--drawer-base-vw), 488px);
    height: auto;
    min-height: unset;
    background-image: url(./images/common/bg_cta_sp_02.jpg);
    background-size: contain;
  }
  .sec-cta::before {
    content: "";
    display: inline-block;
    background-image: url(./images/common/bg_cta_sp_01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    width: 100%;
    height: min(300 / var(--drawer-limit) * var(--drawer-base-vw), 300px);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
.sec-cta__inner {
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1280px;
}
@media all and (max-width: 767px) {
  .sec-cta__inner {
    flex-direction: column;
  }
}
.sec-cta__block {
  padding-bottom: 42px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  width: 50%;
}
@media all and (max-width: 767px) {
  .sec-cta__block {
    padding-bottom: 50px;
    width: 100%;
  }
}
.sec-cta__block__appeal {
  margin: 0;
  display: inline-block;
  width: 271px;
  height: 150px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .sec-cta__block__appeal {
    width: min(420 / var(--drawer-limit) * var(--drawer-base-vw), 420px);
    height: min(216 / var(--drawer-limit) * var(--drawer-base-vw), 216px);
  }
}
.sec-cta__block__appeal.is-visible .item-bg, .sec-cta__block__appeal.is-visible .item-txt {
  opacity: 1;
  transform: scale(1);
}
.sec-cta__block__appeal.is-visible .--left {
  transition-delay: 0s;
}
.sec-cta__block__appeal.is-visible .--right {
  transition-delay: 0.3s;
}
.sec-cta__block__appeal.is-visible .--center, .sec-cta__block__appeal.is-visible .item-txt {
  transition-delay: 0.6s;
}
.sec-cta__block__appeal .item-bg, .sec-cta__block__appeal .item-txt {
  opacity: 0;
  transition: opacity 0.4s ease-out, transform 0.6s ease-in-out;
  will-change: transform, opacity;
}
.sec-cta__block__appeal .item-txt {
  margin: 5px 0 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  transform: scale(0.9);
}
@media all and (max-width: 767px) {
  .sec-cta__block__appeal .item-txt {
    margin-top: min(16 / var(--drawer-limit) * var(--drawer-base-vw), 16px);
    font-size: 18px;
  }
}
.sec-cta__block__appeal .item-bg {
  display: inline-block;
  position: absolute;
  z-index: -1;
  transform: scale(0);
}
.sec-cta__block__appeal .item-bg.--center {
  width: 271px;
  height: 208px;
  top: -62px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media all and (max-width: 767px) {
  .sec-cta__block__appeal .item-bg.--center {
    width: min(420 / var(--drawer-limit) * var(--drawer-base-vw), 420px);
    height: min(323 / var(--drawer-limit) * var(--drawer-base-vw), 323px);
    top: max(-1 * calc(94 / var(--drawer-limit) * var(--drawer-base-vw)), -94px);
  }
}
.sec-cta__block__appeal .item-bg.--left {
  width: 111px;
  height: 85px;
  top: -52px;
  left: -62px;
  z-index: -2;
}
@media all and (max-width: 767px) {
  .sec-cta__block__appeal .item-bg.--left {
    width: min(172 / var(--drawer-limit) * var(--drawer-base-vw), 172px);
    height: min(131 / var(--drawer-limit) * var(--drawer-base-vw), 131px);
    top: max(-1 * calc(74 / var(--drawer-limit) * var(--drawer-base-vw)), -74px);
    left: max(-1 * calc(93 / var(--drawer-limit) * var(--drawer-base-vw)), -93px);
  }
}
.sec-cta__block__appeal .item-bg.--right {
  width: 111px;
  height: 85px;
  top: 2px;
  right: -68px;
  z-index: -2;
}
@media all and (max-width: 767px) {
  .sec-cta__block__appeal .item-bg.--right {
    width: min(172 / var(--drawer-limit) * var(--drawer-base-vw), 172px);
    height: min(131 / var(--drawer-limit) * var(--drawer-base-vw), 131px);
    top: min(3 / var(--drawer-limit) * var(--drawer-base-vw), 3px);
    right: max(-1 * calc(102 / var(--drawer-limit) * var(--drawer-base-vw)), -102px);
  }
}
.sec-cta__block__txs {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
}
@media all and (max-width: 767px) {
  .sec-cta__block__txs {
    margin-top: min(18 / var(--drawer-limit) * var(--drawer-base-vw), 18px);
  }
}
.sec-cta__block__txs .txs-01 {
  margin: 0;
  font-family: "Senobi-Gothic-Medium", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -2px;
  line-height: 1.6;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-cta__block__txs .txs-01 {
    font-size: 16px;
  }
}
.sec-cta__block__txs .txs-02 {
  margin: 0;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 52px;
  font-weight: 500;
  line-height: 0.9;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-cta__block__txs .txs-02 {
    font-size: 40px;
  }
}
.sec-cta__block__txs .txs-03 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 338px;
  height: 23px;
  background-color: #fff;
  border: 1px solid #000;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-cta__block__txs .txs-03 {
    width: 262px;
    font-size: 14px;
  }
}
.sec-cta__block__txs .txs-03::before {
  content: "";
  margin-right: 4px;
  display: inline-block;
  background-image: url(./images/common/img_cta_icon_pc.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 16px;
  height: 14px;
  position: relative;
  top: 0;
  left: 0;
}
.sec-cta__block.--01 {
  background-color: #f6a183;
  border-radius: 13px 0 0 0;
}
@media all and (max-width: 767px) {
  .sec-cta__block.--01 {
    padding-bottom: 92px;
    border-radius: 13px 13px 0 0;
  }
}
.sec-cta__block.--02 {
  background-color: #f2d85f;
  border-radius: 0 13px 0 0;
}
@media all and (max-width: 767px) {
  .sec-cta__block.--02 {
    margin-top: -13px;
    border-radius: 13px 13px 0 0;
  }
}
.sec-cta__block.--02 .sec-cta__block__appeal .item-bg.--left {
  top: 35px;
  left: -56px;
}
@media all and (max-width: 767px) {
  .sec-cta__block.--02 .sec-cta__block__appeal .item-bg.--left {
    left: max(-1 * calc(88 / var(--drawer-limit) * var(--drawer-base-vw)), -88px);
  }
}
.sec-cta__block.--02 .sec-cta__block__appeal .item-bg.--right {
  top: 35px;
  right: -59px;
}
@media all and (max-width: 767px) {
  .sec-cta__block.--02 .sec-cta__block__appeal .item-bg.--right {
    right: max(-1 * calc(95 / var(--drawer-limit) * var(--drawer-base-vw)), -95px);
  }
}
.sec-cta__block.--02 .txs-02 {
  margin-top: 15px;
}
@media all and (max-width: 767px) {
  .sec-cta__block.--02 .txs-02 {
    margin-top: 5px;
  }
}
.sec-cta__block__btn {
  padding: 0 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 312px;
  height: 117px;
  background-image: url(./images/common/img_btn_bg.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #000;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -1px;
  text-decoration: none;
  position: relative;
}
@media all and (max-width: 767px) {
  .sec-cta__block__btn {
    padding-right: 8px;
    width: 242px;
    height: 93px;
    font-size: 18px;
  }
}
.sec-cta__block__btn .c-icon-blank {
  transform: translateY(1px);
}
.sec-cta__block__btn .c-icon-arrow {
  margin: 0;
  width: 18px;
  height: 16px;
  position: absolute;
  right: 20px;
  top: 45px;
  transition: inherit;
}
@media all and (max-width: 767px) {
  .sec-cta__block__btn .c-icon-arrow {
    width: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    height: min(25 / var(--drawer-limit) * var(--drawer-base-vw), 25px);
    top: min(85 / var(--drawer-limit) * var(--drawer-base-vw), 85px);
    right: min(43 / var(--drawer-limit) * var(--drawer-base-vw), 43px);
  }
}
.sec-cta__block__btn:visited {
  color: #000;
}
@media all and (min-width: 768px) {
  .sec-cta__block__btn:hover {
    padding-top: 10px;
    padding-bottom: 0;
    background-image: url(./images/top/img_btn_bg_03_active.png);
    color: #fff;
  }
  .sec-cta__block__btn:hover .c-icon-arrow {
    fill: #fff;
    top: 55px;
    right: 15px;
  }
}
.sec-cta__contact {
  padding: 0 30px 40px;
  width: 100%;
  background-color: #fff;
  border-radius: 0 0 13px 13px;
}
.sec-cta__contact__heading {
  margin: 0;
  padding: 22px 0;
  width: 100%;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-cta__contact__heading {
    font-size: 18px;
    line-height: 1.5;
  }
}
.sec-cta__contact__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media all and (max-width: 767px) {
  .sec-cta__contact__list {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.sec-cta__contact__list .li-item {
  width: 100%;
  height: 105px;
  background-color: #f7f7e8;
  border: 1px solid #000;
  border-radius: 10px;
}
@media all and (max-width: 767px) {
  .sec-cta__contact__list .li-item {
    margin: 0 auto;
    max-width: 335px;
    height: 82px;
  }
}
.sec-cta__contact__list .li-item.is-visible::before, .sec-cta__contact__list .li-item.is-visible::after {
  opacity: 1 !important;
  transform: translateX(0) translateY(0) !important;
}
.sec-cta__contact__list .li-item.is-visible::before {
  transition-delay: 0s !important;
}
.sec-cta__contact__list .li-item.is-visible::after {
  transition-delay: 0.4s !important;
}
.sec-cta__contact__list .li-item.--01 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .sec-cta__contact__list .li-item.--01 {
    padding-left: 63px;
  }
}
.sec-cta__contact__list .li-item.--01::before {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_cta_btn_icon_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 83px;
  height: 111px;
  position: absolute;
  bottom: 0;
  left: 22px;
  z-index: 2;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  will-change: opacity, transform;
}
@media all and (max-width: 767px) {
  .sec-cta__contact__list .li-item.--01::before {
    width: 63px;
    height: 84px;
    left: 12px;
  }
}
.sec-cta__contact__list .li-item__tel {
  margin: 0 0 5px;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .sec-cta__contact__list .li-item__tel {
    font-size: 24px;
    text-decoration: none;
  }
}
.sec-cta__contact__list .li-item__time {
  margin: 0;
  font-size: 16px;
  letter-spacing: 0;
}
@media all and (max-width: 767px) {
  .sec-cta__contact__list .li-item__time {
    font-size: 12px;
  }
}
.sec-cta__contact__list .li-item__time .st1 {
  font-weight: 600;
}
.sec-cta__contact__list .li-item__time .st2 {
  margin: 0 2px;
  color: #e70072;
}
.sec-cta__contact__list .li-item__time .st3 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  letter-spacing: 0;
}
.sec-cta__contact__list .li-item.--02 {
  position: relative;
  z-index: 1;
  transition: 0.3s;
}
.sec-cta__contact__list .li-item.--02::before, .sec-cta__contact__list .li-item.--02::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  position: absolute;
  opacity: 0;
}
.sec-cta__contact__list .li-item.--02::before {
  background-image: url(./images/common/img_cta_btn_icon_02.png);
  width: 67px;
  height: 51px;
  top: 26px;
  left: 54px;
  z-index: 3;
  transform: translateY(14px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  will-change: opacity, transform;
}
@media all and (max-width: 767px) {
  .sec-cta__contact__list .li-item.--02::before {
    width: 49px;
    height: 37px;
    top: 21px;
    left: 21px;
  }
}
.sec-cta__contact__list .li-item.--02::after {
  background-image: url(./images/common/img_cta_btn_icon_02_airplane.png);
  width: 96px;
  height: 95px;
  top: -17px;
  left: 26px;
  z-index: 2;
  transform: translateX(2px) translateY(10px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  will-change: opacity, transform;
}
@media all and (max-width: 767px) {
  .sec-cta__contact__list .li-item.--02::after {
    width: 77px;
    height: 78px;
    top: -19px;
    left: -3px;
  }
}
.sec-cta__contact__list .li-item.--02:hover {
  background-color: #f6ed5b;
}
.sec-cta__contact__list .li-item__form {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  color: #000;
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  position: relative;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .sec-cta__contact__list .li-item__form {
    padding-left: 68px;
    font-size: 18px;
  }
  .sec-cta__contact__list .li-item__form .c-icon {
    transform: translateY(0);
  }
}
@media all and (min-width: 768px) {
  .sec-cta__contact__list .li-item__form::before {
    content: "";
    width: 16px;
    height: 3px;
    background-color: #000;
    position: absolute;
    top: 52px;
    right: 38px;
    vertical-align: middle;
  }
  .sec-cta__contact__list .li-item__form::after {
    content: "";
    width: 11px;
    height: 11px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    position: absolute;
    top: 48px;
    right: 38px;
    transform: rotate(45deg);
    vertical-align: middle;
  }
}
@media all and (min-width: 768px) {
  .sec-cta__photo {
    width: 100%;
    height: auto;
  }
  .sec-cta__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}
.sec-cta__photo-upper, .sec-cta__photo-under {
  display: flex;
  align-items: center;
  overflow: hidden;
}
.sec-cta__photo-upper img, .sec-cta__photo-under img {
  width: 750px;
  max-width: none;
  height: auto;
  animation: gallery 30s infinite linear both;
}
.sec-cta__photo-under img {
  animation-duration: 40s;
  animation-direction: reverse;
}
@keyframes gallery {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.sec-cta__deco {
  width: 100%;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media all and (min-width: 768px) {
  .sec-cta__deco {
    display: flex;
    justify-content: center;
  }
}
@media all and (max-width: 767px) {
  .sec-cta__deco {
    height: min(448 / var(--drawer-limit) * var(--drawer-base-vw), 448px);
  }
}
.sec-cta__deco__inner {
  display: flex;
  width: fit-content;
}
@media all and (max-width: 767px) {
  .sec-cta__deco__inner {
    animation: loop-marqee 28s linear infinite;
  }
}
.sec-cta__deco__inner .item-txt {
  margin: 0;
  display: block;
  width: 100%;
  max-width: 1280px;
}
@media all and (min-width: 768px) {
  .sec-cta__deco__inner .item-txt:nth-child(2) {
    display: none;
  }
}
@media all and (max-width: 767px) {
  .sec-cta__deco__inner .item-txt {
    width: calc(min(1400 / var(--drawer-limit) * var(--drawer-base-vw), 1400px) + min(100 / var(--drawer-limit) * var(--drawer-base-vw), 100px));
    height: min(448 / var(--drawer-limit) * var(--drawer-base-vw), 448px);
  }
}
.sec-cta__deco__inner .item-txt img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom left;
}

.m-footer {
  padding: 80px 0 110px;
  background-color: #0c2c3c;
  color: #fff;
}
@media all and (max-width: 767px) {
  .m-footer {
    padding: min(94 / var(--drawer-limit) * var(--drawer-base-vw), 94px) 0 min(150 / var(--drawer-limit) * var(--drawer-base-vw), 150px);
  }
}
.m-footer__inner {
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 30px 48px;
  width: 100%;
  max-width: 1230px;
}
@media all and (max-width: 767px) {
  .m-footer__inner {
    align-items: center;
    flex-direction: column;
    gap: 0;
  }
}
.m-footer__inner__block {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
}
@media all and (max-width: 767px) {
  .m-footer__inner__block {
    display: contents;
  }
}
.m-footer__inner__block.--01 {
  width: 346px;
}
.m-footer__inner__block.--02 {
  width: 834px;
}
@media all and (max-width: 767px) {
  .m-footer__inner__block.--02 {
    display: contents;
    width: 100%;
  }
}
@media all and (max-width: 767px) {
  .m-footer__inner__block .block-site {
    order: 1;
    text-align: center;
  }
}
.m-footer__inner__block .block-site__main {
  margin: 0;
  color: #fff;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 32px;
  line-height: 1;
  text-decoration: none;
}
@media all and (min-width: 768px) {
  .m-footer__inner__block .block-site__main:hover {
    color: #e70072;
  }
}
@media all and (max-width: 767px) {
  .m-footer__inner__block .block-site__main {
    font-size: 29px;
  }
}
.m-footer__inner__block .block-site__sub {
  margin: 10px 0 0;
  font-size: 15px;
}
@media all and (max-width: 767px) {
  .m-footer__inner__block .block-site__sub {
    font-size: 16px;
  }
}
.m-footer__inner__block .block-address {
  margin-top: 30px;
  letter-spacing: 0;
  text-align: left;
}
@media all and (max-width: 767px) {
  .m-footer__inner__block .block-address {
    order: 4;
    text-align: center;
  }
}
.m-footer__inner__block .block-address__01 {
  margin: 0;
  font-size: 13px;
}
.m-footer__inner__block .block-address__02 {
  margin: 0;
  font-size: 13px;
}
.m-footer__inner__block .block-address__02 .st1 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  letter-spacing: 0;
}
.m-footer__inner__block .block-address__03 {
  margin: 0;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  letter-spacing: 0;
}
.m-footer__inner__block .block-address__03 .st1 {
  margin-right: 4px;
}
.m-footer__inner__block .block-address__03 .st2 {
  color: #fff;
}
.m-footer__inner__block .block-logo {
  margin-top: 30px;
  width: 313px;
  height: 200px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .m-footer__inner__block .block-logo {
    order: 2;
    margin-top: 26px;
    width: 232px;
    height: 148px;
  }
}
.m-footer__inner__block .block-logo::after {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_logo_dark_close.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  animation: eye-blink-rhythm 8.8s infinite;
}
.m-footer__inner__block .block-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.m-footer__inner__block .block-links {
  margin-bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}
@media all and (max-width: 767px) {
  .m-footer__inner__block .block-links {
    order: 3;
    margin: 25px auto 0;
  }
}
.m-footer__inner__block .block-links__sns {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 15px;
}
@media all and (max-width: 767px) {
  .m-footer__inner__block .block-links__sns {
    margin: 0 auto;
    justify-content: center;
  }
}
.m-footer__inner__block .block-links__sns__item {
  width: 30px;
  height: 30px;
}
@media all and (min-width: 768px) {
  .m-footer__inner__block .block-links__sns__item .item-link:hover {
    opacity: 0.6;
  }
}
.m-footer__inner__block .block-links__sns__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.m-footer__inner__block .block-links__page {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 28px;
}
@media all and (max-width: 767px) {
  .m-footer__inner__block .block-links__page {
    display: none !important;
  }
}
.m-footer__inner__block .block-links__page__item {
  position: relative;
}
.m-footer__inner__block .block-links__page__item:nth-child(n+2)::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 14px;
  background-color: #fff;
  position: absolute;
  top: 6px;
  left: -13px;
}
.m-footer__inner__block .block-links__page .item-link {
  color: #fff;
  letter-spacing: -1px;
  text-decoration: none;
}
.m-footer__inner__block .block-links__page .item-link[target=_blank] {
  position: relative;
}
.m-footer__inner__block .block-links__page .item-link[target=_blank]::after {
  content: "";
  margin-left: 7px;
  display: inline-block;
  background-image: url(./images/common/icon_blank_footer.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 15px;
  height: 14px;
  position: relative;
  top: 1px;
}
.m-footer__inner__block .block-links__page .item-link.is-current, .m-footer__inner__block .block-links__page .item-link:hover {
  color: #e70072;
}
.m-footer__inner__block .block-menu {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 35px 65px;
  width: 100%;
  max-height: 250px;
}
@media all and (max-width: 767px) {
  .m-footer__inner__block .block-menu {
    display: none !important;
  }
}
.m-footer__inner__block .block-menu__item {
  max-width: 300px;
}
.m-footer__inner__block .block-menu__item__link {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1;
  text-decoration: none;
}
.m-footer__inner__block .block-menu__item__link.is-current, .m-footer__inner__block .block-menu__item__link:hover {
  color: #e70072;
}
.m-footer__inner__block .block-menu-child {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 14px 0;
}
.m-footer__inner__block .block-menu-child__item {
  width: 100%;
}
.m-footer__inner__block .block-menu-child__item__link {
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
}
.m-footer__inner__block .block-menu-child__item__link.is-current, .m-footer__inner__block .block-menu-child__item__link:hover {
  color: #e70072;
}
.m-footer__inner__block .block-other {
  margin-top: 60px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}
@media all and (max-width: 767px) {
  .m-footer__inner__block .block-other {
    order: 6;
    margin-top: 32px;
    align-items: center;
    flex-direction: column;
  }
}
.m-footer__inner__block .block-other__bnr {
  width: 244px;
  height: 36px;
}
.m-footer__inner__block .block-other__bnr:hover {
  opacity: 0.7;
}
.m-footer__inner__block .block-other__bnr img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
@media all and (min-width: 768px) {
  .m-footer__inner__block .block-other__link {
    display: none !important;
  }
}
.m-footer__inner__block .block-other__link {
  margin: 35px auto 0;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  text-align: center;
}
.m-footer__inner__block .block-other__copyright {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 11px;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media all and (max-width: 767px) {
  .m-footer__inner__block .block-other__copyright {
    margin-top: 20px;
  }
}
.m-footer__page-top-link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
  z-index: 3;
}
.m-footer__page-top-link .c-icon-arrow {
  margin: 0;
  width: 17px;
  height: 20px;
  fill: #fff;
  stroke: #96a186;
  stroke-width: 1px;
  transform: rotate(270deg);
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .m-footer__page-top-link .c-icon-arrow {
    display: none;
  }
}
.m-footer__page-top-link .link-img {
  margin-top: 5px;
  width: 93px;
  height: 49px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .m-footer__page-top-link .link-img {
    width: min(188 / var(--drawer-limit) * var(--drawer-base-vw), 188px);
    height: min(96 / var(--drawer-limit) * var(--drawer-base-vw), 96px);
  }
}
.m-footer__page-top-link .link-img::after {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_pagetop_close.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 2;
  opacity: 0;
  animation: eye-blink-pagetop 5s infinite;
}
@media all and (max-width: 767px) {
  .m-footer__page-top-link .link-img::after {
    background-image: url(./images/common/img_pagetop_sp_close.png);
    bottom: 0;
  }
}
.m-footer__page-top-link .link-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}
@media all and (min-width: 768px) {
  .m-footer__page-top-link:hover .c-icon-arrow {
    transform: rotate(270deg) translateX(8px);
  }
}
.m-footer__page-top__nav {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  width: min(420 / var(--drawer-limit) * var(--drawer-base-vw), 420px);
  position: absolute;
  bottom: min(15 / var(--drawer-limit) * var(--drawer-base-vw), 15px);
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media all and (min-width: 768px) {
  .m-footer__page-top__nav {
    display: none !important;
  }
}
.m-footer__page-top__nav .nav-link.--01 {
  width: min(121 / var(--drawer-limit) * var(--drawer-base-vw), 121px);
  height: min(111 / var(--drawer-limit) * var(--drawer-base-vw), 111px);
}
.m-footer__page-top__nav .nav-link.--02 {
  width: min(124 / var(--drawer-limit) * var(--drawer-base-vw), 124px);
  height: min(133 / var(--drawer-limit) * var(--drawer-base-vw), 133px);
}

@keyframes eye-blink-pagetop {
  0%, 19% {
    opacity: 0;
  }
  20%, 23% {
    opacity: 1;
  }
  24%, 100% {
    opacity: 0;
  }
}
/* -----------------------------------------------
  js-pageTop
-------------------------------------------------- */
.js-pageTop {
  display: block;
  position: fixed;
  right: clamp(20px, 2.394px + 4.695vw, 70px);
  bottom: -1px;
  z-index: 99;
}
@media all and (max-width: 767px) {
  .js-pageTop {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}

/**************************************************
  entry-list
***************************************************/
.m-entry-list .m-article + .m-article {
  border-top: 1px solid #000;
}
.m-entry-list .m-article__link {
  padding: 20px 0 23px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  text-decoration: none;
  position: relative;
  z-index: 1;
}
@media all and (min-width: 768px) {
  .m-entry-list .m-article__link:hover {
    background-color: rgba(136, 213, 215, 0.1);
  }
}
.m-entry-list .m-article__link:visited {
  color: #000;
}
.m-entry-list .m-article__contents {
  order: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
.m-entry-list .m-article__date {
  padding-top: 2px;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  letter-spacing: 0;
  line-height: 1;
}
.m-entry-list .m-article__category {
  margin-left: 18px;
  color: #e23a00;
  font-size: 14px;
  line-height: 1;
  position: relative;
}
.m-entry-list .m-article__category::before {
  content: "◯";
  margin-right: 6px;
  color: inherit;
  font-size: inherit;
}
.m-entry-list .m-article__title {
  order: 2;
  margin: 20px 0 0;
  width: calc(100% - 50px);
  max-width: 430px;
  min-height: 3em;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media all and (max-width: 767px) {
  .m-entry-list .m-article__title {
    min-height: unset;
    font-size: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  }
}

/**************************************************
  entry-list2
***************************************************/
.m-entry-list2 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
}
.m-entry-list2 .m-article {
  width: 100%;
}
.m-entry-list2 .m-article + .m-article {
  border-top: 1px solid #000;
}
.m-entry-list2 .m-article__link {
  padding: 28px 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
  color: #000;
  text-decoration: none;
}
@media all and (max-width: 767px) {
  .m-entry-list2 .m-article__link {
    padding: min(46 / var(--drawer-limit) * var(--drawer-base-vw), 46px) 0;
  }
}
@media all and (min-width: 768px) {
  .m-entry-list2 .m-article__link:hover {
    background-color: rgba(136, 213, 215, 0.1);
  }
}
.m-entry-list2 .m-article__link:visited {
  color: #000;
}
.m-entry-list2 .m-article__category {
  order: 1;
  padding: 11px 13px 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 75px;
  height: 75px;
  border: 1px solid #000;
  border-radius: 8px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.3;
  text-align: center;
}
@media all and (max-width: 767px) {
  .m-entry-list2 .m-article__category {
    padding: min(18 / var(--drawer-limit) * var(--drawer-base-vw), 18px) min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px) min(22 / var(--drawer-limit) * var(--drawer-base-vw), 22px);
    width: min(117 / var(--drawer-limit) * var(--drawer-base-vw), 117px);
    height: min(117 / var(--drawer-limit) * var(--drawer-base-vw), 117px);
    border-radius: min(16 / var(--drawer-limit) * var(--drawer-base-vw), 16px);
    font-size: min(30 / var(--drawer-limit) * var(--drawer-base-vw), 30px);
  }
}
.m-entry-list2 .m-article__content {
  padding: 0 40px 0 20px;
  order: 2;
  width: calc(100% - 76px - 120px);
}
@media all and (max-width: 767px) {
  .m-entry-list2 .m-article__content {
    padding: 0 0 0 min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    width: calc(100% - min(117 / var(--drawer-limit) * var(--drawer-base-vw), 117px));
  }
}
.m-entry-list2 .m-article__title {
  margin: 0;
  min-height: 2.6em;
  font-size: 18px;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media all and (max-width: 767px) {
  .m-entry-list2 .m-article__title {
    min-height: 2.4em;
    font-size: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  }
}
.m-entry-list2 .m-article__date {
  display: block;
  margin-top: 10px;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1;
  position: relative;
}
@media all and (max-width: 767px) {
  .m-entry-list2 .m-article__date {
    margin-top: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
    font-size: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
  }
}
.m-entry-list2 .m-article__date:not(:has(.event-day)) {
  display: none;
}
.m-entry-list2 .m-article__date::before {
  content: "";
  margin-right: 6px;
  display: inline-block;
  background-image: url(./images/common/img_icon_calender.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 15px;
  height: 15px;
  position: relative;
  top: 2px;
}
@media all and (max-width: 767px) {
  .m-entry-list2 .m-article__date::before {
    margin-right: min(6 / var(--drawer-limit) * var(--drawer-base-vw), 6px);
    width: min(23 / var(--drawer-limit) * var(--drawer-base-vw), 23px);
    height: min(23 / var(--drawer-limit) * var(--drawer-base-vw), 23px);
    top: min(5 / var(--drawer-limit) * var(--drawer-base-vw), 5px);
  }
}
.m-entry-list2 .m-article__thumb {
  order: 3;
  width: 120px;
  height: 76px;
  overflow: hidden;
}
@media all and (max-width: 767px) {
  .m-entry-list2 .m-article__thumb {
    display: none;
  }
}
.m-entry-list2 .m-article__thumb .wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/**************************************************
  entry-card
***************************************************/
.m-entry-card {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 38px;
}
@media all and (max-width: 767px) {
  .m-entry-card {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 18px;
  }
}
.m-entry-card .m-article__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: #000;
  text-decoration: none;
  position: relative;
}
.m-entry-card .m-article__link:hover .m-article__thumb img {
  transform: scale(1.06);
}
.m-entry-card .m-article__content {
  order: 2;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
}
.m-entry-card .m-article__thumb {
  order: 1;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  border: 1px solid #000;
  border-radius: 18px;
  overflow: hidden;
}
.m-entry-card .m-article__thumb .wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-entry-card .m-article__thumb img {
  transition: 0.3s;
}
.m-entry-card .m-article__info {
  order: 1;
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px 14px;
}
.m-entry-card .m-article__date {
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
.m-entry-card .m-article__category {
  padding: 6px 7px;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}
.m-entry-card .m-article__category .i-sharp {
  margin-right: 2px;
  color: #e70072;
}
.m-entry-card .m-article__category.--tag {
  border: none;
  background-color: #d0e1ee;
}
.m-entry-card .m-article__title {
  order: 2;
  margin: 10px 0 0;
  font-size: 16px;
  font-weight: 600;
}
.m-entry-card .m-article .event-info {
  order: 3;
  display: block;
  line-height: 1;
  margin-top: 10px;
}
.m-entry-card .m-article .event-info .event-day,
.m-entry-card .m-article .event-info .event-time {
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0px;
  line-height: 1;
}
.m-entry-card .m-article .event-info .event-day {
  margin-right: 0.5em;
}
.m-entry-card .m-article .event-info .space {
  position: relative;
  top: 0.1em;
}
.m-entry-card .m-article .event-info .event-place {
  margin: 0.6em 0 0;
}
.m-entry-card .m-article .event-info .event-place .c-icon-location {
  width: 11px;
  height: 15px;
  transform: translateY(-2px);
}
.m-entry-card .m-article .event-info .event-place__txt {
  margin-left: 0.2rem;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}
.m-entry-card .m-article .event-info .c-icon {
  width: 16px;
  height: 16px;
  margin-inline: 0;
}
.m-entry-card .m-article .i-link__sub {
  margin: 0;
  padding: 10px 7px;
  background-color: #ea5326;
  border-radius: 10px 0;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .m-entry-card .m-article .i-link__sub {
    padding: 7px 5px;
    font-size: 12px;
  }
}
.m-entry-card .m-article .i-link__area {
  order: -1;
  margin: 15px 0 0;
  padding: 0 7px;
  display: block;
  border-right: 1px solid var(--color-text);
  border-left: 1px solid var(--color-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}

@media all and (max-width: 767px) {
  .post-type-archive-voice .m-article__thumb,
  .archive.tax-voice_tag .m-article__thumb {
    aspect-ratio: 4/3;
  }
}
.post-type-archive-voice .m-entry-card .m-article__title,
.archive.tax-voice_tag .m-entry-card .m-article__title {
  order: unset;
}
.post-type-archive-voice .m-article__info,
.archive.tax-voice_tag .m-article__info {
  gap: 8px;
}

/**************************************************
  page title
***************************************************/
.m-page-head {
  padding: 168px 0 25px;
  min-height: 400px;
  background-color: #e8f2fd;
  overflow: hidden;
}
@media all and (max-width: 767px) {
  .m-page-head {
    padding: 120px 0 15px;
    min-height: unset;
  }
}
.m-page-head .inner {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.m-page-head__deco {
  position: absolute;
  z-index: -1;
}
.m-page-head__deco.--01 {
  width: 247px;
  height: 90px;
  top: -107px;
  left: calc(50% + 504px);
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media all and (max-width: 767px) {
  .m-page-head__deco.--01 {
    width: 159px;
    height: 67px;
    top: -48px;
    left: calc(50% + 115px);
  }
}
.m-page-head__deco.--02 {
  width: 241px;
  height: 89px;
  top: -132px;
  left: calc(50% - 366px);
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media all and (max-width: 767px) {
  .m-page-head__deco.--02 {
    width: 159px;
    height: 67px;
    top: -108px;
    left: calc(50% - 109px);
  }
}
.m-page-head__deco.--03 {
  width: 134px;
  height: 34px;
  top: 40px;
  left: calc(50% - 760px);
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media all and (max-width: 767px) {
  .m-page-head__deco.--03 {
    width: 95px;
    height: 31px;
    top: 26px;
    left: calc(50% - 222px);
  }
}

.m-page-title {
  order: 2;
  margin-top: 50px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
}
@media all and (max-width: 767px) {
  .m-page-title {
    margin-top: 35px;
  }
}
.m-page-title__heading, .m-page-title__text {
  margin: 0;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 83px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .m-page-title__heading, .m-page-title__text {
    font-size: 48px;
  }
}
.m-page-title__en {
  margin: 18px 0 0;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}
@media all and (max-width: 767px) {
  .m-page-title__en {
    margin-top: 14px;
    font-size: 14px;
  }
}

/**************************************************
  breadcrumb
***************************************************/
.m-breadcrumb {
  padding: 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  white-space: nowrap;
  overflow-x: auto;
  order: 1;
}
@media all and (max-width: 767px) {
  .m-breadcrumb {
    max-width: 100%;
    max-height: 28px;
    overflow: scroll;
    overflow-y: hidden;
  }
}
.m-breadcrumb ol {
  padding: 5px 8px;
  display: flex;
}
.m-breadcrumb ol li {
  color: #000;
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
}
.m-breadcrumb ol li:nth-child(n+2) {
  margin-left: 30px;
  position: relative;
}
.m-breadcrumb ol li:nth-child(n+2)::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 14px;
  background-color: #000;
  position: absolute;
  top: 0;
  left: -14px;
  transform: rotate(25deg);
}
.m-breadcrumb ol li a {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: none;
}
.m-breadcrumb ol li a:hover {
  color: #e70072;
}
.m-breadcrumb::-webkit-scrollbar {
  height: 8px;
}
.m-breadcrumb::-webkit-scrollbar-track {
  background-color: transparent;
}
.m-breadcrumb::-webkit-scrollbar-thumb {
  background-color: rgba(var(--color-text), 0.05);
  border-radius: 8px;
}

/**************************************************
  slider
***************************************************/
.m-slider {
  --swiper-theme-color: var(--color-base);
  overflow: hidden;
  position: relative;
  margin-block: 2rem;
}
.m-slider .swiper-slide img {
  width: 100%;
}
.m-slider .swiper-button-prev,
.m-slider .swiper-button-next {
  color: var(--swiper-theme-color);
  top: 50%;
  transform: translateY(-50%);
}
.m-slider .swiper-pagination-bullet-active {
  background-color: var(--swiper-theme-color);
}
/**************************************************
  faq
***************************************************/
.m-faq__item {
  background: rgba(var(--color-base), 0.1);
  margin-bottom: 1rem;
  overflow: hidden;
}
.m-faq__item[open] .m-faq__question::before {
  rotate: 90deg;
}

.m-faq__question {
  position: relative;
  display: block;
  cursor: pointer;
  font-weight: bold;
  /* デフォルトアイコン: + */
}
.m-faq__question::before, .m-faq__question::after {
  content: "";
  display: block;
  position: absolute;
  right: 16px;
  top: 50%;
  translate: 0 -50%;
  width: 14px;
  height: 2px;
  background: var(--color-text);
  transition: 0.3s;
}
.m-faq__question {
  /* マーカーを非表示に */
}
.m-faq__question::-webkit-details-marker {
  display: none;
}

.m-faq__answer {
  overflow: hidden;
}

/**************************************************
  pagination
***************************************************/
.pagination__nav {
  margin-top: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px 9px;
}
@media all and (max-width: 767px) {
  .pagination__nav {
    margin-top: 50px;
  }
}
.pagination__nav .current {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 40px;
  height: 37px;
  background-image: url(./images/common/bg_pagination_current.png);
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}
.pagination__nav__link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 40px;
  height: 37px;
  background-image: url(./images/common/bg_pagination.png);
  background-repeat: no-repeat;
  background-size: contain;
  color: #00273b !important;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  text-decoration: none;
}
.pagination__nav__link:hover {
  background-image: url(./images/common/bg_pagination_on.png);
}
.pagination__nav__link.--prev {
  margin-right: 12px;
}
.pagination__nav__link.--next {
  margin-left: 12px;
}
.pagination__nav__link .c-icon {
  width: 1.1rem;
  height: 1.1rem;
}

/**************************************************
  share
***************************************************/
.m-share {
  margin: 5rem auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 380px;
  height: 70px;
  background-color: #f7f7e8;
  border-radius: 100px;
}
@media all and (max-width: 767px) {
  .m-share {
    padding: 12px 0;
    flex-direction: column;
    width: 100%;
    height: auto;
  }
}
.m-share .title {
  margin: 0 2rem 0 0;
  font-size: 1.6rem;
  color: #000;
}
@media all and (max-width: 767px) {
  .m-share .title {
    margin: 0 0 1rem;
  }
}
.m-share .nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 1.6rem;
}
.m-share .nav li {
  display: block;
  width: 3.5rem;
  height: 3.5rem;
}
.m-share .nav .link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}
.m-share .nav .link .c-icon {
  fill: currentColor;
  width: 2.2rem;
  height: 2.2rem;
}
.m-share .nav .link:hover {
  opacity: 0.6;
}
.m-share .nav .facebook a {
  color: #1877f2;
  width: auto;
}
.m-share .nav .facebook a .c-icon {
  width: 3.5rem;
  height: 3.5rem;
  margin: 0;
  fill: currentColor;
}
.m-share .nav .twitter a {
  background: #000;
}
.m-share .nav .twitter a .c-icon {
  fill: var(--color-bg);
}
.m-share .nav .line a {
  background: #00c300;
}
.m-share .nav .line a .c-icon {
  fill: var(--color-bg);
}

/**************************************************
  Sidebar
***************************************************/
.l-content__side__archive {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
.l-content__side__archive li {
  width: 50%;
}

/* -----------------------------------------------
  MARK: ウィジェット
-------------------------------------------------- */
.m-widget-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 50px 0;
  overflow-y: unset;
}
@media all and (min-width: 768px) {
  .m-widget-wrap {
    padding-left: 60px;
  }
}

.m-widget {
  padding: 40px 20px 20px;
  width: 100%;
  background-color: #fff;
  border: 1px solid #2a2b32;
  border-radius: 18px;
  position: relative;
  z-index: 1;
}
.m-widget:nth-child(1) {
  margin-top: 24px;
}
.m-widget:nth-child(1) .m-widget__title {
  background-color: #f6a183;
}
.m-widget:nth-child(2) .m-widget__title {
  background-color: #f2d85f;
}
.m-widget:nth-child(3) .m-widget__title {
  background-color: #9ce6d4;
}
.m-widget__title {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 150px;
  height: 43px;
  background-color: #98ccf6;
  border: 1px solid #2a2b32;
  border-radius: 43px;
  color: #000;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  position: absolute;
  top: -22px;
  left: -14px;
}
@media all and (max-width: 767px) {
  .m-widget__title {
    left: -6px;
  }
}
.m-widget__title.--tag {
  background-color: #98ccf6 !important;
}
.m-widget__title::after {
  content: "";
  display: inline-block;
  width: calc(100% + 8px);
  height: calc(100% + 8px);
  background-color: #fff;
  border: 1px solid #2a2b32;
  border-radius: 43px;
  position: absolute;
  top: -4px;
  left: -4px;
  z-index: -1;
}
.m-widget .c-list {
  margin: 0;
}
.m-widget .c-list:not(.m-widget__archive) {
  display: flex;
  flex-direction: column;
  gap: 0.6em;
}
.m-widget .c-list a {
  color: #000;
  text-decoration: none;
}
.m-widget .c-list a:hover {
  opacity: 0.8;
}
.m-widget__archive {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6em 1em;
}
.m-widget__archive li {
  flex: 1;
}
.m-widget .c-list--bullet {
  margin-top: 0;
}
.m-widget li.cat-item-7 {
  order: 0;
}
.m-widget li.cat-item-29 {
  order: 1;
}
.m-widget li.cat-item-28 {
  order: 2;
}
.m-widget li.cat-item-26 {
  order: 3;
}
.m-widget li.cat-item-30 {
  order: 4;
}
.m-widget li.cat-item-31 {
  order: 0;
}
.m-widget li.cat-item-32 {
  order: 1;
}
.m-widget li.cat-item-33 {
  order: 3;
}
.m-widget .m-widget__title.--tag + .c-list--bullet {
  flex-wrap: wrap;
  flex-direction: row;
  gap: 8px;
  padding: 5px 0;
}
.m-widget .m-widget__title.--tag + .c-list--bullet li.cat-item {
  position: relative;
  cursor: pointer;
}
.m-widget .m-widget__title.--tag + .c-list--bullet li.cat-item:has(a) {
  font-size: 16px;
  font-weight: 500;
  padding: 3px 9px;
  border-radius: 5px;
  background: #d0e1ee;
  transition: 0.3s;
}
.m-widget .m-widget__title.--tag + .c-list--bullet li.cat-item:has(a)::before, .m-widget .m-widget__title.--tag + .c-list--bullet li.cat-item:has(a)::after {
  content: none;
}
.m-widget .m-widget__title.--tag + .c-list--bullet li.cat-item:has(a):hover {
  opacity: 0.75;
}

/**************************************************
  toc
***************************************************/
.m-toc-list a {
  display: block;
}
.m-toc-list .is-current {
  font-weight: bold;
  background: rgba(var(--color-base), 0.2);
}

.m-localNavi {
  margin-top: 100px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  background-color: #fff;
  border: 1px solid #5f5f5f;
  border-radius: 20px;
}
@media all and (max-width: 767px) {
  .m-localNavi {
    align-items: stretch;
    border-radius: 10px;
  }
}
.m-localNavi .item {
  position: relative;
  z-index: 1;
}
@media all and (min-width: 768px) {
  .m-localNavi .item:nth-child(n+2)::before {
    content: "";
    display: inline-block;
    width: 2px;
    height: calc(100% - 28px);
    background-image: repeating-linear-gradient(180deg, #96a4b0, #96a4b0 2px, transparent 2px, transparent 4px);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 2px 100%;
    position: absolute;
    top: 14px;
    left: -1px;
  }
}
@media all and (max-width: 767px) {
  .m-localNavi .item {
    flex-grow: 1;
    width: 50%;
    min-height: 78px;
  }
  .m-localNavi .item:nth-child(even)::before {
    content: "";
    display: inline-block;
    width: 2px;
    height: 100%;
    background-image: repeating-linear-gradient(180deg, #96a4b0, #96a4b0 2px, transparent 2px, transparent 8px);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 2px 100%;
    position: absolute;
    top: 0;
    left: -1px;
  }
  .m-localNavi .item:nth-child(n+3)::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 2px;
    background-image: repeating-linear-gradient(90deg, #96a4b0, #96a4b0 2px, transparent 2px, transparent 8px);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: 100% 2px;
    position: absolute;
    top: -1px;
    left: 0;
    z-index: -1;
  }
}
.m-localNavi .link {
  padding: 20px 40px 20px 37px;
  display: flex;
  align-items: center;
  width: fit-content;
  color: #000;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0;
  text-decoration: none;
  position: relative;
}
@media all and (min-width: 768px) {
  .m-localNavi .link:hover::before {
    background-color: #f2d85f;
  }
  .m-localNavi .link:hover::after {
    top: 11px;
  }
}
@media all and (max-width: 767px) {
  .m-localNavi .link {
    padding: 18px 5px;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 14px;
    letter-spacing: -1px;
    text-align: center;
  }
}
.m-localNavi .link::before {
  content: "";
  margin-right: 24px;
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: #e8e7e1;
  border: 1px solid #5f5f5f;
  border-radius: 100%;
  position: relative;
  top: 0;
  left: 0;
  transition: inherit;
}
@media all and (max-width: 767px) {
  .m-localNavi .link::before {
    width: 23px;
    height: 23px;
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.m-localNavi .link::after {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_local_navi_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 21px;
  height: 44px;
  position: absolute;
  top: 6px;
  left: 47px;
  transition: inherit;
}
@media all and (max-width: 767px) {
  .m-localNavi .link::after {
    width: 12px;
    height: 25px;
    top: -21px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}

/**************************************************
  entry
***************************************************/
/* -----------------------------------------------
  header
-------------------------------------------------- */
.m-entry-header {
  padding-bottom: 30px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 25px;
  border-bottom: 2px dotted #2a2b32;
}
@media all and (max-width: 767px) {
  .m-entry-header {
    gap: 15px;
  }
}
.m-entry-header__title {
  order: 2;
  margin: 0;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -1px;
  text-align: left;
}
.m-entry-header__meta {
  order: 1;
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px 8px;
}
@media all and (max-width: 767px) {
  .m-entry-header__meta {
    margin: 0;
  }
}
.m-entry-header__meta__sub {
  position: absolute;
  top: -2px;
  left: -2px;
  margin: 0;
  padding: 10px 20px;
  background-color: #ea5326;
  border-radius: 20px 0;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-orientation: upright;
}
.m-entry-header__meta__area {
  margin: 0 10px 0 0;
  padding: 0 7px;
  display: block;
  border-right: 1px solid var(--color-text);
  border-left: 1px solid var(--color-text);
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
}
.m-entry-header__date {
  margin-right: 14px;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
.m-entry-header__category {
  padding: 6px 7px;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 6px;
  font-size: 17px;
  font-weight: 500;
  line-height: 1;
  position: relative;
}
@media all and (max-width: 767px) {
  .m-entry-header__category {
    font-size: 14px;
  }
}

.single-voice .m-entry-header__meta {
  margin-top: 25px;
}
.single-voice .m-entry-header__meta .m-entry-header__category {
  background: #d0e1ee;
  border: none;
  padding: 7px 12px;
}

/* -----------------------------------------------
  contents
-------------------------------------------------- */
.archive .other-contents,
.single .other-contents {
  margin-top: 70px;
}
@media all and (max-width: 767px) {
  .archive .other-contents,
  .single .other-contents {
    margin-top: 0;
  }
}

.single .container {
  background-color: #e8f2fd;
}
.single .l-content__main {
  padding: 45px 50px;
  background-color: #fff;
  border: 2px solid #7c8187;
  border-radius: 20px;
  position: relative;
}
@media all and (max-width: 767px) {
  .single .l-content__main {
    padding: 35px 20px;
  }
}
.single {
  /*.wp-block-columns {
    @media screen and (max-width: 768px) {
      flex-direction: column;
    }
  }*/
}

/* -----------------------------------------------
  nav
-------------------------------------------------- */
.m-entry-nav {
  margin: 5rem 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
}
@media all and (max-width: 767px) {
  .m-entry-nav {
    margin-bottom: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
.m-entry-nav__item {
  flex: 1;
}
.m-entry-nav__item a {
  display: block;
  color: #000;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
}
.m-entry-nav__item a:hover {
  color: #e70072;
}
.m-entry-nav__item--index {
  display: flex;
  justify-content: center;
  flex-direction: row;
}
@media all and (max-width: 767px) {
  .m-entry-nav__item--index {
    grid-row: 2/3;
    grid-column: 1/3;
  }
}
.m-entry-nav__item--index a {
  padding: 11px 2em;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
.m-entry-nav__item--index a .dot {
  margin-right: 7px;
  display: flex;
  align-items: space-between;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 4px;
  width: 16px;
  height: 18px;
}
.m-entry-nav__item--index a .dot > span {
  width: 2px;
  height: 2px;
  background-color: #000;
  transition: 0.3s;
}
.m-entry-nav__item--index a:hover .dot > span {
  background-color: #e70072;
}
.m-entry-nav__item--prev a, .m-entry-nav__item--next a {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}
.m-entry-nav__item--prev a::before, .m-entry-nav__item--next a::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 37px;
  background-image: url(./images/common/bg_entry_nav.png);
  background-repeat: no-repeat;
  background-size: contain;
  text-align: center;
  position: absolute;
  top: 1px;
  z-index: -1;
  transition: 0.3s;
}
.m-entry-nav__item--prev a .c-icon, .m-entry-nav__item--next a .c-icon {
  padding: 10px 10px 10px 16px;
  width: 40px;
  height: 37px;
  position: relative;
  bottom: -1px;
  z-index: 2;
}
.m-entry-nav__item--prev a:hover::before, .m-entry-nav__item--next a:hover::before {
  background-image: url(./images/common/bg_entry_nav_on.png);
}
.m-entry-nav__item--prev {
  display: flex;
  justify-content: flex-start;
  flex-direction: row;
}
@media all and (max-width: 767px) {
  .m-entry-nav__item--prev {
    grid-row: 1/2;
    grid-column: 1/2;
  }
}
.m-entry-nav__item--prev a::before {
  left: 0;
}
.m-entry-nav__item--prev .c-icon {
  margin-right: 16px;
}
@media all and (max-width: 767px) {
  .m-entry-nav__item--prev .c-icon {
    margin-right: 6px;
  }
}
.m-entry-nav__item--next {
  display: flex;
  justify-content: flex-end;
  flex-direction: row;
}
@media all and (max-width: 767px) {
  .m-entry-nav__item--next {
    grid-row: 1/2;
    grid-column: 2/3;
  }
}
.m-entry-nav__item--next a::before {
  right: 0;
}
.m-entry-nav__item--next .c-icon {
  margin-left: 16px;
}
@media all and (max-width: 767px) {
  .m-entry-nav__item--next .c-icon {
    margin-left: 6px;
  }
}

@media all and (min-width: 768px) {
  .m-entry-nav__item--index {
    justify-content: flex-start;
  }
  .m-entry-nav__item--index a {
    padding-inline: 0;
  }
  .m-entry-nav__item--prev + .m-entry-nav__item--index {
    justify-content: flex-end;
  }
  .m-entry-nav:has(.m-entry-nav__item--prev):has(.m-entry-nav__item--next) .m-entry-nav__item--index {
    justify-content: center;
  }
}
.event-info {
  order: 1;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1em;
}
@media all and (max-width: 767px) {
  .event-info {
    flex-direction: column;
    gap: 0;
  }
}
.event-info .event-day,
.event-info .event-time {
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0px;
  line-height: 1;
}
.event-info .event-day {
  margin-right: 0.5em;
}
.event-info .event-day.--day2, .event-info .event-day.--day3 {
  margin-left: 0.5em;
}
.event-info .space {
  margin-inline: -0.5em;
}
.event-info .event-place {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}
.event-info .c-icon {
  width: 16px;
  height: 16px;
  margin-inline: 0;
}
.event-info .c-icon-location {
  margin-right: 0.4rem;
  width: 11px;
  height: 15px;
  transform: translateY(-2px);
}

/**************************************************
  search-form
***************************************************/
.m-search-form__field {
  outline-offset: 0;
}
.m-search-form__btn {
  background-color: var(--color-base);
  color: #fff;
}

/**************************************************
  gutenberg
***************************************************/
.wp-block-image {
  margin-block: 2rem;
}

.wp-block-gallery {
  margin-block: 2rem;
}

.wp-block-file {
  margin-block: 2rem;
}
.wp-block-file .wp-block-file__button {
  display: none;
}

.wp-block-media-text {
  margin-block: 2rem;
}
.wp-block-media-text__content {
  padding-right: 0 !important;
}
@media all and (max-width: 767px) {
  .wp-block-media-text__content {
    padding-inline: 0 !important;
  }
}

.wp-block-separator {
  border-width: 1px;
  border-color: rgba(0, 0, 0, 0.1);
  margin-block: 5rem;
}

.wp-block-embed {
  margin-block: 2rem;
}

/**************************************************
  area-select
***************************************************/
.area-select {
  margin-top: 30px;
  padding: 30px;
  background-color: #eae851;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-select {
    margin-right: auto;
    margin-left: auto;
    padding: 13px;
    width: calc(100% - 40px);
    overflow: visible;
  }
}
.area-select-heading {
  margin: 80px auto 0;
  display: inline-block;
  width: 100%;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 72px;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
  position: relative;
  top: 56px;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .area-select-heading {
    font-size: 42px;
    top: 22px;
  }
}
.area-select-heading .st-white {
  color: #fff;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  letter-spacing: 3px;
}
.area-select-heading + .area-select {
  margin-top: 0;
}
.area-select__wrap {
  width: 100%;
  height: 599px;
  background-color: #eff3f6;
  border: 1px solid #000;
  border-radius: 10px 35px 10px 10px;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-select__wrap {
    padding-bottom: 28px;
    height: auto;
  }
}
.area-select__wrap::after {
  content: "";
  display: inline-block;
  background-image: url(./images/common/bg_area_kagawa.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top left;
  width: 1192px;
  height: 900px;
  position: absolute;
  top: -185px;
  left: -71px;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .area-select__wrap::after {
    width: 775px;
    height: 555px;
    background-image: url(./images/common/bg_area_kagawa_sp.png);
    top: -13px;
    left: calc(50% - 45px);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.area-select .hide {
  padding: 0 !important;
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
.area-select__title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 595px;
  height: 32px;
  background-color: #fff;
  border-radius: 7px;
  position: absolute;
  top: 0;
  left: 33px;
  z-index: 2;
  transform-origin: top left;
  transform: rotate(90deg);
}
@media all and (max-width: 767px) {
  .area-select__title {
    width: 265px;
    height: 28px;
    border-radius: 10px 10px 0 0;
    top: 30px;
    left: 28.5px;
  }
  .area-select__title::before, .area-select__title::after {
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top;
    width: 10px;
    height: 6px;
    position: absolute;
    bottom: 2px;
  }
  .area-select__title::before {
    background-image: url(./images/common/img_area_select_title_top.png);
    left: -7px;
    transform: rotate(270deg);
  }
  .area-select__title::after {
    background-image: url(./images/common/img_area_select_title_bottom.png);
    right: -7px;
    bottom: 1.5px;
    transform: rotate(270deg);
  }
}
.area-select__title__txt {
  margin: 0;
  display: inline-block;
  color: #000;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .area-select__title__txt {
    font-size: 11px;
  }
}
.area-select__title__txt::before, .area-select__title__txt::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: #000;
  border-radius: 100%;
}
.area-select__title__txt::before {
  margin-right: 8px;
}
@media all and (max-width: 767px) {
  .area-select__title__txt::before {
    margin-right: 6px;
  }
}
.area-select__title__txt::after {
  margin-left: 8px;
}
@media all and (max-width: 767px) {
  .area-select__title__txt::after {
    margin-left: 6px;
  }
}
.area-select__takamatsu {
  display: block;
  width: 338px;
  height: 540px;
  top: 26px;
  left: 181px;
  position: absolute;
  z-index: 4;
}
@media all and (max-width: 767px) {
  .area-select__takamatsu {
    width: 217px;
    height: 333px;
    top: 11px;
    left: calc(50% - 4px);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.area-select__mark {
  display: block;
  width: 113px;
  height: 82px;
  top: 399px;
  left: 130px;
  position: absolute;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .area-select__mark {
    width: 65px;
    height: 47px;
    top: 178px;
    left: calc(50% + 107px);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.area-select__mark__main {
  width: 100%;
  height: 100%;
}
.area-select__mark__sub {
  width: 16px;
  height: 16px;
  position: absolute;
  top: -14px;
  left: -11px;
  animation: blink-hard 1.8s step-end infinite;
}
@media all and (max-width: 767px) {
  .area-select__mark__sub {
    display: flex;
    width: 12px;
    height: 10px;
    top: -4px;
    left: -7px;
  }
}
.area-select__mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.area-select__pins {
  display: block;
  width: 338px;
  height: 540px;
  position: absolute;
  top: -6px;
  left: 216px;
  z-index: 5;
}
@media all and (max-width: 767px) {
  .area-select__pins {
    width: 208px;
    height: 333px;
    top: 13px;
    left: calc(50% - 10px);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.area-select__pins__item {
  padding: 0;
  width: 34px;
  height: 47px;
  position: absolute;
  z-index: 6;
}
@media all and (max-width: 767px) {
  .area-select__pins__item {
    width: 25px;
    height: 35px;
  }
}
.area-select__pins__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.area-select__pins__item .pin-waiting {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.area-select__pins__item .pin-waiting::before {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_area_pin_hover.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  position: absolute;
  top: -1px;
  left: -1px;
  z-index: 2;
  opacity: 0;
  transition: 0.3s;
}
.area-select__pins__item .pin-active {
  width: 47px;
  height: 70px;
  opacity: 0;
  position: absolute;
  left: -6px;
  bottom: 0;
  pointer-events: none;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .area-select__pins__item .pin-active {
    width: 33px;
    height: 48px;
  }
}
.area-select__pins__item .pin-active__img {
  display: inline-block;
  width: 100%;
  height: 100%;
  transform: translateY(-10px);
  transition: inherit;
}
.area-select__pins__item .pin-active__txt {
  width: 87px;
  height: 87px;
  position: absolute;
  top: 41px;
  left: -20px;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .area-select__pins__item .pin-active__txt {
    width: 67px;
    height: 67px;
    top: 29px;
    left: -16px;
  }
}
.area-select__pins__item:hover .pin-waiting::before {
  opacity: 1;
}
.area-select__pins__item.active {
  z-index: 10;
}
.area-select__pins__item.active .pin-waiting {
  opacity: 0;
}
.area-select__pins__item.active .pin-active {
  opacity: 1;
}
.area-select__pins__item.active .pin-active__img {
  transform: translateY(0);
}
.area-select__pins__item {
  /* 市街地 */
}
.area-select__pins__item.pin-shigaichi {
  bottom: 353px;
  left: 132px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-shigaichi {
    bottom: 238px;
    left: 108px;
  }
}
.area-select__pins__item {
  /* 仏生山 */
}
.area-select__pins__item.pin-busshozan {
  bottom: 207px;
  left: 128px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-busshozan {
    bottom: 139px;
    left: 107px;
  }
}
.area-select__pins__item.pin-busshozan .pin-active {
  bottom: 19px;
}
.area-select__pins__item.pin-busshozan .pin-active__txt {
  width: 129px;
  top: 32px;
  left: -42px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-busshozan .pin-active__txt {
    width: 97px;
    top: 24px;
    left: -32px;
  }
}
.area-select__pins__item {
  /* 勝賀・国分寺 */
}
.area-select__pins__item.pin-katsuga-kokubunji {
  bottom: 309px;
  left: 26px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-katsuga-kokubunji {
    bottom: 211px;
    left: 38px;
  }
}
.area-select__pins__item.pin-katsuga-kokubunji .pin-active__txt {
  width: 116px;
  left: -35px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-katsuga-kokubunji .pin-active__txt {
    width: 87px;
    left: -26px;
  }
}
.area-select__pins__item {
  /* 塩江 */
}
.area-select__pins__item.pin-shionoe {
  bottom: 31px;
  left: 162px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-shionoe {
    bottom: 36px;
    left: 122px;
  }
}
.area-select__pins__item.pin-shionoe .pin-active {
  bottom: 32px;
}
.area-select__pins__item.pin-shionoe .pin-active__txt {
  width: 92px;
  left: -25px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-shionoe .pin-active__txt {
    width: 70px;
    left: -17px;
  }
}
.area-select__pins__item {
  /* 屋島・牟礼・庵治 */
}
.area-select__pins__item.pin-yashima-mure-aji {
  bottom: 363px;
  left: 208px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-yashima-mure-aji {
    bottom: 250px;
    left: 152px;
  }
}
.area-select__pins__item.pin-yashima-mure-aji .pin-active__txt {
  width: 98px;
  left: -27px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-yashima-mure-aji .pin-active__txt {
    width: 72px;
    left: -20px;
  }
}
.area-select__pins__item {
  /* 山田 */
}
.area-select__pins__item.pin-yamada {
  bottom: 250px;
  left: 193px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-yamada {
    bottom: 159px;
    left: 140px;
  }
}
.area-select__pins__item {
  /* 離島 */
}
.area-select__pins__item.pin-rito {
  bottom: 450px;
  left: 126px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-rito {
    bottom: 299px;
    left: 104px;
  }
}
.area-select__pins__item.pin-rito .pin-active {
  bottom: 6px;
}
.area-select__pins__item {
  /* 香川・香南 */
}
.area-select__pins__item.pin-kagawa-konan {
  bottom: 134px;
  left: 99px;
}
@media all and (max-width: 767px) {
  .area-select__pins__item.pin-kagawa-konan {
    bottom: 95px;
    left: 89px;
  }
}
.area-select__pins__item.pin-kagawa-konan .pin-active {
  bottom: 14px;
  left: 3px;
}
.area-select__info {
  margin: 0 60px 0 auto;
  padding-top: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 528px;
  height: 100%;
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
}
@media all and (max-width: 767px) {
  .area-select__info {
    margin: 0 auto;
    padding-top: 7px;
    justify-content: flex-start;
    width: 262px;
    height: auto;
  }
}
.area-select__info.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.area-select__info.hide {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(20px) !important;
  position: absolute;
  top: 30px;
  right: 0;
}
.area-select__info__title {
  margin: 0;
  color: #000;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 58px;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .area-select__info__title {
    font-size: 30px;
  }
}
.area-select__info__title .st1 {
  margin-left: 3px;
  display: inline-block;
  color: #fff;
  font-size: 32px;
  -webkit-text-stroke: 2px #000;
  text-stroke: 2px #000;
  paint-order: stroke;
  transform: translateY(-3px);
}
@media all and (max-width: 767px) {
  .area-select__info__title .st1 {
    font-size: 16px;
  }
}
.area-select__info__txt {
  margin: 13px 0 0;
  font-size: 18px;
  font-weight: 500;
  text-align: left;
}
@media all and (max-width: 767px) {
  .area-select__info__txt {
    margin-top: 10px;
    font-size: 13px;
    letter-spacing: -1px;
    line-height: 1.6;
  }
}
.area-select__info__more {
  margin-top: 35px;
  padding: 8px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  background-color: #fff;
  border: 1px solid #00273b;
  border-radius: 20px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .area-select__info__more {
    padding-top: 4px;
    border-radius: 8px;
  }
}
.area-select__info__more .more-title {
  margin: 0 auto 0 24px;
  padding: 6px 16px;
  display: inline-block;
  background-color: #fff;
  border: 1px solid #00273b;
  border-radius: 30px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  position: relative;
  bottom: 22px;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-title {
    margin-left: 15px;
    padding: 5px 13px;
    font-size: 12px;
    bottom: 16px;
  }
}
.area-select__info__more .more-title::after {
  content: "";
  display: inline-block;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  background-color: #fff;
  border: 1px solid #00273b;
  border-radius: 36px;
  position: absolute;
  top: -5px;
  left: -5px;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-title::after {
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    top: -4px;
    left: -4px;
  }
}
.area-select__info__more .more-element {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  position: absolute;
  top: -29px;
  right: 25px;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-element {
    top: -19px;
    right: 13px;
  }
}
.area-select__info__more .more-element__item {
  width: 58px;
  height: 58px;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-element__item {
    width: 38px;
    height: 38px;
  }
}
.area-select__info__more .more-element__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.area-select__info__more .more-element__item.--rotation-r {
  animation: rotation 12s infinite linear;
}
.area-select__info__more .more-element__item.--rotation-l {
  animation: rotation 12s infinite linear;
  animation-direction: reverse;
}
.area-select__info__more .more-tag {
  padding: 0 20px 23px;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-tag {
    padding: 0 19px 20px;
  }
}
.area-select__info__more .more-tag__list {
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 422px;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-tag__list {
    gap: 9px;
  }
}
.area-select__info__more .more-tag__list__item {
  padding: 10px 13px;
  display: inline-block;
  background-color: #d0e1ee;
  border-radius: 10px;
  color: #2a2b32;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-tag__list__item {
    padding: 6px 11px;
    border-radius: 5px;
    font-size: 13px;
    letter-spacing: -1px;
  }
}
.area-select__info__more .more-sub {
  padding: 20px 0;
  width: 100%;
  background-image: radial-gradient(circle, #000000 1px, transparent 1px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 4px 2px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-sub {
    padding: 15px 0;
  }
}
.area-select__info__more .more-sub__txt {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -1px;
  line-height: 1.2;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-sub__txt {
    font-size: 14px;
  }
}
.area-select__info__more .more-sub__txt .st-sm {
  font-size: 16px;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-sub__txt .st-sm {
    font-size: 12px;
  }
}
.area-select__info__more .more-sub__txt .c-en {
  margin-left: 1px;
  letter-spacing: 0;
}
.area-select__info__more .more-sub__txt.--car {
  position: relative;
}
.area-select__info__more .more-sub__txt.--car::before {
  content: "";
  margin-right: 6px;
  display: inline-block;
  background-image: url(./images/common/img_area_select_more_txt_car.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 33px;
  height: 17px;
  position: relative;
  top: 2px;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-sub__txt.--car::before {
    width: 26px;
    height: 15px;
  }
}
.area-select__info__more .more-sub__txt.--ship {
  position: relative;
}
.area-select__info__more .more-sub__txt.--ship::before {
  content: "";
  margin-right: 6px;
  display: inline-block;
  background-image: url(./images/common/img_area_select_more_txt_ship.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 33px;
  height: 17px;
  position: relative;
  top: 2px;
}
@media all and (max-width: 767px) {
  .area-select__info__more .more-sub__txt.--ship::before {
    width: 26px;
    height: 15px;
  }
}
.area-select__info__btn {
  margin: 28px auto 0;
  padding: 0 0 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 234px;
  height: 90px;
  background-image: url(./images/common/img_area_btn_bg.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #000;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -1px;
  text-decoration: none;
  position: relative;
}
@media all and (max-width: 767px) {
  .area-select__info__btn {
    width: 169px;
    height: 65px;
    font-size: 14px;
  }
}
.area-select__info__btn::before {
  content: "";
  width: 11px;
  height: 2px;
  background-color: #000;
  position: absolute;
  top: 41px;
  right: 28px;
  vertical-align: middle;
  transition: inherit;
}
@media all and (max-width: 767px) {
  .area-select__info__btn::before {
    top: 28px;
    right: 14px;
  }
}
.area-select__info__btn::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  position: absolute;
  top: 38px;
  right: 28px;
  transform: rotate(45deg);
  vertical-align: middle;
  transition: inherit;
}
@media all and (max-width: 767px) {
  .area-select__info__btn::after {
    top: 25px;
    right: 15px;
  }
}
.area-select__info__btn:visited {
  color: #000;
}
@media all and (min-width: 768px) {
  .area-select__info__btn:hover {
    padding-top: 12px;
    background-image: url(./images/common/img_area_btn_bg_active.png);
    color: #fff;
  }
  .area-select__info__btn:hover::before {
    background-color: #fff;
    top: 47px;
    right: 25px;
  }
  .area-select__info__btn:hover::after {
    border-color: #fff;
    top: 44px;
    right: 25px;
  }
}
.area-select__en {
  margin: 0;
  color: #000;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  position: absolute;
  right: -21px;
  bottom: 0;
  transform-origin: top right;
  transform: rotate(90deg);
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .area-select__en {
    font-size: 10px;
    letter-spacing: 1px;
    right: -11.5px;
    bottom: 10px;
  }
}
.area-select__en.hide {
  opacity: 0 !important;
  pointer-events: none !important;
}
.area-select__copy {
  margin: 0;
  padding-left: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 270px;
  height: 61px;
  color: #000;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  transition: 0.3s;
}
@media all and (min-width: 768px) {
  .area-select__copy::after {
    content: "";
    display: inline-block;
    background-image: url(./images/common/img_area_copy_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top;
    width: inherit;
    height: inherit;
    position: absolute;
    top: -1px;
    right: -1px;
    z-index: -1;
  }
}
@media all and (max-width: 767px) {
  .area-select__copy {
    margin: 365px auto 0;
    padding-left: 0;
    width: fit-content;
    height: auto;
    font-size: 14px;
    position: relative;
  }
  .area-select__copy::before, .area-select__copy::after {
    content: "";
    display: inline-block;
    background-image: url(./images/common/img_area_copy_deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top;
    width: 15px;
    height: 15px;
    position: absolute;
  }
  .area-select__copy::before {
    top: -4px;
    left: -12px;
  }
  .area-select__copy::after {
    right: -12px;
    bottom: -4px;
    transform: scale(-1, -1);
  }
}
.area-select__copy.hide {
  opacity: 0 !important;
  pointer-events: none !important;
}

/*@keyframes blink-hard {
  0% { opacity: 1; }
  18% { opacity: 0; }
  36% { opacity: 1; }
  54% { opacity: 0; }
  72% { opacity: 1; }
  100% { opacity: 1; }
}*/
@keyframes blink-hard {
  0% {
    opacity: 1;
  }
  16% {
    opacity: 0;
  }
  32% {
    opacity: 1;
  }
  48% {
    opacity: 0;
  }
  64% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/**************************************************
  parts
***************************************************/
.m-point-list {
  margin-top: 80px;
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 60px 39px;
}
@media all and (max-width: 767px) {
  .m-point-list {
    align-items: center;
    flex-direction: column;
  }
}
.m-point-list__item {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 392px;
  position: relative;
  z-index: 1;
}
.m-point-list__item__deco {
  padding-top: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 72px;
  height: 72px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 6px;
  left: 0;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .m-point-list__item__deco {
    width: 62px;
    height: 62px;
    top: 4px;
  }
}
.m-point-list__item__deco.--01 {
  background-image: url(./images/common/bg_point_deco_01.png);
}
.m-point-list__item__deco.--02 {
  background-image: url(./images/common/bg_point_deco_02.png);
}
.m-point-list__item__deco.--03 {
  background-image: url(./images/common/bg_point_deco_03.png);
}
.m-point-list__item__deco .deco-en {
  margin: 0;
  color: #000;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}
.m-point-list__item__deco .deco-num {
  margin: 0;
  color: #fff;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 34px;
  font-weight: 800;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  letter-spacing: 0;
  line-height: 1;
}
.m-point-list__item__heading {
  margin: 0;
  padding-left: 90px;
  flex-grow: 1;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 38px;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1;
  text-align: left;
}
@media all and (max-width: 767px) {
  .m-point-list__item__heading {
    padding-left: 76px;
    font-size: 32px;
  }
}
.m-point-list__item__heading .st-white {
  color: #fff;
  font-size: 42px;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  letter-spacing: -1px;
  white-space: nowrap;
}
@media all and (max-width: 767px) {
  .m-point-list__item__heading .st-white {
    font-size: 38px;
  }
}
.m-point-list__item__heading .st-short {
  letter-spacing: -2px;
}
.m-point-list__item__txt {
  margin: 20px 0 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  text-align: left;
}
.m-point-list__item__contents {
  padding-top: 40px;
}
@media all and (min-width: 768px) {
  .m-point-list__item__contents.--works-01 {
    margin-top: -17px;
  }
  .m-point-list__item__contents.--works-02 {
    margin-top: -21px;
  }
}
@media all and (max-width: 767px) {
  .m-point-list__item__contents {
    margin-top: 20px;
    padding: 0;
  }
}
.m-point-list__item__contents img {
  width: 100%;
}

.m-logo-list {
  margin: 40px auto 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 35px 30px;
}
@media all and (max-width: 767px) {
  .m-logo-list {
    margin-top: 20px;
    align-items: center;
    flex-direction: column;
  }
}
.m-logo-list.--short {
  max-width: 800px;
}
.m-logo-list__item {
  padding: 20px 20px 25px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
  max-width: 380px;
  border: 2px solid #2a2b32;
  border-radius: 15px;
}
.m-logo-list__item__link {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
  color: #000;
  text-decoration: none;
}
.m-logo-list__item__link:hover .item-title {
  color: var(--color-hover);
}
.m-logo-list__item .item-img {
  order: 1;
  width: 100%;
  height: auto;
  aspect-ratio: 1/0.597;
  background-color: #f0f1f4;
  border-radius: 15px;
  overflow: hidden;
}
.m-logo-list__item .item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.m-logo-list__item .item-title {
  order: 2;
  margin: 0;
  color: #000;
  font-size: 22px;
  font-weight: 600;
  transition: 0.3s;
}
.m-logo-list__item .item-title.--lv2 {
  font-size: 20px;
}
.m-logo-list__item .item-txt {
  order: 3;
  margin: 0;
  color: #000;
  font-size: 16px;
}
.m-logo-list__item .item-other {
  order: 3;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 10px;
}
.m-logo-list__item .item-other > * {
  order: unset;
}

.m-link-slide {
  margin-top: 80px;
  padding: 55px 0 50px;
  background-color: #fff;
}
@media all and (max-width: 767px) {
  .m-link-slide {
    padding: 50px 0 40px;
  }
}
.m-link-slide__title {
  margin: 0;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #2a2b32;
  font-size: 56px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .m-link-slide__title {
    font-size: 42px;
  }
}
.m-link-slide__title .st-white {
  color: #fff;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  letter-spacing: -1px;
}
.m-link-slide__slider {
  margin-top: 40px;
  position: relative;
}
.m-link-slide__slider__btn {
  display: flex;
  justify-content: space-between;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: 0;
  z-index: 2;
}
.m-link-slide__slider__btn .item-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 50px;
  height: 50px;
  background-color: #fff;
  border-radius: 6px;
  position: relative;
}
.m-link-slide__slider__btn .item-btn--prev {
  left: -10px;
}
.m-link-slide__slider__btn .item-btn--next {
  right: -10px;
}
.m-link-slide__slider .item-link {
  display: flex;
  flex-direction: column;
  color: #000;
  text-decoration: none;
}
.m-link-slide__slider .item-img {
  order: 1;
  width: 100%;
  height: auto;
  aspect-ratio: 1/0.607;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.m-link-slide__slider .item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.m-link-slide__slider .item-img__tag {
  margin: 0;
  padding: 7px 9px 8px 10px;
  display: inline-block;
  background-color: #fff;
  border-top: 1px solid #2a2b32;
  border-right: 1px solid #2a2b32;
  border-radius: 0 5px 0 10px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  bottom: -1px;
  left: -1px;
  z-index: 2;
}
.m-link-slide__slider .item-title {
  order: 2;
  font-size: 18px;
  font-weight: 500;
  text-align: left;
}
.m-link-slide__slider.slide-none .swiper-wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 30px;
}
.m-link-slide__slider.slide-none .swiper-slide {
  width: 397px;
}
.m-link-slide .swiper-pagination {
  position: relative;
  top: 10px;
}
.m-link-slide .swiper-pagination-bullet {
  opacity: 1;
  width: 10px;
  height: 10px;
  background: #fff;
  border: 1px solid #2a2b32;
}
.m-link-slide .swiper-pagination-bullet-active {
  background: #2a2b32;
}

.page-styleguide .toc {
  height: calc(100vh - 32px);
  overflow-y: auto;
  top: 32px;
}
.page-styleguide .toc__inner {
  margin: 0 2rem;
}
.page-styleguide .toc__inner ol ol {
  padding-left: 1rem;
}
.page-styleguide .row > [class^=col],
.page-styleguide .row > [class^=g-col] {
  background: #00afcc;
}
.page-styleguide .row > [class^=col]:nth-child(even),
.page-styleguide .row > [class^=g-col]:nth-child(even) {
  background: #a688bd;
}
.page-styleguide .docs {
  background-color: #272822;
  clear: both;
  margin: 1rem 0 2rem;
  position: relative;
}
.page-styleguide .docs .control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 0.6rem;
  position: absolute;
  right: 0;
}
.page-styleguide .docs .control p {
  margin: 0;
  padding: 0;
  font-size: 1.3rem;
  font-weight: bold;
  color: #212529;
}
@media all and (max-width: 767px) {
  .page-styleguide .docs .control div:last-child {
    text-align: right;
  }
}
.page-styleguide .docs pre {
  margin: 0;
}
.page-styleguide .code-type {
  background: #888;
  color: #fff;
  display: inline-block;
  padding: 8px 16px;
  margin-left: 10px;
  margin-right: 8px;
  font-size: 0.7rem;
}
.page-styleguide .copy-button {
  color: #888;
  font-size: 0.6em;
  padding: 0.4rem 0.8rem;
  background-color: #333;
  font-weight: bold;
  border-radius: 3px;
}
.page-styleguide .copy-button:hover {
  color: #000;
  background-color: #fff;
}
.page-styleguide .copy-button.success {
  background-color: #c8e6c9;
  color: #007E33;
}
.page-styleguide .copy-button.failed {
  background-color: #ffcdd2;
  color: #CC0000;
}
.page-styleguide .hljs {
  line-height: 1.3;
}
.page-styleguide .hljs * {
  font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.page-styleguide .hljs-ln-numbers {
  min-width: 2rem;
}

/**************************************************
  Top
***************************************************/
.home .container {
  background-color: #e8f2fd;
  overflow-x: hidden;
}

/* -----------------------------------------------
  mainvisual
-------------------------------------------------- */
.top-visual {
  padding-top: 30px;
  height: 785px;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .top-visual {
    padding: min(32 / var(--drawer-limit) * var(--drawer-base-vw), 32px) min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px) min(880 / var(--drawer-limit) * var(--drawer-base-vw), 880px);
    height: auto;
  }
}
.top-visual {
  /*.swiper-pagination {
    top: 0;
    bottom: auto;
  }*/
}
.top-visual__contents {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  padding-left: 13px;
  width: 452px;
  position: relative;
}
@media all and (max-width: 767px) {
  .top-visual__contents {
    margin: 0 auto;
    padding: 0;
    justify-content: center;
    width: 100%;
  }
}
.top-visual__contents__copy {
  margin: 0;
  padding-right: 13px;
  display: inline-block;
  width: 100%;
  color: #5e7990;
  font-family: "Senobi-Gothic-Medium", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 17px;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .top-visual__contents__copy {
    padding: 0;
    font-size: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    letter-spacing: max(-1 * calc(4 / var(--drawer-limit) * var(--drawer-base-vw)), -4px);
    text-align: left;
  }
}
.top-visual__contents__logo {
  margin-top: 25px;
  display: inline-block;
  width: 376px;
  height: 241px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .top-visual__contents__logo {
    margin-top: min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px);
    width: min(574 / var(--drawer-limit) * var(--drawer-base-vw), 574px);
    height: min(358 / var(--drawer-limit) * var(--drawer-base-vw), 358px);
  }
}
.top-visual__contents__logo::after {
  content: "";
  display: inline-block;
  background-image: url(./images/top/img_logo_tkmt_close.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  animation: eye-blink-rhythm 8.8s infinite;
}
.top-visual__contents__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.top-visual__contents__txt {
  margin-top: 20px;
  width: 380px;
}
@media all and (max-width: 767px) {
  .top-visual__contents__txt {
    margin-top: min(23 / var(--drawer-limit) * var(--drawer-base-vw), 23px);
    width: 100%;
  }
}
.top-visual__contents__txt .item-txt-en {
  margin: 0;
  width: 362px;
  height: 162px;
}
@media all and (max-width: 767px) {
  .top-visual__contents__txt .item-txt-en {
    margin: 0 auto;
    width: min(545 / var(--drawer-limit) * var(--drawer-base-vw), 545px);
    height: min(243 / var(--drawer-limit) * var(--drawer-base-vw), 243px);
  }
}
.top-visual__contents__txt .item-txt-en img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.top-visual__contents__txt .item-txt-jp {
  margin: 12px 0 0;
  font-family: "Senobi-Gothic-Medium", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 34px;
  font-weight: bold;
  letter-spacing: -8px;
  line-height: 1.3;
}
@media all and (max-width: 767px) {
  .top-visual__contents__txt .item-txt-jp {
    margin: min(14 / var(--drawer-limit) * var(--drawer-base-vw), 14px) auto 0;
    width: min(560 / var(--drawer-limit) * var(--drawer-base-vw), 560px);
    font-size: min(50 / var(--drawer-limit) * var(--drawer-base-vw), 50px);
    font-weight: 400;
    letter-spacing: max(-1 * calc(12 / var(--drawer-limit) * var(--drawer-base-vw)), -12px);
    line-height: 1.1;
  }
}
.top-visual__contents__img {
  width: 113px;
  height: 186px;
  position: absolute;
  top: 358px;
  left: 282px;
}
@media all and (max-width: 767px) {
  .top-visual__contents__img {
    width: min(171 / var(--drawer-limit) * var(--drawer-base-vw), 171px);
    height: min(281 / var(--drawer-limit) * var(--drawer-base-vw), 281px);
    top: min(536 / var(--drawer-limit) * var(--drawer-base-vw), 536px);
    left: min(464 / var(--drawer-limit) * var(--drawer-base-vw), 464px);
  }
}
.top-visual__contents__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.top-visual__contents__links {
  margin-top: 20px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
@media all and (max-width: 767px) {
  .top-visual__contents__links {
    display: none !important;
    visibility: hidden;
  }
}
.top-visual__contents__links .item {
  position: relative;
  z-index: 1;
}
.top-visual__contents__links .item:has(.hover) {
  z-index: 2;
}
.top-visual__contents__links .item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  text-align: center;
  text-decoration: none;
  position: relative;
  z-index: 1;
}
.top-visual__contents__links .item-link.top-linksBtn {
  cursor: pointer;
}
.top-visual__contents__links .item-link__txt {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.top-visual__contents__links .item-link__txt1 {
  margin: 0;
  padding: 2px 0;
  display: block;
  width: fit-content;
  min-width: 75px;
  border-top: 1px dashed #00273b;
  border-bottom: 1px dashed #00273b;
  color: #00273b;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -2px;
  line-height: 1;
  text-align: center;
  transition: inherit;
}
.top-visual__contents__links .item-link__txt1 .st1 {
  color: #01886d;
  transition: inherit;
}
.top-visual__contents__links .item-link__txt1 .st2 {
  display: inline-block;
  position: relative;
  left: -3px;
  transform: rotate(15deg);
  color: #e70072;
  transition: inherit;
}
.top-visual__contents__links .item-link__txt2 {
  margin-left: 8px;
  color: #00273b;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  transition: inherit;
}
.top-visual__contents__links .item-link__txt2 .st1 {
  color: #0165b7;
  transition: inherit;
}
.top-visual__contents__links .item-link__txt3 {
  margin: 0 8px 0 5px;
  width: 77px;
  height: 41px;
}
.top-visual__contents__links .item-link__txt3 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.top-visual__contents__links .item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.top-visual__contents__links .item.--btn1 {
  width: 213px;
  height: 68px;
  background-image: url(./images/top/img_btn_bg_01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: drop-shadow(0px 0px 5px rgba(118, 128, 139, 0.15));
  position: relative;
  z-index: 1;
  transition: 0.3s;
}
.top-visual__contents__links .item.--btn1::after {
  content: "";
  display: inline-block;
  background-image: url(./images/top/img_btn_icon_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: -1px;
  right: -1px;
  z-index: 2;
  transition: inherit;
}
@media all and (min-width: 768px) {
  .top-visual__contents__links .item.--btn1:hover.--01 {
    background-image: url(./images/top/img_btn_bg_01_01_hover.png);
  }
  .top-visual__contents__links .item.--btn1:hover.--02 {
    background-image: url(./images/top/img_btn_bg_01_02_hover.png);
  }
  .top-visual__contents__links .item.--btn1:hover.--02 .item-link::after {
    background-image: url(./images/top/img_btn_yokke_w.png);
  }
  .top-visual__contents__links .item.--btn1:hover::after {
    background-image: url(./images/top/img_btn_icon_01_hover.png);
  }
  .top-visual__contents__links .item.--btn1:hover .item-link__txt1 {
    border-color: #fff;
    color: #fff;
  }
  .top-visual__contents__links .item.--btn1:hover .item-link__txt1 span {
    color: #fff !important;
  }
  .top-visual__contents__links .item.--btn1:hover .item-link__txt2 {
    color: #fff;
  }
  .top-visual__contents__links .item.--btn1:hover .item-link__txt2 span {
    color: #fff !important;
  }
}
.top-visual__contents__links .item.--btn1 + .--btn1 {
  margin-left: 12px;
}
.top-visual__contents__links .item.--btn1.--02 .item-link::after {
  content: "";
  margin: 0 8px 0 5px;
  display: inline-block;
  background-image: url(./images/top/img_btn_yokke.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 77px;
  height: 41px;
  position: relative;
  transition: inherit;
}
.top-visual__contents__links .item.--btn2 {
  margin-top: 10px;
  width: 67px;
  height: 65px;
  background-image: url(./images/top/img_btn_bg_02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: 0.3s;
}
.top-visual__contents__links .item.--btn2 + .--btn2 {
  margin-left: 6px;
}
.top-visual__contents__links .item.--btn2 .item-link__txt {
  color: #00273b;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -1px;
  line-height: 1.2;
  transition: 0.3s;
}
.top-visual__contents__links .item.--btn2:hover {
  background-image: url(./images/top/img_btn_bg_02_hover.png);
}
.top-visual__contents__links .item.--btn2:hover .item-link__txt {
  color: #fff !important;
}
.top-visual__contents__links .item-innerLinks {
  padding: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  width: 0;
  height: 0;
  background-color: #fff;
  border: 1px solid #00273b;
  border-radius: 21px;
  position: absolute;
  bottom: 64px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 2;
  transition: opacity 0.3s;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}
.top-visual__contents__links .item-innerLinks::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  background-color: #fff;
  border-right: 1px solid #00273b;
  border-bottom: 1px solid #00273b;
  position: absolute;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  -webkit-transform: translateX(-50%) rotate(45deg);
  -ms-transform: translateX(-50%) rotate(45deg);
  bottom: -6px;
  z-index: 3;
}
.top-visual__contents__links .item-innerLinks:not(.hover) * {
  opacity: 0;
  transition: 0.3s;
}
.top-visual__contents__links .item-innerLinks.hover {
  padding: 10px 18px;
  width: 165px;
  height: auto;
  bottom: 61px;
  z-index: 2;
  opacity: 1;
  overflow: unset;
  pointer-events: unset;
}
.top-visual__contents__links .item-innerLinks__item {
  width: 100%;
}
.top-visual__contents__links .item-innerLinks__item + .item-innerLinks__item {
  position: relative;
}
.top-visual__contents__links .item-innerLinks__item + .item-innerLinks__item::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, #00273b, #00273b 1px, transparent 1px, transparent 1px);
  background-size: 3px 2px;
  background-position: left bottom;
  background-repeat: repeat-x;
  position: absolute;
  top: 0;
  left: 0;
}
.top-visual__contents__links .item-innerLinks__item__link {
  padding: 12px 0 12px 30px;
  display: inline-block;
  width: 100%;
  color: #00273b;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-align: left;
  text-decoration: none;
  position: relative;
}
.top-visual__contents__links .item-innerLinks__item__link::before, .top-visual__contents__links .item-innerLinks__item__link::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  vertical-align: middle;
}
.top-visual__contents__links .item-innerLinks__item__link::before {
  width: 8px;
  height: 1px;
  background-color: #e70072;
  top: 19px;
  left: 14px;
}
.top-visual__contents__links .item-innerLinks__item__link::after {
  width: 7px;
  height: 7px;
  border-top: 1px solid #e70072;
  border-right: 1px solid #e70072;
  top: 16px;
  left: 15px;
  transform: rotate(45deg);
}
.top-visual__contents__links .item-innerLinks__item__link:hover {
  color: #e70072;
}
.top-visual__img {
  width: 950px;
  height: 846px;
  position: absolute;
  bottom: 0;
  z-index: -1;
}
@media all and (min-width: 768px) {
  .top-visual__img {
    left: 432px;
  }
}
@media all and (max-width: 767px) {
  .top-visual__img {
    width: min(949 / var(--drawer-limit) * var(--drawer-base-vw), 949px);
    height: min(846 / var(--drawer-limit) * var(--drawer-base-vw), 846px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.top-visual__img__txt {
  position: absolute;
  top: calc(50% - 4px);
  left: calc(50% - 24px);
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  z-index: 2;
}
@media all and (max-width: 767px) {
  .top-visual__img__txt {
    top: 50%;
    left: 50%;
  }
}
.top-visual__img__txt .item-txt {
  margin: 0;
  color: #fff;
  font-family: "Lexend Tera", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 78px;
  font-weight: 500;
  letter-spacing: -12px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .top-visual__img__txt .item-txt {
    font-size: min(79 / var(--drawer-limit) * var(--drawer-base-vw), 79px);
    letter-spacing: max(-1 * calc(12 / var(--drawer-limit) * var(--drawer-base-vw)), -12px);
  }
}
.top-visual__img__txt .item-txt.--01 {
  padding-bottom: 45px;
}
@media all and (max-width: 767px) {
  .top-visual__img__txt .item-txt.--01 {
    padding-bottom: min(50 / var(--drawer-limit) * var(--drawer-base-vw), 50px);
  }
}
.top-visual__img__txt .item-txt-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 605px;
  height: 165px;
  border: 2px solid #fff;
  border-radius: 10px;
  position: relative;
  vertical-align: bottom;
}
@media all and (max-width: 767px) {
  .top-visual__img__txt .item-txt-wrapper {
    width: min(610 / var(--drawer-limit) * var(--drawer-base-vw), 610px);
    height: min(165 / var(--drawer-limit) * var(--drawer-base-vw), 165px);
    border-radius: min(10 / var(--drawer-limit) * var(--drawer-base-vw), 10px);
    letter-spacing: max(-1 * calc(12 / var(--drawer-limit) * var(--drawer-base-vw)), -12px);
  }
}
.top-visual__img__txt .item-txt-wrapper::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #00476b;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.2;
  z-index: -1;
}
.top-visual__img__txt .item-txt.--02 {
  padding-right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.8s ease, transform 0.8s ease;
  visibility: hidden;
}
@media all and (max-width: 767px) {
  .top-visual__img__txt .item-txt.--02 {
    padding-right: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
    transform: translateY(min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px));
  }
}
.top-visual__img__txt .item-txt.--02.is-active {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}
.top-visual__img__txt .item-cross {
  width: 68px;
  height: 7px;
  background-color: #fff;
  position: absolute;
  top: 119px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  -webkit-transform: translateX(-50%) rotate(45deg);
  -ms-transform: translateX(-50%) rotate(45deg);
  z-index: 2;
}
@media all and (max-width: 767px) {
  .top-visual__img__txt .item-cross {
    width: min(68 / var(--drawer-limit) * var(--drawer-base-vw), 68px);
    height: min(5 / var(--drawer-limit) * var(--drawer-base-vw), 5px);
    top: min(130 / var(--drawer-limit) * var(--drawer-base-vw), 130px);
  }
}
.top-visual__img__txt .item-cross::after {
  content: "";
  width: 68px;
  height: 7px;
  background-color: #e70072;
  position: absolute;
  z-index: 3;
  transform: rotate(90deg);
}
@media all and (max-width: 767px) {
  .top-visual__img__txt .item-cross::after {
    width: min(68 / var(--drawer-limit) * var(--drawer-base-vw), 68px);
    height: min(5 / var(--drawer-limit) * var(--drawer-base-vw), 5px);
  }
}
.top-visual__img__photo {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.top-visual__img__photo .visual-photo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  transition: opacity 1.5s ease, visibility 1.5s;
  pointer-events: none;
  clip-path: url(#svg-visual);
}
@media all and (max-width: 767px) {
  .top-visual__img__photo .visual-photo {
    clip-path: url(#svg-visual-sp);
  }
}
.top-visual__img__photo .visual-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.1);
  transition: transform 9s ease-in-out;
}
@media all and (max-width: 767px) {
  .top-visual__img__photo .visual-photo img {
    transform: scale(1.15);
  }
}
.top-visual__img__photo .visual-photo.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.top-visual__img__photo .visual-photo.is-active img {
  transform: scale(1);
  transition: transform 4.7s ease-out;
}

@keyframes svg-zoom-out {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes eye-blink-rhythm {
  0%, 6.2% {
    opacity: 0;
  }
  6.3%, 8.5% {
    opacity: 1;
  }
  8.6%, 14.8% {
    opacity: 0;
  }
  14.9%, 17.1% {
    opacity: 1;
  }
  17.2%, 35.8% {
    opacity: 0;
  }
  35.9%, 38.1% {
    opacity: 1;
  }
  38.2%, 56.8% {
    opacity: 0;
  }
  56.9%, 59.1% {
    opacity: 1;
  }
  59.2%, 100% {
    opacity: 0;
  }
}
.top-intro {
  margin-top: 32px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .top-intro {
    margin-top: max(-1 * calc(44 / var(--drawer-limit) * var(--drawer-base-vw)), -44px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: nowrap;
    z-index: 2;
  }
}
.top-intro::after {
  content: "";
  display: inline-block;
  background-image: url(./images/top/img_gallery_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 1457px;
  height: 1442px;
  position: absolute;
  top: -72px;
  left: -200px;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .top-intro::after {
    background-image: url(./images/top/img_gallery_bg_sp.png);
    width: min(750 / var(--drawer-limit) * var(--drawer-base-vw), 750px);
    height: min(1220 / var(--drawer-limit) * var(--drawer-base-vw), 1220px);
    top: unset;
    bottom: max(-1 * calc(570 / var(--drawer-limit) * var(--drawer-base-vw)), -570px);
    left: 0;
  }
}
.top-intro__main {
  margin-left: auto;
  padding-top: 95px;
  width: 512px;
  position: relative;
  z-index: 30;
}
@media all and (max-width: 767px) {
  .top-intro__main {
    order: 2;
    padding-top: min(24 / var(--drawer-limit) * var(--drawer-base-vw), 24px);
    width: 100%;
  }
}
.top-intro__main .txt-01 {
  margin: 0;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 68px;
  letter-spacing: -2px;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .top-intro__main .txt-01 {
    margin: 0 auto;
    width: fit-content;
    font-size: min(96 / var(--drawer-limit) * var(--drawer-base-vw), 96px);
    letter-spacing: max(-1 * calc(2 / var(--drawer-limit) * var(--drawer-base-vw)), -2px);
  }
  .top-intro__main .txt-01 .st2 {
    letter-spacing: max(-1 * calc(6 / var(--drawer-limit) * var(--drawer-base-vw)), -6px);
  }
}
.top-intro__main .txt-01 .st1 {
  color: #e70072;
  font-family: "Lexend Tera", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.top-intro__main .txt-02 {
  margin: 18px 0 0;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -2px;
}
@media all and (max-width: 767px) {
  .top-intro__main .txt-02 {
    margin-top: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
    font-size: min(44 / var(--drawer-limit) * var(--drawer-base-vw), 44px);
    letter-spacing: max(-1 * calc(2 / var(--drawer-limit) * var(--drawer-base-vw)), -2px);
    line-height: 1.4;
    text-align: center;
  }
}
.top-intro__main .txt-03 {
  margin: 10px 0 0;
  font-size: 18px;
  letter-spacing: -2px;
  line-height: 2;
}
@media all and (max-width: 767px) {
  .top-intro__main .txt-03 {
    margin: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px) auto 0;
    display: block;
    width: min(575 / var(--drawer-limit) * var(--drawer-base-vw), 575px);
    font-size: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    letter-spacing: max(-1 * calc(2 / var(--drawer-limit) * var(--drawer-base-vw)), -2px);
  }
}
.top-intro__main__btn {
  margin: 16px auto 0;
  padding: 0 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 312px;
  height: 117px;
  background-image: url(./images/top/img_btn_bg_03.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #000;
  font-size: 20px;
  font-weight: 600;
  text-decoration: none;
  position: relative;
}
@media all and (max-width: 767px) {
  .top-intro__main__btn {
    margin-top: min(45 / var(--drawer-limit) * var(--drawer-base-vw), 45px);
    padding-right: min(10 / var(--drawer-limit) * var(--drawer-base-vw), 10px);
    padding-bottom: min(18 / var(--drawer-limit) * var(--drawer-base-vw), 18px);
    width: min(575 / var(--drawer-limit) * var(--drawer-base-vw), 575px);
    height: min(215 / var(--drawer-limit) * var(--drawer-base-vw), 215px);
    font-size: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
  }
}
.top-intro__main__btn:visited {
  color: #000;
}
.top-intro__main__btn .c-icon-arrow {
  margin: 0;
  width: 18px;
  height: 16px;
  position: absolute;
  right: 20px;
  top: 45px;
  transition: inherit;
}
@media all and (max-width: 767px) {
  .top-intro__main__btn .c-icon-arrow {
    width: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    height: min(25 / var(--drawer-limit) * var(--drawer-base-vw), 25px);
    top: min(85 / var(--drawer-limit) * var(--drawer-base-vw), 85px);
    right: min(43 / var(--drawer-limit) * var(--drawer-base-vw), 43px);
  }
}
@media all and (min-width: 768px) {
  .top-intro__main__btn:hover {
    padding-top: 10px;
    padding-bottom: 0;
    background-image: url(./images/top/img_btn_bg_03_active.png);
    color: #fff;
  }
  .top-intro__main__btn:hover .c-icon-arrow {
    fill: #fff;
    top: 55px;
    right: 15px;
  }
}
.top-intro__gallery {
  width: 712px;
  height: 755px;
}
@media all and (min-width: 768px) {
  .top-intro__gallery {
    order: 1;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media all and (max-width: 767px) {
  .top-intro__gallery {
    width: min(670 / var(--drawer-limit) * var(--drawer-base-vw), 670px);
    max-width: 100%;
    height: min(750 / var(--drawer-limit) * var(--drawer-base-vw), 750px);
    position: relative;
    transform: translateX(max(-1 * calc(7 / var(--drawer-limit) * var(--drawer-base-vw)), -7px));
  }
}
.top-intro__gallery .g-item {
  position: absolute;
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
}
.top-intro__gallery .g-item.is-visible {
  opacity: 1;
  transform: scale(1);
}
.top-intro__gallery .g-item.--11 {
  transition-delay: 0s;
}
.top-intro__gallery .g-item.--02 {
  transition-delay: 0.2s;
}
.top-intro__gallery .g-item.--09 {
  transition-delay: 0.4s;
}
.top-intro__gallery .g-item.--05 {
  transition-delay: 0.6s;
}
.top-intro__gallery .g-item.--04 {
  transition-delay: 0.7s;
}
.top-intro__gallery .g-item.--10, .top-intro__gallery .g-item.--12 {
  transition-delay: 0.8s;
}
.top-intro__gallery .g-item.--01 {
  transition-delay: 1s;
}
.top-intro__gallery .g-item.--03 {
  transition-delay: 1.1s;
}
.top-intro__gallery .g-item.--06, .top-intro__gallery .g-item.--07, .top-intro__gallery .g-item.--08 {
  transition-delay: 1.2s;
}
.top-intro__gallery .g-item.--01 {
  width: 186px;
  height: 169px;
  z-index: 13;
  top: 165px;
  left: 429px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--01 {
    width: min(186 / var(--drawer-limit) * var(--drawer-base-vw), 186px);
    height: min(169 / var(--drawer-limit) * var(--drawer-base-vw), 169px);
    top: min(165 / var(--drawer-limit) * var(--drawer-base-vw), 165px);
    left: min(429 / var(--drawer-limit) * var(--drawer-base-vw), 429px);
  }
}
.top-intro__gallery .g-item.--02 {
  width: 286px;
  height: 261px;
  z-index: 12;
  top: 420px;
  left: 383px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--02 {
    width: min(286 / var(--drawer-limit) * var(--drawer-base-vw), 286px);
    height: min(261 / var(--drawer-limit) * var(--drawer-base-vw), 261px);
    top: min(420 / var(--drawer-limit) * var(--drawer-base-vw), 420px);
    left: min(383 / var(--drawer-limit) * var(--drawer-base-vw), 383px);
  }
}
.top-intro__gallery .g-item.--03 {
  width: 167px;
  height: 151px;
  z-index: 11;
  top: 600px;
  left: 20px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--03 {
    width: min(167 / var(--drawer-limit) * var(--drawer-base-vw), 167px);
    height: min(151 / var(--drawer-limit) * var(--drawer-base-vw), 151px);
    top: min(600 / var(--drawer-limit) * var(--drawer-base-vw), 600px);
    left: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
  }
}
.top-intro__gallery .g-item.--04 {
  width: 205px;
  height: 186px;
  z-index: 10;
  top: 357px;
  left: -8px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--04 {
    width: min(205 / var(--drawer-limit) * var(--drawer-base-vw), 205px);
    height: min(186 / var(--drawer-limit) * var(--drawer-base-vw), 186px);
    top: min(357 / var(--drawer-limit) * var(--drawer-base-vw), 357px);
    left: max(-1 * calc(8 / var(--drawer-limit) * var(--drawer-base-vw)), -8px);
  }
}
.top-intro__gallery .g-item.--05 {
  width: 228px;
  height: 208px;
  z-index: 9;
  top: 468px;
  left: 90px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--05 {
    width: min(228 / var(--drawer-limit) * var(--drawer-base-vw), 228px);
    height: min(208 / var(--drawer-limit) * var(--drawer-base-vw), 208px);
    top: min(468 / var(--drawer-limit) * var(--drawer-base-vw), 468px);
    left: min(90 / var(--drawer-limit) * var(--drawer-base-vw), 90px);
  }
}
.top-intro__gallery .g-item.--06 {
  width: 145px;
  height: 132px;
  z-index: 8;
  top: 106px;
  left: 532px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--06 {
    width: min(145 / var(--drawer-limit) * var(--drawer-base-vw), 145px);
    height: min(132 / var(--drawer-limit) * var(--drawer-base-vw), 132px);
    top: min(106 / var(--drawer-limit) * var(--drawer-base-vw), 106px);
    left: min(532 / var(--drawer-limit) * var(--drawer-base-vw), 532px);
  }
}
.top-intro__gallery .g-item.--07 {
  width: 145px;
  height: 132px;
  z-index: 7;
  top: 576px;
  left: 565px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--07 {
    width: min(145 / var(--drawer-limit) * var(--drawer-base-vw), 145px);
    height: min(132 / var(--drawer-limit) * var(--drawer-base-vw), 132px);
    top: min(576 / var(--drawer-limit) * var(--drawer-base-vw), 576px);
    left: min(565 / var(--drawer-limit) * var(--drawer-base-vw), 565px);
  }
}
.top-intro__gallery .g-item.--08 {
  width: 145px;
  height: 132px;
  z-index: 6;
  top: 575px;
  left: 283px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--08 {
    width: min(145 / var(--drawer-limit) * var(--drawer-base-vw), 145px);
    height: min(132 / var(--drawer-limit) * var(--drawer-base-vw), 132px);
    top: min(575 / var(--drawer-limit) * var(--drawer-base-vw), 575px);
    left: min(283 / var(--drawer-limit) * var(--drawer-base-vw), 283px);
  }
}
.top-intro__gallery .g-item.--09 {
  width: 266px;
  height: 243px;
  z-index: 5;
  top: 0;
  left: 11px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--09 {
    width: min(266 / var(--drawer-limit) * var(--drawer-base-vw), 266px);
    height: min(243 / var(--drawer-limit) * var(--drawer-base-vw), 243px);
    top: 0;
    left: min(11 / var(--drawer-limit) * var(--drawer-base-vw), 11px);
  }
}
.top-intro__gallery .g-item.--10 {
  width: 204px;
  height: 186px;
  z-index: 4;
  top: 286px;
  left: 500px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--10 {
    width: min(204 / var(--drawer-limit) * var(--drawer-base-vw), 204px);
    height: min(186 / var(--drawer-limit) * var(--drawer-base-vw), 186px);
    top: min(286 / var(--drawer-limit) * var(--drawer-base-vw), 286px);
    left: min(500 / var(--drawer-limit) * var(--drawer-base-vw), 500px);
  }
}
.top-intro__gallery .g-item.--11 {
  width: 465px;
  height: 423px;
  z-index: 3;
  top: 130px;
  left: 80px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--11 {
    width: min(465 / var(--drawer-limit) * var(--drawer-base-vw), 465px);
    height: min(423 / var(--drawer-limit) * var(--drawer-base-vw), 423px);
    top: min(130 / var(--drawer-limit) * var(--drawer-base-vw), 130px);
    left: min(80 / var(--drawer-limit) * var(--drawer-base-vw), 80px);
  }
}
.top-intro__gallery .g-item.--12 {
  width: 204px;
  height: 186px;
  z-index: 2;
  top: 16px;
  left: 320px;
}
@media all and (max-width: 767px) {
  .top-intro__gallery .g-item.--12 {
    width: min(204 / var(--drawer-limit) * var(--drawer-base-vw), 204px);
    height: min(186 / var(--drawer-limit) * var(--drawer-base-vw), 186px);
    top: min(16 / var(--drawer-limit) * var(--drawer-base-vw), 16px);
    left: min(320 / var(--drawer-limit) * var(--drawer-base-vw), 320px);
  }
}
.top-intro__gallery .g-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.top-deco {
  margin: 70px 0 62px;
  display: flex;
  width: 100%;
  height: 171px;
  position: relative;
  z-index: 2;
  overflow: hidden;
  white-space: nowrap;
}
@media all and (max-width: 767px) {
  .top-deco {
    margin: min(145 / var(--drawer-limit) * var(--drawer-base-vw), 145px) 0 min(140 / var(--drawer-limit) * var(--drawer-base-vw), 140px);
    height: min(200 / var(--drawer-limit) * var(--drawer-base-vw), 200px);
  }
}
.top-deco__inner {
  display: flex;
  flex-shrink: 0;
  animation: loop-marqee 30s linear infinite;
}
@media all and (max-width: 767px) {
  .top-deco__inner {
    animation: loop-marqee 22s linear infinite;
  }
}
.top-deco__inner__txt {
  margin: 0;
  width: calc(1633px + 40vw);
  height: 171px;
}
@media all and (max-width: 767px) {
  .top-deco__inner__txt {
    width: calc(min(1640 / var(--drawer-limit) * var(--drawer-base-vw), 1640px) + 30vw);
    height: min(200 / var(--drawer-limit) * var(--drawer-base-vw), 200px);
  }
}
.top-deco__inner__txt img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center left;
}

@keyframes loop-marqee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.top-miryoku {
  text-align: center;
  position: relative;
  z-index: 2;
}
.top-miryoku__txt1 {
  margin: 0;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 72px;
  font-weight: 500;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .top-miryoku__txt1 {
    font-size: min(96 / var(--drawer-limit) * var(--drawer-base-vw), 96px);
  }
}
.top-miryoku__txt2 {
  margin: 10px 0 0;
  font-size: 24px;
  font-weight: 600;
}
@media all and (max-width: 767px) {
  .top-miryoku__txt2 {
    margin-top: min(38 / var(--drawer-limit) * var(--drawer-base-vw), 38px);
    font-size: min(44 / var(--drawer-limit) * var(--drawer-base-vw), 44px);
    letter-spacing: max(-1 * calc(4 / var(--drawer-limit) * var(--drawer-base-vw)), -4px);
    line-height: 1.5;
    white-space: nowrap;
  }
}
.top-miryoku__txt3 {
  margin: 10px 0 0;
  line-height: 2;
}
@media all and (max-width: 767px) {
  .top-miryoku__txt3 {
    margin: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px) auto 0;
    display: block;
    width: min(568 / var(--drawer-limit) * var(--drawer-base-vw), 568px);
    font-size: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    line-height: 1.9;
    text-align: left;
  }
}

.top-area {
  margin-top: 30px;
}
@media all and (max-width: 767px) {
  .top-area {
    margin-top: min(70 / var(--drawer-limit) * var(--drawer-base-vw), 70px);
  }
}

.top-bg-switching {
  position: relative;
  z-index: 1;
}
.top-bg-switching::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: calc(100% - 503px + 186px);
  background-color: #88d5d7;
  position: absolute;
  bottom: 0;
  z-index: -1;
}

.top-community {
  padding: 120px 0 105px;
  width: 100%;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .top-community {
    padding: min(160 / var(--drawer-limit) * var(--drawer-base-vw), 160px) 0 min(170 / var(--drawer-limit) * var(--drawer-base-vw), 170px);
  }
}
.top-community::after {
  content: "";
  display: inline-block;
  background-image: url(./images/top/img_community_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 1757px;
  height: 1006px;
  position: absolute;
  top: -186px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
@media all and (max-width: 767px) {
  .top-community::after {
    background-image: url(./images/top/img_community_bg_sp.png);
    width: min(1759 / var(--drawer-limit) * var(--drawer-base-vw), 1759px);
    height: min(1849 / var(--drawer-limit) * var(--drawer-base-vw), 1849px);
    position: absolute;
    top: max(-1 * calc(240 / var(--drawer-limit) * var(--drawer-base-vw)), -240px);
  }
}
.top-community .inner {
  position: relative;
  z-index: 1;
}
.top-community__txt {
  margin: 0 auto;
  padding-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 294px;
  height: 121px;
  background-image: url(./images/top/img_community_txt_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .top-community__txt {
    padding-bottom: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    width: min(441 / var(--drawer-limit) * var(--drawer-base-vw), 441px);
    height: min(180 / var(--drawer-limit) * var(--drawer-base-vw), 180px);
    font-size: min(27 / var(--drawer-limit) * var(--drawer-base-vw), 27px);
    line-height: 1.5;
  }
}
.top-community__txt::before, .top-community__txt::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  position: absolute;
  z-index: 2;
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transition: clip-path 1.2s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.4s linear;
  will-change: clip-path, opacity;
}
.top-community__txt::before {
  width: 152px;
  height: 56px;
  background-image: url(./images/top/img_community_txt_01.png);
  top: -24px;
  left: -53px;
}
@media all and (max-width: 767px) {
  .top-community__txt::before {
    width: min(229 / var(--drawer-limit) * var(--drawer-base-vw), 229px);
    height: min(82 / var(--drawer-limit) * var(--drawer-base-vw), 82px);
    top: max(-1 * calc(35 / var(--drawer-limit) * var(--drawer-base-vw)), -35px);
    left: max(-1 * calc(77 / var(--drawer-limit) * var(--drawer-base-vw)), -77px);
  }
}
.top-community__txt::after {
  width: 218px;
  height: 74px;
  background-image: url(./images/top/img_community_txt_02.png);
  right: -148px;
  bottom: 10px;
}
@media all and (max-width: 767px) {
  .top-community__txt::after {
    width: min(198 / var(--drawer-limit) * var(--drawer-base-vw), 198px);
    height: min(80 / var(--drawer-limit) * var(--drawer-base-vw), 80px);
    background-image: url(./images/top/img_community_txt_02_sp.png);
    right: max(-1 * calc(93 / var(--drawer-limit) * var(--drawer-base-vw)), -93px);
    bottom: 0;
  }
}
.top-community__txt.is-visible::before, .top-community__txt.is-visible::after {
  opacity: 1;
  clip-path: inset(0 0 0 0);
}
.top-community__txt.is-visible::after {
  transition-delay: 0.8s;
}
.top-community__heading {
  margin: 28px auto 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.15;
  text-align: center;
}
@media all and (max-width: 767px) {
  .top-community__heading {
    margin-top: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  }
}
.top-community__heading .txt1 {
  font-size: 24px;
  letter-spacing: -1px;
}
@media all and (max-width: 767px) {
  .top-community__heading .txt1 {
    font-size: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
  }
}
.top-community__heading .txt2 {
  font-size: 72px;
  letter-spacing: 2px;
}
@media all and (max-width: 767px) {
  .top-community__heading .txt2 {
    font-size: min(80 / var(--drawer-limit) * var(--drawer-base-vw), 80px);
    letter-spacing: 0;
    white-space: nowrap;
  }
}
.top-community__heading .txt2 .st-kg {
  font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  position: relative;
}
.top-community__heading .txt2 .st-kg.--01 {
  left: 7px;
}
.top-community__heading .txt2 .st-kg.--02 {
  right: 7px;
}
.top-community__contents {
  margin-top: 34px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.top-community__contents__img {
  width: 400px;
}
@media all and (max-width: 767px) {
  .top-community__contents__img {
    width: min(295 / var(--drawer-limit) * var(--drawer-base-vw), 295px);
  }
}
.top-community__contents__img img {
  width: 355px;
}
@media all and (max-width: 767px) {
  .top-community__contents__img img {
    width: 100%;
  }
}
.top-community__contents__txt {
  margin: 0;
  width: 400px;
  font-size: 18px;
  line-height: 2;
}
@media all and (max-width: 767px) {
  .top-community__contents__txt {
    margin: min(56 / var(--drawer-limit) * var(--drawer-base-vw), 56px) auto 0;
    width: min(574 / var(--drawer-limit) * var(--drawer-base-vw), 574px);
    font-size: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  }
}
.top-community__btn {
  margin: 42px auto 0;
  padding: 0 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 312px;
  height: 117px;
  background-image: url(./images/top/img_btn_bg_03.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #000;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -1px;
  text-decoration: none;
  position: relative;
}
@media all and (max-width: 767px) {
  .top-community__btn {
    margin-top: min(45 / var(--drawer-limit) * var(--drawer-base-vw), 45px);
    padding-right: min(10 / var(--drawer-limit) * var(--drawer-base-vw), 10px);
    padding-bottom: min(18 / var(--drawer-limit) * var(--drawer-base-vw), 18px);
    width: min(574 / var(--drawer-limit) * var(--drawer-base-vw), 574px);
    height: min(215 / var(--drawer-limit) * var(--drawer-base-vw), 215px);
    font-size: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
    letter-spacing: max(-1 * calc(1 / var(--drawer-limit) * var(--drawer-base-vw)), -1px);
  }
}
.top-community__btn:visited {
  color: #000;
}
.top-community__btn .c-icon-arrow {
  margin: 0;
  width: 18px;
  height: 16px;
  position: absolute;
  right: 20px;
  top: 45px;
  transition: inherit;
}
@media all and (max-width: 767px) {
  .top-community__btn .c-icon-arrow {
    width: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    height: min(25 / var(--drawer-limit) * var(--drawer-base-vw), 25px);
    top: min(85 / var(--drawer-limit) * var(--drawer-base-vw), 85px);
    right: min(43 / var(--drawer-limit) * var(--drawer-base-vw), 43px);
  }
}
@media all and (min-width: 768px) {
  .top-community__btn:hover {
    padding-top: 10px;
    padding-bottom: 0;
    background-image: url(./images/top/img_btn_bg_03_active.png);
    color: #fff;
  }
  .top-community__btn:hover .c-icon-arrow {
    fill: #fff;
    top: 55px;
    right: 15px;
  }
}
.top-community__img {
  position: absolute;
  z-index: -1;
}
.top-community__img.--01 {
  width: 339px;
  height: 574px;
  top: -36px;
  left: -69px;
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
@media all and (max-width: 767px) {
  .top-community__img.--01 {
    width: min(191 / var(--drawer-limit) * var(--drawer-base-vw), 191px);
    height: min(328 / var(--drawer-limit) * var(--drawer-base-vw), 328px);
    top: min(378 / var(--drawer-limit) * var(--drawer-base-vw), 378px);
    left: 0;
  }
}
.top-community__img.--01.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.top-community__img.--02 {
  width: 474px;
  height: 624px;
  top: -17px;
  right: -135px;
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
@media all and (max-width: 767px) {
  .top-community__img.--02 {
    width: min(195 / var(--drawer-limit) * var(--drawer-base-vw), 195px);
    height: min(355 / var(--drawer-limit) * var(--drawer-base-vw), 355px);
    top: min(378 / var(--drawer-limit) * var(--drawer-base-vw), 378px);
    right: 0;
  }
}
.top-community__img.--02.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.top-community__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.top-menu {
  margin: 105px auto 0;
  max-width: 1280px;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .top-menu {
    margin-top: min(155 / var(--drawer-limit) * var(--drawer-base-vw), 155px);
  }
}
.top-menu__heading {
  margin: 0 auto;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 72px;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
  position: relative;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .top-menu__heading {
    font-size: min(80 / var(--drawer-limit) * var(--drawer-base-vw), 80px);
    line-height: 1;
  }
}
.top-menu__heading .st-w {
  color: #fff;
  -webkit-text-stroke: 2px black;
  text-stroke: 2px black;
  paint-order: stroke;
}
.top-menu__deco {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 160px;
  height: 160px;
  background-color: #fff;
  border: 1px dotted #000;
  border-radius: 100%;
  position: absolute;
  top: -14px;
  right: 55px;
  z-index: 2;
  animation: rotate-left 40s linear infinite;
}
@media all and (max-width: 767px) {
  .top-menu__deco {
    width: min(160 / var(--drawer-limit) * var(--drawer-base-vw), 160px);
    height: min(160 / var(--drawer-limit) * var(--drawer-base-vw), 160px);
    top: min(176 / var(--drawer-limit) * var(--drawer-base-vw), 176px);
    right: min(8 / var(--drawer-limit) * var(--drawer-base-vw), 8px);
  }
}
@keyframes rotate-left {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}
.top-menu__deco .d-item {
  margin: 0;
  padding: 11px 0;
  display: inline-block;
  width: 132px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .top-menu__deco .d-item {
    padding: min(11 / var(--drawer-limit) * var(--drawer-base-vw), 11px) 0;
    width: min(132 / var(--drawer-limit) * var(--drawer-base-vw), 132px);
  }
}
.top-menu__deco .d-item.--01 {
  font-family: "Senobi-Gothic-Medium", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 22px;
  letter-spacing: -3px;
}
@media all and (max-width: 767px) {
  .top-menu__deco .d-item.--01 {
    font-size: min(22 / var(--drawer-limit) * var(--drawer-base-vw), 22px);
    letter-spacing: max(-1 * calc(3 / var(--drawer-limit) * var(--drawer-base-vw)), -3px);
  }
}
.top-menu__deco .d-item.--01 .st1 {
  letter-spacing: -7px;
}
@media all and (max-width: 767px) {
  .top-menu__deco .d-item.--01 .st1 {
    letter-spacing: max(-1 * calc(7 / var(--drawer-limit) * var(--drawer-base-vw)), -7px);
  }
}
.top-menu__deco .d-item.--02 {
  border-top: 3px solid #000;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0;
}
@media all and (max-width: 767px) {
  .top-menu__deco .d-item.--02 {
    font-size: min(19 / var(--drawer-limit) * var(--drawer-base-vw), 19px);
  }
}
.top-menu__list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  width: 100%;
  height: 715px;
}
@media all and (max-width: 767px) {
  .top-menu__list {
    margin: min(75 / var(--drawer-limit) * var(--drawer-base-vw), 75px) auto 0;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 0;
    width: calc(100% - min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px));
    height: auto;
  }
}
.top-menu__list__item {
  width: 100%;
  height: 100%;
}
@media all and (max-width: 767px) {
  .top-menu__list__item {
    margin-top: calc(var(--up-offset) * max(-1 * calc(2 / var(--drawer-limit) * var(--drawer-base-vw)), -2px));
  }
}
.top-menu__list__item .i-link {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  border: 2px dotted #fff;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  z-index: 1;
  text-decoration: none;
}
@media all and (min-width: 768px) {
  .top-menu__list__item .i-link:hover .i-link__img img {
    transform: scale(1.05);
  }
}
@media all and (max-width: 767px) {
  .top-menu__list__item .i-link {
    padding: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px) min(48 / var(--drawer-limit) * var(--drawer-base-vw), 48px);
  }
}
.top-menu__list__item .i-link__number {
  margin: 0;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
  flex-wrap: wrap;
  width: 69px;
  height: 69px;
  border: 2px dotted #fff;
  border-radius: 100%;
  color: #fff;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 1;
  text-align: center;
  position: absolute;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .top-menu__list__item .i-link__number {
    width: min(105 / var(--drawer-limit) * var(--drawer-base-vw), 105px);
    height: min(105 / var(--drawer-limit) * var(--drawer-base-vw), 105px);
    right: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
    bottom: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
  }
}
.top-menu__list__item .i-link__number::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.2;
}
.top-menu__list__item .i-link__number .st1 {
  margin-right: 4px;
  display: block;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 2px;
}
@media all and (max-width: 767px) {
  .top-menu__list__item .i-link__number .st1 {
    font-size: min(30 / var(--drawer-limit) * var(--drawer-base-vw), 30px);
  }
}
.top-menu__list__item .i-link__number .st2 {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  white-space: nowrap;
}
@media all and (max-width: 767px) {
  .top-menu__list__item .i-link__number .st2 {
    margin-top: min(12 / var(--drawer-limit) * var(--drawer-base-vw), 12px);
    font-size: min(19 / var(--drawer-limit) * var(--drawer-base-vw), 19px);
  }
}
.top-menu__list__item .i-link__name {
  margin: 0;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
}
@media all and (max-width: 767px) {
  .top-menu__list__item .i-link__name {
    font-size: min(34 / var(--drawer-limit) * var(--drawer-base-vw), 34px);
  }
  .top-menu__list__item .i-link__name .st1 {
    margin-right: min(4 / var(--drawer-limit) * var(--drawer-base-vw), 4px);
    font-size: min(51 / var(--drawer-limit) * var(--drawer-base-vw), 51px);
  }
}
.top-menu__list__item .i-link__img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.top-menu__list__item .i-link__img::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: linear-gradient(0, rgb(0, 0, 0) 0%, transparent 60%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0.65;
}
.top-menu__list__item .i-link__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: 0.3s;
}
@media all and (min-width: 768px) {
  .top-menu__list__item.--01 {
    grid-row: 1/4;
  }
  .top-menu__list__item.--01 .i-link {
    padding: 40px 50px;
  }
  .top-menu__list__item.--01 .i-link__number {
    top: 25px;
    left: 25px;
  }
  .top-menu__list__item.--01 .i-link__name {
    font-size: 41px;
  }
  .top-menu__list__item.--01 .i-link__name .st1 {
    margin-right: 5px;
    font-size: 60px;
    line-height: 1.1;
  }
}
@media all and (max-width: 767px) {
  .top-menu__list__item.--01 {
    height: min(564 / var(--drawer-limit) * var(--drawer-base-vw), 564px);
    --up-offset: 0;
  }
}
@media all and (min-width: 768px) {
  .top-menu__list__item.--02 .i-link, .top-menu__list__item.--03 .i-link, .top-menu__list__item.--04 .i-link {
    padding: 25px 30px;
  }
  .top-menu__list__item.--02 .i-link__number, .top-menu__list__item.--03 .i-link__number, .top-menu__list__item.--04 .i-link__number {
    bottom: 30px;
    right: 30px;
  }
  .top-menu__list__item.--02 .i-link__name, .top-menu__list__item.--03 .i-link__name, .top-menu__list__item.--04 .i-link__name {
    font-size: 28px;
  }
  .top-menu__list__item.--02 .i-link__name .st1, .top-menu__list__item.--03 .i-link__name .st1, .top-menu__list__item.--04 .i-link__name .st1 {
    font-size: 41px;
  }
}
@media all and (max-width: 767px) {
  .top-menu__list__item.--02, .top-menu__list__item.--03, .top-menu__list__item.--04 {
    height: min(240 / var(--drawer-limit) * var(--drawer-base-vw), 240px);
  }
  .top-menu__list__item.--02 .i-link, .top-menu__list__item.--03 .i-link, .top-menu__list__item.--04 .i-link {
    align-items: center;
  }
  .top-menu__list__item.--02 .i-link__number, .top-menu__list__item.--03 .i-link__number, .top-menu__list__item.--04 .i-link__number {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  .top-menu__list__item.--02 .i-link__img::after, .top-menu__list__item.--03 .i-link__img::after, .top-menu__list__item.--04 .i-link__img::after {
    background: linear-gradient(90deg, rgb(0, 0, 0) 0%, transparent 60%, transparent 70%, rgba(0, 0, 0, 0.6) 100%);
  }
}
.top-menu__list__item.--02 {
  --up-offset: 1;
}
.top-menu__list__item.--03 {
  --up-offset: 2;
}
.top-menu__list__item.--04 {
  --up-offset: 3;
}

.top-voice {
  margin-top: 75px;
  padding-bottom: 40px;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .top-voice {
    margin-top: min(210 / var(--drawer-limit) * var(--drawer-base-vw), 210px);
    padding-bottom: min(190 / var(--drawer-limit) * var(--drawer-base-vw), 190px);
    flex-direction: column;
  }
}
.top-voice::after {
  content: "";
  display: inline-block;
  background-image: url(./images/top/bg_voice.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 1783px;
  height: 1424px;
  position: absolute;
  top: -225px;
  left: calc(50% - 20px);
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
@media all and (max-width: 767px) {
  .top-voice::after {
    width: min(1084 / var(--drawer-limit) * var(--drawer-base-vw), 1084px);
    height: min(2330 / var(--drawer-limit) * var(--drawer-base-vw), 2330px);
    background-image: url(./images/top/bg_voice_sp.png);
    top: min(290 / var(--drawer-limit) * var(--drawer-base-vw), 290px);
    left: calc(50% + min(45 / var(--drawer-limit) * var(--drawer-base-vw), 45px));
  }
}
.top-voice__head {
  margin-top: 50px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  width: 50%;
}
@media all and (max-width: 767px) {
  .top-voice__head {
    display: contents;
  }
}
.top-voice__head__heading {
  margin: 0;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 63px;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .top-voice__head__heading {
    order: 1;
    font-size: min(80 / var(--drawer-limit) * var(--drawer-base-vw), 80px);
    letter-spacing: min(1 / var(--drawer-limit) * var(--drawer-base-vw), 1px);
  }
}
.top-voice__head__heading .st-w {
  color: #fff;
  -webkit-text-stroke: 2px black;
  text-stroke: 2px black;
  paint-order: stroke;
}
.top-voice__head__btn {
  margin-top: 30px;
  padding-left: 54px;
  color: #000;
  font-size: 24px;
  font-weight: 600;
  text-decoration: none;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .top-voice__head__btn {
    order: 3;
    margin: min(75 / var(--drawer-limit) * var(--drawer-base-vw), 75px) auto 0;
    padding-left: min(72 / var(--drawer-limit) * var(--drawer-base-vw), 72px);
    width: fit-content;
    font-size: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
  }
}
.top-voice__head__btn::before, .top-voice__head__btn::after {
  content: "";
  display: inline-block;
  height: 3px;
  position: absolute;
  bottom: -3px;
  left: 49px;
}
@media all and (max-width: 767px) {
  .top-voice__head__btn::before, .top-voice__head__btn::after {
    bottom: max(-1 * calc(5 / var(--drawer-limit) * var(--drawer-base-vw)), -5px);
    left: min(70 / var(--drawer-limit) * var(--drawer-base-vw), 70px);
  }
}
.top-voice__head__btn::before {
  width: calc(100% - 54px + 10px);
  background-color: #000;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .top-voice__head__btn::before {
    width: calc(100% - min(60 / var(--drawer-limit) * var(--drawer-base-vw), 60px));
  }
}
.top-voice__head__btn::after {
  width: 16px;
  background-color: #e70072;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .top-voice__head__btn::after {
    width: min(25 / var(--drawer-limit) * var(--drawer-base-vw), 25px);
  }
}
.top-voice__head__btn .b-deco {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 40px;
  height: 40px;
  background-color: #000;
  border-radius: 100%;
  position: absolute;
  top: 3px;
  left: 0;
}
@media all and (max-width: 767px) {
  .top-voice__head__btn .b-deco {
    width: min(60 / var(--drawer-limit) * var(--drawer-base-vw), 60px);
    height: min(60 / var(--drawer-limit) * var(--drawer-base-vw), 60px);
    top: min(4 / var(--drawer-limit) * var(--drawer-base-vw), 4px);
  }
}
.top-voice__head__btn .b-deco .c-icon-arrow {
  margin: 0;
  width: 24px;
  height: 18px;
  fill: #fff;
}
@media all and (max-width: 767px) {
  .top-voice__head__btn .b-deco .c-icon-arrow {
    width: min(24 / var(--drawer-limit) * var(--drawer-base-vw), 24px);
    height: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
  }
}
.top-voice__head__btn:visited {
  color: #000;
}
.top-voice__head__btn:hover {
  color: #e70072;
}
@media all and (min-width: 768px) {
  .top-voice__list {
    display: contents;
  }
}
@media all and (max-width: 767px) {
  .top-voice__list {
    order: 2;
    margin-top: min(78 / var(--drawer-limit) * var(--drawer-base-vw), 78px);
    padding-bottom: min(55 / var(--drawer-limit) * var(--drawer-base-vw), 55px);
  }
}
.top-voice__list__item {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
}
.top-voice__list__item.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media all and (min-width: 768px) {
  .top-voice__list__item {
    width: 50%;
  }
  .top-voice__list__item:nth-child(n+3) {
    margin-top: 210px;
  }
}
@media all and (max-width: 767px) {
  .top-voice__list__item {
    width: calc(100% - min(80 / var(--drawer-limit) * var(--drawer-base-vw), 80px));
  }
  .top-voice__list__item:nth-child(n+2) {
    margin-top: min(92 / var(--drawer-limit) * var(--drawer-base-vw), 92px);
  }
  .top-voice__list__item:nth-child(even) {
    margin-left: auto;
  }
}
.top-voice__list__item .i-link {
  margin-right: auto;
  margin-left: auto;
  padding: 20px 20px 20px 40px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: column;
  flex-wrap: wrap;
  width: 445px;
  height: 370px;
  background-color: #88d5d7;
  border: 2px solid #000;
  border-radius: 10px 75px;
  text-decoration: none;
  position: relative;
  z-index: 1;
  transition: all 0.4s ease-in-out;
}
@media all and (max-width: 767px) {
  .top-voice__list__item .i-link {
    padding: min(26 / var(--drawer-limit) * var(--drawer-base-vw), 26px) min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px) min(26 / var(--drawer-limit) * var(--drawer-base-vw), 26px) min(48 / var(--drawer-limit) * var(--drawer-base-vw), 48px);
    width: min(587 / var(--drawer-limit) * var(--drawer-base-vw), 587px);
    height: min(554 / var(--drawer-limit) * var(--drawer-base-vw), 554px);
    border-radius: min(15 / var(--drawer-limit) * var(--drawer-base-vw), 15px) min(80 / var(--drawer-limit) * var(--drawer-base-vw), 80px);
  }
}
.top-voice__list__item .i-link::after {
  content: "";
  display: inline-block;
  background-image: url(./images/top/img_voice_single_fukidashi.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 61px;
  height: 54px;
  position: absolute;
  bottom: -38px;
  right: 12px;
  z-index: -2;
}
@media all and (max-width: 767px) {
  .top-voice__list__item .i-link::after {
    width: min(72 / var(--drawer-limit) * var(--drawer-base-vw), 72px);
    height: min(69 / var(--drawer-limit) * var(--drawer-base-vw), 69px);
    bottom: max(-1 * calc(65 / var(--drawer-limit) * var(--drawer-base-vw)), -65px);
    right: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
  }
}
.top-voice__list__item .i-link:hover {
  transform: translateY(-10px);
  /*.i-link__img {
    img {
      transform: scale(1.05);
    }
  }*/
}
.top-voice__list__item .i-link__area {
  order: 1;
  margin: 0 0 10px;
  padding: 0 7px;
  display: block;
  border-right: 1px solid #fff;
  border-left: 1px solid #fff;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .top-voice__list__item .i-link__area {
    font-size: min(22 / var(--drawer-limit) * var(--drawer-base-vw), 22px);
  }
}
.top-voice__list__item .i-link__title {
  order: 2;
  margin: 0;
  color: #fff;
  font-size: 24px;
}
@media all and (max-width: 767px) {
  .top-voice__list__item .i-link__title {
    padding-right: min(12 / var(--drawer-limit) * var(--drawer-base-vw), 12px);
    display: inline-block;
    font-size: min(36 / var(--drawer-limit) * var(--drawer-base-vw), 36px);
    line-height: 1.5;
  }
}
.top-voice__list__item .i-link__sub {
  margin: 0;
  padding: 10px;
  background-color: #ea5326;
  border-radius: 10px 0;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 3px;
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: absolute;
  top: -2px;
  left: -2px;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .top-voice__list__item .i-link__sub {
    padding: min(16 / var(--drawer-limit) * var(--drawer-base-vw), 16px);
    border-radius: min(15 / var(--drawer-limit) * var(--drawer-base-vw), 15px) 0;
    font-size: min(24 / var(--drawer-limit) * var(--drawer-base-vw), 24px);
    letter-spacing: min(4 / var(--drawer-limit) * var(--drawer-base-vw), 4px);
  }
}
.top-voice__list__item .i-link__tag {
  order: 3;
  margin-top: 10px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
}
@media all and (max-width: 767px) {
  .top-voice__list__item .i-link__tag {
    margin-top: min(22 / var(--drawer-limit) * var(--drawer-base-vw), 22px);
    gap: min(8 / var(--drawer-limit) * var(--drawer-base-vw), 8px);
  }
}
.top-voice__list__item .i-link__tag .t-item {
  margin: 0;
  padding: 5px;
  display: inline-block;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 5px;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .top-voice__list__item .i-link__tag .t-item {
    padding: min(7 / var(--drawer-limit) * var(--drawer-base-vw), 7px);
    border-radius: min(6 / var(--drawer-limit) * var(--drawer-base-vw), 6px);
    font-size: min(22 / var(--drawer-limit) * var(--drawer-base-vw), 22px);
  }
}
.top-voice__list__item .i-link__tag .t-item .i-sharp {
  color: #ea5326;
}
.top-voice__list__item .i-link__img {
  width: 100%;
  height: 100%;
  border-radius: 8px 73px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .top-voice__list__item .i-link__img {
    border-radius: min(12 / var(--drawer-limit) * var(--drawer-base-vw), 12px) min(77 / var(--drawer-limit) * var(--drawer-base-vw), 77px);
  }
}
.top-voice__list__item .i-link__img::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: linear-gradient(0, rgb(0, 0, 0) 0%, transparent 60%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0.65;
}
.top-voice__list__item .i-link__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: 0.3s;
}

.top-info {
  margin-top: 125px;
  padding-bottom: 100px;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .top-info {
    margin-top: 0;
    padding-bottom: min(95 / var(--drawer-limit) * var(--drawer-base-vw), 95px);
  }
}
.top-info::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: calc(100% - 84px);
  background-color: #fff;
  border-top: 1px solid #000;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .top-info::after {
    height: calc(100% - min(156 / var(--drawer-limit) * var(--drawer-base-vw), 156px));
  }
}
.top-info .inner {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
@media all and (max-width: 767px) {
  .top-info .inner {
    flex-direction: column;
  }
}
.top-info__child {
  width: 100%;
  position: relative;
  z-index: 1;
}
@media all and (min-width: 768px) {
  .top-info__child {
    width: 50%;
  }
  .top-info__child:nth-child(1) {
    padding-right: 48px;
  }
  .top-info__child:nth-child(2) {
    padding-left: 48px;
  }
}
.top-info__child__head {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
  height: 85px;
}
@media all and (max-width: 767px) {
  .top-info__child__head {
    height: min(158 / var(--drawer-limit) * var(--drawer-base-vw), 158px);
    position: relative;
  }
}
.top-info__child__head .h-heading {
  margin: 0;
  padding-top: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 200px;
  height: 85px;
  background-color: #fff;
  border-radius: 10px 10px 0 0;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0;
  position: absolute;
  top: 0;
  left: 0;
}
@media all and (max-width: 767px) {
  .top-info__child__head .h-heading {
    padding-left: min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px);
    justify-content: flex-start;
    width: calc(100% + min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px));
    height: 100%;
    border-left: unset;
    border-radius: 0 min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px) 0 0;
    font-size: min(51 / var(--drawer-limit) * var(--drawer-base-vw), 51px);
    left: max(-1 * calc(40 / var(--drawer-limit) * var(--drawer-base-vw)), -40px);
  }
  .top-info__child__head .h-heading::before, .top-info__child__head .h-heading::after {
    content: "";
    display: inline-block;
    position: absolute;
    right: max(-1 * calc(20 / var(--drawer-limit) * var(--drawer-base-vw)), -20px);
  }
  .top-info__child__head .h-heading::before {
    width: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
    height: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
    background-color: #88d5d7;
    border-bottom: 1px solid #000;
    border-left: 1px solid #000;
    border-radius: 0 0 0 min(16 / var(--drawer-limit) * var(--drawer-base-vw), 16px);
    bottom: min(1 / var(--drawer-limit) * var(--drawer-base-vw), 1px);
    z-index: 3;
  }
  .top-info__child__head .h-heading::after {
    width: min(21 / var(--drawer-limit) * var(--drawer-base-vw), 21px);
    height: min(21 / var(--drawer-limit) * var(--drawer-base-vw), 21px);
    background-color: #fff;
    bottom: 0;
    z-index: 2;
  }
}
.top-info__child__head .h-btn {
  margin-bottom: 18px;
  margin-left: 10px;
  padding-left: 24px;
  display: block;
  color: #000;
  font-size: 17px;
  font-weight: 600;
  text-decoration: none;
  position: relative;
}
@media all and (max-width: 767px) {
  .top-info__child__head .h-btn {
    margin: 0;
    font-size: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
    position: absolute;
    top: min(50 / var(--drawer-limit) * var(--drawer-base-vw), 50px);
    right: min(84 / var(--drawer-limit) * var(--drawer-base-vw), 84px);
  }
}
.top-info__child__head .h-btn::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: -1px;
  left: 24px;
  transition: width 0.2s ease-out;
}
@media all and (max-width: 767px) {
  .top-info__child__head .h-btn::after {
    width: calc(100% - 24px);
  }
}
@media all and (min-width: 768px) {
  .top-info__child__head .h-btn:hover::after {
    width: calc(100% - 24px);
  }
}
.top-info__child__head .h-btn .b-deco {
  width: 13px;
  height: 10px;
  position: absolute;
  top: 11px;
  left: 0;
}
.top-info__child__head .h-btn .b-deco::before {
  content: "";
  width: 11px;
  height: 2px;
  background-color: #000;
  position: absolute;
  top: 3px;
  left: 0;
  vertical-align: middle;
}
.top-info__child__head .h-btn .b-deco::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  top: 0;
  left: 3px;
  transform: rotate(45deg);
  vertical-align: middle;
}
.top-info__child__head + .m-entry-list,
.top-info__child__head + .m-entry-list2,
.top-info__child__head + .event-lists-container {
  margin-top: 25px;
  width: 100%;
  max-width: 580px;
}
@media all and (max-width: 767px) {
  .top-info__child__head + .m-entry-list,
  .top-info__child__head + .m-entry-list2,
  .top-info__child__head + .event-lists-container {
    margin-top: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
  }
}

@media all and (max-width: 767px) {
  .top-event {
    margin-top: min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px);
  }
}
@media all and (max-width: 767px) {
  .top-event__head {
    justify-content: flex-start;
  }
  .top-event__head::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 1px;
    background-color: #000;
    position: absolute;
    right: max(-1 * calc(40 / var(--drawer-limit) * var(--drawer-base-vw)), -40px);
    bottom: min(1 / var(--drawer-limit) * var(--drawer-base-vw), 1px);
    z-index: -1;
  }
  .top-event__head .h-heading {
    padding-bottom: min(28 / var(--drawer-limit) * var(--drawer-base-vw), 28px);
  }
  .top-event__head .h-heading::before {
    background-color: #fff;
  }
  .top-event__head .h-btn {
    top: min(110 / var(--drawer-limit) * var(--drawer-base-vw), 110px);
  }
}
.top-event__head__cat {
  margin-bottom: 25px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
@media all and (max-width: 767px) {
  .top-event__head__cat {
    margin-bottom: 0;
    position: relative;
    left: max(-1 * calc(28 / var(--drawer-limit) * var(--drawer-base-vw)), -28px);
  }
}
.top-event__head__cat .cat-item {
  position: relative;
}
.top-event__head__cat .cat-item:nth-child(n+2)::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 20px;
  background-color: #000;
  position: absolute;
  top: 3px;
  left: 0;
}
@media all and (max-width: 767px) {
  .top-event__head__cat .cat-item:nth-child(n+2)::before {
    height: min(24 / var(--drawer-limit) * var(--drawer-base-vw), 24px);
    top: min(3 / var(--drawer-limit) * var(--drawer-base-vw), 3px);
  }
}
.top-event__head__cat .cat-item__link {
  padding: 0 15px;
  display: block;
  color: #000;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: 0.3s;
}
@media all and (min-width: 768px) {
  .top-event__head__cat .cat-item__link:hover {
    color: #e70072;
  }
}
.top-event__head__cat .cat-item__link.is-active {
  color: #e70072;
}
@media all and (max-width: 767px) {
  .top-event__head__cat .cat-item__link {
    padding: 0 min(26 / var(--drawer-limit) * var(--drawer-base-vw), 26px);
    font-size: min(26 / var(--drawer-limit) * var(--drawer-base-vw), 26px);
  }
}

.top-movie {
  width: 100%;
  height: 551px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media all and (max-width: 767px) {
  .top-movie {
    height: min(550 / var(--drawer-limit) * var(--drawer-base-vw), 550px);
  }
}
.top-movie__heading {
  margin: 0;
  padding-top: 45px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  width: 125px;
  height: 100%;
  background-color: #9ce6d4;
  border: 2px dotted #000;
  color: #000;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 3;
  overflow: hidden;
}
@media all and (max-width: 767px) {
  .top-movie__heading {
    padding-top: min(20 / var(--drawer-limit) * var(--drawer-base-vw), 20px);
    width: min(160 / var(--drawer-limit) * var(--drawer-base-vw), 160px);
  }
}
.top-movie__heading::before, .top-movie__heading::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 125px;
  height: 79px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .top-movie__heading::before, .top-movie__heading::after {
    width: 100%;
    height: min(112 / var(--drawer-limit) * var(--drawer-base-vw), 112px);
    bottom: max(-1 * calc(16 / var(--drawer-limit) * var(--drawer-base-vw)), -16px);
  }
}
.top-movie__heading::before {
  background-image: url(./images/top/img_movie_yama.png);
}
.top-movie__heading::after {
  background-image: url(./images/top/img_movie_yama_close.png);
  opacity: 0;
  animation: eye-blink-rhythm 8.8s infinite;
}
.top-movie__heading .st-01,
.top-movie__heading .st-02 {
  font-size: 56px;
  letter-spacing: -7px;
  writing-mode: vertical-rl;
}
@media all and (max-width: 767px) {
  .top-movie__heading .st-01,
  .top-movie__heading .st-02 {
    font-size: min(62 / var(--drawer-limit) * var(--drawer-base-vw), 62px);
    letter-spacing: max(-1 * calc(7 / var(--drawer-limit) * var(--drawer-base-vw)), -7px);
  }
}
.top-movie__heading .st-01 {
  color: #fff;
  -webkit-text-stroke: 2px #000;
  text-stroke: 2px #000;
  paint-order: stroke;
}
.top-movie__heading .st-03 {
  margin-top: 24px;
  padding: 18px 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 85px;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000;
  font-size: 38px;
  letter-spacing: 4px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .top-movie__heading .st-03 {
    margin-top: min(18 / var(--drawer-limit) * var(--drawer-base-vw), 18px);
    padding: min(12 / var(--drawer-limit) * var(--drawer-base-vw), 12px) 0;
    width: min(98 / var(--drawer-limit) * var(--drawer-base-vw), 98px);
    border-width: min(5 / var(--drawer-limit) * var(--drawer-base-vw), 5px);
    font-size: min(40 / var(--drawer-limit) * var(--drawer-base-vw), 40px);
    letter-spacing: min(2 / var(--drawer-limit) * var(--drawer-base-vw), 2px);
  }
}
.top-movie__slider {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
@media all and (max-width: 767px) {
  .top-movie__slider {
    gap: min(2 / var(--drawer-limit) * var(--drawer-base-vw), 2px);
  }
}
.top-movie__slider .slider-row {
  display: flex;
  flex-wrap: nowrap;
}
.top-movie__slider .slide-group {
  margin: 0;
  padding: 0;
  display: flex;
  width: max-content;
  list-style: none;
  will-change: transform;
  backface-visibility: hidden;
  perspective: 1000;
}
.top-movie__slider .slide-item {
  display: block;
  flex-shrink: 0;
  width: 431px;
  height: 275px;
  border-right: 2px solid #fff;
}
@media all and (max-width: 767px) {
  .top-movie__slider .slide-item {
    width: min(431 / var(--drawer-limit) * var(--drawer-base-vw), 431px);
    height: min(275 / var(--drawer-limit) * var(--drawer-base-vw), 275px);
    border-width: min(2 / var(--drawer-limit) * var(--drawer-base-vw), 2px);
  }
}
.top-movie__slider .slide-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.top-movie__slider .slide-link::before {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_movie_play_02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 80px;
  height: 80px;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  z-index: 2;
}
@media all and (max-width: 767px) {
  .top-movie__slider .slide-link::before {
    width: min(82 / var(--drawer-limit) * var(--drawer-base-vw), 82px);
    height: min(82 / var(--drawer-limit) * var(--drawer-base-vw), 82px);
  }
}
.top-movie__slider .slide-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.top-movie__slider .row-1 .slide-group,
.top-movie__slider .row-3 .slide-group {
  animation: infinite-slider-loop-right 60s linear infinite;
}
.top-movie__slider .row-2 .slide-group {
  animation: infinite-slider-loop-left 60s linear infinite;
}
.top-movie__slider .row-3 {
  display: none;
}
@media all and (max-width: 767px) {
  .top-movie__slider .row-3 {
    display: flex;
  }
}
@media all and (min-width: 768px) {
  .top-movie__slider:hover .slide-group {
    animation-play-state: paused;
  }
}
@keyframes infinite-slider-loop-right {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes infinite-slider-loop-left {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}

/**************************************************
  About
***************************************************/
.page-about .container {
  background-color: #f7f7e8;
}
.page-about .l-content {
  padding: 0;
}

/* -----------------------------------------------
  title
-------------------------------------------------- */
.about-page-title {
  padding-top: 155px;
  height: 1072px;
  background-color: #e8f2fd;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .about-page-title {
    padding-top: 95px;
    height: auto;
  }
}
.about-page-title .deco-wrap {
  position: relative;
}
@media all and (min-width: 768px) {
  .about-page-title .deco-wrap {
    top: 13px;
  }
}
@media all and (max-width: 767px) {
  .about-page-title .deco-wrap {
    top: -60px;
  }
}
.about-page-title::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_map.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 1757px;
  height: 1480px;
  position: absolute;
  top: 110px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
@media all and (max-width: 767px) {
  .about-page-title::after {
    background-image: url(./images/about/img_map_sp.png);
    width: 900px;
    height: 833px;
    top: 490px;
    left: calc(50% + 58px);
  }
}
.about-page-title .inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
}
.about-page-title .inner__wrap:nth-child(1) {
  padding-top: 35px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  width: 340px;
}
@media all and (max-width: 767px) {
  .about-page-title .inner__wrap:nth-child(1) {
    padding-top: 0;
    width: 100%;
  }
}
.about-page-title .inner__wrap:nth-child(2) {
  width: 535px;
}
@media all and (max-width: 767px) {
  .about-page-title .inner__wrap:nth-child(2) {
    margin: 60px auto 0;
    width: 307px;
  }
}
.about-page-title .m-breadcrumb {
  order: 1;
}
.about-page-title__heading {
  order: 2;
  margin-top: 55px;
}
@media all and (max-width: 767px) {
  .about-page-title__heading {
    margin: 22px auto 0 24px;
    width: 307px;
  }
}
.about-page-title__heading .heading-main {
  margin: 0;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 83px;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .about-page-title__heading .heading-main {
    font-size: 50px;
  }
}
.about-page-title__heading .heading-sub {
  margin: 16px 0 0;
  color: #000;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}
@media all and (max-width: 767px) {
  .about-page-title__heading .heading-sub {
    margin-top: 12px;
    font-size: 14px;
    letter-spacing: -1px;
  }
}
.about-page-title__copy {
  margin: 0;
  letter-spacing: -2px;
}
.about-page-title__copy .copy-01 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}
.about-page-title__copy .copy-01__enclosure {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 128px;
  height: 117px;
  border-radius: 30px;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 62px;
  font-weight: 500;
  line-height: 1;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .about-page-title__copy .copy-01__enclosure {
    width: 83px;
    height: 76px;
    font-size: 40px;
  }
}
.about-page-title__copy .copy-01__enclosure::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_copy_bg_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.about-page-title__copy .copy-01__connect {
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 54px;
  font-weight: 500;
  line-height: 1;
  position: relative;
  right: 18px;
  bottom: 8px;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .about-page-title__copy .copy-01__connect {
    font-size: 35px;
    right: 15px;
    bottom: 6px;
  }
}
.about-page-title__copy .copy-02 {
  margin: 14px 0;
  display: block;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 54px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .about-page-title__copy .copy-02 {
    margin: 10px 0;
    font-size: 37px;
  }
}
.about-page-title__copy .copy-02__exclamation {
  color: #e70072;
  font-family: "Lexend Tera", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 900;
  letter-spacing: -18px;
  position: relative;
  right: 10px;
}
.about-page-title__copy .copy-03 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}
.about-page-title__copy .copy-03__enclosure {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 128px;
  height: 117px;
  border-radius: 30px;
  color: #fff;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 62px;
  font-weight: 500;
  line-height: 1;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .about-page-title__copy .copy-03__enclosure {
    width: 83px;
    height: 76px;
    font-size: 40px;
  }
}
.about-page-title__copy .copy-03__enclosure::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_copy_bg_02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.about-page-title__copy .copy-03__connect {
  margin: 14px 0 0;
  display: block;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 54px;
  font-weight: 500;
  line-height: 1;
  position: relative;
  right: 18px;
  bottom: 8px;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .about-page-title__copy .copy-03__connect {
    margin-top: 11px;
    font-size: 35px;
    right: 15px;
    bottom: 6px;
  }
}
.about-page-title__copy .copy-04 {
  margin: 16px 0 0;
  display: block;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 54px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .about-page-title__copy .copy-04 {
    margin-top: 10px;
    font-size: 37px;
  }
}
.about-page-title__copy .copy-04__exclamation {
  color: #e70072;
  font-family: "Lexend Tera", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 900;
  letter-spacing: -18px;
  position: relative;
  right: 10px;
}
.about-page-title__txt {
  margin: 330px 0 0;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.8px;
}
@media all and (max-width: 767px) {
  .about-page-title__txt {
    margin-top: 395px;
    padding-bottom: 55px;
    font-size: 15px;
  }
  .about-page-title__txt .--ls {
    letter-spacing: -0.2em;
  }
}

.about-nav {
  position: relative;
  z-index: 5;
}
.about-nav .m-localNavi {
  margin-top: 0;
}

.--style-v {
  margin: 0;
  padding-bottom: 14px;
  display: inline-block;
  border-bottom: 3px solid #000;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .--style-v {
    padding-bottom: 11px;
    font-size: 14px;
    letter-spacing: 0;
  }
}
.--style-v::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_v.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 15px;
  height: 13px;
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.--style-v .st1 {
  display: inline-block;
  position: relative;
  z-index: 1;
}
.--style-v .st1::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 0.6em;
  background-color: #eae851;
  position: absolute;
  bottom: -0.2em;
  left: 0;
  z-index: -1;
}

.about-sec01 {
  min-height: 500px;
}

.about-sec01 {
  padding-top: 80px;
  position: relative;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .about-sec01 {
    padding-top: 55px;
  }
}
.about-sec01::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/bg_round_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 1755px;
  height: 1004px;
  position: absolute;
  top: -73px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
@media all and (max-width: 767px) {
  .about-sec01::after {
    background-image: url(./images/about/bg_round_01_sp.png);
    width: 697px;
    height: 252px;
    top: -125px;
  }
}
.about-sec01__heading {
  margin: 0 0 90px;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 65px;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .about-sec01__heading {
    margin-bottom: 40px;
    font-size: 42px;
  }
}
.about-sec01__heading .st1 {
  font-size: 49px;
}
@media all and (max-width: 767px) {
  .about-sec01__heading .st1 {
    font-size: 31px;
  }
}
.about-sec01__heading .st2 {
  display: inline-block;
  color: #fff;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  position: relative;
  z-index: -1;
}
.about-sec01__heading .st2::after {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_heading_lv2_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 152px;
  height: 107px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  z-index: -2;
}
@media all and (max-width: 767px) {
  .about-sec01__heading .st2::after {
    width: 93px;
    height: 67px;
    top: calc(50% + 2px);
  }
}
.about-sec01__main-box {
  margin-top: 30px;
  width: 601px;
  height: 278px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box {
    width: 100%;
    max-width: 335px;
    height: auto;
  }
}
.about-sec01__main-box::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/bg_charm_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 601px;
  height: 278px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box::after {
    background-image: url(./images/about/bg_charm_01_sp.png);
    width: 100%;
    max-width: 335px;
    height: 208px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.about-sec01__main-box.--01 {
  padding: 28px 30px 0 36px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 {
    margin: 33px auto 0;
    padding: 28px 5px 0;
    max-width: 335px;
    justify-content: space-between;
  }
}
.about-sec01__main-box.--01 .txt-01 {
  margin: 0 0 12px;
  line-height: 1;
  text-align: center;
  margin-inline: auto;
}
.about-sec01__main-box.--01 .txt-01__01 {
  margin-right: 20px;
  padding-bottom: 18px;
  display: inline-block;
  font-size: 38px;
  font-weight: 700;
  position: relative;
  transform: translateY(-15px);
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-01__01 {
    margin-right: 14px;
    padding-bottom: 12px;
    font-size: 24px;
  }
}
.about-sec01__main-box.--01 .txt-01__01::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_nami.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 108px;
  height: 7px;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-01__01::after {
    width: 70px;
    height: 4px;
  }
}
.about-sec01__main-box.--01 .txt-01__02 {
  color: #109471;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 80px;
  font-weight: 700;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-01__02 {
    font-size: 48px;
  }
  .about-sec01__main-box.--01 .txt-01__02 span {
    font-size: 33px;
  }
}
.about-sec01__main-box.--01 .txt-01__03 {
  font-size: 28px;
  font-weight: 700;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-01__03 {
    font-size: 16px;
  }
}
.about-sec01__main-box.--01 .txt-02 {
  margin-right: 28px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-02 {
    margin-right: 10px;
    flex-direction: column;
    height: 80px;
    margin-left: 12px;
  }
}
.about-sec01__main-box.--01 .txt-02__01 {
  margin-right: 9px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.1;
  text-align: right;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-02__01 {
    order: 2;
    margin: 0;
    font-size: 14px;
  }
}
.about-sec01__main-box.--01 .txt-02__02 {
  margin-right: 9px;
  width: 108px;
  height: 108px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-02__02 {
    order: 1;
    width: 74px;
    height: 74px;
  }
}
.about-sec01__main-box.--01 .txt-02__02 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.about-sec01__main-box.--01 .txt-02__03 {
  margin: 0;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-02__03 {
    order: 3;
    margin-top: 7px;
  }
}
.about-sec01__main-box.--01 .txt-02__03 .st1 {
  font-size: 18px;
  font-weight: 700;
  position: relative;
  bottom: 10px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-02__03 .st1 {
    font-size: 14px;
  }
}
.about-sec01__main-box.--01 .txt-02__03 .st2 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 68px;
  font-weight: 700;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-02__03 .st2 {
    font-size: 48px;
  }
}
.about-sec01__main-box.--01 .txt-02__03 .st3 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 32px;
  font-weight: 600;
  position: relative;
  right: 1px;
  bottom: 3px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-02__03 .st3 {
    font-size: 21px;
  }
}
.about-sec01__main-box.--01 .txt-03 {
  margin-top: 10px;
  width: 160px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-03 {
    margin: 0;
    width: 97px;
    margin-right: 12px;
  }
}
.about-sec01__main-box.--01 .txt-03__01 {
  margin: 0;
  padding: 5px 0;
  width: 100%;
  border: 2px solid #5f5f5f;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-03__01 {
    padding: 3px 0 4px;
    font-size: 13px;
  }
}
.about-sec01__main-box.--01 .txt-03__02 {
  margin: 18px 0 0;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-03__02 {
    margin-top: 10px;
  }
}
.about-sec01__main-box.--01 .txt-03__02 .st1 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 29px;
  font-weight: 600;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-03__02 .st1 {
    font-size: 23px;
  }
}
.about-sec01__main-box.--01 .txt-03__02 .st2 {
  font-size: 16px;
  font-weight: 500;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-03__02 .st2 {
    font-size: 13px;
  }
}
.about-sec01__main-box.--01 .txt-04 {
  margin: 0;
  width: 100%;
  color: #64656f;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  letter-spacing: -1px;
  line-height: 1;
  text-align: right;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--01 .txt-04 {
    margin-top: 5px;
    font-size: 11px;
    text-align: center;
  }
}
.about-sec01__main-box.--02 {
  padding: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 {
    margin: 28px auto 0;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
  }
}
.about-sec01__main-box.--02::before {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_charm02_map.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 601px;
  height: 278px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02::before {
    width: 100%;
    height: 100%;
    background-image: url(./images/about/img_charm02_map_sp.png);
    background-size: cover;
    top: 4px;
  }
}
.about-sec01__main-box.--02 .txt-01 {
  margin: 71px 0 0 50px;
  width: 202px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-01 {
    margin: 17px 0 0 19px;
    width: 124px;
  }
}
.about-sec01__main-box.--02 .txt-01__01 {
  margin: 0;
  font-size: 38px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-01__01 {
    padding-right: 5px;
    font-size: 24px;
  }
}
.about-sec01__main-box.--02 .txt-01__02 {
  margin: 10px 0 0;
  color: #3e9388;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-01__02 {
    margin-top: 12px;
    font-size: 24px;
    letter-spacing: 0;
  }
}
.about-sec01__main-box.--02 .txt-01__02 .st1 {
  font-size: 80px;
  position: relative;
  left: 8px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-01__02 .st1 {
    font-size: 48px;
    letter-spacing: -2px;
    left: 3px;
  }
}
.about-sec01__main-box.--02 .txt-01__03 {
  margin: 0;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  text-align: right;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-01__03 {
    margin-top: 1px;
    font-size: 16px;
    letter-spacing: -1px;
  }
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-01__03 sup {
    font-size: 65%;
  }
}
.about-sec01__main-box.--02 .txt-02 {
  margin: 43px 47px 0 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-02 {
    margin: 35px 24px 0 auto;
  }
}
.about-sec01__main-box.--02 .txt-02__01 {
  margin: 0;
  padding: 10px 0;
  display: inline-block;
  width: 115px;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-02__01 {
    padding: 6px 0;
    width: 75px;
    font-size: 13px;
  }
}
.about-sec01__main-box.--02 .txt-02__01 .st1 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 18px;
  letter-spacing: 0;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-02__01 .st1 {
    font-size: inherit;
  }
}
.about-sec01__main-box.--02 .txt-02__01 {
  display: none;
}
.about-sec01__main-box.--02 .txt-02__02 {
  margin: 60px 0 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  flex-direction: row;
  flex-wrap: wrap;
  width: 94px;
  line-height: 1;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-02__02 {
    margin-top: 35px;
    width: 62px;
  }
}
.about-sec01__main-box.--02 .txt-02__02::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_charm02_graph.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 108px;
  height: 108px;
  position: absolute;
  top: -31px;
  left: -61px;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-02__02::after {
    width: 70px;
    height: 70px;
    background-image: url(./images/about/img_charm02_graph_sp.png);
    top: -22px;
    left: -34px;
  }
}
.about-sec01__main-box.--02 .txt-02__02 .st1 {
  font-size: 16px;
  font-weight: 500;
  position: absolute;
  top: 8px;
  left: -2px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-02__02 .st1 {
    font-size: 11px;
    top: 5px;
    left: -1px;
  }
}
.about-sec01__main-box.--02 .txt-02__02 .st2 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 68px;
  font-weight: 700;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-02__02 .st2 {
    font-size: 44px;
  }
}
.about-sec01__main-box.--02 .txt-02__02 .st3 {
  margin-left: 3px;
  font-size: 20px;
  font-weight: 600;
  writing-mode: vertical-rl;
  letter-spacing: 0;
  position: relative;
  bottom: 7px;
  left: 2px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-02__02 .st3 {
    font-size: 13px;
    bottom: 4px;
    left: 1px;
  }
}
.about-sec01__main-box.--02 .txt-02__02 .st4 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 68px;
  font-weight: 700;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-02__02 .st4 {
    font-size: 44px;
  }
}
.about-sec01__main-box.--02 .txt-02__02 {
  display: none;
}
.about-sec01__main-box.--02 .txt-03 {
  margin: 20px 0 0;
  color: #64656f;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  letter-spacing: -1px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--02 .txt-03 {
    margin: 28px 0 0;
    font-size: 11px;
  }
}
.about-sec01__main-box.--02 .txt-03 {
  position: absolute;
  bottom: 10px;
  right: 0;
}
@media all and (min-width: 768px) {
  .about-sec01__main-box.--02 .txt-03 {
    bottom: 20px;
    right: 40px;
  }
}
.about-sec01__main-box.--03 {
  padding: 40px 38px 14px 45px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  height: 614px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 {
    margin: 30px auto 0;
    padding: 23px 0 0;
    width: 335px;
    height: 391px;
  }
}
.about-sec01__main-box.--03::after {
  height: 100%;
  background-image: url(./images/about/bg_charm_03.png);
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03::after {
    background-image: url(./images/about/bg_charm_03_sp.png);
  }
}
.about-sec01__main-box.--03 .txt-heading {
  margin: 0 0 30px;
  width: 100%;
  font-size: 38px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-heading {
    margin-bottom: 18px;
    font-size: 24px;
  }
}
.about-sec01__main-box.--03 .txt-wrap__title {
  margin: 0;
  width: 100%;
  font-size: 28px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap__title {
    font-size: 18px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 {
  padding-bottom: 28px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 36px;
  width: 100%;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 {
    padding-bottom: 17px;
    justify-content: center;
    gap: 25px;
  }
  .about-sec01__main-box.--03 .txt-wrap.--01 > .txt-wrap__cell:nth-child(1) {
    padding-top: 3px;
    width: 180px;
  }
  .about-sec01__main-box.--03 .txt-wrap.--01 > .txt-wrap__cell:nth-child(2) {
    width: 80px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-01 {
  margin: 20px 0 0 25px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 32px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-01 {
    gap: 7px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-01__01 {
  width: 43px;
  height: 83px;
  position: relative;
  top: 8px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-01__01 {
    width: 23px;
    height: 44px;
    top: 5px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-01__02 {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-01__02 {
    font-size: 18px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-01__02 .st1 {
  color: #3c906b;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 101px;
  font-weight: 700;
  letter-spacing: -4px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-01__02 .st1 {
    font-size: 55px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-01__02 .st2 {
  color: #3c906b;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 41px;
  font-weight: 700;
  letter-spacing: 0;
  position: relative;
  right: 9px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-01__02 .st2 {
    font-size: 20px;
    right: 5px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-02 {
  margin-top: 22px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-02 {
    margin-top: 9px;
    gap: 14px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  font-size: 16px;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt {
    font-size: 10px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt .st1 {
  margin-right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 40px;
  height: 40px;
  border: 1px dotted #000;
  border-radius: 100%;
  font-size: 18px;
  font-weight: 600;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt .st1 {
    margin-right: 6px;
    padding: 0 1px 1px 0;
    width: 26px;
    height: 26px;
    font-size: 11px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt .st2 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt .st2 {
    font-size: 15px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt .st3 {
  margin: 0 3px 0 2px;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 24px;
  font-weight: 500;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt .st3 {
    margin-left: 1px;
    font-size: 15px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt .st4 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1px;
  position: relative;
  top: 1px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt .st4 {
    margin-left: 1px;
    font-size: 10px;
  }
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt .st5 {
    margin-top: 1px;
    display: inline-block;
    width: 100%;
    font-weight: 500;
    text-align: right;
  }
}
@media all and (min-width: 768px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-02__txt .st-sp-wrap {
    display: contents;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-03 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-03 {
    font-size: 10px;
    letter-spacing: 0;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-03 .st1 {
  margin-right: 1px;
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-03 .st2 {
  color: #ac2816;
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-03 .st3 {
  color: #384baa;
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-03 .st1, .about-sec01__main-box.--03 .txt-wrap.--01 .cell-03 .st2, .about-sec01__main-box.--03 .txt-wrap.--01 .cell-03 .st3 {
  font-size: 24px;
  position: relative;
  top: 2px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-03 .st1, .about-sec01__main-box.--03 .txt-wrap.--01 .cell-03 .st2, .about-sec01__main-box.--03 .txt-wrap.--01 .cell-03 .st3 {
    font-size: 14px;
    letter-spacing: -1px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--01 .cell-04 {
  margin-top: 15px;
  width: 128px;
  height: 123px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--01 .cell-04 {
    margin-top: 10px;
    width: 82px;
    height: 79px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--02 {
  padding-top: 28px;
  width: 50%;
  position: relative;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--02 {
    padding-top: 16px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--02::before {
  content: "";
  display: inline-block;
  width: calc(100% - 20px);
  height: 2px;
  background-color: #cacaca;
  position: absolute;
  top: 0;
  left: 10px;
}
.about-sec01__main-box.--03 .txt-wrap.--02 .cell-01 {
  margin-top: 26px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--02 .cell-01 {
    margin-top: 18px;
    justify-content: center;
    gap: 9px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--02 .cell-01__01 {
  width: 51px;
  height: 68px;
  position: relative;
  bottom: 7px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--02 .cell-01__01 {
    width: 28px;
    height: 37px;
    bottom: 9px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--02 .cell-01__02 {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  text-align: right;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--02 .cell-01__02 {
    font-size: 15px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--02 .cell-01__02 .st1 {
  color: #0e8895;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 71px;
  font-weight: 700;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--02 .cell-01__02 .st1 {
    font-size: 42px;
    letter-spacing: -1px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--02 .cell-01__02 .st2 {
  color: #0e8895;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 2px;
  position: relative;
  right: 9px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--02 .cell-01__02 .st2 {
    font-size: 21px;
    letter-spacing: 1px;
    right: 5px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--02 .cell-01__02 .st3 {
  letter-spacing: -1px;
  position: relative;
  right: 10px;
  bottom: 10px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--02 .cell-01__02 .st3 {
    letter-spacing: 0;
    right: 7px;
    bottom: 7px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--02 .cell-02 {
  margin: 5px 0 0;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--02 .cell-02 {
    margin: 0;
    font-size: 12px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--02 .cell-02 .st1 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
}
.about-sec01__main-box.--03 .txt-wrap.--03 {
  padding: 28px 0 0 20px;
  width: 50%;
  position: relative;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--03 {
    padding: 16px 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--03::before {
  content: "";
  display: inline-block;
  width: calc(100% - 20px);
  height: 2px;
  background-color: #cacaca;
  position: absolute;
  top: 0;
  left: 10px;
}
.about-sec01__main-box.--03 .txt-wrap.--03::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 100%;
  background-color: #cacaca;
  position: absolute;
  top: 0;
  left: 0;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--03::after {
    height: calc(100% - 42px);
    top: 20px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-01 {
  margin-top: 20px;
  position: relative;
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-01__01 {
  width: 40px;
  height: 40px;
  position: absolute;
  top: -16px;
  right: 10px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--03 .cell-01__01 {
    width: 23px;
    height: 23px;
    top: -18px;
    right: 0;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-01__02 {
  margin: 0;
  line-height: 1;
  display: flex;
  align-items: baseline;
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-01__02 .st1 {
  color: #e3881c;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 71px;
  font-weight: 700;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--03 .cell-01__02 .st1 {
    font-size: 42px;
  }
  .about-sec01__main-box.--03 .txt-wrap.--03 .cell-01__02 .st1 .st1-s {
    margin: 0 1px;
    font-size: 24px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-01__02 .st2 {
  color: #e3881c;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 2px;
  position: relative;
  right: 9px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--03 .cell-01__02 .st2 {
    font-size: 21px;
    right: 7px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-01__02 .st3 {
  font-size: 16px;
  font-weight: 600;
  writing-mode: vertical-rl;
  position: relative;
  right: 8px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--03 .cell-01__02 .st3 {
    font-size: 10px;
    letter-spacing: 1px;
    right: 7px;
    bottom: -2px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-02 {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--03 .cell-02 {
    gap: 3px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-02__01 {
  margin: 0;
  width: 70px;
  height: 50px;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--03 .cell-02__01 {
    width: 40px;
    height: 33px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-02__02 {
  margin: 0;
  display: inline-block;
  width: 116px;
  font-size: 15px;
  line-height: 1.2;
  text-align: center;
  position: relative;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--03 .cell-02__02 {
    width: 82px;
    font-size: 12px;
  }
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-02__02::before, .about-sec01__main-box.--03 .txt-wrap.--03 .cell-02__02::after {
  content: "";
  width: 10px;
  height: 100%;
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
  position: absolute;
  top: 0;
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-02__02::before {
  border-left: 1px solid #999;
  left: 0;
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-02__02::after {
  border-right: 1px solid #999;
  right: 0;
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-02__02 .c-en {
  letter-spacing: 0;
}
.about-sec01__main-box.--03 .txt-wrap.--03 .cell-03 {
  margin: 20px 0 0;
  width: 100%;
  color: #64656f;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  letter-spacing: -1px;
  line-height: 1;
  text-align: right;
}
@media all and (max-width: 767px) {
  .about-sec01__main-box.--03 .txt-wrap.--03 .cell-03 {
    margin-top: 10px;
    font-size: 11px;
    text-align: left;
    transform: translateX(-42px);
  }
}

.sec-charm {
  min-height: 876px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .sec-charm::before {
    content: "";
    display: inline-block;
    background-image: url(./images/about/bg_round_01_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top;
    width: 697px;
    height: 252px;
    top: 22px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: -1;
  }
}
.sec-charm::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/bg_round_02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 1427px;
  height: 876px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
@media all and (max-width: 767px) {
  .sec-charm::after {
    background-image: url(./images/about/bg_round_02_sp.png);
    width: 697px;
    height: 252px;
    top: auto;
    bottom: -50px;
  }
}
@media all and (max-width: 767px) {
  .sec-charm.--01::after, .sec-charm.--02::after {
    content: none;
  }
}
.sec-charm__head {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  min-height: 400px;
}
@media all and (max-width: 767px) {
  .sec-charm__head {
    padding-bottom: 20px;
    min-height: auto;
  }
}
@media all and (min-width: 768px) {
  .sec-charm__head__wrap:nth-child(1) {
    padding-left: 21px;
    padding-right: 38px;
    width: 653px;
  }
}
@media all and (max-width: 767px) {
  .sec-charm__head__wrap {
    width: 100%;
  }
}
.sec-charm__heading {
  padding-top: 72px;
  width: 100%;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .sec-charm__heading {
    padding-top: 60px;
  }
}
.sec-charm__heading__title {
  padding-top: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 150px;
  height: 150px;
  position: absolute;
  top: 0;
  left: -2px;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .sec-charm__heading__title {
    width: 90px;
    height: 90px;
  }
}
.sec-charm__heading__title::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/bg_charm_head_heading.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.sec-charm__heading__title .title-en {
  margin: 0;
  color: #2a2b32;
  font-family: "Lexend Tera", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  text-align: right;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .sec-charm__heading__title .title-en {
    font-size: 8px;
    letter-spacing: -1px;
  }
}
.sec-charm__heading__title .title-en::before, .sec-charm__heading__title .title-en::after {
  content: "";
  width: 2px;
  height: 22px;
  border-radius: 2px;
  position: absolute;
  top: 20px;
  left: 9px;
}
@media all and (max-width: 767px) {
  .sec-charm__heading__title .title-en::before, .sec-charm__heading__title .title-en::after {
    height: 15px;
    top: 11px;
    left: 7px;
  }
}
.sec-charm__heading__title .title-en::before {
  background-color: #2a2b32;
  transform: rotate(-45deg);
  z-index: 2;
}
.sec-charm__heading__title .title-en::after {
  background-color: #e70072;
  transform: rotate(45deg);
  z-index: 3;
}
.sec-charm__heading__title .title-num {
  margin: 8px 0 0;
  width: 86px;
  color: #fff;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 56px;
  font-weight: 700;
  line-height: 1;
  text-align: right;
  -webkit-text-stroke: 3px #2a2b32;
  text-stroke: 3px #2a2b32;
  paint-order: stroke;
}
@media all and (max-width: 767px) {
  .sec-charm__heading__title .title-num {
    margin-top: 4px;
    width: 55px;
    font-size: 34px;
    letter-spacing: 0;
  }
}
.sec-charm__heading__txt {
  margin: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 18px;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 74px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-align: right;
}
@media all and (max-width: 767px) {
  .sec-charm__heading__txt {
    gap: 10px;
    font-size: 42px;
    letter-spacing: -1px;
  }
}
.sec-charm__heading__txt .st1 {
  padding: 0 7px 3px 10px;
  display: inline-block;
  background-color: #109471;
  color: #fff;
  font-size: 66px;
  letter-spacing: 0;
  line-height: 0.9;
}
@media all and (max-width: 767px) {
  .sec-charm__heading__txt .st1 {
    font-size: 38px;
  }
}
.sec-charm__intro {
  margin: 20px 0 0;
  padding-left: 5px;
  width: 100%;
  font-size: 18px;
  letter-spacing: -1.2px;
  line-height: 1.9;
  text-align: left;
}
@media all and (max-width: 767px) {
  .sec-charm__intro {
    padding-inline: 5px;
    font-size: 15px;
    font-weight: 500;
  }
}
.sec-charm__list-box {
  margin: 50px 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 24px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box {
    margin-top: 20px;
    gap: 20px;
  }
}
.sec-charm__list-box__item {
  padding-top: 20px;
  height: 290px;
  background-color: #fff;
  border: 2px solid #5f5f5f;
  border-radius: 20px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item {
    width: 100%;
    height: auto;
    border-radius: 15px;
  }
}
.sec-charm__list-box__item.--01 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  width: 280px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--01 {
    padding-bottom: 20px;
    width: 100%;
  }
}
.sec-charm__list-box__item.--01 .item-01 {
  width: 230px;
}
.sec-charm__list-box__item.--01 .item-02 {
  margin-top: 36px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--01 .item-02 {
    align-items: flex-start;
    margin-top: 20px;
  }
}
.sec-charm__list-box__item.--01 .item-02__01 {
  margin: 0;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.1;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--01 .item-02__01 {
    font-size: 24px;
  }
  .sec-charm__list-box__item.--01 .item-02__01 span {
    font-size: 20px;
  }
}
.sec-charm__list-box__item.--01 .item-02__02 {
  width: 106px;
  height: 65px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--01 .item-02__02 {
    width: 145px;
    height: 21px;
  }
}
.sec-charm__list-box__item.--01 .item-02__02 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.sec-charm__list-box__item.--01 .item-03 {
  margin: 22px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 230px;
  height: 68px;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--01 .item-03 {
    margin-top: 16px;
    width: 286px;
    height: 35px;
    font-size: 13px;
  }
}
.sec-charm__list-box__item.--01 .item-03::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/bg_charm_02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 230px;
  height: 68px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--01 .item-03::after {
    width: 288px;
    height: 38px;
    background-image: url(./images/about/bg_charm_02_sp.png);
  }
}
.sec-charm__list-box__item.--02 {
  padding-right: 27px;
  padding-left: 27px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  width: 572px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 {
    padding: 20px 0 16px;
    justify-content: center;
    width: 100%;
    column-gap: 9px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-01 {
  width: 300px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--01 .item-01 {
    width: 146px;
    font-size: 14px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-02 {
  margin: 20px 0 0;
  font-size: 38px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--01 .item-02 {
    font-size: 24px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-03 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__01 {
  margin: 0 6px 2px 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-align: right;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__01 {
    font-size: 10px;
    margin: 0;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__01 .st1 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__01 .st1 {
    font-size: 15px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__01 .st2 {
  font-size: 14px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__01 .st2 {
    font-size: 9px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__02 {
  margin: 0 11px 0 0;
  color: #e3881c;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 41px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  position: relative;
  top: 7px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__02 {
    font-size: 20px;
    margin-right: 3px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__02 .st1 {
  font-size: 85px;
  position: relative;
  left: 6px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__02 .st1 {
    font-size: 46px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__03 {
  margin: 0 6px 0 0;
  font-size: 18px;
  font-weight: 600;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__03 {
    font-size: 12px;
    margin-right: 3px;
    margin-bottom: -3px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__04 {
  margin: 0;
  width: 70px;
  height: 51px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__04 {
    width: 49px;
    height: 36px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-03__04 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.sec-charm__list-box__item.--02 .item-wrap.--01 .item-04 {
  margin: 18px 0 0;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  letter-spacing: -1px;
  line-height: 1;
}
.sec-charm__list-box__item.--02 .item-wrap.--02 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  width: 192px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--02 {
    width: 134px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--02 .item-01 {
  padding: 5px 0 6px;
  width: 118px;
  border-top: 3px solid #000;
  text-align: center;
}
.sec-charm__list-box__item.--02 .item-wrap.--02 .item-02 {
  margin-top: 20px;
  width: 191px;
  height: 120px;
  position: relative;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--02 .item-02 {
    width: 133px;
    height: 80px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--02 .item-02__01 {
  margin: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.sec-charm__list-box__item.--02 .item-wrap.--02 .item-02__01 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.sec-charm__list-box__item.--02 .item-wrap.--02 .item-02__02 {
  margin: 0;
  padding-top: 60px;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--02 .item-02__02 {
    padding-top: 36px;
    font-size: 12px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--02 .item-03 {
  margin: -16px 0 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--02 .item-03 {
    margin-top: -10px;
    font-size: 12px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--02 .item-03 .st1 {
  margin-right: 7px;
  padding: 5px 0 6px;
  display: inline-block;
  width: 55px;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--02 .item-03 .st1 {
    margin-right: 5px;
    padding: 4px 0 5px;
    width: 38px;
    font-size: 10px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--02 .item-03 .st2 {
  margin-right: 2px;
  display: inline-block;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 48px;
  font-weight: 700;
  position: relative;
  top: 9px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--02 .item-03 .st2 {
    font-size: 33px;
    top: 5px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--02 .item-03 .st3 {
  margin-right: 1px;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 26px;
  font-weight: 700;
  position: relative;
  top: 5px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--02 .item-03 .st3 {
    font-size: 16px;
    top: 2px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--02 .item-03 .st4 {
  position: relative;
  top: 3px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--02 .item-03 .st4 {
    top: 1px;
  }
}
.sec-charm__list-box__item.--02 .item-wrap.--03 {
  margin: 16px 0 0;
  width: 100%;
  color: #64656f;
  font-size: 13px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--02 .item-wrap.--03 {
    margin-top: 9px;
    font-size: 11px;
  }
}
.sec-charm__list-box__item.--03 {
  padding-right: 27px;
  padding-left: 27px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  width: 354px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 {
    padding: 18px 0 16px;
    width: 100%;
  }
}
.sec-charm__list-box__item.--03 .item-01 {
  width: 300px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-01 {
    width: 129px;
  }
}
@media all and (min-width: 768px) {
  .sec-charm__list-box__item.--03 .item-sp-wrap {
    display: contents;
  }
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-sp-wrap {
    margin-top: 14px;
    display: flex;
    align-items: center;
    flex-direction: row;
  }
}
.sec-charm__list-box__item.--03 .item-02 {
  margin: 20px 0 0;
  font-size: 38px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-02 {
    margin: 5px 6px 0 0;
    font-size: 24px;
  }
}
.sec-charm__list-box__item.--03 .item-03 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
.sec-charm__list-box__item.--03 .item-03__01 {
  margin: 0 6px 2px 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-align: right;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-03__01 {
    margin: 0 4px 0 0;
    font-size: 10px;
  }
}
.sec-charm__list-box__item.--03 .item-03__01 .st1 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-03__01 .st1 {
    font-size: 15px;
  }
}
.sec-charm__list-box__item.--03 .item-03__01 .st2 {
  font-size: 14px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-03__01 .st2 {
    font-size: 9px;
  }
}
.sec-charm__list-box__item.--03 .item-03__02 {
  margin: 0 11px 0 0;
  color: #e46679;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 41px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  position: relative;
  top: 7px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-03__02 {
    margin-right: 2px;
    font-size: 20px;
  }
}
.sec-charm__list-box__item.--03 .item-03__02 .st1 {
  font-size: 85px;
  position: relative;
  left: 5px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-03__02 .st1 {
    font-size: 46px;
    left: 2px;
  }
}
.sec-charm__list-box__item.--03 .item-03__03 {
  margin: 0 13px 0 0;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 1px;
  writing-mode: vertical-rl;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-03__03 {
    margin-right: 3px;
    font-size: 13px;
    letter-spacing: 0;
    position: relative;
    top: 2px;
  }
}
.sec-charm__list-box__item.--03 .item-03__04 {
  margin: 0;
  width: 70px;
  height: 51px;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-03__04 {
    width: 49px;
    height: 36px;
    position: relative;
    top: 2px;
  }
}
.sec-charm__list-box__item.--03 .item-03__04 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.sec-charm__list-box__item.--03 .item-04 {
  margin: 18px 0 0;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  letter-spacing: -1px;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-04 {
    margin-top: 16px;
    font-size: 12px;
  }
}
.sec-charm__list-box__item.--03 .item-05 {
  margin: 16px 0 0;
  width: 100%;
  color: #64656f;
  font-size: 13px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__list-box__item.--03 .item-05 {
    margin-top: 10px;
    font-size: 11px;
  }
}
.sec-charm.--02 .sec-charm__heading__txt {
  gap: 2px;
}
.sec-charm.--02 .sec-charm__heading__txt .st1 {
  margin-top: 10px;
}
@media all and (max-width: 767px) {
  .sec-charm.--03 .sec-charm__head__wrap:nth-child(1) {
    display: contents;
  }
  .sec-charm.--03 .sec-charm__head__wrap:nth-child(1) .sec-charm__heading {
    order: 1;
  }
  .sec-charm.--03 .sec-charm__head__wrap:nth-child(1) .sec-charm__intro {
    order: 2;
  }
  .sec-charm.--03 .sec-charm__head__wrap:nth-child(1) .sec-charm__box {
    order: 4;
  }
  .sec-charm.--03 .sec-charm__head__wrap:nth-child(2) {
    order: 3;
  }
}
.sec-charm__photo {
  margin: 50px 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 24px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo {
    margin: 10px 0 60px;
    gap: 20px;
  }
}
.sec-charm__photo__item {
  width: 402px;
  height: 288px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item {
    width: 100%;
    height: auto;
    aspect-ratio: 1/0.559;
  }
}
.sec-charm__photo__item .item-01 {
  margin: 0;
  padding: 0 0 20px 25px;
  font-size: 72px;
  font-weight: 600;
  line-height: 1;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item .item-01 {
    padding: 0 0 12px 13px;
    font-size: 45px;
  }
}
.sec-charm__photo__item .item-02 {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 165px;
  height: 127px;
  position: absolute;
  top: -10px;
  right: -14px;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item .item-02 {
    width: 128px;
    height: 96px;
    line-height: 1.3;
    top: -5px;
    right: 11px;
  }
}
.sec-charm__photo__item .item-02::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_baloon.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.sec-charm__photo__item .item-03 {
  margin: 0;
  position: absolute;
  bottom: 13px;
  left: 140px;
}
.sec-charm__photo__item .item-img {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item .item-img {
    border-radius: 9px;
  }
}
.sec-charm__photo__item .item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.sec-charm__photo__item .item-img::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom left;
  width: 130px;
  height: 120px;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item .item-img::before {
    width: 77px;
    height: 71px;
  }
}
.sec-charm__photo__item.--01 .item-02 {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -1px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--01 .item-02 {
    padding-top: 3px;
    font-size: 13px;
    letter-spacing: 0;
  }
}
.sec-charm__photo__item.--01 .item-02 .st1 {
  font-size: 21px;
  letter-spacing: -2px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--01 .item-02 .st1 {
    font-size: 16px;
  }
}
.sec-charm__photo__item.--01 .item-02 .st2 {
  letter-spacing: -4px;
}
.sec-charm__photo__item.--01 .item-img::before {
  background-image: url(./images/about/img_nature_01.png);
}
.sec-charm__photo__item.--02 .item-02 {
  padding: 6px 4px 0 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.2;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--02 .item-02 {
    font-size: 11px;
    letter-spacing: 0;
  }
}
.sec-charm__photo__item.--02 .item-02 .st1 {
  font-size: 16px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--02 .item-02 .st1 {
    font-size: 12px;
  }
}
.sec-charm__photo__item.--02 .item-02 .st2 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 20px;
  font-weight: 700;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--02 .item-02 .st2 {
    font-size: 16px;
  }
}
.sec-charm__photo__item.--02 .item-02 .st3 {
  color: #257cc6;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 28px;
  font-weight: 700;
  position: relative;
  top: 2px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--02 .item-02 .st3 {
    font-size: 23px;
  }
}
.sec-charm__photo__item.--02 .item-03 {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  left: 135px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--02 .item-03 {
    font-size: 16px;
    letter-spacing: -1px;
    left: 92px;
  }
}
.sec-charm__photo__item.--02 .item-03 .st1 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
  position: relative;
  top: 2px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--02 .item-03 .st1 {
    font-size: 23px;
  }
}
.sec-charm__photo__item.--02 .item-03 .st2 {
  font-size: 14px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--02 .item-03 .st2 {
    margin-left: 1px;
    font-size: 12px;
    letter-spacing: 0;
  }
}
.sec-charm__photo__item.--02 .item-03 .st3 {
  margin: 0 1px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--02 .item-03 .st4 {
    margin-left: 1px;
    letter-spacing: 0;
  }
}
.sec-charm__photo__item.--02 .item-img::before {
  background-image: url(./images/about/img_nature_02.png);
}
.sec-charm__photo__item.--03 .item-02 {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--03 .item-02 {
    padding-top: 2px;
    font-size: 12px;
    letter-spacing: -1px;
  }
}
.sec-charm__photo__item.--03 .item-02 .st1 {
  font-size: 20px;
  letter-spacing: -1px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--03 .item-02 .st1 {
    font-size: 16px;
  }
}
.sec-charm__photo__item.--03 .item-03 {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.2;
  text-align: center;
  left: 145px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--03 .item-03 {
    font-size: 13px;
    left: 92px;
  }
}
.sec-charm__photo__item.--03 .item-03 .st1 {
  margin-right: 1px;
  font-size: 18px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--03 .item-03 .st1 {
    font-size: 16px;
  }
}
.sec-charm__photo__item.--03 .item-03 .st2 {
  margin: 0 2px 0 3px;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 1px;
  position: relative;
  top: 3px;
}
@media all and (max-width: 767px) {
  .sec-charm__photo__item.--03 .item-03 .st2 {
    font-size: 24px;
  }
}
.sec-charm__photo__item.--03 .item-img::before {
  background-image: url(./images/about/img_nature_03.png);
}
.sec-charm__box {
  margin: 30px auto 0;
  padding: 25px 20px 15px;
  width: 627px;
  height: 290px;
  background-color: #fff;
  border: 2px solid #5f5f5f;
  border-radius: 20px;
  transform: translateX(-21px);
}
@media all and (max-width: 767px) {
  .sec-charm__box {
    padding: 15px 20px;
    width: 100%;
    max-width: 335px;
    height: auto;
    transform: unset;
  }
}
.sec-charm__box__title {
  margin: 0;
  font-size: 38px;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .sec-charm__box__title {
    font-size: 24px;
  }
}
.sec-charm__box__list {
  margin-top: 25px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 80px;
}
@media all and (max-width: 767px) {
  .sec-charm__box__list {
    margin-top: 18px;
    gap: 20px 40px;
  }
}
.sec-charm__box__list .list-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: center;
}
@media all and (max-width: 767px) {
  .sec-charm__box__list .list-item {
    width: 59px;
  }
}
.sec-charm__box__list .list-item__img {
  width: 100px;
  height: 100px;
}
@media all and (max-width: 767px) {
  .sec-charm__box__list .list-item__img {
    width: 59px;
    height: 59px;
  }
}
.sec-charm__box__list .list-item__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.sec-charm__box__list .list-item__txt {
  margin: 10px 0 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
}
@media all and (max-width: 767px) {
  .sec-charm__box__list .list-item__txt {
    font-size: 13px;
  }
}
.sec-charm__box__list .list-item__txt .st1 {
  font-size: 24px;
}
@media all and (max-width: 767px) {
  .sec-charm__box__list .list-item__txt .st1 {
    font-size: 17px;
  }
}

.sec-miryoku {
  margin-top: 90px;
}
@media all and (max-width: 767px) {
  .sec-miryoku {
    margin-top: 120px;
  }
}
.sec-miryoku__heading {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  line-height: 1;
  text-align: center;
}
.sec-miryoku__heading__01 {
  padding: 0 62px;
  display: inline-block;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 65px;
  font-weight: 500;
  letter-spacing: 0;
  position: relative;
}
@media all and (max-width: 767px) {
  .sec-miryoku__heading__01 {
    padding: 0;
    font-size: 42px;
    line-height: 1.1;
  }
}
.sec-miryoku__heading__01::before, .sec-miryoku__heading__01::after {
  content: "";
  display: inline-block;
  width: 3px;
  height: 82px;
  background-color: #e70072;
  border-radius: 3px;
  position: absolute;
  top: 0;
}
@media all and (max-width: 767px) {
  .sec-miryoku__heading__01::before, .sec-miryoku__heading__01::after {
    height: 60px;
    top: -6px;
  }
}
.sec-miryoku__heading__01::before {
  transform: rotate(-45deg);
  left: 33px;
}
@media all and (max-width: 767px) {
  .sec-miryoku__heading__01::before {
    left: 25px;
  }
}
.sec-miryoku__heading__01::after {
  transform: rotate(45deg);
  right: 33px;
}
@media all and (max-width: 767px) {
  .sec-miryoku__heading__01::after {
    right: 25px;
  }
}
.sec-miryoku__heading__01 .st1 {
  color: #fff;
  font-size: 65px;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  letter-spacing: 3px;
  position: relative;
  left: 2px;
}
@media all and (max-width: 767px) {
  .sec-miryoku__heading__01 .st1 {
    font-size: 42px;
  }
}
.sec-miryoku__heading__01 .st1::after {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_heading_lv2_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 152px;
  height: 107px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  z-index: -2;
}
@media all and (max-width: 767px) {
  .sec-miryoku__heading__01 .st1::after {
    width: 98px;
    height: 69px;
  }
}
.sec-miryoku__heading__01 .st2 {
  font-size: 49px;
}
@media all and (max-width: 767px) {
  .sec-miryoku__heading__01 .st2 {
    font-size: 31px;
  }
}
.sec-miryoku__heading__02 {
  margin-top: 26px;
  font-size: 38px;
  font-weight: 600;
  letter-spacing: 0;
}
@media all and (max-width: 767px) {
  .sec-miryoku__heading__02 {
    margin-top: 20px;
    font-size: 24px;
  }
}
@media all and (min-width: 768px) {
  .sec-miryoku__slider {
    display: contents;
  }
}
@media all and (max-width: 767px) {
  .sec-miryoku__slider {
    margin: 40px auto 0;
    max-width: calc(100% - 40px);
    position: relative;
  }
}
@media all and (min-width: 768px) {
  .sec-miryoku__slider__btn {
    display: none !important;
  }
}
@media all and (max-width: 767px) {
  .sec-miryoku__slider__btn {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    height: 0;
    position: absolute;
    top: calc(50% - 20px);
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: -10px;
    z-index: 2;
  }
  .sec-miryoku__slider__btn .btn-item {
    padding: 0;
    width: 43px;
    height: 33px;
    transition: 0.3s;
  }
  .sec-miryoku__slider__btn .btn-item--prev img {
    transform: rotate(180deg);
  }
  .sec-miryoku__slider__btn .btn-item.swiper-button-disabled {
    opacity: 0;
  }
}
@media all and (min-width: 768px) {
  .sec-miryoku__slider__scrollbar {
    display: none !important;
  }
}
.sec-miryoku__slider__scrollbar {
  margin-top: 20px;
  width: 100%;
  height: 4px;
  background-color: #bcbfc1;
  border-radius: 2px;
}
.sec-miryoku__slider__scrollbar .swiper-scrollbar-drag {
  height: 6px;
  background: #2a2b32;
  border-radius: 4px;
  top: -1px;
}
@media all and (min-width: 768px) {
  .sec-miryoku__list {
    margin: 56px auto 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 40px 0;
    width: 100%;
    max-width: 1350px;
    pointer-events: none;
  }
}
.sec-miryoku__list__item {
  padding: 0 0 30px 22px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row-reverse;
  flex-wrap: nowrap;
  width: 25%;
  min-width: 290px;
  height: auto;
  aspect-ratio: 1/1.254;
}
.sec-miryoku__list__item .item-title {
  margin: 0;
  padding: 18px;
  display: inline-block;
  color: #000;
  background-color: #fff;
  border-top: 1px solid #aaaaaa;
  border-right: 1px solid #aaaaaa;
  filter: drop-shadow(0px 2px 0px #aaaaaa) drop-shadow(-0.5px 0px 0px #aaaaaa);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1.3;
  writing-mode: vertical-rl;
  position: relative;
  bottom: 20px;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .sec-miryoku__list__item .item-title {
    font-size: 28px;
    bottom: 15px;
  }
}
.sec-miryoku__list__item .item-title {
  /*
  &::before,
  &::after {
    content: '';
    display: inline-block;
    width: 2px;
    height: 2px;
    filter: none !important;
    position: absolute;
    z-index: 2;
  }
  &::before {
    border-top: 1px solid #5f5f5f;
    border-right: 1px solid #5f5f5f;
    top: -1px;
    right: -1px;
  }
  &::after {
    border-bottom: 1px solid #5f5f5f;
    border-left: 1px solid #5f5f5f;
    bottom: -1px;
    left: -1px;
  }*/
}
.sec-miryoku__list__item .item-txt {
  margin: auto 0 0;
  padding-right: 28px;
  color: #fff;
  font-size: 16px;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .sec-miryoku__list__item .item-txt {
    font-size: 14px;
    letter-spacing: -1px;
  }
}
.sec-miryoku__list__item .item-txt .st1 {
  display: inline-block;
  font-size: 13px;
  line-height: 1;
}
.sec-miryoku__list__item .item-img {
  width: 100%;
  height: 100%;
  border-top: 1px solid #aaaaaa;
  border-bottom: 1px solid #aaaaaa;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.sec-miryoku__list__item .item-img::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: linear-gradient(0, rgb(0, 0, 0) 20%, transparent 70%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0.7;
}
.sec-miryoku__list__item .item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.sec-miryoku__list__item.--02 .item-title {
  padding: 0;
  display: inline-block;
  background-color: unset;
  border: none !important;
}
.sec-miryoku__list__item.--02 .item-title span {
  display: inline-block;
  background-color: #fff;
  position: relative;
}
.sec-miryoku__list__item.--02 .item-title .st1 {
  padding: 20px 20px 20px 0;
  border-top: 1px solid #aaaaaa;
  border-right: 1px solid #aaaaaa;
  z-index: 2;
}
.sec-miryoku__list__item.--02 .item-title .st2 {
  padding: 20px;
  border-top: 1px solid #aaaaaa;
  border-right: 1px solid #aaaaaa;
  left: 16px;
  z-index: 1;
}
.sec-miryoku__list__item.--02 .item-txt {
  padding: 0;
}
.sec-miryoku__list__item.--04 .item-img::after, .sec-miryoku__list__item.--06 .item-img::after, .sec-miryoku__list__item.--08 .item-img::after {
  background: linear-gradient(0, rgb(0, 0, 0) 25%, transparent 80%);
  opacity: 0.7;
}

.about-heading {
  margin: 0;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 65px;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .about-heading {
    font-size: 42px;
  }
}
.about-heading .--white {
  display: inline-block;
  color: #fff;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  position: relative;
  z-index: -1;
}
.about-heading .--white::after {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_heading_lv2_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 152px;
  height: 107px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  z-index: -2;
}
@media all and (max-width: 767px) {
  .about-heading .--white::after {
    width: 97px;
    height: 68px;
  }
}

.about-sec03 {
  margin-top: 145px;
}
@media all and (max-width: 767px) {
  .about-sec03 {
    margin-top: 100px;
  }
}
.about-sec03__txt {
  font-size: 18px;
  text-align: center;
}
@media all and (max-width: 767px) {
  .about-sec03__txt {
    margin: 20px auto;
    padding-inline: 5px;
    font-size: 15px;
    font-weight: 500;
    text-align: left;
  }
}
.about-sec03__btn {
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: fit-content;
  color: #000;
  font-weight: 600;
  text-decoration: none;
  position: relative;
  z-index: 1;
  transition: 0.3s;
  padding: 0.3em 1em;
  background: #fff;
  border: 1px solid;
  border-radius: 5em;
  cursor: pointer;
}
.about-sec03__btn:any-link {
  color: var(--color-text);
}
.about-sec03__btn:hover {
  background: #f7dc5e;
}
.about-sec03__map {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.3s;
}
.about-sec03__map.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.about-sec03__map .map-inner {
  background: #fff;
  border-radius: 4px;
  max-width: 90vw;
  max-height: 90vh;
  overflow-y: auto;
}
@media all and (min-width: 768px) {
  .about-sec03__map .map-inner {
    padding: 30px;
  }
}
.about-sec03__close {
  position: absolute;
  top: 16px;
  right: 16px;
  font-family: "Lexend Tera", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: -1px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.1rem;
  height: 6.5rem;
  background-image: url(./images/common/bg_menu_close.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  z-index: 1001;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .about-sec03__close {
    width: min(115 / var(--drawer-limit) * var(--drawer-base-vw), 115px);
    height: min(105 / var(--drawer-limit) * var(--drawer-base-vw), 105px);
  }
}

body:has(.about-sec03__map.is-active) {
  overflow: hidden;
}

@media all and (min-width: 768px) {
  .list-access {
    margin-top: 60px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 50px 30px;
  }
}
.list-access__slider-item {
  margin-bottom: 60px;
}
@media all and (min-width: 768px) {
  .list-access__slider-item {
    display: none !important;
  }
}
.list-access__slider-item__select {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
.list-access__slider-item__select .select-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 25%;
}
.list-access__slider-item__select .select-item__img {
  width: 65%;
  height: auto;
  aspect-ratio: 1/0.5;
}
.list-access__slider-item__select .select-item__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.list-access__slider-item__select .select-item__txt {
  margin: 6px 0 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}
.list-access__slider-item__scrollbar {
  margin: 16px 0 40px;
  width: 100%;
  height: 4px;
  background-color: #bcbfc1;
  border-radius: 2px;
}
.list-access__slider-item__scrollbar .swiper-scrollbar-drag {
  height: 6px;
  background: #2a2b32;
  border-radius: 4px;
  top: -1px;
}
@media all and (min-width: 768px) {
  .list-access__slider {
    display: contents;
  }
  .list-access__slider__btn {
    display: none !important;
  }
}
@media all and (max-width: 767px) {
  .list-access__slider {
    margin: 0 auto;
    width: 100%;
    max-width: 260px;
    position: relative;
  }
  .list-access__slider__btn {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    height: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 0;
    z-index: 2;
  }
  .list-access__slider__btn .btn-item {
    padding: 0;
    width: 48px;
    height: 33px;
    position: relative;
    transition: 0.3s;
  }
  .list-access__slider__btn .btn-item--prev {
    left: -40px;
  }
  .list-access__slider__btn .btn-item--prev img {
    transform: rotate(180deg);
  }
  .list-access__slider__btn .btn-item--next {
    right: -40px;
  }
  .list-access__slider__btn .btn-item.swiper-button-disabled {
    opacity: 0;
  }
}
.list-access__item {
  padding: 38px 30px;
  width: 291px;
  background: #fff;
  border: 2px solid #5f5f5f;
  border-radius: 20px;
  position: relative;
  z-index: 1;
}
@media all and (min-width: 768px) {
  .list-access__item {
    height: auto;
    display: flex;
    flex-direction: column;
  }
}
@media all and (max-width: 767px) {
  .list-access__item {
    padding: 20px 28px 40px;
    flex-grow: 1;
    height: auto;
  }
}
.list-access__item::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 50px;
  height: 50px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 2;
}
.list-access__item.--01::before {
  background-image: url(./images/about/img_access_01.png);
  width: 111px;
  height: 36px;
  top: -23px;
}
.list-access__item.--02::before {
  background-image: url(./images/about/img_access_02.png);
  width: 107px;
  height: 33px;
  top: -20px;
}
.list-access__item.--03::before {
  background-image: url(./images/about/img_access_03.png);
  width: 91px;
  height: 37px;
  top: -21px;
}
.list-access__item.--04::before {
  background-image: url(./images/about/img_access_04.png);
  width: 94px;
  height: 38px;
  top: -23px;
}
.list-access__item__title {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
}
@media all and (max-width: 767px) {
  .list-access__item__title {
    font-size: 24px;
  }
}
.list-access__item__contents {
  margin-top: 20px;
}
@media all and (max-width: 767px) {
  .list-access__item__contents {
    margin-top: 14px;
  }
}
.list-access__item__contents .item {
  padding: 10px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  border-bottom: 1px dotted #5f5f5f;
}
.list-access__item__contents .item:first-child {
  border-top: 1px dotted #5f5f5f;
}
.list-access__item__contents .item-title {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .list-access__item__contents .item-title {
    font-size: 14px;
  }
}
.list-access__item__contents .item-txt {
  display: flex;
  align-items: center;
  flex-direction: row;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .list-access__item__contents .item-txt {
    font-size: 14px;
  }
}
.list-access__item__contents .item-txt .num {
  margin: 0 1px;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 22px;
  font-weight: 700;
}
@media all and (max-width: 767px) {
  .list-access__item__contents .item-txt .num {
    font-size: 19px;
  }
}

.about-sec04 {
  margin-top: 140px;
}
@media all and (max-width: 767px) {
  .about-sec04 {
    margin-top: 90px;
  }
}
.about-sec04__heading .st2 {
  font-size: 49px;
}
@media all and (max-width: 767px) {
  .about-sec04__heading .st2 {
    font-size: 31px;
  }
}

.list-comparison {
  margin-top: 50px;
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 58px 23px;
}
@media all and (max-width: 767px) {
  .list-comparison {
    gap: 20px;
  }
}
.list-comparison__item {
  padding: 30px;
  background-color: #fff;
  border: 2px solid #5f5f5f;
  border-radius: 10px;
}
@media all and (max-width: 767px) {
  .list-comparison__item {
    padding: 20px 8px;
    border-radius: 12px;
  }
}
@media all and (min-width: 768px) {
  .list-comparison__item.--sp {
    padding: 0;
    display: contents;
    background-color: unset;
    border: unset;
    border-radius: unset;
  }
  .list-comparison__item.--sp > ul {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 58px 23px;
  }
}
@media all and (max-width: 767px) {
  .list-comparison__item.--sp {
    padding: 0;
  }
  .list-comparison__item.--sp > ul {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .list-comparison__item.--sp > ul > li {
    width: 50%;
    background-color: unset;
    border: unset;
    border-radius: unset;
  }
  .list-comparison__item.--sp > ul > li:nth-child(n+3) {
    border-top: 2px solid #5f5f5f;
  }
  .list-comparison__item.--sp > ul > li:nth-child(even) {
    border-left: 2px solid #5f5f5f;
  }
}
.list-comparison__item .item-title {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .list-comparison__item .item-title {
    width: 100%;
    font-size: 18px;
    letter-spacing: -1px;
  }
}
.list-comparison__item .item-title .st1 {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 32px;
  letter-spacing: -1px;
}
@media all and (max-width: 767px) {
  .list-comparison__item .item-title .st1 {
    font-size: 20px;
  }
}
@media all and (min-width: 768px) {
  .list-comparison__item .item-title .st2 {
    font-size: 24px;
  }
}
.list-comparison__item .item-title .st3 {
  letter-spacing: -6px;
}
.list-comparison__item .item-title .st4 {
  font-size: 18px;
}
@media all and (max-width: 767px) {
  .list-comparison__item .item-title .st4 {
    font-size: 12px;
  }
}
.list-comparison__item .item-sub {
  margin: 20px 0 0;
  color: #64656f;
  font-size: 14px;
}
@media all and (max-width: 767px) {
  .list-comparison__item .item-sub {
    margin-top: 14px;
    font-size: 10px;
    letter-spacing: 0;
  }
}
.list-comparison__item.--01 {
  width: 614px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--01 {
    width: 100%;
  }
}
.list-comparison__item.--01 .item-title {
  margin-top: 40px;
  text-align: center;
}
.list-comparison__item.--01 .item-title.--01::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_about_sec04_02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 243px;
  height: 86px;
  position: absolute;
  top: -102px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--01 .item-title.--01::after {
    width: 164px;
    height: 58px;
    top: -75px;
  }
}
.list-comparison__item.--01 .item-main {
  margin: 12px auto 0;
  width: 410px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--01 .item-main {
    width: 287px;
    max-width: 100%;
  }
}
@media all and (min-width: 768px) {
  .list-comparison__item.--01 .item-sub {
    width: 410px;
    margin-inline: auto;
  }
}
@media all and (max-width: 767px) {
  .list-comparison__item.--01 .item-sub {
    text-align: center;
  }
}
.list-comparison__item.--02 {
  padding: 30px 40px;
  width: 614px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--02 {
    padding: 22px 10px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
}
.list-comparison__item.--02 .item-title.--01::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_about_sec04_02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 243px;
  height: 86px;
  position: absolute;
  top: -40px;
  left: 180px;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--02 .item-title.--01::after {
    width: 164px;
    height: 58px;
    top: -29px;
    left: 131px;
  }
}
.list-comparison__item.--02 .item-title.--02 {
  margin-top: 40px;
}
.list-comparison__item.--02 .item-title.--02::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_about_sec04_04.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 166px;
  height: 83px;
  position: absolute;
  top: -100px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--02 .item-title.--02::after {
    width: 116px;
    top: -70px;
  }
}
.list-comparison__item.--02 .item-main.--01 {
  margin-top: 30px;
  width: 408px;
  height: 118px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--02 .item-main.--01 {
    margin-top: 21px;
    width: 287px;
    max-width: 100%;
    height: auto;
  }
}
.list-comparison__item.--02 .item-main.--02 {
  margin-top: 30px;
  width: 408px;
  height: 118px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--02 .item-main.--02 {
    margin-top: 24px;
    width: 287px;
    max-width: 100%;
    height: auto;
  }
}
.list-comparison__item.--03 {
  width: 402px;
}
.list-comparison__item.--03 .item-title {
  padding-top: 40px;
  text-align: center;
}
.list-comparison__item.--03 .item-title::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_about_sec04_06.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 80px;
  height: 80px;
  position: absolute;
  top: -52px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--03 .item-title::after {
    width: 65px;
    top: -35px;
  }
}
.list-comparison__item.--03 .item-main {
  margin: 30px auto 0;
  width: 220px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--03 .item-main {
    margin-top: 18px;
    width: 100%;
    max-width: 121px;
  }
}
.list-comparison__item.--03 .item-sub {
  text-align: center;
}
.list-comparison__item.--04 {
  padding: 36px 40px 30px;
  width: 402px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--04 {
    padding: 20px 8px 25px;
  }
}
.list-comparison__item.--04 .item-title {
  letter-spacing: -1px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--04 .item-title {
    margin: 0 auto;
    max-width: 128px;
    letter-spacing: 0;
  }
}
.list-comparison__item.--04 .item-title::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_about_sec04_08.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 77px;
  height: 80px;
  position: absolute;
  top: -7px;
  right: 0;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--04 .item-title::after {
    width: 57px;
    top: 0;
    right: -60px;
  }
}
.list-comparison__item.--04 .item-main {
  margin: 30px auto 0;
  width: 215px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--04 .item-main {
    margin-top: 20px;
    width: 100%;
    max-width: 124px;
  }
}
.list-comparison__item.--04 .item-sub {
  text-align: center;
}
.list-comparison__item.--05 {
  padding: 30px 36px;
  width: 402px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--05 {
    padding: 10px 8px 25px;
  }
}
.list-comparison__item.--05 .item-title {
  padding-top: 40px;
  text-align: center;
}
.list-comparison__item.--05 .item-title::after {
  content: "";
  display: inline-block;
  background-image: url(./images/about/img_about_sec04_10.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 118px;
  height: 76px;
  position: absolute;
  top: -49px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--05 .item-title::after {
    width: 80px;
    height: 53px;
    background-image: url(./images/about/img_about_sec04_10_sp.png);
    top: -16px;
  }
}
.list-comparison__item.--05 .item-main {
  margin: 30px auto 0;
  width: 215px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--05 .item-main {
    margin-top: 26px;
    width: 100%;
    max-width: 121px;
  }
}
.list-comparison__item.--05 .item-sub {
  text-align: center;
}
.list-comparison__item.--06 {
  padding: 30px 40px;
  width: 402px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--06 {
    padding: 25px 6px 25px;
  }
}
@media all and (max-width: 767px) {
  .list-comparison__item.--06 .item-title {
    margin: 0 auto;
    width: 100%;
    max-width: 135px;
  }
}
.list-comparison__item.--06 .item-title .st2:nth-of-type(1) {
  letter-spacing: -5px;
}
.list-comparison__item.--06 .item-title .st2:nth-of-type(2) {
  margin: 0 2px;
}
.list-comparison__item.--06 .item-title::before, .list-comparison__item.--06 .item-title::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  position: absolute;
  z-index: -1;
}
.list-comparison__item.--06 .item-title::before {
  background-image: url(./images/about/img_about_sec04_12.png);
  width: 67px;
  height: 82px;
  top: -44px;
  left: 0;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--06 .item-title::before {
    width: 57px;
    top: -34px;
    left: -60px;
  }
}
.list-comparison__item.--06 .item-title::after {
  background-image: url(./images/about/img_about_sec04_13.png);
  width: 83px;
  height: 107px;
  top: -17px;
  right: -20px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--06 .item-title::after {
    width: 63px;
    top: -12px;
    right: -80px;
  }
}
.list-comparison__item.--06 .item-main {
  margin: 27px auto 0;
  width: 215px;
}
@media all and (max-width: 767px) {
  .list-comparison__item.--06 .item-main {
    margin-top: 15px;
    width: 100%;
    max-width: 143px;
  }
}

.other-contents {
  margin-top: 175px;
  width: 100%;
}
@media all and (max-width: 767px) {
  .other-contents {
    margin-top: 120px;
  }
}
.other-contents__title {
  margin: 0;
  width: 100%;
  display: block;
  border-bottom: 3px solid #000;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 56px;
  font-weight: 500;
  letter-spacing: -5px;
  line-height: 0.85;
  text-align: center;
}
@media all and (max-width: 767px) {
  .other-contents__title {
    font-size: 36px;
  }
}
.other-contents__title .st1 {
  color: #fff;
  -webkit-text-stroke: 2px #000;
  text-stroke: 2px #000;
  paint-order: stroke;
  position: relative;
  right: 3px;
}
.other-contents .inner {
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .other-contents .inner {
    padding: 0;
  }
}
.other-contents__list {
  padding: 15px 0 10px;
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, auto);
  grid-template-columns: 1fr 1fr;
  gap: 0 288px;
}
@media all and (max-width: 767px) {
  .other-contents__list {
    padding: 7px 0 5px;
    gap: 0 111px;
  }
}
.other-contents__list__item:not(:nth-child(3n)) {
  border-bottom: 1px dotted #000;
}
.other-contents__list__item .link {
  padding: 22px 40px 22px 30px;
  display: block;
  color: #000;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.1;
  text-decoration: none;
  position: relative;
}
@media all and (max-width: 767px) {
  .other-contents__list__item .link {
    padding: 18px 20px 18px 15px;
    font-size: 14px;
  }
}
.other-contents__list__item .link::before {
  content: "";
  width: 11px;
  height: 2px;
  background-color: #000;
  position: absolute;
  top: 33px;
  right: 28px;
  vertical-align: middle;
  transition: inherit;
}
@media all and (max-width: 767px) {
  .other-contents__list__item .link::before {
    top: 27px;
    right: 10px;
  }
}
.other-contents__list__item .link::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  position: absolute;
  top: 29px;
  right: 28px;
  transform: rotate(45deg);
  vertical-align: middle;
  transition: inherit;
}
@media all and (max-width: 767px) {
  .other-contents__list__item .link::after {
    top: 23px;
    right: 9px;
  }
}
.other-contents__list__item .link.is-current, .other-contents__list__item .link:hover {
  color: #e70072;
}
.other-contents__list__item .link.is-current::before, .other-contents__list__item .link:hover::before {
  background-color: #e70072;
}
.other-contents__list__item .link.is-current::after, .other-contents__list__item .link:hover::after {
  border-color: #e70072;
}
.other-contents__deco {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  width: 288px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 2;
  overflow: hidden;
}
@media all and (max-width: 767px) {
  .other-contents__deco {
    width: 111px;
  }
}
.other-contents__deco .deco-01 {
  margin: 23px 0 0;
  width: 110px;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 46px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 5px;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .other-contents__deco .deco-01 {
    margin-top: 34px;
    width: 65px;
    font-size: 28px;
    letter-spacing: 2px;
    line-height: 0.98;
  }
}
.other-contents__deco .deco-02 {
  margin: 9px 0 0;
  font-family: "Lexend Tera", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: -2px;
  line-height: 1.2;
}
@media all and (max-width: 767px) {
  .other-contents__deco .deco-02 {
    font-size: 9px;
  }
}
.other-contents__deco .deco-02 .st1 {
  margin-left: 1px;
  color: #e70072;
}
.other-contents__deco .deco-03 {
  width: 184px;
  height: 105px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  bottom: -43px;
}
@media all and (max-width: 767px) {
  .other-contents__deco .deco-03 {
    width: 85px;
    height: 48px;
    bottom: -15px;
  }
}

@media all and (max-width: 767px) {
  .sec-charm.--01 .about-sec01__main-box.--01 {
    height: 55.5555555556vw;
    padding-top: 7.9710144928vw;
  }
  .sec-charm.--01 .about-sec01__main-box::after {
    max-width: none;
    width: 90.3381642512vw;
    height: 56.7632850242vw;
  }
  .sec-charm.--01 .about-sec01__main-box.--01 .txt-03__02 .st2 {
    display: block;
    text-align: right;
    margin-right: 0.8em;
  }
}

@media all and (max-width: 767px) {
  .sec-charm.--02 .about-sec01__main-box.--02 {
    height: 55.5555555556vw;
  }
  .sec-charm.--02 .about-sec01__main-box::after {
    max-width: none;
    width: 90.3381642512vw;
    height: 56.7632850242vw;
  }
}

/**************************************************
  Area
***************************************************/
.page-area .area-select {
  margin-top: 0;
}

.page-area-child .container {
  background-color: #f7f7e8;
}
.page-area-child .l-content {
  padding: 0;
  overflow-x: clip;
}

.bg-blue {
  background-color: #e8f2fd;
}

/* -----------------------------------------------
  title
-------------------------------------------------- */
.area-page-title {
  padding-top: 165px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .area-page-title {
    padding-top: 85px;
  }
}
.area-page-title .inner {
  padding-left: 30px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
}
@media all and (max-width: 767px) {
  .area-page-title .inner {
    padding-bottom: 398px;
  }
}
.area-page-title .m-breadcrumb {
  order: 1;
  position: relative;
  z-index: 10;
}
.area-page-title__heading {
  order: 2;
  margin-top: 48px;
  position: relative;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .area-page-title__heading {
    margin-top: 30px;
  }
}
.area-page-title__heading .heading-main {
  margin: 0;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 83px;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 0.95;
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-main {
    font-size: 50px;
  }
}
.area-page-title__heading .heading-sub {
  margin: 16px 0 0;
  color: #000;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: -1px;
  line-height: 1.2;
  text-transform: uppercase;
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-sub {
    font-size: 14px;
  }
}
.area-page-title__heading .heading-img {
  width: 129px;
  height: 208px;
  top: 70px;
  left: 290px;
  position: absolute;
  z-index: -1;
}
@media all and (min-width: 768px) {
  .area-page-title__heading .heading-img.--urban {
    top: 60px;
  }
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-img {
    width: 102px;
    height: 164px;
    top: 20px;
    left: 199px;
  }
  .area-page-title__heading .heading-img.--adjust {
    top: 70px;
    left: 210px;
  }
}
.area-page-title__heading .heading-img__pin {
  width: 41px;
  height: 64px;
  position: absolute;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-img__pin {
    width: 32.5px;
    height: 50px;
  }
}
.area-page-title__heading .heading-img__pin.--shigaichi {
  top: 29px;
  left: 48px;
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-img__pin.--shigaichi {
    top: 23.5px;
    left: 37.5px;
  }
}
.area-page-title__heading .heading-img__pin.--yashima-mure-aji {
  top: 15px;
  left: 81px;
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-img__pin.--yashima-mure-aji {
    top: 12px;
    left: 65px;
  }
}
.area-page-title__heading .heading-img__pin.--rito {
  top: -26px;
  left: 47px;
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-img__pin.--rito {
    top: -22px;
    left: 38px;
  }
}
.area-page-title__heading .heading-img__pin.--katsuga-kokubunji {
  top: 38px;
  left: 15px;
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-img__pin.--katsuga-kokubunji {
    top: 27.5px;
    left: 10.5px;
  }
}
.area-page-title__heading .heading-img__pin.--busshozan {
  top: 69px;
  left: 48px;
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-img__pin.--busshozan {
    top: 56.5px;
    left: 39px;
  }
}
.area-page-title__heading .heading-img__pin.--kagawa-konan {
  top: 101px;
  left: 38px;
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-img__pin.--kagawa-konan {
    top: 80px;
    left: 31.5px;
  }
}
.area-page-title__heading .heading-img__pin.--shionoe {
  top: 138px;
  left: 58px;
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-img__pin.--shionoe {
    top: 106.5px;
    left: 46.5px;
  }
}
.area-page-title__heading .heading-img__pin.--yamada {
  top: 60px;
  left: 69px;
}
@media all and (max-width: 767px) {
  .area-page-title__heading .heading-img__pin.--yamada {
    top: 46px;
    left: 56px;
  }
}
.area-page-title__photo {
  position: absolute;
  top: -128px;
  right: 0;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-page-title__photo {
    display: flex;
    width: 400px;
    height: 363px;
    top: unset;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.area-page-title__photo__svg {
  width: 100%;
  height: 100%;
}
.area-page-title__photo__deco {
  position: absolute;
  z-index: 3;
}
.area-page-title__photo__deco.--01 {
  width: 247px;
  height: 90px;
  top: 13px;
  right: 37px;
}
@media all and (max-width: 767px) {
  .area-page-title__photo__deco.--01 {
    width: 159px;
    height: 67px;
    top: -293px;
    right: unset;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .area-page-title__photo__deco.--01.--adjust {
    top: -340px;
  }
}
.area-page-title__photo__deco.--02 {
  width: 241px;
  height: 89px;
  top: -13px;
  left: -100px;
}
@media all and (max-width: 767px) {
  .area-page-title__photo__deco.--02 {
    width: 159px;
    height: 67px;
    top: -18px;
    right: unset;
    left: calc(50% - 188px);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.area-page-title__photo__deco.--03 {
  width: 134px;
  height: 34px;
  top: 165px;
  left: -700px;
}
@media all and (max-width: 767px) {
  .area-page-title__photo__deco.--03 {
    width: 134px;
    height: 34px;
    top: -186px;
    left: calc(50% + 151px);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .area-page-title__photo__deco.--03.--adjust {
    top: -233px;
  }
}

.area-head {
  margin-top: 70px;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-head {
    margin-top: 50px;
  }
}
.area-head__contents {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.area-head__contents__txt {
  padding-left: 30px;
  width: 710px;
}
@media all and (max-width: 767px) {
  .area-head__contents__txt {
    padding-right: 23px;
    padding-left: 24px;
    width: auto;
  }
}
.area-head__contents__txt .txt-01 {
  margin: 0;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 65px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.05;
  position: relative;
  z-index: 1;
}
@media all and (min-width: 768px) {
  .area-head__contents__txt .txt-01 {
    white-space: nowrap;
    filter: drop-shadow(2px 2px 4px #fff) drop-shadow(-2px -2px 4px #fff);
  }
}
@media all and (max-width: 767px) {
  .area-head__contents__txt .txt-01 {
    font-size: 46px;
  }
}
@media screen and (max-width: 359px) {
  .area-head__contents__txt .txt-01 {
    font-size: 46px;
  }
}
@media screen and (max-width: 330px) {
  .area-head__contents__txt .txt-01 {
    font-size: 42px;
  }
}
.area-head__contents__txt .txt-01 .st1 {
  padding: 0 6px 7px;
  display: inline-block;
  background-color: #a8940a;
  color: #fff;
  line-height: 0.8;
}
.area-head__contents__txt .txt-01 .st2 {
  margin-left: -6px;
  font-size: 48px;
  letter-spacing: -6px;
  position: relative;
  z-index: 2;
}
.area-head__contents__txt .txt-01 .st2.--ls0 {
  letter-spacing: 0;
}
.area-head__contents__txt .txt-01 .st2.--ml0 {
  margin-left: 0;
}
.area-head__contents__txt .txt-01 .st2.--nowrap {
  white-space: nowrap;
}
@media all and (max-width: 767px) {
  .area-head__contents__txt .txt-01 .st2 {
    margin-left: -4px;
    font-size: 38px;
    letter-spacing: -4px;
  }
}
.area-head__contents__txt .txt-01 .st3 {
  padding: 0 6px 7px;
  display: inline-block;
  background-color: #1f7ecc;
  color: #fff;
  line-height: 0.8;
}
.area-head__contents__txt .txt-01 .st4 {
  padding: 0 6px 7px;
  display: inline-block;
  background-color: #11a77e;
  color: #fff;
  line-height: 0.8;
}
.area-head__contents__txt .txt-01 .st5 {
  padding: 0 6px 7px;
  display: inline-block;
  background-color: #f68383;
  color: #fff;
  line-height: 0.8;
}
.area-head__contents__txt .txt-01 .st6 {
  padding: 0 6px 7px;
  display: inline-block;
  background-color: #795bbf;
  color: #fff;
  line-height: 0.8;
}
.area-head__contents__txt .txt-01 .st7 {
  padding: 0 6px 7px;
  display: inline-block;
  background-color: #856154;
  color: #fff;
  line-height: 0.8;
}
.area-head__contents__txt .txt-01 span > .st2 {
  margin-left: 0;
  letter-spacing: 0;
}
.area-head__contents__txt .txt-01::before {
  content: "";
  display: inline-block;
  width: 75px;
  height: 3px;
  background-color: #000;
  position: absolute;
  top: 33px;
  left: -100px;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .area-head__contents__txt .txt-01::before {
    top: 27px;
    left: -90px;
  }
}
.area-head__contents__txt .txt-02 {
  margin: 25px 0 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.7;
  text-align: left;
}
@media all and (max-width: 767px) {
  .area-head__contents__txt .txt-02 {
    font-size: 20px;
  }
}
.area-head__contents__txt .txt-03 {
  margin: 30px 0 0;
  max-width: 630px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -1px;
  text-align: left;
}
@media all and (max-width: 767px) {
  .area-head__contents__txt .txt-03 {
    margin-top: 14px;
    font-size: 15px;
  }
}
.area-head__contents__box {
  margin-top: 50px;
  padding: 0 34px 28px;
  width: 100%;
  max-width: 540px;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 20px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .area-head__contents__box {
    padding: 0 25px 25px;
    border-radius: 12px;
  }
}
.area-head__contents__box .box-title {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 150px;
  height: 31px;
  border: 1px solid #000;
  border-radius: 31px;
  color: #000;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  position: relative;
  top: -18px;
}
.area-head__contents__box .box-title::after {
  content: "";
  display: inline-block;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 41px;
  position: absolute;
  top: -5px;
  left: -5px;
  z-index: -1;
}
.area-head__contents__box .box-inner {
  margin-top: 13px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
}
@media all and (max-width: 767px) {
  .area-head__contents__box .box-inner {
    margin-top: 8px;
    justify-content: center;
  }
}
.area-head__contents__box .box-item {
  padding: 10px 17px;
  display: inline-block;
  background-color: #d0e1ee;
  border-radius: 8px;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .area-head__contents__box .box-item {
    padding: 6px 7px 7px;
    font-size: 15px;
    border-radius: 6px;
  }
}

.area-heading {
  margin: 0 auto;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 49px;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1.05;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-heading {
    font-size: 31px;
    line-height: 1.15;
  }
}
.area-heading .st-big {
  font-size: 65px;
}
@media all and (max-width: 767px) {
  .area-heading .st-big {
    font-size: 42px;
  }
}
.area-heading .st-white {
  display: inline-block;
  color: #fff;
  font-size: 65px;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  position: relative;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .area-heading .st-white {
    font-size: 42px;
    left: 6px;
  }
}
.area-heading .st-white::after {
  content: "";
  display: inline-block;
  background-image: url(./images/area/img_area_heading_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 236px;
  height: 107px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  z-index: -2;
}
@media all and (max-width: 767px) {
  .area-heading .st-white::after {
    width: 97px;
    height: 68px;
    background-image: url(./images/area/img_area_heading_01_sp.png);
    top: calc(50% + 1px);
  }
}
.area-heading .st-ex {
  color: #e70072;
  position: relative;
  right: 16px;
}
@media all and (max-width: 767px) {
  .area-heading .st-ex {
    right: 5px;
  }
}
.area-heading .st-ex.st-big {
  right: 20px;
}
@media all and (max-width: 767px) {
  .area-heading .st-ex.st-big {
    right: 1px;
  }
}
.area-heading.--beige .st-white::after {
  background-image: url(./images/area/img_area_heading_02.png);
}
@media all and (max-width: 767px) {
  .area-heading.--beige .st-white::after {
    background-image: url(./images/area/img_area_heading_02_sp.png);
  }
}

.area-sec01 {
  padding-bottom: 110px;
}
.area-sec01__heading {
  margin-top: 95px;
}

.list-recommended {
  margin-top: 75px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 75px 40px;
}
@media all and (max-width: 767px) {
  .list-recommended {
    margin: 35px auto 0;
    max-width: 335px;
    gap: 30px;
  }
}
.list-recommended__item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  max-width: 390px;
  min-height: 657px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .list-recommended__item {
    max-width: unset;
    min-height: unset;
  }
}
.list-recommended__item::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 516px;
  height: 504px;
  position: absolute;
  top: 154px;
  right: -44px;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .list-recommended__item::after {
    width: 345px;
    height: 329px;
    top: 111px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
@media all and (min-width: 768px) {
  .list-recommended__item.--01 {
    top: -80px;
    z-index: 4;
  }
}
@media all and (max-width: 767px) {
  .list-recommended__item.--01 {
    padding-bottom: 10px;
    z-index: 2;
  }
}
.list-recommended__item.--01::after {
  background-image: url(./images/area/bg_recommended_01.png);
}
@media all and (max-width: 767px) {
  .list-recommended__item.--01::after {
    background-image: url(./images/area/bg_recommended_01_sp.png);
  }
}
@media all and (max-width: 767px) {
  .list-recommended__item.--01.--bg-adjust-145::after {
    top: 145px;
  }
}
.list-recommended__item.--02 {
  z-index: 3;
}
.list-recommended__item.--02::after {
  background-image: url(./images/area/bg_recommended_02.png);
}
@media all and (max-width: 767px) {
  .list-recommended__item.--02::after {
    background-image: url(./images/area/bg_recommended_02_sp.png);
    top: 115px;
    right: -32px;
  }
}
@media all and (max-width: 767px) {
  .list-recommended__item.--02.--bg-adjust-155::after {
    top: 155px;
  }
  .list-recommended__item.--02.--bg-adjust-80::after {
    top: 80px;
  }
}
@media all and (min-width: 768px) {
  .list-recommended__item.--03 {
    top: -80px;
    z-index: 2;
  }
}
@media all and (max-width: 767px) {
  .list-recommended__item.--03 {
    z-index: 4;
  }
}
.list-recommended__item.--03::after {
  background-image: url(./images/area/bg_recommended_03.png);
}
@media all and (max-width: 767px) {
  .list-recommended__item.--03::after {
    background-image: url(./images/area/bg_recommended_03_sp.png);
    top: 122px;
    right: -37px;
  }
}
@media all and (max-width: 767px) {
  .list-recommended__item.--03.--bg-adjust-145::after {
    top: 145px;
  }
}
.list-recommended__item .item-type {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  line-height: 1;
  letter-spacing: -1px;
  text-align: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .list-recommended__item .item-type {
    right: unset;
    left: calc(50% + 122px);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.list-recommended__item .item-type .en {
  margin-bottom: 1px;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.list-recommended__item .item-type .num {
  color: #fff;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 40px;
  font-weight: 800;
  letter-spacing: 0;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  white-space: nowrap;
}
.list-recommended__item .item-img {
  order: 1;
}
@media all and (max-width: 767px) {
  .list-recommended__item .item-img + svg {
    width: 261px;
    height: 261px;
    filter: drop-shadow(0px 1px 0px #5f5f5f) drop-shadow(-0.5px 0px 0px #5f5f5f) drop-shadow(0 -1px 0px #5f5f5f);
  }
}
.list-recommended__item .item-title {
  order: 2;
  margin: -32px auto 0;
  max-width: 390px;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 50px;
  font-weight: 500;
  letter-spacing: 3px;
  line-height: 0.95;
  text-align: center;
  white-space: nowrap;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .list-recommended__item .item-title {
    margin-top: -18px;
    font-size: 33px;
    line-height: 0.9;
  }
}
.list-recommended__item .item-title .st-big {
  font-size: 65px;
}
.list-recommended__item .item-title .st-big.--min {
  font-size: 62px;
}
@media all and (max-width: 767px) {
  .list-recommended__item .item-title .st-big.--min {
    font-size: 42px;
  }
}
@media all and (max-width: 767px) {
  .list-recommended__item .item-title .st-big {
    font-size: 44px;
  }
  .list-recommended__item .item-title .st-big + .st-ex {
    right: 8px;
  }
}
.list-recommended__item .item-title .st-white {
  color: #fff;
  font-size: 65px;
  -webkit-text-stroke: 3px #2a2b32;
  text-stroke: 3px #2a2b32;
  paint-order: stroke;
}
.list-recommended__item .item-title .st-white.--min {
  font-size: 62px;
}
@media all and (max-width: 767px) {
  .list-recommended__item .item-title .st-white.--min {
    font-size: 42px;
  }
}
@media all and (max-width: 767px) {
  .list-recommended__item .item-title .st-white {
    font-size: 44px;
  }
}
.list-recommended__item .item-title .st-ex {
  color: #e70072;
  position: relative;
  right: 19px;
  bottom: 5px;
}
.list-recommended__item .item-title .st-ex.--ex-sp {
  right: 10px;
}
.list-recommended__item .item-title .st-ex.--ex-min {
  right: 14px;
  bottom: 3px;
}
.list-recommended__item .item-title .st-sp {
  letter-spacing: 0;
}
@media all and (min-width: 768px) {
  .list-recommended__item .item-title .st-sp.--min {
    font-size: 60px;
  }
}
.list-recommended__item .item-title .st-min {
  font-size: 45px;
}
@media all and (max-width: 767px) {
  .list-recommended__item .item-title .st-min {
    font-size: 29px;
  }
}
.list-recommended__item .item-txt {
  order: 3;
  margin: 22px 0 0;
  max-width: 390px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}
@media all and (max-width: 767px) {
  .list-recommended__item .item-txt {
    margin-top: 15px;
    font-size: 15px;
  }
}
.list-recommended__item .item-txt.--nowrap {
  white-space: nowrap;
}

@media all and (min-width: 768px) {
  .area-sec02 {
    min-height: 675px;
  }
}
.area-sec02 {
  background-color: #e8f2fd;
}
.area-sec02 .midokoro {
  margin-top: 55px;
  position: relative;
  z-index: 2;
}
.area-sec02 .midokoro::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 30px;
  background-color: #f7f7e8;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.area-sec02 .midokoro__index {
  width: 250px;
  min-height: 620px;
  position: sticky;
  top: 75px;
  left: 22px;
  z-index: 3;
  transform: translateY(100px);
  padding-bottom: 150px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__index {
    display: none !important;
  }
}
.area-sec02 .midokoro__index::after {
  content: "";
  display: inline-block;
  width: 4px;
  height: 390px;
  background-image: radial-gradient(circle, #2a2b32 2px, transparent 2px);
  background-position: left top;
  background-repeat: repeat-y;
  background-size: 4px 8px;
  position: absolute;
  top: 56px;
  left: 28px;
}
.area-sec02 .midokoro__index.--num3::after {
  height: 290px;
}
.area-sec02 .midokoro__index.--num2::after {
  height: 185px;
}
.area-sec02 .midokoro__index__name {
  margin: 0;
  padding: 1px 0 0 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 57px;
  height: 57px;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 19px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.9;
  text-align: center;
  position: relative;
  z-index: 1;
}
.area-sec02 .midokoro__index__name::after {
  content: "";
  display: inline-block;
  background-image: url(./images/area/bg_midokoro_index_name.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 57px;
  height: 57px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.area-sec02 .midokoro__index__list {
  margin-top: 50px;
  padding-left: 58px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 65px;
}
.area-sec02 .midokoro__index__list .item {
  height: 42px;
  position: relative;
}
.area-sec02 .midokoro__index__list .item::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: -37px;
  z-index: 2;
  transition: 0.3s;
}
.area-sec02 .midokoro__index__list .item .link {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 19px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  text-align: left;
  text-decoration: none;
  pointer-events: none !important;
}
.area-sec02 .midokoro__index__list .item .link .txt {
  white-space: nowrap;
}
.area-sec02 .midokoro__index__list .item.current::before {
  width: 24px;
  height: 24px;
  background-color: #e70072;
  border-color: #e70072;
  left: -40px;
}
.area-sec02 .midokoro__index__list .item.current .link {
  font-size: 36px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: 0;
  pointer-events: none;
}
.area-sec02 .midokoro__child {
  padding: 87px 0 0;
  width: 100%;
  height: 770px;
  min-height: 670px;
  border-top: 2px solid #2a2b32;
}
@media all and (min-width: 768px) {
  .area-sec02 .midokoro__child {
    position: sticky;
    top: calc(var(--sticky-offset) * 20px + 45px);
    transition: 0.6s;
  }
  .area-sec02 .midokoro__child.--01 {
    margin-top: -620px;
  }
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child {
    padding: 0;
    height: 60px;
    min-height: unset;
    position: relative;
    scroll-margin-top: 50px;
  }
  .area-sec02 .midokoro__child.is-open {
    padding: 105px 0 0;
    height: 150vw;
    min-height: 555px;
    position: relative;
  }
  .area-sec02 .midokoro__child.is-open .midokoro__child__toggle {
    position: absolute;
    top: 15px;
    left: 0;
    z-index: 2;
  }
  .area-sec02 .midokoro__child.is-open .midokoro__child__toggle .toggle-title {
    opacity: 0;
    pointer-events: none;
  }
  .area-sec02 .midokoro__child.is-open .midokoro__child__deco {
    top: -48px;
  }
  .area-sec02 .midokoro__child.is-open .bg-deco,
  .area-sec02 .midokoro__child.is-open .inner {
    display: block;
  }
}
.area-sec02 .midokoro__child.--dm {
  position: sticky;
  top: 0;
  padding: 0;
  height: 670px;
  min-height: auto;
  border: none !important;
  background: #f7f7e8;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--dm {
    display: none;
  }
}
@media all and (min-width: 768px) {
  .area-sec02 .midokoro__child.is-past, .area-sec02 .midokoro__child.--last {
    height: 670px;
  }
}
.area-sec02 .midokoro__child:last-of-type, .area-sec02 .midokoro__child.--last {
  border-bottom: 2px solid #2a2b32;
}
.area-sec02 .midokoro__child__toggle {
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  height: 60px;
}
@media all and (min-width: 768px) {
  .area-sec02 .midokoro__child__toggle {
    display: none;
  }
}
.area-sec02 .midokoro__child__toggle .toggle-title {
  margin: 0;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1.05;
  text-align: left;
}
.area-sec02 .midokoro__child__toggle .toggle-btn {
  margin-left: auto;
  padding-bottom: 2px;
  width: 75px;
  height: 28px;
  background-image: url(./images/area/bg_slide_toggle_btn.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__toggle .toggle-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
}
.area-sec02 .midokoro__child__deco {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  width: 520px;
  height: 64px;
  position: absolute;
  top: -63px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__deco {
    width: 335px;
    top: -46px;
  }
}
.area-sec02 .midokoro__child__deco .deco-01 {
  width: 128px;
  height: 64px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__deco .deco-01 {
    width: 97px;
    height: 49px;
  }
}
.area-sec02 .midokoro__child__deco .deco-02 {
  width: 128px;
  height: 64px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__deco .deco-02 {
    width: 97px;
    height: 49px;
  }
}
.area-sec02 .midokoro__child .bg-deco {
  display: none;
  position: absolute;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 1;
}
.area-sec02 .midokoro__child .bg-deco.--01 {
  width: 141px;
  height: 131px;
  left: calc(50% - 422px);
  bottom: 8px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child .bg-deco.--01 {
    width: 99px;
    height: 93px;
    left: calc(50% - 144px);
    bottom: 14px;
  }
}
.area-sec02 .midokoro__child .bg-deco.--02 {
  width: 116px;
  height: 123px;
  top: 49px;
  left: calc(50% + 232px);
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child .bg-deco.--02 {
    width: 72px;
    height: 84px;
    top: 11px;
    left: 50%;
  }
}
.area-sec02 .midokoro__child .bg-deco.--03 {
  width: 188px;
  height: 81px;
  left: calc(50% + 549px);
  bottom: 0;
}
.area-sec02 .midokoro__child.--01 {
  background-color: #f7dc5e;
  --sticky-offset: 1;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--01 .bg-deco.--03 {
    display: none;
  }
}
.area-sec02 .midokoro__child.--02 {
  background-color: #fcb19a;
  --sticky-offset: 2;
}
.area-sec02 .midokoro__child.--02 .bg-deco.--01 {
  bottom: 32px;
}
.area-sec02 .midokoro__child.--02 .bg-deco.--02 {
  top: 24px;
  left: calc(50% + 465px);
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--02 .bg-deco.--02 {
    top: 11px;
    left: calc(50% + 83px);
  }
}
.area-sec02 .midokoro__child.--02 .bg-deco.--03 {
  height: 112px;
  left: calc(50% + 188px);
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--02 .bg-deco.--03 {
    width: 136px;
    height: 82px;
    left: calc(50% + 150px);
  }
}
.area-sec02 .midokoro__child.--02 .slide-heading .st-top__03 {
  display: inline-block;
  font-size: 103px;
  color: #fff;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  position: relative;
  right: 12px;
  bottom: 30px;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--02 .slide-heading .st-top__03 {
    font-size: 18vw;
    right: 2.5vw;
    bottom: 5.6vw;
  }
}
.area-sec02 .midokoro__child.--03 {
  background-color: #8fe5d0;
  --sticky-offset: 3;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--03 .bg-deco.--02 {
    top: 111px;
    left: calc(50% + 150px);
  }
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--03 .bg-deco.--03 {
    display: none;
  }
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--03 .slide-heading .st-top {
    top: -9.87vw;
    left: 4.33vw;
  }
}
.area-sec02 .midokoro__child.--03 .slide-heading .st-top__01 {
  letter-spacing: -15px;
  top: -1px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--03 .slide-heading .st-top__01 {
    letter-spacing: -4vw;
    top: -0.27vw;
  }
}
.area-sec02 .midokoro__child.--03 .slide-heading .st-top__03 {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 95px;
  font-weight: 100;
  color: #fff;
  letter-spacing: -24px;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  position: relative;
  right: 23px;
  bottom: 30px;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--03 .slide-heading .st-top__03 {
    font-size: 18vw;
    right: 4.14vw;
    bottom: 5.6vw;
    letter-spacing: -4vw;
  }
}
.area-sec02 .midokoro__child.--03 .slide-heading .st-top__04 {
  display: inline-block;
  font-size: 110px;
  position: relative;
  right: 12px;
  bottom: 30px;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--03 .slide-heading .st-top__04 {
    font-size: 22.73vw;
    letter-spacing: -4vw;
    right: 3.2vw;
    bottom: 8vw;
  }
}
.area-sec02 .midokoro__child.--03 .slide-heading .st-top__05 {
  display: inline-block;
  font-size: 88px;
  color: #fff;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  position: relative;
  right: 27px;
  bottom: 26px;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--03 .slide-heading .st-top__05 {
    font-size: 18vw;
    right: 2.14vw;
    bottom: 5.6vw;
  }
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--03 .slide-heading .st-bottom {
    top: 58vw;
    left: 36vw;
  }
}
.area-sec02 .midokoro__child.--03 .slide-heading .st-bottom__01 {
  letter-spacing: -23px;
  z-index: 3;
}
.area-sec02 .midokoro__child.--03 .slide-heading .st-bottom__02 {
  display: inline-block;
  font-size: 75px;
  letter-spacing: -11px;
  right: 0;
  bottom: 15px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--03 .slide-heading .st-bottom__02 {
    font-size: 18vw;
    letter-spacing: -3vw;
    right: -1.86vw;
    bottom: 5.6vw;
  }
}
.area-sec02 .midokoro__child.--03 .slide-heading .st-bottom__03 {
  display: inline-block;
  font-size: 68px;
  position: relative;
  bottom: 21px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--03 .slide-heading .st-bottom__03 {
    font-size: 15vw;
    right: -1.86vw;
    bottom: 6.6vw;
  }
}
.area-sec02 .midokoro__child.--03 .slide-heading .st-bottom__04 {
  display: inline-block;
  font-size: 78px;
  letter-spacing: -13px;
  position: relative;
  bottom: 15px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--03 .slide-heading .st-bottom__04 {
    font-size: 18vw;
    right: 3.14vw;
    bottom: 10.6vw;
  }
}
.area-sec02 .midokoro__child.--04 {
  background-color: #96d0dd;
  --sticky-offset: 4;
}
.area-sec02 .midokoro__child.--04 .bg-deco.--01 {
  bottom: 32px;
}
.area-sec02 .midokoro__child.--04 .bg-deco.--02 {
  top: 24px;
  left: calc(50% + 465px);
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--04 .bg-deco.--02 {
    top: 74px;
    left: calc(50% + 155px);
  }
}
.area-sec02 .midokoro__child.--04 .bg-deco.--03 {
  height: 112px;
  left: calc(50% + 188px);
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--04 .bg-deco.--03 {
    width: 136px;
    height: 82px;
    left: calc(50% + 150px);
  }
}
.area-sec02 .midokoro__child.--04 .slide-heading .st-top__02 {
  letter-spacing: -33px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--04 .slide-heading .st-top__02 {
    letter-spacing: -7.8vw;
  }
}
.area-sec02 .midokoro__child.--04 .slide-heading .st-top__03 {
  display: inline-block;
  font-size: 100px;
  position: relative;
  bottom: 17px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--04 .slide-heading .st-top__03 {
    font-size: 24vw;
  }
}
.area-sec02 .midokoro__child.--04 .slide-heading .st-top__04 {
  display: inline-block;
  font-size: 88px;
  color: #fff;
  letter-spacing: -26px;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  position: relative;
  bottom: 14px;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--04 .slide-heading .st-top__04 {
    font-size: 18vw;
    right: 3.14vw;
    bottom: 5.6vw;
  }
}
.area-sec02 .midokoro__child.--04 .slide-heading .st-bottom {
  top: 300px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--04 .slide-heading .st-bottom {
    top: 56vw;
    left: 39vw;
  }
}
.area-sec02 .midokoro__child.--04 .slide-heading .st-bottom__01 {
  font-size: 115px;
  letter-spacing: -32px;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--04 .slide-heading .st-bottom__01 {
    font-size: 23.73vw;
    letter-spacing: -4.8vw;
  }
}
.area-sec02 .midokoro__child.--04 .slide-heading .st-bottom__02 {
  display: inline-block;
  font-size: 71px;
  font-weight: 900;
  letter-spacing: -5px;
  right: 0;
  bottom: 15px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--04 .slide-heading .st-bottom__02 {
    bottom: 4.2vw;
  }
}
.area-sec02 .midokoro__child.--04 .slide-heading .st-bottom__03 {
  display: inline-block;
  font-size: 80px;
  position: relative;
  bottom: 15px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child.--04 .slide-heading .st-bottom__03 {
    font-size: 17.87vw;
    bottom: 5.2vw;
  }
}
.area-sec02 .midokoro__child .inner {
  height: 100%;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child .inner {
    display: none;
  }
}
.area-sec02 .midokoro__child__slide {
  width: 1235px;
  height: 540px;
  position: absolute;
  top: 0;
  left: 230px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide {
    padding: 0 24px;
    width: 100%;
    height: auto;
    position: static;
  }
}
.area-sec02 .midokoro__child__slide.slide-none .slide-option {
  display: none !important;
}
.area-sec02 .midokoro__child__slide.slide-none .swiper-slide-next,
.area-sec02 .midokoro__child__slide.slide-none .swiper-slide-prev {
  display: none !important;
}
@media all and (min-width: 768px) {
  .area-sec02 .midokoro__child__slide.slide-two .slide-option {
    display: none !important;
  }
  .area-sec02 .midokoro__child__slide.slide-two .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-next) {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}
.area-sec02 .midokoro__child__slide .slide-heading {
  margin: 0;
  width: 405px;
  height: 0;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
.area-sec02 .midokoro__child__slide .slide-heading .st-top {
  white-space: nowrap;
  position: absolute;
  top: -54px;
  left: -81px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-heading .st-top {
    top: -13.87vw;
    left: 5.33vw;
  }
}
.area-sec02 .midokoro__child__slide .slide-heading .st-top__01 {
  display: inline-block;
  font-size: 136px;
  position: relative;
  top: 0;
  left: 0;
  z-index: 2;
  transform: rotate(348deg);
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-heading .st-top__01 {
    font-size: 23.73vw;
  }
}
.area-sec02 .midokoro__child__slide .slide-heading .st-top__02 {
  display: inline-block;
  font-size: 103px;
  color: #fff;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  position: relative;
  right: 12px;
  bottom: 30px;
  z-index: 3;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-heading .st-top__02 {
    font-size: 18vw;
    right: 2.14vw;
    bottom: 5.6vw;
  }
}
.area-sec02 .midokoro__child__slide .slide-heading .st-bottom {
  white-space: nowrap;
  position: absolute;
  top: 278px;
  left: 205px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-heading .st-bottom {
    top: 55.73vw;
    left: 52.53vw;
  }
  .area-sec02 .midokoro__child__slide .slide-heading .st-bottom.--adjust {
    top: 50.73vw;
  }
}
.area-sec02 .midokoro__child__slide .slide-heading .st-bottom__01 {
  display: inline-block;
  font-size: 136px;
  color: #fff;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  position: relative;
  z-index: 5;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-heading .st-bottom__01 {
    font-size: 23.73vw;
  }
}
.area-sec02 .midokoro__child__slide .slide-heading .st-bottom__02 {
  display: inline-block;
  font-size: 103px;
  position: relative;
  right: 11px;
  bottom: 41px;
  z-index: 4;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-heading .st-bottom__02 {
    font-size: 17.87vw;
    right: 1.87vw;
    bottom: 7.2vw;
  }
}
.area-sec02 .midokoro__child__slide .slide-option {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  width: fit-content;
  position: absolute;
  top: 165px;
  left: 406px;
  z-index: 6;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-option {
    top: 26.67vw;
    left: unset;
    right: 12px;
  }
}
.area-sec02 .midokoro__child__slide .slide-option__btn {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 80px;
  height: 80px;
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 100%;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -1px;
  line-height: 1;
  text-align: center;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-option__btn {
    width: 19.2vw;
    height: 19.2vw;
    font-size: 3.47vw;
  }
}
.area-sec02 .midokoro__child__slide .slide-option__btn img {
  margin-left: 2px;
  width: 13px;
  height: 10px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-option__btn img {
    margin-left: 0.53vw;
    width: 3.47vw;
    height: 2.67vw;
  }
}
.area-sec02 .midokoro__child__slide .slide-option__btn:hover {
  background-color: #f2d85f;
}
.area-sec02 .midokoro__child__slide .slide-option__pagination {
  margin: 4px 0 0;
  width: fit-content;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -1px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-option__pagination {
    margin-top: 0;
    font-size: 4vw;
    letter-spacing: -2px;
  }
}
.area-sec02 .midokoro__child__slide .swiper-wrapper {
  align-items: center;
}
.area-sec02 .midokoro__child__slide .swiper-slide .slide-link {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  text-decoration: none;
}
.area-sec02 .midokoro__child__slide .swiper-slide .slide-link:hover .slide-title {
  color: #e70072;
}
.area-sec02 .midokoro__child__slide .swiper-slide.swiper-slide-active .slide-img.--midokoro04 {
  transform: translateX(-24px);
}
.area-sec02 .midokoro__child__slide .swiper-slide.swiper-slide-active .slide-img.--midokoro05 {
  transform: translateX(-18px);
}
.area-sec02 .midokoro__child__slide .swiper-slide.swiper-slide-active .slide-img.--midokoro06 {
  transform: translateX(-6px);
}
.area-sec02 .midokoro__child__slide .swiper-slide:not(.swiper-slide-active) {
  padding-bottom: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.area-sec02 .midokoro__child__slide .swiper-slide:not(.swiper-slide-active) .slide-link {
  margin-left: auto;
  width: 299px;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .swiper-slide:not(.swiper-slide-active) .slide-link {
    width: 90%;
  }
}
.area-sec02 .midokoro__child__slide .swiper-slide:not(.swiper-slide-active) .slide-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .swiper-slide:not(.swiper-slide-active) .slide-img {
    margin-top: 22px;
    margin-left: 15px;
    width: 90%;
  }
}
.area-sec02 .midokoro__child__slide .swiper-slide:not(.swiper-slide-active) .slide-img.--midokoro03 {
  transform: scale(1.16);
  position: relative;
  top: 4px;
}
.area-sec02 .midokoro__child__slide .swiper-slide:not(.swiper-slide-active) .slide-title {
  margin-left: auto;
  width: fit-content;
  color: #000;
  font-size: 16px;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .swiper-slide:not(.swiper-slide-active) .slide-title {
    opacity: 0;
  }
}
.area-sec02 .midokoro__child__slide .swiper-slide:not(.swiper-slide-active) .slide-btn {
  margin-top: 10px;
  width: 86px;
  height: 29px;
  font-size: 16px;
}
.area-sec02 .midokoro__child__slide .swiper-slide:not(.swiper-slide-active) .slide-btn::after {
  width: 13px;
  height: 10px;
}
.area-sec02 .midokoro__child__slide .swiper-slide.swiper-slide-prev .slide-link {
  opacity: 0;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-img {
    margin: 0 auto;
    width: calc(100% - 22px);
    height: auto;
  }
}
.area-sec02 .midokoro__child__slide .slide-title {
  margin: 16px 0 0;
  padding: 0 20px;
  width: 100%;
  color: #000;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.4;
  text-align: left;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-title {
    margin-top: 35px;
    padding: 0;
    font-size: 16px;
    line-height: 1.5;
  }
}
.area-sec02 .midokoro__child__slide .slide-btn {
  margin: 14px 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 108px;
  height: 37px;
  color: #000;
  font-size: 20px;
  font-weight: 600;
  position: relative;
  z-index: 1;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .area-sec02 .midokoro__child__slide .slide-btn {
    width: 82px;
    height: 28px;
    font-size: 15px;
  }
}
.area-sec02 .midokoro__child__slide .slide-btn::before {
  content: "";
  display: inline-block;
  background-image: url(./images/area/bg_slide_link_btn.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.area-sec02 .midokoro__child__slide .slide-btn::after {
  content: "";
  margin-left: 5px;
  display: inline-block;
  background-image: url(./images/area/img_blank.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 15px;
  height: 14px;
}
.area-sec02__under {
  padding: 50px 0;
  background-color: #f7f7e8;
  position: relative;
  z-index: 5;
}
.area-sec02__connection {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 45px;
  width: 100%;
  height: 290px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .area-sec02__connection {
    flex-direction: column;
    flex-wrap: nowrap;
  }
}
.area-sec02__connection__head {
  width: 170px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head {
    margin: 0 auto;
    padding: 23px 0 28px;
    width: 100%;
    max-width: 335px;
  }
}
.area-sec02__connection__head::before, .area-sec02__connection__head::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  height: 4px;
  position: absolute;
  left: 0;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head::before, .area-sec02__connection__head::after {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.area-sec02__connection__head::before {
  width: 169px;
  background-image: url(./images/area/img_line_01.png);
  top: 0;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head::before {
    background-image: url(./images/area/img_line_01_sp.png);
    width: 335px;
  }
}
.area-sec02__connection__head::after {
  width: 73px;
  background-image: url(./images/area/img_line_02.png);
  bottom: 0;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head::after {
    background-image: url(./images/area/img_line_02_sp.png);
    width: 184px;
    left: calc(50% - 75px);
  }
}
.area-sec02__connection__head .item-heading {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 36px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.95;
  text-align: center;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head .item-heading {
    justify-content: center;
    flex-direction: row;
    font-size: 42px;
  }
}
.area-sec02__connection__head .item-heading .st1 {
  color: #fff;
  font-size: 54px;
  -webkit-text-stroke: 3px #2a2b32;
  text-stroke: 3px #2a2b32;
  paint-order: stroke;
  letter-spacing: 2px;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head .item-heading .st1 {
    font-size: inherit;
  }
}
.area-sec02__connection__head .item-heading .st2 {
  font-size: 54px;
  letter-spacing: 2px;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head .item-heading .st2 {
    font-size: inherit;
    letter-spacing: 0;
  }
}
.area-sec02__connection__head .item-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  width: 88px;
  height: 20px;
  position: absolute;
  right: 0;
  bottom: -10px;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head .item-btn {
    padding-left: 10px;
    width: 143px;
    height: 30px;
    background-color: #f7f7e8;
    bottom: -12px;
    z-index: 2;
  }
}
.area-sec02__connection__head .item-btn::before {
  content: "";
  display: inline-block;
  width: 2px;
  height: 18px;
  background-color: #2a2b32;
  position: absolute;
  top: 1px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head .item-btn::before {
    height: 24px;
    top: 3px;
    left: calc(50% + 4px);
  }
}
.area-sec02__connection__head .item-btn button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 35px;
  height: 19px;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 20px;
  transition: 0.3s;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head .item-btn button {
    width: 54px;
    height: 29px;
    background-color: unset;
    background-image: url(./images/area/bg_slide_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    border: unset;
    border-radius: unset;
  }
}
.area-sec02__connection__head .item-btn button img {
  width: 11px;
  height: 9px;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head .item-btn button img {
    width: 16px;
    height: 13px;
  }
}
@media all and (min-width: 768px) {
  .area-sec02__connection__head .item-btn button:hover {
    background-color: #f2d85f;
  }
}
.area-sec02__connection__head.--btn-none .item-btn {
  display: none;
}
@media all and (min-width: 768px) {
  .area-sec02__connection__head.--btn-none::after {
    background-image: url(./images/area/img_line_01.png);
    width: 169px;
    transform: rotate(180deg);
  }
}
@media all and (max-width: 767px) {
  .area-sec02__connection__head.--btn-none::after {
    background-image: url(./images/area/img_line_01_sp.png);
    width: 335px;
    left: 0;
    transform: rotate(180deg);
  }
}
.area-sec02__connection__contents {
  width: 1290px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 215px;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__contents {
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
    max-width: 335px;
    overflow: visible;
    position: static;
  }
}
.area-sec02__connection__contents .swiper-slide {
  width: 407px;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__contents .swiper-slide {
    width: 100%;
  }
}
.area-sec02__connection__contents .swiper-slide__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/0.607;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.area-sec02__connection__contents .swiper-slide__img::before {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_movie_play.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 99px;
  height: 99px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  z-index: 2;
}
.area-sec02__connection__contents .swiper-slide__img svg, .area-sec02__connection__contents .swiper-slide__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.area-sec02__connection__contents .swiper-slide__img__txt {
  margin: 0;
  padding-top: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 53px;
  height: 53px;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 100%;
  color: #000;
  font-family: "Figtree", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -1px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  transition: inherit;
}
@media all and (max-width: 767px) {
  .area-sec02__connection__contents .swiper-slide__img__txt {
    width: 40px;
    height: 40px;
    font-size: 10px;
    letter-spacing: -0.5px;
  }
}
.area-sec02__connection__contents .swiper-slide__img:hover .swiper-slide__img__txt {
  background-color: #f2d85f;
}
.area-sec02__connection__contents .swiper-slide__txt {
  margin: 20px 0 0;
  padding-left: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -1px;
  line-height: 1.3;
  text-align: left;
}
.area-sec02__connection__contents .swiper-slide__txt .st-big {
  font-size: 16px;
}
.area-sec02__links {
  margin-top: 55px;
  padding: 15px 34px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 20px;
}
.area-sec02__links .item {
  width: 100%;
}
.area-sec02__links .item:nth-child(n+4) {
  border-top: 1px dotted #2a2b32;
}
.area-sec02__links .item:not(:nth-child(3n+1)) {
  border-left: 1px dotted #2a2b32;
}
.area-sec02__links .link {
  padding: 15px 10px 15px 36px;
  display: inline-block;
  width: 100%;
  color: #000;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  position: relative;
}
.area-sec02__links .link::before {
  content: "";
  display: inline-block;
  background-image: url(./images/common/img_link_chain.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 15px;
  left: 14px;
}
.area-sec02__links .link:hover {
  color: #e70072;
}

.area-sec03 {
  padding-top: 100px;
  min-height: 300px;
  background-color: #f7f7e8;
  position: relative;
  z-index: 3;
}
.area-sec03__basic {
  margin-top: 60px;
  padding: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  height: 300px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 767px) {
  .area-sec03__basic {
    margin: 30px auto 0;
    justify-content: flex-start;
    flex-direction: column;
    padding: 24px 20px;
    width: 335px;
    height: 292px;
  }
}
.area-sec03__basic::after {
  content: "";
  display: inline-block;
  background-image: url(./images/area/bg_life_basic.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .area-sec03__basic::after {
    background-image: url(./images/area/bg_life_basic_sp.png);
  }
}
.area-sec03__basic__heading {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 375px;
  color: #2a2b32;
  line-height: 1;
  text-align: center;
}
@media all and (max-width: 767px) {
  .area-sec03__basic__heading {
    margin: 0 auto;
    width: 100%;
    max-width: 287px;
    line-height: 0.8;
    position: relative;
  }
  .area-sec03__basic__heading::before, .area-sec03__basic__heading::after {
    content: "";
    display: inline-block;
    background-image: url(./images/area/bg_life_basic_dot.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top;
    width: 55px;
    height: 55px;
    position: absolute;
    top: 2px;
  }
  .area-sec03__basic__heading::before {
    left: 0;
  }
  .area-sec03__basic__heading::after {
    right: 0;
  }
}
.area-sec03__basic__heading .st1 {
  font-size: 24px;
  font-weight: 600;
}
@media all and (max-width: 767px) {
  .area-sec03__basic__heading .st1 {
    font-size: 18px;
  }
}
.area-sec03__basic__heading .st2 {
  margin: 12px 0 0;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 65px;
  font-weight: 500;
  letter-spacing: 0;
}
@media all and (max-width: 767px) {
  .area-sec03__basic__heading .st2 {
    font-size: 36px;
  }
}
.area-sec03__basic__contents {
  padding-bottom: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 56px;
}
@media all and (max-width: 767px) {
  .area-sec03__basic__contents {
    padding: 26px 0 0;
    flex-direction: column;
    gap: 14px;
    width: 100%;
  }
}
.area-sec03__basic__contents .item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
}
@media all and (max-width: 767px) {
  .area-sec03__basic__contents .item {
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
  }
}
.area-sec03__basic__contents .item-title {
  margin: 0;
  padding-bottom: 24px;
  display: inline-block;
  min-width: 108px;
  font-size: 28px;
  font-weight: 600;
  text-align: center;
  line-height: 1;
  position: relative;
}
@media all and (max-width: 767px) {
  .area-sec03__basic__contents .item-title {
    padding-bottom: 10px;
    min-width: 72px;
    font-size: 24px;
    letter-spacing: -1px;
  }
}
.area-sec03__basic__contents .item-title::after {
  content: "";
  display: inline-block;
  background-image: url(./images/area/img_life_title_nami.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 100%;
  height: 7px;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media all and (max-width: 767px) {
  .area-sec03__basic__contents .item-title::after {
    height: 4px;
  }
}
.area-sec03__basic__contents .item-txt {
  margin-top: 20px;
  color: #000;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .area-sec03__basic__contents .item-txt {
    margin-top: 0;
    font-size: 17px;
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
  }
}
.area-sec03__basic__contents .item-txt .st1 {
  margin-right: 5px;
  color: #398e83;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 80px;
  font-weight: 700;
  position: relative;
  bottom: -2px;
}
@media all and (max-width: 767px) {
  .area-sec03__basic__contents .item-txt .st1 {
    margin-right: 3px;
    font-size: 48px;
    letter-spacing: 0.5px;
  }
  .area-sec03__basic__contents .item-txt .st1.--02 {
    letter-spacing: -2.2px;
  }
}
.area-sec03__basic__contents .item-txt .st2 {
  font-size: 53px;
  font-weight: 600;
}
@media all and (max-width: 767px) {
  .area-sec03__basic__contents .item-txt .st2 {
    font-size: 33px;
  }
}
@media all and (max-width: 767px) {
  .area-sec03__basic__contents .item-txt .st3 {
    letter-spacing: 1px;
    writing-mode: vertical-rl;
    position: relative;
    top: 3px;
    left: 1px;
  }
}
.area-sec03__basic__txt {
  margin: 0;
  color: #64656f;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  text-align: right;
  position: absolute;
  right: 32px;
  bottom: 25px;
}
@media all and (max-width: 767px) {
  .area-sec03__basic__txt {
    margin-top: 18px;
    width: 100%;
    font-size: 11px;
    text-align: right;
    position: relative;
    right: -2px;
    bottom: 0;
  }
}
.area-sec03__basic__img {
  width: 483px;
  height: 101px;
  position: absolute;
  bottom: -28px;
  left: calc(50% + 190px);
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media all and (max-width: 767px) {
  .area-sec03__basic__img {
    width: 242px;
    height: 52px;
    bottom: -15px;
    left: calc(50% - 33px);
  }
}
.area-sec03__other {
  margin-top: 110px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 38px 0;
}
@media all and (max-width: 767px) {
  .area-sec03__other {
    margin-top: 65px;
    gap: 60px 0;
  }
}
.area-sec03__other__item {
  width: 625px;
  position: relative;
  z-index: 1;
}
.area-sec03__other__item.--03 {
  order: 0;
}
.area-sec03__other__item.--04 {
  order: 1;
}
.area-sec03__other__item.--01 {
  order: 2;
}
.area-sec03__other__item.--02 {
  order: 3;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item {
    margin: 0 auto;
    width: 100%;
    max-width: 335px;
    min-height: 332px;
  }
}
.area-sec03__other__item::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
.area-sec03__other__item .item-title {
  margin: 0;
  display: inline-block;
  color: #fff;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 80px;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1;
  -webkit-text-stroke: 2px #2a2b32;
  text-stroke: 2px #2a2b32;
  paint-order: stroke;
  position: absolute;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item .item-title {
    font-size: 60px;
    letter-spacing: 0;
  }
}
.area-sec03__other__item .item-sub {
  margin: 0;
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  right: 0;
  filter: drop-shadow(-1px 1px 0 #5f5f5f) drop-shadow(0px 0px 0 #5f5f5f) drop-shadow(-0.5px -1px 0 #5f5f5f) drop-shadow(0px 0px 0 #5f5f5f);
}
.area-sec03__other__item .item-sub__txt {
  padding: 14px 15px 16px;
  display: inline-block;
  width: fit-content;
  color: #000;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -2px;
  line-height: 1;
  background-color: #fff;
  border-right: 1px solid #5f5f5f;
  border-radius: 5px;
  position: relative;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item .item-sub__txt {
    padding: 10px 11px 12px 12px;
    font-size: 24px;
  }
}
.area-sec03__other__item .item-sub .st2 {
  bottom: 14px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item .item-sub .st2 {
    bottom: 12px;
  }
}
.area-sec03__other__item .item-sub .--mark {
  padding-right: 5px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item .item-sub .--mark {
    padding-right: 7px;
  }
}
.area-sec03__other__item .item-sub .--mark .mk {
  display: inline-block;
  transform: translateX(-2px);
}
.area-sec03__other__item .item-contents {
  margin: 0 auto;
}
.area-sec03__other__item .item-contents__txt {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
  text-align: left;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item .item-contents__txt {
    font-size: 15px;
  }
}
.area-sec03__other__item .item-contents__txt + .item-contents__txt {
  margin-top: 1em;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item .item-contents__txt + .item-contents__txt {
    margin-top: 0.8em;
  }
}
.area-sec03__other__item .item-contents__txt .c-en {
  letter-spacing: 1px;
}
.area-sec03__other__item .item-img {
  position: absolute;
}
.area-sec03__other__item.--01::after {
  width: 405px;
  height: 405px;
  background-image: url(./images/area/bg_life_01.png);
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--01::after {
    width: 304px;
    height: 304px;
  }
}
.area-sec03__other__item.--01 .item-title {
  writing-mode: vertical-rl;
  letter-spacing: -10px;
  top: 42px;
  left: 82px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--01 .item-title {
    top: 35px;
    left: -4px;
  }
}
.area-sec03__other__item.--01 .item-sub {
  width: 322px;
  top: 52px;
  right: 96px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--01 .item-sub {
    width: 240px;
    top: 42px;
    right: unset;
    left: 99px;
  }
}
.area-sec03__other__item.--01 .item-sub__txt.st2 {
  margin-left: auto;
  z-index: 2;
}
.area-sec03__other__item.--01 .item-contents {
  padding-top: 426px;
  width: 395px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--01 .item-contents {
    padding-top: 330px;
    width: 100%;
    max-width: 290px;
  }
}
.area-sec03__other__item.--01 .item-img {
  width: 280px;
  height: 265px;
  top: 145px;
  left: 177px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--01 .item-img {
    width: 210px;
    height: 199px;
    top: 109px;
    left: 70px;
  }
}
.area-sec03__other__item.--02::after {
  width: 499px;
  height: 497px;
  background-image: url(./images/area/bg_life_02.png);
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--02::after {
    width: 335px;
    height: 334px;
  }
}
.area-sec03__other__item.--02 .item-title {
  top: 54px;
  left: 393px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--02 .item-title {
    top: 5px;
    left: 193px;
  }
}
.area-sec03__other__item.--02 .item-sub {
  width: 340px;
  top: 103px;
  right: 122px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--02 .item-sub {
    width: 245px;
    top: 45px;
    right: unset;
    left: 26px;
  }
}
.area-sec03__other__item.--02 .item-sub__txt.st2 {
  margin-left: auto;
  z-index: 2;
}
.area-sec03__other__item.--02 .item-contents {
  padding-top: 238px;
  margin-right: 38px;
  width: 350px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--02 .item-contents {
    padding-top: 146px;
    margin-right: 0;
    padding-right: 24px;
    width: 100%;
  }
  .area-sec03__other__item.--02 .item-contents .item-contents__txt:nth-child(1), .area-sec03__other__item.--02 .item-contents .item-contents__txt:nth-child(2) {
    margin-left: auto;
    width: 184px;
  }
}
.area-sec03__other__item.--02 .item-img {
  width: 189px;
  height: 310px;
  top: 219px;
  left: 16px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--02 .item-img {
    width: 119px;
    height: 196px;
    top: 157px;
    left: 5px;
  }
}
.area-sec03__other__item.--03::after {
  width: 473px;
  height: 353px;
  background-image: url(./images/area/bg_life_03.png);
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--03::after {
    width: 335px;
    height: 251px;
    background-image: url(./images/area/bg_life_03_sp.png);
  }
}
.area-sec03__other__item.--03 .item-title {
  top: 38px;
  left: 260px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--03 .item-title {
    top: 33px;
    left: 123px;
  }
}
.area-sec03__other__item.--03 .item-sub {
  width: 302px;
  top: 152px;
  right: 0;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--03 .item-sub {
    width: 220px;
    top: 105px;
    right: unset;
    left: 85px;
  }
}
.area-sec03__other__item.--03 .item-sub__txt.st1 {
  margin-left: auto;
  z-index: 2;
}
.area-sec03__other__item.--03 .item-contents {
  padding-top: 380px;
  width: 395px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--03 .item-contents {
    padding-top: 236px;
    width: 100%;
    max-width: 288px;
  }
}
.area-sec03__other__item.--04::after {
  width: 410px;
  height: 375px;
  background-image: url(./images/area/bg_life_04.png);
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--04::after {
    width: 333px;
    height: 275px;
    background-image: url(./images/area/bg_life_04_sp.png);
  }
}
.area-sec03__other__item.--04 .item-title {
  writing-mode: vertical-rl;
  letter-spacing: -10px;
  top: 0;
  left: 388px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--04 .item-title {
    top: 31px;
    left: 258px;
  }
}
.area-sec03__other__item.--04 .item-sub {
  width: 288px;
  top: 64px;
  right: unset;
  left: 66px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--04 .item-sub {
    width: 211px;
    top: 15px;
    left: 20px;
  }
}
.area-sec03__other__item.--04 .item-sub__txt.st1 {
  margin-left: auto;
  z-index: 2;
}
.area-sec03__other__item.--04 .item-contents {
  padding-top: 386px;
  width: 395px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--04 .item-contents {
    padding-top: 285px;
    width: 100%;
    max-width: 299px;
  }
}
.area-sec03__other__item.--04 .item-img {
  width: 284px;
  height: 205px;
  top: 160px;
  left: 171px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--04 .item-img {
    width: 213px;
    height: 154px;
    top: 113px;
    left: 56px;
  }
}
.area-sec03__other__item.--04 .item-img.--train {
  width: 319px;
  height: 144px;
  top: 196px;
  left: 152px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--04 .item-img.--train {
    width: 213px;
    height: 97px;
    top: 151px;
    left: 56px;
  }
}
.area-sec03__other__item.--04 .item-img.--car {
  width: 299px;
  height: 195px;
  top: 175px;
  left: 164px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--04 .item-img.--car {
    width: 213px;
    height: 97px;
    top: 151px;
    left: 56px;
  }
}
.area-sec03__other__item.--04 .item-img.--scooter {
  width: 284px;
  height: 205px;
  top: 173px;
  left: 172px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--04 .item-img.--scooter {
    width: 190px;
    height: 124px;
    top: 147px;
    left: 52px;
  }
}
.area-sec03__other__item.--04 .item-img.--ship {
  width: 315px;
  height: 154px;
  top: 161px;
  left: 159px;
}
@media all and (max-width: 767px) {
  .area-sec03__other__item.--04 .item-img.--ship {
    width: 235px;
    height: 117px;
    top: 137px;
    left: 50px;
  }
}
.area-sec03__box {
  margin-top: 75px;
  padding: 40px;
  width: 100%;
  background-color: #fff;
  border: 1px solid #2a2b32;
  border-radius: 10px;
  position: relative;
}
@media all and (max-width: 767px) {
  .area-sec03__box {
    padding: 30px 24px 35px;
  }
}
.area-sec03__box::after {
  content: "";
  display: inline-block;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid #2a2b32;
  border-radius: 10px;
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 1;
}
.area-sec03__box__txt {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-sec03__box__txt {
    margin: 0 auto;
    width: fit-content;
    font-size: 16px;
    letter-spacing: -1px;
    line-height: 1.4;
    position: relative;
  }
  .area-sec03__box__txt::before, .area-sec03__box__txt::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 60px;
    background-color: #000;
    position: absolute;
    top: -1px;
  }
  .area-sec03__box__txt::before {
    left: -17px;
    transform: rotate(-43deg);
  }
  .area-sec03__box__txt::after {
    right: -17px;
    transform: rotate(43deg);
  }
  .area-sec03__box__txt .st1 {
    display: none;
  }
}
@media screen and (max-width: 353px) {
  .area-sec03__box__txt::before, .area-sec03__box__txt::after {
    height: 53px;
    top: 2px;
  }
  .area-sec03__box__txt::before {
    left: -3px;
  }
  .area-sec03__box__txt::after {
    right: -3px;
  }
}
.area-sec03__box__title {
  margin: 15px 0 0;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-sec03__box__title {
    font-size: 27px;
    letter-spacing: -3px;
    line-height: 1.2;
  }
}
@media screen and (max-width: 353px) {
  .area-sec03__box__title {
    font-size: 23px;
  }
}
.area-sec03__box__list {
  margin-top: 30px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 50px 24px;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-sec03__box__list {
    gap: 20px;
  }
}
.area-sec03__box__list .list-office {
  width: 374px;
}
@media all and (max-width: 767px) {
  .area-sec03__box__list .list-office {
    width: 100%;
  }
}
.area-sec03__box__list .list-office__child {
  position: relative;
}
@media all and (min-width: 768px) {
  .area-sec03__box__list .list-office__child .toggle-btn {
    display: none;
  }
}
.area-sec03__box__list .list-office__child .hidden {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 50px 24px;
  position: relative;
  z-index: 2;
}
@media all and (max-width: 767px) {
  .area-sec03__box__list .list-office__child {
    position: relative;
  }
  .area-sec03__box__list .list-office__child .toggle-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    margin-bottom: 20px;
    width: 120px;
    height: 40px;
    background: #fff;
    font-size: 15px;
    font-weight: bold;
    border: 1px solid var(--color-text);
    border-radius: 40px;
  }
  .area-sec03__box__list .list-office__child .toggle-btn::after {
    content: "";
    position: absolute;
    top: 19px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--color-text);
    z-index: -1;
  }
  .area-sec03__box__list .list-office__child .hidden {
    opacity: 0;
    visibility: hidden;
    height: 0;
    gap: 20px;
  }
  .area-sec03__box__list .list-office__child.is-open .hidden {
    opacity: 1;
    visibility: visible;
    height: auto;
  }
}
.area-sec03__box__list .list-office__name {
  margin-bottom: 20px;
  display: grid;
  grid-template-columns: 87px 1fr;
  align-items: center;
}
@media all and (max-width: 767px) {
  .area-sec03__box__list .list-office__name {
    margin-bottom: 0;
    grid-template-columns: 66px 1fr;
  }
}
.area-sec03__box__list .list-office__name .item-title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  height: 59px;
  background-color: #e3e3d7;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
}
@media all and (max-width: 767px) {
  .area-sec03__box__list .list-office__name .item-title {
    height: auto;
    min-height: 46px;
  }
}
.area-sec03__box__list .list-office__name .item-txt {
  margin: 0;
  padding-left: 18px;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.3;
}
@media all and (max-width: 767px) {
  .area-sec03__box__list .list-office__name .item-txt {
    font-size: 16px;
    letter-spacing: -0.3px;
  }
}
.area-sec03__box__list .list-office__info {
  display: grid;
  grid-template-columns: 87px 1fr;
  border-top: 1px solid #60686c;
}
@media all and (max-width: 767px) {
  .area-sec03__box__list .list-office__info {
    grid-template-columns: 66px 1fr;
  }
}
.area-sec03__box__list .list-office__info:last-child {
  border-bottom: 1px solid #60686c;
}
.area-sec03__box__list .list-office__info .item-title {
  padding: 10px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  background-color: #9be6d4;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
  text-align: center;
}
.area-sec03__box__list .list-office__info .item-txt {
  padding: 10px 0 10px 18px;
  padding-left: 18px;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1.3;
}
@media all and (max-width: 767px) {
  .area-sec03__box__list .list-office__info .item-txt {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.3px;
  }
}
.area-sec03__box__list .list-office__info .item-txt .st-small {
  font-size: 14px;
}
.area-sec03__box__list .list-office__info .item-txt .link {
  color: #000;
  font-size: 13px;
}
.area-sec03__box__list .list-office__info .item-txt .link.--en {
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  text-decoration: none;
}
.area-sec03__box__list .list-office__info .item-txt .link:hover {
  color: #e70072;
}

/* エリア別調整 */
.page-busshozan .area-sec03__other__item.--01 .item-sub {
  width: 350px;
}
@media all and (max-width: 767px) {
  .page-busshozan .area-sec03__other__item.--01 .item-sub {
    width: 260px;
    left: 68px;
  }
}
.page-busshozan .area-sec03__other__item.--02 .item-sub {
  right: 155px;
}
@media all and (max-width: 767px) {
  .page-busshozan .area-sec03__other__item.--02 .item-sub {
    left: 8px;
  }
}
.page-busshozan .area-sec03__other__item.--03 .item-sub {
  align-items: center;
  width: 273px;
  right: 92px;
}
@media all and (max-width: 767px) {
  .page-busshozan .area-sec03__other__item.--03 .item-sub {
    width: 245px;
  }
}
.page-busshozan .area-sec03__other__item.--03 .item-sub .item-sub__txt.st1 {
  margin-left: unset;
}
.page-busshozan .area-sec03__other__item.--04 .item-sub {
  align-items: center;
  width: 333px;
  left: 30px;
}
@media all and (max-width: 767px) {
  .page-busshozan .area-sec03__other__item.--04 .item-sub {
    width: 250px;
    top: 39px;
    left: -5px;
  }
}

.page-katsuga-kokubunji .area-sec03__other__item.--01 .item-sub {
  width: 350px;
}
@media all and (max-width: 767px) {
  .page-katsuga-kokubunji .area-sec03__other__item.--01 .item-sub {
    width: 260px;
    left: 68px;
  }
}
.page-katsuga-kokubunji .area-sec03__other__item.--02 .item-sub {
  right: 155px;
}
@media all and (max-width: 767px) {
  .page-katsuga-kokubunji .area-sec03__other__item.--02 .item-sub {
    left: 8px;
  }
}
.page-katsuga-kokubunji .area-sec03__other__item.--03 .item-sub {
  align-items: center;
  width: 273px;
  right: 92px;
}
@media all and (max-width: 767px) {
  .page-katsuga-kokubunji .area-sec03__other__item.--03 .item-sub {
    width: 245px;
  }
}
.page-katsuga-kokubunji .area-sec03__other__item.--03 .item-sub .item-sub__txt.st1 {
  margin-left: unset;
}
.page-katsuga-kokubunji .area-sec03__other__item.--04 .item-sub {
  align-items: center;
  width: 360px;
  left: 10px;
}
@media all and (max-width: 767px) {
  .page-katsuga-kokubunji .area-sec03__other__item.--04 .item-sub {
    width: 250px;
    top: 39px;
    left: -5px;
  }
}

.page-shionoe .area-sec03__other__item.--01 .item-sub {
  width: 350px;
}
@media all and (max-width: 767px) {
  .page-shionoe .area-sec03__other__item.--01 .item-sub {
    width: 260px;
    left: 68px;
  }
}
.page-shionoe .area-sec03__other__item.--02 .item-sub {
  right: 174px;
}
@media all and (max-width: 767px) {
  .page-shionoe .area-sec03__other__item.--02 .item-sub {
    top: 67px;
    left: 0;
  }
}
@media all and (max-width: 767px) {
  .page-shionoe .area-sec03__other__item.--02 .item-contents {
    padding-top: 156px;
  }
}
.page-shionoe .area-sec03__other__item.--03 .item-sub {
  align-items: center;
  width: 335px;
}
@media all and (max-width: 767px) {
  .page-shionoe .area-sec03__other__item.--03 .item-sub {
    width: 245px;
  }
}
.page-shionoe .area-sec03__other__item.--03 .item-sub .item-sub__txt.st1 {
  margin-left: unset;
}
.page-shionoe .area-sec03__other__item.--03 .item-sub .item-sub__txt.st2 {
  z-index: 3;
}
.page-shionoe .area-sec03__other__item.--04 .item-sub {
  align-items: center;
  width: 272px;
  left: 81px;
}
@media all and (max-width: 767px) {
  .page-shionoe .area-sec03__other__item.--04 .item-sub {
    width: 200px;
    top: 39px;
    left: 35px;
  }
}

.page-yashima-mure-aji .area-sec03__other__item.--01 .item-sub {
  width: 270px;
}
@media all and (max-width: 767px) {
  .page-yashima-mure-aji .area-sec03__other__item.--01 .item-sub {
    width: 178px;
    left: 68px;
  }
}
.page-yashima-mure-aji .area-sec03__other__item.--03 .item-sub {
  align-items: center;
  width: 273px;
  right: 92px;
}
@media all and (max-width: 767px) {
  .page-yashima-mure-aji .area-sec03__other__item.--03 .item-sub {
    width: 245px;
  }
}
.page-yashima-mure-aji .area-sec03__other__item.--03 .item-sub .item-sub__txt.st1 {
  margin-left: unset;
}
@media all and (max-width: 767px) {
  .page-yashima-mure-aji .area-sec03__other__item.--04 .item-sub {
    width: 211px;
    top: 40px;
    left: 20px;
  }
}

.page-yamada .area-sec03__other__item.--01 .item-sub {
  width: 350px;
}
@media all and (max-width: 767px) {
  .page-yamada .area-sec03__other__item.--01 .item-sub {
    width: 260px;
    left: 68px;
  }
}
.page-yamada .area-sec03__other__item.--02 .item-sub {
  right: 155px;
}
@media all and (max-width: 767px) {
  .page-yamada .area-sec03__other__item.--02 .item-sub {
    left: 8px;
  }
}
.page-yamada .area-sec03__other__item.--03 .item-sub {
  align-items: center;
  width: 273px;
  right: 92px;
}
@media all and (max-width: 767px) {
  .page-yamada .area-sec03__other__item.--03 .item-sub {
    width: 245px;
  }
}
.page-yamada .area-sec03__other__item.--03 .item-sub .item-sub__txt.st1 {
  margin-left: unset;
}
.page-yamada .area-sec03__other__item.--04 .item-sub {
  align-items: center;
  width: 333px;
  left: 30px;
}
@media all and (max-width: 767px) {
  .page-yamada .area-sec03__other__item.--04 .item-sub {
    width: 250px;
    top: 39px;
    left: -5px;
  }
}

.page-rito .area-sec03__other__item.--02 .item-sub {
  right: 178px;
}
@media all and (max-width: 767px) {
  .page-rito .area-sec03__other__item.--02 .item-sub {
    top: 70px;
    left: 8px;
  }
}
@media all and (max-width: 767px) {
  .page-rito .area-sec03__other__item.--02 .item-contents {
    padding-top: 158px;
  }
}
.page-rito .area-sec03__other__item.--03 .item-sub {
  right: 40px;
}
@media all and (max-width: 767px) {
  .page-rito .area-sec03__other__item.--04 .item-sub {
    top: 39px;
  }
}

.page-kagawa-konan .area-sec03__other__item.--03 .item-sub {
  align-items: center;
  width: 273px;
  right: 92px;
}
@media all and (max-width: 767px) {
  .page-kagawa-konan .area-sec03__other__item.--03 .item-sub {
    width: 245px;
  }
}
.page-kagawa-konan .area-sec03__other__item.--03 .item-sub .item-sub__txt.st1 {
  margin-left: unset;
}
.page-kagawa-konan .area-sec03__other__item.--04 .item-sub {
  align-items: center;
  width: 272px;
  left: 81px;
}
@media all and (max-width: 767px) {
  .page-kagawa-konan .area-sec03__other__item.--04 .item-sub {
    width: 200px;
    top: 39px;
    left: 35px;
  }
}

.--tsw {
  text-shadow: 1.5px -1.5px #fff;
}

.--dsw {
  filter: drop-shadow(2px 2px 4px #fff) drop-shadow(-2px -2px 4px #fff);
}

/**************************************************
  Community
***************************************************/
.page-community a {
  text-decoration: none;
}
.page-community .l-content {
  padding: 0;
}
@media all and (min-width: 768px) {
  .page-community .wrap {
    clear: both;
    background: #fffef7 url(./images/community/bg_title.png) no-repeat center 60px;
    background-size: 100% auto;
  }
  .page-community .container {
    clear: both;
    width: 100%;
    margin: 0 auto;
    padding-top: 80px;
    min-height: 100px;
    height: auto;
    background-color: #f3efed;
    background: url(./images/community/2024/back.jpg) repeat left top;
  }
  .page-community .content {
    width: 100%;
    margin: 0px auto 0px;
    text-align: center;
    padding: 100px 0 0;
    color: #2c87a0;
  }
  .page-community .mv {
    margin-top: 60px;
    background: url(./images/community/2024/back.jpg) repeat left top;
    min-width: 1250px;
  }
  .page-community .mv .main-area {
    background: url(./images/community/2024/main-back.jpg) repeat left top;
    background-size: cover;
    margin-top: -160px;
    padding-top: 80px;
    padding-bottom: 80px;
    text-align: center;
  }
  .page-community .mv .main-area h1 {
    width: 616px;
    margin: 0 auto 34px;
  }
  .page-community .mv .main-area h2 {
    font-size: 20px;
    color: #fff;
    margin-bottom: 30px;
  }
  .page-community .mv .main-area p {
    color: #fff;
    margin-bottom: 60px;
  }
  .page-community .mv .main-area .link {
    width: 300px;
    background-color: #fff;
    border-radius: 50px;
    padding: 5px 5px;
    margin: 0 auto;
  }
  .page-community .mv .main-area .link a {
    background-color: #fff;
    color: #2c87a0;
    border: 1px solid #2c87a0;
    padding: 10px 80px;
    border-radius: 50px;
    font-weight: 900;
    display: block;
    width: 100%;
  }
  .page-community .mv img {
    width: 100%;
  }
  .page-community .type03 {
    font-weight: bold;
  }
  .page-community .heading1 {
    margin: 30px 0 0;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
  }
  .page-community .heading1 span {
    display: block;
    font-size: 40px;
    color: #eeab09;
  }
  .page-community .container {
    padding-top: 0;
  }
  .page-community .mt70 {
    margin-top: 70px;
  }
  .page-community .pt70 {
    padding-top: 70px;
  }
  .page-community .inner {
    width: 1250px;
  }
  .page-community section {
    position: relative;
  }
  .page-community .sec01 div:after {
    visibility: hidden;
    display: none;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .page-community .col2-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px auto 100px;
  }
  .page-community .col2-flex__text {
    width: 43%;
    text-align: left;
    padding: 0 50px;
    margin-left: 4%;
  }
  .page-community .col2-flex__text h2 {
    text-align: center;
    margin-bottom: 90px;
    position: relative;
  }
  .page-community .col2-flex__text h2::after {
    content: "";
    display: block;
    width: 304px;
    height: 38px;
    background: url(./images/community/2024/line.png) no-repeat center;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    right: -10px;
    bottom: -40px;
  }
  .page-community .col2-flex__img {
    width: 63.0769230769%;
    position: relative;
  }
  .page-community .col2-flex__img::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    left: -50px;
    bottom: -40px;
  }
  .page-community .col2-flex__img img {
    width: 100%;
    height: auto;
  }
  .page-community .col2-flex__img img {
    max-width: 100%;
  }
  .page-community .sec02 {
    margin-bottom: 180px;
  }
  .page-community .col3-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px auto 100px;
  }
  .page-community .col3-flex .col3-box {
    width: 30.4%;
    text-align: left;
    padding: 0 0px;
  }
  .page-community .col3-flex .col3-box .main-area {
    position: relative;
  }
  .page-community .col3-flex .col3-box .main-area img {
    width: 100%;
    height: auto;
  }
  .page-community .col3-flex .col3-box .main-area h3 {
    position: absolute;
    bottom: -30px;
    left: 0;
    background-color: #2c87a0;
    color: #fff;
    width: 246px;
    line-height: 50px;
    font-size: 20px;
    padding: 0 20px;
  }
  .page-community .col3-flex .col3-box .text-area {
    margin-top: 45px;
  }
  .page-community .sec03 {
    position: relative;
    margin-bottom: 100px;
  }
  .page-community .sec03 .main {
    position: relative;
  }
  .page-community .sec03 .main img {
    width: 100%;
    height: auto;
  }
  .page-community .sec03 .main::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    left: 50px;
    bottom: -70px;
  }
  .page-community .sec03-col2 {
    position: relative;
    margin-top: -50px;
    margin-bottom: 50px;
    display: flex;
    justify-content: space-between;
  }
  .page-community .sec03-col2__text {
    margin-top: 150px;
    width: 43.2%;
    text-align: left;
    padding: 0 50px;
  }
  .page-community .sec03-col2__img {
    text-align: right;
    padding: 0 0px;
  }
  .page-community .sec03-col2__img img {
    width: 100%;
    height: auto;
  }
  .page-community .sec03 div:after {
    visibility: hidden;
    display: none;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .page-community .sec04 {
    position: relative;
    margin-bottom: 200px;
  }
  .page-community .sec04 h2 {
    font-size: 24px;
    margin-bottom: 60px;
  }
  .page-community .sec04 .h2-line {
    position: relative;
    font-weight: 900;
  }
  .page-community .sec04 .h2-line::before {
    content: "";
    display: block;
    width: 100%;
    height: 38px;
    background: url(./images/community/2024/h2-line.png) no-repeat center;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: -25px;
  }
  .page-community .sec04 .h2-line::after {
    content: "";
    display: block;
    width: 100%;
    height: 38px;
    background: url(./images/community/2024/h2-line.png) no-repeat center;
    margin: 0 auto;
    position: absolute;
    right: 0;
    bottom: -25px;
  }
  .page-community .sec04 .box {
    content: "" !important;
    display: block !important;
    width: 30% !important;
    height: 280px !important;
    background-color: #2c87a0;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    left: 0;
    bottom: -70px;
  }
  .page-community .sec04-col2 {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  .page-community .sec04-col2 div::after {
    display: none;
  }
  .page-community .sec04-col2__text {
    width: 61.6%;
    text-align: left;
    padding-left: 50px;
  }
  .page-community .sec04-col2__text p {
    margin-left: 20px;
  }
  .page-community .sec04-col2__img {
    text-align: left;
    padding: 0 0px;
    position: relative;
  }
  .page-community .sec04-col2__img img {
    width: 100%;
    height: auto;
  }
  .page-community .sec04-col2__img::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    right: -40px;
    bottom: -50px;
    z-index: 100;
  }
  .page-community .sec04 div:after {
    visibility: hidden;
    display: none;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .page-community .sec05 div:after {
    visibility: hidden;
    display: none;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .page-community .sec05 {
    background: url(./images/community/2024/bk-sec05.png) no-repeat bottom 50px left;
    background-size: cover;
    padding-top: 100px;
    padding-bottom: 0px;
  }
  .page-community .sec05 .bk img {
    width: 100%;
    height: auto;
  }
  .page-community .sec05 h2 {
    font-size: 24px;
    margin-bottom: 60px;
  }
  .page-community .sec05 h3 {
    color: #fff;
    font-size: 20px;
    margin-bottom: 30px !important;
  }
  .page-community .sec05 .col3-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px auto 100px;
  }
  .page-community .sec05 .col3-flex .col3-box {
    width: 30.4%;
    text-align: left;
    padding: 0 0px 50px;
    background-color: #333;
    background: url(./images/community/2024/sec05-bk.png) no-repeat right top 10px;
    background-size: cover;
  }
  .page-community .sec05 .col3-flex .col3-box.mt100 {
    margin-top: 100px;
  }
  .page-community .sec05 .col3-flex .col3-box.mt200 {
    margin-top: 200px;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner {
    width: 96%;
    background-color: #2c87a0;
    padding-bottom: 50px;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner .col3-box__img {
    position: relative;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner .col3-box__img img {
    width: 100%;
    height: auto;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner .col3-box__img .no {
    position: absolute;
    width: 70px;
    top: -20px;
    left: 20px;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner h4 {
    clear: both;
    margin: 30px auto 0;
    display: block;
    padding: 0 35px;
    background-color: rgba(0, 0, 0, 0) !important;
    text-align: center;
    line-height: 40px;
    font-size: 18px;
    color: #fff;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner p {
    color: #fff;
    text-align: center;
  }
  .page-community .sec05 .col3-flex .col3-box .main-area {
    position: relative;
  }
  .page-community .sec05 .col3-flex .col3-box .main-area img {
    width: 100%;
    height: auto;
  }
  .page-community .sec05 .col3-flex .col3-box .main-area h3 {
    position: absolute;
    bottom: -30px;
    left: 0;
    background-color: #2c87a0;
    color: #fff;
    width: 246px;
    line-height: 50px;
    font-size: 20px;
    padding: 0 20px;
  }
  .page-community .sec05 .col3-flex .col3-box .text-area {
    margin-top: 45px;
  }
  .page-community .sec06 h2 {
    font-size: 24px;
    margin-bottom: 60px;
  }
  .page-community .sec06 .col3-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px auto 100px;
    vertical-align: top;
  }
  .page-community .sec06 .col3-flex .col3-box {
    width: 30.4%;
    text-align: left;
    padding: 0 0px 50px;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner {
    width: 90%;
    background-color: #2c87a0;
    padding-bottom: 50px;
    padding-top: 10px;
    margin: 0 auto;
    height: 780px;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner.__cercle3 {
    position: relative;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner.__cercle3::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    right: -20px;
    bottom: -40px;
    transform: rotate(250deg);
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img {
    width: 110%;
    margin-top: 30px;
    transform: translateX(-5%);
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img img {
    width: 100%;
    height: auto;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img.__cercle {
    position: relative;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img.__cercle::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    right: -20px;
    bottom: -40px;
    transform: rotate(90deg);
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img.__cercle2 {
    position: relative;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img.__cercle2::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    left: -20px;
    top: -40px;
    transform: rotate(150deg);
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner h3 {
    clear: both;
    margin: 30px auto 0;
    display: block;
    padding: 0 35px;
    background-color: rgba(0, 0, 0, 0) !important;
    text-align: left;
    line-height: 40px;
    font-size: 18px;
    color: #fff;
    background: url(./images/community/2024/sec06-line.png) no-repeat left 30px bottom;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner h3 span {
    font-size: 24px;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner p {
    color: #fff;
    text-align: left;
    padding: 0 20px;
  }
  .page-community .sec06 .col3-flex .col3-box .main-area {
    position: relative;
  }
  .page-community .sec06 .col3-flex .col3-box .main-area img {
    width: 100%;
    height: auto;
  }
  .page-community .sec06 .col3-flex .col3-box .main-area h3 {
    position: absolute;
    bottom: -30px;
    left: 0;
    background-color: #2c87a0;
    color: #fff;
    width: 246px;
    line-height: 50px;
    font-size: 20px;
    padding: 0 20px;
  }
  .page-community .sec06 .col3-flex .col3-box .text-area {
    margin-top: 45px;
  }
  .page-community .sec07 h2 {
    font-size: 24px;
    margin-bottom: 60px;
  }
  .page-community .sec07 .col3-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px auto 100px;
    vertical-align: top;
  }
  .page-community .sec07 .col3-flex .col3-box {
    width: 30.4%;
    text-align: left;
    padding: 0 0px 50px;
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner {
    width: 94%;
    padding-bottom: 50px;
    margin: 0 auto 0 10%;
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner .col3-box__img {
    transform: translateX(-6%);
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner .col3-box__img img {
    width: 100%;
    height: auto;
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner .text-area {
    margin-top: -80px;
    padding-top: 80px;
    background-color: #2c87a0;
    height: 360px;
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner h3 {
    clear: both;
    margin: 30px auto 0;
    display: block;
    padding: 0 20px;
    background-color: rgba(0, 0, 0, 0) !important;
    text-align: left;
    line-height: 40px;
    font-size: 18px;
    color: #fff;
    font-size: 24px;
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner p {
    color: #fff;
    text-align: left;
    padding: 0 20px;
  }
  .page-community .sec07 .col3-flex .col3-box .main-area {
    position: relative;
  }
  .page-community .sec07 .col3-flex .col3-box .main-area img {
    width: 100%;
    height: auto;
  }
  .page-community .sec07 .col3-flex .col3-box .main-area h3 {
    position: absolute;
    bottom: -30px;
    left: 0;
    background-color: #2c87a0;
    color: #fff;
    width: 246px;
    line-height: 50px;
    font-size: 20px;
    padding: 0 20px;
  }
  .page-community .sec07 .col3-flex .col3-box .text-area {
    margin-top: 45px;
  }
  .page-community .sec08 h2 {
    font-size: 24px;
    margin-bottom: 60px;
  }
  .page-community .sec08 .col3-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px auto 100px;
    vertical-align: top;
  }
  .page-community .sec08 .col3-flex .col3-box {
    width: 30.4%;
    text-align: center;
    padding: 0 0px 50px;
  }
  .page-community .sec08 .col3-flex .col3-box.__arrow {
    position: relative;
  }
  .page-community .sec08 .col3-flex .col3-box.__arrow::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/arrow.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    right: 0;
    bottom: 50%;
    transform: translate(50%, 50%);
  }
  .page-community .sec08 .col3-flex .col3-box h3 {
    clear: both;
    margin: 30px auto 30px;
    display: block;
    line-height: 40px;
    font-size: 24px;
    font-weight: 900;
  }
  .page-community .sec08 .col3-flex .col3-box .img img {
    width: 100%;
    height: auto;
  }
  .page-community .sec08 .col3-flex .col3-box p {
    padding: 0 20px;
  }
  .page-community .sec08 .col3-flex .col3-box .main-area {
    position: relative;
  }
  .page-community .sec08 .col3-flex .col3-box .main-area img {
    width: 100%;
    height: auto;
  }
  .page-community .sec08 .col3-flex .col3-box .main-area h3 {
    position: absolute;
    bottom: -30px;
    left: 0;
    background-color: #2c87a0;
    color: #fff;
    width: 246px;
    line-height: 50px;
    font-size: 20px;
    padding: 0 20px;
  }
  .page-community .sec08 .col3-flex .col3-box .text-area {
    margin-top: 45px;
  }
  .page-community .sec09 {
    width: 1250px;
    margin: 60px auto;
    padding: 50px 10px;
    background-image: url(./images/community/2024/border01.png), url(./images/community/2024/border01.png), url(./images/community/2024/border02.png), url(./images/community/2024/border02.png);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    background-position: left top, left bottom, left top, right top;
    background-size: 100%, 100%, 5px 100%, 5px 100%;
  }
  .page-community .sec09 h2 {
    padding-bottom: 10px;
    background: url(./images/community/2024/sec08-h2.png) no-repeat center bottom;
  }
  .page-community .sec09 p span {
    display: inline-block;
    padding: 0 20px;
    text-align: center;
  }
  .page-community .sec10 {
    background: url(./images/community/2024/foot.jpg) no-repeat center bottom;
    background-size: cover;
    padding: 80px 0 50px;
  }
  .page-community .sec10 h3 {
    font-size: 24px;
    margin-bottom: 60px;
    color: #fff;
  }
  .page-community .sec10 .link01 {
    width: 100%;
  }
  .page-community .sec10 .link01 a {
    background-color: #fff;
    color: #2c87a0;
    display: block;
    width: 536px;
    padding: 14px 0;
    margin: 50px auto 10px;
    text-align: center;
    font-size: 24px;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 800;
  }
  .page-community .sec10 .link02 {
    width: 100%;
  }
  .page-community .sec10 .link02 a {
    display: inline-block;
    padding: 14px 60px;
    margin: 50px auto 10px;
    text-align: center;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 800;
    border: 2px solid #fff;
    color: #fff;
  }
  .page-community .sec10 .ex {
    color: #fff;
    margin-bottom: 50px;
  }
  .page-community .sec10 a .c-icon {
    display: none;
  }
  .page-community .sec10 .foot-area {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 2px #fff solid;
  }
  .page-community .sec10 .foot-area h4 {
    background-color: rgba(0, 0, 0, 0);
    color: #fff;
  }
  .page-community .sec10 .foot-area p {
    color: #fff;
  }
  .page-community .bg-pink {
    background-color: #fff0ee;
    padding: 0 0 40px;
  }
  .page-community {

    /*
    , 1px -1px 0 #666, -1px 1px 0 #666, -1px -1px 0 #666;
    background-color: rgba(254, 184, 175, 0.7);
    background-blend-mode: multiply;
    }
    */

  }
}
@media screen and (min-width: 768px) and (min-width: 1200px) {
  .page-community .bg-pink {
    margin: 100px calc(50.7% - 50vw);
  }
}
@media all and (min-width: 768px) {
  .page-community .bg-pink h2 {
    position: relative;
    top: -25px;
    -webkit-text-stroke-width: 0.5px;
    -webkit-text-stroke-color: #000;
    color: #f4904d;
    font-size: 30px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    color: #fff;
    font-weight: 700;
    letter-spacing: 4px;
    text-shadow: 1px 1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000, 4px 2px 0px #f28b46;
  }
  .page-community .content-box {
    display: flex;
    justify-content: space-between;
    text-align: left;
  }
  .page-community .content-box__item {
    width: 30%;
  }
  .page-community .content-box__item h3 {
    font-weight: bold;
    text-align: center;
    font-size: 20px;
    display: inline-block;
    margin: 20px auto 0;
    padding: 5px;
    color: #fff;
    width: 100%;
    font-weight: 800;
    text-shadow: 1px 1px 0 #666, 1px -1px 0 #666, -1px 1px 0 #666, -1px -1px 0 #666;
    background-color: rgba(254, 184, 175, 0.7);
    background-blend-mode: multiply;
  }
  .page-community .content-box__img {
    padding: 20px;
    margin: auto;
    background-color: #fff;
    border-radius: 200px;
    position: relative;
    width: 250px;
    height: 250px;
  }
  .page-community .content-box__img img {
    max-width: 60%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .page-community .member .col2-flex {
    margin-bottom: 30px;
  }
  .page-community .member .col2-flex + .col2-flex {
    margin-bottom: 100px;
  }
  .page-community .interest {
    display: flex;
    justify-content: space-between;
    padding: 30px;
    background-color: #fff0ee;
    margin: 50px auto 100px;
  }
  .page-community .interest__item {
    width: 20%;
    position: relative;
  }
  .page-community .interest__item::after {
    display: none;
  }
  .page-community .interest__item img {
    width: 100%;
    padding: 20px;
    border-radius: 110px;
  }
  .page-community .interest__item.item01 img {
    background-color: #ebeff1;
  }
  .page-community .interest__item.item02 img {
    background-color: #ffe6eb;
  }
  .page-community .interest__item.item03 img {
    background-color: #ffebde;
  }
  .page-community .interest__item.item04 img {
    background-color: #fff3e0;
  }
  .page-community .interest__item h3 {
    background-color: #fff;
    position: absolute;
    top: 170px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    padding: 5px;
    font-weight: bold;
    font-size: 18px;
    text-shadow: 1px 1px 0 #666, 1px -1px 0 #666, -1px 1px 0 #666, -1px -1px 0 #666;
  }
  .page-community .interest__item.item01 h3 {
    background-color: #88cff9;
    color: #fff;
  }
  .page-community .interest__item.item02 h3 {
    background-color: #ff9ed5;
    color: #fff;
  }
  .page-community .interest__item.item03 h3 {
    background-color: #ffb98e;
    color: #fff;
  }
  .page-community .interest__item.item04 h3 {
    background-color: #ffd547;
    color: #fff;
  }
  .page-community .team {
    margin: 50px auto 100px;
  }
  .page-community .team__item {
    display: flex;
    align-items: stretch;
    margin-top: 20px;
  }
  .page-community .team__img {
    width: 25%;
  }
  .page-community .team__img img {
    width: 100%;
  }
  .page-community .team__text {
    width: 50%;
    padding: 30px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
  }
  .page-community .team__text h3 {
    text-align: left;
    font-size: 18px;
    margin-top: 0;
  }
  .page-community .team__text h3 span {
    display: inline-block;
    border-bottom: 2px solid #333;
    font-weight: bold;
  }
  .page-community .flow {
    display: flex;
    justify-content: space-between;
    text-align: left;
  }
  .page-community .flow__item {
    width: 30%;
    text-align: center;
    position: relative;
  }
  .page-community .flow__item::after {
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
    display: block;
    content: "";
    height: 40px;
    width: 20px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: #ccc;
    visibility: inherit;
  }
  .page-community .flow__item:last-of-type:after {
    display: none;
  }
  .page-community .flow__item h3 {
    font-weight: bold;
    text-align: center;
    font-size: 18px;
  }
  .page-community .flow__item h3 span {
    display: block;
    font-size: 14px;
  }
  .page-community .flow__item img {
    width: 60%;
  }
  .page-community .thema {
    margin: 50px auto 100px;
    padding: 30px 200px;
    border: 2px solid #333;
    border-radius: 20px;
  }
  .page-community .thema h3 {
    font-weight: bold;
    font-size: 18px;
    margin: 0 auto 10px;
  }
  .page-community .thema__inner span {
    display: inline-block;
    padding: 0 20px;
  }
  .page-community .recruit-btn a {
    margin: auto;
  }
  .page-community .contact-text span {
    display: inline-block;
  }
  .page-community .content-box__img {
    padding: 20px;
    margin: auto;
    background-color: #fff;
    border-radius: 200px;
    position: relative;
    width: 250px;
    height: 250px;
  }
  .page-community .content-box__img img {
    max-width: 60%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .page-community .member .col2-flex {
    margin-bottom: 30px;
  }
  .page-community .member .col2-flex + .col2-flex {
    margin-bottom: 100px;
  }
  .page-community .interest {
    display: flex;
    justify-content: space-between;
    padding: 30px;
    background-color: #fff0ee;
    margin: 50px auto 100px;
  }
  .page-community .interest__item {
    width: 20%;
    position: relative;
  }
  .page-community .interest__item::after {
    display: none;
  }
  .page-community .interest__item img {
    width: 100%;
    padding: 20px;
    border-radius: 110px;
  }
  .page-community .interest__item.item01 img {
    background-color: #EBEFF1;
  }
  .page-community .interest__item.item02 img {
    background-color: #FFE6EB;
  }
  .page-community .interest__item.item03 img {
    background-color: #FFEBDE;
  }
  .page-community .interest__item.item04 img {
    background-color: #FFF3E0;
  }
  .page-community .interest__item h3 {
    background-color: #fff;
    position: absolute;
    top: 170px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    padding: 5px;
    font-weight: bold;
    font-size: 18px;
    text-shadow: 1px 1px 0 #666, 1px -1px 0 #666, -1px 1px 0 #666, -1px -1px 0 #666;
  }
  .page-community .interest__item.item01 h3 {
    background-color: #88CFF9;
    color: #fff;
  }
  .page-community .interest__item.item02 h3 {
    background-color: #FF9ED5;
    color: #fff;
  }
  .page-community .interest__item.item03 h3 {
    background-color: #FFB98E;
    color: #fff;
  }
  .page-community .interest__item.item04 h3 {
    background-color: #ffd547;
    color: #fff;
  }
  .page-community .team {
    margin: 50px auto 100px;
  }
  .page-community .team__item {
    display: flex;
    align-items: stretch;
    margin-top: 20px;
  }
  .page-community .team__img {
    width: 25%;
  }
  .page-community .team__img img {
    width: 100%;
  }
  .page-community .team__text {
    width: 50%;
    padding: 30px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
  }
  .page-community .team__text h3 {
    text-align: left;
    font-size: 18px;
    margin-top: 0;
  }
  .page-community .team__text h3 span {
    display: inline-block;
    border-bottom: 2px solid #333;
    font-weight: bold;
  }
  .page-community .flow {
    display: flex;
    justify-content: space-between;
    text-align: left;
  }
  .page-community .flow__item {
    width: 30%;
    text-align: center;
    position: relative;
  }
  .page-community .flow__item::after {
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
    display: block;
    content: "";
    height: 40px;
    width: 20px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: #ccc;
    visibility: inherit;
  }
  .page-community .flow__item:last-of-type:after {
    display: none;
  }
  .page-community .flow__item h3 {
    font-weight: bold;
    text-align: center;
    font-size: 18px;
  }
  .page-community .flow__item h3 span {
    display: block;
    font-size: 14px;
  }
  .page-community .flow__item img {
    width: 60%;
  }
  .page-community .thema {
    margin: 50px auto 100px;
    padding: 30px 200px;
    border: 2px solid #333;
    border-radius: 20px;
  }
  .page-community .thema h3 {
    font-weight: bold;
    font-size: 18px;
    margin: 0 auto 10px;
  }
  .page-community .thema__inner span {
    display: inline-block;
    padding: 0 20px;
  }
  .page-community .recruit-btn a {
    margin: auto;
  }
  .page-community .contact-text span {
    display: inline-block;
  }
  .page-community a[href$=pdf] {
    background: none;
  }
}
@media all and (max-width: 767px) {
  .page-community {
    /* ---------------------------------------------
    　layout modules
    ------------------------------------------------ */
    /* フェードイン */
  }
  .page-community .list-mv02 {
    opacity: 0;
    transition: 0.8s;
  }
  .page-community .mv02 {
    opacity: 1;
  }
  .page-community .mv08 {
    opacity: 1;
    display: block;
  }
  .page-community {
    /* base modules
    ------------------------------------------------ */
  }
  .page-community .content p,
  .page-community .content ul,
  .page-community .content dl,
  .page-community .content ol,
  .page-community .content table,
  .page-community .content blockquote {
    margin: 20px 0 0;
    line-height: 1.8em;
  }
  .page-community .content ul p, .page-community .content ul dl, .page-community .content ul ol,
  .page-community .content dl p, .page-community .content dl ul, .page-community .content dl ol,
  .page-community .content ol p, .page-community .content ol ul, .page-community .content ol dl,
  .page-community .content table p, .page-community .content table ul, .page-community .content table dl, .page-community .content table ol {
    margin: 0;
  }
  .page-community .content p img, .page-community .content dl img, .page-community .content ul img {
    vertical-align: middle;
  }
  .page-community .column-image-left, .page-community .column-image-center, .page-community .column-image-right {
    margin-top: 20px !important;
  }
  .page-community {
    /* common modules
    ------------------------------------------------ */
  }
  .page-community em {
    color: #FD6408;
  }
  .page-community .copy {
    color: #FD6408;
  }
  .page-community .small {
    font-size: 87%;
  }
  .page-community .x-small {
    font-size: 78%;
  }
  .page-community .large {
    font-size: 107%;
  }
  .page-community .x-large {
    font-size: 120%;
  }
  .page-community .xxx-large {
    font-size: 150%;
  }
  .page-community .attention {
    color: #FF3366;
  }
  .page-community .bold {
    font-weight: bold;
  }
  .page-community .center {
    text-align: center;
  }
  .page-community .right {
    text-align: right;
  }
  .page-community .left {
    text-align: left;
  }
  .page-community .float-l {
    float: left;
  }
  .page-community .float-r {
    float: right;
  }
  .page-community .clear {
    clear: both;
  }
  .page-community .img-l {
    float: left;
    margin: 0 25px 10px 0;
  }
  .page-community .img-r {
    float: right;
    margin: 0 0 10px 25px;
  }
  .page-community .nowrap {
    white-space: nowrap;
  }
  .page-community .nomargintop {
    margin-top: 0 !important;
  }
  .page-community .content .nocss {
    maring: 0;
    padding: 0;
    border: none;
    background: none;
  }
  .page-community {
    /* margin */
  }
  .page-community .ma01 {
    width: 94%;
    margin: 0 auto;
  }
  .page-community {
    /* --- anchor --- */
  }
  .page-community .anchor {
    background: url(../images/icon_arrow01.png) no-repeat 0 0.4em;
    padding-left: 13px;
  }
  .page-community {
    /* --- ext icon --- */
  }
  .page-community a[href$=".xls"], .page-community a[href$=".xlsx"] {
    background: url(../images/fileicon/xls.png) no-repeat 100% 50%;
    padding-right: 25px;
  }
  .page-community a[href$=".doc"], .page-community a[href$=".docx"] {
    background: url(../images/fileicon/doc.png) no-repeat 100% 50%;
    padding-right: 25px;
  }
  .page-community a[href$=pdf] {
    background: url(../images/fileicon/pdf.png) no-repeat 100% 50%;
    padding-right: 25px;
  }
  .page-community a[href$=ppt] {
    background: url(../images/fileicon/ppt.png) no-repeat 100% 50%;
    padding-right: 25px;
  }
  .page-community {
    /* --- openwin --- */
  }
  .page-community .openwin {
    padding-left: 5px;
  }
  .page-community img.openwin {
    width: 15px !important;
    height: auto;
  }
  .page-community {
    /* ---　pagetop-in　 --- */
  }
  .page-community .pagetop-in {
    text-align: right;
  }
  .page-community .pagetop-in a {
    background: url(../images/icon_arrow_pagetop.png) no-repeat 0 0.4em;
    padding-left: 15px;
    font-size: 92%;
  }
  .page-community {
    /* --- blockquote --- */
  }
  .page-community blockquote,
  .page-community .acms-entry blockquote {
    background: #fff;
    border: 0;
    margin-top: 40px;
    padding: 30px 20px;
  }
  .page-community {
    /* ---　btn　 --- */
  }
  .page-community .btn a {
    display: block;
    background: #ffd6ba;
    color: #333;
    padding: 10px 0;
    transition: all 0.3s ease;
    border: 2px solid #ffd6ba;
    position: relative;
    text-decoration: none;
  }
  .page-community .btn a:link,
  .page-community .btn a:visited,
  .page-community .btn a:hover,
  .page-community .btn a:active {
    text-decoration: none;
  }
  .page-community .btn a::after {
    display: block;
    content: "";
    position: absolute;
    top: 43%;
    right: 15px;
    width: 6px;
    height: 6px;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    transform: rotate(-45deg);
  }
  .page-community {
    /* ボタンカラー */
  }
  .page-community .b-02 a {
    display: block;
    background: #fcf08d;
    border: 2px solid #fcf08d;
    text-align: center;
  }
  .page-community .b-03 a {
    display: block;
    background: #fcf192;
    border: 2px solid #fcf192;
    text-align: center;
  }
  .page-community .b-04 a {
    background: #f8f6e8;
    border: 2px solid #f8f6e8;
    text-align: center;
  }
  .page-community .btn a:hover,
  .page-community .b-02 a:hover,
  .page-community .b-03 a:hover,
  .page-community .b-04 a:hover {
    color: #333;
    background-color: #fffef7;
  }
  .page-community {
    /* ---　width　 --- */
  }
  .page-community .w360c {
    width: 90%;
    margin: 0 auto;
  }
  .page-community .w360c img {
    width: 200px;
    height: auto;
  }
  .page-community .w80p {
    width: 80%;
    margin: 0 auto;
  }
  .page-community .wsp94p {
    width: 94%;
    margin: 0 auto;
  }
  .page-community .w94p {
    width: 94%;
    margin: 0 auto !important;
    text-align: left;
  }
  .page-community {
    /* font */
  }
  .page-community .f-roboto {
    font-family: "Roboto Condensed", sans-serif;
  }
  .page-community {
    /* ---　color　 --- */
  }
  .page-community .color01 {
    color: #2357cd !important;
  }
  .page-community .color02 {
    color: #1fa4a4 !important;
  }
  .page-community .color03 {
    color: #8dbe25 !important;
  }
  .page-community {
    /* ------ title -------------------------------- */
  }
  .page-community .content h2,
  .page-community .content .wysiwyg h1 {
    clear: both;
    margin: 30px auto 0;
  }
  .page-community .content h2 a:link {
    text-decoration: underline;
  }
  .page-community .content h2 a:visited {
    text-decoration: underline;
  }
  .page-community .content h2 a:hover, .page-community .content h2 a:active {
    text-decoration: none;
  }
  .page-community .content h2 span {
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", Osaka;
  }
  .page-community {
    /* ///画像つき */
  }
  .page-community .type01 {
    display: inline-block;
    margin: 0 auto;
    padding: 13px 50px;
    font-size: 2rem;
    text-align: center;
    position: relative;
    background-image: url(../images/bg_title_l.png), url(../images/bg_title_r.png);
    background-repeat: no-repeat;
    background-position: left center, right center;
    background-size: 13px auto;
  }
  .page-community {
    /* 吹き出し */
  }
  .page-community .type02 {
    margin: 0 auto;
    padding: 0 0 20px 40px;
    line-height: 2;
    display: inline-block;
    background: url(../about/images/bg_hukidashi.png) no-repeat 10% 0;
    background-size: 50% auto;
    color: #f38391;
    font-size: 1.6rem;
    text-align: center;
  }
  .page-community .type02 span {
    font-size: 2rem;
  }
  .page-community .type02 span rt {
    color: #666;
    font-size: 1.2rem;
    text-align: center;
  }
  .page-community {
    /* 黒文字 */
  }
  .page-community .type03 {
    font-size: 1.6rem;
    color: #000;
    letter-spacing: -1px;
  }
  .page-community .type03 span {
    font-size: 2.2rem;
  }
  .page-community {
    /* 装飾 */
  }
  .page-community .type04 {
    position: relative;
    z-index: 1;
    line-height: 1.2;
    font-size: 1.6rem;
    margin-bottom: 30px !important;
    text-align: center;
  }
  .page-community .type04 span {
    display: inline-block;
    padding: 10px 15px;
    background-color: #5dbebe;
    border-radius: 50px;
    color: #fff;
    text-align: center;
  }
  .page-community .type04:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #5dbebe;
    z-index: -1;
  }
  .page-community .t04-2 span,
  .page-community .t04-2:before {
    background-color: #dcc12f;
  }
  .page-community .t04-3 span,
  .page-community .t04-3:before {
    background-color: #faa79c;
  }
  .page-community .content h3,
  .page-community .content .wysiwyg h2 {
    clear: both;
    margin: 30px 0 0;
  }
  .page-community .content .entry-container h3,
  .page-community .content .entry-container.wysiwyg h2 {
    font-size: 110%;
    background: #d2eee8;
    padding: 10px;
    text-align: center;
  }
  .page-community .type05,
  .page-community .content .wysiwyg h2 {
    clear: both;
    margin: 30px 0 0;
    overflow: hidden;
    text-align: center;
  }
  .page-community .type05 span,
  .page-community .content .wysiwyg h2 span {
    position: relative;
    display: inline-block;
    margin: 0 2.5em;
    padding: 0 1em;
    text-align: left;
    font-size: 1.8rem;
  }
  .page-community .type05 span::before,
  .page-community .type05 span::after,
  .page-community .content .wysiwyg h2 span::before,
  .page-community .content .wysiwyg h2 span::after {
    position: absolute;
    top: 50%;
    content: "";
    width: 400%;
    height: 1px;
    background-color: #fcf192;
  }
  .page-community .type05 span::before,
  .page-community .content .wysiwyg h2 span::before {
    right: 100%;
  }
  .page-community .type05 span::after,
  .page-community .content .wysiwyg h2 span::after {
    left: 100%;
  }
  .page-community .content h4,
  .page-community .content .wysiwyg h3 {
    clear: both;
    margin: 30px auto 0;
    display: inline-block;
    padding: 0 35px;
    background-color: #d2efef;
    border-radius: 50px;
    text-align: center;
    line-height: 40px;
    font-size: 1.8rem;
  }
  .page-community .content h5,
  .page-community .content .wysiwyg h4 {
    clear: both;
    font-weight: bold;
    margin: 40px 0 0;
    padding: 5px 10px;
    border: 1px solid #eef1fa;
    font-size: 120%;
  }
  .page-community {
    /* ------ ul ----------------------------------- */
    /* --- normal list --- */
  }
  .page-community .list li {
    padding: 0 0 0 15px;
    display: block;
    position: relative;
    text-align: left;
  }
  .page-community .list li::after {
    display: block;
    content: "";
    position: absolute;
    top: 0.7em;
    left: 0;
    width: 6px;
    height: 6px;
    background-color: #5dbebe;
  }
  .page-community {
    /* --- link list --- */
  }
  .page-community .link li {
    color: #333;
    padding: 0 0 0 15px;
    display: block;
    position: relative;
    text-align: left;
  }
  .page-community .link li::after {
    display: block;
    content: "";
    position: absolute;
    top: 0.6em;
    left: 0;
    width: 5px;
    height: 5px;
    border-right: 1px solid #5dbebe;
    border-bottom: 1px solid #5dbebe;
    transform: rotate(-45deg);
  }
  .page-community ul.link-box {
    width: 94%;
    margin: 0 auto;
    text-align: center;
  }
  .page-community .link-box li {
    border: 2px solid #d2efef;
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 1.5rem;
  }
  .page-community ul.link-box li a {
    display: block;
    padding: 1rem 35px 1rem 1rem;
    height: 100%;
    font-size: 1.6rem;
    background: #f8f6e8;
    text-decoration: none;
    position: relative;
    color: #32a7a7;
  }
  .page-community ul.link-box li a::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 6px;
    height: 6px;
    border-right: 1px solid #32a7a7;
    border-bottom: 1px solid #32a7a7;
    transform: rotate(-45deg);
  }
  .page-community ul.link-box li a:hover {
    background: #d2efef;
  }
  .page-community ul.link-box li a dd {
    color: #333;
    font-size: 1.4rem;
  }
  .page-community {
    /* --- number list --- */
  }
  .page-community ol {
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
  }
  .page-community ol li {
    margin-bottom: 10px;
    padding-left: 30px;
    position: relative;
  }
  .page-community ol li:before {
    content: counter(my-counter);
    counter-increment: my-counter;
    background-color: #d2efef;
    color: #333;
    display: block;
    float: left;
    line-height: 25px;
    margin-left: -30px;
    margin-top: 2px;
    text-align: center;
    height: 25px;
    width: 25px;
    border-radius: 50%;
  }
  .page-community {
    /* --- attention list --- */
  }
  .page-community .rice li {
    margin: 0 0 5px 1em;
    text-indent: -1em;
  }
  .page-community {
    /* --- compact list --- */
  }
  .page-community .compact li {
    display: inline;
    margin-right: 10px;
  }
  .page-community {
    /* --- within compact list --- */
  }
  .page-community .within {
    padding: 8px;
    border: 1px solid #ddd;
  }
  .page-community .within li {
    background: url(../images/icon_arrow_within.png) no-repeat 0 0.4em;
    padding-left: 15px;
  }
  .page-community .content ul ul, .page-community .content dl dl, .page-community .content ol ol {
    margin-top: 5px;
  }
  .page-community {
    /* ------ dl ----------------------------------- */
    /* --- normal list --- */
  }
  .page-community .list dt {
    background: url(../images/icon_list01.png) no-repeat 0 0.5em;
    padding-left: 13px;
    font-weight: bold;
  }
  .page-community .list dd {
    padding-left: 13px;
  }
  .page-community {
    /* --- link list --- */
  }
  .page-community .link dt {
    background: url(../images/icon_arrow01.png) no-repeat 0 0.4em;
    padding-left: 15px;
    font-weight: bold;
  }
  .page-community .link dd {
    padding-left: 15px;
  }
  .page-community {
    /* --- horizonal --- */
  }
  .page-community .horizonal dt {
    clear: left;
    float: left;
    width: 10em;
    padding: 8px 8px 8px 0;
  }
  .page-community .horizonal dd {
    padding: 8px 15px 8px 11em;
    border-bottom: 1px solid #ddd;
  }
  .page-community {
    /* --- qa --- */
  }
  .page-community dl.qa {
    text-align: left;
    padding-bottom: 10px;
    width: 96%;
    margin: 0 auto;
  }
  .page-community .qa dt {
    position: relative;
    z-index: 1;
  }
  .page-community .qa dt:before {
    display: block;
    content: "Q";
    position: absolute;
    top: 0;
    left: 0;
    width: 42px;
    height: 42px;
    line-height: 42px;
    text-align: center;
    color: #fff;
    font-size: 1.8rem;
    font-family: "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", Osaka;
    background-color: #6490e1;
    border-radius: 100%;
  }
  .page-community .qa dt:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #e0e8f3;
    z-index: -1;
  }
  .page-community .qa dt span {
    display: inline-block;
    vertical-align: bottom;
    border-radius: 50px;
    border: 3px solid #e0e8f3;
    padding: 3px 20px 3px 53px;
    background: #fffef7;
  }
  .page-community .qa dd {
    margin: 20px 3% 35px;
  }
  .page-community {
    /* ------ layout frame ------------------------- */
  }
  .page-community .layout-unit img {
    width: 100%;
    height: auto;
  }
  .page-community .grid-4 {
    width: 94%;
    margin: 0 auto;
  }
  .page-community .grid-6 {
    width: 94%;
    margin: 0 auto;
  }
  .page-community {
    /* ------ social media ------------------------- */
  }
  .page-community .social {
    margin-top: 20px;
  }
  .page-community .social ul li {
    float: left;
    margin-right: 10px;
    vertical-align: top;
    width: 80px;
    display: inline-table;
  }
  .page-community .social ul li.twitter,
  .page-community .social ul li.google {
    padding-top: 5px;
  }
  .page-community .social ul li * {
    margin: 0;
    padding: 0;
  }
  .page-community .social ul:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .page-community * html .social ul {
    zoom: 1;
  }
  .page-community { /* IE6 */ }
  .page-community *:first-child + html .social ul {
    zoom: 1;
  }
  .page-community { /* IE7 */
    /* ------ table -------------------------------- */
  }
  .page-community table {
    border-collapse: collapse;
    border: none;
    width: 100%;
    box-sizing: border-box;
  }
  .page-community table th,
  .page-community table td {
    padding: 10px;
    vertical-align: top;
    border: 2px solid #fffef7;
    background: #f8f6e8;
  }
  .page-community table th {
    background: #fcf192;
    text-align: center;
  }
  .page-community table thead th,
  .page-community th.head {
    background: #d2efef;
  }
  .page-community {
    /* --- noborder --- */
  }
  .page-community table.noborder,
  .page-community table.noborder td,
  .page-community table.noborder th {
    border: 0;
    background: none;
  }
  .page-community {
    /* index
    ------------------------------------------------ */
  }
  .page-community .index {
    clear: both;
    margin: 0 0 0 -20px;
  }
  .page-community .index dl {
    position: relative;
    float: left;
    display: inline;
    margin-left: 20px;
    width: 350px;
    background: #eee;
  }
  .page-community .index dt {
    padding: 7px;
    background: #ddd;
  }
  .page-community .index dt a {
    text-decoration: none;
  }
  .page-community .index dd {
    padding: 7px;
  }
  .page-community {
    /* cms
    ------------------------------------------------ */
    /* --- entry-date --- */
  }
  .page-community .entry-date {
    text-align: right;
    font-size: 87%;
  }
  .page-community {
    /* --- entry-navigation / pager-navigation --- */
  }
  .page-community .entry-navigation,
  .page-community .pager-navigation {
    margin: 30px auto;
  }
  .page-community .entry-navigation a:link, .page-community .entry-navigation a:visited, .page-community .entry-navigation a:hover, .page-community .entry-navigation a:active,
  .page-community .pager-navigation a:link, .page-community .pager-navigation a:visited, .page-community .pager-navigation a:hover, .page-community .pager-navigation a:active {
    text-decoration: none;
  }
  .page-community .entry-navigation ul,
  .page-community .pager-navigation ul {
    margin: 0 auto;
    text-align: center;
  }
  .page-community {
    /* ------ social icon -------------------------- */
  }
  .page-community .social-icon ul {
    margin: 20px auto;
    text-align: center;
  }
  .page-community .social-icon ul li {
    display: inline-block;
  }
  .page-community .social-icon ul li a {
    display: block;
    width: 60px;
    height: 60px;
    text-indent: -99999px;
    font-size: 50%;
    border-radius: 50%;
  }
  .page-community {
    /* entry-navigation */
  }
  .page-community .entry-navigation {
    background: #d2efef;
  }
  .page-community .entry-navigation li {
    width: 33%;
    line-height: 40px;
    padding: 0 10px;
  }
  .page-community .entry-navigation .entry-new {
    float: left;
    text-align: left;
  }
  .page-community .entry-navigation .entry-list {
    float: left;
    text-align: center;
  }
  .page-community .entry-navigation .entry-old {
    float: right;
    text-align: right;
  }
  .page-community .entry-navigation .home {
    text-align: center;
    margin: -40px auto 0;
    background: #5cbebe;
    width: 7em;
    line-height: 40px;
  }
  .page-community .entry-navigation .home a {
    color: #fff;
    display: block;
    height: 100%;
  }
  .page-community .entry-navigation ul:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .page-community * html .entry-navigation ul {
    zoom: 1;
  }
  .page-community { /* IE6 */ }
  .page-community *:first-child + html .entry-navigation ul {
    zoom: 1;
  }
  .page-community { /* IE7 */
    /* pager-navigation */
  }
  .page-community .pager-navigation ul li {
    display: inline-block;
    text-align: center;
    margin-right: 1px;
    line-height: 1;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 1.8rem;
  }
  .page-community .pager-navigation ul li span.cur {
    background: #5cbebe;
    color: #fff;
    display: block;
    line-height: 1;
    padding: 0.7em 0.9em;
    position: relative;
  }
  .page-community .pager-navigation ul li a:link,
  .page-community .pager-navigation ul li a:visited {
    background: #d2efef;
    color: #333;
    display: block;
    line-height: 1;
    padding: 0.7em 0.9em;
    position: relative;
  }
  .page-community .pager-navigation ul li a:hover,
  .page-community .pager-navigation ul li a:active {
    background: #5cbebe;
    color: #fff;
  }
  .page-community {
    /* 続きを読むリンク */
  }
  .page-community .search.entry p.continue {
    margin: 0;
    padding: 0;
  }
  .page-community .search.entry p.continue a {
    display: block;
    margin: 0;
    padding: 10px 0;
    border-top: 1px solid #E8E8E8;
  }
  .page-community .search.entry p.continue a:hover {
    background-color: #F0F0F0;
  }
  .page-community {
    /* --- jobintroduction --- */
  }
  .page-community .work-article.jobintroduction-area .btn a {
    margin: auto;
    width: 92%;
  }
  .page-community .work-article .jobintroduction-list li {
    width: 94%;
    max-width: 350px;
    margin: 0 auto 30px;
  }
  .page-community .work-article .jobintroduction-list dl dt span.img-wrap {
    display: block;
    width: 100%;
    height: 220px;
    overflow: hidden;
    position: relative !important;
    left: 0 !important;
    z-index: 0;
  }
  .page-community .work-article .jobintroduction-list dl dt span.img-wrap img {
    margin-bottom: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .page-community .work-article .jobintroduction-list dl dt {
    position: relative;
    width: 100%;
    height: 230px;
  }
  .page-community .work-article .jobintroduction-list dt:before,
  .page-community .work-article .jobintroduction-list dt:after,
  .page-community .work-article .jobintroduction-navi dt:before,
  .page-community .work-article .jobintroduction-navi dt:after,
  .page-community .work-article .man-img:before,
  .page-community .work-article .man-img:after {
    content: "";
    display: block;
    position: absolute;
    width: 30px;
    height: 30px;
  }
  .page-community .work-article .jobintroduction-list dt:before,
  .page-community .work-article .jobintroduction-navi dt:before,
  .page-community .work-article .man-img:before {
    top: -6px;
    left: -7px;
    background: url(./images/community/bg_photo_t.png) no-repeat 0 0;
    z-index: 1;
    background-size: 20px auto;
  }
  .page-community .work-article .jobintroduction-list dt:after,
  .page-community .work-article .jobintroduction-navi dt:after {
    bottom: 5px;
    right: -5px;
    background: url(./images/community/bg_photo_b.png) no-repeat right bottom;
    background-size: 20px auto;
  }
  .page-community .work-article .jobintroduction-list dl dd,
  .page-community .work-article .jobintroduction-navi dl dd {
    text-align: left;
  }
  .page-community .work-article .jobintroduction-list dl dd.job:after,
  .page-community .work-article .jobintroduction-navi dl dd.job:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 70px;
    height: 1px;
    background-color: #70b2b2;
  }
  .page-community .work-article .jobintroduction-list dl dd.text {
    margin-top: 10px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .page-community .work-article .jobintroduction-list dl dd.f-roboto a {
    color: #666;
    font-size: 1.6rem;
  }
  .page-community {
    /* --- voice-area --- */
  }
  .page-community .voice-area {
    width: 100%;
    min-height: 450px;
    position: relative;
    margin: 0 auto 0;
    padding-bottom: 30px;
    text-align: center;
    z-index: 1;
    /*overflow:hidden;*/
  }
  .page-community .voice-area a:hover {
    text-decoration: none;
  }
  .page-community .voice-box {
    width: 1000px;
    position: absolute;
    top: 85px;
    left: 50%;
    margin-left: -500px;
    height: 400px;
  }
  .page-community .voice-box .bx-wrapper {
    margin: 0 auto;
    text-align: center;
    width: 250px !important;
  }
  .page-community .voice-box .bx-viewport {
    overflow: visible !important;
    min-height: 400px;
  }
  .page-community .voice-box ul {
    margin: 0 auto;
  }
  .page-community .voice-area li {
    width: 250px;
    /*margin-left:12px;
    float:left;*/
    margin: 0 auto 30px;
  }
  .page-community .voice-area dl {
    width: 235px;
  }
  .page-community .voice-area dl dt {
    position: relative;
    width: 235px;
    height: 155px;
  }
  .page-community .voice-area dl dt span.img-wrap {
    width: 235px;
    height: 145px;
    overflow: hidden;
    display: block;
  }
  .page-community .voice-area dt:before,
  .page-community .voice-area dt:after {
    content: "";
    display: block;
    position: absolute;
    width: 30px;
    height: 30px;
  }
  .page-community .voice-area dt:before {
    top: -6px;
    left: -7px;
    background: url(./images/community/bg_photo_t.png) no-repeat 0 0;
    background-size: 30px auto;
  }
  .page-community .voice-area dt:after {
    bottom: 4px;
    right: -7px;
    background: url(./images/community/bg_photo_b.png) no-repeat 0 0;
    background-size: 30px auto;
  }
  .page-community .voice-area dl dt span:not(.img-wrap) {
    display: inline-block;
    position: absolute;
    /*top:135px;*/
    bottom: 0;
    left: 0px;
    padding: 0 5px;
    font-size: 12px;
    color: #fff;
    /*width:90px;*/
    text-align: center;
  }
  .page-community .voice-area dl dt span.city {
    background: #8a8a8a;
    left: 6.2em;
  }
  .page-community .voice-area dl dt span.new-icon {
    background: #ff2b2b;
    color: #fff;
    top: 99px;
    left: 0px;
  }
  .page-community .i-turn[data-id*=Iターン] {
    background-color: #4ac5c5;
    color: #fff;
  }
  .page-community .i-turn[data-id*=Uターン] {
    background-color: #f38391;
    color: #fff;
  }
  .page-community .i-turn[data-id*=Jターン] {
    background-color: #95c233;
    color: #fff;
  }
  .page-community .voice-area dl dd {
    text-align: left;
  }
  .page-community .voice-area dl dd.name {
    font-size: 2.4rem;
    margin-top: 20px;
  }
  .page-community .voice-area dl dd.name span {
    font-size: 2rem;
  }
  .page-community .voice-area dl dd.job {
    position: relative;
    padding-bottom: 15px;
  }
  .page-community .voice-area dl dd.job:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 70px;
    height: 1px;
    background-color: #70b2b2;
  }
  .page-community .voice-area dl dd.text {
    margin-top: 20px;
    font-size: 1.5rem;
    line-height: 1.5;
  }
  .page-community .voice-area dl dd.f-roboto a {
    color: #666;
    font-size: 1.6rem;
  }
  .page-community .voice-area .bx-wrapper .bx-prev {
    top: 20%;
    left: -20px;
    background: url(./images/community/icon_pre.png) no-repeat 0 0;
  }
  .page-community .voice-area .bx-wrapper .bx-next {
    top: 20%;
    right: -20px;
    background: url(./images/community/icon_next.png) no-repeat 0 0;
  }
  .page-community {
    /* --- supporter-area --- */
  }
  .page-community .supporter-area {
    clear: both;
    width: 100%;
    margin: 20px auto 50px;
    padding: 5px 0 50px;
    text-align: center;
    background: #fffce8 url(../top/images/bg_supporter.png) repeat-x 0 0;
    background-size: 100% auto;
  }
  .page-community .supporter-area .inner {
    position: relative;
    /*background-image:url(../top/images/img_supporter01.png),url(../top/images/img_supporter02.png);*/
    background-position: left top, right top;
    background-repeat: no-repeat;
    background-size: 22% auto, 27% auto;
  }
  .page-community .supporter-area h2 {
    margin: 0 auto;
    padding-top: 10px;
  }
  .page-community .supporter-area h2 img {
    width: 132px;
  }
  .page-community .supporter-area h2 span {
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: #eeab09;
  }
  .page-community .supporter-area .btn {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -80px;
    width: 92%;
  }
  .page-community .supporter-area .btn a {
    padding: 15px 0;
    text-align: center;
  }
  .page-community .supporter-area p {
    width: 90%;
    margin: 3.5rem auto 0;
    font-size: 1.3rem;
    text-align: left;
  }
  .page-community {
    /* --- news-list --- */
  }
  .page-community ul.news-list {
    border-top: 1px solid #ddd;
  }
  .page-community .news-list li {
    clear: both;
    border-bottom: 1px solid #ddd;
  }
  .page-community .news-list li a {
    display: block;
    color: #333;
    margin-bottom: 10px;
    padding: 10px 30px 10px 10px;
    display: block;
    position: relative;
    text-align: left;
  }
  .page-community .news-list li a::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #5dbebe;
    border-bottom: 2px solid #5dbebe;
    transform: rotate(-45deg);
  }
  .page-community .entry-container,
  .page-community .entry-date,
  .page-community .column-gf-file-auto {
    margin: 20px 20px 0 !important;
  }
  .page-community .entry-container table th,
  .page-community .entry-container table td {
    display: block;
    width: 100%;
  }
  .page-community .container {
    clear: both;
    width: 100%;
    margin: 0 auto;
    padding-top: 80px;
    min-height: 100px;
    height: auto;
    background-color: #f3efed;
    background: url(./images/community/2024/back.jpg) repeat left top;
  }
  .page-community .content {
    width: 100%;
    margin: 0px auto 0px;
    text-align: center;
    padding: 100px 0 0;
    color: #2c87a0;
  }
  .page-community .mv {
    margin-top: -10px;
    background: url(./images/community/2024/back.jpg) repeat left top;
    min-width: 100%;
  }
  .page-community .mv .main-area {
    background: url(./images/community/2024/main-back.jpg) repeat left top;
    background-size: cover;
    margin-top: -100px;
    padding-top: 140px;
    padding-bottom: 80px;
    text-align: center;
  }
  .page-community .mv .main-area h1 {
    width: 76%;
    margin: 0 20px 34px;
  }
  .page-community .mv .main-area h2 {
    font-size: 20px;
    color: #fff;
    margin: 0 20px 30px;
  }
  .page-community .mv .main-area p {
    color: #fff;
    margin: 0 20px 60px;
  }
  .page-community .mv .main-area .link {
    margin: 0 20px;
    background-color: #fff;
    border-radius: 50px;
    padding: 5px 5px;
    width: 90%;
  }
  .page-community .mv .main-area .link a {
    width: 100%;
    display: block;
    background-color: #fff;
    color: #2c87a0;
    border: 1px solid #2c87a0;
    padding: 10px 80px;
    border-radius: 50px;
    font-weight: 900;
    display: block;
    width: 100%;
    text-align: center;
  }
  .page-community .mv img {
    width: 100%;
  }
  .page-community .type03 {
    font-weight: bold;
  }
  .page-community .heading1 {
    margin: 30px 0 0;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
  }
  .page-community .heading1 span {
    display: block;
    font-size: 40px;
    color: #eeab09;
  }
  .page-community .container {
    padding-top: 0;
  }
  .page-community .mt70 {
    margin-top: 70px;
  }
  .page-community .pt70 {
    padding-top: 70px;
  }
  .page-community .inner {
    width: 100% !important;
  }
  .page-community section {
    position: relative;
  }
  .page-community .sec01 div:after {
    visibility: hidden;
    display: none;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .page-community .col2-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px auto 100px;
    flex-wrap: wrap;
  }
  .page-community .col2-flex__text {
    width: 100%;
    text-align: left;
    padding: 0 20px;
    margin-bottom: 50px;
  }
  .page-community .col2-flex__text h2 {
    text-align: center;
    margin-bottom: 40px;
    position: relative;
  }
  .page-community .col2-flex__text h2 img {
    width: 100%;
    height: auto;
  }
  .page-community .col2-flex__img {
    width: 100%;
    position: relative;
    text-align: right;
    margin-right: -200px;
  }
  .page-community .col2-flex__img::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    right: 65%;
    bottom: -60px;
    transform: scale(0.6);
  }
  .page-community .col2-flex__img img {
    width: 80%;
    height: auto;
  }
  .page-community .col2-flex__img img {
    max-width: 100%;
  }
  .page-community .sec02 {
    margin-bottom: 0px;
    width: 100%;
  }
  .page-community .col3-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px 20px 50px;
    flex-wrap: wrap;
  }
  .page-community .col3-flex .col3-box {
    width: 100%;
    text-align: left;
    padding: 0 0px 50px;
  }
  .page-community .col3-flex .col3-box .main-area {
    position: relative;
  }
  .page-community .col3-flex .col3-box .main-area img {
    width: 100%;
    height: auto;
  }
  .page-community .col3-flex .col3-box .main-area h3 {
    position: absolute;
    bottom: -30px;
    left: 0;
    background-color: #2c87a0;
    color: #fff;
    width: 246px;
    line-height: 50px;
    font-size: 20px;
    padding: 0 20px;
  }
  .page-community .col3-flex .col3-box .text-area {
    margin-top: 45px;
  }
  .page-community .sec03 {
    position: relative;
    margin-bottom: 100px;
  }
  .page-community .sec03 .main {
    position: relative;
  }
  .page-community .sec03 .main img {
    width: 100%;
    height: auto;
  }
  .page-community .sec03-col2 {
    position: relative;
    margin-top: -30px;
    margin-bottom: 50px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  .page-community .sec03-col2__text {
    margin-top: 30px;
    width: 100%;
    text-align: left;
    padding: 0 50px;
  }
  .page-community .sec03-col2__img {
    text-align: right;
    padding: 0 0px;
    position: relative;
  }
  .page-community .sec03-col2__img img {
    width: 90%;
    height: auto;
  }
  .page-community .sec03-col2__img::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    left: -20px;
    bottom: -50px;
    transform: rotate(70deg) scale(0.6);
  }
  .page-community .sec03 div:after {
    visibility: hidden;
    display: none;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .page-community .sec04 {
    position: relative;
    margin-bottom: 80px;
  }
  .page-community .sec04 h2 {
    font-size: 24px;
    margin-bottom: 60px;
  }
  .page-community .sec04 .h2-line {
    position: relative;
    font-weight: 900;
  }
  .page-community .sec04 .h2-line::before {
    content: "";
    display: block;
    width: 100%;
    height: 38px;
    background: url(./images/community/2024/h2-line.png) no-repeat center;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: -25px;
  }
  .page-community .sec04 .h2-line::after {
    content: "";
    display: block;
    width: 100%;
    height: 38px;
    background: url(./images/community/2024/h2-line.png) no-repeat center;
    margin: 0 auto;
    position: absolute;
    right: 0;
    bottom: -25px;
  }
  .page-community .sec04 .box {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 206px !important;
    background-color: #2c87a0;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    left: -200px;
    top: 120px;
  }
  .page-community .sec04-col2 {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .page-community .sec04-col2 div::after {
    display: none;
  }
  .page-community .sec04-col2__text {
    width: 100%;
    text-align: left;
  }
  .page-community .sec04-col2__text h3 {
    width: 50%;
  }
  .page-community .sec04-col2__text h3 img {
    width: 100%;
    height: auto;
  }
  .page-community .sec04-col2__img {
    text-align: left;
    padding: 0 0px;
    position: relative;
    margin-bottom: 30px;
  }
  .page-community .sec04-col2__img img {
    width: 100%;
    height: auto;
  }
  .page-community .sec04-col2__img::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    right: -40px;
    bottom: -50px;
    z-index: 100;
    transform: scale(0.6);
  }
  .page-community .sec04 div:after {
    visibility: hidden;
    display: none;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .page-community .sec05 div:after {
    visibility: hidden;
    display: none;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .page-community .sec05 {
    background: url(./images/community/sp/2024/bk-sec05.png) no-repeat top left;
    background-size: 100%;
    padding-top: 50px;
    padding-bottom: 0px;
  }
  .page-community .sec05 .bk img {
    width: 100%;
    height: auto;
  }
  .page-community .sec05 h2 {
    font-size: 24px;
    margin: 0 20px 60px;
  }
  .page-community .sec05 h2 img {
    width: 100%;
    height: auto;
  }
  .page-community .sec05 h3 {
    color: #fff;
    font-size: 20px;
    margin-bottom: 0px !important;
  }
  .page-community .sec05 .col3-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 40px 50px 50px;
    flex-wrap: wrap;
  }
  .page-community .sec05 .col3-flex .col3-box {
    width: 100%;
    text-align: left;
    padding: 0 0px 30px;
    background-color: #333;
    background: url(./images/community/2024/sec05-bk.png) no-repeat right top 10px;
    background-size: cover;
    margin-bottom: 30px;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner {
    width: 96%;
    background-color: #2c87a0;
    padding-bottom: 50px;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner .col3-box__img {
    position: relative;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner .col3-box__img img {
    width: 100%;
    height: auto;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner .col3-box__img .no {
    position: absolute;
    width: 70px;
    top: -20px;
    left: 20px;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner h4 {
    clear: both;
    margin: 30px auto 0;
    display: block;
    padding: 0 35px;
    background-color: rgba(0, 0, 0, 0) !important;
    text-align: center;
    line-height: 40px;
    font-size: 18px;
    color: #fff;
  }
  .page-community .sec05 .col3-flex .col3-box .col3-box__inner p {
    color: #fff;
    text-align: center;
  }
  .page-community .sec05 .col3-flex .col3-box .main-area {
    position: relative;
  }
  .page-community .sec05 .col3-flex .col3-box .main-area img {
    width: 100%;
    height: auto;
  }
  .page-community .sec05 .col3-flex .col3-box .main-area h3 {
    position: absolute;
    bottom: -30px;
    left: 0;
    background-color: #2c87a0;
    color: #fff;
    width: 246px;
    line-height: 50px;
    font-size: 20px;
    padding: 0 20px;
  }
  .page-community .sec05 .col3-flex .col3-box .text-area {
    margin-top: 45px;
  }
  .page-community .sec06 h2 {
    font-size: 24px;
    margin: 0 auto 50px;
  }
  .page-community .sec06 h2 img {
    width: 100%;
    height: auto;
  }
  .page-community .sec06 .col3-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px auto 100px;
    vertical-align: top;
    flex-wrap: wrap;
  }
  .page-community .sec06 .col3-flex .col3-box {
    width: 100%;
    text-align: left;
    padding: 0 0px 50px;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner {
    width: 90%;
    background-color: #2c87a0;
    padding-bottom: 50px;
    padding-top: 10px;
    margin: 0 auto;
    height: 740px;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner.__cercle3 {
    position: relative;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner.__cercle3::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    right: -20px;
    bottom: -40px;
    transform: rotate(250deg);
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img {
    width: 110%;
    margin-top: 30px;
    transform: translateX(-5%);
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img img {
    width: 100%;
    height: auto;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img.__cercle {
    position: relative;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img.__cercle::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    right: -20px;
    bottom: -40px;
    transform: rotate(90deg);
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img.__cercle2 {
    position: relative;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner .col3-box__img.__cercle2::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 131px !important;
    background: url(./images/community/2024/circle.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    left: -20px;
    top: -40px;
    transform: rotate(150deg);
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner h3 {
    clear: both;
    margin: 30px auto 0;
    display: block;
    padding: 0 35px;
    background-color: rgba(0, 0, 0, 0) !important;
    text-align: left;
    line-height: 40px;
    font-size: 18px;
    color: #fff;
    background: url(./images/community/2024/sec06-line.png) no-repeat left 30px bottom;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner h3 span {
    font-size: 24px;
  }
  .page-community .sec06 .col3-flex .col3-box .col3-box__inner p {
    color: #fff;
    text-align: left;
    padding: 0 20px;
  }
  .page-community .sec06 .col3-flex .col3-box .main-area {
    position: relative;
  }
  .page-community .sec06 .col3-flex .col3-box .main-area img {
    width: 100%;
    height: auto;
  }
  .page-community .sec06 .col3-flex .col3-box .main-area h3 {
    position: absolute;
    bottom: -30px;
    left: 0;
    background-color: #2c87a0;
    color: #fff;
    width: 246px;
    line-height: 50px;
    font-size: 20px;
    padding: 0 20px;
  }
  .page-community .sec06 .col3-flex .col3-box .text-area {
    margin-top: 45px;
  }
  .page-community .sec07 h2 {
    font-size: 24px;
    margin: 0 auto 60px;
  }
  .page-community .sec07 h2 img {
    width: 100%;
    height: auto;
  }
  .page-community .sec07 .col3-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px 40px 30px 20px;
    vertical-align: top;
    flex-wrap: wrap;
  }
  .page-community .sec07 .col3-flex .col3-box {
    width: 100%;
    text-align: left;
    padding: 0 0px 30px;
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner {
    width: 94%;
    padding-bottom: 50px;
    margin: 0 auto 0 10%;
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner .col3-box__img {
    transform: translateX(-6%);
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner .col3-box__img img {
    width: 100%;
    height: auto;
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner .text-area {
    margin-top: -80px;
    padding-top: 80px;
    background-color: #2c87a0;
    height: 330px;
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner h3 {
    clear: both;
    margin: 30px auto 0;
    display: block;
    padding: 0 20px;
    background-color: rgba(0, 0, 0, 0) !important;
    text-align: left;
    line-height: 40px;
    font-size: 18px;
    color: #fff;
    font-size: 24px;
  }
  .page-community .sec07 .col3-flex .col3-box .col3-box__inner p {
    color: #fff;
    text-align: left;
    padding: 0 20px;
  }
  .page-community .sec07 .col3-flex .col3-box .main-area {
    position: relative;
  }
  .page-community .sec07 .col3-flex .col3-box .main-area img {
    width: 100%;
    height: auto;
  }
  .page-community .sec07 .col3-flex .col3-box .main-area h3 {
    position: absolute;
    bottom: -30px;
    left: 0;
    background-color: #2c87a0;
    color: #fff;
    width: 246px;
    line-height: 50px;
    font-size: 20px;
    padding: 0 20px;
  }
  .page-community .sec07 .col3-flex .col3-box .text-area {
    margin-top: 45px;
  }
  .page-community .sec08 h2 {
    font-size: 24px;
    margin: 0 auto 60px;
  }
  .page-community .sec08 h2 img {
    width: 100%;
    height: auto;
  }
  .page-community .sec08 .no {
    width: 20%;
    margin: 0 auto;
  }
  .page-community .sec08 .no img {
    width: 100%;
    height: auto;
  }
  .page-community .sec08 .col3-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px auto 50px;
    vertical-align: top;
    flex-wrap: wrap;
  }
  .page-community .sec08 .col3-flex .col3-box {
    width: 100%;
    text-align: center;
    padding: 0 0px 50px;
  }
  .page-community .sec08 .col3-flex .col3-box.__arrow {
    position: relative;
    margin-bottom: 120px;
  }
  .page-community .sec08 .col3-flex .col3-box.__arrow::before {
    content: "" !important;
    display: block !important;
    width: 134px !important;
    height: 200px !important;
    background: url(./images/community/2024/arrow.png) no-repeat center !important;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 65%);
  }
  .page-community .sec08 .col3-flex .col3-box h3 {
    clear: both;
    margin: 30px auto 30px;
    display: block;
    line-height: 40px;
    font-size: 24px;
    font-weight: 900;
  }
  .page-community .sec08 .col3-flex .col3-box .img img {
    width: 100%;
    height: auto;
  }
  .page-community .sec08 .col3-flex .col3-box p {
    padding: 0 20px;
  }
  .page-community .sec08 .col3-flex .col3-box .main-area {
    position: relative;
  }
  .page-community .sec08 .col3-flex .col3-box .main-area img {
    width: 100%;
    height: auto;
  }
  .page-community .sec08 .col3-flex .col3-box .main-area h3 {
    position: absolute;
    bottom: -30px;
    left: 0;
    background-color: #2c87a0;
    color: #fff;
    width: 246px;
    line-height: 50px;
    font-size: 20px;
    padding: 0 20px;
  }
  .page-community .sec08 .col3-flex .col3-box .text-area {
    margin-top: 45px;
  }
  .page-community .sec09 {
    box-sizing: border-box;
    margin: 0px 20px 100px;
    padding: 10px 10px 50px;
    background-image: url(./images/community/2024/border01.png), url(./images/community/2024/border01.png), url(./images/community/2024/border02.png), url(./images/community/2024/border02.png);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    background-position: left top, left bottom, left top, right top;
    background-size: 100%, 100%, 5px 100%, 5px 100%;
  }
  .page-community .sec09 h2 {
    padding-bottom: 10px;
    background: url(./images/community/2024/sec08-h2.png) no-repeat center bottom;
  }
  .page-community .sec09 h2 img {
    width: 100%;
    height: auto;
  }
  .page-community .sec09 p span {
    display: inline-block;
    padding: 0 0px;
    text-align: center;
  }
  .page-community .sec10 {
    background: url(./images/community/2024/foot.jpg) no-repeat center bottom;
    background-size: cover;
    padding: 80px 0 50px;
  }
  .page-community .sec10 h2 {
    font-size: 24px;
    margin: 0 auto 30px;
  }
  .page-community .sec10 h2 img {
    width: 100%;
    height: auto;
  }
  .page-community .sec10 h3 {
    font-size: 24px;
    margin: 30px 20px 60px;
    color: #fff;
  }
  .page-community .sec10 .midashi {
    margin: 0 auto 30px;
  }
  .page-community .sec10 .midashi img {
    width: 100%;
    height: auto;
  }
  .page-community .sec10 .link01 {
    margin: 0 auto;
  }
  .page-community .sec10 .link01 a {
    background-color: #fff;
    color: #2c87a0;
    display: block;
    width: 100%;
    padding: 14px 0;
    margin: 50px auto 10px;
    text-align: center;
    font-size: 24px;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 800;
  }
  .page-community .sec10 .link02 {
    width: 100%;
  }
  .page-community .sec10 .link02 a {
    display: inline-block;
    padding: 14px 60px;
    margin: 50px auto 10px;
    text-align: center;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 800;
    border: 2px solid #fff;
    color: #fff;
  }
  .page-community .sec10 .ex {
    color: #fff;
    margin: 0 auto 50px;
  }
  .page-community .sec10 .icon {
    margin: 0 auto 0px;
    width: 10%;
  }
  .page-community .sec10 .icon img {
    width: 100%;
    height: auto;
  }
  .page-community .sec10 .foot-area {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 2px #fff solid;
  }
  .page-community .sec10 .foot-area h4 {
    background-color: rgba(0, 0, 0, 0);
    color: #fff;
  }
  .page-community .sec10 .foot-area p {
    color: #fff;
  }
  .page-community .bg-pink {
    background-color: #fff0ee;
    padding: 0 0 40px;
  }
  .page-community {

    /*
    4px;
    text-shadow: 1px 1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000, 4px 2px 0px #f28b46;
    }*/
  }
}
@media screen and (max-width: 767px) and (min-width: 1200px) {
  .page-community .bg-pink {
    margin: 100px calc(50.7% - 50vw);
  }
}
@media all and (max-width: 767px) {
  .page-community .bg-pink h2 {
    position: relative;
    top: -25px;
    -webkit-text-stroke-width: 0.5px;
    -webkit-text-stroke-color: #000;
    color: #f4904d;
    font-size: 30px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    color: #fff;
    font-weight: 700;
    letter-spacing: 4px;
    text-shadow: 1px 1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000, 4px 2px 0px #f28b46;
  }
  .page-community .content-box {
    display: flex;
    justify-content: space-between;
    text-align: left;
    flex-wrap: wrap;
  }
  .page-community .content-box__item {
    width: 30%;
  }
  .page-community .content-box__img {
    padding: 20px;
    margin: auto;
    background-color: #fff;
    border-radius: 200px;
    position: relative;
    width: 250px;
    height: 250px;
  }
  .page-community .content-box__img img {
    max-width: 60%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .page-community .member .col2-flex {
    margin-bottom: 30px;
    flex-wrap: wrap;
  }
  .page-community .member .col2-flex + .col2-flex {
    margin-bottom: 100px;
  }
  .page-community .interest {
    display: flex;
    justify-content: space-between;
    padding: 30px;
    background-color: #fff0ee;
    margin: 50px auto 100px;
  }
  .page-community .interest__item {
    width: 20%;
    position: relative;
  }
  .page-community .interest__item::after {
    display: none;
  }
  .page-community .interest__item img {
    width: 100%;
    padding: 20px;
    border-radius: 110px;
  }
  .page-community .interest__item.item01 img {
    background-color: #ebeff1;
  }
  .page-community .interest__item.item02 img {
    background-color: #ffe6eb;
  }
  .page-community .interest__item.item03 img {
    background-color: #ffebde;
  }
  .page-community .interest__item.item04 img {
    background-color: #fff3e0;
  }
  .page-community .interest__item h3 {
    background-color: #fff;
    position: absolute;
    top: 170px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    padding: 5px;
    font-weight: bold;
    font-size: 18px;
    text-shadow: 1px 1px 0 #666, 1px -1px 0 #666, -1px 1px 0 #666, -1px -1px 0 #666;
  }
  .page-community .interest__item.item01 h3 {
    background-color: #88cff9;
    color: #fff;
  }
  .page-community .interest__item.item02 h3 {
    background-color: #ff9ed5;
    color: #fff;
  }
  .page-community .interest__item.item03 h3 {
    background-color: #ffb98e;
    color: #fff;
  }
  .page-community .interest__item.item04 h3 {
    background-color: #ffd547;
    color: #fff;
  }
  .page-community .team {
    margin: 50px auto 100px;
  }
  .page-community .team__item {
    display: flex;
    align-items: stretch;
    margin-top: 20px;
  }
  .page-community .team__img {
    width: 25%;
  }
  .page-community .team__img img {
    width: 100%;
  }
  .page-community .team__text {
    width: 50%;
    padding: 30px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
  }
  .page-community .team__text h3 {
    text-align: left;
    font-size: 18px;
    margin-top: 0;
  }
  .page-community .team__text h3 span {
    display: inline-block;
    border-bottom: 2px solid #333;
    font-weight: bold;
  }
  .page-community .flow {
    display: flex;
    justify-content: space-between;
    text-align: left;
  }
  .page-community .flow__item {
    width: 30%;
    text-align: center;
    position: relative;
  }
  .page-community .flow__item::after {
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
    display: block;
    content: "";
    height: 40px;
    width: 20px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: #ccc;
    visibility: inherit;
  }
  .page-community .flow__item:last-of-type:after {
    display: none;
  }
  .page-community .flow__item h3 {
    font-weight: bold;
    text-align: center;
    font-size: 18px;
  }
  .page-community .flow__item h3 span {
    display: block;
    font-size: 14px;
  }
  .page-community .flow__item img {
    width: 60%;
  }
  .page-community .thema {
    margin: 50px auto 100px;
    padding: 30px 200px;
    border: 2px solid #333;
    border-radius: 20px;
  }
  .page-community .thema h3 {
    font-weight: bold;
    font-size: 18px;
    margin: 0 auto 10px;
  }
  .page-community .thema__inner span {
    display: inline-block;
    padding: 0 20px;
  }
  .page-community .recruit-btn a {
    margin: auto;
  }
  .page-community .contact-text span {
    display: inline-block;
  }
  .page-community .content-box {
    display: flex;
    justify-content: space-between;
    text-align: left;
    flex-wrap: wrap;
  }
  .page-community .content-box__item {
    width: 30%;
  }
  .page-community .content-box__img {
    padding: 20px;
    margin: auto;
    background-color: #fff;
    border-radius: 200px;
    position: relative;
    width: 250px;
    height: 250px;
  }
  .page-community .content-box__img img {
    max-width: 60%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .page-community .member .col2-flex {
    margin-bottom: 30px;
    flex-wrap: wrap;
  }
  .page-community .member .col2-flex + .col2-flex {
    margin-bottom: 100px;
  }
  .page-community .interest {
    display: flex;
    justify-content: space-between;
    padding: 30px;
    background-color: #fff0ee;
    margin: 50px auto 100px;
  }
  .page-community .interest__item {
    width: 20%;
    position: relative;
  }
  .page-community .interest__item::after {
    display: none;
  }
  .page-community .interest__item img {
    width: 100%;
    padding: 20px;
    border-radius: 110px;
  }
  .page-community .interest__item.item01 img {
    background-color: #EBEFF1;
  }
  .page-community .interest__item.item02 img {
    background-color: #FFE6EB;
  }
  .page-community .interest__item.item03 img {
    background-color: #FFEBDE;
  }
  .page-community .interest__item.item04 img {
    background-color: #FFF3E0;
  }
  .page-community .interest__item h3 {
    background-color: #fff;
    position: absolute;
    top: 170px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    padding: 5px;
    font-weight: bold;
    font-size: 18px;
    text-shadow: 1px 1px 0 #666, 1px -1px 0 #666, -1px 1px 0 #666, -1px -1px 0 #666;
  }
  .page-community .interest__item.item01 h3 {
    background-color: #88CFF9;
    color: #fff;
  }
  .page-community .interest__item.item02 h3 {
    background-color: #FF9ED5;
    color: #fff;
  }
  .page-community .interest__item.item03 h3 {
    background-color: #FFB98E;
    color: #fff;
  }
  .page-community .interest__item.item04 h3 {
    background-color: #ffd547;
    color: #fff;
  }
  .page-community .team {
    margin: 50px auto 100px;
  }
  .page-community .team__item {
    display: flex;
    align-items: stretch;
    margin-top: 20px;
  }
  .page-community .team__img {
    width: 25%;
  }
  .page-community .team__img img {
    width: 100%;
  }
  .page-community .team__text {
    width: 50%;
    padding: 30px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
  }
  .page-community .team__text h3 {
    text-align: left;
    font-size: 18px;
    margin-top: 0;
  }
  .page-community .team__text h3 span {
    display: inline-block;
    border-bottom: 2px solid #333;
    font-weight: bold;
  }
  .page-community .flow {
    display: flex;
    justify-content: space-between;
    text-align: left;
  }
  .page-community .flow__item {
    width: 30%;
    text-align: center;
    position: relative;
  }
  .page-community .flow__item::after {
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
    display: block;
    content: "";
    height: 40px;
    width: 20px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: #ccc;
    visibility: inherit;
  }
  .page-community .flow__item:last-of-type:after {
    display: none;
  }
  .page-community .flow__item h3 {
    font-weight: bold;
    text-align: center;
    font-size: 18px;
  }
  .page-community .flow__item h3 span {
    display: block;
    font-size: 14px;
  }
  .page-community .flow__item img {
    width: 60%;
  }
  .page-community .thema {
    margin: 50px auto 100px;
    padding: 30px 200px;
    border: 2px solid #333;
    border-radius: 20px;
  }
  .page-community .thema h3 {
    font-weight: bold;
    font-size: 18px;
    margin: 0 auto 10px;
  }
  .page-community .thema__inner span {
    display: inline-block;
    padding: 0 20px;
  }
  .page-community .recruit-btn a {
    margin: auto;
  }
  .page-community .contact-text span {
    display: inline-block;
  }
}

/**************************************************
  Support system
***************************************************/
.support-menu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}
@media all and (max-width: 767px) {
  .support-menu {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.support-menu__child {
  padding: 35px 40px 45px;
  width: 100%;
  border-radius: 15px;
}
@media all and (max-width: 767px) {
  .support-menu__child {
    padding: 20px 20px 30px;
    border-radius: 10px;
  }
}
.support-menu__child.--01 {
  background-color: #96d0dd;
}
.support-menu__child.--01 .title-img {
  width: 88px;
  height: 64px;
  top: -21px;
  left: -27px;
}
@media all and (max-width: 767px) {
  .support-menu__child.--01 .title-img {
    width: 62px;
    height: 45px;
    top: -11px;
    left: -32px;
  }
}
.support-menu__child.--02 {
  background-color: #fcb19a;
}
.support-menu__child.--02 .title-img {
  width: 80px;
  height: 66px;
  top: -19px;
  left: -24px;
}
@media all and (max-width: 767px) {
  .support-menu__child.--02 .title-img {
    width: 56px;
    height: 47px;
    top: -14px;
    left: -27px;
  }
}
.support-menu__child.--03 {
  background-color: #f7dc5e;
}
.support-menu__child.--03 .title-img {
  width: 70px;
  height: 80px;
  top: -26px;
  left: -17px;
}
@media all and (max-width: 767px) {
  .support-menu__child.--03 .title-img {
    width: 46px;
    height: 55px;
    top: -22px;
    left: -15px;
  }
}
.support-menu__child.--04 {
  background-color: #8fe5d0;
}
.support-menu__child.--04 .title-img {
  width: 94px;
  height: 54px;
  top: -13px;
  left: -32px;
}
@media all and (max-width: 767px) {
  .support-menu__child.--04 .title-img {
    width: 66px;
    height: 39px;
    top: -9px;
    left: -35px;
  }
}
.support-menu__child__title {
  position: relative;
}
.support-menu__child__title .title-item {
  margin: 0;
  padding-left: 73px;
  color: #2a2b32;
  font-family: "Dela Gothic One", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media all and (max-width: 767px) {
  .support-menu__child__title .title-item {
    padding-left: 38px;
    font-size: 24px;
  }
}
.support-menu__child__title .title-item .st-big {
  font-size: 48px;
}
@media all and (max-width: 767px) {
  .support-menu__child__title .title-item .st-big {
    font-size: 32px;
  }
}
.support-menu__child__title .title-img {
  position: absolute;
  left: 0;
}
.support-menu__child__list {
  margin-top: 60px;
}
@media all and (max-width: 767px) {
  .support-menu__child__list {
    margin-top: 20px;
  }
}
.support-menu__child__list li {
  min-height: 48px;
  display: flex;
  flex-direction: row;
  align-items: center;
  border-bottom: 1px dotted #000;
}
.support-menu__child__list li:has(a)::before {
  top: calc(0.6em + 12px);
}
.support-menu__child__list li:has(a)::after {
  top: calc(0.8em + 12px);
}
.support-menu__child__list li a {
  padding: 12px 0;
  display: inline-block;
  width: 100%;
  color: #000;
  font-weight: 500;
  text-decoration: none;
}
.support-menu__child__list li a:hover {
  color: #e70072;
}

/**************************************************
  Contact
***************************************************/
/* -----------------------------------------------
  flow
-------------------------------------------------- */
.m-flow {
  position: relative;
  margin: 0 auto 2rem;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 32rem;
}
.m-flow li {
  position: relative;
  list-style-type: none;
  text-align: center;
  text-transform: uppercase;
  width: 33.3333333333%;
  color: #999999;
  font-weight: bold;
  counter-increment: steps;
  font-size: 1.4rem;
  padding-left: 0;
}
.m-flow li:before {
  position: static;
  display: block;
  width: 26px;
  height: 26px;
  margin: 7px auto 10px auto;
  content: "";
  line-height: 26px;
  font-size: 12px;
  text-align: center;
  border-radius: 50%;
  background-color: rgb(237.15, 237.15, 237.15);
  content: counter(steps);
}
.m-flow li:after {
  position: absolute;
  z-index: -1;
  top: 18px;
  left: -50%;
  width: 100%;
  height: 2px;
  content: "";
  background-color: rgb(237.15, 237.15, 237.15);
}
.m-flow li:first-child:after {
  content: none;
}
.m-flow li[aria-current=page], .m-flow li.complete {
  color: var(--color-base);
}
.m-flow li[aria-current=page]:before, .m-flow li.complete:before {
  background-color: var(--color-base);
  color: var(--color-bg);
}
.m-flow li[aria-current=page]:after, .m-flow li.complete:after {
  background-color: var(--color-base);
}

/* -----------------------------------------------
  content
-------------------------------------------------- */
.l-form,
.wpcf7 {
  max-width: 790px;
  margin-inline: auto;
}
.l-form .title,
.wpcf7 .title {
  text-align: center;
  font-size: 2rem;
}

.contact-telbox {
  display: flex;
  gap: 2rem;
  margin: 2rem 0 6rem;
}
@media all and (max-width: 767px) {
  .contact-telbox {
    flex-direction: column;
  }
}
.contact-telbox__item {
  flex: 1;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 3rem 1rem;
}
.contact-telbox__name {
  font-weight: bold;
}
.contact-telbox__num {
  font-weight: bold;
  font-size: 3rem;
  font-family: "Montserrat", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.contact-telbox__note {
  font-size: 1.2rem;
}

.contactform {
  width: 100%;
}
.contactform th,
.contactform td {
  display: block;
  width: 100%;
}
.contactform th {
  text-align: left;
  line-height: 1;
}
.contactform th label {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0.5rem;
}
.contactform th label span {
  background-color: rgb(229.5, 229.5, 229.5);
  font-size: 1rem;
  line-height: 1;
  padding: 0.5rem;
  margin-left: 1rem;
}
.contactform th label .required {
  background-color: var(--color-error);
  color: #fff;
}
.contactform td {
  padding-bottom: 3rem;
}

.wpcf7-form .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
}
.wpcf7-form .acceptance p {
  text-align: center;
}
@media all and (max-width: 767px) {
  .wpcf7-form .acceptance p {
    text-align: left;
  }
}
.wpcf7-form .acceptance .text {
  border: 1px solid rgb(229.5, 229.5, 229.5);
  max-height: 20rem;
  overflow-y: auto;
  padding: 2rem;
  margin-bottom: 2rem;
}
.wpcf7-form .acceptance .text p {
  text-align: left;
}
.wpcf7-form .acceptance .text h2:first-of-type {
  margin-top: 0;
}
.wpcf7-form .acceptance [data-name=your-privacy] {
  display: block;
  text-align: center;
}
.wpcf7-form .acceptance [data-name=your-privacy] .wpcf7-list-item {
  margin-inline: auto;
}
.wpcf7-form .acceptance [data-name=your-privacy] label {
  padding: 0.5rem 1rem;
  background-color: rgb(239.7, 239.7, 239.7);
}
.wpcf7-form .wpcf7-list-item {
  margin: 0;
}
.wpcf7-form .m-btngroup {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin: 6rem 0 0;
}
@media all and (max-width: 767px) {
  .wpcf7-form .m-btngroup {
    flex-direction: column;
  }
}
.wpcf7-form .m-btngroup [type=button],
.wpcf7-form .m-btngroup [type=submit] {
  cursor: pointer;
}
.wpcf7-form .m-btngroup [type=button]:disabled,
.wpcf7-form .m-btngroup [type=submit]:disabled {
  cursor: not-allowed;
}
.wpcf7-form .m-btngroup .wpcf7-form-control {
  width: 30rem;
  padding: 1.5rem;
}
.wpcf7-form .m-btngroup .wpcf7-submit {
  background-color: var(--color-base);
  color: #fff;
}
.wpcf7-form .m-btngroup .wpcf7-submit:hover, .wpcf7-form .m-btngroup .wpcf7-submit:focus {
  background-color: rgb(0, 22.1440677966, 33.5);
}
.wpcf7-form .m-btngroup .wpcf7-submit:disabled {
  background-color: rgb(234.6, 234.6, 234.6);
  color: rgb(127.5, 127.5, 127.5);
}
.wpcf7-form .m-btngroup .wpcf7-previous {
  background-color: rgb(234.6, 234.6, 234.6);
}
.wpcf7-form .m-btngroup .wpcf7-previous:hover, .wpcf7-form .m-btngroup .wpcf7-previous:focus {
  background-color: rgb(224.4, 224.4, 224.4);
}
.wpcf7-form .m-btngroup .wpcf7-spinner {
  margin: 0;
  position: absolute;
}
.wpcf7-form .wpcf7-not-valid-tip {
  font-weight: bold;
  position: relative;
  font-size: 1.5rem;
  padding-left: 1.2em;
}
.wpcf7-form .wpcf7-not-valid-tip::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: 5px;
  left: 0;
  width: 1.1em;
  height: 1.1em;
  background-image: url("images/common/icon_attention.svg");
  background-size: cover;
  background-repeat: no-repeat;
}

/* -----------------------------------------------
  zipadrr-jp
-------------------------------------------------- */
#autozip {
  display: none !important;
}

/* -----------------------------------------------
  reCAPTCHA
  ※フォームのページのみバッジを表示
-------------------------------------------------- */
.grecaptcha-badge {
  visibility: hidden;
}

body:has(.wpcf7) .grecaptcha-badge {
  visibility: visible;
}

/**************************************************
  utilities
***************************************************/
/* ---------- clear ---------- */
.u-clearfix {
  zoom: 1;
}
.u-clearfix:after {
  content: "";
  display: block;
  clear: both;
}

@media all and (min-width: 768px) {
  .u-float-left {
    float: left;
  }
  .u-float-right {
    float: right;
  }
}
.u-clear {
  clear: both;
}

.u-hidden {
  display: none;
}

/* ---------- text ---------- */
.u-text-bold {
  font-weight: bold;
}

.u-text-underline {
  text-decoration: underline;
}

.u-text-sm {
  font-size: 88%;
}

.u-text-xs {
  font-size: 75%;
}

.u-text-lg {
  font-size: 113%;
}

.u-text-x-lg {
  font-size: 140%;
}

.u-valign-top {
  vertical-align: top;
}

.u-valign-middle {
  vertical-align: middle;
}

.u-valign-bottom {
  vertical-align: bottom;
}

.u-text-center,
.u-text-center th,
.u-text-center td {
  text-align: center;
}

.u-text-right,
.u-text-right th,
.u-text-right td {
  text-align: right;
}

.u-text-left,
.u-text-left th,
.u-text-left td {
  text-align: left;
}

.u-image-text {
  overflow: hidden;
}

.u-text-top {
  vertical-align: top;
}

.u-text-middle {
  vertical-align: middle;
}

.u-text-bottom {
  vertical-align: bottom;
}

.u-word-break {
  word-break: break-all;
}

.u-nowrap {
  white-space: nowrap;
}

/* ---------- margin ---------- */
.u-margin-first {
  margin-top: 0;
}

.u-margin-zero {
  margin-bottom: 0;
}

.u-margin-half {
  margin-bottom: calc(2rem / 2);
}

.u-margin-default {
  margin-bottom: 2rem !important;
}

.u-margin-double {
  margin-bottom: calc(2rem * 2);
}

/* ---------- devices ---------- */
@media all and (min-width: 768px) {
  .u-sp {
    display: none;
  }
}
@media all and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}
/* ---------- spacing ---------- */
.u-mt0 {
  margin-top: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pb70 {
  padding-bottom: 70px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-mb90 {
  margin-bottom: 90px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pb90 {
  padding-bottom: 90px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

/* -----------------------------------------------
  Accessibility
-------------------------------------------------- */
.screen-reader-text {
  position: absolute;
  top: -1000em;
  transition: 0.3s;
}
.screen-reader-text:focus {
  left: 6px;
  top: 6px;
  height: auto;
  width: auto;
  display: block;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 23px 14px;
  background: #f0f0f1;
  color: #2271b1;
  z-index: 100000;
  line-height: normal;
  text-decoration: none;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}

.is-current {
  pointer-events: none;
  text-decoration: none;
}

/* -----------------------------------------------
  admin bar
-------------------------------------------------- */
html {
  margin-top: 0 !important;
}

#wpadminbar {
  transition: 0.3s;
  opacity: 0.2;
}
#wpadminbar:hover {
  opacity: 1;
}
@media all and (max-width: 767px) {
  #wpadminbar {
    display: none;
  }
}