/*!
global > color
------------------------------
*/
/*!
global > content-width
------------------------------
*/
/*!
global > font
------------------------------
*/
/*!
global > mixin
------------------------------
*/
/* ================================
UTILITIES
================================ */
.c-txt10 {
  font-size: 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-txt10 {
    font-size: 0.625rem;
  }
}

.c-txt12 {
  font-size: 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-txt12 {
    font-size: 0.75rem;
  }
}

.c-txt13 {
  font-size: 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-txt13 {
    font-size: 0.8125rem;
  }
}

.c-nav02__link, .c-form .wpcf7-not-valid-tip, .c-txt14 {
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .c-nav02__link, .c-form .wpcf7-not-valid-tip, .c-txt14 {
    font-size: 0.875rem;
  }
}

.c-txt15 {
  font-size: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .c-txt15 {
    font-size: 0.9375rem;
  }
}

.c-philosophyblock-block01__ttl, .c-txt16, body {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block01__ttl, .c-txt16, body {
    font-size: 1rem;
  }
}

.c-txt17 {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .c-txt17 {
    font-size: 1.0625rem;
  }
}

.c-footer-m-block01__label, .c-pagination, .c-txt18 {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .c-footer-m-block01__label, .c-pagination, .c-txt18 {
    font-size: 1.125rem;
  }
}

.c-txt19 {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .c-txt19 {
    font-size: 1.1875rem;
  }
}

.c-philosophyblock-block02__ttl, .c-pagination .current, .c-txt20 {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block02__ttl, .c-pagination .current, .c-txt20 {
    font-size: 1.25rem;
  }
}

.c-txt22 {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .c-txt22 {
    font-size: 1.375rem;
  }
}

.c-philosophyblock-block02__ttl02, .c-txt24 {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block02__ttl02, .c-txt24 {
    font-size: 1.5rem;
  }
}

.c-txt26 {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-txt26 {
    font-size: 1.625rem;
  }
}

.c-txt27 {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-txt27 {
    font-size: 1.6875rem;
  }
}

.c-txt28 {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-txt28 {
    font-size: 1.75rem;
  }
}

.c-txt30 {
  font-size: 1.75rem;
}
@media screen and (min-width: 768px) {
  .c-txt30 {
    font-size: 1.875rem;
  }
}

.c-philosophyblock__ttl, .c-heading02__jp, .c-heading03__jp, .c-txt32 {
  font-size: 1.75rem;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock__ttl, .c-heading02__jp, .c-heading03__jp, .c-txt32 {
    font-size: 2rem;
  }
}

.c-heading01__jp, .c-txt36 {
  font-size: 1.75rem;
}
@media screen and (min-width: 768px) {
  .c-heading01__jp, .c-txt36 {
    font-size: 2.25rem;
  }
}

.c-txt40 {
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-txt40 {
    font-size: clamp(2rem, 1.5625vw + 1.25rem, 2.5rem);
  }
}

.c-txt48 {
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .c-txt48 {
    font-size: clamp(2.125rem, 2.7344vw + 0.8125rem, 3rem);
  }
}

.c-txt80 {
  font-size: 2.5rem;
}
@media screen and (min-width: 768px) {
  .c-txt80 {
    font-size: clamp(3rem, 6.25vw + 0rem, 5rem);
  }
}

.c-ffen {
  font-family: "Zen Old Mincho", serif;
}

.c-fw400 {
  font-weight: 400;
}

.c-fw500 {
  font-weight: 500;
}

.c-fw600 {
  font-weight: 600;
}

.c-fw700 {
  font-weight: 700;
}

.c-fw800 {
  font-weight: 800;
}

.c-fw900 {
  font-weight: 900;
}

.c-ls0 {
  letter-spacing: 0;
}

.c-ls20 {
  letter-spacing: 0.02em;
}

.c-ls40 {
  letter-spacing: 0.04em;
}

.c-ls100 {
  letter-spacing: 0.1em;
}

.u-color--black {
  color: #000;
}
.u-color--brown {
  color: #B08A4F;
}
.u-color--blue {
  color: #09316B;
}

.u-fw--100 {
  font-weight: 100 !important;
}
.u-fw--200 {
  font-weight: 200 !important;
}
.u-fw--300 {
  font-weight: 300 !important;
}
.u-fw--400 {
  font-weight: 400 !important;
}
.u-fw--500 {
  font-weight: 500 !important;
}
.u-fw--600 {
  font-weight: 600 !important;
}
.u-fw--700 {
  font-weight: 700 !important;
}
.u-fw--800 {
  font-weight: 800 !important;
}
.u-fw--900 {
  font-weight: 900 !important;
}

.u-inline--block {
  display: inline-block;
}

.u-ff--inter {
  font-family: "Inter", sans-serif;
  font-optical-sizing: none;
}

/*!
page > common > common
------------------------------
*/
/*!
foundation > reset
------------------------------
*/
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

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

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

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

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

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

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

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

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

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  display: table; /* 1 */
  color: inherit; /* 2 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

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

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

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

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

/*!
foundation > base
------------------------------
*/
:root {
  --base: #182447;
  --white: #FFF;
}

html {
  scroll-behavior: smooth;
}

body {
  line-height: 1.6;
  font-weight: 500;
  color: var(--base);
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0;
}

body.overflow_modal {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}

.body-wrapper {
  position: relative;
  display: block;
  overflow: clip;
}

img:not(.u-img-auto) {
  width: 100%;
}

