@charset "UTF-8";
/*
Theme Name: エコー金属株式会社 2026
Author: 誠晃舎
Author URI: https://sks-net.co.jp/
Version: 1.0
*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Noto+Sans+JP:wght@400;700&display=swap");
:root {
  --letter-spacing:0.05em;
  --header-height: 0px;
  --scroll-header-height: calc(var(--header-height) + 20px);
  --ratio:0.052;
  --unit:1vw;
  --color-main:#294871;
  --color-main-light:#E5EFFA;
  --gothic-normal: "Noto Sans JP","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --gothic-bold: "Noto Sans JP","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --mincho: "Noto Serif JP","游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "リュウミン R-KL","游明朝体", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  --en: "Montserrat", sans-serif;
  --easeOut1: cubic-bezier(0.17, 0.84, 0.44, 1);
  --easeOut2: cubic-bezier(.23,1,.32,1);
  --easeInOut1:cubic-bezier(0.42, 0, 0.13, 1.02);
}

@media only screen and (max-width: 767.98px) {
  :root {
    --ratio:0.266;
  }
}
/*! destyle.css v3.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;
  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] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

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

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

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

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

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

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

legend {
  padding: 0;
}

/**
 * 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. Fix font inheritance.
 */
::-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]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

/*---------------------------------------------------------------------------
リセット追加
---------------------------------------------------------------------------*/
body {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

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

li > a {
  display: block;
  width: 100%;
}

table {
  width: 100%;
  border-spacing: 0;
}

dt {
  font-weight: normal;
}

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

video {
  vertical-align: bottom;
}

summary {
  display: block;
  list-style: none;
  cursor: pointer;
  transition: 0.2s;
}

details summary::-webkit-details-marker {
  display: none;
}

[tabindex="-1"]:focus {
  outline: none !important;
}

/*---------------------------------------------------------------------------
フォーム要素リセット
---------------------------------------------------------------------------*/
input[type=text],
input[type=search],
input[type=tel],
input[type=email],
input[type=password],
input[type=url],
textarea,
select {
  width: 100%;
}

input[type=text],
input[type=search],
input[type=tel],
input[type=email],
input[type=password],
input[type=url] {
  line-height: normal; /*ios placeholderのズレ*/
}

label {
  position: relative;
}

input[type=checkbox],
input[type=radio] {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  opacity: 0;
}

textarea {
  resize: vertical;
}

label {
  display: block;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
label:focus {
  outline: none;
}

legend {
  display: block;
}

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

input:placeholder-shown, textarea:placeholder-shown {
  color: #ccc;
  font-size: 100%;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #ccc;
  font-size: 100%;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #ccc;
  font-size: 100%;
}

/*---------------------------------------------------------------------------
スクロールバー
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
アニメーション
---------------------------------------------------------------------------*/
[data-fadein] {
  transform: translateY(var(--transform-from, 40px)) rotate(0.0001deg);
  opacity: var(--opacity-from, 0);
}
[data-fadein][data-scroll=onScreen] {
  opacity: 1;
  transform: none;
  transition: transform 1.2s var(--easeOut1), opacity 1s ease-in-out;
  transition-delay: var(--delay, 0s);
}

@media only screen and (max-width: 767.98px) {
  [data-fadein] {
    transform: translateY(var(--transform-from, var(--transform-from-sp, 40px))) rotate(0.0001deg);
    opacity: var(--opacity-from-sp, var(--opacity-from, 0));
  }
  [data-fadein][data-scroll=onScreen] {
    transition-delay: var(--delay-sp, var(--delay, 0s));
  }
}
[data-fadein-scatter] [data-fadein-scatter-child] {
  transform: translateY(var(--transform-from, 40px)) rotate(0.0001deg);
  opacity: var(--opacity-from, 0);
}
[data-fadein-scatter][data-scroll=onScreen] [data-fadein-scatter-child] {
  opacity: 1;
  transform: none;
  transition: transform 1.2s var(--easeOut1), opacity 1s ease-in-out;
  transition-delay: calc(var(--delay, 0s) + var(--delay-base, 0s));
}

@media only screen and (max-width: 767.98px) {
  [data-fadein-scatter] [data-fadein-scatter-child] {
    transform: translateY(var(--transform-from, var(--transform-from-sp, 40px))) rotate(0.0001deg);
    opacity: var(--opacity-from-sp, var(--opacity-from, 0));
  }
  [data-fadein-scatter][data-scroll=onScreen] [data-fadein-scatter-child] {
    transition-delay: var(--delay-sp, var(--delay), 0s);
    transition-delay: calc(var(--delay-sp, var(--delay, 0s)) + var(--delay-base, var(--delay-base-sp, 0s)));
  }
}
/*---------------------------------------------------------------------------
カバーアニメーション
---------------------------------------------------------------------------*/
[data-cover] {
  position: relative;
  overflow: hidden;
}

[data-cover]::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: #fff;
  transition: width 1s ease, height 1s ease;
}

[data-cover] img {
  transform: scale(1.1);
  transition: transform 2s ease;
}

[data-cover][data-scroll=onScreen]::after,
[data-scroll=onScreen] [data-cover]::after {
  height: 0;
}
[data-cover][data-scroll=onScreen] img,
[data-scroll=onScreen] [data-cover] img {
  transform: scale(1);
}

[data-cover-right][data-scroll=onScreen]::after,
[data-scroll=onScreen] [data-cover-right]::after {
  height: 100%;
  width: 0;
}
[data-cover-right][data-scroll=onScreen] img,
[data-scroll=onScreen] [data-cover-right] img {
  transform: scale(1);
}

/*---------------------------------------------------------------------------
DOMロード後に実行
---------------------------------------------------------------------------*/
[data-fadein-domloaded] {
  transform: translateY(var(--transform-from, 40px)) rotate(0.0001deg);
  opacity: var(--opacity-from, 0);
}

body[data-dom-loaded] [data-fadein-domloaded] {
  opacity: 1;
  transform: none;
  transition: transform 1.5s ease, opacity 1s ease-in-out;
  transition-delay: var(--delay, 0s);
}

@media only screen and (max-width: 767.98px) {
  [data-fadein-domloaded] {
    transform: translateY(var(--transform-from, var(--transform-from-sp, 40px))) rotate(0.0001deg);
    opacity: var(--opacity-from-sp, var(--opacity-from, 0));
  }
  body[data-dom-loaded] [data-fadein-domloaded] {
    transition-delay: var(--delay-sp, var(--delay, 0s));
  }
}
/*---------------------------------------------------------------------------
トグルパネル
---------------------------------------------------------------------------*/
[data-collapse][aria-hidden=true] {
  display: none;
}

[data-collapse][aria-hidden=false] {
  animation: fadeIn 0.2s ease-in-out forwards;
}

@keyframes fadeUp {
  0% {
    transform: translateY(40px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* ----------------------------- 全体 */
@media (min-width: 767.98px) and (max-width: 1280px) {
  html {
    font-size: 1.25vw;
  }
}
* {
  letter-spacing: var(--letter-spacing);
}

*[id] {
  scroll-margin-top: var(--scroll-header-height);
}

html {
  touch-action: manipulation;
}

body {
  position: relative;
  line-height: 1.8;
  font-weight: 400;
  color: #000;
  background: #fff;
  font-family: var(--gothic-normal);
}

@media only screen and (max-width: 767.98px) {
  body {
    font-size: 0.875rem;
  }
}
h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
  font-weight: bold;
  font-family: var(--gothic-bold);
}

[data-ruby] {
  position: relative;
}

[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  top: -1em;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 0.5em;
  text-align: center;
}

rt {
  display: none;
}

@media (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/*pc*/
@media only screen and (max-width: 767.98px) {
  .pc-only {
    display: none !important;
  }
}
/*sp*/
.visually-hidden {
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

img[style], svg[style] {
  width: calc(var(--width) / 16 * 1rem);
}

@media only screen and (max-width: 767.98px) {
  img[style], svg[style] {
    width: calc(var(--width-sp, var(--width)) / 16 * 1rem);
  }
}
body > #container {
  display: grid;
  grid-template-columns: 17.5rem minmax(0, 1fr);
  min-height: var(--vh, 100vh);
}

@media only screen and (max-width: 767.98px) {
  body > #container {
    display: block;
    min-height: inherit;
  }
}
/*---------------------------------------------------------------------------
コンポーネント
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
タイトル
---------------------------------------------------------------------------*/
.c-title-primary {
  position: relative;
  padding: 0 0 1.5625rem;
  font-weight: bold;
  color: var(--color-main);
  text-align: center;
}
.c-title-primary::after {
  position: absolute;
  display: block;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 7.5rem;
  margin: auto;
  height: clamp(2px, 0.375rem, 6px);
  background: #FFEC4A;
}
.c-title-primary.-white {
  color: #fff;
}
.c-title-primary.-black {
  color: #000;
}
.c-title-primary.-left {
  width: -moz-fit-content;
  width: fit-content;
}

.c-title-primary__shoulder {
  margin: 0 0 0.3125rem;
  font-size: 0.8125rem;
  line-height: 1.4;
}
.c-title-primary__shoulder.-en {
  font-family: var(--en);
}

.c-title-primary__headline {
  font-size: 2.1875rem;
  line-height: 1.4;
}
.c-title-primary__headline.-en {
  font-family: var(--en);
}

@media only screen and (max-width: 767.98px) {
  .c-title-primary {
    padding: 0 0 0.9375rem;
  }
  .c-title-primary::after {
    width: 3.75rem;
    height: 2px;
  }
  .c-title-primary.-center-sp {
    width: 100%;
  }
  .c-title-primary__shoulder {
    font-size: 0.75rem;
  }
  .c-title-primary__headline {
    font-size: 1.75rem;
  }
}
/*---------------------------------------------------------------------------
セカンドタイトル
---------------------------------------------------------------------------*/
.c-title-secondary {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.9375rem 0 0;
  font-size: 1.5rem;
}
.c-title-secondary::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #BEBEBE;
}
.c-title-secondary::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 30px;
  height: 4px;
  background: #FFEC4A;
}
.c-title-secondary.-full {
  width: 100%;
}
.c-title-secondary.-white::before {
  background: #fff;
}
.c-title-secondary.-small {
  font-size: 1rem;
}

@media only screen and (max-width: 767.98px) {
  .c-title-secondary {
    padding: 0.625rem 0 0;
    font-size: 1.25rem;
  }
  .c-title-secondary::after {
    width: 20px;
  }
}
/*---------------------------------------------------------------------------
メインボタン
---------------------------------------------------------------------------*/
.c-btn-primary {
  display: grid;
  place-content: center;
  width: 20rem;
  height: 4.375rem;
  margin: 0 auto;
  color: var(--color-main);
  text-align: center;
  border: 1px solid var(--color-main);
  border-radius: 3px;
  transition: background-color 0.2s;
}
.c-btn-primary.is-hover {
  color: #fff;
  background: var(--color-main);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.c-btn-primary.-white {
  color: #fff;
  border-color: #fff;
  background: none;
}
.c-btn-primary.-white.is-hover {
  color: var(--color-main);
  background: #fff;
}
.c-btn-primary.-left {
  margin: 0 auto 0 0;
}
.c-btn-primary.-small {
  width: 14.375rem;
  height: 3.125rem;
}

.c-btn-primary__inner {
  display: flex;
  justify-content: center;
  align-items: baseline;
}

.c-btn-primary__icon {
  position: relative;
  top: -0.125rem;
  margin: 0 0 0 1em;
  line-height: 1;
}

@media only screen and (max-width: 767.98px) {
  .c-btn-primary {
    width: 14.375rem;
    height: 3.125rem;
  }
  .c-btn-primary.-center-sp {
    margin: 0 auto;
  }
  .c-btn-primary__icon {
    margin: 0 0 0 0.5em;
  }
}
/*---------------------------------------------------------------------------
サブボタン
---------------------------------------------------------------------------*/
.c-btn-secondary-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.125rem;
  max-width: 50rem;
  margin: 0 auto;
}

@media only screen and (max-width: 767.98px) {
  .c-btn-secondary-wrap {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.c-btn-secondary {
  display: grid;
  place-content: center;
  height: 2.8125rem;
  text-align: center;
  border: 1px solid var(--color-main);
  border-radius: 100px;
  transition: background-color 0.2s;
}
.c-btn-secondary.is-hover {
  background: var(--color-main-light);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

@media only screen and (max-width: 767.98px) {
  .c-btn-secondary {
    width: 100%;
    height: 2.5rem;
  }
}
/*---------------------------------------------------------------------------
新商品
---------------------------------------------------------------------------*/
.c-btn-new {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.5rem;
  background: #FFEC4A;
  border-radius: 100px;
  transition: opacity 0.2s;
}
.c-btn-new.is-hover {
  opacity: 0.8;
}

.c-btn-new__title {
  padding: 0 1.25rem 0 0.75rem;
  white-space: nowrap;
}

.c-btn-new__date {
  display: grid;
  place-content: center;
  width: 14.375rem;
  height: 1.875rem;
  background: #fff;
  border-radius: 100px;
}

@media only screen and (max-width: 767.98px) {
  .c-btn-new {
    justify-content: space-between;
    width: 100%;
    padding: 0.3125rem;
  }
  .c-btn-new__title {
    width: 100%;
    padding: 0 0.625rem 0 0.9375rem;
    text-align: center;
  }
  .c-btn-new__date {
    flex: none;
    width: 10rem;
    height: 1.875rem;
  }
}
/*---------------------------------------------------------------------------
ボーダースライドボタン
---------------------------------------------------------------------------*/
.c-btn-border {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 60px;
  max-width: 300px;
  transition: padding 0.8s var(--easeOut1);
}
.c-btn-border::before, .c-btn-border::after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
}
.c-btn-border::before {
  transform-origin: right;
}
.c-btn-border::after {
  transform: scaleX(0);
  transform-origin: left;
}
.c-btn-border.is-hover::before, .c-btn-border.is-out::before {
  transform: scaleX(0);
  transition-duration: 0.4s;
}
.c-btn-border.is-hover::after, .c-btn-border.is-out::after {
  transform: scaleX(1);
  transition-duration: 0.4s;
  transition-delay: 0.4s;
}

/*---------------------------------------------------------------------------
リンク
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
テーブル
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
モーダル
---------------------------------------------------------------------------*/
.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 15px;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.c-modal[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
}
.c-modal[aria-hidden=false] .c-modal__body {
  animation: modalSlideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-modal__cover {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.c-modal__body {
  position: relative;
  max-height: 100%;
  width: 100%;
  max-width: 1000px;
  animation: modalSlideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-modal__close {
  position: absolute;
  top: -55px;
  right: 0;
  z-index: 2;
  width: 40px;
  height: 40px;
  background: url(img/common/close.svg) no-repeat center;
  background-size: contain;
}

.c-modal__inner {
  height: 100%;
  padding: 30px;
  overflow-y: scroll;
}

@keyframes modalSlideIn {
  from {
    transform: translateY(40px);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes modalSlideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-40px);
  }
}
@media only screen and (max-width: 767.98px) {
  .c-modal__close {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 2;
    width: 45px;
    height: 45px;
    background-color: #000;
    background-size: 20px 20px;
    border-radius: 50%;
  }
}
/*---------------------------------------------------------------------------
円形プログレスバー
---------------------------------------------------------------------------*/
.c-progress-circle {
  position: relative;
  width: 24px;
  height: 24px;
  margin: 0 5px;
  color: orange;
  transform: rotate(-90deg);
}
.c-progress-circle::before {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
}
.c-progress-circle circle {
  stroke: #fff;
  stroke-width: 2;
  stroke-dasharray: 62.8 62.8;
  stroke-dashoffset: 62, 8;
}
.c-progress-circle[data-progress=true] circle {
  animation: circle 5s linear forwards;
}

@keyframes circle {
  0% {
    stroke-dashoffset: 62.8;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
/*---------------------------------------------------------------------------
ローダー
<div class="c-loader">
	<svg class="c-loader__circular"viewBox="25 25 50 50" >
		<circle class="c-loader__path" cx="50" cy="50" r="20" fill="none" stroke="#FF7D39" stroke-width="2" />
	</svg>
</div>
---------------------------------------------------------------------------*/
.c-loader-wrap {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #efefef;
  pointer-events: none;
}

.c-loader {
  position: relative;
  margin: 0px auto;
  width: 80px;
  height: 80px;
  pointer-events: none;
}

.c-loader:before {
  content: "";
  display: block;
  padding-top: 100%;
}

.c-loader__circular {
  animation: rotate 2s linear infinite;
  height: 100%;
  transform-origin: center center;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
}

.c-loader__path {
  stroke-dasharray: 150, 200;
  stroke-dashoffset: -10;
  animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
  stroke-linecap: round;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124;
  }
}
@keyframes color {
  0% {
    stroke: #FF7D39;
  }
  40% {
    stroke: #FF7D39;
  }
  66% {
    stroke: #FF7D39;
  }
  80%, 90% {
    stroke: #FF7D39;
  }
}
/*---------------------------------------------------------------------------
製品一覧
---------------------------------------------------------------------------*/
.c-product-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(13.75rem, 1fr));
  gap: 2.5rem;
}

.c-product {
  line-height: 1.4;
}

.c-product__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

.c-product__image {
  position: relative;
  display: block;
  overflow: hidden;
}
.c-product__image::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.c-product__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-product__image img {
  transition: transform 0.2s ease;
  transform: rotate(0.0001deg);
}

.c-product__link.is-hover .c-product__image img {
  transform: scale(1.05) rotate(0.0001deg);
}

.c-product__number {
  margin: 0 0 0.3125rem;
  font-size: 0.875rem;
  color: #8b8b8b;
}

.c-product__title {
  font-size: 1.125rem;
}

.c-product__jan {
  font-size: 0.75rem;
  color: #8b8b8b;
}

.c-product__price {
  margin: 0.3125rem 0 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #333;
}

.c-product__foot {
  margin: auto 0 0;
}

.c-product__separate {
  width: 100%;
  height: 1px;
  margin: 0.625rem 0;
  background: #8b8b8b;
}

.c-product__badge {
  display: grid;
  place-content: center;
  width: 3.75rem;
  height: 1.25rem;
  margin: 0 0 0.625rem;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: #fff;
  background: #C70000;
}

@media only screen and (max-width: 767.98px) {
  .c-product-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
  .c-product {
    line-height: 1.4;
  }
  .c-product__number {
    font-size: 0.75rem;
  }
  .c-product__title {
    font-size: 1rem;
  }
  .c-product__jan {
    font-size: 0.75rem;
  }
  .c-product__separate {
    margin: 0.625rem 0;
  }
  .c-product__badge {
    width: 3.125rem;
    height: 1.125rem;
    margin: 0 0 0.3125rem;
    font-size: 0.625rem;
  }
}
/*---------------------------------------------------------------------------
製品
---------------------------------------------------------------------------*/
.c-product-category-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 1.5625rem;
}

.c-product-category {
  border: 1px solid #ddd;
  border-radius: 0.5rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.c-product-category__link {
  height: 100%;
  padding: 1.25rem;
  transition: background-color 0.1s;
}
.c-product-category__link.is-hover {
  background-color: var(--color-main-light);
}

.c-product-category__image {
  text-align: center;
}
.c-product-category__image img {
  transition: transform 0.8s cubic-bezier(0.22, 0.78, 0.58, 1);
  transform: rotate(0.0001deg);
  mix-blend-mode: multiply;
}

.c-product-category__title {
  margin: 0.625rem 0 0;
  text-align: center;
  color: var(--color-main);
}

.c-product-category__title-en {
  font-size: 1.25rem;
  line-height: 1.4;
  font-family: var(--en);
  letter-spacing: 0em;
}

.c-product-category__title-ja {
  margin: 0.3125rem 0 0;
  font-size: 1rem;
  line-height: 1.4;
}

@media only screen and (max-width: 767.98px) {
  .c-product-category-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
  .c-product-category {
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
  }
  .c-product-category__link {
    padding: 0.625rem 0.625rem 1.25rem;
  }
  .c-product-category__title {
    margin: 0.3125rem 0 0;
  }
  .c-product-category__title-en {
    font-size: 0.75rem;
    color: #b3ccee;
  }
  .c-product-category__title-ja {
    margin: 0.3125rem 0 0;
    font-size: 0.875rem;
  }
}
/*---------------------------------------------------------------------------
製品 スライダー
---------------------------------------------------------------------------*/
.c-product-slider {
  padding: 0 0.9375rem;
}

.c-product-slider__image {
  overflow: hidden;
  border-radius: 0.25rem;
  background: #fff;
  transform: translateZ(0);
  position: relative;
  display: block;
  overflow: hidden;
}
.c-product-slider__image::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.c-product-slider__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-product-slider__image img {
  transition: transform 0.2s ease;
  transform: rotate(0.0001deg);
}

@media (hover: hover) {
  .c-product-slider__link:hover img {
    transform: scale(1.1) rotate(0.0001deg);
  }
}
.c-product-slider__title {
  margin: 0.9375rem 0 0;
  line-height: 1.6;
}
.c-product-slider__title.-white {
  color: #fff;
}

.c-product-slider__price {
  font-size: 0.875rem;
  font-weight: bold;
}
.c-product-slider__price.-white {
  color: #fff;
}

@media only screen and (max-width: 767.98px) {
  .c-product-slider {
    padding: 0 0.3125rem;
  }
  .c-product-slider__title {
    margin: 0.625rem 0 0;
    font-size: 0.75rem;
  }
}
/*---------------------------------------------------------------------------
スライダー
---------------------------------------------------------------------------*/
.c-slider {
  position: relative;
}

.c-slider__btn-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 1.25rem 0 0;
}

.c-slider__prev, .c-slider__next {
  display: grid;
  place-content: center;
  width: 3.75rem;
  height: 1.875rem;
  cursor: pointer;
}
.c-slider__prev.swiper-button-disabled, .c-slider__next.swiper-button-disabled {
  cursor: default;
  opacity: 0.3;
}

@media only screen and (max-width: 767.98px) {
  .c-slider .swiper {
    margin: 0;
  }
}
/*---------------------------------------------------------------------------
ニュース
---------------------------------------------------------------------------*/
.c-news__link {
  display: grid;
  grid-template-columns: 9.375rem 1fr;
  align-items: center;
  padding: 1.375rem 0;
  border-bottom: 1px solid #333333;
  transition: background-color 0.2s;
}

.c-news__link.is-hover {
  background-color: var(--color-main-light);
}

.c-news__date {
  justify-self: center;
  line-height: 1.6;
  font-weight: normal;
}

.c-news__title {
  line-height: 1.6;
  font-weight: normal;
}

@media only screen and (max-width: 767.98px) {
  .c-news__link {
    display: flex;
    align-items: unset;
    padding: 1.25rem 0;
  }
  .c-news__date {
    flex: none;
    padding: 0 1.25rem 0 0;
  }
}
/*---------------------------------------------------------------------------
ピックアップ
---------------------------------------------------------------------------*/
.c-pickup-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
}

.c-pickup__link {
  position: relative;
  height: 100%;
  padding: 1.25rem;
  border: 1px solid #004092;
  border-radius: 0.9375rem;
  transition: box-shadow 0.2s, background-color 0.2s;
}
.c-pickup__link.is-hover {
  background-color: var(--color-main-light);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.c-pickup__title {
  display: flex;
  align-items: baseline;
  font-size: 1.5625rem;
}

.c-pickup__title-icon {
  flex: none;
  margin: 0 calc(10 * var(--ratio) * var(--unit)) 0 0;
  line-height: 1;
  color: #F23C3C;
}

.c-pickup__detail {
  margin: 0.9375rem 0 0;
  line-height: 1.4;
}
.c-pickup__detail dl {
  display: flex;
}
.c-pickup__detail dt {
  flex: none;
}
.c-pickup__detail dl + dl {
  margin: 0.3125rem 0 0;
}

.c-pickup__detail-block {
  display: flex;
  justify-content: space-between;
  margin: 0.3125rem 0 0;
}

.c-pickup__btn {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  line-height: 1.4;
}

.c-pickup__btn-icon {
  margin: 0 0 0 0.5em;
  line-height: 1;
  color: var(--color-main);
}
.c-pickup__btn-icon svg {
  vertical-align: middle;
}

@media only screen and (max-width: 767.98px) {
  .c-pickup-list {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .c-pickup {
    border-radius: 0.3125rem;
  }
  .c-pickup__link {
    padding: 1.25rem;
  }
  .c-pickup__title {
    font-size: 1rem;
  }
  .c-pickup__title-icon {
    margin: 0 calc(10 * var(--ratio) * var(--unit)) 0 0;
  }
  .c-pickup__detail {
    margin: 0.625rem 0 0;
    font-size: 0.75rem;
  }
  .c-pickup__detail dl + dl {
    margin: 0.3125rem 0 0;
  }
  .c-pickup__btn {
    font-size: 0.75rem;
  }
}
/*---------------------------------------------------------------------------
検索
---------------------------------------------------------------------------*/
.c-search-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.125rem;
  border-radius: 0.3125rem;
  border: 2px solid var(--color-main);
  background: var(--color-main);
  overflow: hidden;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}

.c-search-container__box {
  padding: 0.9375rem;
  background: #fff;
}

.c-search-container__box.-message {
  grid-column: 1/-1;
}

.c-search {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.3125rem;
}

.c-search__label {
  display: flex;
  align-items: center;
  font-size: 0.9375rem;
  font-weight: bold;
}

.c-search__body {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 5rem;
  gap: 0.3125rem 0;
}

.c-search__input {
  padding: 0 0.625rem;
  height: 3.125rem;
  font-size: 1rem;
  border: 2px solid var(--color-main);
  border-radius: 5px 0 0 5px;
}

.c-search__button {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.125rem;
  font-size: 1rem;
  font-weight: bold;
  white-space: nowrap;
  background-color: var(--color-main-light);
  border: 2px solid var(--color-main);
  border-left: none;
  border-radius: 0 5px 5px 0;
}
.c-search__button span {
  white-space: nowrap;
}
.c-search__button svg {
  margin: 0 0 0 0.5em;
}

.c-search__note {
  grid-column: 1/-1;
  font-size: 0.875rem;
}

.c-search-sticky {
  position: sticky;
  bottom: 0;
  z-index: 9;
}
@media only screen and (max-width: 767.98px) {
  .c-search-sticky {
    position: static;
  }
}

@media only screen and (max-width: 767.98px) {
  .c-search-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.125rem;
    border-radius: 0.3125rem;
  }
  .c-search-container__box {
    padding: 0.9375rem;
    background: #fff;
  }
  .c-search {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
  .c-search__label {
    height: unset;
    font-size: 0.875rem;
  }
  .c-search__body {
    grid-template-columns: 1fr 4.375rem;
    gap: 0.3125rem 0;
  }
  .c-search__input {
    padding: 0 0.625rem;
    height: 2.5rem;
    font-size: 16px;
    border-width: 1px;
  }
  .c-search__input::placeholder {
    font-size: 1rem;
  }
  .c-search__button {
    display: flex;
    align-items: center;
    height: 2.5rem;
    font-size: 0.75rem;
    border-width: 1px;
  }
  .c-search__note {
    font-size: 0.75rem;
  }
}
/*---------------------------------------------------------------------------
検索結果
---------------------------------------------------------------------------*/
.c-search-hit {
  display: inline-block;
  margin: 0 0 1.875rem;
  padding: 0.625rem 1.25rem;
  font-weight: bold;
  background: #efefef;
  border-radius: 0.3125rem;
}

/*---------------------------------------------------------------------------
ページ送り
---------------------------------------------------------------------------*/
.c-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-pagination a:not(.next):not(.prev),
.c-pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 0.3125rem;
  font-size: 0.875rem;
  border: 1px solid #ddd;
  border-radius: 50%;
}
.c-pagination a:not(.next):not(.prev).is-hover {
  background: rgba(46, 84, 134, 0.2);
}
.c-pagination span.current {
  color: #fff;
  font-weight: bold;
  background: var(--color-main);
}
.c-pagination .next {
  width: 2.5rem;
  height: 2.5rem;
  color: transparent;
  background: url(img/common/pagination_arrow_right.svg) no-repeat center/0.625rem auto;
}
.c-pagination .prev {
  width: 2.5rem;
  height: 2.5rem;
  color: transparent;
  background: url(img/common/pagination_arrow_left.svg) no-repeat center/0.625rem auto;
}

@media only screen and (max-width: 767.98px) {
  .c-pagination a:not(.next):not(.prev),
.c-pagination span {
    width: 2.1875rem;
    height: 2.1875rem;
    margin: 0 0.3125rem;
    font-size: 0.875rem;
  }
}
/*---------------------------------------------------------------------------
アンカー
---------------------------------------------------------------------------*/
.c-anchor {
  display: grid;
}
.c-anchor.-col3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.c-anchor__item {
  margin: 0 -0.5px;
  border: 1px solid #333333;
}

.c-anchor__link {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 5rem;
  background: #fff;
  transition: background-color 0.2s;
}
.c-anchor__link.is-hover {
  background: var(--color-main-light);
}
.c-anchor__link.is-current {
  color: #fff;
  background: var(--color-main);
}
.c-anchor__link span {
  white-space: nowrap;
}
.c-anchor__link svg {
  margin: 0 0 0 0.5em;
}

@media only screen and (max-width: 767.98px) {
  .c-anchor {
    gap: 0.625rem;
  }
  .c-anchor.-col1-sp {
    grid-template-columns: 1fr;
  }
  .c-anchor__link {
    height: 3.125rem;
  }
}
/*---------------------------------------------------------------------------
コンポーネント
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
レイアウト
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
ページ
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
ヘッダー
---------------------------------------------------------------------------*/
.l-header {
  position: sticky;
  top: 0;
  z-index: 9;
  display: flex;
  flex-direction: column;
  height: var(--vh, 100vh);
  font-size: 1rem;
  color: #fff;
  background: var(--color-main);
  box-shadow: 0.125rem 0 0.375rem rgba(0, 0, 0, 0.12);
}
.l-header .logo {
  display: block;
  padding: 2.5rem 2.5rem 1.25rem;
}
@media (min-width: 768px) {
  .l-header .nav {
    overflow-y: overlay;
    overscroll-behavior-y: none;
  }
}
.l-header .nav__list {
  display: grid;
}
.l-header .nav__link {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 3.125rem;
  padding: 0 2.5rem;
  transition: 0.1s;
}
.l-header .nav__link.is-current, .l-header .nav__link.is-hover, .l-header .nav__link[aria-expanded=true] {
  color: var(--color-main);
  background: #fff;
}
.l-header .nav__link::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 2.5rem;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-width: 0.28125rem 0 0.28125rem 0.4375rem;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
}
.l-header .nav__link.is-current::after, .l-header .nav__link.is-hover::after, .l-header .nav__link[aria-expanded=true]::after {
  border-color: transparent transparent transparent var(--color-main);
}
.l-header .category-toggler {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 3.125rem;
  padding: 0 2.5rem;
  transition: 0.1s;
}
.l-header .category-toggler.is-current, .l-header .category-toggler.is-hover, .l-header .category-toggler[aria-expanded=true] {
  color: var(--color-main);
  background: #fff;
}
.l-header .category-toggler__icon {
  position: absolute;
  top: 0;
  right: 1.125rem;
  display: grid;
  place-content: center;
  width: 3.125rem;
  height: 3.125rem;
  transition: transform 0.2s;
}
.l-header .category-toggler[aria-expanded=true] .category-toggler__icon {
  transform: rotate(45deg);
}
.l-header .category {
  height: var(--height);
  visibility: hidden;
  background: #fff;
  overflow: hidden;
  transition: height 0.5s ease, visibility 0.5s;
}
.l-header .category[aria-hidden=false] {
  visibility: visible;
  transition: height 0.5s ease, visibility 0s;
}
.l-header .category__list {
  padding: 0 2.5rem 0 0.9375rem;
}
.l-header .category__link {
  position: relative;
  display: grid;
  grid-template-columns: 2.8125rem 1fr;
  align-items: center;
  min-height: 3.125rem;
  font-size: 0.9375rem;
  line-height: 1.4;
  color: var(--color-main);
  border-top: 1px solid var(--color-main);
}
.l-header .category__link::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-width: 0.28125rem 0 0.28125rem 0.4375rem;
  border-style: solid;
  border-color: transparent transparent transparent #2E5486;
}
.l-header .search {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  width: 17.5rem;
  margin: 1.25rem 0 0;
  background: var(--color-main);
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}
.l-header .search__link {
  position: relative;
  display: flex;
  align-items: center;
  height: 3.125rem;
  padding: 0 2.5rem;
  transition: 0.1s;
}
.l-header .search__link svg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.875rem;
  margin: auto;
}
.l-header .search__link.is-hover {
  color: var(--color-main);
  background: #fff;
}

