@charset "UTF-8";
/* ///////////////////////////////////////////
  style.scss
/////////////////////////////////////////// */
/*====================================
  00_base
=====================================*/
/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@1,500&display=swap&text=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap&text=0123456789");
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap&text=裂く刺す破るガスを通す・");
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap&text=東邦樹脂工業株式会社代表取締役社長菅野文雄");
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

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

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

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

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

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

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

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/**
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    contenteditable attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that are clearfixed.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.cf:before,
.cf:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.cf:after {
  clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
  *zoom: 1;
}

/*====================================
  01_layout
=====================================*/
/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
/* ///////////////////////////////////////////
  layout.scss
  全体のレイアウトに関する記述
/////////////////////////////////////////// */
html,
body {
  overflow-x: clip;
  overflow-y: auto;
}
html:has(#drawer-menu__btn:checked),
body:has(#drawer-menu__btn:checked) {
  overflow: hidden;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 50px;
}
@media (min-width: 768px) {
  html {
    scroll-padding-top: 80px;
  }
}

@media (max-width: 767px) {
  html:has(.page--contact) .header__glonav {
    display: none;
    visibility: hidden;
  }
}

body {
  margin: 0;
  padding: 0;
  font-family:
    "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3",
    "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica",
    "Arial", sans-serif;
  font-weight: 500;
  background-color: #fff;
  color: #222222;
  font-feature-settings: "palt";
  overflow-x: hidden;
  touch-action: manipulation;
}
body:has(.contact__form__sticky) {
  overflow-y: clip;
}
@media (max-width: 767px) {
  body {
    font-size: 0.875rem;
    line-height: 1.6;
  }
}
@media (min-width: 768px) {
  body {
    font-size: 1.25rem;
    line-height: 1.8;
  }
}
body:has(.contact__form__sticky) {
  overflow: clip;
}
body.fixed {
  height: 100%;
  overflow: hidden;
}

main {
  margin: 0 auto;
}
@media (min-width: 768px) {
  main {
    padding-top: 80px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6,
table,
tr,
td,
th,
ol,
ul,
li,
dl,
dt,
dd,
p,
address {
  margin: 0;
  padding: 0;
  font-style: normal;
  font-size: 100%;
  list-style: none;
}

i,
em {
  font-style: normal;
}

img {
  border: none;
  margin: 0;
  padding: 0;
  max-width: 100%;
  height: auto;
}

figure {
  display: block;
  margin: 0;
}

a,
*:focus {
  outline: none;
  color: #222222;
  text-decoration: none;
  transition: all 0.3s ease;
}

*::selection {
  background: #222222;
  color: #fff;
}

*::-moz-selection {
  background: #222222;
  color: #fff;
}

blockquote {
  margin-inline: 1em;
}

@media (max-width: 767px) {
  .hideSP {
    display: none !important;
  }
}

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

/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
/* ///////////////////////////////////////////
  header.scss
  ヘッダーに関する設定
/////////////////////////////////////////// */
.header {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  z-index: 1000;
}
@media (max-width: 767px) {
  .header::after {
    height: 50px;
  }
}
@media (min-width: 768px) {
  .header::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    display: block;
    width: 100vw;
    height: 80px;
    background-color: #fff;
    opacity: 0.3;
    z-index: -10;
  }
}
.header .header__logo {
  position: absolute;
  left: 0;
  display: flex;
  align-items: center;
  width: auto;
  z-index: 1100;
}
@media (max-width: 767px) {
  .header .header__logo {
    top: 5px;
    padding-left: 20px;
    height: 40px;
    aspect-ratio: 290/50;
  }
}
@media (min-width: 768px) {
  .header .header__logo {
    top: 0;
    height: 80px;
    padding-left: 40px;
  }
}
.header .header__logo a {
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
}
.header .header__logo picture {
  display: contents;
}
.header .header__logo img {
  display: inline-block;
}
.header .header__container {
  position: relative;
  display: grid;
}
@media (max-width: 767px) {
  .header .header__container {
    grid-template: "pcnav btn" 50px/1fr 50px;
  }
}
@media (min-width: 768px) {
  .header .header__container {
    grid-template: "pcnav glonav btn" 80px/1fr max-content 80px;
  }
}
.header .header__pcnav {
  container-type: inline-size;
}
@media (max-width: 1024px) {
  .header .header__pcnav {
    display: none;
  }
}
@media (min-width: 1025px) {
  .header .header__pcnav {
    grid-area: pcnav;
    display: grid;
    grid-template-columns: repeat(4, minmax(auto, 72px));
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding-inline: 20px;
    font-size: 1rem;
  }
}
@media (width < 1340px) {
  .header .header__pcnav {
    display: none;
  }
}
.header .header__pcnav .header__pcnav__item {
  letter-spacing: 0.1em;
}
.header .header__pcnav .header__pcnav__item a:hover {
  color: #0044bb;
}
.header .header__glonav {
  grid-area: glonav;
  display: grid;
  grid-template-areas: "tel contact download btn";
}
@media (max-width: 767px) {
  .header .header__glonav {
    position: absolute;
    left: 50%;
    top: 100dvh;
    transform: translate(-50%, -100%);
  }
}
@media (min-width: 768px) {
  .header .header__glonav {
    font-size: 1rem;
  }
}
.header .header__glonav .header__glonav__tel {
  grid-area: tel;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
}
@media (max-width: 767px) {
  .header .header__glonav .header__glonav__tel {
    background: #fff;
  }
}
@media (min-width: 768px) {
  .header .header__glonav .header__glonav__tel {
    padding-right: 20px;
  }
}
.header .header__glonav .header__glonav__tel a {
  position: relative;
  padding: 10px;
  color: #0044bb;
  font-family:
    "Oswald", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 2.125rem;
  line-height: 1;
}
@media (max-width: 767px) {
  .header .header__glonav .header__glonav__tel a {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 33.3333333333vw;
    height: 100%;
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .header .header__glonav .header__glonav__tel a {
    padding-left: 30px;
    pointer-events: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .header .header__glonav .header__glonav__tel a {
    font-size: 1.5rem;
  }
}
.header .header__glonav .header__glonav__tel a::before {
  content: "";
  position: absolute;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 34"><path fill="%230044bb" d="M9.86,23.63l-.17-.17c-3.46-3.47-6.04-6.92-7.66-10.84C.86,9.81.19,6.77.05,3.28c0-.17-.03-.68-.05-1.23C-.03.94.86.02,1.99.02h2.06S6.98,0,6.98,0c.41,0,.79.16,1.07.41.33.26.54.66.57,1.1.13,2.04.49,4.05,1.11,6.01.25.81.56,1.6.9,2.39.34.79,0,1.7-.77,2.08l-2.45,1.22c-.07.04-.1.12-.06.19,1.36,2.64,3.13,5.07,5.28,7.23l.15.15.28.28.15.15c2.15,2.16,4.58,3.95,7.23,5.34.07.04.16,0,.19-.06l1.28-2.39c.41-.76,1.33-1.06,2.13-.72.79.35,1.58.67,2.4.93,1.97.65,4,1.04,6.07,1.21.5.04.93.3,1.2.68.2.27.31.6.3.96l-.07,2.89-.04,2.03c-.02,1.11-.98,1.98-2.1,1.92-.56-.03-1.07-.06-1.25-.07-3.77-.22-7.02-1.02-10.01-2.38-3.71-1.68-6.98-4.21-10.26-7.51l-.17-.17-.23-.23Z" /></svg>')
    center no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .header .header__glonav .header__glonav__tel a::before {
    top: 10px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 20px;
    height: 20px;
  }
}
@media (min-width: 768px) {
  .header .header__glonav .header__glonav__tel a::before {
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    width: 25px;
    height: 25px;
  }
}
@media (max-width: 767px) {
  .header .header__glonav .header__glonav__tel .open {
    display: none;
  }
}
.header .header__glonav .header__glonav__tel .date {
  border-radius: 2px;
  padding-inline: 0.25em;
  background: #efefef;
}
.header .header__glonav .header__glonav__tel .time {
  font-family:
    "Oswald", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
.header .header__glonav .header__glonav__contact {
  grid-area: contact;
}
.header .header__glonav .header__glonav__contact a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
  border: 2px solid #0044bb;
  background: #fff;
  color: #0044bb;
  word-break: keep-all;
}
@media (max-width: 767px) {
  .header .header__glonav .header__glonav__contact a {
    width: 33.3333333333vw;
    padding-top: 30px;
    font-size: 0.8125rem;
  }
}
@media (min-width: 768px) {
  .header .header__glonav .header__glonav__contact a {
    width: 160px;
    padding-top: 35px;
  }
}
.header .header__glonav .header__glonav__contact a::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translate(-50%, 0);
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 23.8"><path fill="%230044bb" d="M34,1.7v3.93l-16.57,9.55c-.26.15-.59.15-.85,0L0,5.63V1.7C0,.76.77,0,1.7,0h30.6c.93,0,1.7.76,1.7,1.7ZM17,16.99c-.44,0-.88-.11-1.27-.34L0,7.59v14.51c0,.94.77,1.7,1.7,1.7h30.6c.93,0,1.7-.76,1.7-1.7V7.59l-15.73,9.06c-.39.23-.83.34-1.27.34Z" /></svg>')
    center no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .header .header__glonav .header__glonav__contact a::before {
    width: 25px;
    height: 25px;
  }
}
@media (min-width: 768px) {
  .header .header__glonav .header__glonav__contact a::before {
    width: 35px;
    height: 35px;
  }
}
.header .header__glonav .header__glonav__contact a:hover {
  background: #d7e6ff;
}
.header .header__glonav .header__glonav__dl {
  grid-area: download;
}
.header .header__glonav .header__glonav__dl a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
  background: #0044bb;
  color: #fff;
  word-break: keep-all;
}
@media (max-width: 767px) {
  .header .header__glonav .header__glonav__dl a {
    width: 33.3333333333vw;
    padding-top: 30px;
    font-size: 0.8125rem;
  }
}
@media (min-width: 768px) {
  .header .header__glonav .header__glonav__dl a {
    width: 160px;
    padding-top: 35px;
  }
}
.header .header__glonav .header__glonav__dl a::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translate(-50%, 0);
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 31.87"><path fill="%23fff" d="M32.3,31.87H1.7c-.94,0-1.7-.76-1.7-1.7v-8.21c0-.81.59-1.53,1.39-1.6.92-.09,1.7.63,1.7,1.54v6.6c0,.16.13.28.28.28h27.25c.16,0,.28-.13.28-.28v-6.54c0-.81.59-1.53,1.39-1.6.92-.09,1.7.63,1.7,1.54v8.28c0,.94-.76,1.7-1.7,1.7ZM8,16.04l7.69,7.7c.72.72,1.9.72,2.62,0l7.69-7.7c.49-.49.14-1.32-.55-1.32h-6.77c-.08,0-.14-.06-.14-.14V1.55c0-.9-.78-1.63-1.7-1.54-.8.08-1.39.8-1.39,1.61v12.96c0,.08-.06.14-.14.14h-6.77c-.69,0-1.03.83-.55,1.32Z" /></svg>')
    center no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .header .header__glonav .header__glonav__dl a::before {
    width: 25px;
    height: 25px;
  }
}
@media (min-width: 768px) {
  .header .header__glonav .header__glonav__dl a::before {
    width: 35px;
    height: 35px;
  }
}
.header .header__glonav .header__glonav__dl a:hover {
  background: #000080;
}
.header #drawer-menu__btn {
  display: none;
}
.header #drawer-menu__btn:checked ~ .header__btn {
  position: relative;
}
@media (max-width: 767px) {
  .header #drawer-menu__btn:checked ~ .header__btn::after {
    background: #d7e6ff;
  }
}
.header #drawer-menu__btn:checked ~ .header__btn .icon__humburger {
  visibility: hidden;
}
.header #drawer-menu__btn:checked ~ .header__btn .icon__humburger::before {
  visibility: visible;
  top: 0;
  transform: rotate(45deg);
}
.header #drawer-menu__btn:checked ~ .header__btn .icon__humburger::after {
  visibility: visible;
  top: 0;
  transform: rotate(-45deg);
}
.header #drawer-menu__btn:checked ~ .header__drawer {
  visibility: visible;
  transform: translate(-50%, 0);
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 767px) {
  .header #drawer-menu__btn:checked ~ .header__drawer {
    top: 50px;
    z-index: -10;
  }
}
@media (min-width: 768px) {
  .header #drawer-menu__btn:checked ~ .header__drawer {
    top: 80px;
    z-index: 0;
  }
}
.header .header__btn {
  grid-area: btn;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .header .header__btn {
    width: 50px;
    height: 50px;
  }
}
@media (min-width: 768px) {
  .header .header__btn {
    width: 80px;
    height: 80px;
  }
}
@media (max-width: 767px) {
  .header .header__btn::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: 50px;
    background: transparent;
    z-index: -10;
    transition: all 0.3s ease;
  }
}
.header .header__btn:hover {
  background: #d7e6ff;
}
.header .header__btn .icon__humburger {
  position: relative;
  height: 2px;
  background-color: #0044bb;
}
@media (max-width: 767px) {
  .header .header__btn .icon__humburger {
    width: 30px;
  }
}
@media (min-width: 768px) {
  .header .header__btn .icon__humburger {
    width: 40px;
  }
}
.header .header__btn .icon__humburger::before,
.header .header__btn .icon__humburger::after {
  content: "";
  position: absolute;
  height: 2px;
  background-color: #0044bb;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .header .header__btn .icon__humburger::before,
  .header .header__btn .icon__humburger::after {
    width: 30px;
  }
}
@media (min-width: 768px) {
  .header .header__btn .icon__humburger::before,
  .header .header__btn .icon__humburger::after {
    width: 40px;
  }
}
@media (max-width: 767px) {
  .header .header__btn .icon__humburger::before {
    top: -10px;
  }
}
@media (min-width: 768px) {
  .header .header__btn .icon__humburger::before {
    top: -14px;
  }
}
@media (max-width: 767px) {
  .header .header__btn .icon__humburger::after {
    top: 10px;
  }
}
@media (min-width: 768px) {
  .header .header__btn .icon__humburger::after {
    top: 14px;
  }
}
.header .header__drawer {
  grid-area: drawer;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: all 0.2s ease-in;
  z-index: -1000;
}
.header .drawer {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
  width: 100%;
}
@media (max-width: 767px) {
  .header .drawer {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .header .drawer {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .header .drawer {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .header .drawer {
    padding-top: 20px;
  }
}
@media (min-width: 768px) {
  .header .drawer {
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  .header .drawer {
    padding-bottom: 80px;
    overflow-y: scroll;
    max-height: calc(100svh - 60px);
  }
}
@media (min-width: 768px) {
  .header .drawer {
    padding-bottom: 40px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .header .drawer {
    overflow-y: scroll;
    max-height: calc(100svh - 60px);
  }
}
.header .drawer .drawer__container {
  position: relative;
  display: grid;
  border-radius: 20px;
  background: #fff;
}
@media (max-width: 767px) {
  .header .drawer .drawer__container {
    padding: 15px;
  }
}
@media (min-width: 768px) {
  .header .drawer .drawer__container {
    padding: 30px;
  }
}
@media (max-width: 1024px) {
  .header .drawer .drawer__container {
    grid-template: "top top" auto "products products" auto "company business" auto "news news" max-content "bnr bnr" auto/auto;
    gap: 20px;
  }
}
@media (min-width: 1025px) {
  .header .drawer .drawer__container {
    grid-template: "top products company business" auto "top products news news" max-content "top products bnr bnr" auto/auto 1fr max-content max-content;
    gap: 40px;
  }
}
.header .drawer .drawer__container::after {
  content: "";
  position: absolute;
  width: 100vw;
  background: #d7e6ff;
  z-index: -100;
}
@media (max-width: 767px) {
  .header .drawer .drawer__container::after {
    top: -20px;
    left: 50%;
    transform: translate(-50%, 0);
    height: calc(100% + 80px);
  }
}
@media (min-width: 768px) {
  .header .drawer .drawer__container::after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: calc(100% + 80px);
  }
}
.header .drawer .drawer__item > a {
  grid-area: category;
  position: relative;
  padding-left: 10px;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .header .drawer .drawer__item > a {
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .header .drawer .drawer__item > a {
    font-size: em(24);
  }
}
.header .drawer .drawer__item > a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 3px;
  height: 24px;
  background-color: #0044bb;
}
.header .drawer .drawer__item > a:hover {
  color: #0044bb;
}
.header .drawer .drawer__submenu {
  margin-top: 20px;
}
.header .drawer .drawer__submenu__item > a {
  position: relative;
  display: inline-block;
  padding-left: 16px;
  line-height: 1.25;
}
.header .drawer .drawer__submenu__item > a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 10px;
  height: 1px;
  background: #0044bb;
}
.header .drawer .drawer__submenu__item > a:hover {
  color: #0044bb;
}
.header .drawer .top {
  grid-area: top;
}
.header .drawer .products {
  grid-area: products;
  display: grid;
}
@media (max-width: 767px) {
  .header .drawer .products {
    grid-template: "category ." max-content "sub01 sub01" auto "sub02 sub02" auto/auto auto;
  }
}
@media (min-width: 768px) {
  .header .drawer .products {
    grid-template: "category ." max-content "sub01 sub02" auto/auto auto;
  }
}
.header .drawer .products .products__sub01 {
  grid-area: sub01;
}
.header .drawer .products .products__sub02 {
  grid-area: sub02;
}
.header .drawer .products .drawer__submenu__item {
  padding-block: 0.5em;
}
@media (max-width: 767px) {
  .header .drawer .products .drawer__submenu__item:nth-of-type(n + 2) {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .header .drawer .products .drawer__submenu__item:nth-of-type(n + 2) {
    margin-top: 0.5em;
  }
}
.header .drawer .products .drawer__submenu__item > a {
  padding-left: 50px;
}
.header .drawer .products .drawer__submenu__item > a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: center no-repeat;
  background-size: contain;
}
.header
  .drawer
  .products
  .drawer__submenu__item:has([href*="poroso"])
  a::before {
  background-image: url(/assets/images/common/menu-thumb_poroso.webp);
}
.header .drawer .products .drawer__submenu__item:has([href*="eco"]) a::before {
  background-image: url(/assets/images/common/menu-thumb_eco.webp);
}
.header
  .drawer
  .products
  .drawer__submenu__item:has([href*="print"])
  a::before {
  background-image: url(/assets/images/common/menu-thumb_print.webp);
}
.header
  .drawer
  .products
  .drawer__submenu__item:has([href*="aqueous"])
  a::before {
  background-image: url(/assets/images/common/menu-thumb_aqueous.webp);
}
.header
  .drawer
  .products
  .drawer__submenu__item:has([href*="extrusion"])
  a::before {
  background-image: url(/assets/images/common/menu-thumb_extrusion.webp);
}
.header .drawer .products .drawer__submenu__item:has([href*="dry"]) a::before {
  background-image: url(/assets/images/common/menu-thumb_dry.webp);
}
.header .drawer .products .drawer__submenu__item:has([href*="slit"]) a::before {
  background-image: url(/assets/images/common/menu-thumb_slit.webp);
}
.header
  .drawer
  .products
  .drawer__submenu__item:has([href*="pouch"])
  a::before {
  background-image: url(/assets/images/common/menu-thumb_pouch.webp);
}
.header .drawer .company {
  grid-area: company;
}
.header .drawer .business {
  grid-area: business;
}
.header .drawer .news {
  grid-area: news;
}
.header .drawer .recruit {
  grid-area: bnr;
}
.header .drawer .recruit > a:hover {
  opacity: 0.7;
}

/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
/* ///////////////////////////////////////////
  footer.scss
  フッターに関する設定
/////////////////////////////////////////// */
.footer {
  display: grid;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .footer {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .footer {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .footer {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .footer {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  .footer {
    grid-template: "info" auto "sitemap" auto "bnr" auto/100%;
    gap: 20px;
    padding-bottom: 80px;
    max-width: 480px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .footer {
    grid-template: "info sitemap" auto "bnr bnr" auto/max-content max-content;
    justify-content: center;
    gap: 20px 40px;
    padding-bottom: 80px;
  }
}
@media (min-width: 1025px) {
  .footer {
    grid-template: "info sitemap bnr" auto/max-content 1fr 290px;
    gap: 0 40px;
    padding-bottom: 80px;
  }
}
.footer .footer__info {
  grid-area: info;
}
@media (max-width: 767px) {
  .footer .footer__info {
    display: grid;
    grid-template: "logo logo" auto "tokyo headoffice" auto/1fr 1fr;
    gap: 20px;
  }
}
.footer .footer__info .tokyo {
  grid-area: tokyo;
}
.footer .footer__info .headoffice {
  grid-area: headoffice;
}
.footer .footer__info .footer__logo {
  grid-area: logo;
}
@media (max-width: 767px) {
  .footer .footer__info .footer__info__office {
    padding-top: 3.5em;
  }
}
@media (min-width: 768px) {
  .footer .footer__info .footer__info__office {
    margin-top: 30px;
  }
}
.footer .footer__info .footer__info__office .ttl {
  position: relative;
  background: #0044bb;
  padding-inline: 0.5em;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  word-break: keep-all;
  white-space: nowrap;
}
.footer .footer__info .footer__info__office .ttl::before {
  content: attr(data-title) "に関する\aお問い合わせはこちら";
  white-space: pre-wrap;
  position: absolute;
  border-radius: 50em;
  background: #d7e6ff;
  padding: 0.5em 1em;
  width: auto;
  color: #0044bb;
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .footer .footer__info .footer__info__office .ttl::before {
    top: -10px;
    left: 0;
    translate: 0 -100%;
    font-size: 0.625rem;
  }
}
@media (min-width: 768px) {
  .footer .footer__info .footer__info__office .ttl::before {
    top: 0;
    right: -20px;
    translate: 100% -50%;
    font-size: 0.75rem;
  }
}
.footer .footer__info .footer__info__office .ttl::after {
  content: "";
  position: absolute;
  height: 10.3923048454px;
  width: 14px;
  background: #d7e6ff;
  z-index: -10;
}
@media (max-width: 767px) {
  .footer .footer__info .footer__info__office .ttl::after {
    top: -14px;
    left: 50%;
    translate: -50% 0;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
@media (min-width: 768px) {
  .footer .footer__info .footer__info__office .ttl::after {
    top: 0;
    right: -20px;
    translate: 20% 0;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  }
}
.footer .footer__info .footer__info__office .address {
  margin-top: 1em;
  color: #919191;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .footer .footer__info .footer__info__office .address {
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  .footer .footer__info .footer__info__office .address {
    font-size: 0.875rem;
  }
}
.footer .footer__sitemap {
  grid-area: sitemap;
}
.footer .footer__sitemap .footer__sitemap__wrap {
  display: grid;
}
@media (max-width: 767px) {
  .footer .footer__sitemap .footer__sitemap__wrap {
    gap: 0 20px;
  }
}
@media (min-width: 768px) {
  .footer .footer__sitemap .footer__sitemap__wrap {
    grid-template-columns: max-content max-content;
    grid-template-rows: repeat(10, auto);
    gap: 0 40px;
  }
}
.footer .footer__sitemap .footer__sitemap__item {
  word-break: keep-all;
}
.footer .footer__sitemap .footer__sitemap__item > a {
  grid-area: category;
  position: relative;
  padding-left: 10px;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
}
.footer .footer__sitemap .footer__sitemap__item > a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 3px;
  height: 24px;
  background-color: #0044bb;
}
.footer .footer__sitemap .footer__sitemap__item > a:hover {
  color: #0044bb;
}
.footer .footer__sitemap .footer__sitemap__item > a,
.footer .footer__sitemap .footer__sitemap__submenu__item > a {
  display: block;
  padding-block: 0.25em;
  letter-spacing: 0.05em;
}
.footer .footer__sitemap .footer__sitemap__submenu {
  display: contents;
}
.footer .footer__sitemap .footer__sitemap__submenu__item > a {
  position: relative;
  padding-left: 16px;
  color: #919191;
  font-weight: 500;
}
.footer .footer__sitemap .footer__sitemap__submenu__item > a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 10px;
  height: 1px;
  background: #0044bb;
}
.footer .footer__sitemap .footer__sitemap__submenu__item > a:hover {
  color: #0044bb;
}
.footer .footer__sitemap .top {
  grid-row: 1/1;
  grid-column: 1;
}
.footer .footer__sitemap .products {
  grid-row: 2 / span 9;
  grid-column: 1;
}
.footer .footer__sitemap .company {
  grid-area: company;
  grid-row: 1 / span 3;
  grid-column: 2;
}
.footer .footer__sitemap .business {
  grid-area: business;
  grid-row: 4 / span 3;
  grid-column: 2;
}
.footer .footer__bnr {
  grid-area: bnr;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .footer .footer__bnr {
    display: grid;
    grid-template: "recruit dl" auto "recruit contact" auto "privacy copyright" auto/1fr 1fr;
  }
}
.footer .footer__bnr .footer__bnr__dl {
  grid-area: dl;
}
@media (max-width: 767px) {
  .footer .footer__bnr .footer__bnr__dl {
    text-align: center;
  }
}
.footer .footer__bnr .footer__bnr__dl > a {
  position: relative;
  display: inline-block;
  width: 100%;
  border-radius: 100px 100px 0 100px;
  background: linear-gradient(to left, #000080, #0044bb);
  padding: 1em 2.4em 1em 1em;
  color: #fff;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  z-index: 0;
}
@media (max-width: 767px) {
  .footer .footer__bnr .footer__bnr__dl > a {
    max-width: 280px;
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .footer .footer__bnr .footer__bnr__dl > a {
    max-width: 480px;
    font-size: 1.25rem;
  }
}
.footer .footer__bnr .footer__bnr__dl > a::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 100px 100px 0 100px;
  background: linear-gradient(to left, #0044bb, #5c98ff);
  transition: all 0.3s ease;
  opacity: 0;
  z-index: -1;
}
.footer .footer__bnr .footer__bnr__dl > a::after {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}
.footer .footer__bnr .footer__bnr__dl > a:link,
.footer .footer__bnr .footer__bnr__dl > a:visited {
  color: #fff;
  background: linear-gradient(to left, #000080, #0044bb);
}
.footer .footer__bnr .footer__bnr__dl > a:hover::before {
  opacity: 1;
}
.footer .footer__bnr .dl {
  position: relative;
  padding-left: 30px;
}
.footer .footer__bnr .dl::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 31.87"><path fill="%23fff" d="M32.3,31.87H1.7c-.94,0-1.7-.76-1.7-1.7v-8.21c0-.81.59-1.53,1.39-1.6.92-.09,1.7.63,1.7,1.54v6.6c0,.16.13.28.28.28h27.25c.16,0,.28-.13.28-.28v-6.54c0-.81.59-1.53,1.39-1.6.92-.09,1.7.63,1.7,1.54v8.28c0,.94-.76,1.7-1.7,1.7ZM8,16.04l7.69,7.7c.72.72,1.9.72,2.62,0l7.69-7.7c.49-.49.14-1.32-.55-1.32h-6.77c-.08,0-.14-.06-.14-.14V1.55c0-.9-.78-1.63-1.7-1.54-.8.08-1.39.8-1.39,1.61v12.96c0,.08-.06.14-.14.14h-6.77c-.69,0-1.03.83-.55,1.32Z" /></svg>')
    center no-repeat;
  background-size: contain;
}
.footer .footer__bnr .footer__bnr__contact {
  grid-area: contact;
}
@media (max-width: 767px) {
  .footer .footer__bnr .footer__bnr__contact {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  .footer .footer__bnr .footer__bnr__contact {
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  .footer .footer__bnr .footer__bnr__contact {
    text-align: center;
  }
}
.footer .footer__bnr .footer__bnr__contact > a {
  position: relative;
  display: inline-block;
  width: 100%;
  border: 2px solid #0044bb;
  border-radius: 100px 100px 0 100px;
  background: transparent;
  padding: 1em 2.4em 1em 1em;
  color: #0044bb;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  z-index: 0;
}
@media (max-width: 767px) {
  .footer .footer__bnr .footer__bnr__contact > a {
    max-width: 280px;
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .footer .footer__bnr .footer__bnr__contact > a {
    max-width: 480px;
    font-size: 1.25rem;
  }
}
.footer .footer__bnr .footer__bnr__contact > a::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 100px 100px 0 100px;
  background: linear-gradient(to left, #0044bb, #5c98ff);
  transition: all 0.3s ease;
  opacity: 0;
  z-index: -1;
}
.footer .footer__bnr .footer__bnr__contact > a::after {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #0044bb;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}
.footer .footer__bnr .footer__bnr__contact > a:link,
.footer .footer__bnr .footer__bnr__contact > a:visited {
  color: #0044bb;
}
.footer .footer__bnr .footer__bnr__contact > a:hover {
  background: rgba(215, 230, 255, 0.5);
}
.footer .footer__bnr .contact {
  position: relative;
  padding-left: 30px;
}
.footer .footer__bnr .contact::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 23.8"><path fill="%230044bb" d="M34,1.7v3.93l-16.57,9.55c-.26.15-.59.15-.85,0L0,5.63V1.7C0,.76.77,0,1.7,0h30.6c.93,0,1.7.76,1.7,1.7ZM17,16.99c-.44,0-.88-.11-1.27-.34L0,7.59v14.51c0,.94.77,1.7,1.7,1.7h30.6c.93,0,1.7-.76,1.7-1.7V7.59l-15.73,9.06c-.39.23-.83.34-1.27.34Z" /></svg>')
    center no-repeat;
  background-size: contain;
}
.footer .footer__bnr .footer__bnr__recruit {
  grid-area: recruit;
}
@media (max-width: 767px) {
  .footer .footer__bnr .footer__bnr__recruit {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  .footer .footer__bnr .footer__bnr__recruit {
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  .footer .footer__bnr .footer__bnr__recruit {
    text-align: center;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .footer .footer__bnr .footer__bnr__recruit {
    margin-top: 0;
  }
}
.footer .footer__bnr .footer__bnr__recruit > a:hover {
  opacity: 0.7;
}
.footer .footer__bnr .footer__bnr__privacy {
  grid-area: privacy;
}
@media (max-width: 767px) {
  .footer .footer__bnr .footer__bnr__privacy {
    margin-top: 10px;
  }
}
@media (min-width: 768px) {
  .footer .footer__bnr .footer__bnr__privacy {
    margin-top: 20px;
  }
}
@media (max-width: 767px) {
  .footer .footer__bnr .footer__bnr__privacy {
    text-align: center;
  }
}
.footer .footer__bnr .footer__bnr__privacy > a {
  color: #919191;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.footer .footer__tel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 0.5em;
}
@media (min-width: 768px) {
  .footer .footer__tel {
    padding-right: 20px;
  }
}
.footer .footer__tel a {
  position: relative;
  color: #0044bb;
  font-family:
    "Oswald", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  line-height: 1;
  word-break: keep-all;
}
@media (max-width: 767px) {
  .footer .footer__tel a {
    padding-left: 20px;
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .footer .footer__tel a {
    padding-left: 30px;
    font-size: 2.125rem;
    pointer-events: none;
  }
}
.footer .footer__tel a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 34"><path fill="%230044bb" d="M9.86,23.63l-.17-.17c-3.46-3.47-6.04-6.92-7.66-10.84C.86,9.81.19,6.77.05,3.28c0-.17-.03-.68-.05-1.23C-.03.94.86.02,1.99.02h2.06S6.98,0,6.98,0c.41,0,.79.16,1.07.41.33.26.54.66.57,1.1.13,2.04.49,4.05,1.11,6.01.25.81.56,1.6.9,2.39.34.79,0,1.7-.77,2.08l-2.45,1.22c-.07.04-.1.12-.06.19,1.36,2.64,3.13,5.07,5.28,7.23l.15.15.28.28.15.15c2.15,2.16,4.58,3.95,7.23,5.34.07.04.16,0,.19-.06l1.28-2.39c.41-.76,1.33-1.06,2.13-.72.79.35,1.58.67,2.4.93,1.97.65,4,1.04,6.07,1.21.5.04.93.3,1.2.68.2.27.31.6.3.96l-.07,2.89-.04,2.03c-.02,1.11-.98,1.98-2.1,1.92-.56-.03-1.07-.06-1.25-.07-3.77-.22-7.02-1.02-10.01-2.38-3.71-1.68-6.98-4.21-10.26-7.51l-.17-.17-.23-.23Z" /></svg>')
    center no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .footer .footer__tel a::before {
    width: 14px;
    height: 14px;
  }
}
@media (min-width: 768px) {
  .footer .footer__tel a::before {
    width: 25px;
    height: 25px;
  }
}
@media (max-width: 767px) {
  .footer .footer__tel .open {
    margin-top: 0.5em;
  }
}
.footer .footer__tel .date {
  border-radius: 2px;
  padding-inline: 0.25em;
  background: #efefef;
}
.footer .footer__tel .time {
  font-family:
    "Oswald", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
.footer .footer__tel--min {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 0.5em;
  padding-right: 20px;
}
.footer .footer__tel--min a {
  position: relative;
  padding-left: 20px;
  font-family:
    "Oswald", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  line-height: 1;
}
@media (max-width: 767px) {
  .footer .footer__tel--min a {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .footer .footer__tel--min a {
    font-size: 1.125rem;
    pointer-events: none;
  }
}
.footer .footer__tel--min a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 14px;
  height: 14px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 34"><path fill="%23222222" d="M9.86,23.63l-.17-.17c-3.46-3.47-6.04-6.92-7.66-10.84C.86,9.81.19,6.77.05,3.28c0-.17-.03-.68-.05-1.23C-.03.94.86.02,1.99.02h2.06S6.98,0,6.98,0c.41,0,.79.16,1.07.41.33.26.54.66.57,1.1.13,2.04.49,4.05,1.11,6.01.25.81.56,1.6.9,2.39.34.79,0,1.7-.77,2.08l-2.45,1.22c-.07.04-.1.12-.06.19,1.36,2.64,3.13,5.07,5.28,7.23l.15.15.28.28.15.15c2.15,2.16,4.58,3.95,7.23,5.34.07.04.16,0,.19-.06l1.28-2.39c.41-.76,1.33-1.06,2.13-.72.79.35,1.58.67,2.4.93,1.97.65,4,1.04,6.07,1.21.5.04.93.3,1.2.68.2.27.31.6.3.96l-.07,2.89-.04,2.03c-.02,1.11-.98,1.98-2.1,1.92-.56-.03-1.07-.06-1.25-.07-3.77-.22-7.02-1.02-10.01-2.38-3.71-1.68-6.98-4.21-10.26-7.51l-.17-.17-.23-.23Z" /></svg>')
    center no-repeat;
  background-size: contain;
}
.footer .footer__copyright {
  grid-area: copyright;
  color: #919191;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .footer .footer__copyright {
    display: block;
    text-align: center;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .footer .footer__copyright {
    margin-top: 20px;
  }
}

/*====================================
  02_module
=====================================*/
/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
/* ///////////////////////////////////////////
  module.scss
  各ページで使い回すパーツやスタイルに関する記述
/////////////////////////////////////////// */
/* ======================
  見出し
  ====================== */
.mod__heading1 {
  position: relative;
  color: #0044bb;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .mod__heading1 {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  .mod__heading1 {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  .mod__heading1 {
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  .mod__heading1 {
    font-size: 3.125rem;
  }
}
.mod__heading1::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  color: #0044bb;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
  opacity: 0.1;
}
@media (max-width: 767px) {
  .mod__heading1::before {
    right: 0;
    transform: translate(50%, 25%);
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  .mod__heading1::before {
    right: 0;
    transform: translate(50%, 25%);
    font-size: 7.5rem;
  }
}

.mod__heading2 {
  color: #0044bb;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .mod__heading2 {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .mod__heading2 {
    font-size: 2.5rem;
  }
}
.mod__heading2 .line {
  position: relative;
  display: inline-block;
  padding-bottom: 0.25em;
}
.mod__heading2 .line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  height: 4px;
  background: linear-gradient(to left, #000080, #0044bb);
}

.mod__heading3 {
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .mod__heading3 {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .mod__heading3 {
    font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem);
  }
}
@media (min-width: 1025px) {
  .mod__heading3 {
    font-size: 1.875rem;
  }
}
.mod__heading3 .sub {
  display: block;
  color: #222222;
}
@media (max-width: 767px) {
  .mod__heading3 .sub {
    font-size: 0.8125rem;
  }
}
@media (min-width: 768px) {
  .mod__heading3 .sub {
    font-size: 1.25rem;
  }
}
.mod__heading3 .min {
  color: #222222;
}
@media (max-width: 767px) {
  .mod__heading3 .min {
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  .mod__heading3 .min {
    font-size: 0.875rem;
  }
}

/* ======================
  ボタン
  ====================== */
.mod__btn {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 480px;
  border-radius: 100px;
  background: linear-gradient(to left, #000080, #0044bb);
  padding: 1em 2.4em 1em 1em;
  color: #fff;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  z-index: 0;
}
@media (max-width: 767px) {
  .mod__btn {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .mod__btn {
    font-size: 1.375rem;
  }
}
.mod__btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 100px;
  background: linear-gradient(to left, #0044bb, #5c98ff);
  transition: all 0.3s ease;
  opacity: 0;
  z-index: -1;
}
.mod__btn::after {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}
.mod__btn:link,
.mod__btn:visited {
  color: #fff;
  background: linear-gradient(to left, #000080, #0044bb);
}
.mod__btn:hover::before {
  opacity: 1;
}

.mod__btn--min {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 250px;
  border-radius: 100px;
  background: linear-gradient(to left, #000080, #0044bb);
  padding: 0.6em 2.4em 0.6em 1em;
  color: #fff;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  z-index: 0;
}
.mod__btn--min::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 100px;
  background: linear-gradient(to left, #0044bb, #5c98ff);
  transition: all 0.3s ease;
  opacity: 0;
  z-index: -1;
}
.mod__btn--min::after {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}
.mod__btn--min:link,
.mod__btn--min:visited {
  color: #fff;
  background: linear-gradient(to left, #000080, #0044bb);
}
.mod__btn--min:hover::before {
  opacity: 1;
}

.mod__sub-btn {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 480px;
  border-radius: 100px;
  color: #222222;
  font-weight: bold;
  text-align: right;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
}
@media (max-width: 767px) {
  .mod__sub-btn {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .mod__sub-btn {
    font-size: 1.375rem;
  }
}
@media (max-width: 767px) {
  .mod__sub-btn {
    padding: 1em 60px 1em 0;
  }
}
@media (min-width: 768px) {
  .mod__sub-btn {
    padding: 1em 90px 1em 1em;
  }
}
.mod__sub-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  border-radius: 50%;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><style>.cls-1{fill:url(%23gradation2);}.cls-1,.cls-2{stroke-width:0px;}.cls-2{fill:%23fff;}</style><linearGradient id="gradation2" x1="0" y1="40" x2="80" y2="40" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="%235c98ff"/><stop offset="1" stop-color="%2304b"/></linearGradient></defs><circle class="cls-1" cx="40" cy="40" r="40"/><polygon class="cls-2" points="34.85 51.71 33.44 50.29 43.73 40 33.44 29.71 34.85 28.29 46.56 40 34.85 51.71"/></svg>')
    center no-repeat;
  transition: all 0.3s ease;
  opacity: 0;
  z-index: 1;
}
@media (max-width: 767px) {
  .mod__sub-btn::before {
    width: 50px;
    height: 50px;
  }
}
@media (min-width: 768px) {
  .mod__sub-btn::before {
    width: 80px;
    height: 80px;
  }
}
.mod__sub-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  border-radius: 50%;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><style>.cls-1{fill:url(%23gradation1);}.cls-1,.cls-2{stroke-width:0px;}.cls-2{fill:%23fff;}</style><linearGradient id="gradation1" x1="0" y1="40" x2="80" y2="40" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="%2304b"/><stop offset="1" stop-color="navy"/></linearGradient></defs><circle class="cls-1" cx="40" cy="40" r="40"/><polygon class="cls-2" points="34.85 51.71 33.44 50.29 43.73 40 33.44 29.71 34.85 28.29 46.56 40 34.85 51.71"/></svg>')
    center no-repeat;
}
@media (max-width: 767px) {
  .mod__sub-btn::after {
    width: 50px;
    height: 50px;
  }
}
@media (min-width: 768px) {
  .mod__sub-btn::after {
    width: 80px;
    height: 80px;
  }
}
.mod__sub-btn:link,
.mod__sub-btn:visited {
  color: #222222;
}
.mod__sub-btn:hover {
  color: #5c98ff;
}
.mod__sub-btn:hover::before {
  opacity: 1;
}

/* ======================
  セクション／ブロック
  ====================== */
.mod__cta {
  display: grid;
  max-width: 1280px;
  margin-inline: auto;
  position: relative;
  color: #fff;
  z-index: 0;
}
@media (max-width: 767px) {
  .mod__cta {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .mod__cta {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .mod__cta {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .mod__cta {
    padding-top: 20px;
  }
}
@media (min-width: 768px) {
  .mod__cta {
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  .mod__cta {
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) {
  .mod__cta {
    padding-bottom: 40px;
  }
}
@media (max-width: 1024px) {
  .mod__cta {
    grid-template: "dl" auto "contact" auto/100%;
    gap: 40px;
  }
}
@media (min-width: 1025px) {
  .mod__cta {
    grid-template: "dl contact" auto/1fr 1fr;
    gap: 80px;
  }
}
.mod__cta::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100vw;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  background: #fff;
  z-index: -1;
}
@media (max-width: 767px) {
  .mod__cta::before {
    height: 60px;
  }
}
@media (min-width: 768px) {
  .mod__cta::before {
    height: 120px;
  }
}
.mod__cta::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100vw;
  height: 100%;
  background: url(/assets/images/common/bg_cta.webp) center no-repeat;
  background-size: cover;
  z-index: -10;
}
.mod__cta .mod__cta__ttl {
  position: relative;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__ttl {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__ttl {
    font-size: 2.5rem;
  }
}
.mod__cta .mod__cta__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  left: 1em;
  transform: translate(0, -25%);
  color: rgba(255, 255, 255, 0.3);
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__ttl::before {
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__ttl::before {
    font-size: 3.75rem;
  }
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__desc {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__btn {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__btn {
    margin-top: 40px;
  }
}
@media (max-width: 1024px) {
  .mod__cta .mod__cta__btn {
    text-align: center;
  }
}
.mod__cta .mod__cta__btn:has([href*="request"]) > a {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 480px;
  border: 2px solid #fff;
  border-radius: 100px;
  background: transparent;
  padding: 1em 2.4em 1em 1em;
  color: #fff;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  z-index: 0;
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__btn:has([href*="request"]) > a {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__btn:has([href*="request"]) > a {
    font-size: 1.375rem;
  }
}
.mod__cta .mod__cta__btn:has([href*="request"]) > a::after {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}
.mod__cta .mod__cta__btn:has([href*="request"]) > a:link,
.mod__cta .mod__cta__btn:has([href*="request"]) > a:visited {
  color: #fff;
}
.mod__cta .mod__cta__btn:has([href*="request"]) > a:hover {
  background: rgba(255, 255, 255, 0.2);
}
.mod__cta .mod__cta__btn:has([href*="contact"]) > a {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 480px;
  border-radius: 100px;
  color: #fff;
  font-weight: bold;
  text-align: right;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__btn:has([href*="contact"]) > a {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__btn:has([href*="contact"]) > a {
    font-size: 1.375rem;
  }
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__btn:has([href*="contact"]) > a {
    padding: 1em 60px 1em 0;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__btn:has([href*="contact"]) > a {
    padding: 1em 90px 1em 1em;
  }
}
.mod__cta .mod__cta__btn:has([href*="contact"]) > a::before {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}
.mod__cta .mod__cta__btn:has([href*="contact"]) > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  border: 2px solid #fff;
  border-radius: 50%;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__btn:has([href*="contact"]) > a::after {
    width: 50px;
    height: 50px;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__btn:has([href*="contact"]) > a::after {
    width: 80px;
    height: 80px;
  }
}
.mod__cta .mod__cta__btn:has([href*="contact"]) > a:link,
.mod__cta .mod__cta__btn:has([href*="contact"]) > a:visited {
  color: #fff;
}
.mod__cta .mod__cta__btn:has([href*="contact"]) > a:hover::after {
  background: rgba(255, 255, 255, 0.2);
}
.mod__cta .mod__cta__btn .dl {
  position: relative;
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__btn .dl {
    padding-left: 30px;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__btn .dl {
    padding-left: 50px;
  }
}
.mod__cta .mod__cta__btn .dl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 31.87"><path fill="%23fff" d="M32.3,31.87H1.7c-.94,0-1.7-.76-1.7-1.7v-8.21c0-.81.59-1.53,1.39-1.6.92-.09,1.7.63,1.7,1.54v6.6c0,.16.13.28.28.28h27.25c.16,0,.28-.13.28-.28v-6.54c0-.81.59-1.53,1.39-1.6.92-.09,1.7.63,1.7,1.54v8.28c0,.94-.76,1.7-1.7,1.7ZM8,16.04l7.69,7.7c.72.72,1.9.72,2.62,0l7.69-7.7c.49-.49.14-1.32-.55-1.32h-6.77c-.08,0-.14-.06-.14-.14V1.55c0-.9-.78-1.63-1.7-1.54-.8.08-1.39.8-1.39,1.61v12.96c0,.08-.06.14-.14.14h-6.77c-.69,0-1.03.83-.55,1.32Z" /></svg>')
    center no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__btn .dl::before {
    width: 25px;
    height: 25px;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__btn .dl::before {
    width: 35px;
    height: 35px;
  }
}
.mod__cta .mod__cta__contact {
  position: relative;
  z-index: 0;
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__contact {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__contact {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .mod__cta .mod__cta__contact {
    padding: 40px 0 0 40px;
  }
}
@media (min-width: 768px) {
  .mod__cta .mod__cta__contact {
    padding: 40px;
  }
}
.mod__cta .mod__cta__contact::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: calc(100% + 40px);
  max-width: 960px;
  border-radius: 100px 0 0 0;
  background: #db162f;
  z-index: -10;
}
@media (max-width: 1024px) {
  .mod__cta .mod__cta__contact::after {
    width: 100vw;
  }
}
@media (min-width: 1025px) {
  .mod__cta .mod__cta__contact::after {
    width: 50vw;
  }
}

.mod__lineup-slider--thumb {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
  text-align: center;
  position: sticky;
  top: 80px;
}
@media (max-width: 767px) {
  .mod__lineup-slider--thumb {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .mod__lineup-slider--thumb {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .mod__lineup-slider--thumb {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .mod__lineup-slider--thumb {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .mod__lineup-slider--thumb {
    margin-top: 40px;
  }
}
.mod__lineup-slider--thumb.swiper .swiper-wrapper {
  max-width: 100%;
  height: max-content;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .mod__lineup-slider--thumb.swiper .swiper-wrapper {
    justify-content: center;
    min-height: 120px;
  }
}
.mod__lineup-slider--thumb.swiper .swiper-slide {
  align-self: center;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .mod__lineup-slider--thumb.swiper .swiper-slide {
    width: 33.3333333333%;
  }
}
.mod__lineup-slider--thumb.swiper .swiper-slide::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid #d7e6ff;
  border-radius: 50%;
  background: #d7e6ff;
  z-index: -10;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .mod__lineup-slider--thumb.swiper .swiper-slide::after {
    width: 24px;
    height: 24px;
  }
}
@media (min-width: 768px) {
  .mod__lineup-slider--thumb.swiper .swiper-slide::after {
    width: 60px;
    height: 60px;
  }
}
.mod__lineup-slider--thumb.swiper .swiper-slide:hover {
  color: #0044bb;
}
.mod__lineup-slider--thumb.swiper .swiper-slide + .swiper-slide::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%) rotate(15deg);
  width: 1px;
  height: 40px;
  background: #919191;
}
.mod__lineup-slider--thumb.swiper .swiper-slide-thumb-active::after {
  background: transparent;
  border: 1px solid #0044bb;
}
@media (max-width: 767px) {
  .mod__lineup-slider--thumb.swiper .swiper-slide-thumb-active::after {
    width: 42px;
    height: 42px;
  }
}
@media (min-width: 768px) {
  .mod__lineup-slider--thumb.swiper .swiper-slide-thumb-active::after {
    width: 118px;
    height: 118px;
  }
}
.mod__lineup-slider--thumb.swiper .swiper-slide-thumb-active .thumb__btn {
  color: #0044bb;
}

@media (max-width: 767px) {
  .mod__lineup-slider--main {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .mod__lineup-slider--main {
    margin-top: 40px;
  }
}
.mod__lineup-slider--main.swiper .swiper-wrapper {
  height: max-content;
}
@media (min-width: 768px) {
  .mod__lineup-slider--main.swiper .swiper-slide {
    width: 100%;
    max-width: 1120px;
  }
}
.mod__lineup-slider--main.swiper .swiper-button-prev,
.mod__lineup-slider--main.swiper .swiper-button-next {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 1px solid #0044bb;
  background: transparent;
  transition: all 0.3s ease;
}
.mod__lineup-slider--main.swiper .swiper-button-prev::after,
.mod__lineup-slider--main.swiper .swiper-button-next::after {
  color: #0044bb;
  font-size: 1.5rem;
}
.mod__lineup-slider--main.swiper .swiper-button-prev:hover,
.mod__lineup-slider--main.swiper .swiper-button-next:hover {
  background: #d7e6ff;
}
.mod__lineup-slider--main.swiper .swiper-button-prev {
  left: calc(50% - 570px);
  transform: translate(-50%, 0);
}
.mod__lineup-slider--main.swiper .swiper-button-next {
  right: calc(50% - 570px);
  transform: translate(50%, 0);
}

.mod__products-card {
  position: relative;
  display: grid;
  width: calc(100% - 80px);
  max-width: 1140px;
  margin-inline: auto;
  height: 100%;
}
@media (max-width: 767px) {
  .mod__products-card {
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) {
  .mod__products-card {
    padding-bottom: 40px;
  }
}
@media (max-width: 767px) {
  .mod__products-card {
    grid-template: "img" auto "ttl" auto "desc" 1fr "btn" auto/100%;
    gap: 10px;
    padding: 20px;
  }
}
@media (min-width: 768px) {
  .mod__products-card {
    grid-template: "img ttl" 1fr "img desc" max-content "note btn" max-content/3fr 2fr;
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .mod__products-card:has(.mod__products-card__note) {
    grid-template: "img" auto "ttl" auto "desc" 1fr "note" auto "btn" auto/100%;
    gap: 10px;
    padding: 20px;
  }
}
.mod__products-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  background: #d7e6ff;
  z-index: -10;
}
@media (max-width: 767px) {
  .mod__products-card::after {
    width: calc(100% - 40px);
    height: calc(100% - (100vw - 40px) * 350 / 456 + 40px);
  }
}
@media (min-width: 768px) {
  .mod__products-card::after {
    width: calc(100% - 80px);
    height: calc(100% - 40px - 15px);
    clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%);
  }
}
.mod__products-card .mod__products-card__ttl {
  grid-area: ttl;
  color: #0044bb;
  letter-spacing: 0.1em;
  word-break: keep-all;
}
@media (max-width: 767px) {
  .mod__products-card .mod__products-card__ttl {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .mod__products-card .mod__products-card__ttl {
    font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem);
  }
}
@media (min-width: 1025px) {
  .mod__products-card .mod__products-card__ttl {
    font-size: 1.875rem;
  }
}
@media (max-width: 767px) {
  .mod__products-card .mod__products-card__ttl {
    padding-left: 40px;
  }
}
@media (min-width: 768px) {
  .mod__products-card .mod__products-card__ttl {
    place-content: flex-end;
    margin-top: 20px;
    padding-right: 40px;
  }
}
.mod__products-card .mod__products-card__desc {
  grid-area: desc;
}
@media (max-width: 767px) {
  .mod__products-card .mod__products-card__desc {
    padding-left: 40px;
  }
}
@media (min-width: 768px) {
  .mod__products-card .mod__products-card__desc {
    padding-right: 40px;
  }
}
.mod__products-card .mod__products-card__btn {
  grid-area: btn;
  text-align: center;
}
@media (max-width: 767px) {
  .mod__products-card .mod__products-card__btn {
    padding-left: 40px;
  }
}
@media (min-width: 768px) {
  .mod__products-card .mod__products-card__btn {
    place-content: flex-end;
    padding-right: 40px;
  }
}
.mod__products-card .mod__products-card__img {
  grid-area: img;
  background: #efefef;
}
.mod__products-card .mod__products-card__img img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.mod__products-card .mod__products-card__note {
  grid-area: note;
}
@media (max-width: 767px) {
  .mod__products-card .mod__products-card__note {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  .mod__products-card .mod__products-card__note {
    margin-top: 30px;
  }
}
.mod__products-card .mod__products-card__note .mod__products-card__note__ttl {
  display: block;
  border-bottom: 1px solid #0044bb;
  padding: 0 0.5em;
  color: #0044bb;
  text-align: center;
}
.mod__products-card
  .mod__products-card__note
  .mod__products-card__note__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 20px;
  text-align: center;
}
.mod__products-card .mod__products-card__note .mod__products-card__note__desc {
  font-size: 120%;
  background: #fce762;
  line-height: 1;
}

.mod__column {
  position: relative;
  margin-top: 60px;
  border-radius: 4px;
  border: 8px solid #0044bb;
}
@media (max-width: 767px) {
  .mod__column {
    padding: 15px;
  }
}
@media (min-width: 768px) {
  .mod__column {
    padding: 30px;
  }
}
.mod__column::before {
  content: "COLUMN";
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(0, -100%);
  color: #0044bb;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media (max-width: 767px) {
  .mod__column::before {
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  .mod__column::before {
    font-size: 3.75rem;
  }
}
.mod__column > *:nth-child(n + 2) {
  margin-top: 20px;
}
.mod__column .mod__column__ttl {
  color: #0044bb;
}
@media (max-width: 767px) {
  .mod__column .mod__column__ttl {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .mod__column .mod__column__ttl {
    font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem);
  }
}
@media (min-width: 1025px) {
  .mod__column .mod__column__ttl {
    font-size: 1.875rem;
  }
}
@media (max-width: 767px) {
  .mod__column .mod__column__ttl {
    padding-top: 56.25%;
  }
}
@media (min-width: 768px) {
  .mod__column .mod__column__ttl {
    width: 50%;
    margin-left: auto;
    padding-left: 20px;
  }
}
.mod__column .mod__column__ttl:nth-of-type(even) {
  margin-inline: 0 auto;
}
@media (min-width: 768px) {
  .mod__column .mod__column__ttl:nth-of-type(even) {
    padding-inline: 0 20px;
  }
}
.mod__column .mod__column__txt {
  margin-left: auto;
}
@media (min-width: 768px) {
  .mod__column .mod__column__txt {
    width: 50%;
    padding-left: 20px;
  }
}
.mod__column .mod__column__txt:nth-of-type(even) {
  margin-inline: 0 auto;
}
@media (min-width: 768px) {
  .mod__column .mod__column__txt:nth-of-type(even) {
    padding-inline: 0 20px;
  }
}

.mod__column-archive {
  position: relative;
  display: grid;
  grid-template: "ttl" auto "desc" auto "list" auto/100%;
  gap: 40px;
  padding-block: 80px;
}
.mod__column-archive::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100vw;
  height: 100%;
  background-color: #d7e6ff;
  z-index: -10;
}
@media (max-width: 767px) {
  .mod__column-archive .mod__column-archive__ttl {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .mod__column-archive .mod__column-archive__ttl {
    font-size: 2.5rem;
  }
}
.mod__column-archive .mod__column-archive__desc {
  grid-area: desc;
  word-break: auto-phrase;
}
.mod__column-archive .mod__column-archive__list {
  grid-area: list;
  display: grid;
  gap: 20px;
}
@media (min-width: 768px) {
  .mod__column-archive .mod__column-archive__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.mod__column-card {
  display: grid;
  gap: 20px;
  height: 100%;
  padding: 20px;
  background: #fff;
  border-radius: 4px;
}
@media (max-width: 767px) {
  .mod__column-card {
    grid-template: "thumb" auto "ttl" auto "date" auto "desc" auto "more" auto/100%;
  }
}
@media (min-width: 768px) {
  .mod__column-card {
    grid-template: "thumb ttl" 1fr "thumb date" auto "desc desc" auto ". more" max-content/1fr 1fr;
  }
}
.mod__column-card:hover {
  box-shadow: 0 4px 4px rgba(145, 145, 145, 0.2);
  translate: 0 -8px;
}
.mod__column-card .mod__column-card__thumb {
  grid-area: thumb;
}
.mod__column-card .mod__column-card__ttl {
  grid-area: ttl;
}
.mod__column-card .mod__column-card__date {
  grid-area: date;
}
.mod__column-card .mod__column-card__desc {
  grid-area: desc;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1rem;
}
.mod__column-card .mod__column-card__more {
  grid-area: more;
  text-align: right;
  color: #0044bb;
}

.mod__breadcrumbs {
  display: flex;
  max-width: 1280px;
  margin-inline: auto;
  padding-block: 20px;
  white-space: nowrap;
  word-break: keep-all;
  overflow: scroll;
}
@media (max-width: 767px) {
  .mod__breadcrumbs {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .mod__breadcrumbs {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .mod__breadcrumbs {
    padding-inline: 80px;
  }
}
.mod__breadcrumbs .mod__home a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}
.mod__breadcrumbs .mod__home img {
  height: 16px;
}
.mod__breadcrumbs a {
  opacity: 0.7;
}
.mod__breadcrumbs a:hover {
  opacity: 1;
}
.mod__breadcrumbs li {
  position: relative;
  letter-spacing: 0.1em;
}
.mod__breadcrumbs li:not(:last-child) {
  padding-right: 2em;
}
.mod__breadcrumbs li:not(:last-child)::after {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #919191;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}

.mod__pagination {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .mod__pagination {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .mod__pagination {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .mod__pagination {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .mod__pagination {
    padding-top: 20px;
  }
}
@media (min-width: 768px) {
  .mod__pagination {
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  .mod__pagination {
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) {
  .mod__pagination {
    padding-bottom: 40px;
  }
}
.mod__pagination .mod__pagination__list {
  display: flex;
  align-items: center;
  justify-content: center;
}
.mod__pagination .mod__pagination__item {
  width: 60px;
  height: 60px;
}
.mod__pagination .mod__pagination__item > a {
  display: grid;
  place-content: center;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.mod__pagination .mod__pagination__item > a:hover {
  background: #d7e6ff;
}
.mod__pagination .mod__pagination__item:not(:has(a)) {
  display: grid;
  place-content: center;
  color: #919191;
}
.mod__pagination .mod__pagination__item.prev > a,
.mod__pagination .mod__pagination__item.next > a {
  border-radius: 50%;
  background: transparent;
  transition: all 0.3s ease;
}
.mod__pagination .mod__pagination__item.prev > a::after,
.mod__pagination .mod__pagination__item.next > a::after {
  color: #0044bb;
  font-size: 1.5rem;
}
.mod__pagination .mod__pagination__item.prev > a:hover,
.mod__pagination .mod__pagination__item.next > a:hover {
  background: #d7e6ff;
}
.mod__pagination .mod__pagination__item.archive {
  width: 200px;
}
.mod__pagination .mod__pagination__item.archive > a {
  position: relative;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 0;
}
.mod__pagination .mod__pagination__item.archive > a:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  height: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: transparent;
  z-index: -10;
  transition: all 0.3s ease;
}
.mod__pagination .mod__pagination__item.archive > a:hover {
  background: none;
}
.mod__pagination .mod__pagination__item.archive > a:hover::after {
  background: #d7e6ff;
}
.mod__pagination .mod__pagination__item:not(:last-of-type) {
  margin-right: 20px;
}

/* ======================
  共通
  ====================== */
.p-blo {
  display: inline-block;
}

@media (max-width: 767px) {
  .hide-sp {
    display: none;
  }
}

@media (min-width: 768px) {
  .hide-pc {
    display: none;
  }
}

@media (max-width: 767px) {
  .pb-xl {
    padding-bottom: 80px !important;
  }
}
@media (min-width: 768px) {
  .pb-xl {
    padding-bottom: 160px !important;
  }
}

/*====================================
  03_page
=====================================*/
/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
/* /////////////////////////////////////////////////////////
  トップページ
///////////////////////////////////////////////////////// */
.home .home__atf {
  display: block;
  max-width: 1440px;
  margin-inline: auto;
  position: relative;
  overflow: visible;
}
@media (max-width: 767px) {
  .home .home__atf {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .home .home__atf {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .home .home__atf {
    padding-inline: 80px;
  }
}
.home .home__atf::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100vw;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 0);
  background: linear-gradient(to left, #0044bb, #5c98ff);
  z-index: -100;
}
@media (max-width: 767px) {
  .home .home__atf::before {
    height: 20%;
  }
}
@media (min-width: 768px) {
  .home .home__atf::before {
    height: 50%;
  }
}
.home .home__atf::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100vw;
  height: 100%;
  clip-path: polygon(0 50%, 100% 0, 100% 50%, 0 100%);
  background: linear-gradient(to left, #0044bb, #5c98ff);
  z-index: -100;
}
@media (max-width: 767px) {
  .home .home__atf::after {
    opacity: 0.3;
  }
}
.home .home__atf .home__atf__ttl {
  grid-area: ttl;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .home .home__atf .home__atf__ttl {
    padding-top: 80px;
  }
}
@media (min-width: 768px) {
  .home .home__atf .home__atf__ttl {
    padding-top: 160px;
  }
}
@media (max-width: 767px) {
  .home .home__atf .home__atf__ttl {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .home .home__atf .home__atf__ttl {
    font-size: 3.125rem;
  }
}
.home .home__atf .home__atf__ttl .name {
  display: block;
  font-size: 1.875rem;
}
.home .home__atf .home__atf__ttl .min {
  font-size: 1.125rem;
}
.home .home__atf .home__atf__desc {
  grid-area: desc;
}
@media (max-width: 767px) {
  .home .home__atf .home__atf__desc {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  .home .home__atf .home__atf__desc {
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  .home .home__atf .home__atf__desc {
    max-width: 90%;
    font-size: 0.8125rem;
  }
}
@media (min-width: 768px) {
  .home .home__atf .home__atf__desc {
    max-width: 50%;
  }
}
.home .home__atf .home__atf__container {
  grid-area: slider;
  position: relative;
  width: 100%;
  margin-left: auto;
}
@media (max-width: 767px) {
  .home .home__atf .home__atf__container {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__atf .home__atf__container {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .home .home__atf .home__atf__container {
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__atf .home__atf__container {
    padding-bottom: 40px;
  }
}
.home .home__atf .home__atf__slider {
  position: relative;
}
@media (max-width: 767px) {
  .home .home__atf .home__atf__slider {
    padding: 0 60px;
  }
}
@media (min-width: 768px) {
  .home .home__atf .home__atf__slider {
    padding: 0 40px;
  }
}
.home .home__atf .home__atf__slider .swiper-wrapper {
  height: max-content;
}
.home .home__atf .home__atf__slider .swiper-slide {
  text-align: center;
}
.home .home__atf .home__atf__slider .swiper-slide > a {
  display: block;
}
.home .home__atf .home__atf__slider .swiper-slide > a:hover {
  opacity: 0.7;
}
.home .home__atf .home__atf__slider .swiper-slide > a img {
  width: 100%;
  height: auto;
}
.home .home__atf .home__atf__slider .swiper-button-prev,
.home .home__atf .home__atf__slider .swiper-button-next {
  border-radius: 50%;
  border: 1px solid #0044bb;
  background: rgba(255, 255, 255, 0.5);
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .home .home__atf .home__atf__slider .swiper-button-prev,
  .home .home__atf .home__atf__slider .swiper-button-next {
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__atf .home__atf__slider .swiper-button-prev,
  .home .home__atf .home__atf__slider .swiper-button-next {
    width: 60px;
    height: 60px;
  }
}
.home .home__atf .home__atf__slider .swiper-button-prev::after,
.home .home__atf .home__atf__slider .swiper-button-next::after {
  color: #0044bb;
  font-size: 1.25rem;
}
.home .home__atf .home__atf__slider .swiper-button-prev:hover,
.home .home__atf .home__atf__slider .swiper-button-next:hover {
  background: #d7e6ff;
}
.home .home__atf .home__atf__bnr {
  display: block;
}
@media (min-width: 768px) {
  .home .home__atf .home__atf__bnr:hover {
    transform: translateY(-10px);
  }
}
@media (max-width: 767px) {
  .home .home__products {
    padding-top: 80px;
  }
}
@media (min-width: 768px) {
  .home .home__products {
    padding-top: 160px;
  }
}
@media (max-width: 767px) {
  .home .home__products {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__products {
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .home .home__products {
    min-height: 700px;
  }
}
.home .home__products .home__products__wrap {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .home .home__products .home__products__wrap {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .home .home__products .home__products__wrap {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .home .home__products .home__products__wrap {
    padding-inline: 80px;
  }
}
.home .home__products .home__products__ttl {
  position: relative;
  margin-left: auto;
  text-align: right;
}
@media (max-width: 767px) {
  .home .home__products .home__products__ttl {
    padding-top: 50vw;
  }
}
@media (min-width: 768px) {
  .home .home__products .home__products__ttl {
    width: 50%;
  }
}
.home .home__products .home__products__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  color: #fff;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 767px) {
  .home .home__products .home__products__ttl::before {
    left: 0;
    transform: translate(0, -50%);
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  .home .home__products .home__products__ttl::before {
    left: calc(-100% - 80px);
    transform: translate(0, -50%);
    font-size: 7.5rem;
  }
}
.home .home__products .home__products__ttl::after {
  content: "";
  position: absolute;
  width: auto;
  aspect-ratio: 960/540;
  z-index: -10;
  background: url(/assets/images/home/cover_products.webp) center no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .home .home__products .home__products__ttl::after {
    top: 0;
    left: -20px;
    transform: translate(0, 0);
    height: 50vw;
    border-radius: 0 40px 40px 0;
  }
}
@media (min-width: 768px) {
  .home .home__products .home__products__ttl::after {
    top: 0;
    left: -40px;
    transform: translate(-100%, 0);
    height: 540px;
    border-radius: 0 100px 100px 0;
  }
}
.home .home__products .home__products__desc {
  margin-left: auto;
}
@media (max-width: 767px) {
  .home .home__products .home__products__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__products .home__products__desc {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__products .home__products__desc {
    width: 50%;
  }
}
.home .home__products .home__products__btn {
  margin-left: auto;
  text-align: center;
}
@media (max-width: 767px) {
  .home .home__products .home__products__btn {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__products .home__products__btn {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__products .home__products__btn {
    width: 50%;
  }
}
@media (max-width: 767px) {
  .home .home__products .home__products__pickup {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__products .home__products__pickup {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  .home .home__products .home__products__lineup {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__products .home__products__lineup {
    margin-top: 80px;
  }
}
.home .home__company {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  .home .home__company {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .home .home__company {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .home .home__company {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .home .home__company {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__company {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  .home .home__company {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__company {
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .home .home__company {
    min-height: 700px;
  }
}
.home .home__company::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 100vw;
  background: center repeat-x;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 40"><defs><style>.cls-1{fill:%23efefef;stroke-width:0px;}</style></defs><polygon class="cls-1" points="45 0 0 40 90 40 45 0"/></svg>');
  background-size: contain;
}
@media (max-width: 767px) {
  .home .home__company::before {
    height: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__company::before {
    height: 40px;
  }
}
.home .home__company::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: 100%;
  background: linear-gradient(to bottom, #efefef, #fff);
  z-index: -10;
}
.home .home__company .home__company__ttl {
  position: relative;
  margin-right: auto;
  z-index: 0;
}
@media (max-width: 767px) {
  .home .home__company .home__company__ttl {
    padding-top: 50vw;
  }
}
@media (min-width: 768px) {
  .home .home__company .home__company__ttl {
    width: 50%;
  }
}
.home .home__company .home__company__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  color: #0044bb;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 767px) {
  .home .home__company .home__company__ttl::before {
    right: 0;
    transform: translate(0, -50%);
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  .home .home__company .home__company__ttl::before {
    right: calc(-100% - 80px);
    transform: translate(0, -50%);
    font-size: 7.5rem;
  }
}
.home .home__company .home__company__ttl::after {
  content: "";
  position: absolute;
  width: auto;
  aspect-ratio: 960/540;
  z-index: -10;
  background: url(/assets/images/home/cover_company.webp) center no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .home .home__company .home__company__ttl::after {
    top: 0;
    right: -20px;
    transform: translate(0, 0);
    height: 50vw;
    border-radius: 40px 0 0 40px;
  }
}
@media (min-width: 768px) {
  .home .home__company .home__company__ttl::after {
    top: 0;
    right: -40px;
    transform: translate(100%, 0);
    height: 540px;
    border-radius: 100px 0 0 100px;
  }
}
.home .home__company .home__company__desc {
  margin-right: auto;
}
@media (max-width: 767px) {
  .home .home__company .home__company__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__company .home__company__desc {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__company .home__company__desc {
    width: 50%;
  }
}
.home .home__company .home__company__btn {
  margin-right: auto;
  text-align: center;
}
@media (max-width: 767px) {
  .home .home__company .home__company__btn {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__company .home__company__btn {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__company .home__company__btn {
    width: 50%;
  }
}
.home .home__company .home__company__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(auto, 245px));
  gap: 20px;
  justify-content: center;
}
@media (max-width: 767px) {
  .home .home__company .home__company__list {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__company .home__company__list {
    margin-top: 80px;
  }
}
@media (min-width: 768px) {
  .home .home__company .home__company__list {
    width: 50%;
    margin-left: calc(50% + 40px);
  }
}
.home .home__company .home__company__item {
  aspect-ratio: 245/138;
}
.home .home__company .home__company__bnr {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: #0044bb;
  color: #fff;
  overflow: hidden;
  z-index: 0;
}
.home .home__company .home__company__bnr[href*="message"]::after {
  background: url(/assets/images/common/bnr_message.webp) center no-repeat;
  background-size: cover;
}
.home .home__company .home__company__bnr[href*="history"]::after {
  background: url(/assets/images/common/bnr_history.webp) center no-repeat;
  background-size: cover;
}
.home .home__company .home__company__bnr::before {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}
.home .home__company .home__company__bnr::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: scale(1);
  opacity: 0.5;
  z-index: -10;
  pointer-events: none;
  transition: all 0.3s ease;
}
.home .home__company .home__company__bnr:hover::after {
  transform: scale(1.1);
}
@media (max-width: 767px) {
  .home .home__company .home__company__recruit {
    max-width: 380px;
    margin-top: 80px;
  }
}
@media (min-width: 768px) {
  .home .home__company .home__company__recruit {
    margin-top: 40px;
    width: 570px;
  }
}
.home .home__business {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .home .home__business {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .home .home__business {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .home .home__business {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .home .home__business {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__business {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  .home .home__business {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__business {
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .home .home__business {
    min-height: 700px;
  }
}
.home .home__business .home__business__ttl {
  position: relative;
  margin-left: auto;
  text-align: right;
}
@media (max-width: 767px) {
  .home .home__business .home__business__ttl {
    padding-top: 50vw;
  }
}
@media (min-width: 768px) {
  .home .home__business .home__business__ttl {
    width: 50%;
  }
}
.home .home__business .home__business__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  color: #0044bb;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 767px) {
  .home .home__business .home__business__ttl::before {
    left: 0;
    transform: translate(0, -50%);
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  .home .home__business .home__business__ttl::before {
    left: calc(-100% - 80px);
    transform: translate(0, -50%);
    font-size: 7.5rem;
  }
}
.home .home__business .home__business__ttl::after {
  content: "";
  position: absolute;
  width: auto;
  aspect-ratio: 960/540;
  z-index: -10;
  background: url(/assets/images/home/cover_business.webp) center no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .home .home__business .home__business__ttl::after {
    top: 0;
    left: -20px;
    transform: translate(0, 0);
    height: 50vw;
    border-radius: 0 40px 40px 0;
  }
}
@media (min-width: 768px) {
  .home .home__business .home__business__ttl::after {
    top: 0;
    left: -40px;
    transform: translate(-100%, 0);
    height: 540px;
    border-radius: 0 100px 100px 0;
  }
}
.home .home__business .home__business__desc {
  margin-left: auto;
}
@media (max-width: 767px) {
  .home .home__business .home__business__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__business .home__business__desc {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__business .home__business__desc {
    width: 50%;
  }
}
.home .home__business .home__business__btn {
  margin-left: auto;
  text-align: center;
}
@media (max-width: 767px) {
  .home .home__business .home__business__btn {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__business .home__business__btn {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__business .home__business__btn {
    width: 50%;
  }
}
.home .home__news {
  display: block;
  max-width: 980px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  .home .home__news {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .home .home__news {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .home .home__news {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .home .home__news {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__news {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  .home .home__news {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .home .home__news {
    padding-bottom: 80px;
  }
}
.home .home__news::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 100vw;
  background: center repeat-x;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 40"><defs><style>.cls-1{fill:%23efefef;stroke-width:0px;}</style></defs><polygon class="cls-1" points="45 0 0 40 90 40 45 0"/></svg>');
  background-size: contain;
}
@media (max-width: 767px) {
  .home .home__news::before {
    height: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__news::before {
    height: 40px;
  }
}
.home .home__news::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100vw;
  height: 100%;
  background: #efefef;
  z-index: -10;
}
.home .home__news .home__news__ttl {
  position: relative;
}
.home .home__news .home__news__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  color: rgba(0, 68, 187, 0.2);
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 767px) {
  .home .home__news .home__news__ttl::before {
    left: 0;
    transform: translate(0, -50%);
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  .home .home__news .home__news__ttl::before {
    left: calc(-100% - 80px);
    transform: translate(0, -50%);
    font-size: 7.5rem;
  }
}
@media (max-width: 767px) {
  .home .home__news .home__news__ttl::before {
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media (min-width: 768px) {
  .home .home__news .home__news__ttl::before {
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media (max-width: 767px) {
  .home .home__news .home__news__list {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__news .home__news__list {
    margin-top: 40px;
  }
}
.home .home__news .home__news__btn {
  text-align: right;
}
@media (max-width: 767px) {
  .home .home__news .home__news__btn {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .home .home__news .home__news__btn {
    margin-top: 40px;
  }
}
.home .pickup {
  display: grid;
  max-width: 1140px;
  margin-inline: auto;
  border-radius: 4px;
  margin-inline: auto;
  border: 8px solid #0044bb;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 68, 187, 0.16);
}
@media (max-width: 767px) {
  .home .pickup {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .home .pickup {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .home .pickup {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .home .pickup {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  .home .pickup {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  .home .pickup {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .home .pickup {
    padding-bottom: 80px;
  }
}
@media (max-width: 767px) {
  .home .pickup {
    grid-template: "ttl" auto "img" auto "desc" auto "container" 1fr/100%;
    gap: 20px;
    width: calc(100% - 40px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .home .pickup {
    grid-template: "ttl" auto "img" auto "desc" auto "container" 1fr/100%;
    gap: 40px;
    width: calc(100% - 160px);
  }
}
@media (min-width: 1025px) {
  .home .pickup {
    grid-template: "img ttl" auto "img desc" auto "container container" 1fr/1fr 1fr;
    gap: 40px;
    width: calc(100% - 160px);
  }
}
.home .pickup .pickup__ttl {
  grid-area: ttl;
}
@media (max-width: 767px) {
  .home .pickup .pickup__ttl {
    font-size: 1.875rem;
  }
}
@media (max-width: 1024px) {
  .home .pickup .pickup__ttl {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .home .pickup .pickup__ttl .min {
    display: block;
  }
}
.home .pickup .pickup__desc {
  grid-area: desc;
}
.home .pickup .pickup__img {
  grid-area: img;
  text-align: center;
}
@media (max-width: 767px) {
  .home .pickup .pickup__img video {
    max-width: 100%;
    height: 100%;
  }
}
.home .pickup .pickup__container {
  grid-area: container;
}
.home .pickup .pickup__btn {
  text-align: center;
}
.home .lineup .lineup__ttl {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .home .lineup .lineup__ttl {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .home .lineup .lineup__ttl {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .home .lineup .lineup__ttl {
    padding-inline: 80px;
  }
}
.home .lineup .lineup__desc {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .home .lineup .lineup__desc {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .home .lineup .lineup__desc {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .home .lineup .lineup__desc {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .home .lineup .lineup__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .home .lineup .lineup__desc {
    margin-top: 40px;
  }
}
.home .recruit {
  position: relative;
  z-index: 0;
}
@media (max-width: 767px) {
  .home .recruit {
    padding: 20px 20px 20px 80px;
  }
}
@media (min-width: 768px) {
  .home .recruit {
    padding: 40px 40px 40px 160px;
  }
}
.home .recruit::before {
  content: "";
  position: absolute;
  bottom: 0;
  transform: translate(-50%, 0);
  background: url(/assets/images/common/illust_factory.svg) bottom center
    no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .home .recruit::before {
    left: 20px;
    width: 160px;
    height: 160px;
  }
}
@media (min-width: 768px) {
  .home .recruit::before {
    left: 0;
    width: 320px;
    height: 320px;
  }
}
.home .recruit::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100%;
  background: #d7e6ff;
  z-index: -10;
}
@media (max-width: 767px) {
  .home .recruit::after {
    border-radius: 0 30px 30px 0;
  }
}
@media (min-width: 768px) {
  .home .recruit::after {
    max-width: 960px;
    border-radius: 0 60px 60px 0;
  }
}
.home .recruit .recruit__ttl {
  position: relative;
  text-align: right;
  color: #0044bb;
}
.home .recruit .recruit__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: -40px;
  right: 0;
  transform: translate(0, -50%);
  color: #0044bb;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 767px) {
  .home .recruit .recruit__ttl::before {
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  .home .recruit .recruit__ttl::before {
    font-size: 3.75rem;
  }
}
@media (max-width: 767px) {
  .home .recruit .recruit__btn {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  .home .recruit .recruit__btn {
    margin-top: 30px;
  }
}
.home .news--archive {
  border-top: 1px solid #919191;
}
.home .news--archive:last-of-type {
  border-bottom: 1px solid #919191;
}
.home .news--archive .news--archive__item {
  position: relative;
  display: grid;
  width: 100%;
  height: auto;
  letter-spacing: 0.1em;
  cursor: pointer;
}
@media (max-width: 767px) {
  .home .news--archive .news--archive__item {
    grid-template: "date" auto "ttl" auto/auto;
    gap: 10px;
    padding: 1.5em 40px 1.5em 0;
  }
}
@media (min-width: 768px) {
  .home .news--archive .news--archive__item {
    grid-template: "date ttl" auto/90px auto;
    gap: 40px;
    padding: 1.5em 40px;
  }
}
.home .news--archive .news--archive__item::after {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #222222;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}
.home .news--archive .news--archive__item:hover {
  background: rgba(255, 255, 255, 0.5);
}
.home .news--archive .news--archive__item .date {
  grid-area: date;
  display: inline-block;
}
.home .news--archive .news--archive__item .ttl {
  grid-area: ttl;
  font-size: 1.125rem;
}

/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
main[class^="page--products"] {
  /*製品一覧バナー（スライダー）*/
}
main[class^="page--products"] .products__atf {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__atf {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__atf {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__atf {
    padding-inline: 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__atf {
    min-height: 540px;
  }
}
main[class^="page--products"] .products__atf::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100vw;
  height: 100%;
  clip-path: polygon(0 50%, 100% 0, 100% 50%, 0 100%);
  background: linear-gradient(to left, #0044bb, #5c98ff);
  z-index: -100;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__atf::after {
    opacity: 0.3;
  }
}
main[class^="page--products"] .products__atf .products__atf__ttl {
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__atf .products__atf__ttl {
    padding-top: 50vw;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__atf .products__atf__ttl {
    word-break: keep-all;
    width: 50%;
  }
}
main[class^="page--products"] .products__atf .products__atf__ttl::after {
  content: "";
  position: absolute;
  width: auto;
  aspect-ratio: 960/540;
  z-index: -10;
  background: url(/assets/images/pages/products/cover_products.webp) center
    no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__atf .products__atf__ttl::after {
    top: 0;
    right: -20px;
    transform: translate(0, 0);
    height: 50vw;
    border-radius: 40px 0 0 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__atf .products__atf__ttl::after {
    top: 0;
    right: -40px;
    transform: translate(100%, 0);
    height: 540px;
    border-radius: 100px 0 0 100px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__atf .products__atf__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__atf .products__atf__desc {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__atf .products__atf__desc {
    width: 50%;
  }
}
main[class^="page--products"] .products__atf .products__atf__desc--sdgs {
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__atf .products__atf__desc--sdgs {
    padding-bottom: 120px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__atf .products__atf__desc--sdgs {
    padding-right: 170px;
  }
}
main[class^="page--products"] .products__atf .products__atf__desc--sdgs::after {
  content: "";
  position: absolute;
  width: 150px;
  aspect-ratio: 150/80;
  background: url(/assets/images/common/logo_sdgs.svg) top center/contain
    no-repeat;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__atf
    .products__atf__desc--sdgs::after {
    bottom: 0;
    left: 50%;
    translate: -50% 0;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__atf
    .products__atf__desc--sdgs::after {
    top: 0;
    right: 0;
  }
}
main[class^="page--products"] .page-toc {
  display: block;
  max-width: 960px;
  margin-inline: auto;
  margin-inline: auto;
  background: #fefbec;
  padding-block: 30px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  main[class^="page--products"] .page-toc {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .page-toc {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .page-toc {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .page-toc {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .page-toc {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .page-toc {
    max-width: calc(100% - 40px);
    border-radius: 10px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .page-toc {
    border-radius: 100vmax;
  }
}
main[class^="page--products"] .page-toc .page-toc__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}
main[class^="page--products"] .page-toc .page-toc__item {
  display: grid;
  grid-template: "img ttl" max-content "img cat" max-content "img ." auto/160px auto;
  gap: 10px 20px;
}
main[class^="page--products"] .page-toc .page-toc__item .ttl {
  grid-area: ttl;
}
@media (max-width: 767px) {
  main[class^="page--products"] .page-toc .page-toc__item .ttl {
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .page-toc .page-toc__item .ttl {
    font-size: 1.5rem;
  }
}
main[class^="page--products"] .page-toc .page-toc__item .cat-list {
  grid-area: cat;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
}
main[class^="page--products"] .page-toc .page-toc__item .cat {
  position: relative;
  color: #fff;
  font-size: 0.875rem;
  border-radius: 100vmax;
  background: #0044bb;
  padding-inline: 1em;
}
main[class^="page--products"] .page-toc .page-toc__item .cat::before {
  content: "#";
}
main[class^="page--products"] .page-toc .page-toc__item .img {
  grid-area: img;
}
main[class^="page--products"] .products__theme {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__theme {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__theme {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__theme {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__theme {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__theme {
    padding-bottom: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__theme {
    padding-top: 200px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__theme {
    padding-top: 540px;
  }
}
main[class^="page--products"] .products__theme::before {
  content: "";
  position: absolute;
  right: 0;
  width: min(100%, 960px);
  aspect-ratio: 960/540;
  background: url(/assets/images/pages/products/eco_kv_biodegradable.webp)
    center/contain no-repeat;
  clip-path: inset(0 round 50px);
  z-index: -10;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__theme::before {
    top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__theme::before {
    top: 80px;
  }
}
main[class^="page--products"] .products__theme .products__theme__ttl {
  position: relative;
  padding-bottom: 40px;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__theme .products__theme__ttl {
    font-size: 2.25rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__theme .products__theme__ttl {
    font-size: 5rem;
  }
}
main[class^="page--products"] .products__theme .products__theme__ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: calc(50% - 160px);
  background: url(/assets/images/common/parts_amoeba.svg) center/contain
    no-repeat;
  z-index: -10;
  pointer-events: none;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__theme .products__theme__ttl::after {
    width: 500px;
    height: 300px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__theme .products__theme__ttl::after {
    width: 1000px;
    height: 600px;
  }
}
main[class^="page--products"] .products__theme .products__theme__ttl .quote {
  position: relative;
}
main[class^="page--products"]
  .products__theme
  .products__theme__ttl
  .quote::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  translate: 0 -100%;
  aspect-ratio: 1/1;
  background: url(/assets/images/common/icon_quote.svg) center/contain no-repeat;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__theme
    .products__theme__ttl
    .quote::before {
    width: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__theme
    .products__theme__ttl
    .quote::before {
    width: 90px;
  }
}
main[class^="page--products"] .products__theme .products__theme__ttl .question {
  position: relative;
}
main[class^="page--products"]
  .products__theme
  .products__theme__ttl
  .question::after {
  content: "?";
  position: absolute;
  bottom: 0;
  right: 0;
  translate: 100% 0;
  rotate: 15deg;
  aspect-ratio: 1/1;
  display: inline-block;
  font-size: 200%;
  line-height: 1;
}
main[class^="page--products"] .products__theme .products__theme__column {
  margin-top: -40px;
  margin-inline: auto;
}
main[class^="page--products"] .products__theme .column {
  display: grid;
  max-width: 960px;
  border-radius: 60px;
  background: #fefbec;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__theme .column {
    padding: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__theme .column {
    padding: 40px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__theme .column {
    grid-template: "ttl" max-content "img" 1fr "txt"/1fr;
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__theme .column {
    grid-template: "ttl ttl" max-content "img txt" 1fr/400px 1fr;
    gap: 40px;
  }
}
main[class^="page--products"] .products__theme .column .column__ttl {
  grid-area: ttl;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__theme .column .column__ttl {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__theme .column .column__ttl {
    font-size: 2.5rem;
  }
}
main[class^="page--products"] .products__theme .column .column__txt {
  grid-area: txt;
}
main[class^="page--products"] .products__theme .column .column__img {
  grid-area: img;
}
main[class^="page--products"] .biopbs {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .biopbs {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .biopbs {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs {
    padding-top: 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs {
    padding-top: 160px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs {
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .biopbs__head {
    display: grid;
    grid-template: "ttl list" auto/1fr 450px;
    gap: 80px;
  }
}
main[class^="page--products"] .biopbs .biopbs__ttl {
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .biopbs__ttl {
    padding-bottom: 160px;
  }
}
main[class^="page--products"] .biopbs .biopbs__ttl::after {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  background: url(/assets/images/common/parts_roll.svg) center/contain no-repeat;
  z-index: -10;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .biopbs__ttl::after {
    bottom: 0;
    right: 0;
    translate: 25% 0;
    width: 200px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .biopbs__ttl::after {
    top: 0;
    left: 0;
    translate: -65% 0;
    width: 1080px;
  }
}
main[class^="page--products"] .biopbs .biopbs__ttl .main {
  color: #0044bb;
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .biopbs__ttl .main {
    font-size: 2.5rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .biopbs__ttl .main {
    font-size: 5rem;
  }
}
main[class^="page--products"] .biopbs .biopbs__ttl .main .ruby {
  color: #919191;
  font-size: 0.875rem;
}
main[class^="page--products"] .biopbs .biopbs__ttl .main .sup {
  font-size: 0.6em;
}
main[class^="page--products"] .biopbs .biopbs__ttl .sub {
  font-size: 1rem;
}
main[class^="page--products"] .biopbs .biopbs__list {
  --biopbs__list-gap: 100px;
  display: grid;
  row-gap: var(--biopbs__list-gap);
}
main[class^="page--products"] .biopbs .biopbs__item {
  position: relative;
  padding-left: 20px;
}
main[class^="page--products"] .biopbs .biopbs__item:not(:last-of-type)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  translate: 0 calc(var(--biopbs__list-gap) / 2);
  width: 100%;
  height: 1px;
  background: #919191;
}
main[class^="page--products"] .biopbs .biopbs__item .ttl {
  position: relative;
  color: #2f8646;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .biopbs__item .ttl {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .biopbs .biopbs__item .ttl {
    font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem);
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .biopbs .biopbs__item .ttl {
    font-size: 1.875rem;
  }
}
main[class^="page--products"] .biopbs .biopbs__item .ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  left: 0;
  translate: calc(-100% - 10px) 0;
  color: #919191;
  font-size: 1rem;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .biopbs__item .desc {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .biopbs__item .desc {
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .biopbs__body {
    padding-top: 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .biopbs__body {
    padding-top: 160px;
  }
}
main[class^="page--products"] .biopbs .biopbs__features .biopbs__features__ttl {
  text-align: center;
}
main[class^="page--products"]
  .biopbs
  .biopbs__features
  .biopbs__features__ttl
  .main {
  color: #0044bb;
  font-weight: 500;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__features
    .biopbs__features__ttl
    .main {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__features
    .biopbs__features__ttl
    .main {
    font-size: 2.5rem;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__features
    .biopbs__features__contents {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__features
    .biopbs__features__contents {
    margin-top: 40px;
  }
}
main[class^="page--products"] .biopbs .initiative .initiative__ttl {
  position: relative;
  display: block;
  width: 100%;
  max-width: 960px;
  margin-inline: auto;
  margin-bottom: 20px;
  border-radius: 10px;
  background: #efefef;
  padding: 10px;
  text-align: center;
}
main[class^="page--products"] .biopbs .initiative .initiative__ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 50%;
  width: 30px;
  height: 25.9807621135px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #efefef;
}
main[class^="page--products"] .biopbs .initiative .initiative__list {
  display: grid;
  gap: var(--initiative__list-gap);
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .initiative .initiative__list {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .initiative .initiative__list {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .initiative .initiative__list {
    --initiative__list-gap: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .initiative .initiative__list {
    --initiative__list-gap: 80px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}
main[class^="page--products"] .biopbs .initiative .initiative__item {
  position: relative;
  display: grid;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .initiative .initiative__item {
    gap: 10px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .initiative .initiative__item {
    row-gap: 40px;
  }
}
main[class^="page--products"]
  .biopbs
  .initiative
  .initiative__item:not(:last-of-type)::after {
  content: "";
  position: absolute;
  background: #efefef;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .biopbs
    .initiative
    .initiative__item:not(:last-of-type)::after {
    bottom: 0;
    right: 0;
    translate: 0 calc(var(--initiative__list-gap) / 2);
    width: 100%;
    height: 1px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .biopbs
    .initiative
    .initiative__item:not(:last-of-type)::after {
    bottom: 0;
    right: 0;
    translate: calc(var(--initiative__list-gap) / 2) 0;
    width: 1px;
    height: 100%;
  }
}
main[class^="page--products"] .biopbs .initiative .initiative__item .ttl {
  padding-left: 1em;
  color: #0044bb;
  text-align: center;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .initiative .initiative__item .ttl {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .biopbs .initiative .initiative__item .ttl {
    font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem);
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .biopbs .initiative .initiative__item .ttl {
    font-size: 1.875rem;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .biopbs__case {
    margin-top: 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .biopbs__case {
    margin-top: 160px;
  }
}
main[class^="page--products"] .biopbs .biopbs__case .biopbs__case__ttl {
  color: #0044bb;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .biopbs__case .biopbs__case__ttl {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .biopbs__case .biopbs__case__ttl {
    font-size: 2.5rem;
  }
}
main[class^="page--products"]
  .biopbs
  .biopbs__case
  .biopbs__case__ttl
  .gradient-line {
  position: relative;
  padding-bottom: 0.25em;
}
main[class^="page--products"]
  .biopbs
  .biopbs__case
  .biopbs__case__ttl
  .gradient-line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  translate: 0 -100%;
  background: linear-gradient(to left, #0044bb, #5c98ff);
  rotate: 180deg;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .biopbs__case .biopbs__case__contents {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .biopbs__case .biopbs__case__contents {
    margin-top: 40px;
  }
}
main[class^="page--products"]
  .biopbs
  .biopbs__case
  .biopbs__case__contents:nth-of-type(n + 2) {
  margin-top: 80px;
}
main[class^="page--products"] .biopbs .biopbs__case .barrier-pouch {
  display: grid;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .biopbs__case .barrier-pouch {
    grid-template: "ttl" max-content "img" max-content "desc" 1fr/1fr;
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .biopbs__case .barrier-pouch {
    grid-template: "ttl ttl" max-content "desc img" 1fr/1fr minmax(auto, 520px);
    gap: 40px 80px;
  }
}
main[class^="page--products"]
  .biopbs
  .biopbs__case
  .barrier-pouch
  .barrier-pouch__ttl {
  grid-area: ttl;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__case
    .barrier-pouch
    .barrier-pouch__ttl {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__case
    .barrier-pouch
    .barrier-pouch__ttl {
    font-size: 2.5rem;
  }
}
main[class^="page--products"]
  .biopbs
  .biopbs__case
  .barrier-pouch
  .barrier-pouch__ttl
  .bg {
  position: relative;
  display: inline;
  margin-right: 0.5em;
  background: #0044bb;
  padding-inline: 0.5em;
  color: #fff;
  line-height: 2;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  z-index: 0;
}
main[class^="page--products"]
  .biopbs
  .biopbs__case
  .barrier-pouch
  .barrier-pouch__desc {
  grid-area: desc;
}
main[class^="page--products"]
  .biopbs
  .biopbs__case
  .barrier-pouch
  .barrier-pouch__img {
  grid-area: img;
}
main[class^="page--products"] .biopbs .biopbs__case .branding .branding__ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media (max-width: 767px) {
  main[class^="page--products"] .biopbs .biopbs__case .branding .branding__ttl {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .biopbs .biopbs__case .branding .branding__ttl {
    font-size: 2.5rem;
  }
}
main[class^="page--products"]
  .biopbs
  .biopbs__case
  .branding
  .branding__ttl
  .bg {
  position: relative;
  display: inline;
  margin-right: 0.5em;
  background: #0044bb;
  padding-inline: 0.5em;
  color: #fff;
  line-height: 2;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  z-index: 0;
}
main[class^="page--products"] .biopbs .biopbs__case .branding .branding__desc {
  grid-area: desc;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__case
    .branding
    .branding__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__case
    .branding
    .branding__desc {
    margin-top: 40px;
  }
}
main[class^="page--products"] .biopbs .biopbs__case .branding .branding__note {
  font-size: 0.7em;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__case
    .branding
    .branding__note {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__case
    .branding
    .branding__note {
    margin-top: 30px;
  }
}
main[class^="page--products"] .biopbs .biopbs__case .branding .branding__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__case
    .branding
    .branding__list {
    gap: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .biopbs
    .biopbs__case
    .branding
    .branding__list {
    column-gap: 40px;
  }
}
main[class^="page--products"]
  .biopbs
  .biopbs__case
  .branding
  .branding__example
  img {
  width: 100%;
  clip-path: inset(0 round 10px);
}
main[class^="page--products"]
  .biopbs
  .biopbs__case
  .branding
  .branding__example
  .caption {
  color: #0044bb;
  text-align: center;
}
main[class^="page--products"] .products__pickup {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__pickup {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__pickup {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__pickup {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__pickup {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__pickup {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__pickup {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__pickup {
    padding-bottom: 80px;
  }
}
main[class^="page--products"] .products__pickup .products__pickup__ttl {
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__pickup .products__pickup__container {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__pickup .products__pickup__container {
    margin-top: 40px;
  }
}
main[class^="page--products"] .products__pickup .products-card {
  max-width: 1140px;
}
main[class^="page--products"]
  .products__pickup
  .products-card
  .products-card__ttl {
  grid-area: ttl;
  padding-right: 40px;
  color: #0044bb;
  font-size: 0.1875rem;
  letter-spacing: 0.1em;
  word-break: keep-all;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__pickup
    .products-card
    .products-card__ttl {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__pickup
    .products-card
    .products-card__ttl {
    margin-top: 30px;
  }
}
main[class^="page--products"]
  .products__pickup
  .products-card
  .products-card__ttl
  .sub {
  display: block;
  color: #222222;
  font-size: 1.125rem;
}
main[class^="page--products"]
  .products__pickup
  .products-card
  .products-card__ttl
  .min {
  display: inline-block;
  color: #222222;
  font-size: 0.75rem;
}
main[class^="page--products"]
  .products__pickup
  .products-card
  .products-card__desc {
  grid-area: desc;
  padding-right: 40px;
}
main[class^="page--products"]
  .products__pickup
  .products-card
  .products-card__btn {
  grid-area: btn;
  padding-right: 40px;
  text-align: center;
}
main[class^="page--products"] .products__lineup {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__lineup {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__lineup {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__lineup {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__lineup {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__lineup {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__lineup {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__lineup {
    padding-bottom: 80px;
  }
}
main[class^="page--products"] .products__lineup .products__lineup__ttl {
  position: relative;
  margin-left: auto;
  text-align: right;
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__lineup .products__lineup__ttl {
    width: 50%;
    word-break: keep-all;
  }
}
main[class^="page--products"] .products__lineup .products__lineup__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  color: #0044bb;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__ttl::before {
    left: 0;
    transform: translate(0, -50%);
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__ttl::before {
    left: calc(-100% - 80px);
    transform: translate(0, -50%);
    font-size: 7.5rem;
  }
}
main[class^="page--products"] .products__lineup .products__lineup__desc {
  margin-left: auto;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__lineup .products__lineup__desc {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__lineup .products__lineup__desc {
    margin-top: 30px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__lineup .products__lineup__desc {
    width: 50%;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__lineup .products__lineup__list {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__lineup .products__lineup__list {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(n + 2) {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(n + 2) {
    margin-top: 80px;
  }
}
main[class^="page--products"]
  .products__lineup
  .products__lineup__item:nth-of-type(2),
main[class^="page--products"]
  .products__lineup
  .products__lineup__item:nth-of-type(3),
main[class^="page--products"]
  .products__lineup
  .products__lineup__item:nth-of-type(4) {
  position: relative;
  z-index: 0;
}
main[class^="page--products"]
  .products__lineup
  .products__lineup__item:nth-of-type(2)::after,
main[class^="page--products"]
  .products__lineup
  .products__lineup__item:nth-of-type(3)::after,
main[class^="page--products"]
  .products__lineup
  .products__lineup__item:nth-of-type(4)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: calc(100% + 80px);
  background: #d7e6ff;
  z-index: -100;
}
main[class^="page--products"]
  .products__lineup
  .products__lineup__item:nth-of-type(2)
  .products-card::after,
main[class^="page--products"]
  .products__lineup
  .products__lineup__item:nth-of-type(3)
  .products-card::after,
main[class^="page--products"]
  .products__lineup
  .products__lineup__item:nth-of-type(4)
  .products-card::after {
  background-color: #fff;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(2) {
    margin-top: 120px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(2) {
    margin-top: 160px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(2)
    .products-card {
    transform: translateX(-80px);
  }
}
main[class^="page--products"]
  .products__lineup
  .products__lineup__item:nth-of-type(2)
  .products-card::before {
  content: "";
  position: absolute;
  width: 100vw;
  clip-path: polygon(0 0, 0 100%, 100% 100%);
  background: #d7e6ff;
  z-index: -100;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(2)
    .products-card::before {
    top: -40px;
    height: 60px;
    left: 50%;
    transform: translate(-50%, -100%);
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(2)
    .products-card::before {
    top: -39px;
    left: 50%;
    transform: translate(calc(-50% + 80px), -100%);
    height: 120px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(4)
    .products-card {
    transform: translateX(80px);
  }
}
main[class^="page--products"]
  .products__lineup
  .products__lineup__item:nth-of-type(4)
  .products-card::before {
  content: "";
  position: absolute;
  width: 100vw;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  background: #d7e6ff;
  z-index: -100;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(4)
    .products-card::before {
    bottom: -40px;
    height: 60px;
    left: 50%;
    transform: translate(-50%, 100%);
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(4)
    .products-card::before {
    bottom: -39px;
    left: 50%;
    transform: translate(calc(-50% + 80px), 100%);
    height: 120px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(5) {
    margin-top: 120px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(5) {
    margin-top: 160px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__lineup
    .products__lineup__item:nth-of-type(5)
    .products-card {
    transform: translateX(-80px);
  }
}
main[class^="page--products"] .products-card {
  position: relative;
  display: grid;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products-card {
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products-card {
    padding-bottom: 40px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products-card {
    grid-template: "img" auto "ttl" auto "desc" 1fr "btn" auto/100%;
    gap: 20px;
    max-width: 380px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products-card {
    grid-template: "img ttl" 1fr "img desc" max-content "img btn" max-content/3fr 2fr;
    gap: 20px;
  }
}
main[class^="page--products"] .products-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  background: #d7e6ff;
  z-index: -10;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products-card::after {
    right: -20px;
    width: 100%;
    height: calc(100% - (100vw - 40px) * 257 / 335 + 80px);
    clip-path: polygon(0 40px, 100% 0, 100% 100%, 0% 100%);
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products-card::after {
    right: 0;
    width: calc(56% + 160px);
    height: calc(100% - 25px);
    clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%);
  }
}
main[class^="page--products"] .products-card .products-card__ttl {
  grid-area: ttl;
  color: #0044bb;
  font-size: 1.875rem;
  letter-spacing: 0.1em;
  word-break: keep-all;
  align-self: flex-end;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products-card .products-card__ttl {
    padding-left: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products-card .products-card__ttl {
    padding-right: 40px;
  }
}
main[class^="page--products"] .products-card .products-card__ttl .sub {
  display: block;
  color: #222222;
  font-size: 1.125rem;
}
main[class^="page--products"] .products-card .products-card__ttl .min {
  display: inline-block;
  color: #222222;
  font-size: 0.75rem;
}
main[class^="page--products"] .products-card .products-card__desc {
  grid-area: desc;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products-card .products-card__desc {
    padding-left: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products-card .products-card__desc {
    padding-right: 40px;
  }
}
main[class^="page--products"] .products-card .products-card__btn {
  grid-area: btn;
  text-align: center;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products-card .products-card__btn {
    padding-left: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products-card .products-card__btn {
    padding-right: 40px;
  }
}
main[class^="page--products"] .products-card .products-card__img {
  grid-area: img;
  background: #efefef;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products-card .products-card__img {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0% 100%);
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products-card .products-card__img {
    clip-path: polygon(0 0, 100% 0, calc(100% - 40px) 100%, 0 100%);
  }
}
main[class^="page--products"] .products-card .products-card__img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
main[class^="page--products"] .products__article {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__article {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__article {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__article {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__article {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__article {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__article {
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__article {
    padding-bottom: 40px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__article--diagram .article__body {
    grid-template: "figure" auto "txt" auto/auto !important;
    gap: 0 !important;
  }
}
main[class^="page--products"] .products__article--diagram .article__figure img {
  width: 100%;
}
main[class^="page--products"] .article {
  display: grid;
  max-width: 1140px;
  border-radius: 4px;
  border: 8px solid #0044bb;
  background: #fff;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--products"] .article {
    padding: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .article {
    padding: 30px;
  }
}
main[class^="page--products"] .article .article__ttl {
  letter-spacing: 0.1em;
  text-align: center;
}
@media (max-width: 767px) {
  main[class^="page--products"] .article .article__ttl {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .article .article__ttl {
    font-size: 2.5rem;
  }
}
main[class^="page--products"] .article .article__body {
  display: grid;
}
@media (max-width: 767px) {
  main[class^="page--products"] .article .article__body {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .article .article__body {
    margin-top: 30px;
  }
}
@media (max-width: 1024px) {
  main[class^="page--products"] .article .article__body {
    grid-template: "figure" auto "txt" auto/auto;
    gap: 40px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .article .article__body {
    grid-template: "figure txt" auto/1fr 1fr;
    gap: 80px;
  }
}
main[class^="page--products"] .article .article__txt {
  grid-area: txt;
  letter-spacing: 0.1em;
}
main[class^="page--products"] .article .article__txt p:nth-of-type(n + 2) {
  margin-top: 1em;
}
main[class^="page--products"] .article .article__figure {
  grid-area: figure;
}
main[class^="page--products"] .article .article__subttl {
  position: relative;
  padding-inline: 1em;
  color: #fff;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1.4;
  z-index: 0;
}
@media (max-width: 767px) {
  main[class^="page--products"] .article .article__subttl {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .article .article__subttl {
    margin-top: 30px;
  }
}
main[class^="page--products"] .article .article__subttl::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0044bb;
  z-index: -10;
}
main[class^="page--products"] .article .article__subttl .big {
  font-size: 1.5rem;
}
main[class^="page--products"] .article .em {
  background-color: #fce762;
}
main[class^="page--products"] .products__equipment {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__equipment {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__equipment {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__equipment {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__equipment {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__equipment {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__equipment {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__equipment {
    padding-bottom: 80px;
  }
}
main[class^="page--products"] .products__equipment .products__equipment__ttl {
  position: relative;
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__equipment .products__equipment__ttl {
    width: 50%;
    word-break: keep-all;
  }
}
main[class^="page--products"]
  .products__equipment
  .products__equipment__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  color: #d7e6ff;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__equipment
    .products__equipment__ttl::before {
    right: 0;
    transform: translate(0, -50%);
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__equipment
    .products__equipment__ttl::before {
    right: calc(-100% - 80px);
    transform: translate(0, -50%);
    font-size: 7.5rem;
  }
}
main[class^="page--products"] .products__equipment .products__equipment__desc {
  margin-top: 1em;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__equipment
    .products__equipment__container {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__equipment
    .products__equipment__container {
    margin-top: 40px;
  }
}
main[class^="page--products"] .equipment {
  display: grid;
  width: 100%;
}
@media (max-width: 767px) {
  main[class^="page--products"] .equipment {
    gap: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .equipment {
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .equipment {
    gap: 40px;
  }
}
main[class^="page--products"] .equipment .equipment__wrap {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  grid-template-areas: "ttl" "desc";
  gap: 20px;
  background: #efefef;
}
@media (max-width: 767px) {
  main[class^="page--products"] .equipment .equipment__wrap {
    padding: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .equipment .equipment__wrap {
    padding: 30px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .equipment .equipment__wrap {
    border-radius: 10px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .equipment .equipment__wrap {
    border-radius: 15px;
  }
}
main[class^="page--products"] .equipment .equipment__ttl {
  grid-area: ttl;
  display: grid;
  grid-template: "txt-ttl unit" max-content/auto 50px;
  gap: 10px;
  text-align: center;
  word-break: keep-all;
}
@media (max-width: 767px) {
  main[class^="page--products"] .equipment .equipment__ttl {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .equipment .equipment__ttl {
    font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem);
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .equipment .equipment__ttl {
    font-size: 1.875rem;
  }
}
main[class^="page--products"] .equipment .equipment__ttl .ttl {
  grid-area: txt-ttl;
}
main[class^="page--products"] .equipment .equipment__ttl .unit {
  grid-area: unit;
  align-self: center;
  display: inline-block;
  padding-inline: 0.25em;
  border-radius: 4px;
  border: 2px solid #0044bb;
  color: #0044bb;
  text-align: center;
}
@media (max-width: 767px) {
  main[class^="page--products"] .equipment .equipment__ttl .unit {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .equipment .equipment__ttl .unit {
    font-size: 1.375rem;
  }
}
main[class^="page--products"] .equipment .equipment__desc {
  grid-area: desc;
  text-align: center;
}
main[class^="page--products"] .equipment .equipment__desc .em {
  background: #fce762;
  font-weight: bold;
}
main[class^="page--products"] .equipment .equipment__desc .big {
  font-size: 120%;
  padding-inline: 0.25em;
}
main[class^="page--products"] .equipment .equipment__feature {
  display: grid;
  gap: 0.5em;
  padding-left: 1em;
}
@media (max-width: 767px) {
  main[class^="page--products"] .equipment .equipment__feature__item {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .equipment .equipment__feature__item {
    font-size: 1.125rem;
  }
}
main[class^="page--products"] .products__feature {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__feature {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__feature {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__feature {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__feature {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__feature {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__feature {
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__feature {
    padding-bottom: 160px;
  }
}
main[class^="page--products"] .products__feature .products__feature__ttl {
  position: relative;
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__feature .products__feature__ttl {
    width: 50%;
    word-break: keep-all;
  }
}
main[class^="page--products"]
  .products__feature
  .products__feature__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  color: #d7e6ff;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__feature
    .products__feature__ttl::before {
    right: 0;
    transform: translate(0, -50%);
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__feature
    .products__feature__ttl::before {
    right: calc(-100% - 80px);
    transform: translate(0, -50%);
    font-size: 7.5rem;
  }
}
main[class^="page--products"] .products__feature .products__feature__desc {
  margin-top: 1em;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__feature
    .products__feature__desc:nth-of-type(n + 2) {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__feature
    .products__feature__desc:nth-of-type(n + 2) {
    margin-top: 40px;
  }
}
main[class^="page--products"] .products__feature .products__feature__container {
  display: grid;
  gap: 20px;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__feature
    .products__feature__container {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__feature
    .products__feature__container {
    margin-top: 40px;
  }
}
main[class^="page--products"] .type {
  display: grid;
  background: #efefef;
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--products"] .type {
    margin-top: 20px;
    padding-left: 60px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .type {
    padding-left: 80px;
  }
}
main[class^="page--products"] .type::before {
  content: "";
  position: absolute;
  display: grid;
  place-content: center;
  border-radius: 50%;
  background-color: #0044bb;
  color: #fff;
}
@media (max-width: 767px) {
  main[class^="page--products"] .type::before {
    left: 50%;
    top: 0;
    translate: -50% -50%;
    width: 40px;
    height: 40px;
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .type::before {
    left: 0;
    top: 50%;
    translate: -50% -50%;
    width: 60px;
    height: 60px;
    font-size: 1.75rem;
  }
}
main[class^="page--products"] .type:nth-of-type(1)::before {
  content: "01";
}
main[class^="page--products"] .type:nth-of-type(2)::before {
  content: "02";
}
main[class^="page--products"] .type:nth-of-type(3)::before {
  content: "03";
}
main[class^="page--products"] .type:nth-of-type(4)::before {
  content: "04";
}
main[class^="page--products"] .type:nth-of-type(5)::before {
  content: "05";
}
@media (max-width: 767px) {
  main[class^="page--products"] .type {
    grid-template: "ttl" auto "desc" / auto;
    gap: 0.75em;
    padding: 1em;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .type {
    grid-template: "ttl desc" auto/max-content auto;
    grid-template-columns: subgrid;
    grid-column: span 2;
    gap: 40px;
    align-items: center;
    padding: 1em 2.5em;
  }
}
main[class^="page--products"] .type .type__ttl {
  grid-area: ttl;
  word-break: keep-all;
}
@media (max-width: 767px) {
  main[class^="page--products"] .type .type__ttl {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .type .type__ttl {
    font-size: 1.375rem;
  }
}
main[class^="page--products"] .type .type__desc {
  grid-area: desc;
}
main[class^="page--products"] .products__case {
  display: grid;
  max-width: 1280px;
  margin-inline: auto;
  position: relative;
  gap: 160px;
  z-index: 0;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__case {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__case {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__case {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__case {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__case {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__case {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__case {
    padding-bottom: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__case.no-bg {
    padding-top: 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__case.no-bg {
    padding-top: 160px;
  }
}
main[class^="page--products"] .products__case.no-bg::before,
main[class^="page--products"] .products__case.no-bg::after {
  display: none;
}
main[class^="page--products"] .products__case::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100vw;
  height: 100%;
  background-color: #d7e6ff;
  z-index: -10;
}
main[class^="page--products"] .products__case .products__case__wrap {
  position: relative;
  display: grid;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__case .products__case__wrap {
    grid-template-areas: "ttl" "img" "txt" "container";
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__case .products__case__wrap {
    grid-template: "ttl ttl" auto "txt img" 1fr "container img" auto/1fr 1fr;
    gap: 20px 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__case
    .products__case__wrap:nth-of-type(even) {
    grid-template: "ttl ttl" auto "img txt" 1fr "img container" auto/1fr 1fr;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__case
    .products__case__wrap:nth-of-type(even)
    .products__case__ttl {
    text-align: right;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__case
    .products__case__wrap:nth-of-type(even)
    .products__case__ttl
    .bg {
    margin-inline: 0.5em auto;
  }
}
main[class^="page--products"]
  .products__case
  .products__case__wrap
  + .products__case__wrap::before {
  content: "";
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  height: 1px;
  background: #0044bb;
}
main[class^="page--products"] .products__case .products__case__ttl {
  grid-area: ttl;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__case .products__case__ttl {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__case .products__case__ttl {
    font-size: 2.5rem;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__case .products__case__ttl .br {
    display: none;
  }
}
main[class^="page--products"] .products__case .products__case__ttl .bg {
  position: relative;
  display: inline;
  margin-right: 0.5em;
  background: #0044bb;
  padding-inline: 0.5em;
  color: #fff;
  line-height: 2;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  z-index: 0;
}
main[class^="page--products"] .products__case .products__case__ttl .min {
  display: inline-block;
  font-size: 1.25rem;
}
main[class^="page--products"] .products__case .products__case__txt {
  grid-area: txt;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__case
    .products__case__txt
    p:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__case
    .products__case__txt
    p:nth-of-type(n + 2) {
    margin-top: 30px;
  }
}
main[class^="page--products"] .products__case .products__case__txt ol,
main[class^="page--products"] .products__case .products__case__txt ul {
  display: grid;
  gap: 0.5em 0;
  margin-top: 0.5em;
}
main[class^="page--products"] .products__case .products__case__txt li {
  padding-left: 1.5em;
  text-indent: -1.45em;
  list-style: circle inside;
  text-align: justify;
}
main[class^="page--products"] .products__case .products__case__txt .em {
  background-color: #fce762;
}
main[class^="page--products"] .products__case .products__case__container {
  grid-area: container;
}
main[class^="page--products"] .products__case .products__case__subttl {
  color: #0044bb;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__case .products__case__subttl {
    margin-top: 10px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__case .products__case__subttl {
    margin-top: 20px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__case .products__case__subttl {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__case .products__case__subttl {
    font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem);
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__case .products__case__subttl {
    font-size: 1.875rem;
  }
}
main[class^="page--products"] .products__case .products__case__merit {
  display: grid;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__case .products__case__merit {
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__case .products__case__merit {
    gap: 40px;
  }
}
main[class^="page--products"]
  .products__case
  .products__case__merit
  .merit__item {
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__case
    .products__case__merit
    .merit__item {
    padding-left: 60px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__case
    .products__case__merit
    .merit__item {
    padding-left: 80px;
  }
}
main[class^="page--products"]
  .products__case
  .products__case__merit
  .merit__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  place-content: center;
  border-radius: 50%;
  background-color: #0044bb;
  color: #fff;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .products__case
    .products__case__merit
    .merit__item::before {
    width: 40px;
    height: 40px;
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .products__case
    .products__case__merit
    .merit__item::before {
    width: 60px;
    height: 60px;
    font-size: 1.75rem;
  }
}
main[class^="page--products"]
  .products__case
  .products__case__merit
  .merit__item:nth-of-type(1)::before {
  content: "01";
}
main[class^="page--products"]
  .products__case
  .products__case__merit
  .merit__item:nth-of-type(2)::before {
  content: "02";
}
main[class^="page--products"]
  .products__case
  .products__case__merit
  .merit__item:nth-of-type(3)::before {
  content: "03";
}
main[class^="page--products"] .products__case .products__case__img {
  grid-area: img;
}
main[class^="page--products"] .products__case .note {
  grid-area: note;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 1024px) {
  main[class^="page--products"] .products__case .note {
    flex-direction: column;
  }
}
main[class^="page--products"] .products__case .note .note__ttl {
  color: #0044bb;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__case .note .note__ttl {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__case .note .note__ttl {
    font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem);
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__case .note .note__ttl {
    font-size: 1.875rem;
  }
}
main[class^="page--products"] .products__case .note .note__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__case .note .note__list {
    margin-top: 20px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__case .note .note__list {
    margin-left: 40px;
    gap: 20px;
  }
}
main[class^="page--products"] .products__case .note .note__item {
  margin-inline: 1em;
  border-radius: 50px;
  border: 1px solid #0044bb;
  padding-inline: 0.5em;
  color: #0044bb;
  text-align: center;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__case .note .note__item {
    margin-top: 1em;
  }
}
main[class^="page--products"] .products__works {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__works {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__works {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__works {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__works {
    padding-top: 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__works {
    padding-top: 160px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__works {
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__works {
    padding-bottom: 40px;
  }
}
main[class^="page--products"] .products__works .products__wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-radius: 4px;
  background: #d7e6ff;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__works .products__wrap {
    padding: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__works .products__wrap {
    padding: 40px;
  }
}
main[class^="page--products"] .products__works .products__wrap::before {
  content: "WORKS";
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(0, -80%);
  color: #d7e6ff;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-style: italic;
  line-height: 1;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__works .products__wrap::before {
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__works .products__wrap::before {
    font-size: 3.75rem;
  }
}
main[class^="page--products"] .products__works .products__works__ttl {
  display: inline-block;
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__works .products__works__desc {
    margin-left: 40px;
  }
}
main[class^="page--products"] .products__works .products__works__container {
  width: 100%;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__works .products__works__container {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__works .products__works__container {
    margin-top: 40px;
  }
}
main[class^="page--products"] .works {
  display: grid;
}
@media (max-width: 767px) {
  main[class^="page--products"] .works {
    grid-template: "ttl" auto "img" auto "txt" auto/100%;
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .works {
    grid-template: "ttl img" auto "txt img" auto/1fr 1fr;
    gap: 40px 80px;
  }
}
main[class^="page--products"] .works .works__ttl {
  grid-area: ttl;
}
main[class^="page--products"] .works .works__ttl .min {
  display: block;
}
main[class^="page--products"] .works .works__txt {
  grid-area: txt;
}
main[class^="page--products"] .works .works__img {
  grid-area: img;
}
main[class^="page--products"] .products__column {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__column {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .products__column {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .products__column {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__column {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__column {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__column {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__column {
    padding-bottom: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .products__column-archive {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .products__column-archive {
    margin-top: 80px;
  }
}
main[class^="page--products"] .page__products-bnr {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--products"] .page__products-bnr {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--products"] .page__products-bnr {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--products"] .page__products-bnr {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .page__products-bnr {
    padding-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .page__products-bnr {
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  main[class^="page--products"] .page__products-bnr {
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .page__products-bnr {
    padding-bottom: 40px;
  }
}
main[class^="page--products"] .page__products-bnr .page__products-bnr__ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  main[class^="page--products"] .page__products-bnr .page__products-bnr__ttl {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .page__products-bnr .page__products-bnr__ttl {
    font-size: 2.5rem;
  }
}
main[class^="page--products"] .page__products-bnr .page__products-bnr__slider {
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--products"]
    .page__products-bnr
    .page__products-bnr__slider {
    padding: 20px 60px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"]
    .page__products-bnr
    .page__products-bnr__slider {
    padding: 40px 80px;
  }
}
main[class^="page--products"] .page__products-bnr .swiper-slide {
  text-align: center;
}
main[class^="page--products"] .page__products-bnr .swiper-slide > a:hover {
  opacity: 0.7;
}
main[class^="page--products"] .page__products-bnr .swiper-button-prev,
main[class^="page--products"] .page__products-bnr .swiper-button-next {
  border-radius: 50%;
  border: 1px solid #0044bb;
  background: transparent;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  main[class^="page--products"] .page__products-bnr .swiper-button-prev,
  main[class^="page--products"] .page__products-bnr .swiper-button-next {
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--products"] .page__products-bnr .swiper-button-prev,
  main[class^="page--products"] .page__products-bnr .swiper-button-next {
    width: 60px;
    height: 60px;
  }
}
main[class^="page--products"] .page__products-bnr .swiper-button-prev::after,
main[class^="page--products"] .page__products-bnr .swiper-button-next::after {
  color: #0044bb;
  font-size: 1.25rem;
}
main[class^="page--products"] .page__products-bnr .swiper-button-prev:hover,
main[class^="page--products"] .page__products-bnr .swiper-button-next:hover {
  background: #d7e6ff;
}

/* ======================
  製品詳細ページ 個別スタイル
  ====================== */
main[class*="poroso"] .products__atf .products__atf__ttl {
  position: relative;
}
main[class*="poroso"] .products__atf .products__atf__ttl::after {
  background: url(/assets/images/pages/products/cover_poroso.webp) center
    no-repeat;
  background-size: cover;
}
main[class*="poroso"] .poroso__pv {
  display: grid;
}
@media (max-width: 1024px) {
  main[class*="poroso"] .poroso__pv {
    grid-template: "img" auto "ttl" auto "desc" auto/100%;
    gap: 20px;
  }
}
@media (min-width: 1025px) {
  main[class*="poroso"] .poroso__pv {
    grid-template: "img ttl" auto "img desc" auto/1fr 1fr;
    gap: 20px 80px;
  }
}
main[class*="poroso"] .poroso__pv .poroso__pv__ttl {
  grid-area: ttl;
  font-weight: 500;
  letter-spacing: 0;
}
@media (max-width: 1024px) {
  main[class*="poroso"] .poroso__pv .poroso__pv__ttl {
    text-align: center;
  }
}
main[class*="poroso"] .poroso__pv .poroso__pv__desc {
  grid-area: desc;
}
main[class*="poroso"] .poroso__pv .poroso__pv__img {
  grid-area: img;
}
@media (max-width: 1024px) {
  main[class*="poroso"] .poroso__pv .poroso__pv__img {
    text-align: center;
  }
  main[class*="poroso"] .poroso__pv .poroso__pv__img video {
    max-width: 100%;
    height: 100%;
  }
}
main[class*="poroso"] .poroso__feature {
  position: relative;
}
@media (max-width: 767px) {
  main[class*="poroso"] .poroso__feature {
    margin-top: 80px;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"] .poroso__feature {
    margin-top: 160px;
  }
}
main[class*="poroso"] .poroso__feature .poroso__feature__ttl {
  position: relative;
}
@media (min-width: 768px) {
  main[class*="poroso"] .poroso__feature .poroso__feature__ttl {
    width: 50%;
    word-break: keep-all;
  }
}
main[class*="poroso"] .poroso__feature .poroso__feature__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  color: #0044bb;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
  right: 0;
}
@media (max-width: 767px) {
  main[class*="poroso"] .poroso__feature .poroso__feature__ttl::before {
    right: 0;
    transform: translate(0, -50%);
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"] .poroso__feature .poroso__feature__ttl::before {
    right: calc(-100% - 80px);
    transform: translate(0, -50%);
    font-size: 7.5rem;
  }
}
@media (max-width: 767px) {
  main[class*="poroso"] .poroso__feature .poroso__feature__nav {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"] .poroso__feature .poroso__feature__nav {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  main[class*="poroso"] .poroso__feature .poroso__feature__container {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"] .poroso__feature .poroso__feature__container {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  main[class*="poroso"]
    .poroso__feature
    .poroso__feature__item:nth-of-type(n + 2) {
    margin-top: 80px;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"]
    .poroso__feature
    .poroso__feature__item:nth-of-type(n + 2) {
    margin-top: 160px;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"]
    .poroso__feature
    .poroso__feature__item:nth-of-type(even).feature {
    grid-template: ". img" 80px "ttl img" auto "desc img" auto "desc ." 40px/50% 50%;
  }
}
main[class*="poroso"]
  .poroso__feature
  .poroso__feature__item:nth-of-type(even).feature
  .feature__img {
  position: relative;
}
@media (min-width: 768px) {
  main[class*="poroso"]
    .poroso__feature
    .poroso__feature__item:nth-of-type(even).feature
    .feature__img
    .img-box {
    position: absolute;
    right: 0;
  }
}
main[class*="poroso"] .poroso__feature .feature-nav {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
  display: grid;
  width: 100%;
  height: max-content;
}
@media (max-width: 767px) {
  main[class*="poroso"] .poroso__feature .feature-nav {
    grid-template-rows: repeat(3, 1fr);
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"] .poroso__feature .feature-nav {
    grid-template-columns: repeat(3, 1fr);
    gap: 80px;
  }
}
main[class*="poroso"] .poroso__feature .feature-nav .featur-nav__item {
  padding-left: 1.5em;
  text-indent: -1.45em;
  list-style: circle inside;
  text-align: justify;
}
main[class*="poroso"] .poroso__feature .feature-nav .feature-nav__ttl {
  position: relative;
  display: block;
  background: #fff;
  color: #0044bb;
  text-align: right;
  letter-spacing: 0.1em;
  z-index: 0;
}
@media (max-width: 767px) {
  main[class*="poroso"] .poroso__feature .feature-nav .feature-nav__ttl {
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class*="poroso"] .poroso__feature .feature-nav .feature-nav__ttl {
    font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem);
  }
}
@media (min-width: 1025px) {
  main[class*="poroso"] .poroso__feature .feature-nav .feature-nav__ttl {
    font-size: 1.875rem;
  }
}
main[class*="poroso"] .poroso__feature .feature-nav .feature-nav__ttl::before {
  content: attr(data-title);
  position: absolute;
  bottom: 50%;
  left: 0;
  font-family:
    "Oswald", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-style: italic;
}
@media (max-width: 767px) {
  main[class*="poroso"]
    .poroso__feature
    .feature-nav
    .feature-nav__ttl::before {
    font-size: 0.6875rem;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"]
    .poroso__feature
    .feature-nav
    .feature-nav__ttl::before {
    font-size: 1.25rem;
  }
}
main[class*="poroso"] .poroso__feature .feature-nav .feature-nav__ttl::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 90%;
  height: 1px;
  background: #0044bb;
  z-index: -10;
}
main[class*="poroso"] .poroso__feature .feature-nav .feature-nav__ttl .bg {
  display: inline-block;
  background: #fff;
  padding-left: 0.5em;
}
main[class*="poroso"] .poroso__feature .feature-nav .feature-nav__ttl .small {
  font-size: 1rem;
}
main[class*="poroso"] .poroso__feature .feature {
  display: grid;
}
@media (max-width: 767px) {
  main[class*="poroso"] .poroso__feature .feature {
    grid-template: "img " auto "ttl" auto "desc" auto/100%;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"] .poroso__feature .feature {
    grid-template: "img ." auto "img ttl" auto "img desc" auto ". desc" 40px/50% 50%;
    gap: 40px 0;
  }
}
main[class*="poroso"] .poroso__feature .feature .feature__ttl {
  grid-area: ttl;
  color: #0044bb;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  text-align: center;
  line-height: 1;
  text-shadow: 4px 4px 6px rgba(239, 239, 239, 0.8);
  word-break: keep-all;
  white-space: nowrap;
  z-index: 10;
}
@media (max-width: 767px) {
  main[class*="poroso"] .poroso__feature .feature .feature__ttl {
    font-size: 2.5rem;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"] .poroso__feature .feature .feature__ttl {
    font-size: 7.5rem;
  }
}
@media (max-width: 767px) {
  main[class*="poroso"] .poroso__feature .feature .feature__ttl .min {
    font-size: 1.375rem;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"] .poroso__feature .feature .feature__ttl .min {
    font-size: 3.75rem;
  }
}
@media (min-width: 768px) {
  main[class*="poroso"] .poroso__feature .feature .feature__ttl .c-white {
    color: #fff;
  }
}
main[class*="poroso"] .poroso__feature .feature .feature__img {
  grid-area: img;
}
@media (max-width: 1024px) {
  main[class*="poroso"] .poroso__feature .feature .feature__img {
    text-align: center;
  }
}
main[class*="poroso"] .poroso__feature .feature .feature__img .img-box {
  display: block;
  aspect-ratio: 16/9;
}
@media (min-width: 768px) {
  main[class*="poroso"] .poroso__feature .feature .feature__img .img-box {
    width: 150%;
  }
}
main[class*="poroso"] .poroso__feature .feature .feature__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main[class*="poroso"] .poroso__feature .feature .feature__desc {
  position: relative;
  grid-area: desc;
  display: grid;
  gap: 1em;
  margin-top: 1em;
  z-index: 0;
}
main[class*="poroso"] .poroso__feature .feature .feature__desc::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 80px);
  height: calc(100% + 80px);
  background: #d7e6ff;
  z-index: -10;
}
main[class*="poroso"] .poroso__feature .feature .feature__item {
  padding-left: 1.5em;
  text-indent: -1.45em;
  list-style: circle inside;
  text-align: justify;
}
main[class*="poroso"] .news-article {
  position: relative;
}
@media (max-width: 767px) {
  main[class*="poroso"] .news-article {
    padding-top: 77.7777777778%;
  }
}
main[class*="poroso"] .news-article::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 45/35;
  background: url(/assets/images/pages/products/poroso_article.jpg) center
    no-repeat;
  background-size: contain;
}
@media (min-width: 768px) {
  main[class*="poroso"] .news-article::before {
    transform: translate(-100%, 0);
  }
}
@media (min-width: 768px) {
  main[class*="poroso"] .mod__column {
    aspect-ratio: 2/1;
  }
}
main[class*="poroso"] .mod__column .ex-link {
  text-decoration: underline;
  color: #0044bb;
}

main[class*="print"] .products__atf .products__atf__ttl {
  position: relative;
}
main[class*="print"] .products__atf .products__atf__ttl::after {
  background: url(/assets/images/pages/products/cover_print.webp) center
    no-repeat;
  background-size: cover;
}
main[class*="print"] .equipment {
  position: relative;
}
main[class*="print"] .equipment::after {
  content: "";
  grid-row: span 2;
  width: 100%;
  height: 100%;
  background: url(/assets/images/pages/products/print_equipment.webp) center
    no-repeat;
  background-size: cover;
  border-radius: 15px;
}

main[class*="eco"] .products__atf .products__atf__ttl::after {
  background: url(/assets/images/pages/products/cover_aqueous.webp) center
    no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  main[class*="eco"] .products__case .products__case__wrap {
    grid-template-areas: "ttl" "img" "txt" "container" "note";
  }
}
@media (min-width: 768px) {
  main[class*="eco"] .products__case .products__case__wrap {
    grid-template: "ttl ttl" auto "txt img" auto "container img" 1fr "note note" max-content/1fr 1fr;
  }
}
@media (min-width: 768px) {
  main[class*="eco"] .products__case .products__case__wrap:nth-of-type(even) {
    grid-template: "ttl ttl" auto "img txt" auto "img container" 1fr "note note" max-content/1fr 1fr;
  }
}
main[class*="eco"] .mod__column .illust {
  position: relative;
}
main[class*="eco"] .mod__column .illust::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 16/9;
  background: url(/assets/images/pages/products/illust_recycle.svg) center
    no-repeat;
  background-size: contain;
}
@media (min-width: 768px) {
  main[class*="eco"] .mod__column .illust::before {
    transform: translate(-100%, 0);
  }
}

main[class*="extrusion"] .products__atf .products__atf__ttl::after {
  background: url(/assets/images/pages/products/cover_extrusion.webp) center
    no-repeat;
  background-size: cover;
}
main[class*="extrusion"] .mod__column .illust {
  position: relative;
}
@media (max-width: 767px) {
  main[class*="extrusion"] .mod__column .illust {
    padding-top: 77.7777777778%;
  }
}
main[class*="extrusion"] .mod__column .illust::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 45/35;
  background: url(/assets/images/pages/products/illust_development.svg) center
    no-repeat;
  background-size: contain;
}
@media (min-width: 768px) {
  main[class*="extrusion"] .mod__column .illust::before {
    transform: translate(-100%, 0);
  }
}

main[class*="dry"] .products__atf .products__atf__ttl::after {
  background: url(/assets/images/pages/products/cover_dry.webp) center no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  main[class*="dry"] .products__case .products__case__wrap {
    grid-template-areas: "ttl" "img" "txt" "note";
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class*="dry"] .products__case .products__case__wrap {
    grid-template: "ttl ttl" auto "txt img" auto "note note" 1fr/1fr 1fr;
  }
}
@media (min-width: 1025px) {
  main[class*="dry"] .products__case .products__case__wrap {
    grid-template: "ttl ttl" auto "txt img" auto "note img" 1fr/1fr 1fr;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class*="dry"] .products__case .products__case__wrap:nth-of-type(even) {
    grid-template: "ttl ttl" auto "img txt" auto "note note" 1fr/1fr 1fr;
  }
}
@media (min-width: 1025px) {
  main[class*="dry"] .products__case .products__case__wrap:nth-of-type(even) {
    grid-template: "ttl ttl" auto "img txt" auto "img note" 1fr/1fr 1fr;
  }
}
@media (min-width: 1025px) {
  main[class*="dry"] .products__case .note .note__list {
    margin-left: 0;
  }
}
main[class*="dry"] .mod__column .illust01 {
  position: relative;
}
main[class*="dry"] .mod__column .illust01::before {
  content: "";
  position: absolute;
  top: 0;
  width: calc(100% - 40px);
  aspect-ratio: 16/9;
  background: url(/assets/images/pages/products/illust_dry01.webp) center
    no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  main[class*="dry"] .mod__column .illust01::before {
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media (min-width: 768px) {
  main[class*="dry"] .mod__column .illust01::before {
    left: -20px;
    transform: translate(-100%, 0);
  }
}
main[class*="dry"] .mod__column .illust02 {
  position: relative;
}
@media (max-width: 767px) {
  main[class*="dry"] .mod__column .illust02 {
    padding-bottom: 56.25%;
  }
}
main[class*="dry"] .mod__column .illust02::before {
  content: "";
  position: absolute;
  width: calc(100% - 40px);
  aspect-ratio: 16/9;
  background: url(/assets/images/pages/products/illust_dry02.svg) center
    no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  main[class*="dry"] .mod__column .illust02::before {
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media (min-width: 768px) {
  main[class*="dry"] .mod__column .illust02::before {
    top: 0;
    right: -20px;
    transform: translate(100%, 0);
  }
}

main[class*="slit"] .products__atf .products__atf__ttl {
  position: relative;
}
main[class*="slit"] .products__atf .products__atf__ttl::after {
  background: url(/assets/images/pages/products/cover_slit.webp) center
    no-repeat;
  background-size: cover;
}

main[class*="pouch"] .products__atf .products__atf__ttl {
  position: relative;
}
main[class*="pouch"] .products__atf .products__atf__ttl::after {
  background: url(/assets/images/pages/products/cover_pouch.webp) center
    no-repeat;
  background-size: cover;
}
main[class*="pouch"] .pouch__feature01,
main[class*="pouch"] .pouch__feature02,
main[class*="pouch"] .pouch__feature03,
main[class*="pouch"] .pouch__feature04,
main[class*="pouch"] .pouch__feature05 {
  position: relative;
}
@media (max-width: 767px) {
  main[class*="pouch"] .pouch__feature01,
  main[class*="pouch"] .pouch__feature02,
  main[class*="pouch"] .pouch__feature03,
  main[class*="pouch"] .pouch__feature04,
  main[class*="pouch"] .pouch__feature05 {
    padding-top: 120px;
  }
}
@media (min-width: 768px) {
  main[class*="pouch"] .pouch__feature01,
  main[class*="pouch"] .pouch__feature02,
  main[class*="pouch"] .pouch__feature03,
  main[class*="pouch"] .pouch__feature04,
  main[class*="pouch"] .pouch__feature05 {
    padding-left: 260px;
    min-height: 220px;
  }
}
main[class*="pouch"] .pouch__feature01::before,
main[class*="pouch"] .pouch__feature02::before,
main[class*="pouch"] .pouch__feature03::before,
main[class*="pouch"] .pouch__feature04::before,
main[class*="pouch"] .pouch__feature05::before {
  content: "";
  position: absolute;
}
@media (max-width: 767px) {
  main[class*="pouch"] .pouch__feature01::before,
  main[class*="pouch"] .pouch__feature02::before,
  main[class*="pouch"] .pouch__feature03::before,
  main[class*="pouch"] .pouch__feature04::before,
  main[class*="pouch"] .pouch__feature05::before {
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 150px;
    height: 120px;
  }
}
@media (min-width: 768px) {
  main[class*="pouch"] .pouch__feature01::before,
  main[class*="pouch"] .pouch__feature02::before,
  main[class*="pouch"] .pouch__feature03::before,
  main[class*="pouch"] .pouch__feature04::before,
  main[class*="pouch"] .pouch__feature05::before {
    top: 50%;
    left: 0;
    translate: 0 -50%;
    width: 220px;
    height: 220px;
  }
}
main[class*="pouch"] .pouch__feature01::before {
  background: url(/assets/images/pages/products/pouch_feature01.webp) center
    no-repeat;
  background-size: contain;
}
main[class*="pouch"] .pouch__feature02::before {
  background: url(/assets/images/pages/products/pouch_feature02.webp) center
    no-repeat;
  background-size: contain;
}
main[class*="pouch"] .pouch__feature03::before {
  background: url(/assets/images/pages/products/pouch_feature03.webp) center
    no-repeat;
  background-size: contain;
}
main[class*="pouch"] .pouch__feature04::before {
  background: url(/assets/images/pages/products/pouch_feature04.webp) center
    no-repeat;
  background-size: contain;
}
main[class*="pouch"] .pouch__feature05::before {
  background: url(/assets/images/pages/products/pouch_feature05.webp) center
    no-repeat;
  background-size: contain;
}

/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
main[class^="page--business"] .business__atf {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__atf {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--business"] .business__atf {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--business"] .business__atf {
    padding-inline: 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__atf {
    min-height: 540px;
  }
}
main[class^="page--business"] .business__atf .business__atf__ttl {
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__atf .business__atf__ttl {
    padding-top: 50vw;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__atf .business__atf__ttl {
    width: 50%;
  }
}
main[class^="page--business"] .business__atf .business__atf__ttl::after {
  content: "";
  position: absolute;
  width: auto;
  aspect-ratio: 960/540;
  z-index: -10;
  background: url(/assets/images/pages/business/cover_business2.webp) center
    no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__atf .business__atf__ttl::after {
    top: 0;
    right: -20px;
    transform: translate(0, 0);
    height: 50vw;
    border-radius: 40px 0 0 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__atf .business__atf__ttl::after {
    top: 0;
    right: -40px;
    transform: translate(100%, 0);
    height: 540px;
    border-radius: 100px 0 0 100px;
  }
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__atf .business__atf__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__atf .business__atf__desc {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__atf .business__atf__desc {
    width: 50%;
  }
}
main[class^="page--business"] .business__feature {
  display: grid;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__feature {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--business"] .business__feature {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--business"] .business__feature {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__feature {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__feature {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__feature {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__feature {
    padding-bottom: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__feature {
    gap: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__feature {
    gap: 80px;
  }
}
main[class^="page--business"] .business__feature .business__feature__wrap {
  display: grid;
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__feature .business__feature__wrap {
    grid-template: "ttl" auto "img" auto "txt" 1fr "btn" auto/auto;
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__feature .business__feature__wrap {
    grid-template: "ttl ttl" auto "txt img" 1fr "btn img" auto/1fr 1fr;
    gap: 40px 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"]
    .business__feature
    .business__feature__wrap:nth-of-type(even) {
    grid-template: "ttl ttl" auto "img txt" 1fr "img btn" auto/1fr 1fr;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"]
    .business__feature
    .business__feature__wrap:nth-of-type(even)
    .business__feature__ttl {
    text-align: right;
  }
}
main[class^="page--business"] .business__feature .business__feature__ttl {
  grid-area: ttl;
}
main[class^="page--business"] .business__feature .business__feature__txt {
  grid-area: txt;
}
main[class^="page--business"] .business__feature .business__feature__img {
  grid-area: img;
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__feature .business__feature__img {
    text-align: center;
  }
}
main[class^="page--business"] .business__feature .business__feature__btn {
  grid-area: btn;
  text-align: center;
}
main[class^="page--business"]
  .business__feature
  .business__feature__btn:has(.mod__sub-btn) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
main[class^="page--business"] .business__company {
  display: grid;
  max-width: 1140px;
  margin-inline: auto;
  position: relative;
  z-index: 0;
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__company {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--business"] .business__company {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--business"] .business__company {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__company {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__company {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__company {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__company {
    padding-bottom: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__company {
    grid-template: "ttl" auto "img" auto "desc" auto "btn" auto/auto;
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__company {
    grid-template: "img ttl" auto "img desc" auto "img btn" auto/1fr 1fr;
    gap: 20px 80px;
  }
}
main[class^="page--business"] .business__company::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 100vw;
  background: center repeat-x;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 40"><defs><style>.cls-1{fill:%23efefef;stroke-width:0px;}</style></defs><polygon class="cls-1" points="45 0 0 40 90 40 45 0"/></svg>');
  background-size: contain;
}
@media (max-width: 767px) {
  main[class^="page--business"] .business__company::before {
    height: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--business"] .business__company::before {
    height: 40px;
  }
}
main[class^="page--business"] .business__company::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100vw;
  height: 100%;
  background-color: #efefef;
  z-index: -10;
}
main[class^="page--business"] .business__company .business__company__ttl {
  grid-area: ttl;
}
main[class^="page--business"] .business__company .business__company__desc {
  grid-area: desc;
}
main[class^="page--business"] .business__company .business__company__img {
  grid-area: img;
}
main[class^="page--business"] .business__company .business__company__btn {
  grid-area: btn;
  text-align: center;
}

/* ======================
  品質管理／環境対策ページ 個別スタイル
  ====================== */
main[class*="quality"] .business__atf .business__atf__ttl::after {
  content: "";
  position: absolute;
  width: auto;
  aspect-ratio: 960/540;
  z-index: -10;
  background: url(/assets/images/pages/business/cover_quality.webp) center
    no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  main[class*="quality"] .business__atf .business__atf__ttl::after {
    top: 0;
    right: -20px;
    transform: translate(0, 0);
    height: 50vw;
    border-radius: 40px 0 0 40px;
  }
}
@media (min-width: 768px) {
  main[class*="quality"] .business__atf .business__atf__ttl::after {
    top: 0;
    right: -40px;
    transform: translate(100%, 0);
    height: 540px;
    border-radius: 100px 0 0 100px;
  }
}
@media (max-width: 767px) {
  main[class*="quality"] .business__feature {
    grid-template: "ttl" auto "img" auto "txt" auto "img02" auto "txt02" auto "note" auto/auto;
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="quality"] .business__feature {
    grid-template: "ttl ttl" auto "txt img" auto "img02 txt02" auto "img02 note" auto/1fr 1fr;
    gap: 20px 80px;
  }
}
main[class*="quality"]
  .business__feature
  .business__feature__txt:nth-of-type(2) {
  grid-area: txt02;
}
main[class*="quality"]
  .business__feature
  .business__feature__img:nth-of-type(2) {
  grid-area: img02;
}
main[class*="quality"] .business__feature .note {
  grid-area: note;
}
main[class*="quality"] .quality__system {
  display: grid;
  max-width: 1140px;
  margin-inline: auto;
  position: relative;
  z-index: 0;
}
@media (max-width: 767px) {
  main[class*="quality"] .quality__system {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class*="quality"] .quality__system {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class*="quality"] .quality__system {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="quality"] .quality__system {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="quality"] .quality__system {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="quality"] .quality__system {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="quality"] .quality__system {
    padding-bottom: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="quality"] .quality__system {
    grid-template: "ttl" auto "img" auto "desc" auto "column" auto/auto;
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="quality"] .quality__system {
    grid-template: "ttl ttl" auto "img desc" auto "column column" auto/1fr 1fr;
    gap: 20px 80px;
  }
}
main[class*="quality"] .quality__system::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 100vw;
  background: center repeat-x;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 40"><defs><style>.cls-1{fill:%23efefef;stroke-width:0px;}</style></defs><polygon class="cls-1" points="45 0 0 40 90 40 45 0"/></svg>');
  background-size: contain;
}
@media (max-width: 767px) {
  main[class*="quality"] .quality__system::before {
    height: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="quality"] .quality__system::before {
    height: 40px;
  }
}
main[class*="quality"] .quality__system::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100vw;
  height: 100%;
  background-color: #efefef;
  z-index: -10;
}
main[class*="quality"] .quality__system .quality__system__ttl {
  grid-area: ttl;
  word-break: auto-phrase;
}
@media (max-width: 767px) {
  main[class*="quality"] .quality__system .quality__system__ttl {
    text-align: center;
  }
}
@media (min-width: 768px) {
  main[class*="quality"] .quality__system .quality__system__ttl {
    text-align: right;
  }
}
main[class*="quality"] .quality__system .quality__system__desc {
  grid-area: desc;
}
main[class*="quality"] .quality__system .quality__system__img {
  grid-area: img;
}
@media (max-width: 767px) {
  main[class*="quality"] .quality__system .quality__system__img {
    text-align: center;
  }
}
main[class*="quality"] .quality__system .mod__column {
  grid-area: column;
  background: #fff;
}
main[class*="quality"] .quality__system .mod__column .illust01 {
  position: relative;
}
main[class*="quality"] .quality__system .mod__column .illust01::before {
  content: "";
  position: absolute;
  top: 0;
  width: calc(100% - 40px);
  aspect-ratio: 450/250;
  background: url(/assets/images/pages/business/illust_management01.svg) center
    no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  main[class*="quality"] .quality__system .mod__column .illust01::before {
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media (min-width: 768px) {
  main[class*="quality"] .quality__system .mod__column .illust01::before {
    left: -20px;
    transform: translate(-100%, 0);
  }
}
main[class*="quality"] .quality__system .mod__column .illust02 {
  position: relative;
}
@media (max-width: 767px) {
  main[class*="quality"] .quality__system .mod__column .illust02 {
    padding-bottom: 56.25%;
  }
}
main[class*="quality"] .quality__system .mod__column .illust02::before {
  content: "";
  position: absolute;
  width: calc(100% - 40px);
  aspect-ratio: 450/250;
  background: url(/assets/images/pages/business/illust_management02.svg) center
    no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  main[class*="quality"] .quality__system .mod__column .illust02::before {
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media (min-width: 768px) {
  main[class*="quality"] .quality__system .mod__column .illust02::before {
    top: 0;
    right: -20px;
    transform: translate(100%, 0);
  }
}

main[class*="environmental"] .business__atf .business__atf__ttl::after {
  content: "";
  position: absolute;
  width: auto;
  aspect-ratio: 960/540;
  z-index: -10;
  background: url(/assets/images/pages/business/cover_environmental.webp) center
    no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  main[class*="environmental"] .business__atf .business__atf__ttl::after {
    top: 0;
    right: -20px;
    transform: translate(0, 0);
    height: 50vw;
    border-radius: 40px 0 0 40px;
  }
}
@media (min-width: 768px) {
  main[class*="environmental"] .business__atf .business__atf__ttl::after {
    top: 0;
    right: -40px;
    transform: translate(100%, 0);
    height: 540px;
    border-radius: 100px 0 0 100px;
  }
}

/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
main[class^="page--company"] .company__atf {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__atf {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--company"] .company__atf {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--company"] .company__atf {
    padding-inline: 80px;
  }
}
main[class^="page--company"] .company__atf .company__atf__ttl {
  width: 50%;
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__atf .company__atf__ttl {
    margin-top: 50px;
  }
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__atf .company__atf__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__atf .company__atf__desc {
    margin-top: 40px;
  }
}
main[class^="page--company"] .company__container {
  display: flex;
  max-width: 980px;
  margin-inline: auto;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__container {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--company"] .company__container {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--company"] .company__container {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__container {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__container {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__container {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__container {
    padding-bottom: 80px;
  }
}
main[class^="page--company"] .company__container dt {
  border-top: 1px solid #919191;
  padding-block: 2em;
  font-weight: 500;
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__container dt {
    width: 80px;
  }
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__container dt {
    width: 160px;
  }
}
main[class^="page--company"] .company__container dt:last-of-type {
  border-bottom: 1px solid #919191;
}
main[class^="page--company"] .company__container dd {
  border-top: 1px solid #919191;
  padding-block: 2em;
  font-weight: 700;
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__container dd {
    width: calc(100% - 80px);
    padding-inline: 20px 0;
  }
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__container dd {
    width: calc(100% - 160px);
    padding-inline: 40px 0;
  }
}
main[class^="page--company"] .company__container dd + dd {
  width: 100%;
  border-top: none;
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__container dd + dd {
    padding-left: 100px;
  }
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__container dd + dd {
    padding-left: 200px;
  }
}
main[class^="page--company"] .company__container dd:last-of-type {
  border-bottom: 1px solid #919191;
}
main[class^="page--company"] .company__container .certification {
  display: grid;
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__container .certification {
    grid-template-columns: repeat(2, max-content);
    gap: 40px;
    text-align: center;
  }
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__container .certification img {
    width: 60px;
    aspect-ratio: 1/1;
  }
}
main[class^="page--company"] .company__container .office {
  display: grid;
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__container .office {
    grid-template: "ttl" max-content "address" 1fr "map" auto/auto;
    gap: 10px;
  }
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__container .office {
    grid-template: "ttl map" max-content "address map" 1fr / auto 250px;
    gap: 10px 40px;
  }
}
main[class^="page--company"] .company__container .ttl {
  grid-area: ttl;
  letter-spacing: 0.1em;
}
main[class^="page--company"] .company__container .ttl .bg {
  display: inline-block;
  padding-inline: 0.5em;
  background: #0044bb;
  color: #fff;
  font-weight: 500;
}
main[class^="page--company"] .company__container .address {
  grid-area: address;
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__container .access {
    margin-top: 10px;
  }
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__container .access {
    margin-top: 20px;
  }
}
main[class^="page--company"] .company__container .access .access__ttl {
  display: inline-block;
  background: #efefef;
  border-radius: 4px;
  padding-inline: 0.5em;
}
main[class^="page--company"] .company__container .access .access__list {
  padding-left: 1em;
}
main[class^="page--company"] .company__container .access .access__item {
  list-style: disc;
}
main[class^="page--company"] .company__container .map {
  grid-area: map;
  width: 100%;
  max-width: 100%;
}
main[class^="page--company"] .company__container a[href^="tel"] {
  display: block;
  margin-top: 0.5em;
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__container a[href^="tel"] {
    pointer-events: none;
  }
}
main[class^="page--company"] .company__nav {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__nav {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--company"] .company__nav {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--company"] .company__nav {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__nav {
    padding-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__nav {
    padding-top: 40px;
  }
}
@media (max-width: 767px) {
  main[class^="page--company"] .company__nav {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--company"] .company__nav {
    padding-bottom: 80px;
  }
}
main[class^="page--company"] .company__nav .company__nav__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(auto, 245px));
  gap: 20px;
  justify-content: center;
  margin-inline: auto;
}
@media (min-width: 1025px) {
  main[class^="page--company"] .company__nav .company__nav__list {
    width: 50%;
  }
}
main[class^="page--company"] .company__nav .company__nav__item {
  aspect-ratio: 245/138;
}
main[class^="page--company"] .company__nav .company__nav__bnr {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: #0044bb;
  color: #fff;
  overflow: hidden;
  z-index: 0;
}
main[class^="page--company"]
  .company__nav
  .company__nav__bnr[href*="message"]::after {
  background: url(/assets/images/common/bnr_message.webp) center no-repeat;
  background-size: cover;
}
main[class^="page--company"]
  .company__nav
  .company__nav__bnr[href*="history"]::after {
  background: url(/assets/images/common/bnr_history.webp) center no-repeat;
  background-size: cover;
}
main[class^="page--company"] .company__nav .company__nav__bnr::before {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}
main[class^="page--company"] .company__nav .company__nav__bnr::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: scale(1);
  opacity: 0.5;
  z-index: -10;
  pointer-events: none;
  transition: all 0.3s ease;
}
main[class^="page--company"] .company__nav .company__nav__bnr:hover::after {
  transform: scale(1.1);
}

/* ======================
  品質管理／環境対策ページ 個別スタイル
  ====================== */
main[class*="message"] .company__atf {
  text-align: center;
}
main[class*="message"] .company__atf .company__atf__ttl {
  margin-inline: auto;
}
main[class*="message"] .company__atf .mod__heading1::before {
  right: 50%;
}
main[class*="message"] .company__atf__lead {
  font-size: 1.75rem;
}
main[class*="message"] .company__atf__lead .bg {
  position: relative;
  display: inline;
  margin-right: 0.5em;
  background: #0044bb;
  padding-inline: 0.5em;
  color: #fff;
  line-height: 2;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  z-index: 0;
}
@media (min-width: 1025px) {
  main[class*="message"] .company__atf__lead .br {
    display: none;
  }
}
@media (max-width: 767px) {
  main[class*="message"] .company__container {
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .company__container {
    gap: 40px;
  }
}
main[class*="message"] .company__container p {
  letter-spacing: 0.1em;
}
main[class*="message"] .company__container .em {
  color: #0044bb;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2.4;
}
main[class*="message"] .company__container .sign {
  margin-left: auto;
  font-family:
    "Zen Old Mincho", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  text-align: right;
  font-size: 1.75rem;
}
@media (max-width: 767px) {
  main[class*="message"] .company__container .sign {
    max-width: 200px;
  }
}
main[class*="message"] .company__container .sign .min {
  display: inline-block;
  word-break: keep-all;
  overflow-wrap: break-word;
  font-size: 1rem;
}
main[class*="message"] .mod__heading2 {
  text-align: center;
}
main[class*="message"] .mod__heading2::before {
  top: auto !important;
  bottom: 0 !important;
  right: 50% !important;
  translate: 50% 350% !important;
  font-size: 1rem !important;
}
@media (min-width: 768px) {
  main[class*="message"] .mod__heading2::before {
    translate: 50% 200% !important;
  }
}
main[class*="message"] .message__policy {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
  border-top: 1px solid #0044bb;
}
@media (max-width: 767px) {
  main[class*="message"] .message__policy {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class*="message"] .message__policy {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class*="message"] .message__policy {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="message"] .message__policy {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .message__policy {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="message"] .message__policy {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .message__policy {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="message"] .message__policy {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .message__policy {
    padding-bottom: 80px;
  }
}
main[class*="message"] .message__policy .message__policy__ttl {
  position: relative;
}
main[class*="message"] .message__policy .message__policy__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  right: 0;
  color: #0044bb;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 1024px) {
  main[class*="message"] .message__policy .message__policy__ttl::before {
    font-size: 1.875rem;
    text-align: right;
    transform: translate(0, -2em);
    opacity: 0.3;
  }
}
@media (min-width: 1025px) {
  main[class*="message"] .message__policy .message__policy__ttl::before {
    font-size: 3.75rem;
  }
}
main[class*="message"] .message__policy .message__policy__container {
  border: 2px solid #0044bb;
}
@media (max-width: 767px) {
  main[class*="message"] .message__policy .message__policy__container {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .message__policy .message__policy__container {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="message"] .message__policy .message__policy__container {
    padding: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .message__policy .message__policy__container {
    padding: 40px;
  }
}
main[class*="message"] .message__policy .message__policy__txt {
  color: #0044bb;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 2.4;
}
@media (max-width: 767px) {
  main[class*="message"] .message__policy .message__policy__txt {
    font-size: 0.875rem;
    word-break: auto-phrase;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .message__policy .message__policy__txt {
    font-size: 1.25rem;
  }
}
main[class*="message"] .message__goal {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class*="message"] .message__goal {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class*="message"] .message__goal {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class*="message"] .message__goal {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="message"] .message__goal {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .message__goal {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="message"] .message__goal {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .message__goal {
    padding-bottom: 80px;
  }
}
main[class*="message"] .message__goal .message__goal__ttl {
  position: relative;
}
main[class*="message"] .message__goal .message__goal__ttl::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  right: 0;
  color: #0044bb;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 1024px) {
  main[class*="message"] .message__goal .message__goal__ttl::before {
    font-size: 1.875rem;
    text-align: right;
    transform: translate(0, -2em);
    opacity: 0.3;
  }
}
@media (min-width: 1025px) {
  main[class*="message"] .message__goal .message__goal__ttl::before {
    font-size: 3.75rem;
  }
}
main[class*="message"] .message__goal .message__goal__container {
  display: grid;
  gap: 20px 0;
}
@media (max-width: 767px) {
  main[class*="message"] .message__goal .message__goal__container {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .message__goal .message__goal__container {
    margin-top: 80px;
  }
}
main[class*="message"] .message__goal .message__goal__item {
  position: relative;
  color: #0044bb;
  letter-spacing: 0.1em;
  word-break: auto-phrase;
}
@media (max-width: 767px) {
  main[class*="message"] .message__goal .message__goal__item {
    padding-left: 40px;
    font-size: 0.875rem;
    word-break: auto-phrase;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .message__goal .message__goal__item {
    padding-left: 80px;
    font-size: 1.25rem;
  }
}
main[class*="message"] .message__goal .message__goal__item::before {
  content: attr(data-title);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  height: 100%;
  color: #d7e6ff;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  font-style: italic;
  line-height: 1;
}
@media (max-width: 767px) {
  main[class*="message"] .message__goal .message__goal__item::before {
    width: 40px;
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  main[class*="message"] .message__goal .message__goal__item::before {
    width: 60px;
    font-size: 2.5rem;
  }
}

main[class*="history"] .company__container dt {
  display: grid;
  gap: 0 20px;
}
@media (max-width: 767px) {
  main[class*="history"] .company__container dt {
    grid-template: "year" max-content "month" 1fr / auto;
    width: 100%;
    padding-bottom: 0;
  }
}
@media (min-width: 768px) {
  main[class*="history"] .company__container dt {
    grid-template: "year month" auto/120fr 40fr;
    width: 180px;
  }
}
main[class*="history"] .company__container dt:not(:has(.year)) {
  border-top: none;
}
main[class*="history"] .company__container dt:not(:has(.year)) + dd {
  border-top: none;
}
main[class*="history"] .company__container dd {
  word-break: auto-phrase;
}
@media (max-width: 767px) {
  main[class*="history"] .company__container dd {
    width: 100%;
    border-top: none;
    padding-left: 1em;
    padding-top: 1em;
  }
}
@media (min-width: 768px) {
  main[class*="history"] .company__container dd {
    width: calc(100% - 180px);
  }
}
main[class*="history"] .company__container dd + dd {
  width: 100%;
  border-top: none;
}
@media (max-width: 767px) {
  main[class*="history"] .company__container dd + dd {
    padding-top: 0;
    padding-left: 1em;
  }
}
@media (min-width: 768px) {
  main[class*="history"] .company__container dd + dd {
    padding-left: 220px;
  }
}
main[class*="history"] .company__container .year {
  grid-area: year;
  display: inline-block;
}
main[class*="history"] .company__container .month {
  grid-area: month;
  display: inline-block;
}
@media (max-width: 767px) {
  main[class*="history"] .company__container .month {
    padding-left: 1em;
  }
}
@media (min-width: 768px) {
  main[class*="history"] .company__container .month {
    text-align: right;
  }
}

/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
main[class^="page--news--archive"] .news__atf {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--news--archive"] .news__atf {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--news--archive"] .news__atf {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--news--archive"] .news__atf {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--news--archive"] .news__atf {
    padding-top: 50px;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--archive"] .news__atf .news__atf__ttl {
    width: 50%;
  }
}
@media (max-width: 767px) {
  main[class^="page--news--archive"] .news__atf .news__atf__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--archive"] .news__atf .news__atf__desc {
    margin-top: 40px;
  }
}
main[class^="page--news--archive"] .news__list {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--news--archive"] .news__list {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--news--archive"] .news__list {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--news--archive"] .news__list {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--news--archive"] .news__list {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--archive"] .news__list {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--news--archive"] .news__list {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--archive"] .news__list {
    padding-bottom: 80px;
  }
}
main[class^="page--news--archive"] .news--archive {
  border-top: 1px solid #919191;
}
main[class^="page--news--archive"] .news--archive:last-of-type {
  border-bottom: 1px solid #919191;
}
main[class^="page--news--archive"] .news--archive .news--archive__item {
  position: relative;
  display: grid;
  width: 100%;
  height: auto;
  letter-spacing: 0.1em;
  cursor: pointer;
}
@media (max-width: 767px) {
  main[class^="page--news--archive"] .news--archive .news--archive__item {
    grid-template: "date" auto "ttl" / auto;
    padding: 1.5em 40px 1.5em 0;
    gap: 10px;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--archive"] .news--archive .news--archive__item {
    grid-template: "date ttl" auto/90px auto;
    padding: 1em 2em 1em 0;
    gap: 40px;
  }
}
main[class^="page--news--archive"] .news--archive .news--archive__item::after {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #222222;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}
main[class^="page--news--archive"] .news--archive .news--archive__item:hover {
  background: rgba(255, 255, 255, 0.5);
}
main[class^="page--news--archive"] .news--archive .news--archive__item .date {
  grid-area: date;
  display: inline-block;
}
main[class^="page--news--archive"] .news--archive .news--archive__item .ttl {
  grid-area: ttl;
}
@media (max-width: 767px) {
  main[class^="page--news--archive"] .news--archive .news--archive__item .ttl {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--archive"] .news--archive .news--archive__item .ttl {
    font-size: 1.125rem;
  }
}

main[class^="page--news--article"] .news__atf {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--news--article"] .news__atf {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--news--article"] .news__atf {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--news--article"] .news__atf {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--news--article"] .news__atf {
    padding-top: 50px;
  }
}
main[class^="page--news--article"] .news__atf .news__atf__ttl {
  position: relative;
  color: #0044bb;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  main[class^="page--news--article"] .news__atf .news__atf__ttl {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--article"] .news__atf .news__atf__ttl {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--news--article"] .news__atf .news__atf__ttl {
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--article"] .news__atf .news__atf__ttl {
    font-size: 2.5rem;
  }
}
main[class^="page--news--article"] .news--article .news--article__body {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
  border-bottom: 1px solid #919191;
}
@media (max-width: 767px) {
  main[class^="page--news--article"] .news--article .news--article__body {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--news--article"] .news--article .news--article__body {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--news--article"] .news--article .news--article__body {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--news--article"] .news--article .news--article__body {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--article"] .news--article .news--article__body {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--news--article"] .news--article .news--article__body {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--article"] .news--article .news--article__body {
    padding-bottom: 80px;
  }
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  *:first-child {
  margin-top: 0;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  *:last-child {
  margin-bottom: 0;
}
main[class^="page--news--article"] .news--article .news--article__body h2 {
  letter-spacing: 0.1em;
  border-bottom: 2px solid #0044bb;
  margin-block: 1.5em 0.5em;
}
@media (max-width: 767px) {
  main[class^="page--news--article"] .news--article .news--article__body h2 {
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--article"] .news--article .news--article__body h2 {
    font-size: 1.625rem;
  }
}
main[class^="page--news--article"] .news--article .news--article__body h3 {
  margin-block: 1em 0.5em;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  main[class^="page--news--article"] .news--article .news--article__body h3 {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--article"] .news--article .news--article__body h3 {
    font-size: 1.375rem;
  }
}
@media (max-width: 767px) {
  main[class^="page--news--article"] .news--article .news--article__body h4 {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--article"] .news--article .news--article__body h4 {
    font-size: 1rem;
  }
}
main[class^="page--news--article"] .news--article .news--article__body ul {
  padding-left: 2em;
}
main[class^="page--news--article"] .news--article .news--article__body ul > li {
  list-style: disc;
}
main[class^="page--news--article"] .news--article .news--article__body ol > li {
  list-style: decimal;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  li:nth-child(n + 2) {
  margin-top: 1em;
}
main[class^="page--news--article"] .news--article .news--article__body li p {
  margin-block: 0.5em;
}
main[class^="page--news--article"] .news--article .news--article__body p {
  margin-block: 1.5em;
}
main[class^="page--news--article"] .news--article .news--article__body small {
  display: block;
  margin-block: 1.5em;
}
main[class^="page--news--article"] .news--article .news--article__body img {
  margin-block: 1em;
}
main[class^="page--news--article"] .news--article .news--article__body a {
  color: #0044bb;
  text-decoration: underline;
  word-wrap: break-word;
}
main[class^="page--news--article"] .news--article .news--article__body a:hover {
  text-decoration: none;
  opacity: 0.7;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .deco__box {
  padding: 1em;
  background: #efefef;
  border-radius: 10px;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .deco__box:has(li) {
  padding-left: 2em;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .deco__center {
  text-align: center;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .deco__quote {
  margin-block: 1.5em;
  padding: 1.5em;
  background: #efefef;
  border-radius: 10px;
  font-size: 80%;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .deco__quote
  cite {
  display: block;
  margin-top: 1em;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .deco__sammary {
  position: relative;
  display: block;
  padding-left: 3em;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .deco__sammary::before {
  content: "概要";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  font-style: italic;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .deco__sammary::after {
  content: "";
  position: absolute;
  top: 0;
  left: 2.5em;
  width: 1px;
  height: 100%;
  background: #919191;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .deco__ttl {
  margin-block: 1em 0.5em;
  font-weight: bold;
}
@media (max-width: 767px) {
  main[class^="page--news--article"]
    .news--article
    .news--article__body
    .deco__ttl {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--news--article"]
    .news--article
    .news--article__body
    .deco__ttl {
    font-size: 1.125rem;
  }
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .deco__desc {
  padding-left: 1em;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .list-2col {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 1em;
  align-items: baseline;
}
main[class^="page--news--article"]
  .news--article
  .news--article__body
  .list-2col
  dt {
  font-size: 80%;
  font-weight: bold;
}

/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
main[class^="page--contact"] .contact__atf {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__atf {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--contact"] .contact__atf {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--contact"] .contact__atf {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__atf {
    padding-top: 50px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__atf .contact__atf__ttl {
    word-break: keep-all;
    width: 50%;
  }
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__atf .contact__atf__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__atf .contact__atf__desc {
    margin-top: 40px;
  }
}
main[class^="page--contact"] .contact__wrap {
  display: grid;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__wrap {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--contact"] .contact__wrap {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--contact"] .contact__wrap {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__wrap {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__wrap {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__wrap {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__wrap {
    padding-bottom: 80px;
  }
}
@media (max-width: 1024px) {
  main[class^="page--contact"] .contact__wrap {
    grid-template: "form" auto "head" auto/100%;
    gap: 40px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--contact"] .contact__wrap {
    grid-template: "head form" auto/1fr 1fr;
    gap: 80px;
  }
}
main[class^="page--contact"] .contact__head {
  grid-area: head;
  max-width: 570px;
  margin-inline: auto;
}
main[class^="page--contact"] .contact__head .contact__head__ttl {
  grid-area: ttl;
}
main[class^="page--contact"] .contact__head .contact__head__ttl .line {
  position: relative;
  display: inline-block;
  padding-bottom: 0.25em;
  color: #0044bb;
}
main[class^="page--contact"] .contact__head .contact__head__ttl .line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  height: 4px;
  background: linear-gradient(to left, #000080, #0044bb);
}
@media (max-width: 767px) {
  main[class^="page--contact"]
    .contact__head
    .contact__head__ttl:nth-of-type(n + 2) {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"]
    .contact__head
    .contact__head__ttl:nth-of-type(n + 2) {
    margin-top: 80px;
  }
}
main[class^="page--contact"] .contact__head .contact__head__desc {
  grid-area: desc;
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__head .contact__head__desc {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__head .contact__head__desc {
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__head .contact__head__container {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__head .contact__head__container {
    margin-top: 40px;
  }
}
main[class^="page--contact"] .contact__head .contact__head__address .tel {
  display: flex;
  flex-direction: column;
}
main[class^="page--contact"] .contact__head .contact__head__address .tel a {
  position: relative;
  padding: 10px;
  color: #0044bb;
  font-family:
    "Oswald", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 2.125rem;
  line-height: 1;
  padding-left: 30px;
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__head .contact__head__address .tel a {
    pointer-events: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class^="page--contact"] .contact__head .contact__head__address .tel a {
    font-size: 1.5rem;
  }
}
main[class^="page--contact"]
  .contact__head
  .contact__head__address
  .tel
  a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 25px;
  height: 25px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 34"><path fill="%230044bb" d="M9.86,23.63l-.17-.17c-3.46-3.47-6.04-6.92-7.66-10.84C.86,9.81.19,6.77.05,3.28c0-.17-.03-.68-.05-1.23C-.03.94.86.02,1.99.02h2.06S6.98,0,6.98,0c.41,0,.79.16,1.07.41.33.26.54.66.57,1.1.13,2.04.49,4.05,1.11,6.01.25.81.56,1.6.9,2.39.34.79,0,1.7-.77,2.08l-2.45,1.22c-.07.04-.1.12-.06.19,1.36,2.64,3.13,5.07,5.28,7.23l.15.15.28.28.15.15c2.15,2.16,4.58,3.95,7.23,5.34.07.04.16,0,.19-.06l1.28-2.39c.41-.76,1.33-1.06,2.13-.72.79.35,1.58.67,2.4.93,1.97.65,4,1.04,6.07,1.21.5.04.93.3,1.2.68.2.27.31.6.3.96l-.07,2.89-.04,2.03c-.02,1.11-.98,1.98-2.1,1.92-.56-.03-1.07-.06-1.25-.07-3.77-.22-7.02-1.02-10.01-2.38-3.71-1.68-6.98-4.21-10.26-7.51l-.17-.17-.23-.23Z" /></svg>')
    center no-repeat;
  background-size: contain;
}
main[class^="page--contact"] .contact__head .contact__head__address .tel .date {
  border-radius: 2px;
  padding-inline: 0.25em;
  background: #efefef;
}
main[class^="page--contact"] .contact__head .contact__head__address .tel .time {
  font-family:
    "Oswald", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
main[class^="page--contact"] .contact__head .contact__head__bnr {
  grid-area: bnr;
  display: inline-block;
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__head .contact__head__bnr {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__head .contact__head__bnr {
    margin-top: 30px;
  }
}
main[class^="page--contact"] .contact__head .contact__head__bnr:hover {
  opacity: 0.7;
}
main[class^="page--contact"] .contact__head .contact__head__bnr > img,
main[class^="page--contact"] .contact__head .contact__head__bnr > picture {
  display: block;
  width: max-content;
}
main[class^="page--contact"] .contact__form {
  grid-area: form;
  position: relative;
  max-width: 570px;
  margin-inline: auto;
  z-index: 0;
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__form {
    padding: 30px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__form {
    padding: 80px;
  }
}
main[class^="page--contact"] .contact__form::before {
  content: attr(data-title);
  position: absolute;
  top: 0;
  transform: translate(0, -80%);
  color: #d7e6ff;
  font-family:
    "Montserrat", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-style: italic;
  line-height: 1;
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__form::before {
    right: 20px;
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__form::before {
    left: 80px;
    font-size: 3.75rem;
  }
}
main[class^="page--contact"] .contact__form::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: #d7e6ff;
  z-index: -10;
}
@media (max-width: 1024px) {
  main[class^="page--contact"] .contact__form::after {
    width: 100%;
    border-radius: 20px;
  }
}
@media (min-width: 1025px) {
  main[class^="page--contact"] .contact__form::after {
    width: 50vw;
    border-radius: 100px 0 0 100px;
  }
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__form .contact__form__privacy {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__form .contact__form__privacy {
    margin-top: 30px;
  }
}
main[class^="page--contact"]
  .contact__form
  .contact__form__privacy
  .wpcf7-list-item {
  margin: 0;
}
main[class^="page--contact"] .contact__form .contact__form__privacy label {
  display: grid;
  grid-template-columns: 30px auto;
  gap: 0 10px;
  align-items: center;
}
main[class^="page--contact"]
  .contact__form
  .contact__form__privacy
  label
  #contact__form__check {
  border: 1px solid #0044bb;
  width: 30px;
  height: 30px;
}
main[class^="page--contact"] .contact__form .contact__form__privacy label a,
main[class^="page--contact"]
  .contact__form
  .contact__form__privacy
  label
  a:link,
main[class^="page--contact"]
  .contact__form
  .contact__form__privacy
  label
  a:visited {
  color: #0044bb;
  border-bottom: 1px solid #0044bb;
}
main[class^="page--contact"] .contact__form .contact__form__btn {
  text-align: center;
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__form .contact__form__btn {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__form .contact__form__btn {
    margin-top: 40px;
  }
}
main[class^="page--contact"] .contact__form .contact__form__btn button {
  width: 100%;
  position: relative;
}
main[class^="page--contact"] .contact__form .contact__form__btn button::after {
  display: inline-block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  translate: 50% 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #0044bb;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2em;
  margin: auto 0;
  pointer-events: none;
}
main[class^="page--contact"]
  .contact__form
  .contact__form__btn
  input[type="submit"] {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 480px;
  border-radius: 100px;
  background: #fff;
  padding: 1em 2.4em 1em 1em;
  color: #0044bb;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  z-index: 0;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  main[class^="page--contact"]
    .contact__form
    .contact__form__btn
    input[type="submit"] {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"]
    .contact__form
    .contact__form__btn
    input[type="submit"] {
    font-size: 1.375rem;
  }
}
main[class^="page--contact"]
  .contact__form
  .contact__form__btn
  input[type="submit"]:link,
main[class^="page--contact"]
  .contact__form
  .contact__form__btn
  input[type="submit"]:visited {
  color: #0044bb;
}
main[class^="page--contact"]
  .contact__form
  .contact__form__btn
  input[type="submit"]:hover {
  background: #d7e6ff;
}
main[class^="page--contact"] .contact__form dt {
  position: relative;
}
main[class^="page--contact"] .contact__form dt a,
main[class^="page--contact"] .contact__form dt a:link,
main[class^="page--contact"] .contact__form dt a:visited {
  color: #0044bb;
  border-bottom: 1px solid #919191;
}
@media (max-width: 767px) {
  main[class^="page--contact"] .contact__form dt:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class^="page--contact"] .contact__form dt:nth-of-type(n + 2) {
    margin-top: 30px;
  }
}
main[class^="page--contact"] .contact__form .required {
  position: relative;
  padding-right: 40px;
}
main[class^="page--contact"] .contact__form .required::after {
  content: "必須";
  position: absolute;
  top: 0.5em;
  right: 0;
  display: inline-block;
  background: #fff;
  padding-inline: 0.5em;
  color: #db162f;
  font-size: 0.7em;
}
main[class^="page--contact"] .contact__form dd {
  margin-top: 0.25em;
}
main[class^="page--contact"] .contact__form input[type="text"],
main[class^="page--contact"] .contact__form input[type="email"],
main[class^="page--contact"] .contact__form input[type="tel"],
main[class^="page--contact"] .contact__form textarea {
  width: 100%;
  border: 1px solid #0044bb;
  background: #fff;
  padding: 0.5em 1em;
  font-size: 1rem;
}
main[class^="page--contact"] .contact__form button {
  background: transparent;
  border: none;
  padding: 0;
}
main[class^="page--contact"] .contact__form .wpcf7-form-control-wrap {
  display: block;
}
main[class^="page--contact"]
  .contact__form
  .wpcf7-form-control-wrap:has(.formErrorContent)
  .wpcf7-not-valid-tip {
  visibility: hidden;
}
main[class^="page--contact"] .contact__form .wpcf7-not-valid-tip {
  position: absolute;
  inset: 0 0 0 auto;
  display: grid;
  place-content: start center;
  padding: 0.5em 1em;
  line-height: 1.15;
  pointer-events: none;
}
main[class^="page--contact"] .contact__form .formError {
  inset: 0 0 0 auto !important;
  margin-top: 0 !important;
  padding: 4px;
}
main[class^="page--contact"] .contact__form .formError .formErrorContent {
  height: fit-content;
  box-shadow: none;
  border-radius: 4px;
  border: none;
  background: #db162f;
}
main[class^="page--contact"]
  .contact__form
  .formError
  .formErrorContent::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 1px;
  translate: -100% -50%;
  height: 6.9282032303px;
  width: 8px;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  background: #db162f;
}
main[class^="page--contact"] .contact__form .formError .formErrorArrow {
  display: none;
}

@media (max-width: 1024px) {
  main[class*="request"] .contact__wrap {
    grid-template: "head" auto "form" auto/100%;
  }
}
@media (max-width: 767px) {
  main[class*="request"] .contact__head {
    grid-template: "ttl" auto "img" auto "desc" auto/100%;
  }
}
main[class*="request"] .contact__head .contact__head__img {
  grid-area: img;
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  text-align: center;
}
@media (max-width: 767px) {
  main[class*="request"] .contact__head .contact__head__img {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="request"] .contact__head .contact__head__img {
    margin-top: 40px;
  }
}
main[class*="request"] .contact__form::before {
  color: #0044bb;
}
main[class*="request"] .contact__form::after {
  background-color: #0044bb;
}
main[class*="request"] .contact__form dt {
  color: #fff;
}
main[class*="request"] .contact__form .contact__form__privacy label {
  color: #fff;
}
main[class*="request"] .contact__form .contact__form__privacy label a,
main[class*="request"] .contact__form .contact__form__privacy label a:link,
main[class*="request"] .contact__form .contact__form__privacy label a:visited {
  color: #fff;
  border-bottom: 1px solid #fff;
}

main[class*="recruit"] .recruit .recruit__ttl {
  border-bottom: 2px solid #0044bb;
  color: #0044bb;
}
@media (max-width: 767px) {
  main[class*="recruit"] .recruit .recruit__ttl {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  main[class*="recruit"] .recruit .recruit__ttl {
    font-size: 1.375rem;
  }
}
@media (max-width: 767px) {
  main[class*="recruit"] .recruit .recruit__ttl:nth-of-type(n + 2) {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="recruit"] .recruit .recruit__ttl:nth-of-type(n + 2) {
    margin-top: 40px;
  }
}
main[class*="recruit"] .recruit .recruit__container {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  main[class*="recruit"] .recruit .recruit__container {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  main[class*="recruit"] .recruit .recruit__container {
    margin-top: 30px;
  }
}
main[class*="recruit"] .recruit .recruit__container dt {
  border-bottom: 1px solid #919191;
  padding-block: 2em;
  font-weight: 500;
  color: #919191;
}
@media (max-width: 767px) {
  main[class*="recruit"] .recruit .recruit__container dt {
    width: 80px;
  }
}
@media (min-width: 768px) {
  main[class*="recruit"] .recruit .recruit__container dt {
    width: 80px;
  }
}
main[class*="recruit"] .recruit .recruit__container dd {
  border-bottom: 1px solid #919191;
  padding-block: 2em;
  font-weight: 700;
}
@media (max-width: 767px) {
  main[class*="recruit"] .recruit .recruit__container dd {
    width: calc(100% - 80px);
    padding-inline: 20px 0;
  }
}
@media (min-width: 768px) {
  main[class*="recruit"] .recruit .recruit__container dd {
    width: calc(100% - 80px);
    padding-inline: 40px 0;
  }
}
main[class*="recruit"] .recruit .recruit__container dd + dd {
  width: 100%;
  border-top: none;
}
@media (max-width: 767px) {
  main[class*="recruit"] .recruit .recruit__container dd + dd {
    padding-left: 100px;
  }
}
@media (min-width: 768px) {
  main[class*="recruit"] .recruit .recruit__container dd + dd {
    padding-left: 120px;
  }
}
@media (max-width: 1024px) {
  main[class*="recruit"] .contact__wrap {
    grid-template: "head" auto "form" auto/100%;
    gap: 40px;
  }
}
main[class*="recruit"] .contact__form {
  position: relative;
}
main[class*="recruit"] .contact__form::before {
  color: #0044bb;
}
main[class*="recruit"] .contact__form::after {
  background-color: #0044bb;
}
main[class*="recruit"] .contact__form dt {
  color: #fff;
}
main[class*="recruit"] .contact__form dt a,
main[class*="recruit"] .contact__form dt a:link,
main[class*="recruit"] .contact__form dt a:visited {
  color: #fff;
  border-bottom: 1px solid #fff;
}
main[class*="recruit"] .contact__form .contact__form__privacy {
  color: #fff;
}
main[class*="recruit"] .contact__form .contact__form__privacy label a,
main[class*="recruit"] .contact__form .contact__form__privacy label a:link,
main[class*="recruit"] .contact__form .contact__form__privacy label a:visited {
  color: #fff;
  border-bottom: 1px solid #fff;
}

main[class*="download"] .download__documents {
  display: block;
  max-width: 1280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class*="download"] .download__documents {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class*="download"] .download__documents {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class*="download"] .download__documents {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="download"] .download__documents {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="download"] .download__documents {
    margin-top: 80px;
  }
}
main[class*="download"] .download__documents__list {
  display: grid;
}
@media (max-width: 767px) {
  main[class*="download"] .download__documents__list {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="download"] .download__documents__list {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="download"] .download__documents__list {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="download"] .download__documents__list {
    padding-bottom: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="download"] .download__documents__list {
    gap: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="download"] .download__documents__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 80px;
  }
}
main[class*="download"] .download__documents__item {
  display: contents;
}
main[class*="download"] .document {
  display: grid;
  grid-template: "thumb" auto "ttl" auto "desc" 1fr "btn" auto/100%;
  background: #efefef;
}
@media (max-width: 767px) {
  main[class*="download"] .document {
    gap: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="download"] .document {
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 40px;
  }
}
main[class*="download"] .document .document__ttl {
  grid-area: ttl;
  padding-inline: 40px;
}
@media (max-width: 767px) {
  main[class*="download"] .document .document__ttl {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  main[class*="download"] .document .document__ttl {
    font-size: 1.75rem;
  }
}
main[class*="download"] .document .document__desc {
  grid-area: desc;
  padding-inline: 40px;
}
main[class*="download"] .document .document__thumb {
  grid-area: thumb;
}
main[class*="download"] .document .document__btn {
  grid-area: btn;
  padding-inline: 40px;
  padding-bottom: 40px;
}

main[class*="thanks"] .thanks__wrap {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  main[class*="thanks"] .thanks__wrap {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class*="thanks"] .thanks__wrap {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class*="thanks"] .thanks__wrap {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="thanks"] .thanks__wrap {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="thanks"] .thanks__wrap {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="thanks"] .thanks__desc {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="thanks"] .thanks__desc {
    margin-top: 40px;
  }
}
main[class*="thanks"] .thanks__contact {
  display: grid;
  border-radius: 4px;
  background: #efefef;
}
@media (max-width: 767px) {
  main[class*="thanks"] .thanks__contact {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  main[class*="thanks"] .thanks__contact {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  main[class*="thanks"] .thanks__contact {
    padding: 15px;
  }
}
@media (min-width: 768px) {
  main[class*="thanks"] .thanks__contact {
    padding: 30px;
  }
}
@media (max-width: 767px) {
  main[class*="thanks"] .thanks__contact {
    gap: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="thanks"] .thanks__contact {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 80px;
  }
}
main[class*="thanks"] .thanks__contact .thanks__contact__ttl {
  color: #0044bb;
}
@media (max-width: 767px) {
  main[class*="thanks"] .thanks__contact .thanks__contact__ttl {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  main[class*="thanks"] .thanks__contact .thanks__contact__ttl {
    font-size: 1.375rem;
  }
}
main[class*="thanks"] .thanks__contact .thanks__contact__address {
  margin-top: 1em;
}
main[class*="thanks"] .thanks__contact .thanks__contact__address .ttl {
  background: #0044bb;
  padding-inline: 0.5em;
  color: #fff;
}
main[class*="thanks"] .thanks__contact .thanks__contact__address .tel {
  display: flex;
  flex-direction: column;
}
main[class*="thanks"] .thanks__contact .thanks__contact__address .tel a {
  position: relative;
  padding: 10px;
  color: #0044bb;
  font-family:
    "Oswald", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 2.125rem;
  line-height: 1;
  padding-left: 30px;
}
@media (min-width: 768px) {
  main[class*="thanks"] .thanks__contact .thanks__contact__address .tel a {
    pointer-events: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class*="thanks"] .thanks__contact .thanks__contact__address .tel a {
    font-size: 1.5rem;
  }
}
main[class*="thanks"]
  .thanks__contact
  .thanks__contact__address
  .tel
  a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 25px;
  height: 25px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 34"><path fill="%230044bb" d="M9.86,23.63l-.17-.17c-3.46-3.47-6.04-6.92-7.66-10.84C.86,9.81.19,6.77.05,3.28c0-.17-.03-.68-.05-1.23C-.03.94.86.02,1.99.02h2.06S6.98,0,6.98,0c.41,0,.79.16,1.07.41.33.26.54.66.57,1.1.13,2.04.49,4.05,1.11,6.01.25.81.56,1.6.9,2.39.34.79,0,1.7-.77,2.08l-2.45,1.22c-.07.04-.1.12-.06.19,1.36,2.64,3.13,5.07,5.28,7.23l.15.15.28.28.15.15c2.15,2.16,4.58,3.95,7.23,5.34.07.04.16,0,.19-.06l1.28-2.39c.41-.76,1.33-1.06,2.13-.72.79.35,1.58.67,2.4.93,1.97.65,4,1.04,6.07,1.21.5.04.93.3,1.2.68.2.27.31.6.3.96l-.07,2.89-.04,2.03c-.02,1.11-.98,1.98-2.1,1.92-.56-.03-1.07-.06-1.25-.07-3.77-.22-7.02-1.02-10.01-2.38-3.71-1.68-6.98-4.21-10.26-7.51l-.17-.17-.23-.23Z" /></svg>')
    center no-repeat;
  background-size: contain;
}
main[class*="thanks"] .thanks__contact .thanks__contact__address .tel .date {
  border-radius: 2px;
  padding-inline: 0.25em;
  background: #efefef;
}
main[class*="thanks"] .thanks__contact .thanks__contact__address .tel .time {
  font-family:
    "Oswald", "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
main[class*="thanks"] .thanks__btn {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
  text-align: center;
}
@media (max-width: 767px) {
  main[class*="thanks"] .thanks__btn {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  main[class*="thanks"] .thanks__btn {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  main[class*="thanks"] .thanks__btn {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="thanks"] .thanks__btn {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="thanks"] .thanks__btn {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  main[class*="thanks"] .thanks__btn {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  main[class*="thanks"] .thanks__btn {
    padding-bottom: 80px;
  }
}

/* ///////////////////////////////////////////
  value.scss
  変数・mixinに関する設定
/////////////////////////////////////////// */
/*====================================
  カラー
=====================================*/
/*====================================
  font
=====================================*/
/*====================================
  要素のサイズ
=====================================*/
/*====================================
  （固定の場合）ヘッダーのサイズ
=====================================*/
/*====================================
  レイアウト・パーツ
=====================================*/
/* /////////////////////////////////
  Media Queries
///////////////////////////////// */
/*====================================
  要素のサイズセット
=====================================*/
/* ///////////////////////////////////////////
  privacy.scss
  プライバシーポリシー
/////////////////////////////////////////// */
.page--privacy .privacy__atf {
  display: block;
  max-width: 1140px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  .page--privacy .privacy__atf {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .page--privacy .privacy__atf {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .page--privacy .privacy__atf {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .page--privacy .privacy__atf {
    padding-top: 50px;
  }
}
.page--privacy .privacy__container {
  display: grid;
  max-width: 1140px;
  margin-inline: auto;
  gap: 40px;
}
@media (max-width: 767px) {
  .page--privacy .privacy__container {
    padding-inline: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .page--privacy .privacy__container {
    padding-inline: 60px;
  }
}
@media (min-width: 1025px) {
  .page--privacy .privacy__container {
    padding-inline: 80px;
  }
}
@media (max-width: 767px) {
  .page--privacy .privacy__container {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  .page--privacy .privacy__container {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  .page--privacy .privacy__container {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .page--privacy .privacy__container {
    padding-bottom: 80px;
  }
}
.page--privacy .privacy__item .privacy__item__ttl {
  border-bottom: 2px solid #919191;
  font-weight: 500;
}
@media (max-width: 767px) {
  .page--privacy .privacy__item .privacy__item__ttl {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .page--privacy .privacy__item .privacy__item__ttl {
    font-size: 2.5rem;
  }
}
@media (max-width: 767px) {
  .page--privacy .privacy__item .privacy__item__txt {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  .page--privacy .privacy__item .privacy__item__txt {
    margin-top: 30px;
  }
}
.page--privacy .privacy__item .privacy__item__txt > * {
  margin-top: 1em;
}
.page--privacy .privacy__item ul {
  padding-left: 1.5em;
}
.page--privacy .privacy__item li {
  list-style: disc;
}

/*
@import "03_page/pages";
@import "03_page/page_name";
@import "03_page/page_name";
@import "03_page/page_name";
@import "03_page/page_name";
*/ /*# sourceMappingURL=style.css.map */