a {
  cursor: pointer;
  transition: 0.5s;
}
a:hover {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  a:hover {
    text-decoration: none;
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}

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

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

/*!
component > Texts
------------------------------
*/
/*!
component > title
------------------------------
*/
.c-heading01 {
  position: relative;
}
.c-heading01__en {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.07em;
  color: #CEA950;
  display: block;
}
@media screen and (min-width: 768px) {
  .c-heading01__en {
    font-size: 1.1875rem;
  }
}
.c-heading01__jp {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
  display: block;
}
@media screen and (min-width: 768px) {
  .c-heading01__jp {
    margin-block: 11px 0;
  }
}
.c-heading01__line {
  width: 35px;
  height: 2px;
  display: block;
  background: linear-gradient(to right, #CEA950 73%, rgba(206, 169, 80, 0) 100%);
  margin-block: 11px 0;
}
@media screen and (min-width: 768px) {
  .c-heading01__line {
    width: 46px;
    margin-block: 28px 0;
  }
}

.c-lead {
  font-weight: 600;
  display: table;
  margin-inline: auto;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .c-lead {
    text-align: center;
  }
}

.c-heading02 {
  position: relative;
}
.c-heading02__en {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.07em;
  color: #CEA950;
  display: block;
}
@media screen and (min-width: 768px) {
  .c-heading02__en {
    font-size: 1rem;
  }
}
.c-heading02__jp {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
  display: block;
}
.c-heading02::after {
  width: 46px;
  content: "";
  height: 2px;
  display: block;
  background: linear-gradient(to right, #CEA950 73%, rgba(206, 169, 80, 0) 100%);
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .c-heading02::after {
    margin-top: 17px;
  }
}
.c-heading02--center {
  text-align: center;
}
.c-heading02--center::after {
  margin-inline: auto;
}

:where(.c-heading02) + .c-lead {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  :where(.c-heading02) + .c-lead {
    margin-top: 46px;
  }
}

.c-heading03__en {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.07em;
  color: #CEA950;
  display: block;
}
@media screen and (min-width: 768px) {
  .c-heading03__en {
    font-size: 1.1875rem;
  }
}
.c-heading03__jp {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  display: block;
}
@media screen and (min-width: 768px) {
  .c-heading03__jp {
    line-height: 1.6;
  }
}

/*!
component > btn
------------------------------
*/
.c-totop {
  position: fixed;
  right: 15px;
  bottom: 30px;
  display: block;
  font-size: 0;
  width: 45px;
  height: 45px;
  transform: translateY(150px);
  transition: 0.5s;
  font-size: 0;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: 18;
  background: var(--base);
  border-radius: 40px;
  border: 2px solid var(--white);
}
@media screen and (min-width: 768px) {
  .c-totop {
    right: 40px;
    bottom: 30px;
    width: 60px;
    height: 60px;
    border-radius: 60px;
    border: 3px solid var(--white);
  }
}
.c-totop::before {
  position: absolute;
  top: 50%;
  left: 11px;
  content: "";
  width: 12px;
  height: 3px;
  background: var(--white);
  transform: translateY(-50%) rotate(-45deg);
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .c-totop::before {
    left: 15px;
    width: 15px;
  }
}
.c-totop::after {
  position: absolute;
  top: 50%;
  right: 11px;
  content: "";
  width: 12px;
  height: 3px;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
  background: var(--white);
}
@media screen and (min-width: 768px) {
  .c-totop::after {
    right: 15px;
    width: 15px;
  }
}
@media screen and (min-width: 768px) {
  .c-totop:hover {
    transform: translateY(-20px) !important;
  }
}

.c-line01 {
  width: 46px;
  height: 2px;
  display: block;
  background: linear-gradient(to right, #CEA950 73%, rgba(206, 169, 80, 0) 100%);
}

.c-link01 {
  display: inline-flex;
  align-items: flex-start;
  gap: 20px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  color: #09316B;
  position: relative;
}
.c-link01::before {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: #09316B;
  transition: 0.5s all;
}
@media screen and (min-width: 768px) {
  .c-link01:hover::before {
    background-color: transparent;
  }
}
.c-link01.c-link01--blank::after {
  content: url("../images/common/icon_link_blank.svg");
  display: inline-block;
  width: 15px;
  aspect-ratio: 1/1;
  object-fit: contain;
}

.c-btn01 {
  background: linear-gradient(90deg, #182447 0%, #2646A2 50%, #26459F 50%, #2353DF 100%);
  background-position: 0% 50%;
  background-size: 200% 100%;
  transition: background-position 0.5s ease;
  width: 200px;
  height: 48px;
}
@media screen and (min-width: 768px) {
  .c-btn01:hover {
    opacity: 1;
    background-position: 100% 50%;
  }
  .c-btn01:hover .c-btn01__icon {
    transform: translateX(20px);
  }
}
.c-btn01__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .c-btn01__link:hover {
    opacity: 1;
  }
}
.c-btn01__txt {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  color: #FFF;
}
.c-btn01__icon {
  content: "";
  width: 21px;
  aspect-ratio: 21/6;
  background-color: #FFF;
  mask-image: url(../images/common/icon_arrow2.svg);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: transform 0.5s ease;
}
.c-btn01--center {
  margin-inline: auto;
}

/*!
component > Links
------------------------------
*/
/*!
component > List
------------------------------
*/
/*!
component > Box
------------------------------
*/
/*!
component > FORM
------------------------------
*/
.grecaptcha-badge {
  display: none !important;
}

:has(form.wpcf7-form) .grecaptcha-badge {
  display: block !important;
  bottom: 110px !important;
}

.c-require {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #CEA950;
  color: #fff;
  font-weight: 600;
  position: relative;
  font-size: 0.625rem;
  height: 14px;
  min-width: 30px;
}

form.wpcf7-form.resetting, form.wpcf7-form.submitting {
  pointer-events: none;
}

.c-form {
  margin-inline: auto;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-form {
    max-width: 754px;
  }
}
.c-form input,
.c-form textarea {
  outline: none !important;
}
.c-form input[type=radio],
.c-form input[type=checkbox] {
  appearance: none;
  width: 15px;
  height: 15px;
  border: 1px solid #C4C7D7;
  background-color: #F6F9FC;
}
@media screen and (min-width: 768px) {
  .c-form input[type=radio],
  .c-form input[type=checkbox] {
    width: 18px;
    height: 18px;
  }
}
.c-form input[type=radio]:checked {
  background-image: radial-gradient(#09316B 0% 45%, transparent 55% 100%);
}
.c-form input[type=checkbox]:checked {
  background: url(../images/common/icon_check.svg) center/contain no-repeat;
}
.c-form input[type=email],
.c-form input[type=text],
.c-form input[type=tel],
.c-form input[type=number],
.c-form textarea {
  width: 100%;
  border: 1px solid #C4C7D7;
  background-color: #F6F9FC;
  font-size: 1rem;
  padding-inline: 10px;
  padding-block: 5px;
}
@media screen and (min-width: 768px) {
  .c-form input[type=email],
  .c-form input[type=text],
  .c-form input[type=tel],
  .c-form input[type=number],
  .c-form textarea {
    padding-inline: 20px;
    padding-block: 6px;
  }
}
.c-form textarea {
  height: 140px;
  resize: vertical;
}
@media screen and (min-width: 768px) {
  .c-form textarea {
    height: 171px;
  }
}
.c-form .wpcf7-list-item {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .c-form__option {
    padding-top: 2px;
  }
}
.c-form__option .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 15px;
}
.c-form__option a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.c-form__option label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  gap: 8px;
}
.c-form__option label input {
  cursor: pointer;
}
.c-form__input {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-form__row {
    display: flex;
    align-items: flex-start;
    gap: 20px;
  }
}
.c-form__row:not(:last-child) {
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .c-form__row:has(.c-form__option) {
    margin-bottom: 12px;
  }
}
.c-form__row:has(.c-form__option) .c-form__label {
  padding-top: 1px;
}
.c-form__action {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .c-form__action {
    display: flex;
    margin-top: 64px;
    gap: 27px;
  }
  .c-form__action::before {
    content: "";
    flex-shrink: 0;
    width: 212px;
  }
}
.c-form__action .c-btn01 {
  position: relative;
  z-index: 0;
  background: #09316B;
  transition: background-color 0.5s ease;
  width: 260px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .c-form__action .c-btn01 {
    margin: 0;
    width: 277px;
  }
  .c-form__action .c-btn01:hover {
    background-color: #2646A2;
  }
  .c-form__action .c-btn01:hover .c-btn01__icon {
    transform: translateX(10px);
  }
}
.c-form__action .c-btn01 input[type=submit] {
  opacity: 0;
  inset: 0;
  position: absolute;
  font-size: 0.875rem;
}
.c-form__action .c-btn01__icon {
  position: absolute;
  right: 20px;
}
@media screen and (min-width: 768px) {
  .c-form__action .c-btn01__icon {
    right: 23px;
  }
}
.c-form__action .c-btn01 .wpcf7-spinner {
  display: table;
  margin-inline: auto;
  margin-top: 5px;
}
.c-form__action .c-btn01:has(input[type=submit]:disabled) {
  opacity: 0.5;
  pointer-events: none;
}
.c-form__label {
  display: flex;
  align-items: center;
  gap: 15px;
  white-space: nowrap;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .c-form__label {
    margin-bottom: 0;
    flex-shrink: 0;
    gap: 15px;
    width: 212px;
    padding-top: 6px;
  }
}
.c-form__name {
  font-weight: 600;
  letter-spacing: 0.01em;
}

/*!
component > Box
------------------------------
*/
/*!
component > MV
------------------------------
*/
.c-mv {
  position: relative;
  z-index: 0;
  background-color: #182447;
}
.c-mv__img {
  position: relative;
  z-index: 0;
}
.c-mv__img::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background: linear-gradient(90deg, rgba(24, 36, 71, 0.95) 44.9%, rgba(24, 36, 71, 0.2) 100%);
}
@media screen and (min-width: 768px) {
  .c-mv__img::after {
    background: linear-gradient(90deg, rgba(24, 36, 71, 0.95) 38.81%, rgba(24, 36, 71, 0.2) 100%);
  }
}
.c-mv__img img {
  object-fit: cover;
  height: 215px;
}
@media screen and (min-width: 768px) {
  .c-mv__img img {
    height: 275px;
  }
}
.c-mv__inner {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding-inline: 7px;
  padding-bottom: 27px;
}
@media screen and (min-width: 768px) {
  .c-mv__inner {
    padding-bottom: 0;
    padding-inline: 0;
    align-items: center;
  }
}
.c-mv__ttl {
  color: #fff;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-mv__ttl {
    padding-left: 2px;
    margin-top: 42px;
  }
}
.c-mv__ttl-en, .c-mv__ttl-jp {
  display: block;
  letter-spacing: 0.07em;
}
.c-mv__ttl-jp {
  font-size: 1.875rem;
}
@media screen and (min-width: 768px) {
  .c-mv__ttl-jp {
    font-size: 2.5rem;
  }
}
.c-mv__ttl-en {
  color: #CEA950;
  padding-left: 5px;
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .c-mv__ttl-en {
    margin-top: 5px;
  }
}
.c-mv__ttl-en::before {
  content: "";
  display: block;
  height: 1px;
  width: 24px;
  background-color: currentColor;
  margin-bottom: 6px;
}
@media screen and (min-width: 768px) {
  .c-mv__ttl-en::before {
    margin-bottom: 7px;
  }
}

.c-breadcums {
  background-color: #182447;
  color: #fff;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  font-size: 0.75rem;
  padding-inline: 7px;
  padding-block: 10px 13px;
}
@media screen and (min-width: 768px) {
  .c-breadcums {
    padding-block: 9px;
    padding-inline: 0;
  }
}
.c-breadcums__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .c-breadcums__list {
    padding-left: 3px;
  }
}
.c-breadcums__item:not(:last-child) {
  display: flex;
  align-items: center;
  gap: 10px;
}
.c-breadcums__item:not(:last-child)::after {
  content: "";
  aspect-ratio: 4/8;
  width: 4px;
  background: url(../images/common/icon_arrow03.svg) center/contain no-repeat;
  top: 1px;
  position: relative;
}
.c-breadcums__item a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 1px;
}
@media screen and (min-width: 768px) {
  .c-breadcums__item a:hover {
    text-decoration: none;
  }
}