@media (min-width: 768px) {
  .l-header .nav::-webkit-scrollbar {
    width: 10px;
  }
  .l-header .nav::-webkit-scrollbar-track {
    background: #DFDFDF;
  }
  .l-header .nav::-webkit-scrollbar-thumb {
    background: #1d7fff;
  }
}
@media only screen and (max-width: 767.98px) {
  .l-header {
    position: static;
    height: inherit;
    padding: 0;
    font-size: 1rem;
    box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.12);
  }
  .l-header .logo {
    display: flex;
    align-items: center;
    height: 5rem;
    padding: 0 1.25rem;
  }
  .l-header .nav {
    height: var(--height);
    margin: 0;
    visibility: hidden;
    overflow: hidden;
    transition: height 0.5s ease, visibility 0.5s;
  }
  .l-header .nav[aria-hidden=false] {
    visibility: visible;
    transition: height 0.5s ease, visibility 0s;
  }
  .l-header .category-toggler {
    height: 3.125rem;
    padding: 0 1.25rem;
  }
  .l-header .category-toggler__icon {
    right: 0;
    width: 3.125rem;
    height: 3.125rem;
  }
  .l-header .nav__link {
    padding: 0 1.25rem;
  }
  .l-header .nav__link::after {
    right: 1.25rem;
  }
  .l-header .category__list {
    padding: 0 1.25rem;
  }
  .l-header .category__link {
    height: 3.125rem;
  }
  .l-header .search {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    width: 100%;
    margin: 0;
  }
  .l-header .search__link {
    height: 3.125rem;
    padding: 0 1.25rem;
  }
  .l-header .search__link svg {
    right: 0.9375rem;
  }
}
.l-header-contact {
  position: fixed;
  top: 2.5rem;
  right: 2.5rem;
  z-index: 10;
  display: grid;
  grid-template-columns: 4.0625rem 8.125rem;
  height: 3.125rem;
  background: #fff;
  border: 2px solid var(--color-main);
  border-radius: 0.25rem;
  overflow: hidden;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  transition: background-color 0.2s;
}
.l-header-contact.is-hover {
  background: var(--color-main-light);
}
.l-header-contact .icon {
  display: grid;
  place-content: center;
  background: var(--color-main);
}
.l-header-contact .text {
  justify-self: center;
  font-weight: bold;
  align-self: center;
  color: var(--color-main);
}
.l-header-contact svg {
  fill: none;
  stroke: #fff;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media only screen and (max-width: 767.98px) {
  .l-header-contact {
    top: unset;
    bottom: 1.25rem;
    right: 1.25rem;
    grid-template-columns: 2.8125rem 6.25rem;
    height: 2.8125rem;
  }
  .l-header-contact .text {
    font-size: 0.875rem;
  }
}
/*---------------------------------------------------------------------------
フッター
---------------------------------------------------------------------------*/
.l-footer {
  padding: 5rem 0 1.5625rem;
  font-size: 0.875rem;
  color: #fff;
  background: var(--color-main);
}
.l-footer .ceparate {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}
.l-footer .ceparate::after {
  content: "";
  display: block;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
}
.l-footer .ceparate__title {
  margin: 0 1.25rem 0 0;
}
.l-footer .category {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
}
.l-footer .category a {
  padding: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--color-main);
  text-align: center;
  background: #fff;
  border-radius: 50px;
  border: 1px solid #fff;
}
.l-footer .category a.is-hover {
  background: #c7e9ff;
}
.l-footer .nav__list {
  display: flex;
  justify-content: space-between;
  gap: 0.625rem;
}
.l-footer .nav__link.is-hover {
  text-decoration: underline;
}
.l-footer .nav-child__item {
  margin: 0.3125rem 0 0;
}
.l-footer .nav-child__link.is-hover {
  text-decoration: underline;
}
.l-footer .foot {
  display: grid;
  grid-template-areas: "access map banner1 banner3" "access map banner2 banner3";
  gap: 1.25rem;
}
.l-footer .access {
  grid-area: access;
}
.l-footer .map {
  grid-area: map;
  background: #fff;
}
.l-footer .map iframe {
  width: 100%;
}
.l-footer .banner1 {
  display: grid;
  place-content: center;
  grid-area: banner1;
  background: #fff;
}
.l-footer .banner2 {
  display: grid;
  place-content: center;
  grid-area: banner2;
  background: #fff;
}
.l-footer .banner3 {
  display: grid;
  place-content: center;
  grid-area: banner3;
  background: #fff;
}
.l-footer .copyright {
  margin: 2.5rem 0 0;
  text-align: center;
}

@media only screen and (max-width: 767.98px) {
  .l-footer {
    padding: 3.75rem 0 1.5625rem;
    font-size: 0.8125rem;
  }
  .l-footer .category {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-footer .category a {
    padding: 0.25rem;
    font-size: 0.75rem;
  }
  .l-footer .nav__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.875rem;
  }
  .l-footer .nav__item {
    display: flex;
  }
  .l-footer .nav__link {
    width: -moz-fit-content;
    width: fit-content;
    border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  }
  .l-footer .nav-child__list {
    display: flex;
  }
  .l-footer .nav-child__item {
    margin: 0 0 0 1em;
  }
  .l-footer .nav-child__link {
    border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  }
  .l-footer .foot {
    grid-template-areas: "access access" "map map" "banner1 banner3" "banner2 banner3";
    gap: 0.625rem;
  }
  .l-footer .access {
    grid-area: access;
    padding: 0 0 0.625rem;
    font-size: 0.875rem;
  }
  .l-footer .access .large {
    font-size: 1.4em;
  }
  .l-footer .copyright {
    margin: 1.5625rem 0 0;
    font-size: 0.625rem;
    text-align: left;
  }
}
/*---------------------------------------------------------------------------
タイトル
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
ハンバーガーメニュー
---------------------------------------------------------------------------*/
.l-toggler-nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  display: grid;
  place-content: center;
  width: 7.5rem;
  height: 7.5rem;
  text-align: center;
  background: var(--color-main);
  transition: 0.4s;
}

.l-toggler-nav__border-group {
  position: relative;
  display: block;
  width: 4rem;
  height: 2.375rem;
  margin: 0 auto;
}

.l-toggler-nav__border {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
  height: 0.125rem;
  width: 100%;
  background-color: #fff;
  border-radius: 0.25rem;
  transition: 0.3s ease;
}

.l-toggler-nav__border-one {
  transform: translateY(-1rem);
}

.l-toggler-nav__border-three {
  transform: translateY(1rem);
}

.l-toggler-nav__text {
  margin: 0.3125rem 0 0;
  font-size: 0.875rem;
  line-height: 1;
  color: #fff;
}

.l-toggler-nav__text-close {
  display: none;
}

.l-toggler-nav[aria-expanded=true] .l-toggler-nav__border-one {
  transform: rotate(30deg);
}
.l-toggler-nav[aria-expanded=true] .l-toggler-nav__border-two {
  opacity: 0;
}
.l-toggler-nav[aria-expanded=true] .l-toggler-nav__border-three {
  transform: rotate(-30deg);
}
.l-toggler-nav[aria-expanded=true] .l-toggler-nav__text-open {
  display: none;
}
.l-toggler-nav[aria-expanded=true] .l-toggler-nav__text-close {
  display: inline;
}

@media only screen and (max-width: 767.98px) {
  .l-toggler-nav {
    position: absolute;
    width: 5rem;
    height: 5rem;
  }
  .l-toggler-nav__border-group {
    width: 2.5rem;
    height: 1.5625rem;
  }
  .l-toggler-nav__border-one {
    transform: translateY(-0.625rem);
  }
  .l-toggler-nav__border-three {
    transform: translateY(0.625rem);
  }
  .l-toggler-nav__text {
    margin: 0.5rem 0 0;
    font-size: 0.75rem;
  }
}
/*---------------------------------------------------------------------------
ページトップに戻る
---------------------------------------------------------------------------*/
.l-backtotop {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 9;
  display: grid;
  place-content: center;
  width: 5rem;
  height: 5rem;
  transform: translate3d(0, 101%, 0);
  transition: transform 0.5s ease, background-color 0.25s ease;
  background: #141414;
}
.l-backtotop img {
  transition: transform 0.25s ease;
}