.c-pagination {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  color: #9397A6;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .c-pagination {
    margin-top: 82px;
  }
}
.c-pagination .wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 15px;
}
@media screen and (min-width: 768px) {
  .c-pagination .wp-pagenavi {
    gap: 23px;
  }
}
.c-pagination .current {
  color: #09316B;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .c-pagination a:hover {
    opacity: 0.7;
  }
}
.c-pagination .nextpostslink,
.c-pagination .previouspostslink {
  display: flex;
  aspect-ratio: 1;
  justify-content: center;
  align-items: center;
  font-size: 0;
  background-color: #E4E7F0;
  width: 36px;
  color: #09316B;
}
@media screen and (min-width: 768px) {
  .c-pagination .nextpostslink,
  .c-pagination .previouspostslink {
    transition: 0.5s;
    transition-property: background-color, color;
    width: 40px;
  }
  .c-pagination .nextpostslink:hover,
  .c-pagination .previouspostslink:hover {
    opacity: 1;
    background-color: #09316B;
    color: #fff;
  }
}
.c-pagination .nextpostslink::before,
.c-pagination .previouspostslink::before {
  content: "";
  aspect-ratio: 8/13;
  width: 8px;
  mask: url(../images/common/icon_arrow05.svg) center/contain no-repeat;
  background-color: currentColor;
}
.c-pagination .previouspostslink {
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .c-pagination .previouspostslink {
    margin-right: 15px;
  }
}
.c-pagination .previouspostslink::before {
  transform: scaleX(-1);
}
.c-pagination .nextpostslink {
  margin-left: 10px;
}
@media screen and (min-width: 768px) {
  .c-pagination .nextpostslink {
    margin-left: 15px;
  }
}

/*!
component > Gnavi
------------------------------
*/
/*!
component > header
------------------------------
*/
.c-header {
  position: fixed;
  top: 0;
  left: 0;
  font-family: "Noto Serif JP", serif;
  width: 100%;
  z-index: 99;
  background-color: #182447;
  transition: background-color 0.5s ease-in-out;
}
.c-header.is-transparent, .c-header--transparent, .c-header--top {
  background-color: transparent;
}
.c-header.is-transparent.is-scrolled, .c-header--transparent.is-scrolled, .c-header--top.is-scrolled {
  background-color: #182447;
}
.c-header.is-scrolled {
  background-color: #182447;
}
.c-header-inner {
  position: relative;
  display: flex;
  align-items: center;
  height: 57px;
  padding-left: 17px;
  padding-right: 17px;
  border-bottom: 1px solid #bdbdbd;
}
@media screen and (min-width: 768px) {
  .c-header-inner {
    height: auto;
    padding-right: 14px;
    padding-block: 9px;
    padding-left: 29px;
  }
}
.c-header-logo {
  display: flex;
  width: 144px;
  margin-bottom: -6px;
}
@media screen and (min-width: 768px) {
  .c-header-logo {
    width: 180px;
    padding-bottom: 3px;
    margin-bottom: 0;
  }
}
.c-header-logo__link {
  display: inline-flex;
}
.c-header-nav {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  margin-left: auto;
  padding-top: 64px;
  color: #fff;
  background-color: #182447;
  background-image: url("../images/common/bg_nav.webp");
  background-size: 100% 650px;
  background-position: bottom;
  background-repeat: no-repeat;
  translate: 110% 0;
}
@media screen and (min-width: 768px) {
  .c-header-nav {
    position: static;
    height: initial;
    padding-top: 0;
    background: transparent;
    translate: 0;
    transition: none;
  }
}
.c-header-nav__in {
  width: 329px;
  height: 100%;
  overflow-y: auto;
}
@media screen and (min-width: 768px) {
  .c-header-nav__in {
    width: auto;
    height: initial;
  }
}
.c-header-nav__list {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-block: 52px 50px;
  padding-inline: 27px 24px;
}
@media screen and (min-width: 768px) {
  .c-header-nav__list {
    flex-direction: row;
    gap: 32px;
    padding: 0;
  }
}
.c-header-nav__link {
  position: relative;
  width: 100%;
  padding-block: 16px;
  padding-left: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0em;
  border-bottom: 1px solid #59668b;
}
@media screen and (min-width: 768px) {
  .c-header-nav__link {
    width: auto;
    padding: 0;
    border-bottom: 0;
  }
}
.c-header-nav__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  width: 19px;
  height: 8px;
  background: url("../images/common/icon_arrow.svg");
  translate: 0 -50%;
}
@media screen and (min-width: 768px) {
  .c-header-nav__link::after {
    display: none;
  }
}
.c-header-nav__contact {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 258px;
  height: 50px;
  margin-top: 43px;
  padding-bottom: 3px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  background-color: #b29347;
}
@media screen and (min-width: 768px) {
  .c-header-nav__contact {
    width: 184px;
    height: 50px;
    margin-top: 0;
    margin-left: -8px;
  }
  .c-header-nav__contact:hover {
    opacity: 1;
    background-color: #041a3b;
  }
  .c-header-nav__contact:hover::after {
    translate: 20px 0;
  }
}
.c-header-nav__contact::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 21px;
  width: 19px;
  height: 8px;
  background: url("../images/common/icon_arrow.svg");
  translate: 0 -50%;
  transition: translate 0.5s;
}
@media screen and (min-width: 768px) {
  .c-header-nav__contact::after {
    position: static;
    translate: 0;
  }
}
.c-header-nav__phone {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 258px;
  height: 50px;
  margin-top: 20px;
  padding-bottom: 3px;
  padding-right: 13px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  background: linear-gradient(90deg, #182447 0%, #2646a2 100%);
}
.c-header-nav__phone::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 21px;
  width: 19px;
  height: 8px;
  background: url("../images/common/icon_arrow.svg");
  translate: 0 -50%;
}
.c-header-nav__socials {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 30px;
}
.c-header-nav__social {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
}
.c-header-nav__social img {
  width: 24px;
  height: auto;
}
.c-header-nav.active {
  translate: 0;
  transition: translate 0.3s;
}
.c-header-toggle {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 55px;
  height: 100%;
  background-color: #182447;
}
@media screen and (min-width: 768px) {
  .c-header-toggle {
    display: none;
  }
}
.c-header-toggle.active {
  background-color: transparent;
}

.c-toggle__line {
  position: relative;
  width: 24px;
  height: 12px;
}
.c-toggle__line span {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #BDBDBD;
  transition: top 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.c-toggle__line span:nth-child(1) {
  top: 0%;
  transform: translateY(0);
}
.c-toggle__line span:nth-child(2) {
  top: 100%;
  transform: translateY(-100%);
}
.c-toggle.active .c-toggle__line span:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(152deg);
}
.c-toggle.active .c-toggle__line span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%) rotate(-152deg);
}