.l-backtotop.is-hover img {
  transform: translate3d(0, -0.3125rem, 0);
}

body[data-scrolled=true] .l-backtotop {
  transform: translate3d(0, 0, 0);
}

@media only screen and (max-width: 767.98px) {
  .l-backtotop {
    width: 3.75rem;
    height: 3.75rem;
  }
}
/*---------------------------------------------------------------------------
Gutenberg
---------------------------------------------------------------------------*/
.l-entrybody {
  word-break: break-all;
}
.l-entrybody p {
  margin: 1em 0 0;
}
.l-entrybody h1 + p, .l-entrybody h2 + p, .l-entrybody h3 + p, .l-entrybody h4 + p, .l-entrybody h5 + p, .l-entrybody h6 + p {
  margin: 0;
}
.l-entrybody *:first-child {
  margin-top: 0 !important;
}
.l-entrybody > p, .l-entrybody > ul, .l-entrybody > ol, .l-entrybody > div, .l-entrybody > table {
  margin: 2em 0 0;
}
.l-entrybody > figure {
  margin: 2em 0 0;
}
.l-entrybody ul, .l-entrybody ol {
  text-align: left;
}
.l-entrybody > ul {
  padding: 0 0 0 1em;
  list-style-type: disc;
}
.l-entrybody > ol {
  padding: 0 0 0 1.5em;
  list-style-type: decimal;
}
.l-entrybody > ul > li {
  margin: 0.25em 0;
  text-align: left;
}
.l-entrybody li > a {
  display: inline;
}
.l-entrybody a {
  color: #2EA0CB;
  text-decoration: underline;
}
.l-entrybody iframe {
  max-width: 100%;
}
.l-entrybody h1, .l-entrybody h2, .l-entrybody h3, .l-entrybody h4, .l-entrybody h5, .l-entrybody h6 {
  margin: 2.5em 0 0.75em;
}
.l-entrybody h1:first-child, .l-entrybody h2:first-child, .l-entrybody h3:first-child, .l-entrybody h4:first-child, .l-entrybody h5:first-child, .l-entrybody h6:first-child {
  margin-top: 0;
}
.l-entrybody h1 {
  font-size: 180%;
}
.l-entrybody h2 {
  font-size: 150%;
}
.l-entrybody h3 {
  font-size: 132%;
}
.l-entrybody h4 {
  font-size: 116%;
}
.l-entrybody h5 {
  font-size: 108%;
}
.l-entrybody h6 {
  font-size: 100%;
}
.l-entrybody h2 {
  position: relative;
  padding: 0.15em 0 0.15em 1em;
}
.l-entrybody h2::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: #2EA0CB;
  border-radius: 100px;
}
.l-entrybody table {
  width: 100%;
}
.l-entrybody td {
  padding: 0.5em 0.75em;
  border: 1px solid #ddd;
}
.l-entrybody th {
  padding: 0.5em 0.75em;
  border: 1px solid #ddd;
  background: #f7f7f7;
}
.l-entrybody .aligncenter {
  display: block;
  margin: 0 auto;
}
.l-entrybody .alignright {
  float: right;
}
.l-entrybody .alignleft {
  float: left;
}
.l-entrybody .wp-block-gallery ul {
  list-style: none;
  margin: 0 0 -1.6rem 0;
}
.l-entrybody .wp-block-image {
  overflow: hidden;
}
.l-entrybody .wp-block-button__link {
  text-decoration: none;
}
.l-entrybody .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-text-color) {
  color: #fff;
}

@media (max-width: 599) {
  .l-entrybody .wp-block-column:not(:first-child) {
    margin-top: 2em;
    margin-left: 0;
  }
  .l-entrybody .wp-block-column {
    flex-basis: 100% !important;
  }
}
/*---------------------------------------------------------------------------
フォーム
---------------------------------------------------------------------------*/
.l-form input[type=text], .l-form input[type=email], .l-form input[type=tel], .l-form textarea {
  font-size: 1rem;
  border: 1px solid #707070;
  border-radius: 3px;
}
.l-form input[type=text], .l-form input[type=email], .l-form input[type=tel] {
  height: 50px;
  padding: 10px;
}
.l-form textarea {
  height: 180px;
  padding: 10px;
}
.l-form input[type=submit] {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 380px;
  height: 45px;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #000;
  transition: background-color 0.2s, border-color 0.2s;
}
.l-form input[type=submit]:hover {
  color: #fff;
  background: #000;
  transition-duration: 0.4s;
}

/*---------------------------------------------------------------------------
アラートメッセージ
---------------------------------------------------------------------------*/
.wpcf7-not-valid-tip {
  margin: 5px 0 0;
  font-size: 0.75rem;
}

/*---------------------------------------------------------------------------
ローディング
---------------------------------------------------------------------------*/
.l-form .wpcf7-spinner {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 0;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s;
  transition-delay: 0.4s;
}
.l-form .wpcf7-spinner::before {
  content: "";
  position: static;
  display: inline-block;
  width: 35px;
  height: 35px;
  vertical-align: -0.125em;
  background-color: transparent;
  border: 5px solid orange;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border 0.75s linear infinite;
  transform-origin: center;
}
@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.l-form div.wpcf7-response-output {
  margin: 20px 0 0 !important;
  font-size: 14px;
}
.l-form form.submitting .wpcf7-spinner {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}

/*---------------------------------------------------------------------------
チェックボックス（隣接セレクタ）
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
チェックボックス（間接セレクタ）
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
wisywig
---------------------------------------------------------------------------*/
.l-wisywig {
  word-break: break-all;
  /*テーブル*/
}
.l-wisywig a {
  color: #2EA0CB;
  text-decoration: underline;
}
.l-wisywig img {
  font-size: 100%;
}
.l-wisywig > p, .l-wisywig > ul, .l-wisywig > ol, .l-wisywig > div, .l-wisywig > table {
  margin: 0 0 2em;
  font-size: 100%;
}
.l-wisywig > ul, .l-wisywig > ol {
  margin-bottom: 1.5em;
  padding: 1em 1em 1em 2.5em;
  border: solid 2px #e8e8e8;
  border-radius: 3px;
  text-align: left;
}
.l-wisywig > ul {
  list-style-type: disc;
}
.l-wisywig > li {
  padding: 5px 0;
}
.l-wisywig > li ul li, .l-wisywig > li ol li {
  padding: 0;
}
.l-wisywig > ol {
  list-style-type: decimal;
}
.l-wisywig > ul li ul, .l-wisywig > ul li ol, .l-wisywig > ol li ul, .l-wisywig > ol li ol {
  margin: 0;
  padding: 0.5em 0 0.5em 1.3em;
  border: none;
}
.l-wisywig h1, .l-wisywig h2, .l-wisywig h3, .l-wisywig h4, .l-wisywig h5, .l-wisywig h6 {
  margin: 1.5em 0 0.75em;
  font-weight: bold;
}
.l-wisywig h1:first-child, .l-wisywig h2:first-child, .l-wisywig h3:first-child, .l-wisywig h4:first-child, .l-wisywig h5:first-child, .l-wisywig h6:first-child {
  margin-top: 0;
}
.l-wisywig h1:first-child, .l-wisywig h2:first-child, .l-wisywig h3:first-child, .l-wisywig h4:first-child, .l-wisywig h5:first-child, .l-wisywig h6:first-child {
  margin-top: 0;
}
.l-wisywig > h1 {
  font-size: 180%;
}
.l-wisywig > h2 {
  font-size: 150%;
}
.l-wisywig > h3 {
  font-size: 132%;
}
.l-wisywig > h4 {
  font-size: 116%;
}
.l-wisywig > h5 {
  font-size: 108%;
}
.l-wisywig > h6 {
  font-size: 100%;
}
.l-wisywig > :first-child {
  margin-top: 0;
}
.l-wisywig > :last-child {
  margin-bottom: 0;
}
.l-wisywig img.alignright {
  display: inline;
  float: right;
  margin: 1em 0 1em 1.5em;
}
.l-wisywig img.alignleft {
  display: inline;
  float: left;
  margin: 1em 1.5em 1em 0;
}
.l-wisywig img.aligncenter {
  display: block;
  clear: both;
  margin: 0 auto;
}
.l-wisywig table {
  width: 100%;
  margin-bottom: 1.5em;
  border: 1px solid #ddd;
}
.l-wisywig tr:not(:last-child) {
  border-bottom: 1px solid #ddd;
}
.l-wisywig td {
  padding: 10px;
  border-right: 1px solid #ddd;
  word-break: break-all;
}
.l-wisywig td:last-child,
.l-wisywig th:last-child {
  border-right: 0;
}
.l-wisywig th {
  padding: 10px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: #efefef;
}

@media only screen and (max-width: 767.98px) {
  .l-wisywig img.alignright {
    display: block;
    float: none;
    margin: 1em auto;
  }
  .l-wisywig img.alignleft {
    display: block;
    float: none;
    margin: 1em auto;
  }
}
/*---------------------------------------------------------------------------
下層キービジュアル
---------------------------------------------------------------------------*/
.l-kv {
  display: grid;
  place-content: center;
  height: 25rem;
  background-size: cover;
  background-position: center;
  background-image: var(--background-image);
}

@media only screen and (max-width: 767.98px) {
  .l-kv {
    height: 12.5rem;
    background-image: var(--background-image-sp, var(--background-image));
  }
}
/*---------------------------------------------------------------------------
ブロック
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
固有ページ
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
トップページ
---------------------------------------------------------------------------*/
.p-home-kv {
  position: relative;
  background: #efefef;
  overflow: hidden;
}
.p-home-kv .slide {
  position: relative;
  width: 100%;
  height: var(--vh, 100vh);
  background-size: 0;
  transition: height 0.5s;
}
.p-home-kv .slide::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: inherit;
  background-position: left center;
  background-size: cover;
  transform: scale(1.08);
  transition: transform 6s ease;
}
.p-home-kv .slide.swiper-slide-active::before {
  transform: scale(1);
}
.p-home-kv .slide_1 {
  background-image: url(img/home/slide1.jpg);
}
.p-home-kv .slide_2 {
  background-image: url(img/home/slide2.jpg);
}
.p-home-kv .slide_3 {
  background-image: url(img/home/slide3.jpg);
}
.p-home-kv .slide_4 {
  background-image: url(img/home/slide4.jpg);
}
.p-home-kv .title {
  position: absolute;
  z-index: 2;
  top: 2.8125rem;
  left: 3.75rem;
  font-size: 2.5rem;
  line-height: 1.675;
  color: #fff;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.45);
}
.p-home-kv .notes {
  position: absolute;
  z-index: 2;
  bottom: 2.5rem;
  right: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  max-width: calc(100% - 5rem);
}
.p-home-kv .notes__link {
  display: flex;
  align-items: center;
  padding: 0.625rem 1.25rem;
  line-height: 1.6;
  background: #FFFFFF;
  border-radius: 0.25rem;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  transition: box-shadow 0.2s, background-color 0.2s;
}
.p-home-kv .notes__link.is-hover {
  background-color: #ecf5ff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.p-home-kv .notes__icon {
  flex: none;
  margin: 0 calc(10 * var(--ratio) * var(--unit)) 0 0;
  line-height: 1;
  color: #F23C3C;
}

@media (min-width: 767.98px) and (max-width: 1400px) {
  .p-home-kv .title {
    font-size: 2.1875rem;
  }
}
@media only screen and (max-width: 767.98px) {
  .p-home-kv {
    height: 18.75rem;
  }
  .p-home-kv .slide {
    width: 100%;
    height: 21.875rem;
    max-height: unset;
  }
  .p-home-kv .title {
    top: 1.25rem;
    left: 1.25rem;
    font-size: 1.375rem;
    letter-spacing: 0.1em;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8);
  }
  .p-home-kv .notes {
    bottom: 1.25rem;
    right: 1.25rem;
    gap: 0.625rem;
    max-width: calc(100% - 2.5rem);
  }
  .p-home-kv .notes__link {
    padding: 0.3125rem 1.25rem;
    font-size: 0.75rem;
  }
}
.p-home-products-category {
  padding: 5rem 0;
}

@media only screen and (max-width: 767.98px) {
  .p-home-products-category {
    padding: 3.75rem 0;
  }
}
.p-home-new-products {
  padding: 5rem 0;
  background: url(img/home/new-products_bg.jpg) no-repeat center/cover;
}
@media only screen and (max-width: 767.98px) {
  .p-home-new-products {
    padding: 3.75rem 0;
  }
}
.p-home-pickup {
  padding: 5rem 0;
  background: url(img/home/featured-products_bg.jpg) no-repeat center/cover;
}

@media only screen and (max-width: 767.98px) {
  .p-home-pickup {
    padding: 3.75rem 0;
  }
}
.p-home-media {
  padding: 3.75rem 0;
  background: #E4E9EF;
}
.p-home-media .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.125rem;
}

@media only screen and (max-width: 767.98px) {
  .p-home-media {
    padding: 0 0 3.75rem;
  }
  .p-home-media .container {
    grid-template-columns: 1fr;
    gap: 1.875rem;
  }
  .p-home-media .image {
    margin: 0 -1.25rem;
  }
}
.p-home-about-us {
  position: relative;
  background: var(--color-main);
}
.p-home-about-us .image {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
}
.p-home-about-us .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-about-us .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 5rem 0;
  color: #fff;
}
.p-home-about-us .logo {
  margin: 0 0 1.25rem;
}
.p-home-about-us .text {
  margin: 1.875rem 0 0;
}

@media only screen and (max-width: 767.98px) {
  .p-home-about-us .image {
    position: static;
    width: 100%;
    height: 15.625rem;
  }
  .p-home-about-us .container {
    display: grid;
    grid-template-columns: 1fr;
    padding: 1.875rem 0 3.75rem;
  }
  .p-home-about-us .logo {
    margin: 0 0 1.25rem;
  }
  .p-home-about-us .text {
    margin: 1.25rem 0 0;
  }
}
.p-home-catalog .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
}
.p-home-catalog .catalog {
  position: relative;
  background-size: 0;
  overflow: hidden;
  border-radius: 0.9375rem;
  transform: translateZ(0);
}
.p-home-catalog .catalog::before {
  content: "";
  display: block;
  padding: 77% 0 0;
}
.p-home-catalog .catalog::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  transition: transform 0.2s ease;
  transform: rotate(0.0001deg);
}
.p-home-catalog .catalog.is-hover::after {
  transform: scale(1.1) rotate(0.0001deg);
}
.p-home-catalog .catalog__title {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  margin: auto;
}

@media only screen and (max-width: 767.98px) {
  .p-home-catalog .container {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .p-home-catalog .catalog {
    border-radius: 0.3125rem;
  }
  .p-home-catalog .catalog__title {
    padding: 0 2.5rem;
  }
}
/*---------------------------------------------------------------------------
お知らせ
---------------------------------------------------------------------------*/
.p-single-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.25rem;
  margin: 0 0 1.25rem;
  padding: 0 0 1.25rem;
  font-size: 1.5rem;
  border-bottom: 1px solid #707070;
}
.p-single-head .date {
  line-height: 1.4;
  font-weight: bold;
}
@media only screen and (max-width: 767.98px) {
  .p-single-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.3125rem;
    margin: 0 0 1.25rem;
    padding: 0 0 1.25rem;
    font-size: 1.25rem;
  }
  .p-single-head .date {
    font-size: 0.75rem;
  }
}
/*---------------------------------------------------------------------------
お問い合わせ
---------------------------------------------------------------------------*/
.p-contact-faq .tab-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.9375rem;
  padding: 0 0 3.75rem;
}
.p-contact-faq .tab {
  position: relative;
  display: grid;
  place-content: center;
  height: 4.6875rem;
  font-size: 1.5rem;
  border: 1px solid #707070;
  transition: background-color 0.2s;
  outline-offset: 5px;
  outline-width: 5px;
  outline-color: orange;
}
.p-contact-faq .tab.is-hover {
  background-color: var(--color-main-light);
}
.p-contact-faq .tab[aria-selected=true] {
  color: #fff;
  background: var(--color-main);
}
.p-contact-faq .tab::after {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  right: 0;
  top: 100%;
  margin: auto;
  width: 0;
  height: 0;
  border-width: 2.1875rem 0.875rem 0 0.875rem;
  border-style: solid;
  border-color: var(--color-main) transparent transparent transparent;
  opacity: 0;
}
.p-contact-faq .tab[aria-selected=true]::after {
  opacity: 1;
}
.p-contact-faq .faq-list {
  display: grid;
  gap: 1.875rem;
}
.p-contact-faq .faq__head {
  position: relative;
  display: grid;
  grid-template-columns: 3.75rem 1fr;
  padding: 0 3.75rem 0 0;
  font-weight: normal;
  border: 1px solid #848484;
  transition: box-shadow 0.2s, background-color 0.2s;
}
.p-contact-faq .faq__head::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  bottom: 0;
  right: 1.25rem;
  margin: auto;
  width: 0;
  height: 0;
  border-width: 0.5rem 0 0.5rem 0.8125rem;
  border-style: solid;
  border-color: transparent transparent transparent #848484;
}
.p-contact-faq details[open] .faq__head::before {
  transform: rotate(90deg);
}
.p-contact-faq details:hover .faq__head {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}
.p-contact-faq .faq__icon {
  display: grid;
  place-content: center;
  font-size: 1.5rem;
  color: #fff;
  background: #848484;
}
.p-contact-faq .faq__icon.-A {
  background: var(--color-main);
}
.p-contact-faq .faq__title {
  padding: 1.25rem;
}
.p-contact-faq .faq__collapse {
  margin: 1.25rem 0 0;
}
.p-contact-faq .faq__container {
  position: relative;
  display: grid;
  grid-template-columns: 3.75rem 1fr;
  border: 1px solid var(--color-main);
}
.p-contact-faq .faq__container::after {
  position: absolute;
  display: block;
  content: "";
  left: 1.25rem;
  bottom: calc(100% + 1px);
  width: 0;
  height: 0;
  border-width: 1.25rem 0.5625rem 0 0.5625rem;
  border-style: solid;
  border-color: var(--color-main) transparent transparent transparent;
}
.p-contact-faq .faq__text {
  padding: 1.25rem;
}