/*!
component > footer
------------------------------
*/
.c-footer-contact {
  position: relative;
  background-image: url("../images/common/bg_contact_sp.webp");
  background-size: cover;
  padding-block: 73px;
  background-color: rgba(12, 31, 60, 0.7);
  background-blend-mode: multiply;
}
@media screen and (min-width: 768px) {
  .c-footer-contact {
    padding-block: 87px 90px;
    background-image: url("../images/common/bg_contact.webp");
    background-color: rgba(12, 31, 60, 0.7);
    background-blend-mode: multiply;
  }
}
.c-footer-contact__wrap {
  position: relative;
  max-width: 1000px;
  width: calc(100% - 36px);
  background-color: #fff;
  margin-inline: auto;
}
.c-footer-contact__box {
  padding-top: 44px;
  padding-bottom: 48px;
  margin-inline: auto;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 768px) {
  .c-footer-contact__box {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.35);
    display: flex;
    padding-top: 47px;
    padding-bottom: 33px;
  }
}
.c-footer-contact__info {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__info {
    width: 479px;
    width: 47.9%;
    padding-left: 20px;
  }
}
.c-footer-contact__actions {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 27px;
  padding-top: 26px;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__actions {
    flex: 1;
    width: initial;
    margin-top: 0;
    padding-top: 5px;
    padding-bottom: 20px;
  }
}
.c-footer-contact__actions::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  height: 1px;
  width: 288px;
  background: rgba(182, 190, 245, 0.6);
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__actions::before {
    top: -10px;
    left: 0;
    bottom: 0;
    width: 1px;
    height: auto;
    translate: 0;
  }
}
.c-footer-contact__actions-wrap {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__actions-wrap {
    width: initial;
  }
}
.c-footer-contact__head {
  position: relative;
  text-align: center;
  padding-bottom: 18px;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__head {
    text-align: left;
    padding-bottom: 23px;
    padding-top: 5px;
  }
}
.c-footer-contact__head::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 22px;
  height: 2px;
  background: linear-gradient(90deg, #CEA950 73%, rgba(206, 169, 80, 0) 100%);
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__head::after {
    left: 0;
    width: 46px;
    translate: 0;
  }
}
.c-footer-contact__en {
  font-size: 0.875rem;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.07em;
  font-weight: 900;
  line-height: 1.4;
  color: #cea950;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__en {
    font-size: 0.9375rem;
  }
}
.c-footer-contact__title {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0em;
  font-family: "Noto Serif JP", serif;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__title {
    padding-top: 2px;
  }
}
.c-footer-contact__text {
  padding-top: 41px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__text {
    text-align: left;
    padding-top: 23px;
  }
}
.c-footer-contact__label {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.4;
  color: #000;
  letter-spacing: 0em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__label {
    font-size: 1rem;
  }
}
.c-footer-contact__item:nth-child(2) {
  margin-top: 28px;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__item:nth-child(2) {
    margin-top: 20px;
  }
}
.c-footer-contact__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding-top: 14px;
}
.c-footer-contact__tel-icon {
  width: 32px;
  height: 32px;
  margin-top: 4px;
}
.c-footer-contact__tel-num {
  font-size: 2.4375rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(180deg, #CEA950 16.9%, #977C3D 109.01%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.c-footer-contact__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 312px;
  max-width: calc(100% - 10px);
  height: 60px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 13px;
  font-size: 1.125rem;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0em;
  background: linear-gradient(90deg, #182447 0%, #2646A2 50%, #26459F 50%, #2353DF 100%);
  background-position: 0% 50%;
  background-size: 200% 100%;
  transition: background-position 0.5s ease;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__btn {
    width: 340px;
    margin-top: 10px;
    max-width: 100%;
  }
  .c-footer-contact__btn:hover {
    opacity: 1;
    background-position: 100% 50%;
  }
  .c-footer-contact__btn:hover .c-footer-contact__btn-arrow {
    transform: translateX(20px);
  }
}
.c-footer-contact__btn-icon {
  width: 16px;
  height: 13px;
  background: url("../images/common/icon_mail.svg");
  background-size: cover;
}
.c-footer-contact__btn-text {
  margin-left: 12px;
  margin-right: 20px;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__btn-text {
    margin-left: 12px;
    margin-right: 20px;
  }
}
.c-footer-contact__btn-arrow {
  width: 19px;
  height: 5px;
  background: url("../images/common/icon_arrow2.svg");
  background-size: cover;
  transition: transform 0.5s ease;
}
@media screen and (min-width: 768px) {
  .c-footer-contact__btn-arrow {
    width: 21px;
    height: 6px;
  }
}
.c-footer-m {
  background-color: #182447;
  color: #FFF;
}
.c-footer-m__inner {
  max-width: 1000px;
  margin-inline: auto;
  padding-block: 66px 64px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .c-footer-m__inner {
    padding-block: 66px 35px;
  }
}
.c-footer-m-block01 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 46px 20px;
}
@media screen and (min-width: 768px) {
  .c-footer-m-block01 {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}
.c-footer-m-block01__txt01 {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-footer-m-block01__txt01 {
    margin-inline: 3px 0;
    text-align: left;
  }
}
.c-footer-m-block01__logo {
  display: inline-flex;
  max-width: 275px;
}
@media screen and (min-width: 768px) {
  .c-footer-m-block01__logo {
    margin-inline: -3px 0;
  }
}
.c-footer-m-block01__navs {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-footer-m-block01__navs {
    display: flex;
    align-items: flex-start;
    gap: 8px 30px;
    margin-block: 19px 0;
    margin-inline: 1px 0;
  }
}
.c-footer-m-block01__socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-block: 28px 0;
}
@media screen and (min-width: 768px) {
  .c-footer-m-block01__socials {
    justify-content: flex-start;
    margin-block: 30px 0px;
    margin-inline: 2px 0;
  }
}
.c-footer-m-block01__social {
  width: 38px;
  aspect-ratio: 1/1;
  background-color: #FFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-footer-m-block01__social img {
  width: 24px;
  height: auto;
}
.c-footer-m-block01__right {
  margin-block: 3px 0;
  max-width: 362px;
}
.c-footer-m-block01__label {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 7px;
  border-bottom: 1px solid #FFF;
  padding-block: 0 4px;
}
.c-footer-m-block01__label::before {
  content: "";
  display: block;
  width: 26px;
  aspect-ratio: 26.2/21.33;
  background-color: #FFF;
  mask-image: url(../images/common/footer/icon_01.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}
.c-footer-m-block01__brands {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(0.3125rem, 33.3333vw + -7.5rem, 0.625rem);
  margin-block: 15px 0;
  margin-inline: clamp(0rem, 33.3333vw + -7.8125rem, 0.3125rem);
}
@media screen and (min-width: 768px) {
  .c-footer-m-block01__brands {
    gap: 12px;
    margin-block: 21px 0;
    margin-inline: 0;
  }
}
.c-footer-m-block01__brandicon {
  background-color: #FFF;
  width: 100%;
  aspect-ratio: 175/56;
}
.c-footer-m-block01__brandtxt {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding-block: 9px 6px;
}
@media screen and (min-width: 768px) {
  .c-footer-m-block01__brandtxt {
    gap: 5px;
    padding-block: 9px 2px;
  }
}
.c-footer-m-block01__brandtxt--blank::after {
  content: "";
  display: block;
  width: 10px;
  aspect-ratio: 1/1;
  background-color: #FFF;
  mask-image: url(../images/common/icon_link_blank02.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}
.c-footer-m-copyright {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  margin-block: 42px 0;
}
.c-footer-m-decord {
  position: absolute;
  bottom: 24px;
  left: calc(50% - 54px);
  translate: -50% 0;
  width: 333px;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .c-footer-m-decord {
    bottom: 68px;
    left: clamp(-13.75rem, -68.75vw + 48.125rem, -3.4375rem);
    translate: 0;
  }
}

.c-nav02 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
}
.c-nav02__link {
  display: inline-flex;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  position: relative;
  padding-inline: 15px 0;
}
.c-nav02__link::before {
  content: "";
  display: block;
  width: 8px;
  height: 1px;
  background-color: #FFF;
  position: absolute;
  top: 10px;
  left: 0;
}

/*!
component > Other
------------------------------

- loadpage
------------------------------
*/
.is-loading .c-loading {
  opacity: 1;
  pointer-events: all;
}

.c-loading {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--base);
  z-index: 100;
  opacity: 0;
  pointer-events: none;
}
.c-loading__content {
  position: relative;
  -webkit-transform: translate(-15px, -15px);
  transform: translate(-15px, -15px);
}
.c-loading__item {
  background-color: var(--white);
  width: 12px;
  height: 12px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  margin-left: 15px;
  top: 4px;
  left: -7px;
}
.c-loading__item:first-child {
  -webkit-animation: ball-zig 0.7s 0s infinite linear;
  animation: ball-zig 0.7s 0s infinite linear;
}
.c-loading__item:last-child {
  -webkit-animation: ball-zag 0.7s 0s infinite linear;
  animation: ball-zag 0.7s 0s infinite linear;
}

@-webkit-keyframes ball-zig {
  33% {
    -webkit-transform: translate(-15px, -30px);
    transform: translate(-15px, -30px);
  }
  66% {
    -webkit-transform: translate(15px, -30px);
    transform: translate(15px, -30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes ball-zig {
  33% {
    -webkit-transform: translate(-15px, -30px);
    transform: translate(-15px, -30px);
  }
  66% {
    -webkit-transform: translate(15px, -30px);
    transform: translate(15px, -30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@-webkit-keyframes ball-zag {
  33% {
    -webkit-transform: translate(15px, 30px);
    transform: translate(15px, 30px);
  }
  66% {
    -webkit-transform: translate(-15px, 30px);
    transform: translate(-15px, 30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes ball-zag {
  33% {
    -webkit-transform: translate(15px, 30px);
    transform: translate(15px, 30px);
  }
  66% {
    -webkit-transform: translate(-15px, 30px);
    transform: translate(-15px, 30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
/*!
component > Popup
------------------------------
*/
:where(.inview) {
  opacity: 0;
}

.fadeIn,
.fadeUp,
.fadeRight,
.fadeLeft,
.bounceIn {
  animation-duration: 0.7s;
  animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
}

.fadeUp {
  animation-name: ani_fadeup;
  animation-fill-mode: forwards;
}

.fadeRight {
  animation-name: ani_toright;
  animation-fill-mode: forwards;
}

.fadeLeft {
  animation-name: ani_toleft;
  animation-fill-mode: forwards;
}

.fadeIn {
  animation-name: ani_fadein;
  animation-fill-mode: forwards;
}

.bounceIn {
  animation-name: bounce_in;
  animation-fill-mode: forwards;
}

@keyframes ani_fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}
@keyframes ani_toright {
  0% {
    transform: translateX(-40px);
    opacity: 0;
  }
  100% {
    transform: translateX(0px);
    opacity: 1;
  }
}
@keyframes ani_toleft {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}
@keyframes ani_fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes bounce_in {
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.2, 1.2, 1.2);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.c-cardresults__item {
  border: 1px solid #D9D9D9;
  padding: 8px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-cardresults__item {
    padding: 16px;
  }
}
.c-cardresults__img {
  width: 100%;
  aspect-ratio: 460/264.48;
}
.c-cardresults__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-cardresults__ct {
  padding-block: 13px 0;
}
@media screen and (min-width: 768px) {
  .c-cardresults__ct {
    padding-block: 19px 0;
  }
}
.c-cardresults__cttop {
  padding-block: 0 14px;
  border-bottom: 1px solid #D9D9D9;
  padding-inline: 3px 0;
}
@media screen and (min-width: 768px) {
  .c-cardresults__cttop {
    padding-inline: 0;
  }
}
.c-cardresults__local {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.2;
  letter-spacing: 0;
  padding-inline: 25px 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-cardresults__local {
    font-size: 1rem;
    padding-inline: 29px 0;
  }
}
.c-cardresults__local::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 1px;
  width: 16px;
  aspect-ratio: 16/19;
  background-color: #CEA950;
  mask-image: url(../images/common/icon_local.svg);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}
@media screen and (min-width: 768px) {
  .c-cardresults__local::before {
    top: 1px;
    left: -2px;
  }
}
.c-cardresults__cats {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 7px 13px;
  margin-block: 12px 0;
}
@media screen and (min-width: 768px) {
  .c-cardresults__cats {
    gap: 5px 20px;
    margin-block: 18px 0;
  }
}
.c-cardresults__catitem {
  display: flex;
  align-items: center;
  gap: 10px;
}
.c-cardresults__catlabel {
  background-color: #09316B;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.2;
  padding-block: 3px;
  padding-inline: 5px 6px;
  display: inline-flex;
}
.c-cardresults__catlabel--blue {
  background-color: #09316B;
}
.c-cardresults__catlabel--green {
  background-color: #1B7830;
}
.c-cardresults__catlabel--brown {
  background-color: #78351B;
}
.c-cardresults__catlabel--yellow {
  background-color: #B58200;
}
.c-cardresults__catlabel--violet {
  background-color: #541B78;
}
.c-cardresults__cattxt {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.2;
  color: #000;
}
.c-cardresults__ttl {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  padding-block: 7px 51px;
  padding-inline: 3px 5px;
}
@media screen and (min-width: 768px) {
  .c-cardresults__ttl {
    padding-block: 11px 41px;
    font-size: 1.25rem;
    padding-inline: 0;
  }
}
.c-cardresults__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  aspect-ratio: 1/1;
  background-color: #182447;
  position: absolute;
  right: 7px;
  bottom: 7px;
}
@media screen and (min-width: 768px) {
  .c-cardresults__btn {
    right: 10px;
    bottom: 8px;
  }
}
.c-cardresults__btn::before {
  content: "";
  width: 24px;
  aspect-ratio: 24/8;
  background-color: #FFF;
  position: absolute;
  top: 50%;
  right: 50%;
  translate: 50% -50%;
  mask-image: url(../images/common/icon_arrow04.svg);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.c-cardnews__item {
  border-bottom: 1px solid #CCCCCC;
}
.c-cardnews__link {
  display: flex;
  flex-direction: column;
  padding-block: 8px 9px;
  gap: 6px;
  position: relative;
  padding-right: 25px;
}
@media screen and (min-width: 768px) {
  .c-cardnews__link {
    padding-right: 30px;
    gap: 20px;
    padding-block: 15px 16px;
    flex-direction: row;
    align-items: center;
  }
}
.c-cardnews__label {
  display: flex;
  align-items: center;
  gap: 17px;
}
.c-cardnews__date {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  color: #8A8A8A;
  flex-shrink: 0;
  margin-block: 4px 0;
}
.c-cardnews__cat {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4;
  color: #575E81;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 71px;
  height: 21px;
  border: 1px solid #575E81;
}
@media screen and (min-width: 768px) {
  .c-cardnews__cat {
    width: 102px;
    height: 25px;
  }
}
.c-cardnews__ttl {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  color: #000;
}
@media screen and (min-width: 768px) {
  .c-cardnews__ttl {
    font-size: 1rem;
  }
}
.c-cardnews__icon {
  position: absolute;
  right: 6px;
  top: calc(50% + 18px);
  display: block;
  width: 8px;
  aspect-ratio: 8/13;
  background-color: #575E81;
  mask-image: url(../images/common/icon_arrow05.svg);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  translate: 0 -50%;
}
@media screen and (min-width: 768px) {
  .c-cardnews__icon {
    right: 13px;
    top: 50%;
  }
}

/*
================================
Component > Block
================================
*/
.c-philosophyblock {
  background-color: #081247;
  padding-block: 81px 73px;
  position: relative;
  z-index: 1;
  overflow: clip;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock {
    padding-block: 99px 100px;
  }
}
.c-philosophyblock-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: -1;
  min-height: 1306px;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-bg {
    min-height: 0;
  }
}
.c-philosophyblock-bg::after {
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
  background-image: linear-gradient(to bottom, rgba(13, 27, 95, 0.5), #061146);
}
.c-philosophyblock-bg img {
  object-fit: cover;
  object-position: center top;
  height: 100%;
  min-height: 1306px;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-bg img {
    min-height: 0;
  }
}
.c-philosophyblock__ttl {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  color: #FFF;
  text-align: center;
}
.c-philosophyblock__desc {
  color: #FFF;
  text-align: center;
  font-size: 0.9375rem;
  padding-block: 40px 0;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock__desc {
    line-height: 1.8;
    font-size: 1.125rem;
  }
}
.c-philosophyblock-block01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 17px 20px;
  margin-block: 40px 0;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block01 {
    gap: 41px;
    margin-block: 62px 0;
  }
}
.c-philosophyblock-block01__item {
  background-color: #FFF;
  padding: 7px;
  max-width: 36.2088rem;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block01__item {
    padding: 5px;
  }
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block01__link:hover .c-philosophyblock-block01__icon {
    transform: translateX(20px);
  }
}
.c-philosophyblock-block01__ttl {
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 8px 2px;
  padding-inline: 10px 4px;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block01__ttl {
    justify-content: center;
    padding-block: 16px 11px;
    padding-inline: 0;
  }
}
.c-philosophyblock-block01__ttltxt {
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block01__ttltxt {
    line-height: 1.6;
  }
}
.c-philosophyblock-block01__ttlicon {
  translate: 0 -4px;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block01__ttlicon {
    translate: 0;
  }
}
.c-philosophyblock-block01__icon {
  width: 24px;
  aspect-ratio: 24/8;
  background-color: #182447;
  mask-image: url(../images/common/icon_arrow04.svg);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  margin-left: 19px;
  transition: transform 0.5s ease;
}
.c-philosophyblock-block02 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 45px 15px;
  margin-inline: -3px;
  margin-block: 90px 0;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block02 {
    margin-block: 73px 0;
  }
}
.c-philosophyblock-block02__item {
  max-width: 290px;
  background-color: #FFF;
  padding-block: 35px 0;
  padding-inline: 15px;
  border: 2px solid #CEA950;
  border-top: 0;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block02__item {
    padding-block: 48px 0;
  }
}
.c-philosophyblock-block02__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background-image: linear-gradient(to right, #FFE5A8 7%, #CEA950 30%, #CEA950 70%, #FFE5A8 100%);
}
.c-philosophyblock-block02__index {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  aspect-ratio: 1/1;
  background-color: #CEA950;
  font-family: "Noto Serif JP", serif;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  color: #FFF;
  border: 2px solid #F1DBA6;
  position: absolute;
  top: -20px;
  left: 50%;
  rotate: -45deg;
  translate: -50% 0;
}
.c-philosophyblock-block02__index span {
  rotate: 45deg;
}
.c-philosophyblock-block02__icon {
  width: 77px;
  height: 61px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
}
.c-philosophyblock-block02__icon svg {
  width: auto;
}
.c-philosophyblock-block02__ttl {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  margin-block: 14px 0;
  text-align: center;
}
.c-philosophyblock-block02__desc {
  font-size: 0.875rem;
  line-height: 1.5;
  margin-block: 13px 24px;
  color: #000;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block02__desc {
    margin-block: 20px 28px;
    font-size: 0.9375rem;
  }
}
.c-philosophyblock-block02__ttl02 {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  color: #FFF;
  text-align: center;
  margin-block: 49px 0;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block02__ttl02 {
    line-height: 1.4;
    margin-block: 101px 0;
  }
}
.c-philosophyblock-block02__notes {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  width: max-content;
  color: #FFF;
  margin-inline: auto;
  margin-block: 30px 0;
  position: relative;
}
.c-philosophyblock-block02__notes::before {
  content: "";
  position: absolute;
  top: 0;
  left: -26px;
  width: 1px;
  height: 21px;
  background-color: #FFF;
  rotate: 166deg;
}
.c-philosophyblock-block02__notes::after {
  content: "";
  position: absolute;
  top: 0;
  right: -26px;
  width: 1px;
  height: 21px;
  background-color: #FFF;
  rotate: 193deg;
}
.c-philosophyblock-block02__videoarea {
  max-width: 640px;
  aspect-ratio: 640/360;
  margin-inline: auto;
  margin-block: 16px 0;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock-block02__videoarea {
    margin-block: 73px 0;
  }
}
.c-philosophyblock-block02__videoarea iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock--custom01 {
    padding-block: 71px 51px;
  }
}
@media screen and (min-width: 768px) {
  .c-philosophyblock--custom01 .c-philosophyblock-block01 {
    margin-top: 66px;
  }
}
@media screen and (min-width: 768px) {
  .c-philosophyblock--custom01 .c-philosophyblock-block01__ttl {
    padding-block: 18px 14px;
  }
}
.c-philosophyblock--custom01 .c-philosophyblock-bg {
  height: 100%;
  min-height: 0;
}
.c-philosophyblock--custom01 .c-philosophyblock-bg::after {
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock--custom01 .c-philosophyblock-bg::after {
    background-image: linear-gradient(to bottom, rgba(13, 27, 95, 0.1), rgba(6, 17, 70, 0.7));
  }
}
.c-philosophyblock--custom01 .c-philosophyblock-bg img {
  object-fit: cover;
  object-position: center top;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .c-philosophyblock--custom01 .c-philosophyblock-bg img {
    object-position: center;
  }
}
.c-philosophyblock--custom01 .c-philosophyblock__ttl {
  font-weight: 600;
  letter-spacing: 0.05em;
}

/*!
component > fv
------------------------------
*/
@keyframes fvKenBurns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(var(--fv-kenburns-scale, 1.05));
  }
}
.c-fv {
  /* --------------------------------------------------
     Configuration Variables 
  -------------------------------------------------- */
  --fv-bg-fade-duration: 0.6s;
  --fv-bg-fade-ease: ease-out;
  --fv-catch-copy-delay: 0.6s;
  --fv-sub-copy-delay: 0.85s;
  --fv-counter-delay: 1.1s;
  --fv-pagination-delay: 1.3s;
  --fv-slide-duration: 4000ms;
  --fv-crossfade-speed: 500ms;
  --fv-kenburns-scale: 1.05;
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 560px;
  overflow: hidden;
  background-color: #0c1830;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .c-fv {
    height: 100vh;
    min-height: 640px;
  }
}
.c-fv-swiper {
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity var(--fv-bg-fade-duration) var(--fv-bg-fade-ease);
}
.is-loaded .c-fv-swiper {
  opacity: 1;
}
.c-fv-slide {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transition: opacity var(--fv-crossfade-speed, 500ms) ease-in-out !important;
}
.c-fv-slide__img {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.c-fv-slide__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1);
  will-change: transform;
}
.c-fv-slide__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 10, 23, 0.38);
  pointer-events: none;
  z-index: 1;
}
.c-fv-ct {
  position: absolute;
  top: 45.1%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  max-width: 1000px;
  z-index: 10;
  padding-inline: 20px;
  text-align: center;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .c-fv-ct {
    top: 53.7%;
    padding-inline: 40px;
  }
}
.c-fv-ttl {
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 47px;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.is-loaded .c-fv-ttl {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--fv-catch-copy-delay);
}
@media screen and (min-width: 768px) {
  .c-fv-ttl {
    margin-bottom: 68px;
  }
}
.c-fv-ttl__en {
  display: block;
  font-size: 0.75rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.47em;
  margin-bottom: 10px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 768px) {
  .c-fv-ttl__en {
    font-size: 1.25rem;
    margin-bottom: 6px;
  }
}
.c-fv-ttl__jp {
  display: block;
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.44;
  letter-spacing: 0;
  text-shadow: 0 4px 4px rgba(6, 6, 49, 0.71), 0 0px 10px rgba(6, 6, 49, 0.42);
}
@media screen and (min-width: 768px) {
  .c-fv-ttl__jp {
    font-size: clamp(2.5rem, 5.0781vw + 0.0625rem, 4.125rem);
  }
}
.c-fv-ttl__jp span {
  display: inline-block;
}
.c-fv-sub {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.is-loaded .c-fv-sub {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--fv-sub-copy-delay);
}
.c-fv-sub__desc01 {
  font-size: 1.125rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: #fff;
  text-shadow: 0 0 9px rgba(6, 6, 49, 0.66), 0 0 4px #021027;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .c-fv-sub__desc01 {
    font-size: 1.5rem;
    margin-bottom: 27px;
  }
}
.c-fv-sub__desc02 {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  color: #fff;
  text-shadow: 0 0 9px rgba(6, 6, 49, 0.66), 0 0 4px #021027;
}
@media screen and (min-width: 768px) {
  .c-fv-sub__desc02 {
    font-size: 1.125rem;
  }
}
.c-fv-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-block: 16px 8px;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .c-fv-bottom {
    padding-block: 23px 20px;
  }
}
.c-fv-bottom::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  background-color: #09316B;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}
.c-fv-bottom__line {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.c-fv-bottom__line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-top: 1px solid #BDBDBD;
}
.c-fv-bottom__line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-bottom: 1px solid #BDBDBD;
  display: none;
}
@media screen and (min-width: 768px) {
  .c-fv-bottom__line::after {
    display: block;
  }
}
.c-fv-bottom__inner {
  max-width: 1265px;
  margin-inline: auto;
  padding-inline: 18px;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 13;
}
@media screen and (min-width: 768px) {
  .c-fv-bottom__inner {
    padding-inline: 40px;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}
.c-fv-bottom__txt01 {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.is-loaded .c-fv-bottom__txt01 {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--fv-counter-delay);
}
.c-fv-bottom__nagi {
  display: flex;
  align-items: center;
  gap: 11px;
}
@media screen and (min-width: 768px) {
  .c-fv-bottom__nagi {
    gap: 47px;
    margin-right: 5px;
  }
}
.c-fv-pagination {
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.is-loaded .c-fv-pagination {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--fv-pagination-delay);
}
@media screen and (min-width: 768px) {
  .c-fv-pagination {
    gap: 12px;
    margin-bottom: 3px;
  }
}
.c-fv-pagination__item {
  position: relative;
  display: block;
  height: 3px;
  width: 20px;
  background-color: #858585;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  transition: width 0.4s cubic-bezier(0.25, 1, 0.5, 1), background-color 0.4s ease;
}
.c-fv-pagination__item::before {
  content: "";
  position: absolute;
  top: -10px;
  bottom: -10px;
  left: 0;
  right: 0;
}
.c-fv-pagination__item.is-active {
  width: 40px;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .c-fv-pagination__item.is-active {
    width: 40px;
  }
}
.c-fv-pagination__item:hover:not(.is-active) {
  background-color: rgba(255, 255, 255, 0.75);
}
.c-fv-counter {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
@media screen and (min-width: 768px) {
  .c-fv-counter {
    font-size: 0.875rem;
  }
}
.is-loaded .c-fv-counter {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--fv-counter-delay);
}

/*!
layout > container
------------------------------
*/
.l-container {
  width: 100%;
  padding: 0 15px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-container {
    max-width: 1280px;
    padding-inline: 40px;
  }
}

.l-child {
  padding-top: 57px;
}
@media screen and (min-width: 768px) {
  .l-child {
    padding-top: 69px;
  }
}