@media only screen and (max-width: 767.98px) {
  .p-contact-faq .tab-list {
    gap: 0.625rem;
    padding: 0 0 1.875rem;
  }
  .p-contact-faq .tab {
    height: 3.125rem;
    font-size: 1rem;
  }
  .p-contact-faq .tab::after {
    width: 0;
    height: 0;
    border-width: 1.25rem 0.46875rem 0 0.46875rem;
    border-style: solid;
    border-color: var(--color-main) transparent transparent transparent;
  }
  .p-contact-faq .faq-list {
    gap: 1.25rem;
  }
  .p-contact-faq .faq__head {
    grid-template-columns: 3.125rem 1fr;
    padding: 0 3.125rem 0 0;
  }
  .p-contact-faq .faq__head::before {
    right: 0.9375rem;
  }
  .p-contact-faq .faq__icon {
    font-size: 1.125rem;
  }
  .p-contact-faq .faq__title {
    padding: 1.125rem;
  }
  .p-contact-faq .faq__collapse {
    margin: 0.625rem 0 0;
  }
  .p-contact-faq .faq__container {
    grid-template-columns: 3.125rem 1fr;
  }
  .p-contact-faq .faq__container::after {
    left: 1.125rem;
    width: 0;
    height: 0;
    border-width: 0.625rem 0.46875rem 0 0.46875rem;
    border-style: solid;
    border-color: var(--color-main) transparent transparent transparent;
  }
  .p-contact-faq .faq__text {
    padding: 1.25rem;
  }
}
.p-contact-form {
  /*contactform7アラートメッセージ*/
  /*contactform7ローダー*/
  /*複数ファイルアップロード*/
}
.p-contact-form .notes .red {
  color: #C45757;
}
.p-contact-form .caution {
  padding: 1.25rem;
  color: #fff;
  text-align: center;
  background: #C45757;
  border-radius: 4px;
}
.p-contact-form input[type=text], .p-contact-form input[type=email], .p-contact-form input[type=tel], .p-contact-form textarea {
  padding: 0.9375rem;
  background: #F7F7F7;
  border: 1px solid #707070;
  border-radius: 4px;
}
.p-contact-form input[type=text], .p-contact-form input[type=email], .p-contact-form input[type=tel] {
  height: 4.375rem;
  background: #F7F7F7;
  border-radius: 4px;
}
.p-contact-form textarea {
  min-height: 12.5rem;
}
.p-contact-form input[type=file] {
  border: 1px solid #999;
  padding: 0.625rem;
  border-radius: 3px;
}
.p-contact-form input[type=file].is-active {
  background: #efefef;
  border-color: #ffc107;
}
.p-contact-form .row {
  display: grid;
  grid-template-columns: 18.75rem 1fr;
  gap: 2.5rem;
  padding: 1.25rem 0;
}
.p-contact-form .row__sub {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: none;
  height: 4.375rem;
}
.p-contact-form .row__main {
  width: 100%;
}
.p-contact-form .label {
  line-height: 1.6;
}
.p-contact-form .req {
  flex: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 3.125rem;
  height: 1.6875rem;
  padding: 0.3125rem 0.625rem;
  font-size: 0.875rem;
  color: #fff;
  background: var(--color-main);
  border-radius: 3px;
}
.p-contact-form .field_short {
  max-width: 21.875rem;
}
.p-contact-form .zipcode {
  display: flex;
}
.p-contact-form .zipcode__attention {
  display: flex;
  align-items: center;
  height: 4.375rem;
  margin: 0 0 0 1.25rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.p-contact-form .zipcode__field {
  max-width: 21.5625rem;
}
.p-contact-form .attention {
  margin: 0 0 0.625rem;
  font-size: 1.125rem;
  line-height: 1.5;
}
.p-contact-form .send input {
  display: block;
  width: 20.625rem;
  height: 4.6875rem;
  margin: 0 auto;
  color: var(--color-main);
  text-align: center;
  border: 1px solid var(--color-main);
  border-radius: 3px;
  transition: background-color 0.2s;
}
.p-contact-form .send input:hover {
  color: #fff;
  background: var(--color-main);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.p-contact-form .privacy-policy {
  margin: 1.25rem 0 0;
  font-size: 0.875rem;
}
.p-contact-form .privacy-policy a.is-hover {
  text-decoration: underline;
}
.p-contact-form .wpcf7-not-valid-tip {
  margin: 0.625rem 0 0;
  font-size: 0.875rem;
}
.p-contact-form .wpcf7-spinner {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 0;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s;
  transition-delay: 0.4s;
}
.p-contact-form .wpcf7-spinner::before {
  content: "";
  position: static;
  display: inline-block;
  width: 35px;
  height: 35px;
  vertical-align: -0.125em;
  background-color: transparent;
  border: 5px solid #ffc107;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border 0.75s linear infinite;
  transform-origin: center;
}
@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.p-contact-form div.wpcf7-response-output {
  margin: 1.25rem 0 0 !important;
  font-size: 14px;
}
.p-contact-form form.submitting .wpcf7-spinner {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}
.p-contact-form .codedropz-upload-handler {
  transition: 0.2s;
}
.p-contact-form .codedropz-upload-handler.codedropz-dragover {
  background: rgba(28, 160, 203, 0.1);
}
.p-contact-form .codedropz-upload-inner > span {
  font-size: 0.9em;
}
.p-contact-form .codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn {
  display: inline-block;
  padding: 5px 1.25rem;
  border: 1px solid #707070;
  border-radius: 4px;
}
.p-contact-form input[type=submit].is-disabled {
  pointer-events: none !important;
  color: #fff !important;
  background: #bebebe !important;
}

@media only screen and (max-width: 767.98px) {
  .p-contact-form {
    /*contactform7アラートメッセージ*/
  }
  .p-contact-form .caution {
    padding: 1.25rem 0.625rem;
    font-size: 0.8125rem;
  }
  .p-contact-form input[type=text], .p-contact-form input[type=email], .p-contact-form input[type=tel], .p-contact-form textarea {
    padding: 0.9375rem;
  }
  .p-contact-form input[type=text], .p-contact-form input[type=email], .p-contact-form input[type=tel] {
    height: 3.125rem;
  }
  .p-contact-form textarea {
    min-height: 15.625rem;
  }
  .p-contact-form .row {
    grid-template-columns: 1fr;
    gap: 0.625rem;
    padding: 0.625rem 0;
  }
  .p-contact-form .row__sub {
    width: 100%;
    height: inherit;
  }
  .p-contact-form .row__main {
    width: 100%;
  }
  .p-contact-form .label {
    font-size: 0.875rem;
  }
  .p-contact-form .req {
    min-width: 2.8125rem;
    height: 1.375rem;
    font-size: 0.75rem;
  }
  .p-contact-form .field_short {
    max-width: 100%;
  }
  .p-contact-form .zipcode {
    display: flex;
  }
  .p-contact-form .zipcode__attention {
    height: 3.125rem;
    margin: 0 0 0 0.625rem;
    font-size: 0.75rem;
  }
  .p-contact-form .zipcode__field {
    max-width: 12.5rem;
  }
  .p-contact-form .attention {
    font-size: 0.75rem;
  }
  .p-contact-form .send input {
    width: 17.5rem;
    height: 3.75rem;
    font-size: 1rem;
  }
  .p-contact-form .wpcf7-not-valid-tip {
    margin: 0.3125rem 0 0;
    font-size: 0.75rem;
  }
}
/*---------------------------------------------------------------------------
プライバシーポリシー
---------------------------------------------------------------------------*/
.p-privacy-policy .container {
  display: grid;
  gap: 3.125rem;
}
.p-privacy-policy dt {
  margin: 0 0 1.875rem;
  padding: 0 0 1.5625rem;
  font-size: 1.5rem;
  color: var(--color-main);
  border-bottom: 1px solid var(--color-main);
}
.p-privacy-policy p + p {
  margin: 1em 0 0;
}

@media only screen and (max-width: 767.98px) {
  .p-privacy-policy .container {
    gap: 2.5rem;
  }
  .p-privacy-policy dt {
    margin: 0 0 0.9375rem;
    padding: 0 0 0.625rem;
    font-size: 1.25rem;
  }
}
/*---------------------------------------------------------------------------
商品詳細
---------------------------------------------------------------------------*/
.p-product-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 9.375rem;
  align-items: flex-start;
  gap: 2.5rem;
}
.p-product-detail-head .title {
  font-size: 2.5rem;
}
.p-product-detail-head .number {
  margin: 0.625rem 0 0;
  font-size: 1rem;
}
.p-product-detail-head .slider {
  margin: 2.5rem 0 0;
}
.p-product-detail-head .slider__image {
  position: relative;
  display: block;
  overflow: hidden;
  text-align: center;
}
.p-product-detail-head .slider__image::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.p-product-detail-head .slider__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-product-detail-head .thumbnail-list {
  display: grid;
  gap: 1.25rem;
}
.p-product-detail-head .thumbnail {
  position: relative;
  display: block;
  overflow: hidden;
  border: 1px solid #707070;
}
.p-product-detail-head .thumbnail::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.p-product-detail-head .thumbnail img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

@media only screen and (max-width: 767.98px) {
  .p-product-detail-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
  }
  .p-product-detail-head .title {
    font-size: 1.5rem;
  }
  .p-product-detail-head .number {
    margin: 0.3125rem 0 0;
    font-size: 0.75rem;
  }
  .p-product-detail-head .slider {
    margin: 2.5rem 0 0;
  }
  .p-product-detail-head .thumbnail-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.625rem;
  }
}
.p-product-detail-catchcopy {
  font-size: 1.25rem;
  font-weight: bold;
}

@media only screen and (max-width: 767.98px) {
  .p-product-detail-catchcopy {
    font-size: 1rem;
  }
}
.p-product-detail-table tr:nth-child(2n) {
  background-color: rgba(196, 203, 211, 0.5);
}
.p-product-detail-table th {
  width: 15.625rem;
  padding: 0.625rem 1.25rem;
  border: 1px solid #d3d3d3;
}
.p-product-detail-table td {
  padding: 0.625rem 1.25rem;
  border: 1px solid #ddd;
}

@media only screen and (max-width: 767.98px) {
  .p-product-detail-table th {
    width: 6.25rem;
    padding: 0.625rem;
  }
  .p-product-detail-table td {
    padding: 0.625rem;
  }
}
.p-product-detail-video .title {
  margin: 0 0 1.25rem;
  font-size: 1.5rem;
}
.p-product-detail-video .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
}
.p-product-detail-video .video {
  grid-area: 1/2/2/3;
}
.p-product-detail-video .text {
  grid-area: 1/1/2/2;
}

@media only screen and (max-width: 767.98px) {
  .p-product-detail-video .title {
    font-size: 1.25rem;
  }
  .p-product-detail-video .container {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .p-product-detail-video .video {
    grid-area: unset;
  }
  .p-product-detail-video .text {
    grid-area: unset;
  }
}
/*---------------------------------------------------------------------------
エコー金属の取り組み
---------------------------------------------------------------------------*/
.p-attempt-work .card-list {
  display: grid;
  gap: 3.125rem;
}
.p-attempt-work .card {
  display: grid;
  grid-template-columns: 16.875rem 1px 1fr;
  align-items: center;
  padding: 1.875rem 0;
  background: #EFEFEF;
  border-radius: 4px;
}
.p-attempt-work .card__bar {
  height: 100%;
  background: #707070;
}
.p-attempt-work .card__text {
  padding: 0 1.875rem;
}
.p-attempt-work .media {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  max-width: 42.5rem;
  margin: 0 auto;
}

@media only screen and (max-width: 767.98px) {
  .p-attempt-work .card-list {
    gap: 2.5rem;
  }
  .p-attempt-work .card {
    grid-template-columns: unset;
    padding: 2.5rem 1.25rem 1.25rem;
  }
  .p-attempt-work .card__bar {
    margin: 1.25rem 0;
    height: 1px;
  }
  .p-attempt-work .card__text {
    padding: 0;
  }
  .p-attempt-work .media {
    display: grid;
    gap: 1.25rem;
  }
  .p-attempt-work .media img {
    justify-self: center;
  }
}
/*---------------------------------------------------------------------------
会社概要
---------------------------------------------------------------------------*/
.p-company-table tr {
  border-bottom: 1px dashed #c9c9c9;
}
.p-company-table th {
  width: 11.25rem;
  padding: 0.9375rem 0;
  font-weight: normal;
}
.p-company-table td {
  padding: 0.9375rem 0;
}

@media only screen and (max-width: 767.98px) {
  .p-company-table th {
    width: 6.25rem;
    padding: 0.9375rem 0;
  }
  .p-company-table td {
    padding: 0.9375rem 0;
  }
}
/*---------------------------------------------------------------------------
新製品情報
---------------------------------------------------------------------------*/
.p-new_products_catalog .year-list {
  display: grid;
  gap: 2.5rem;
}
.p-new_products_catalog .year details {
  border: 1px solid #707070;
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow 0.2s, background-color 0.2s;
}
.p-new_products_catalog .year details:hover {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}
.p-new_products_catalog .year__head {
  position: relative;
  display: grid;
  grid-template-columns: 10rem 1fr;
  align-items: center;
  gap: 1.5625rem;
  height: 3.125rem;
  font-weight: normal;
  overflow: hidden;
}
.p-new_products_catalog .year__head::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  bottom: 0;
  right: 1.25rem;
  margin: auto;
  width: 0;
  height: 0;
  border-width: 0.5rem 0 0.5rem 0.8125rem;
  border-style: solid;
  border-color: transparent transparent transparent #848484;
}
.p-new_products_catalog details[open] .year__head::before {
  transform: rotate(90deg);
}
.p-new_products_catalog .year__num {
  display: grid;
  place-content: center;
  height: 100%;
  font-size: 1.5rem;
  color: #fff;
  background: #848484;
}
.p-new_products_catalog .year__container {
  padding: 1.875rem;
  border-top: 1px solid #707070;
}
.p-new_products_catalog .month-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem 2.5rem;
}
.p-new_products_catalog .month a {
  display: grid;
  place-content: center;
  height: 2.1875rem;
  font-size: 0.875rem;
  color: #fff;
  background: var(--color-main);
  border-radius: 100px;
  transition: 0.2s;
}
.p-new_products_catalog .month a.is-hover {
  opacity: 0.8;
}

@media only screen and (max-width: 767.98px) {
  .p-new_products_catalog .year-list {
    gap: 1.25rem;
  }
  .p-new_products_catalog .year details {
    border-radius: 4px;
  }
  .p-new_products_catalog .year__head {
    grid-template-columns: 6.25rem 1fr;
    gap: 0.9375rem;
    height: 3.125rem;
  }
  .p-new_products_catalog .year__num {
    font-size: 1.125rem;
  }
  .p-new_products_catalog .year__container {
    padding: 1.25rem;
  }
  .p-new_products_catalog .month-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
  .p-new_products_catalog .month a {
    height: 1.875rem;
    font-size: 0.75rem;
  }
}
/*---------------------------------------------------------------------------
採用情報
---------------------------------------------------------------------------*/
.p-recruit-lead {
  font-size: 1.5rem;
}

.p-recruit-voice {
  display: grid;
  grid-template-columns: clamp(6.25rem, 15%, 16.25rem) minmax(70%, 68.75rem);
  padding: 3.75rem 3.125rem 3.75rem 0;
  color: #fff;
  background: var(--color-main);
}
.p-recruit-voice .title {
  position: sticky;
  top: 2.5rem;
  margin: 0 auto;
  font-size: 3.75rem;
  font-weight: normal;
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
}
.p-recruit-voice .person {
  display: grid;
  grid-template-columns: 1fr 1.16fr;
}
.p-recruit-voice .person h3 {
  font-weight: normal;
}
.p-recruit-voice .person__block {
  padding: 0 0 0 3.125rem;
}
.p-recruit-voice .person__department {
  display: grid;
  place-content: center;
  width: 10.625rem;
  height: 2.1875rem;
  margin: 0 0 1.25rem;
  font-size: 1.25rem;
  color: var(--color-main);
  background: #fff;
  border-radius: 100px;
}
.p-recruit-voice .person__division {
  display: block;
  margin: 0 0 1.25rem;
  font-size: 2.625rem;
  letter-spacing: 0.1em;
}
.p-recruit-voice .person__name {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin: 0 0 1.875rem;
  padding: 0 0 0.9375rem;
  font-size: 1.5rem;
  border-bottom: 1px solid #fff;
}
.p-recruit-voice .person__name-year {
  font-size: 1rem;
}
.p-recruit-voice .person__interview {
  display: grid;
  gap: 2.5rem;
}
.p-recruit-voice .person__interview dt {
  margin: 0 0 0.625rem;
  font-size: 1.5rem;
  line-height: 1.4;
}
.p-recruit-voice .person__media {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 0.9375rem;
}
.p-recruit-voice .person__media img {
  grid-area: 1/2/2/3;
  border-radius: 10px;
}
.p-recruit-voice .person__media p {
  grid-area: 1/1/2/2;
}
.p-recruit-voice .person__message {
  grid-area: 2/1/3/3;
  margin: 3.125rem 0 0;
  padding: 1.875rem;
  border: 1px solid #fff;
  border-radius: 10px;
}
.p-recruit-voice .person__message-title {
  margin: 0 0 0.9375rem;
  font-size: 1.5rem;
  color: #FFEC4A;
}
.p-recruit-work .container {
  padding: 3.75rem;
  background: #EFEFEF;
  border-radius: 10px;
}
.p-recruit-work .works {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.75rem;
}

@media only screen and (max-width: 767.98px) {
  .p-recruit-lead {
    font-size: 1.25rem;
  }
  .p-recruit-voice {
    grid-template-columns: 1fr;
    gap: 0.625rem;
    padding: 2.5rem 1.25rem;
  }
  .p-recruit-voice .title {
    margin: 0 0 1.25rem;
    font-size: 1.75rem;
    writing-mode: horizontal-tb;
    letter-spacing: 0.2em;
    text-align: center;
  }
  .p-recruit-voice .person {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .p-recruit-voice .person__block {
    padding: 0;
  }
  .p-recruit-voice .person__department {
    width: 7.5rem;
    height: 1.5625rem;
    margin: 0 0 0.9375rem;
    font-size: 0.875rem;
  }
  .p-recruit-voice .person__division {
    margin: 0 0 0.9375rem;
    font-size: 1.75rem;
  }
  .p-recruit-voice .person__name {
    margin: 0 0 1.25rem;
    padding: 0 0 0.625rem;
    font-size: 1.25rem;
  }
  .p-recruit-voice .person__name-year {
    font-size: 0.75rem;
  }
  .p-recruit-voice .person__interview {
    gap: 1.875rem;
  }
  .p-recruit-voice .person__interview dt {
    font-size: 1rem;
    font-weight: bold;
  }
  .p-recruit-voice .person__media {
    gap: 0.625rem;
  }
  .p-recruit-voice .person__message {
    grid-area: unset;
    margin: 1.25rem 0 0;
    padding: 1.25rem;
    border: 1px solid #fff;
    border-radius: 4px;
  }
  .p-recruit-voice .person__message-title {
    margin: 0 0 0.625rem;
    font-size: 1.125rem;
  }
  .p-recruit-work .container {
    padding: 2.5rem 1.25rem;
    border-radius: 4px;
  }
  .p-recruit-work .works {
    grid-template-columns: 1fr;
    gap: 2.5rem 1.25rem;
  }
}
/*---------------------------------------------------------------------------
会社情報
---------------------------------------------------------------------------*/
body.is-think {
  background: #EFEFEF;
}

.p-think-message .container {
  display: grid;
  grid-template-columns: 26.25rem 1fr;
  gap: 3.125rem;
  padding: 3.125rem;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
.p-think-message .textgroup {
  display: flex;
  flex-direction: column;
}
.p-think-message .block {
  margin: auto 0;
}
.p-think-message .catch {
  margin: 0 0 1.875rem;
  font-size: 1.5rem;
  font-weight: bold;
}
.p-think-message .name {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  margin: 1.875rem 0 0;
}
.p-think-message .name span {
  margin: 0 0 0 1.875rem;
  font-size: 1.875rem;
}

@media only screen and (max-width: 767.98px) {
  .p-think-message .container {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    padding: 1.25rem;
  }
  .p-think-message .textgroup {
    display: block;
  }
  .p-think-message .block {
    margin: 0;
  }
  .p-think-message .catch {
    margin: 0 0 1.25rem;
    font-size: 1.25rem;
  }
  .p-think-message .name {
    margin: 1.25rem 0 0;
  }
  .p-think-message .name span {
    margin: 0 0 0 1.25rem;
    font-size: 1.25rem;
  }
}
.p-think-slogan .catch {
  margin: 0 0 1.5625rem;
  font-size: 2.625rem;
  font-weight: bold;
  text-align: center;
}

@media only screen and (max-width: 767.98px) {
  .p-think-slogan .catch {
    margin: 0 0 1.25rem;
    font-size: 1.5rem;
  }
}
.p-think-idea .idea-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.75rem;
}
.p-think-idea .idea {
  position: relative;
  padding: 1.25rem;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
.p-think-idea .idea::before {
  position: absolute;
  display: block;
  content: "";
  bottom: -1.25rem;
  left: -1.25rem;
  width: 100%;
  height: 100%;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
}
.p-think-idea .idea .action {
  display: grid;
  gap: 0.625rem;
}
.p-think-idea .idea .action dt {
  margin: 0 0 0.3125rem;
  padding: 0 5px;
  color: #fff;
  text-align: center;
  background: #426BA0;
}
.p-think-idea .en {
  margin: 0 0 1.875rem;
  font-size: 3.125rem;
  line-height: 1;
  font-weight: bold;
  color: #CCD7E5;
}
.p-think-idea .title {
  margin: 0 0 1.25rem;
  font-size: 1.375rem;
}
@media only screen and (max-width: 767.98px) {
  .p-think-idea .idea-list {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .p-think-idea .idea {
    padding: 1.25rem;
  }
  .p-think-idea .idea::before {
    bottom: -0.625rem;
    left: -0.625rem;
  }
  .p-think-idea .en {
    margin: 0 0 1.25rem;
    font-size: 2.5rem;
  }
  .p-think-idea .title {
    margin: 0 0 1.25rem;
    font-size: 1.25rem;
  }
}
/*---------------------------------------------------------------------------
下層ページ
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
ユーティリティ
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
余白
---------------------------------------------------------------------------*/
/*pc用余白クラス*/
.u-mt-0 {
  margin-top: 0rem !important;
}

.u-mt-5 {
  margin-top: 0.3125rem !important;
}

.u-mt-10 {
  margin-top: 0.625rem !important;
}

.u-mt-15 {
  margin-top: 0.9375rem !important;
}

.u-mt-20 {
  margin-top: 1.25rem !important;
}

.u-mt-25 {
  margin-top: 1.5625rem !important;
}

.u-mt-30 {
  margin-top: 1.875rem !important;
}

.u-mt-35 {
  margin-top: 2.1875rem !important;
}

.u-mt-40 {
  margin-top: 2.5rem !important;
}

.u-mt-45 {
  margin-top: 2.8125rem !important;
}

.u-mt-50 {
  margin-top: 3.125rem !important;
}

.u-mt-55 {
  margin-top: 3.4375rem !important;
}

.u-mt-60 {
  margin-top: 3.75rem !important;
}

.u-mt-65 {
  margin-top: 4.0625rem !important;
}

.u-mt-70 {
  margin-top: 4.375rem !important;
}

.u-mt-75 {
  margin-top: 4.6875rem !important;
}

.u-mt-80 {
  margin-top: 5rem !important;
}

.u-mt-85 {
  margin-top: 5.3125rem !important;
}

.u-mt-90 {
  margin-top: 5.625rem !important;
}

.u-mt-95 {
  margin-top: 5.9375rem !important;
}

.u-mt-100 {
  margin-top: 6.25rem !important;
}

.u-mt-105 {
  margin-top: 6.5625rem !important;
}

.u-mt-110 {
  margin-top: 6.875rem !important;
}

.u-mt-115 {
  margin-top: 7.1875rem !important;
}

.u-mt-120 {
  margin-top: 7.5rem !important;
}

.u-mt-125 {
  margin-top: 7.8125rem !important;
}

.u-mt-130 {
  margin-top: 8.125rem !important;
}

.u-mt-135 {
  margin-top: 8.4375rem !important;
}

.u-mt-140 {
  margin-top: 8.75rem !important;
}

.u-mt-145 {
  margin-top: 9.0625rem !important;
}

.u-mt-150 {
  margin-top: 9.375rem !important;
}

.u-mt-155 {
  margin-top: 9.6875rem !important;
}

.u-mt-160 {
  margin-top: 10rem !important;
}

.u-mt-165 {
  margin-top: 10.3125rem !important;
}

.u-mt-170 {
  margin-top: 10.625rem !important;
}

.u-mt-175 {
  margin-top: 10.9375rem !important;
}

.u-mt-180 {
  margin-top: 11.25rem !important;
}

.u-mt-185 {
  margin-top: 11.5625rem !important;
}

.u-mt-190 {
  margin-top: 11.875rem !important;
}

.u-mt-195 {
  margin-top: 12.1875rem !important;
}

.u-mt-200 {
  margin-top: 12.5rem !important;
}

.u-mt-205 {
  margin-top: 12.8125rem !important;
}

.u-mt-210 {
  margin-top: 13.125rem !important;
}

.u-mt-215 {
  margin-top: 13.4375rem !important;
}

.u-mt-220 {
  margin-top: 13.75rem !important;
}

.u-mt-225 {
  margin-top: 14.0625rem !important;
}

.u-mt-230 {
  margin-top: 14.375rem !important;
}

.u-mt-235 {
  margin-top: 14.6875rem !important;
}

.u-mt-240 {
  margin-top: 15rem !important;
}

.u-mt-245 {
  margin-top: 15.3125rem !important;
}

.u-mt-250 {
  margin-top: 15.625rem !important;
}

.u-mt-255 {
  margin-top: 15.9375rem !important;
}

.u-mt-260 {
  margin-top: 16.25rem !important;
}

.u-mt-265 {
  margin-top: 16.5625rem !important;
}

.u-mt-270 {
  margin-top: 16.875rem !important;
}

.u-mt-275 {
  margin-top: 17.1875rem !important;
}

.u-mt-280 {
  margin-top: 17.5rem !important;
}

.u-mt-285 {
  margin-top: 17.8125rem !important;
}

.u-mt-290 {
  margin-top: 18.125rem !important;
}

.u-mt-295 {
  margin-top: 18.4375rem !important;
}

.u-mt-300 {
  margin-top: 18.75rem !important;
}

.u-mt-305 {
  margin-top: 19.0625rem !important;
}

.u-mt-310 {
  margin-top: 19.375rem !important;
}

.u-mt-315 {
  margin-top: 19.6875rem !important;
}

.u-mt-320 {
  margin-top: 20rem !important;
}

.u-mt-325 {
  margin-top: 20.3125rem !important;
}

.u-mt-330 {
  margin-top: 20.625rem !important;
}

.u-mt-335 {
  margin-top: 20.9375rem !important;
}

.u-mt-340 {
  margin-top: 21.25rem !important;
}

.u-mt-345 {
  margin-top: 21.5625rem !important;
}

.u-mt-350 {
  margin-top: 21.875rem !important;
}

.u-mt-355 {
  margin-top: 22.1875rem !important;
}

.u-mt-360 {
  margin-top: 22.5rem !important;
}

.u-mt-365 {
  margin-top: 22.8125rem !important;
}

.u-mt-370 {
  margin-top: 23.125rem !important;
}

.u-mt-375 {
  margin-top: 23.4375rem !important;
}

.u-mt-380 {
  margin-top: 23.75rem !important;
}

.u-mt-385 {
  margin-top: 24.0625rem !important;
}

.u-mt-390 {
  margin-top: 24.375rem !important;
}

.u-mt-395 {
  margin-top: 24.6875rem !important;
}

.u-mt-400 {
  margin-top: 25rem !important;
}

.u-mb-0 {
  margin-bottom: 0rem !important;
}

.u-mb-5 {
  margin-bottom: 0.3125rem !important;
}

.u-mb-10 {
  margin-bottom: 0.625rem !important;
}

.u-mb-15 {
  margin-bottom: 0.9375rem !important;
}

.u-mb-20 {
  margin-bottom: 1.25rem !important;
}

.u-mb-25 {
  margin-bottom: 1.5625rem !important;
}

.u-mb-30 {
  margin-bottom: 1.875rem !important;
}

.u-mb-35 {
  margin-bottom: 2.1875rem !important;
}

.u-mb-40 {
  margin-bottom: 2.5rem !important;
}

.u-mb-45 {
  margin-bottom: 2.8125rem !important;
}

.u-mb-50 {
  margin-bottom: 3.125rem !important;
}

.u-mb-55 {
  margin-bottom: 3.4375rem !important;
}

.u-mb-60 {
  margin-bottom: 3.75rem !important;
}

.u-mb-65 {
  margin-bottom: 4.0625rem !important;
}

.u-mb-70 {
  margin-bottom: 4.375rem !important;
}

.u-mb-75 {
  margin-bottom: 4.6875rem !important;
}

.u-mb-80 {
  margin-bottom: 5rem !important;
}

.u-mb-85 {
  margin-bottom: 5.3125rem !important;
}

.u-mb-90 {
  margin-bottom: 5.625rem !important;
}

.u-mb-95 {
  margin-bottom: 5.9375rem !important;
}

.u-mb-100 {
  margin-bottom: 6.25rem !important;
}

.u-mb-105 {
  margin-bottom: 6.5625rem !important;
}

.u-mb-110 {
  margin-bottom: 6.875rem !important;
}

.u-mb-115 {
  margin-bottom: 7.1875rem !important;
}

.u-mb-120 {
  margin-bottom: 7.5rem !important;
}

.u-mb-125 {
  margin-bottom: 7.8125rem !important;
}

.u-mb-130 {
  margin-bottom: 8.125rem !important;
}

.u-mb-135 {
  margin-bottom: 8.4375rem !important;
}

.u-mb-140 {
  margin-bottom: 8.75rem !important;
}

.u-mb-145 {
  margin-bottom: 9.0625rem !important;
}

.u-mb-150 {
  margin-bottom: 9.375rem !important;
}

.u-mb-155 {
  margin-bottom: 9.6875rem !important;
}

.u-mb-160 {
  margin-bottom: 10rem !important;
}

.u-mb-165 {
  margin-bottom: 10.3125rem !important;
}

.u-mb-170 {
  margin-bottom: 10.625rem !important;
}

.u-mb-175 {
  margin-bottom: 10.9375rem !important;
}

.u-mb-180 {
  margin-bottom: 11.25rem !important;
}

.u-mb-185 {
  margin-bottom: 11.5625rem !important;
}

.u-mb-190 {
  margin-bottom: 11.875rem !important;
}

.u-mb-195 {
  margin-bottom: 12.1875rem !important;
}

.u-mb-200 {
  margin-bottom: 12.5rem !important;
}

.u-mb-205 {
  margin-bottom: 12.8125rem !important;
}

.u-mb-210 {
  margin-bottom: 13.125rem !important;
}

.u-mb-215 {
  margin-bottom: 13.4375rem !important;
}

.u-mb-220 {
  margin-bottom: 13.75rem !important;
}

.u-mb-225 {
  margin-bottom: 14.0625rem !important;
}

.u-mb-230 {
  margin-bottom: 14.375rem !important;
}

.u-mb-235 {
  margin-bottom: 14.6875rem !important;
}

.u-mb-240 {
  margin-bottom: 15rem !important;
}

.u-mb-245 {
  margin-bottom: 15.3125rem !important;
}

.u-mb-250 {
  margin-bottom: 15.625rem !important;
}

.u-mb-255 {
  margin-bottom: 15.9375rem !important;
}

.u-mb-260 {
  margin-bottom: 16.25rem !important;
}

.u-mb-265 {
  margin-bottom: 16.5625rem !important;
}

.u-mb-270 {
  margin-bottom: 16.875rem !important;
}

.u-mb-275 {
  margin-bottom: 17.1875rem !important;
}

.u-mb-280 {
  margin-bottom: 17.5rem !important;
}

.u-mb-285 {
  margin-bottom: 17.8125rem !important;
}

.u-mb-290 {
  margin-bottom: 18.125rem !important;
}

.u-mb-295 {
  margin-bottom: 18.4375rem !important;
}

.u-mb-300 {
  margin-bottom: 18.75rem !important;
}

.u-mb-305 {
  margin-bottom: 19.0625rem !important;
}

.u-mb-310 {
  margin-bottom: 19.375rem !important;
}

.u-mb-315 {
  margin-bottom: 19.6875rem !important;
}

.u-mb-320 {
  margin-bottom: 20rem !important;
}

.u-mb-325 {
  margin-bottom: 20.3125rem !important;
}

.u-mb-330 {
  margin-bottom: 20.625rem !important;
}

.u-mb-335 {
  margin-bottom: 20.9375rem !important;
}

.u-mb-340 {
  margin-bottom: 21.25rem !important;
}

.u-mb-345 {
  margin-bottom: 21.5625rem !important;
}

.u-mb-350 {
  margin-bottom: 21.875rem !important;
}

.u-mb-355 {
  margin-bottom: 22.1875rem !important;
}

.u-mb-360 {
  margin-bottom: 22.5rem !important;
}

.u-mb-365 {
  margin-bottom: 22.8125rem !important;
}

.u-mb-370 {
  margin-bottom: 23.125rem !important;
}

.u-mb-375 {
  margin-bottom: 23.4375rem !important;
}

.u-mb-380 {
  margin-bottom: 23.75rem !important;
}

.u-mb-385 {
  margin-bottom: 24.0625rem !important;
}

.u-mb-390 {
  margin-bottom: 24.375rem !important;
}

.u-mb-395 {
  margin-bottom: 24.6875rem !important;
}

.u-mb-400 {
  margin-bottom: 25rem !important;
}

.u-my-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.u-my-5 {
  margin-top: 0.3125rem !important;
  margin-bottom: 0.3125rem !important;
}

.u-my-10 {
  margin-top: 0.625rem !important;
  margin-bottom: 0.625rem !important;
}

.u-my-15 {
  margin-top: 0.9375rem !important;
  margin-bottom: 0.9375rem !important;
}

.u-my-20 {
  margin-top: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}

.u-my-25 {
  margin-top: 1.5625rem !important;
  margin-bottom: 1.5625rem !important;
}

.u-my-30 {
  margin-top: 1.875rem !important;
  margin-bottom: 1.875rem !important;
}

.u-my-35 {
  margin-top: 2.1875rem !important;
  margin-bottom: 2.1875rem !important;
}

.u-my-40 {
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important;
}

.u-my-45 {
  margin-top: 2.8125rem !important;
  margin-bottom: 2.8125rem !important;
}

.u-my-50 {
  margin-top: 3.125rem !important;
  margin-bottom: 3.125rem !important;
}

.u-my-55 {
  margin-top: 3.4375rem !important;
  margin-bottom: 3.4375rem !important;
}

.u-my-60 {
  margin-top: 3.75rem !important;
  margin-bottom: 3.75rem !important;
}

.u-my-65 {
  margin-top: 4.0625rem !important;
  margin-bottom: 4.0625rem !important;
}

.u-my-70 {
  margin-top: 4.375rem !important;
  margin-bottom: 4.375rem !important;
}

.u-my-75 {
  margin-top: 4.6875rem !important;
  margin-bottom: 4.6875rem !important;
}

.u-my-80 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.u-my-85 {
  margin-top: 5.3125rem !important;
  margin-bottom: 5.3125rem !important;
}

.u-my-90 {
  margin-top: 5.625rem !important;
  margin-bottom: 5.625rem !important;
}

.u-my-95 {
  margin-top: 5.9375rem !important;
  margin-bottom: 5.9375rem !important;
}

.u-my-100 {
  margin-top: 6.25rem !important;
  margin-bottom: 6.25rem !important;
}

.u-my-105 {
  margin-top: 6.5625rem !important;
  margin-bottom: 6.5625rem !important;
}

.u-my-110 {
  margin-top: 6.875rem !important;
  margin-bottom: 6.875rem !important;
}

.u-my-115 {
  margin-top: 7.1875rem !important;
  margin-bottom: 7.1875rem !important;
}

.u-my-120 {
  margin-top: 7.5rem !important;
  margin-bottom: 7.5rem !important;
}

.u-my-125 {
  margin-top: 7.8125rem !important;
  margin-bottom: 7.8125rem !important;
}

.u-my-130 {
  margin-top: 8.125rem !important;
  margin-bottom: 8.125rem !important;
}

.u-my-135 {
  margin-top: 8.4375rem !important;
  margin-bottom: 8.4375rem !important;
}

.u-my-140 {
  margin-top: 8.75rem !important;
  margin-bottom: 8.75rem !important;
}

.u-my-145 {
  margin-top: 9.0625rem !important;
  margin-bottom: 9.0625rem !important;
}

.u-my-150 {
  margin-top: 9.375rem !important;
  margin-bottom: 9.375rem !important;
}

.u-my-155 {
  margin-top: 9.6875rem !important;
  margin-bottom: 9.6875rem !important;
}

.u-my-160 {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important;
}

.u-my-165 {
  margin-top: 10.3125rem !important;
  margin-bottom: 10.3125rem !important;
}

.u-my-170 {
  margin-top: 10.625rem !important;
  margin-bottom: 10.625rem !important;
}

.u-my-175 {
  margin-top: 10.9375rem !important;
  margin-bottom: 10.9375rem !important;
}

.u-my-180 {
  margin-top: 11.25rem !important;
  margin-bottom: 11.25rem !important;
}

.u-my-185 {
  margin-top: 11.5625rem !important;
  margin-bottom: 11.5625rem !important;
}

.u-my-190 {
  margin-top: 11.875rem !important;
  margin-bottom: 11.875rem !important;
}

.u-my-195 {
  margin-top: 12.1875rem !important;
  margin-bottom: 12.1875rem !important;
}

.u-my-200 {
  margin-top: 12.5rem !important;
  margin-bottom: 12.5rem !important;
}

.u-my-205 {
  margin-top: 12.8125rem !important;
  margin-bottom: 12.8125rem !important;
}

.u-my-210 {
  margin-top: 13.125rem !important;
  margin-bottom: 13.125rem !important;
}

.u-my-215 {
  margin-top: 13.4375rem !important;
  margin-bottom: 13.4375rem !important;
}

.u-my-220 {
  margin-top: 13.75rem !important;
  margin-bottom: 13.75rem !important;
}

.u-my-225 {
  margin-top: 14.0625rem !important;
  margin-bottom: 14.0625rem !important;
}

.u-my-230 {
  margin-top: 14.375rem !important;
  margin-bottom: 14.375rem !important;
}

.u-my-235 {
  margin-top: 14.6875rem !important;
  margin-bottom: 14.6875rem !important;
}

.u-my-240 {
  margin-top: 15rem !important;
  margin-bottom: 15rem !important;
}

.u-my-245 {
  margin-top: 15.3125rem !important;
  margin-bottom: 15.3125rem !important;
}

.u-my-250 {
  margin-top: 15.625rem !important;
  margin-bottom: 15.625rem !important;
}

.u-my-255 {
  margin-top: 15.9375rem !important;
  margin-bottom: 15.9375rem !important;
}

.u-my-260 {
  margin-top: 16.25rem !important;
  margin-bottom: 16.25rem !important;
}

.u-my-265 {
  margin-top: 16.5625rem !important;
  margin-bottom: 16.5625rem !important;
}

.u-my-270 {
  margin-top: 16.875rem !important;
  margin-bottom: 16.875rem !important;
}

.u-my-275 {
  margin-top: 17.1875rem !important;
  margin-bottom: 17.1875rem !important;
}

.u-my-280 {
  margin-top: 17.5rem !important;
  margin-bottom: 17.5rem !important;
}

.u-my-285 {
  margin-top: 17.8125rem !important;
  margin-bottom: 17.8125rem !important;
}

.u-my-290 {
  margin-top: 18.125rem !important;
  margin-bottom: 18.125rem !important;
}

.u-my-295 {
  margin-top: 18.4375rem !important;
  margin-bottom: 18.4375rem !important;
}

.u-my-300 {
  margin-top: 18.75rem !important;
  margin-bottom: 18.75rem !important;
}

.u-my-305 {
  margin-top: 19.0625rem !important;
  margin-bottom: 19.0625rem !important;
}

.u-my-310 {
  margin-top: 19.375rem !important;
  margin-bottom: 19.375rem !important;
}

.u-my-315 {
  margin-top: 19.6875rem !important;
  margin-bottom: 19.6875rem !important;
}

.u-my-320 {
  margin-top: 20rem !important;
  margin-bottom: 20rem !important;
}

.u-my-325 {
  margin-top: 20.3125rem !important;
  margin-bottom: 20.3125rem !important;
}

.u-my-330 {
  margin-top: 20.625rem !important;
  margin-bottom: 20.625rem !important;
}

.u-my-335 {
  margin-top: 20.9375rem !important;
  margin-bottom: 20.9375rem !important;
}

.u-my-340 {
  margin-top: 21.25rem !important;
  margin-bottom: 21.25rem !important;
}

.u-my-345 {
  margin-top: 21.5625rem !important;
  margin-bottom: 21.5625rem !important;
}

.u-my-350 {
  margin-top: 21.875rem !important;
  margin-bottom: 21.875rem !important;
}

.u-my-355 {
  margin-top: 22.1875rem !important;
  margin-bottom: 22.1875rem !important;
}

.u-my-360 {
  margin-top: 22.5rem !important;
  margin-bottom: 22.5rem !important;
}

.u-my-365 {
  margin-top: 22.8125rem !important;
  margin-bottom: 22.8125rem !important;
}

.u-my-370 {
  margin-top: 23.125rem !important;
  margin-bottom: 23.125rem !important;
}

.u-my-375 {
  margin-top: 23.4375rem !important;
  margin-bottom: 23.4375rem !important;
}

.u-my-380 {
  margin-top: 23.75rem !important;
  margin-bottom: 23.75rem !important;
}

.u-my-385 {
  margin-top: 24.0625rem !important;
  margin-bottom: 24.0625rem !important;
}

.u-my-390 {
  margin-top: 24.375rem !important;
  margin-bottom: 24.375rem !important;
}

.u-my-395 {
  margin-top: 24.6875rem !important;
  margin-bottom: 24.6875rem !important;
}

.u-my-400 {
  margin-top: 25rem !important;
  margin-bottom: 25rem !important;
}

/* ネガティブ余白クラス（PC） */
.u-mt-n-5 {
  margin-top: -0.3125rem !important;
}

.u-mt-n-10 {
  margin-top: -0.625rem !important;
}

.u-mt-n-15 {
  margin-top: -0.9375rem !important;
}

.u-mt-n-20 {
  margin-top: -1.25rem !important;
}

.u-mt-n-25 {
  margin-top: -1.5625rem !important;
}

.u-mt-n-30 {
  margin-top: -1.875rem !important;
}

.u-mt-n-35 {
  margin-top: -2.1875rem !important;
}

.u-mt-n-40 {
  margin-top: -2.5rem !important;
}

.u-mt-n-45 {
  margin-top: -2.8125rem !important;
}

.u-mt-n-50 {
  margin-top: -3.125rem !important;
}

.u-mt-n-55 {
  margin-top: -3.4375rem !important;
}

.u-mt-n-60 {
  margin-top: -3.75rem !important;
}

.u-mt-n-65 {
  margin-top: -4.0625rem !important;
}

.u-mt-n-70 {
  margin-top: -4.375rem !important;
}

.u-mt-n-75 {
  margin-top: -4.6875rem !important;
}

.u-mt-n-80 {
  margin-top: -5rem !important;
}

.u-mt-n-85 {
  margin-top: -5.3125rem !important;
}

.u-mt-n-90 {
  margin-top: -5.625rem !important;
}

.u-mt-n-95 {
  margin-top: -5.9375rem !important;
}

.u-mt-n-100 {
  margin-top: -6.25rem !important;
}

.u-mt-n-105 {
  margin-top: -6.5625rem !important;
}

.u-mt-n-110 {
  margin-top: -6.875rem !important;
}

.u-mt-n-115 {
  margin-top: -7.1875rem !important;
}

.u-mt-n-120 {
  margin-top: -7.5rem !important;
}

.u-mt-n-125 {
  margin-top: -7.8125rem !important;
}

.u-mt-n-130 {
  margin-top: -8.125rem !important;
}

.u-mt-n-135 {
  margin-top: -8.4375rem !important;
}

.u-mt-n-140 {
  margin-top: -8.75rem !important;
}

.u-mt-n-145 {
  margin-top: -9.0625rem !important;
}

.u-mt-n-150 {
  margin-top: -9.375rem !important;
}

.u-mt-n-155 {
  margin-top: -9.6875rem !important;
}

.u-mt-n-160 {
  margin-top: -10rem !important;
}

.u-mt-n-165 {
  margin-top: -10.3125rem !important;
}

.u-mt-n-170 {
  margin-top: -10.625rem !important;
}

.u-mt-n-175 {
  margin-top: -10.9375rem !important;
}

.u-mt-n-180 {
  margin-top: -11.25rem !important;
}

.u-mt-n-185 {
  margin-top: -11.5625rem !important;
}

.u-mt-n-190 {
  margin-top: -11.875rem !important;
}

.u-mt-n-195 {
  margin-top: -12.1875rem !important;
}

.u-mt-n-200 {
  margin-top: -12.5rem !important;
}

.u-mt-n-205 {
  margin-top: -12.8125rem !important;
}

.u-mt-n-210 {
  margin-top: -13.125rem !important;
}

.u-mt-n-215 {
  margin-top: -13.4375rem !important;
}

.u-mt-n-220 {
  margin-top: -13.75rem !important;
}

.u-mt-n-225 {
  margin-top: -14.0625rem !important;
}

.u-mt-n-230 {
  margin-top: -14.375rem !important;
}

.u-mt-n-235 {
  margin-top: -14.6875rem !important;
}

.u-mt-n-240 {
  margin-top: -15rem !important;
}

.u-mt-n-245 {
  margin-top: -15.3125rem !important;
}

.u-mt-n-250 {
  margin-top: -15.625rem !important;
}

.u-mt-n-255 {
  margin-top: -15.9375rem !important;
}

.u-mt-n-260 {
  margin-top: -16.25rem !important;
}

.u-mt-n-265 {
  margin-top: -16.5625rem !important;
}

.u-mt-n-270 {
  margin-top: -16.875rem !important;
}

.u-mt-n-275 {
  margin-top: -17.1875rem !important;
}

.u-mt-n-280 {
  margin-top: -17.5rem !important;
}

.u-mt-n-285 {
  margin-top: -17.8125rem !important;
}

.u-mt-n-290 {
  margin-top: -18.125rem !important;
}

.u-mt-n-295 {
  margin-top: -18.4375rem !important;
}

.u-mt-n-300 {
  margin-top: -18.75rem !important;
}

.u-mt-n-305 {
  margin-top: -19.0625rem !important;
}

.u-mt-n-310 {
  margin-top: -19.375rem !important;
}

.u-mt-n-315 {
  margin-top: -19.6875rem !important;
}

.u-mt-n-320 {
  margin-top: -20rem !important;
}

.u-mt-n-325 {
  margin-top: -20.3125rem !important;
}

.u-mt-n-330 {
  margin-top: -20.625rem !important;
}

.u-mt-n-335 {
  margin-top: -20.9375rem !important;
}

.u-mt-n-340 {
  margin-top: -21.25rem !important;
}

.u-mt-n-345 {
  margin-top: -21.5625rem !important;
}

.u-mt-n-350 {
  margin-top: -21.875rem !important;
}

.u-mt-n-355 {
  margin-top: -22.1875rem !important;
}

.u-mt-n-360 {
  margin-top: -22.5rem !important;
}

.u-mt-n-365 {
  margin-top: -22.8125rem !important;
}

.u-mt-n-370 {
  margin-top: -23.125rem !important;
}

.u-mt-n-375 {
  margin-top: -23.4375rem !important;
}

.u-mt-n-380 {
  margin-top: -23.75rem !important;
}

.u-mt-n-385 {
  margin-top: -24.0625rem !important;
}

.u-mt-n-390 {
  margin-top: -24.375rem !important;
}

.u-mt-n-395 {
  margin-top: -24.6875rem !important;
}

.u-mt-n-400 {
  margin-top: -25rem !important;
}

.u-mb-n-5 {
  margin-bottom: -0.3125rem !important;
}

.u-mb-n-10 {
  margin-bottom: -0.625rem !important;
}

.u-mb-n-15 {
  margin-bottom: -0.9375rem !important;
}

.u-mb-n-20 {
  margin-bottom: -1.25rem !important;
}

.u-mb-n-25 {
  margin-bottom: -1.5625rem !important;
}

.u-mb-n-30 {
  margin-bottom: -1.875rem !important;
}

.u-mb-n-35 {
  margin-bottom: -2.1875rem !important;
}

.u-mb-n-40 {
  margin-bottom: -2.5rem !important;
}

.u-mb-n-45 {
  margin-bottom: -2.8125rem !important;
}

.u-mb-n-50 {
  margin-bottom: -3.125rem !important;
}

.u-mb-n-55 {
  margin-bottom: -3.4375rem !important;
}

.u-mb-n-60 {
  margin-bottom: -3.75rem !important;
}

.u-mb-n-65 {
  margin-bottom: -4.0625rem !important;
}

.u-mb-n-70 {
  margin-bottom: -4.375rem !important;
}

.u-mb-n-75 {
  margin-bottom: -4.6875rem !important;
}

.u-mb-n-80 {
  margin-bottom: -5rem !important;
}

.u-mb-n-85 {
  margin-bottom: -5.3125rem !important;
}

.u-mb-n-90 {
  margin-bottom: -5.625rem !important;
}

.u-mb-n-95 {
  margin-bottom: -5.9375rem !important;
}

.u-mb-n-100 {
  margin-bottom: -6.25rem !important;
}

.u-mb-n-105 {
  margin-bottom: -6.5625rem !important;
}

.u-mb-n-110 {
  margin-bottom: -6.875rem !important;
}

.u-mb-n-115 {
  margin-bottom: -7.1875rem !important;
}

.u-mb-n-120 {
  margin-bottom: -7.5rem !important;
}

.u-mb-n-125 {
  margin-bottom: -7.8125rem !important;
}

.u-mb-n-130 {
  margin-bottom: -8.125rem !important;
}

.u-mb-n-135 {
  margin-bottom: -8.4375rem !important;
}

.u-mb-n-140 {
  margin-bottom: -8.75rem !important;
}

.u-mb-n-145 {
  margin-bottom: -9.0625rem !important;
}

.u-mb-n-150 {
  margin-bottom: -9.375rem !important;
}

.u-mb-n-155 {
  margin-bottom: -9.6875rem !important;
}

.u-mb-n-160 {
  margin-bottom: -10rem !important;
}

.u-mb-n-165 {
  margin-bottom: -10.3125rem !important;
}

.u-mb-n-170 {
  margin-bottom: -10.625rem !important;
}

.u-mb-n-175 {
  margin-bottom: -10.9375rem !important;
}

.u-mb-n-180 {
  margin-bottom: -11.25rem !important;
}

.u-mb-n-185 {
  margin-bottom: -11.5625rem !important;
}

.u-mb-n-190 {
  margin-bottom: -11.875rem !important;
}

.u-mb-n-195 {
  margin-bottom: -12.1875rem !important;
}

.u-mb-n-200 {
  margin-bottom: -12.5rem !important;
}

.u-mb-n-205 {
  margin-bottom: -12.8125rem !important;
}

.u-mb-n-210 {
  margin-bottom: -13.125rem !important;
}

.u-mb-n-215 {
  margin-bottom: -13.4375rem !important;
}

.u-mb-n-220 {
  margin-bottom: -13.75rem !important;
}

.u-mb-n-225 {
  margin-bottom: -14.0625rem !important;
}

.u-mb-n-230 {
  margin-bottom: -14.375rem !important;
}

.u-mb-n-235 {
  margin-bottom: -14.6875rem !important;
}

.u-mb-n-240 {
  margin-bottom: -15rem !important;
}

.u-mb-n-245 {
  margin-bottom: -15.3125rem !important;
}

.u-mb-n-250 {
  margin-bottom: -15.625rem !important;
}

.u-mb-n-255 {
  margin-bottom: -15.9375rem !important;
}

.u-mb-n-260 {
  margin-bottom: -16.25rem !important;
}

.u-mb-n-265 {
  margin-bottom: -16.5625rem !important;
}

.u-mb-n-270 {
  margin-bottom: -16.875rem !important;
}

.u-mb-n-275 {
  margin-bottom: -17.1875rem !important;
}

.u-mb-n-280 {
  margin-bottom: -17.5rem !important;
}

.u-mb-n-285 {
  margin-bottom: -17.8125rem !important;
}

.u-mb-n-290 {
  margin-bottom: -18.125rem !important;
}

.u-mb-n-295 {
  margin-bottom: -18.4375rem !important;
}

.u-mb-n-300 {
  margin-bottom: -18.75rem !important;
}

.u-mb-n-305 {
  margin-bottom: -19.0625rem !important;
}

.u-mb-n-310 {
  margin-bottom: -19.375rem !important;
}

.u-mb-n-315 {
  margin-bottom: -19.6875rem !important;
}

.u-mb-n-320 {
  margin-bottom: -20rem !important;
}

.u-mb-n-325 {
  margin-bottom: -20.3125rem !important;
}

.u-mb-n-330 {
  margin-bottom: -20.625rem !important;
}

.u-mb-n-335 {
  margin-bottom: -20.9375rem !important;
}

.u-mb-n-340 {
  margin-bottom: -21.25rem !important;
}

.u-mb-n-345 {
  margin-bottom: -21.5625rem !important;
}

.u-mb-n-350 {
  margin-bottom: -21.875rem !important;
}

.u-mb-n-355 {
  margin-bottom: -22.1875rem !important;
}

.u-mb-n-360 {
  margin-bottom: -22.5rem !important;
}

.u-mb-n-365 {
  margin-bottom: -22.8125rem !important;
}

.u-mb-n-370 {
  margin-bottom: -23.125rem !important;
}

.u-mb-n-375 {
  margin-bottom: -23.4375rem !important;
}

.u-mb-n-380 {
  margin-bottom: -23.75rem !important;
}

.u-mb-n-385 {
  margin-bottom: -24.0625rem !important;
}

.u-mb-n-390 {
  margin-bottom: -24.375rem !important;
}

.u-mb-n-395 {
  margin-bottom: -24.6875rem !important;
}

.u-mb-n-400 {
  margin-bottom: -25rem !important;
}

/*sp用余白クラス*/
@media only screen and (max-width: 767.98px) {
  .u-mt-0-sp {
    margin-top: 0rem !important;
  }
  .u-mt-5-sp {
    margin-top: 0.3125rem !important;
  }
  .u-mt-10-sp {
    margin-top: 0.625rem !important;
  }
  .u-mt-15-sp {
    margin-top: 0.9375rem !important;
  }
  .u-mt-20-sp {
    margin-top: 1.25rem !important;
  }
  .u-mt-25-sp {
    margin-top: 1.5625rem !important;
  }
  .u-mt-30-sp {
    margin-top: 1.875rem !important;
  }
  .u-mt-35-sp {
    margin-top: 2.1875rem !important;
  }
  .u-mt-40-sp {
    margin-top: 2.5rem !important;
  }
  .u-mt-45-sp {
    margin-top: 2.8125rem !important;
  }
  .u-mt-50-sp {
    margin-top: 3.125rem !important;
  }
  .u-mt-55-sp {
    margin-top: 3.4375rem !important;
  }
  .u-mt-60-sp {
    margin-top: 3.75rem !important;
  }
  .u-mt-65-sp {
    margin-top: 4.0625rem !important;
  }
  .u-mt-70-sp {
    margin-top: 4.375rem !important;
  }
  .u-mt-75-sp {
    margin-top: 4.6875rem !important;
  }
  .u-mt-80-sp {
    margin-top: 5rem !important;
  }
  .u-mt-85-sp {
    margin-top: 5.3125rem !important;
  }
  .u-mt-90-sp {
    margin-top: 5.625rem !important;
  }
  .u-mt-95-sp {
    margin-top: 5.9375rem !important;
  }
  .u-mt-100-sp {
    margin-top: 6.25rem !important;
  }
  .u-mt-105-sp {
    margin-top: 6.5625rem !important;
  }
  .u-mt-110-sp {
    margin-top: 6.875rem !important;
  }
  .u-mt-115-sp {
    margin-top: 7.1875rem !important;
  }
  .u-mt-120-sp {
    margin-top: 7.5rem !important;
  }
  .u-mt-125-sp {
    margin-top: 7.8125rem !important;
  }
  .u-mt-130-sp {
    margin-top: 8.125rem !important;
  }
  .u-mt-135-sp {
    margin-top: 8.4375rem !important;
  }
  .u-mt-140-sp {
    margin-top: 8.75rem !important;
  }
  .u-mt-145-sp {
    margin-top: 9.0625rem !important;
  }
  .u-mt-150-sp {
    margin-top: 9.375rem !important;
  }
  .u-mt-155-sp {
    margin-top: 9.6875rem !important;
  }
  .u-mt-160-sp {
    margin-top: 10rem !important;
  }
  .u-mt-165-sp {
    margin-top: 10.3125rem !important;
  }
  .u-mt-170-sp {
    margin-top: 10.625rem !important;
  }
  .u-mt-175-sp {
    margin-top: 10.9375rem !important;
  }
  .u-mt-180-sp {
    margin-top: 11.25rem !important;
  }
  .u-mt-185-sp {
    margin-top: 11.5625rem !important;
  }
  .u-mt-190-sp {
    margin-top: 11.875rem !important;
  }
  .u-mt-195-sp {
    margin-top: 12.1875rem !important;
  }
  .u-mt-200-sp {
    margin-top: 12.5rem !important;
  }
  .u-mt-205-sp {
    margin-top: 12.8125rem !important;
  }
  .u-mt-210-sp {
    margin-top: 13.125rem !important;
  }
  .u-mt-215-sp {
    margin-top: 13.4375rem !important;
  }
  .u-mt-220-sp {
    margin-top: 13.75rem !important;
  }
  .u-mt-225-sp {
    margin-top: 14.0625rem !important;
  }
  .u-mt-230-sp {
    margin-top: 14.375rem !important;
  }
  .u-mt-235-sp {
    margin-top: 14.6875rem !important;
  }
  .u-mt-240-sp {
    margin-top: 15rem !important;
  }
  .u-mt-245-sp {
    margin-top: 15.3125rem !important;
  }
  .u-mt-250-sp {
    margin-top: 15.625rem !important;
  }
  .u-mt-255-sp {
    margin-top: 15.9375rem !important;
  }
  .u-mt-260-sp {
    margin-top: 16.25rem !important;
  }
  .u-mt-265-sp {
    margin-top: 16.5625rem !important;
  }
  .u-mt-270-sp {
    margin-top: 16.875rem !important;
  }
  .u-mt-275-sp {
    margin-top: 17.1875rem !important;
  }
  .u-mt-280-sp {
    margin-top: 17.5rem !important;
  }
  .u-mt-285-sp {
    margin-top: 17.8125rem !important;
  }
  .u-mt-290-sp {
    margin-top: 18.125rem !important;
  }
  .u-mt-295-sp {
    margin-top: 18.4375rem !important;
  }
  .u-mt-300-sp {
    margin-top: 18.75rem !important;
  }
  .u-mt-305-sp {
    margin-top: 19.0625rem !important;
  }
  .u-mt-310-sp {
    margin-top: 19.375rem !important;
  }
  .u-mt-315-sp {
    margin-top: 19.6875rem !important;
  }
  .u-mt-320-sp {
    margin-top: 20rem !important;
  }
  .u-mt-325-sp {
    margin-top: 20.3125rem !important;
  }
  .u-mt-330-sp {
    margin-top: 20.625rem !important;
  }
  .u-mt-335-sp {
    margin-top: 20.9375rem !important;
  }
  .u-mt-340-sp {
    margin-top: 21.25rem !important;
  }
  .u-mt-345-sp {
    margin-top: 21.5625rem !important;
  }
  .u-mt-350-sp {
    margin-top: 21.875rem !important;
  }
  .u-mt-355-sp {
    margin-top: 22.1875rem !important;
  }
  .u-mt-360-sp {
    margin-top: 22.5rem !important;
  }
  .u-mt-365-sp {
    margin-top: 22.8125rem !important;
  }
  .u-mt-370-sp {
    margin-top: 23.125rem !important;
  }
  .u-mt-375-sp {
    margin-top: 23.4375rem !important;
  }
  .u-mt-380-sp {
    margin-top: 23.75rem !important;
  }
  .u-mt-385-sp {
    margin-top: 24.0625rem !important;
  }
  .u-mt-390-sp {
    margin-top: 24.375rem !important;
  }
  .u-mt-395-sp {
    margin-top: 24.6875rem !important;
  }
  .u-mt-400-sp {
    margin-top: 25rem !important;
  }
  .u-mb-0-sp {
    margin-bottom: 0rem !important;
  }
  .u-mb-5-sp {
    margin-bottom: 0.3125rem !important;
  }
  .u-mb-10-sp {
    margin-bottom: 0.625rem !important;
  }
  .u-mb-15-sp {
    margin-bottom: 0.9375rem !important;
  }
  .u-mb-20-sp {
    margin-bottom: 1.25rem !important;
  }
  .u-mb-25-sp {
    margin-bottom: 1.5625rem !important;
  }
  .u-mb-30-sp {
    margin-bottom: 1.875rem !important;
  }
  .u-mb-35-sp {
    margin-bottom: 2.1875rem !important;
  }
  .u-mb-40-sp {
    margin-bottom: 2.5rem !important;
  }
  .u-mb-45-sp {
    margin-bottom: 2.8125rem !important;
  }
  .u-mb-50-sp {
    margin-bottom: 3.125rem !important;
  }
  .u-mb-55-sp {
    margin-bottom: 3.4375rem !important;
  }
  .u-mb-60-sp {
    margin-bottom: 3.75rem !important;
  }
  .u-mb-65-sp {
    margin-bottom: 4.0625rem !important;
  }
  .u-mb-70-sp {
    margin-bottom: 4.375rem !important;
  }
  .u-mb-75-sp {
    margin-bottom: 4.6875rem !important;
  }
  .u-mb-80-sp {
    margin-bottom: 5rem !important;
  }
  .u-mb-85-sp {
    margin-bottom: 5.3125rem !important;
  }
  .u-mb-90-sp {
    margin-bottom: 5.625rem !important;
  }
  .u-mb-95-sp {
    margin-bottom: 5.9375rem !important;
  }
  .u-mb-100-sp {
    margin-bottom: 6.25rem !important;
  }
  .u-mb-105-sp {
    margin-bottom: 6.5625rem !important;
  }
  .u-mb-110-sp {
    margin-bottom: 6.875rem !important;
  }
  .u-mb-115-sp {
    margin-bottom: 7.1875rem !important;
  }
  .u-mb-120-sp {
    margin-bottom: 7.5rem !important;
  }
  .u-mb-125-sp {
    margin-bottom: 7.8125rem !important;
  }
  .u-mb-130-sp {
    margin-bottom: 8.125rem !important;
  }
  .u-mb-135-sp {
    margin-bottom: 8.4375rem !important;
  }
  .u-mb-140-sp {
    margin-bottom: 8.75rem !important;
  }
  .u-mb-145-sp {
    margin-bottom: 9.0625rem !important;
  }
  .u-mb-150-sp {
    margin-bottom: 9.375rem !important;
  }
  .u-mb-155-sp {
    margin-bottom: 9.6875rem !important;
  }
  .u-mb-160-sp {
    margin-bottom: 10rem !important;
  }
  .u-mb-165-sp {
    margin-bottom: 10.3125rem !important;
  }
  .u-mb-170-sp {
    margin-bottom: 10.625rem !important;
  }
  .u-mb-175-sp {
    margin-bottom: 10.9375rem !important;
  }
  .u-mb-180-sp {
    margin-bottom: 11.25rem !important;
  }
  .u-mb-185-sp {
    margin-bottom: 11.5625rem !important;
  }
  .u-mb-190-sp {
    margin-bottom: 11.875rem !important;
  }
  .u-mb-195-sp {
    margin-bottom: 12.1875rem !important;
  }
  .u-mb-200-sp {
    margin-bottom: 12.5rem !important;
  }
  .u-mb-205-sp {
    margin-bottom: 12.8125rem !important;
  }
  .u-mb-210-sp {
    margin-bottom: 13.125rem !important;
  }
  .u-mb-215-sp {
    margin-bottom: 13.4375rem !important;
  }
  .u-mb-220-sp {
    margin-bottom: 13.75rem !important;
  }
  .u-mb-225-sp {
    margin-bottom: 14.0625rem !important;
  }
  .u-mb-230-sp {
    margin-bottom: 14.375rem !important;
  }
  .u-mb-235-sp {
    margin-bottom: 14.6875rem !important;
  }
  .u-mb-240-sp {
    margin-bottom: 15rem !important;
  }
  .u-mb-245-sp {
    margin-bottom: 15.3125rem !important;
  }
  .u-mb-250-sp {
    margin-bottom: 15.625rem !important;
  }
  .u-mb-255-sp {
    margin-bottom: 15.9375rem !important;
  }
  .u-mb-260-sp {
    margin-bottom: 16.25rem !important;
  }
  .u-mb-265-sp {
    margin-bottom: 16.5625rem !important;
  }
  .u-mb-270-sp {
    margin-bottom: 16.875rem !important;
  }
  .u-mb-275-sp {
    margin-bottom: 17.1875rem !important;
  }
  .u-mb-280-sp {
    margin-bottom: 17.5rem !important;
  }
  .u-mb-285-sp {
    margin-bottom: 17.8125rem !important;
  }
  .u-mb-290-sp {
    margin-bottom: 18.125rem !important;
  }
  .u-mb-295-sp {
    margin-bottom: 18.4375rem !important;
  }
  .u-mb-300-sp {
    margin-bottom: 18.75rem !important;
  }
  .u-mb-305-sp {
    margin-bottom: 19.0625rem !important;
  }
  .u-mb-310-sp {
    margin-bottom: 19.375rem !important;
  }
  .u-mb-315-sp {
    margin-bottom: 19.6875rem !important;
  }
  .u-mb-320-sp {
    margin-bottom: 20rem !important;
  }
  .u-mb-325-sp {
    margin-bottom: 20.3125rem !important;
  }
  .u-mb-330-sp {
    margin-bottom: 20.625rem !important;
  }
  .u-mb-335-sp {
    margin-bottom: 20.9375rem !important;
  }
  .u-mb-340-sp {
    margin-bottom: 21.25rem !important;
  }
  .u-mb-345-sp {
    margin-bottom: 21.5625rem !important;
  }
  .u-mb-350-sp {
    margin-bottom: 21.875rem !important;
  }
  .u-mb-355-sp {
    margin-bottom: 22.1875rem !important;
  }
  .u-mb-360-sp {
    margin-bottom: 22.5rem !important;
  }
  .u-mb-365-sp {
    margin-bottom: 22.8125rem !important;
  }
  .u-mb-370-sp {
    margin-bottom: 23.125rem !important;
  }
  .u-mb-375-sp {
    margin-bottom: 23.4375rem !important;
  }
  .u-mb-380-sp {
    margin-bottom: 23.75rem !important;
  }
  .u-mb-385-sp {
    margin-bottom: 24.0625rem !important;
  }
  .u-mb-390-sp {
    margin-bottom: 24.375rem !important;
  }
  .u-mb-395-sp {
    margin-bottom: 24.6875rem !important;
  }
  .u-mb-400-sp {
    margin-bottom: 25rem !important;
  }
  .u-my-0-sp {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
  .u-my-5-sp {
    margin-top: 0.3125rem !important;
    margin-bottom: 0.3125rem !important;
  }
  .u-my-10-sp {
    margin-top: 0.625rem !important;
    margin-bottom: 0.625rem !important;
  }
  .u-my-15-sp {
    margin-top: 0.9375rem !important;
    margin-bottom: 0.9375rem !important;
  }
  .u-my-20-sp {
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
  }
  .u-my-25-sp {
    margin-top: 1.5625rem !important;
    margin-bottom: 1.5625rem !important;
  }
  .u-my-30-sp {
    margin-top: 1.875rem !important;
    margin-bottom: 1.875rem !important;
  }
  .u-my-35-sp {
    margin-top: 2.1875rem !important;
    margin-bottom: 2.1875rem !important;
  }
  .u-my-40-sp {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  .u-my-45-sp {
    margin-top: 2.8125rem !important;
    margin-bottom: 2.8125rem !important;
  }
  .u-my-50-sp {
    margin-top: 3.125rem !important;
    margin-bottom: 3.125rem !important;
  }
  .u-my-55-sp {
    margin-top: 3.4375rem !important;
    margin-bottom: 3.4375rem !important;
  }
  .u-my-60-sp {
    margin-top: 3.75rem !important;
    margin-bottom: 3.75rem !important;
  }
  .u-my-65-sp {
    margin-top: 4.0625rem !important;
    margin-bottom: 4.0625rem !important;
  }
  .u-my-70-sp {
    margin-top: 4.375rem !important;
    margin-bottom: 4.375rem !important;
  }
  .u-my-75-sp {
    margin-top: 4.6875rem !important;
    margin-bottom: 4.6875rem !important;
  }
  .u-my-80-sp {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .u-my-85-sp {
    margin-top: 5.3125rem !important;
    margin-bottom: 5.3125rem !important;
  }
  .u-my-90-sp {
    margin-top: 5.625rem !important;
    margin-bottom: 5.625rem !important;
  }
  .u-my-95-sp {
    margin-top: 5.9375rem !important;
    margin-bottom: 5.9375rem !important;
  }
  .u-my-100-sp {
    margin-top: 6.25rem !important;
    margin-bottom: 6.25rem !important;
  }
  .u-my-105-sp {
    margin-top: 6.5625rem !important;
    margin-bottom: 6.5625rem !important;
  }
  .u-my-110-sp {
    margin-top: 6.875rem !important;
    margin-bottom: 6.875rem !important;
  }
  .u-my-115-sp {
    margin-top: 7.1875rem !important;
    margin-bottom: 7.1875rem !important;
  }
  .u-my-120-sp {
    margin-top: 7.5rem !important;
    margin-bottom: 7.5rem !important;
  }
  .u-my-125-sp {
    margin-top: 7.8125rem !important;
    margin-bottom: 7.8125rem !important;
  }
  .u-my-130-sp {
    margin-top: 8.125rem !important;
    margin-bottom: 8.125rem !important;
  }
  .u-my-135-sp {
    margin-top: 8.4375rem !important;
    margin-bottom: 8.4375rem !important;
  }
  .u-my-140-sp {
    margin-top: 8.75rem !important;
    margin-bottom: 8.75rem !important;
  }
  .u-my-145-sp {
    margin-top: 9.0625rem !important;
    margin-bottom: 9.0625rem !important;
  }
  .u-my-150-sp {
    margin-top: 9.375rem !important;
    margin-bottom: 9.375rem !important;
  }
  .u-my-155-sp {
    margin-top: 9.6875rem !important;
    margin-bottom: 9.6875rem !important;
  }
  .u-my-160-sp {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .u-my-165-sp {
    margin-top: 10.3125rem !important;
    margin-bottom: 10.3125rem !important;
  }
  .u-my-170-sp {
    margin-top: 10.625rem !important;
    margin-bottom: 10.625rem !important;
  }
  .u-my-175-sp {
    margin-top: 10.9375rem !important;
    margin-bottom: 10.9375rem !important;
  }
  .u-my-180-sp {
    margin-top: 11.25rem !important;
    margin-bottom: 11.25rem !important;
  }
  .u-my-185-sp {
    margin-top: 11.5625rem !important;
    margin-bottom: 11.5625rem !important;
  }
  .u-my-190-sp {
    margin-top: 11.875rem !important;
    margin-bottom: 11.875rem !important;
  }
  .u-my-195-sp {
    margin-top: 12.1875rem !important;
    margin-bottom: 12.1875rem !important;
  }
  .u-my-200-sp {
    margin-top: 12.5rem !important;
    margin-bottom: 12.5rem !important;
  }
  .u-my-205-sp {
    margin-top: 12.8125rem !important;
    margin-bottom: 12.8125rem !important;
  }
  .u-my-210-sp {
    margin-top: 13.125rem !important;
    margin-bottom: 13.125rem !important;
  }
  .u-my-215-sp {
    margin-top: 13.4375rem !important;
    margin-bottom: 13.4375rem !important;
  }
  .u-my-220-sp {
    margin-top: 13.75rem !important;
    margin-bottom: 13.75rem !important;
  }
  .u-my-225-sp {
    margin-top: 14.0625rem !important;
    margin-bottom: 14.0625rem !important;
  }
  .u-my-230-sp {
    margin-top: 14.375rem !important;
    margin-bottom: 14.375rem !important;
  }
  .u-my-235-sp {
    margin-top: 14.6875rem !important;
    margin-bottom: 14.6875rem !important;
  }
  .u-my-240-sp {
    margin-top: 15rem !important;
    margin-bottom: 15rem !important;
  }
  .u-my-245-sp {
    margin-top: 15.3125rem !important;
    margin-bottom: 15.3125rem !important;
  }
  .u-my-250-sp {
    margin-top: 15.625rem !important;
    margin-bottom: 15.625rem !important;
  }
  .u-my-255-sp {
    margin-top: 15.9375rem !important;
    margin-bottom: 15.9375rem !important;
  }
  .u-my-260-sp {
    margin-top: 16.25rem !important;
    margin-bottom: 16.25rem !important;
  }
  .u-my-265-sp {
    margin-top: 16.5625rem !important;
    margin-bottom: 16.5625rem !important;
  }
  .u-my-270-sp {
    margin-top: 16.875rem !important;
    margin-bottom: 16.875rem !important;
  }
  .u-my-275-sp {
    margin-top: 17.1875rem !important;
    margin-bottom: 17.1875rem !important;
  }
  .u-my-280-sp {
    margin-top: 17.5rem !important;
    margin-bottom: 17.5rem !important;
  }
  .u-my-285-sp {
    margin-top: 17.8125rem !important;
    margin-bottom: 17.8125rem !important;
  }
  .u-my-290-sp {
    margin-top: 18.125rem !important;
    margin-bottom: 18.125rem !important;
  }
  .u-my-295-sp {
    margin-top: 18.4375rem !important;
    margin-bottom: 18.4375rem !important;
  }
  .u-my-300-sp {
    margin-top: 18.75rem !important;
    margin-bottom: 18.75rem !important;
  }
  .u-my-305-sp {
    margin-top: 19.0625rem !important;
    margin-bottom: 19.0625rem !important;
  }
  .u-my-310-sp {
    margin-top: 19.375rem !important;
    margin-bottom: 19.375rem !important;
  }
  .u-my-315-sp {
    margin-top: 19.6875rem !important;
    margin-bottom: 19.6875rem !important;
  }
  .u-my-320-sp {
    margin-top: 20rem !important;
    margin-bottom: 20rem !important;
  }
  .u-my-325-sp {
    margin-top: 20.3125rem !important;
    margin-bottom: 20.3125rem !important;
  }
  .u-my-330-sp {
    margin-top: 20.625rem !important;
    margin-bottom: 20.625rem !important;
  }
  .u-my-335-sp {
    margin-top: 20.9375rem !important;
    margin-bottom: 20.9375rem !important;
  }
  .u-my-340-sp {
    margin-top: 21.25rem !important;
    margin-bottom: 21.25rem !important;
  }
  .u-my-345-sp {
    margin-top: 21.5625rem !important;
    margin-bottom: 21.5625rem !important;
  }
  .u-my-350-sp {
    margin-top: 21.875rem !important;
    margin-bottom: 21.875rem !important;
  }
  .u-my-355-sp {
    margin-top: 22.1875rem !important;
    margin-bottom: 22.1875rem !important;
  }
  .u-my-360-sp {
    margin-top: 22.5rem !important;
    margin-bottom: 22.5rem !important;
  }
  .u-my-365-sp {
    margin-top: 22.8125rem !important;
    margin-bottom: 22.8125rem !important;
  }
  .u-my-370-sp {
    margin-top: 23.125rem !important;
    margin-bottom: 23.125rem !important;
  }
  .u-my-375-sp {
    margin-top: 23.4375rem !important;
    margin-bottom: 23.4375rem !important;
  }
  .u-my-380-sp {
    margin-top: 23.75rem !important;
    margin-bottom: 23.75rem !important;
  }
  .u-my-385-sp {
    margin-top: 24.0625rem !important;
    margin-bottom: 24.0625rem !important;
  }
  .u-my-390-sp {
    margin-top: 24.375rem !important;
    margin-bottom: 24.375rem !important;
  }
  .u-my-395-sp {
    margin-top: 24.6875rem !important;
    margin-bottom: 24.6875rem !important;
  }
  .u-my-400-sp {
    margin-top: 25rem !important;
    margin-bottom: 25rem !important;
  }
  /* ネガティブ余白クラス（SP） */
  .u-mt-n-5-sp {
    margin-top: -0.3125rem !important;
  }
  .u-mt-n-10-sp {
    margin-top: -0.625rem !important;
  }
  .u-mt-n-15-sp {
    margin-top: -0.9375rem !important;
  }
  .u-mt-n-20-sp {
    margin-top: -1.25rem !important;
  }
  .u-mt-n-25-sp {
    margin-top: -1.5625rem !important;
  }
  .u-mt-n-30-sp {
    margin-top: -1.875rem !important;
  }
  .u-mt-n-35-sp {
    margin-top: -2.1875rem !important;
  }
  .u-mt-n-40-sp {
    margin-top: -2.5rem !important;
  }
  .u-mt-n-45-sp {
    margin-top: -2.8125rem !important;
  }
  .u-mt-n-50-sp {
    margin-top: -3.125rem !important;
  }
  .u-mt-n-55-sp {
    margin-top: -3.4375rem !important;
  }
  .u-mt-n-60-sp {
    margin-top: -3.75rem !important;
  }
  .u-mt-n-65-sp {
    margin-top: -4.0625rem !important;
  }
  .u-mt-n-70-sp {
    margin-top: -4.375rem !important;
  }
  .u-mt-n-75-sp {
    margin-top: -4.6875rem !important;
  }
  .u-mt-n-80-sp {
    margin-top: -5rem !important;
  }
  .u-mt-n-85-sp {
    margin-top: -5.3125rem !important;
  }
  .u-mt-n-90-sp {
    margin-top: -5.625rem !important;
  }
  .u-mt-n-95-sp {
    margin-top: -5.9375rem !important;
  }
  .u-mt-n-100-sp {
    margin-top: -6.25rem !important;
  }
  .u-mt-n-105-sp {
    margin-top: -6.5625rem !important;
  }
  .u-mt-n-110-sp {
    margin-top: -6.875rem !important;
  }
  .u-mt-n-115-sp {
    margin-top: -7.1875rem !important;
  }
  .u-mt-n-120-sp {
    margin-top: -7.5rem !important;
  }
  .u-mt-n-125-sp {
    margin-top: -7.8125rem !important;
  }
  .u-mt-n-130-sp {
    margin-top: -8.125rem !important;
  }
  .u-mt-n-135-sp {
    margin-top: -8.4375rem !important;
  }
  .u-mt-n-140-sp {
    margin-top: -8.75rem !important;
  }
  .u-mt-n-145-sp {
    margin-top: -9.0625rem !important;
  }
  .u-mt-n-150-sp {
    margin-top: -9.375rem !important;
  }
  .u-mt-n-155-sp {
    margin-top: -9.6875rem !important;
  }
  .u-mt-n-160-sp {
    margin-top: -10rem !important;
  }
  .u-mt-n-165-sp {
    margin-top: -10.3125rem !important;
  }
  .u-mt-n-170-sp {
    margin-top: -10.625rem !important;
  }
  .u-mt-n-175-sp {
    margin-top: -10.9375rem !important;
  }
  .u-mt-n-180-sp {
    margin-top: -11.25rem !important;
  }
  .u-mt-n-185-sp {
    margin-top: -11.5625rem !important;
  }
  .u-mt-n-190-sp {
    margin-top: -11.875rem !important;
  }
  .u-mt-n-195-sp {
    margin-top: -12.1875rem !important;
  }
  .u-mt-n-200-sp {
    margin-top: -12.5rem !important;
  }
  .u-mt-n-205-sp {
    margin-top: -12.8125rem !important;
  }
  .u-mt-n-210-sp {
    margin-top: -13.125rem !important;
  }
  .u-mt-n-215-sp {
    margin-top: -13.4375rem !important;
  }
  .u-mt-n-220-sp {
    margin-top: -13.75rem !important;
  }
  .u-mt-n-225-sp {
    margin-top: -14.0625rem !important;
  }
  .u-mt-n-230-sp {
    margin-top: -14.375rem !important;
  }
  .u-mt-n-235-sp {
    margin-top: -14.6875rem !important;
  }
  .u-mt-n-240-sp {
    margin-top: -15rem !important;
  }
  .u-mt-n-245-sp {
    margin-top: -15.3125rem !important;
  }
  .u-mt-n-250-sp {
    margin-top: -15.625rem !important;
  }
  .u-mt-n-255-sp {
    margin-top: -15.9375rem !important;
  }
  .u-mt-n-260-sp {
    margin-top: -16.25rem !important;
  }
  .u-mt-n-265-sp {
    margin-top: -16.5625rem !important;
  }
  .u-mt-n-270-sp {
    margin-top: -16.875rem !important;
  }
  .u-mt-n-275-sp {
    margin-top: -17.1875rem !important;
  }
  .u-mt-n-280-sp {
    margin-top: -17.5rem !important;
  }
  .u-mt-n-285-sp {
    margin-top: -17.8125rem !important;
  }
  .u-mt-n-290-sp {
    margin-top: -18.125rem !important;
  }
  .u-mt-n-295-sp {
    margin-top: -18.4375rem !important;
  }
  .u-mt-n-300-sp {
    margin-top: -18.75rem !important;
  }
  .u-mt-n-305-sp {
    margin-top: -19.0625rem !important;
  }
  .u-mt-n-310-sp {
    margin-top: -19.375rem !important;
  }
  .u-mt-n-315-sp {
    margin-top: -19.6875rem !important;
  }
  .u-mt-n-320-sp {
    margin-top: -20rem !important;
  }
  .u-mt-n-325-sp {
    margin-top: -20.3125rem !important;
  }
  .u-mt-n-330-sp {
    margin-top: -20.625rem !important;
  }
  .u-mt-n-335-sp {
    margin-top: -20.9375rem !important;
  }
  .u-mt-n-340-sp {
    margin-top: -21.25rem !important;
  }
  .u-mt-n-345-sp {
    margin-top: -21.5625rem !important;
  }
  .u-mt-n-350-sp {
    margin-top: -21.875rem !important;
  }
  .u-mt-n-355-sp {
    margin-top: -22.1875rem !important;
  }
  .u-mt-n-360-sp {
    margin-top: -22.5rem !important;
  }
  .u-mt-n-365-sp {
    margin-top: -22.8125rem !important;
  }
  .u-mt-n-370-sp {
    margin-top: -23.125rem !important;
  }
  .u-mt-n-375-sp {
    margin-top: -23.4375rem !important;
  }
  .u-mt-n-380-sp {
    margin-top: -23.75rem !important;
  }
  .u-mt-n-385-sp {
    margin-top: -24.0625rem !important;
  }
  .u-mt-n-390-sp {
    margin-top: -24.375rem !important;
  }
  .u-mt-n-395-sp {
    margin-top: -24.6875rem !important;
  }
  .u-mt-n-400-sp {
    margin-top: -25rem !important;
  }
  .u-mb-n-5-sp {
    margin-bottom: -0.3125rem !important;
  }
  .u-mb-n-10-sp {
    margin-bottom: -0.625rem !important;
  }
  .u-mb-n-15-sp {
    margin-bottom: -0.9375rem !important;
  }
  .u-mb-n-20-sp {
    margin-bottom: -1.25rem !important;
  }
  .u-mb-n-25-sp {
    margin-bottom: -1.5625rem !important;
  }
  .u-mb-n-30-sp {
    margin-bottom: -1.875rem !important;
  }
  .u-mb-n-35-sp {
    margin-bottom: -2.1875rem !important;
  }
  .u-mb-n-40-sp {
    margin-bottom: -2.5rem !important;
  }
  .u-mb-n-45-sp {
    margin-bottom: -2.8125rem !important;
  }
  .u-mb-n-50-sp {
    margin-bottom: -3.125rem !important;
  }
  .u-mb-n-55-sp {
    margin-bottom: -3.4375rem !important;
  }
  .u-mb-n-60-sp {
    margin-bottom: -3.75rem !important;
  }
  .u-mb-n-65-sp {
    margin-bottom: -4.0625rem !important;
  }
  .u-mb-n-70-sp {
    margin-bottom: -4.375rem !important;
  }
  .u-mb-n-75-sp {
    margin-bottom: -4.6875rem !important;
  }
  .u-mb-n-80-sp {
    margin-bottom: -5rem !important;
  }
  .u-mb-n-85-sp {
    margin-bottom: -5.3125rem !important;
  }
  .u-mb-n-90-sp {
    margin-bottom: -5.625rem !important;
  }
  .u-mb-n-95-sp {
    margin-bottom: -5.9375rem !important;
  }
  .u-mb-n-100-sp {
    margin-bottom: -6.25rem !important;
  }
  .u-mb-n-105-sp {
    margin-bottom: -6.5625rem !important;
  }
  .u-mb-n-110-sp {
    margin-bottom: -6.875rem !important;
  }
  .u-mb-n-115-sp {
    margin-bottom: -7.1875rem !important;
  }
  .u-mb-n-120-sp {
    margin-bottom: -7.5rem !important;
  }
  .u-mb-n-125-sp {
    margin-bottom: -7.8125rem !important;
  }
  .u-mb-n-130-sp {
    margin-bottom: -8.125rem !important;
  }
  .u-mb-n-135-sp {
    margin-bottom: -8.4375rem !important;
  }
  .u-mb-n-140-sp {
    margin-bottom: -8.75rem !important;
  }
  .u-mb-n-145-sp {
    margin-bottom: -9.0625rem !important;
  }
  .u-mb-n-150-sp {
    margin-bottom: -9.375rem !important;
  }
  .u-mb-n-155-sp {
    margin-bottom: -9.6875rem !important;
  }
  .u-mb-n-160-sp {
    margin-bottom: -10rem !important;
  }
  .u-mb-n-165-sp {
    margin-bottom: -10.3125rem !important;
  }
  .u-mb-n-170-sp {
    margin-bottom: -10.625rem !important;
  }
  .u-mb-n-175-sp {
    margin-bottom: -10.9375rem !important;
  }
  .u-mb-n-180-sp {
    margin-bottom: -11.25rem !important;
  }
  .u-mb-n-185-sp {
    margin-bottom: -11.5625rem !important;
  }
  .u-mb-n-190-sp {
    margin-bottom: -11.875rem !important;
  }
  .u-mb-n-195-sp {
    margin-bottom: -12.1875rem !important;
  }
  .u-mb-n-200-sp {
    margin-bottom: -12.5rem !important;
  }
  .u-mb-n-205-sp {
    margin-bottom: -12.8125rem !important;
  }
  .u-mb-n-210-sp {
    margin-bottom: -13.125rem !important;
  }
  .u-mb-n-215-sp {
    margin-bottom: -13.4375rem !important;
  }
  .u-mb-n-220-sp {
    margin-bottom: -13.75rem !important;
  }
  .u-mb-n-225-sp {
    margin-bottom: -14.0625rem !important;
  }
  .u-mb-n-230-sp {
    margin-bottom: -14.375rem !important;
  }
  .u-mb-n-235-sp {
    margin-bottom: -14.6875rem !important;
  }
  .u-mb-n-240-sp {
    margin-bottom: -15rem !important;
  }
  .u-mb-n-245-sp {
    margin-bottom: -15.3125rem !important;
  }
  .u-mb-n-250-sp {
    margin-bottom: -15.625rem !important;
  }
  .u-mb-n-255-sp {
    margin-bottom: -15.9375rem !important;
  }
  .u-mb-n-260-sp {
    margin-bottom: -16.25rem !important;
  }
  .u-mb-n-265-sp {
    margin-bottom: -16.5625rem !important;
  }
  .u-mb-n-270-sp {
    margin-bottom: -16.875rem !important;
  }
  .u-mb-n-275-sp {
    margin-bottom: -17.1875rem !important;
  }
  .u-mb-n-280-sp {
    margin-bottom: -17.5rem !important;
  }
  .u-mb-n-285-sp {
    margin-bottom: -17.8125rem !important;
  }
  .u-mb-n-290-sp {
    margin-bottom: -18.125rem !important;
  }
  .u-mb-n-295-sp {
    margin-bottom: -18.4375rem !important;
  }
  .u-mb-n-300-sp {
    margin-bottom: -18.75rem !important;
  }
  .u-mb-n-305-sp {
    margin-bottom: -19.0625rem !important;
  }
  .u-mb-n-310-sp {
    margin-bottom: -19.375rem !important;
  }
  .u-mb-n-315-sp {
    margin-bottom: -19.6875rem !important;
  }
  .u-mb-n-320-sp {
    margin-bottom: -20rem !important;
  }
  .u-mb-n-325-sp {
    margin-bottom: -20.3125rem !important;
  }
  .u-mb-n-330-sp {
    margin-bottom: -20.625rem !important;
  }
  .u-mb-n-335-sp {
    margin-bottom: -20.9375rem !important;
  }
  .u-mb-n-340-sp {
    margin-bottom: -21.25rem !important;
  }
  .u-mb-n-345-sp {
    margin-bottom: -21.5625rem !important;
  }
  .u-mb-n-350-sp {
    margin-bottom: -21.875rem !important;
  }
  .u-mb-n-355-sp {
    margin-bottom: -22.1875rem !important;
  }
  .u-mb-n-360-sp {
    margin-bottom: -22.5rem !important;
  }
  .u-mb-n-365-sp {
    margin-bottom: -22.8125rem !important;
  }
  .u-mb-n-370-sp {
    margin-bottom: -23.125rem !important;
  }
  .u-mb-n-375-sp {
    margin-bottom: -23.4375rem !important;
  }
  .u-mb-n-380-sp {
    margin-bottom: -23.75rem !important;
  }
  .u-mb-n-385-sp {
    margin-bottom: -24.0625rem !important;
  }
  .u-mb-n-390-sp {
    margin-bottom: -24.375rem !important;
  }
  .u-mb-n-395-sp {
    margin-bottom: -24.6875rem !important;
  }
  .u-mb-n-400-sp {
    margin-bottom: -25rem !important;
  }
}
/*---------------------------------------------------------------------------
フォントサイズ
---------------------------------------------------------------------------*/
.u-fs-0 {
  font-size: 0rem;
}

.u-fs-2 {
  font-size: 0.125rem;
}

.u-fs-4 {
  font-size: 0.25rem;
}

.u-fs-6 {
  font-size: 0.375rem;
}

.u-fs-8 {
  font-size: 0.5rem;
}

.u-fs-10 {
  font-size: 0.625rem;
}

.u-fs-12 {
  font-size: 0.75rem;
}

.u-fs-14 {
  font-size: 0.875rem;
}

.u-fs-16 {
  font-size: 1rem;
}

.u-fs-18 {
  font-size: 1.125rem;
}

.u-fs-20 {
  font-size: 1.25rem;
}

.u-fs-22 {
  font-size: 1.375rem;
}

.u-fs-24 {
  font-size: 1.5rem;
}

.u-fs-26 {
  font-size: 1.625rem;
}

.u-fs-28 {
  font-size: 1.75rem;
}

.u-fs-30 {
  font-size: 1.875rem;
}

.u-fs-32 {
  font-size: 2rem;
}

.u-fs-34 {
  font-size: 2.125rem;
}

.u-fs-36 {
  font-size: 2.25rem;
}

.u-fs-38 {
  font-size: 2.375rem;
}

.u-fs-40 {
  font-size: 2.5rem;
}

.u-fs-42 {
  font-size: 2.625rem;
}

.u-fs-44 {
  font-size: 2.75rem;
}

.u-fs-46 {
  font-size: 2.875rem;
}

.u-fs-48 {
  font-size: 3rem;
}

.u-fs-50 {
  font-size: 3.125rem;
}

.u-fs-52 {
  font-size: 3.25rem;
}

.u-fs-54 {
  font-size: 3.375rem;
}

.u-fs-56 {
  font-size: 3.5rem;
}

.u-fs-58 {
  font-size: 3.625rem;
}

.u-fs-60 {
  font-size: 3.75rem;
}

.u-fs-62 {
  font-size: 3.875rem;
}

.u-fs-64 {
  font-size: 4rem;
}

.u-fs-66 {
  font-size: 4.125rem;
}

.u-fs-68 {
  font-size: 4.25rem;
}

.u-fs-70 {
  font-size: 4.375rem;
}

.u-fs-72 {
  font-size: 4.5rem;
}

.u-fs-74 {
  font-size: 4.625rem;
}

.u-fs-76 {
  font-size: 4.75rem;
}

.u-fs-78 {
  font-size: 4.875rem;
}

.u-fs-80 {
  font-size: 5rem;
}

@media only screen and (max-width: 767.98px) {
  .u-fs-0-sp {
    font-size: calc(0 * var(--ratio) * var(--unit));
  }
  .u-fs-2-sp {
    font-size: calc(2 * var(--ratio) * var(--unit));
  }
  .u-fs-4-sp {
    font-size: calc(4 * var(--ratio) * var(--unit));
  }
  .u-fs-6-sp {
    font-size: calc(6 * var(--ratio) * var(--unit));
  }
  .u-fs-8-sp {
    font-size: calc(8 * var(--ratio) * var(--unit));
  }
  .u-fs-10-sp {
    font-size: calc(10 * var(--ratio) * var(--unit));
  }
  .u-fs-12-sp {
    font-size: calc(12 * var(--ratio) * var(--unit));
  }
  .u-fs-14-sp {
    font-size: calc(14 * var(--ratio) * var(--unit));
  }
  .u-fs-16-sp {
    font-size: calc(16 * var(--ratio) * var(--unit));
  }
  .u-fs-18-sp {
    font-size: calc(18 * var(--ratio) * var(--unit));
  }
  .u-fs-20-sp {
    font-size: calc(20 * var(--ratio) * var(--unit));
  }
  .u-fs-22-sp {
    font-size: calc(22 * var(--ratio) * var(--unit));
  }
  .u-fs-24-sp {
    font-size: calc(24 * var(--ratio) * var(--unit));
  }
  .u-fs-26-sp {
    font-size: calc(26 * var(--ratio) * var(--unit));
  }
  .u-fs-28-sp {
    font-size: calc(28 * var(--ratio) * var(--unit));
  }
  .u-fs-30-sp {
    font-size: calc(30 * var(--ratio) * var(--unit));
  }
  .u-fs-32-sp {
    font-size: calc(32 * var(--ratio) * var(--unit));
  }
  .u-fs-34-sp {
    font-size: calc(34 * var(--ratio) * var(--unit));
  }
  .u-fs-36-sp {
    font-size: calc(36 * var(--ratio) * var(--unit));
  }
  .u-fs-38-sp {
    font-size: calc(38 * var(--ratio) * var(--unit));
  }
  .u-fs-40-sp {
    font-size: calc(40 * var(--ratio) * var(--unit));
  }
  .u-fs-42-sp {
    font-size: calc(42 * var(--ratio) * var(--unit));
  }
  .u-fs-44-sp {
    font-size: calc(44 * var(--ratio) * var(--unit));
  }
  .u-fs-46-sp {
    font-size: calc(46 * var(--ratio) * var(--unit));
  }
  .u-fs-48-sp {
    font-size: calc(48 * var(--ratio) * var(--unit));
  }
  .u-fs-50-sp {
    font-size: calc(50 * var(--ratio) * var(--unit));
  }
  .u-fs-52-sp {
    font-size: calc(52 * var(--ratio) * var(--unit));
  }
  .u-fs-54-sp {
    font-size: calc(54 * var(--ratio) * var(--unit));
  }
  .u-fs-56-sp {
    font-size: calc(56 * var(--ratio) * var(--unit));
  }
  .u-fs-58-sp {
    font-size: calc(58 * var(--ratio) * var(--unit));
  }
  .u-fs-60-sp {
    font-size: calc(60 * var(--ratio) * var(--unit));
  }
  .u-fs-62-sp {
    font-size: calc(62 * var(--ratio) * var(--unit));
  }
  .u-fs-64-sp {
    font-size: calc(64 * var(--ratio) * var(--unit));
  }
  .u-fs-66-sp {
    font-size: calc(66 * var(--ratio) * var(--unit));
  }
  .u-fs-68-sp {
    font-size: calc(68 * var(--ratio) * var(--unit));
  }
  .u-fs-70-sp {
    font-size: calc(70 * var(--ratio) * var(--unit));
  }
  .u-fs-72-sp {
    font-size: calc(72 * var(--ratio) * var(--unit));
  }
  .u-fs-74-sp {
    font-size: calc(74 * var(--ratio) * var(--unit));
  }
  .u-fs-76-sp {
    font-size: calc(76 * var(--ratio) * var(--unit));
  }
  .u-fs-78-sp {
    font-size: calc(78 * var(--ratio) * var(--unit));
  }
  .u-fs-80-sp {
    font-size: calc(80 * var(--ratio) * var(--unit));
  }
}
/*---------------------------------------------------------------------------
行間
---------------------------------------------------------------------------*/
.u-lh-1 {
  line-height: 1;
}

.u-lh-1_2 {
  line-height: 1.2;
}

.u-lh-1_4 {
  line-height: 1.4;
}

.u-lh-1_8 {
  line-height: 1.8;
}

.u-lh-2 {
  line-height: 2;
}

.u-lh-2_2 {
  line-height: 2.2;
}

.u-lh-2_4 {
  line-height: 2.4;
}

/*---------------------------------------------------------------------------
センター揃え
---------------------------------------------------------------------------*/
[class^=u-wrap] {
  margin-left: auto;
  margin-right: auto;
  padding-right: 2.5rem;
  padding-left: 2.5rem;
  box-sizing: content-box;
}

.u-wrap-760 {
  max-width: 760px;
}

.u-wrap-960 {
  max-width: 960px;
}

.u-wrap-980 {
  max-width: 980px;
}

.u-wrap-1000 {
  max-width: 1000px;
}

.u-wrap-1080 {
  max-width: 1080px;
}

.u-wrap-1200 {
  max-width: 1200px;
}

.u-wrap-1240 {
  max-width: 1240px;
}

@media only screen and (max-width: 767.98px) {
  [class^=u-wrap] {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
}
/*---------------------------------------------------------------------------
文字構え
---------------------------------------------------------------------------*/
.u-center {
  text-align: center !important;
}

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

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

.u-indent {
  text-indent: -1em;
  margin-left: 1em;
}

@media only screen and (max-width: 767.98px) {
  .u-center-sp {
    text-align: center !important;
  }
  .u-right-sp {
    text-align: right !important;
  }
  .u-left-sp {
    text-align: left !important;
  }
}
.u-indent-witdhIcon {
  position: relative;
  padding-left: 1em;
}
.u-indent-witdhIcon::before {
  content: attr(data-icon);
  left: 0;
  position: absolute;
}

.u-indent_15-witdhIcon {
  position: relative;
  padding-left: 1.5em;
}
.u-indent_15-witdhIcon::before {
  content: attr(data-icon);
  left: 0;
  position: absolute;
}

.u-indent-list-witdhIcon > li {
  position: relative;
  padding-left: 1em;
}
.u-indent-list-witdhIcon > li::before {
  content: attr(data-icon);
  left: 0;
  position: absolute;
}

.u-indent-list_15-witdhIcon > li {
  position: relative;
  padding-left: 1.5em;
}
.u-indent-list_15-witdhIcon > li::before {
  content: attr(data-icon);
  left: 0;
  position: absolute;
}

/*---------------------------------------------------------------------------
フォント
---------------------------------------------------------------------------*/
.u-mincho {
  font-family: var(--mincho);
}

.u-gothic {
  font-family: var(--gothic-normal);
}

.u-italic {
  font-style: italic;
}

.u-bold {
  font-weight: bold !important;
}

.u-normal {
  font-weight: normal !important;
}

.u-red {
  color: red;
}

/*---------------------------------------------------------------------------
リストスタイル
---------------------------------------------------------------------------*/
.u-list-decimal {
  list-style-type: decimal;
  padding: 0 0 0 1em;
}

/*---------------------------------------------------------------------------
リンク
---------------------------------------------------------------------------*/
.u-link {
  color: var(--color-main);
  text-decoration: underline;
}
.u-link.is-hover {
  text-decoration: none;
}

/*---------------------------------------------------------------------------
グーグルマップ
---------------------------------------------------------------------------*/
.u-googlemap iframe {
  width: 100%;
}

@media only screen and (max-width: 767.98px) {
  .u-googlemap iframe {
    height: 300px;
  }
}
/*---------------------------------------------------------------------------
youtube
---------------------------------------------------------------------------*/
.u-youtube-wrap {
  position: relative;
  width: 100%;
}
.u-youtube-wrap::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.u-youtube-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  vertical-align: bottom;
}

/*---------------------------------------------------------------------------
アニメーションボーダー
---------------------------------------------------------------------------*/
@media (min-width: 768px) {
  .u-borderAnime {
    position: relative;
  }
  .u-borderAnime__inner {
    position: relative;
    z-index: 2;
    display: inline-block;
    padding: 2px 0;
    white-space: nowrap;
  }
  .u-borderAnime__inner::after {
    position: absolute;
    display: block;
    content: "";
    z-index: -1;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: #000;
    transform-origin: right bottom;
    transform: scale(0, 1);
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
  }
  .u-borderAnime.is-hover .u-borderAnime__inner::after, .u-borderAnime.is-out .u-borderAnime__inner::after {
    transform-origin: left bottom;
    transform: scale(1, 1);
  }
  .u-borderAnime.white span::after {
    background-color: #fff;
  }
}
/*---------------------------------------------------------------------------
スケルトンスクリーン
---------------------------------------------------------------------------*/
.u-skeleton {
  background: #d9d9d9;
  position: relative;
  overflow: hidden;
}
.u-skeleton::after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
  position: absolute;
  top: 0;
  left: 0;
  animation: skeleton-animation 1.2s linear infinite;
}

@keyframes skeleton-animation {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
/*---------------------------------------------------------------------------
印刷
---------------------------------------------------------------------------*/
@media print {
  @page {
    margin: 10mm;
    size: 210mm 297mm; /* A4縦サイズの場合 */
  }
  body {
    -webkit-print-color-adjust: exact;
    background-color: #fff !important;
    zoom: 0.7;
  }
}
/*アニメーション無効*/