@charset "UTF-8";
/* ==========================================================================
   foundation
========================================================================== */
/* ==========================================================================
   variables
========================================================================== */
/*===========================================
# Color
/*===========================================*/
/*===========================================
# Font Famiry
/*===========================================*/
/*===========================================
# root
/*===========================================*/
/* ==========================================================================
   function
========================================================================== */
/* ==========================================================================
  mixin
========================================================================== */
/* --------------------------------------------------------------------------
  media query (SP（小）→ PC（大）の順に適用)
-------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------
  arrow 
-------------------------------------------------------------------------- */
/*# アロー
/*===========================================*/
/* --------------------------------------------------------------------------
  login icon
-------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------
  button size
-------------------------------------------------------------------------- */
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

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

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

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

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

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

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

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

dd {
  margin-left: 0;
}

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

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

address {
  font-style: inherit;
}

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

/* Focus visible */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #0089A8;
  outline-offset: -2px;
}

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
          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;
          appearance: button; /* 1 */
  font: inherit; /* 2 */
}

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

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

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

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

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

caption {
  text-align: left;
}

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

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

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

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

/* ==========================================================================
  base
========================================================================== */
/* ------------------------------------------------------------
	レイアウト
------------------------------------------------------------ */
html {
  font-size: 62.5%;
}

body {
  min-width: 320px;
  width: 100%;
  color: #2C2D31;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.1em;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
          text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
}

img {
  vertical-align: middle;
  width: 100%;
}

/* ==========================================================================
   utility
========================================================================== */
/* ---------------------------------------------------------------------------
  background
  --------------------------------------------------------------------------- */
.u-bg-base01 {
  background-color: #F7F5F1;
}

.u-bg-base02 {
  background-color: #EDEAE5;
}

.u-bg-title02 {
  background-color: #84827E;
}

/* ---------------------------------------------------------------------------
  background
  --------------------------------------------------------------------------- */
.u-col-main01 {
  color: #0089A8;
}

/* ---------------------------------------------------------------------------
  text style (utility)
  --------------------------------------------------------------------------- */
/*# TTL
/*===========================================*/
.u-ts-h1,
.u-ts-h2 {
  font-weight: bold;
  line-height: 1.65;
  letter-spacing: 0.08em;
  font-size: 40px;
}
@media screen and (max-width: 767px) {
  .u-ts-h1,
  .u-ts-h2 {
    font-size: 7.4666666667vw;
  }
}

.u-ts-h2-en {
  font-family: "Alumni Sans", sans-serif;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.03em;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .u-ts-h2-en {
    font-size: 6.4vw;
  }
}

.u-ts-h3 {
  font-weight: bold;
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 28px;
}
@media screen and (max-width: 767px) {
  .u-ts-h3 {
    font-size: 6.4vw;
  }
}

.u-ts-h4 {
  font-weight: bold;
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .u-ts-h4 {
    font-size: 5.3333333333vw;
  }
}

.u-ts-h5 {
  font-weight: bold;
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .u-ts-h5 {
    font-size: 4.8vw;
  }
}

.u-ts-h6 {
  font-weight: bold;
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .u-ts-h6 {
    font-size: 4.2666666667vw;
  }
}

/*# text
/*===========================================*/
.u-ts-p {
  line-height: 2.1;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .u-ts-p {
    font-size: 4.2666666667vw;
  }
}

.u-ts-p-sm {
  line-height: 2.1;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .u-ts-p-sm {
    font-size: 3.7333333333vw;
  }
}

.u-ts-p-xs {
  line-height: 1.65;
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .u-ts-p-xs {
    font-size: 3.4666666667vw;
  }
}

.u-ts-cap {
  line-height: 1.65;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .u-ts-cap {
    font-size: 3.2vw;
  }
}

.u-ts-td {
  line-height: 1.45;
  letter-spacing: 0.15em;
  font-size: 14px;
}

/*# nav
/*===========================================*/
.u-ts-nav {
  font-weight: 500;
  line-height: 1.45;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .u-ts-nav {
    font-size: 4.2666666667vw;
  }
}

.u-ts-nav-child {
  font-weight: 500;
  line-height: 1.45;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .u-ts-nav-child {
    font-size: 4vw;
  }
}

.u-ts-nav-grandchild {
  line-height: 1.45;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .u-ts-nav-grandchild {
    font-size: 3.2vw;
  }
}

/*# button
/*===========================================*/
.u-ts-btn {
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .u-ts-btn {
    font-size: 4.2666666667vw;
  }
}

.u-ts-btn-lg {
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .u-ts-btn-lg {
    font-size: 4.8vw;
  }
}

.u-ts-btn-sm {
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .u-ts-btn-sm {
    font-size: 3.7333333333vw;
  }
}

.u-ts-center {
  text-align: center;
}

.u-flex-center {
  justify-content: center;
}

.u-callout {
  padding: 18px 56px;
  word-break: break-all;
}
@media screen and (min-width: 768px) {
  .u-callout {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .u-callout {
    padding: 16px 24px;
  }
}
@media screen and (min-width: 768px) {
  .u-callout.u-callout__left {
    text-align: left;
  }
}

.u-indent {
  text-indent: -1.5rem;
  padding-left: 1.5rem;
}

.u-span-flex {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.u-ts-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .u-ts-list {
    gap: 2.1333333333vw;
  }
}
.u-ts-list li {
  position: relative;
  padding-left: 24px;
  line-height: 2.1;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .u-ts-list li {
    padding-left: 6.4vw;
    font-size: 4.2666666667vw;
  }
}
.u-ts-list li::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: #0089A8;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .u-ts-list li::before {
    top: 3.4666666667vw;
    width: 2.1333333333vw;
    height: 2.1333333333vw;
  }
}
.u-ts-list li span {
  position: relative;
  display: block;
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .u-ts-list li span {
    padding-left: 5.3333333333vw;
  }
}
.u-ts-list li span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 4px;
  height: 1px;
  background-color: #0089A8;
}
@media screen and (max-width: 767px) {
  .u-ts-list li span::before {
    width: 1.0666666667vw;
    height: 0.2666666667vw;
  }
}

/*# border
/*===========================================*/
.u-border-gray {
  border: 1px solid #D5D5D6;
}

.u-border-bottom {
  padding-bottom: 4px;
  border-bottom: 2px solid #D5D5D6;
}

/*# spacer
/*===========================================*/
.u-spacer {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #D5D5D6;
}

/*# decoration
/*===========================================*/
.u-decoration-blue {
  position: relative;
  padding-left: 29px;
}
@media screen and (max-width: 767px) {
  .u-decoration-blue {
    padding-left: 6.4vw;
  }
}
.u-decoration-blue::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #0089A8;
  width: 5px;
  height: 60%;
}
@media screen and (max-width: 767px) {
  .u-decoration-blue::before {
    height: 80%;
    width: 1.3333333333vw;
  }
}

.u-decoration-black {
  position: relative;
  padding-left: 15px;
}
@media screen and (max-width: 767px) {
  .u-decoration-black {
    padding-left: 4vw;
  }
}
.u-decoration-black::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3px;
  height: 80%;
  background-color: #2C2D31;
}
@media screen and (max-width: 767px) {
  .u-decoration-black::before {
    width: 0.8vw;
  }
}

.u-ts-link {
  color: #0089A8;
  text-decoration: underline;
}

.u-ts-link-tab {
  position: relative;
  color: #0089A8;
  text-decoration: underline;
}
.u-ts-link-tab::after {
  content: "";
  position: relative;
  top: 5px;
  margin-left: 5px;
  display: inline-block;
  background-image: url("../img//cmn/tab-blank.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
}

.u-ts-link-pdf {
  display: flex;
  -moz-column-gap: 6px;
       column-gap: 6px;
}
.u-ts-link-pdf a {
  position: relative;
}
.u-ts-link-pdf a::after {
  content: "";
  position: relative;
  top: 5px;
  margin-left: 5px;
  background-image: url(../img/cmn/pdf-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  width: 24px;
  height: 24px;
}

/* ---------------------------------------------------------------------------
  show/hide
  --------------------------------------------------------------------------- */
.u-show-mobile {
  display: initial;
}
@media screen and (min-width: 768px) {
  .u-show-mobile {
    display: none;
  }
}

.u-show-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-show-desktop {
    display: initial;
  }
}

.u-show-1400px {
  display: none;
}
@media screen and (max-width: 767px) and (min-width: 1400px) {
  .u-show-1400px {
    display: initial;
  }
}

.u-show-1200px {
  display: none;
}
@media screen and (min-width: 1200px) {
  .u-show-1200px {
    display: initial;
  }
}

/* ---------------------------------------------------------------------------
  transition
  --------------------------------------------------------------------------- */
.u-transition,
.u-transaction {
  transition: all 0.3s;
}

.u-transition svg,
.u-transition path,
.u-transaction a,
.u-transaction svg,
.u-transaction path {
  transition: all 0.3s;
}

/* ---------------------------------------------------------------------------
  margin & padding
--------------------------------------------------------------------------- */
/* margin */
@media screen and (min-width: 768px) {
  .u-m4px {
    margin: 4px 0;
  }
}
@media screen and (max-width: 767px) {
  .u-m4px {
    margin: 1.0666666667vw 0;
  }
}

.u-mt4px {
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .u-mt4px {
    margin-top: 1.0666666667vw;
  }
}

.u-mr4px {
  margin-right: 4px;
}
@media screen and (max-width: 767px) {
  .u-mr4px {
    margin-right: 1.0666666667vw;
  }
}

.u-mb4px {
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .u-mb4px {
    margin-bottom: 1.0666666667vw;
  }
}

.u-ml4px {
  margin-left: 4px;
}
@media screen and (max-width: 767px) {
  .u-ml4px {
    margin-left: 1.0666666667vw;
  }
}

/* padding */
.u-p4px_all {
  padding: 4px;
}
@media screen and (max-width: 767px) {
  .u-p4px_all {
    padding: 1.0666666667vw;
  }
}

.u-p4px {
  padding: 4px 0;
}
@media screen and (max-width: 767px) {
  .u-p4px {
    padding: 1.0666666667vw 0;
  }
}

.u-pt4px {
  padding-top: 4px;
}
@media screen and (max-width: 767px) {
  .u-pt4px {
    padding-top: 1.0666666667vw;
  }
}

.u-pr4px {
  padding-right: 4px;
}
@media screen and (max-width: 767px) {
  .u-pr4px {
    padding-right: 1.0666666667vw;
  }
}

.u-pb4px {
  padding-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .u-pb4px {
    padding-bottom: 1.0666666667vw;
  }
}

.u-pl4px {
  padding-left: 4px;
}
@media screen and (max-width: 767px) {
  .u-pl4px {
    padding-left: 1.0666666667vw;
  }
}

/* margin */
@media screen and (min-width: 768px) {
  .u-m8px {
    margin: 8px 0;
  }
}
@media screen and (max-width: 767px) {
  .u-m8px {
    margin: 2.1333333333vw 0;
  }
}

.u-mt8px {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .u-mt8px {
    margin-top: 2.1333333333vw;
  }
}

.u-mr8px {
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .u-mr8px {
    margin-right: 2.1333333333vw;
  }
}

.u-mb8px {
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .u-mb8px {
    margin-bottom: 2.1333333333vw;
  }
}

.u-ml8px {
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .u-ml8px {
    margin-left: 2.1333333333vw;
  }
}

/* padding */
.u-p8px_all {
  padding: 8px;
}
@media screen and (max-width: 767px) {
  .u-p8px_all {
    padding: 2.1333333333vw;
  }
}

.u-p8px {
  padding: 8px 0;
}
@media screen and (max-width: 767px) {
  .u-p8px {
    padding: 2.1333333333vw 0;
  }
}

.u-pt8px {
  padding-top: 8px;
}
@media screen and (max-width: 767px) {
  .u-pt8px {
    padding-top: 2.1333333333vw;
  }
}

.u-pr8px {
  padding-right: 8px;
}
@media screen and (max-width: 767px) {
  .u-pr8px {
    padding-right: 2.1333333333vw;
  }
}

.u-pb8px {
  padding-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .u-pb8px {
    padding-bottom: 2.1333333333vw;
  }
}

.u-pl8px {
  padding-left: 8px;
}
@media screen and (max-width: 767px) {
  .u-pl8px {
    padding-left: 2.1333333333vw;
  }
}

/* margin */
@media screen and (min-width: 768px) {
  .u-m12px {
    margin: 12px 0;
  }
}
@media screen and (max-width: 767px) {
  .u-m12px {
    margin: 3.2vw 0;
  }
}

.u-mt12px {
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .u-mt12px {
    margin-top: 3.2vw;
  }
}

.u-mr12px {
  margin-right: 12px;
}
@media screen and (max-width: 767px) {
  .u-mr12px {
    margin-right: 3.2vw;
  }
}

.u-mb12px {
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .u-mb12px {
    margin-bottom: 3.2vw;
  }
}

.u-ml12px {
  margin-left: 12px;
}
@media screen and (max-width: 767px) {
  .u-ml12px {
    margin-left: 3.2vw;
  }
}

/* padding */
.u-p12px_all {
  padding: 12px;
}
@media screen and (max-width: 767px) {
  .u-p12px_all {
    padding: 3.2vw;
  }
}

.u-p12px {
  padding: 12px 0;
}
@media screen and (max-width: 767px) {
  .u-p12px {
    padding: 3.2vw 0;
  }
}

.u-pt12px {
  padding-top: 12px;
}
@media screen and (max-width: 767px) {
  .u-pt12px {
    padding-top: 3.2vw;
  }
}

.u-pr12px {
  padding-right: 12px;
}
@media screen and (max-width: 767px) {
  .u-pr12px {
    padding-right: 3.2vw;
  }
}

.u-pb12px {
  padding-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .u-pb12px {
    padding-bottom: 3.2vw;
  }
}

.u-pl12px {
  padding-left: 12px;
}
@media screen and (max-width: 767px) {
  .u-pl12px {
    padding-left: 3.2vw;
  }
}

/* margin */
@media screen and (min-width: 768px) {
  .u-m16px {
    margin: 16px 0;
  }
}
@media screen and (max-width: 767px) {
  .u-m16px {
    margin: 4.2666666667vw 0;
  }
}

.u-mt16px {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .u-mt16px {
    margin-top: 4.2666666667vw;
  }
}

.u-mr16px {
  margin-right: 16px;
}
@media screen and (max-width: 767px) {
  .u-mr16px {
    margin-right: 4.2666666667vw;
  }
}

.u-mb16px {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .u-mb16px {
    margin-bottom: 4.2666666667vw;
  }
}

.u-ml16px {
  margin-left: 16px;
}
@media screen and (max-width: 767px) {
  .u-ml16px {
    margin-left: 4.2666666667vw;
  }
}

/* padding */
.u-p16px_all {
  padding: 16px;
}
@media screen and (max-width: 767px) {
  .u-p16px_all {
    padding: 4.2666666667vw;
  }
}

.u-p16px {
  padding: 16px 0;
}
@media screen and (max-width: 767px) {
  .u-p16px {
    padding: 4.2666666667vw 0;
  }
}

.u-pt16px {
  padding-top: 16px;
}
@media screen and (max-width: 767px) {
  .u-pt16px {
    padding-top: 4.2666666667vw;
  }
}

.u-pr16px {
  padding-right: 16px;
}
@media screen and (max-width: 767px) {
  .u-pr16px {
    padding-right: 4.2666666667vw;
  }
}

.u-pb16px {
  padding-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .u-pb16px {
    padding-bottom: 4.2666666667vw;
  }
}

.u-pl16px {
  padding-left: 16px;
}
@media screen and (max-width: 767px) {
  .u-pl16px {
    padding-left: 4.2666666667vw;
  }
}

/* margin */
@media screen and (min-width: 768px) {
  .u-m20px {
    margin: 20px 0;
  }
}
@media screen and (max-width: 767px) {
  .u-m20px {
    margin: 5.3333333333vw 0;
  }
}

.u-mt20px {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .u-mt20px {
    margin-top: 5.3333333333vw;
  }
}

.u-mr20px {
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .u-mr20px {
    margin-right: 5.3333333333vw;
  }
}

.u-mb20px {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .u-mb20px {
    margin-bottom: 5.3333333333vw;
  }
}

.u-ml20px {
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .u-ml20px {
    margin-left: 5.3333333333vw;
  }
}

/* padding */
.u-p20px_all {
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .u-p20px_all {
    padding: 5.3333333333vw;
  }
}

.u-p20px {
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .u-p20px {
    padding: 5.3333333333vw 0;
  }
}

.u-pt20px {
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .u-pt20px {
    padding-top: 5.3333333333vw;
  }
}

.u-pr20px {
  padding-right: 20px;
}
@media screen and (max-width: 767px) {
  .u-pr20px {
    padding-right: 5.3333333333vw;
  }
}

.u-pb20px {
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .u-pb20px {
    padding-bottom: 5.3333333333vw;
  }
}

.u-pl20px {
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .u-pl20px {
    padding-left: 5.3333333333vw;
  }
}

/* margin */
@media screen and (min-width: 768px) {
  .u-m24px {
    margin: 24px 0;
  }
}
@media screen and (max-width: 767px) {
  .u-m24px {
    margin: 6.4vw 0;
  }
}

.u-mt24px {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .u-mt24px {
    margin-top: 6.4vw;
  }
}

.u-mr24px {
  margin-right: 24px;
}
@media screen and (max-width: 767px) {
  .u-mr24px {
    margin-right: 6.4vw;
  }
}

.u-mb24px {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .u-mb24px {
    margin-bottom: 6.4vw;
  }
}

.u-ml24px {
  margin-left: 24px;
}
@media screen and (max-width: 767px) {
  .u-ml24px {
    margin-left: 6.4vw;
  }
}

/* padding */
.u-p24px_all {
  padding: 24px;
}
@media screen and (max-width: 767px) {
  .u-p24px_all {
    padding: 6.4vw;
  }
}

.u-p24px {
  padding: 24px 0;
}
@media screen and (max-width: 767px) {
  .u-p24px {
    padding: 6.4vw 0;
  }
}

.u-pt24px {
  padding-top: 24px;
}
@media screen and (max-width: 767px) {
  .u-pt24px {
    padding-top: 6.4vw;
  }
}

.u-pr24px {
  padding-right: 24px;
}
@media screen and (max-width: 767px) {
  .u-pr24px {
    padding-right: 6.4vw;
  }
}

.u-pb24px {
  padding-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .u-pb24px {
    padding-bottom: 6.4vw;
  }
}

.u-pl24px {
  padding-left: 24px;
}
@media screen and (max-width: 767px) {
  .u-pl24px {
    padding-left: 6.4vw;
  }
}

/* margin */
@media screen and (min-width: 768px) {
  .u-m32px {
    margin: 32px 0;
  }
}
@media screen and (max-width: 767px) {
  .u-m32px {
    margin: 8.5333333333vw 0;
  }
}

.u-mt32px {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .u-mt32px {
    margin-top: 8.5333333333vw;
  }
}

.u-mr32px {
  margin-right: 32px;
}
@media screen and (max-width: 767px) {
  .u-mr32px {
    margin-right: 8.5333333333vw;
  }
}

.u-mb32px {
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .u-mb32px {
    margin-bottom: 8.5333333333vw;
  }
}

.u-ml32px {
  margin-left: 32px;
}
@media screen and (max-width: 767px) {
  .u-ml32px {
    margin-left: 8.5333333333vw;
  }
}

/* padding */
.u-p32px_all {
  padding: 32px;
}
@media screen and (max-width: 767px) {
  .u-p32px_all {
    padding: 8.5333333333vw;
  }
}

.u-p32px {
  padding: 32px 0;
}
@media screen and (max-width: 767px) {
  .u-p32px {
    padding: 8.5333333333vw 0;
  }
}

.u-pt32px {
  padding-top: 32px;
}
@media screen and (max-width: 767px) {
  .u-pt32px {
    padding-top: 8.5333333333vw;
  }
}

.u-pr32px {
  padding-right: 32px;
}
@media screen and (max-width: 767px) {
  .u-pr32px {
    padding-right: 8.5333333333vw;
  }
}

.u-pb32px {
  padding-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .u-pb32px {
    padding-bottom: 8.5333333333vw;
  }
}

.u-pl32px {
  padding-left: 32px;
}
@media screen and (max-width: 767px) {
  .u-pl32px {
    padding-left: 8.5333333333vw;
  }
}

/* margin */
@media screen and (min-width: 768px) {
  .u-m40px {
    margin: 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .u-m40px {
    margin: 10.6666666667vw 0;
  }
}

.u-mt40px {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .u-mt40px {
    margin-top: 10.6666666667vw;
  }
}

.u-mr40px {
  margin-right: 40px;
}
@media screen and (max-width: 767px) {
  .u-mr40px {
    margin-right: 10.6666666667vw;
  }
}

.u-mb40px {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .u-mb40px {
    margin-bottom: 10.6666666667vw;
  }
}

.u-ml40px {
  margin-left: 40px;
}
@media screen and (max-width: 767px) {
  .u-ml40px {
    margin-left: 10.6666666667vw;
  }
}

/* padding */
.u-p40px_all {
  padding: 40px;
}
@media screen and (max-width: 767px) {
  .u-p40px_all {
    padding: 10.6666666667vw;
  }
}

.u-p40px {
  padding: 40px 0;
}
@media screen and (max-width: 767px) {
  .u-p40px {
    padding: 10.6666666667vw 0;
  }
}

.u-pt40px {
  padding-top: 40px;
}
@media screen and (max-width: 767px) {
  .u-pt40px {
    padding-top: 10.6666666667vw;
  }
}

.u-pr40px {
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .u-pr40px {
    padding-right: 10.6666666667vw;
  }
}

.u-pb40px {
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .u-pb40px {
    padding-bottom: 10.6666666667vw;
  }
}

.u-pl40px {
  padding-left: 40px;
}
@media screen and (max-width: 767px) {
  .u-pl40px {
    padding-left: 10.6666666667vw;
  }
}

/* margin */
@media screen and (min-width: 768px) {
  .u-m56px {
    margin: 56px 0;
  }
}
@media screen and (max-width: 767px) {
  .u-m56px {
    margin: 14.9333333333vw 0;
  }
}

.u-mt56px {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .u-mt56px {
    margin-top: 14.9333333333vw;
  }
}

.u-mr56px {
  margin-right: 56px;
}
@media screen and (max-width: 767px) {
  .u-mr56px {
    margin-right: 14.9333333333vw;
  }
}

.u-mb56px {
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .u-mb56px {
    margin-bottom: 14.9333333333vw;
  }
}

.u-ml56px {
  margin-left: 56px;
}
@media screen and (max-width: 767px) {
  .u-ml56px {
    margin-left: 14.9333333333vw;
  }
}

/* padding */
.u-p56px_all {
  padding: 56px;
}
@media screen and (max-width: 767px) {
  .u-p56px_all {
    padding: 14.9333333333vw;
  }
}

.u-p56px {
  padding: 56px 0;
}
@media screen and (max-width: 767px) {
  .u-p56px {
    padding: 14.9333333333vw 0;
  }
}

.u-pt56px {
  padding-top: 56px;
}
@media screen and (max-width: 767px) {
  .u-pt56px {
    padding-top: 14.9333333333vw;
  }
}

.u-pr56px {
  padding-right: 56px;
}
@media screen and (max-width: 767px) {
  .u-pr56px {
    padding-right: 14.9333333333vw;
  }
}

.u-pb56px {
  padding-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .u-pb56px {
    padding-bottom: 14.9333333333vw;
  }
}

.u-pl56px {
  padding-left: 56px;
}
@media screen and (max-width: 767px) {
  .u-pl56px {
    padding-left: 14.9333333333vw;
  }
}

/* margin */
@media screen and (min-width: 768px) {
  .u-m80px {
    margin: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .u-m80px {
    margin: 21.3333333333vw 0;
  }
}

.u-mt80px {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .u-mt80px {
    margin-top: 21.3333333333vw;
  }
}

.u-mr80px {
  margin-right: 80px;
}
@media screen and (max-width: 767px) {
  .u-mr80px {
    margin-right: 21.3333333333vw;
  }
}

.u-mb80px {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .u-mb80px {
    margin-bottom: 21.3333333333vw;
  }
}

.u-ml80px {
  margin-left: 80px;
}
@media screen and (max-width: 767px) {
  .u-ml80px {
    margin-left: 21.3333333333vw;
  }
}

/* padding */
.u-p80px_all {
  padding: 80px;
}
@media screen and (max-width: 767px) {
  .u-p80px_all {
    padding: 21.3333333333vw;
  }
}

.u-p80px {
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .u-p80px {
    padding: 21.3333333333vw 0;
  }
}

.u-pt80px {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .u-pt80px {
    padding-top: 21.3333333333vw;
  }
}

.u-pr80px {
  padding-right: 80px;
}
@media screen and (max-width: 767px) {
  .u-pr80px {
    padding-right: 21.3333333333vw;
  }
}

.u-pb80px {
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .u-pb80px {
    padding-bottom: 21.3333333333vw;
  }
}

.u-pl80px {
  padding-left: 80px;
}
@media screen and (max-width: 767px) {
  .u-pl80px {
    padding-left: 21.3333333333vw;
  }
}

/* margin */
@media screen and (min-width: 768px) {
  .u-m120px {
    margin: 120px 0;
  }
}
@media screen and (max-width: 767px) {
  .u-m120px {
    margin: 32vw 0;
  }
}

.u-mt120px {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .u-mt120px {
    margin-top: 32vw;
  }
}

.u-mr120px {
  margin-right: 120px;
}
@media screen and (max-width: 767px) {
  .u-mr120px {
    margin-right: 32vw;
  }
}

.u-mb120px {
  margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .u-mb120px {
    margin-bottom: 32vw;
  }
}

.u-ml120px {
  margin-left: 120px;
}
@media screen and (max-width: 767px) {
  .u-ml120px {
    margin-left: 32vw;
  }
}

/* padding */
.u-p120px_all {
  padding: 120px;
}
@media screen and (max-width: 767px) {
  .u-p120px_all {
    padding: 32vw;
  }
}

.u-p120px {
  padding: 120px 0;
}
@media screen and (max-width: 767px) {
  .u-p120px {
    padding: 32vw 0;
  }
}

.u-pt120px {
  padding-top: 120px;
}
@media screen and (max-width: 767px) {
  .u-pt120px {
    padding-top: 32vw;
  }
}

.u-pr120px {
  padding-right: 120px;
}
@media screen and (max-width: 767px) {
  .u-pr120px {
    padding-right: 32vw;
  }
}

.u-pb120px {
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .u-pb120px {
    padding-bottom: 32vw;
  }
}

.u-pl120px {
  padding-left: 120px;
}
@media screen and (max-width: 767px) {
  .u-pl120px {
    padding-left: 32vw;
  }
}

/* ---------------------------------------------------------------------------
  color
--------------------------------------------------------------------------- */
.u-col-caution {
  color: #BE0000;
}

/* ==========================================================================
  component
========================================================================== */
/*===========================================
# 共通タイトル
/*===========================================*/
.c-title {
  margin-bottom: 32px;
  font-weight: bold;
  line-height: 1.65;
  letter-spacing: 0.08em;
  font-size: 40px;
}
@media screen and (max-width: 767px) {
  .c-title {
    font-size: 8.5333333333vw;
  }
}
.c-title span {
  display: block;
  color: #0089A8;
  font-family: "Alumni Sans", sans-serif;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.03em;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .c-title span {
    font-size: 5.3333333333vw;
  }
}

/*===========================================
# 共通ボタン
/*===========================================*/
._additional_text1, .c-button-contact, .c-button-pdf, .c-button-red, .c-button-blue, .c-button-black-reverse, .c-button-black {
  position: relative;
  color: #fff;
  transition: all 0.3s;
}
._additional_text1 a, .c-button-contact a, .c-button-pdf a, .c-button-red a, .c-button-blue a, .c-button-black-reverse a, .c-button-black a, ._additional_text1 button, .c-button-contact button, .c-button-pdf button, .c-button-red button, .c-button-blue button, .c-button-black-reverse button, .c-button-black button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.65;
  letter-spacing: 0.15em;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  ._additional_text1 a, .c-button-contact a, .c-button-pdf a, .c-button-red a, .c-button-blue a, .c-button-black-reverse a, .c-button-black a, ._additional_text1 button, .c-button-contact button, .c-button-pdf button, .c-button-red button, .c-button-blue button, .c-button-black-reverse button, .c-button-black button {
    font-size: 16px;
    -moz-column-gap: 8px;
         column-gap: 8px;
    padding: 20px 32px 20px 40px;
  }
}
@media screen and (max-width: 767px) {
  ._additional_text1 a, .c-button-contact a, .c-button-pdf a, .c-button-red a, .c-button-blue a, .c-button-black-reverse a, .c-button-black a, ._additional_text1 button, .c-button-contact button, .c-button-pdf button, .c-button-red button, .c-button-blue button, .c-button-black-reverse button, .c-button-black button {
    -moz-column-gap: 2.1333333333vw;
         column-gap: 2.1333333333vw;
    padding: 5.3333333333vw 8.5333333333vw 5.3333333333vw 10.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
._additional_text1 a::before, .c-button-contact a::before, .c-button-pdf a::before, .c-button-red a::before, .c-button-blue a::before, .c-button-black-reverse a::before, .c-button-black a::before, ._additional_text1 button::before, .c-button-contact button::before, .c-button-pdf button::before, .c-button-red button::before, .c-button-blue button::before, .c-button-black-reverse button::before, .c-button-black button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0;
  transition: all 0.3s;
  pointer-events: none;
}
._additional_text1 a:hover::before, .c-button-contact a:hover::before, .c-button-pdf a:hover::before, .c-button-red a:hover::before, .c-button-blue a:hover::before, .c-button-black-reverse a:hover::before, .c-button-black a:hover::before, ._additional_text1 button:hover::before, .c-button-contact button:hover::before, .c-button-pdf button:hover::before, .c-button-red button:hover::before, .c-button-blue button:hover::before, .c-button-black-reverse button:hover::before, .c-button-black button:hover::before {
  opacity: 1;
}
._additional_text1 a:hover span::after, .c-button-contact a:hover span::after, .c-button-pdf a:hover span::after, .c-button-red a:hover span::after, .c-button-blue a:hover span::after, .c-button-black-reverse a:hover span::after, .c-button-black a:hover span::after, ._additional_text1 button:hover span::after, .c-button-contact button:hover span::after, .c-button-pdf button:hover span::after, .c-button-red button:hover span::after, .c-button-blue button:hover span::after, .c-button-black-reverse button:hover span::after, .c-button-black button:hover span::after {
  right: -5px;
}
._additional_text1 span, .c-button-contact span, .c-button-pdf span, .c-button-red span, .c-button-blue span, .c-button-black-reverse span, .c-button-black span {
  position: relative;
  z-index: 2;
  padding-right: 30px;
}
._additional_text1 span::after, .c-button-contact span::after, .c-button-pdf span::after, .c-button-red span::after, .c-button-blue span::after, .c-button-black-reverse span::after, .c-button-black span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 20px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  ._additional_text1 span::after, .c-button-contact span::after, .c-button-pdf span::after, .c-button-red span::after, .c-button-blue span::after, .c-button-black-reverse span::after, .c-button-black span::after {
    width: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  ._additional_text1 span, .c-button-contact span, .c-button-pdf span, .c-button-red span, .c-button-blue span, .c-button-black-reverse span, .c-button-black span {
    padding-right: 8vw;
  }
}

.c-button-black a, .c-button-black button {
  background-color: #2C2D31;
}
.c-button-black a::before, .c-button-black button::before {
  background: linear-gradient(90deg, #0089A8 0%, #00ADC1) 100%;
}

.c-button-black-reverse a, .c-button-black-reverse button {
  background-color: #2C2D31;
}
.c-button-black-reverse a:hover span::after, .c-button-black-reverse button:hover span::after {
  left: -5px;
}
.c-button-black-reverse span {
  padding-right: 0;
  padding-left: 30px;
}
.c-button-black-reverse span::after {
  right: auto;
  left: 0;
  transform: translateY(-50%) rotate(180deg);
}
.c-button-black-reverse::before {
  background: linear-gradient(90deg, #0089A8 0%, #00ADC1) 100%;
}

.c-button-blue a, .c-button-blue button {
  background: #00A2B4;
}
.c-button-blue a::before, .c-button-blue button::before {
  background: linear-gradient(270deg, #6AC9D3 0%, #00A2B4) 100%;
}

.c-button-red a, .c-button-red button {
  background-color: #BE0000;
}
.c-button-red a::before, .c-button-red button::before {
  background: linear-gradient(90deg, #0089A8 0%, #00ADC1) 100%;
}

.c-button-search {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #2C2D31;
  color: #fff;
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .c-button-search {
    font-size: 4.2666666667vw;
  }
}
.c-button-search::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #0089A8 0%, #00ADC1) 100%;
  opacity: 0;
  transition: all 0.3s;
}
.c-button-search span {
  position: relative;
  padding-left: 30px;
}
@media screen and (max-width: 767px) {
  .c-button-search span {
    padding-left: 8vw;
  }
}
.c-button-search span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-image: url("../img/cmn/search-icon02.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 18px;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .c-button-search span::before {
    width: 4.8vw;
  }
}
.c-button-search:hover::before {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .c-button-flex {
    display: flex;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media screen and (min-width: 768px) {
  .c-button-flex .c-button-black {
    width: calc((100% - 40px) / 2);
    height: 120px;
  }
}
@media screen and (max-width: 767px) {
  .c-button-flex .c-button-black {
    width: 100%;
  }
}
.c-button-flex .c-button-black a {
  width: 100%;
  height: 100%;
}
.c-button-flex .c-button-black .c-button-icon svg, .c-button-flex .c-button-black .c-button-icon path {
  fill: #fff;
}
@media screen and (max-width: 767px) {
  .c-button-flex .c-button-black + .c-button-black {
    margin-top: 2.1333333333vw;
  }
}

.c-button-pdf a, .c-button-pdf button {
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  background-color: #2C2D31;
}
.c-button-pdf a::before, .c-button-pdf button::before {
  background: linear-gradient(90deg, #0089A8 0%, #00ADC1) 100%;
}
.c-button-pdf a span, .c-button-pdf button span {
  position: relative;
  padding-right: 0;
}
.c-button-pdf a span::before, .c-button-pdf button span::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -20px;
  background-image: url("../img/cmn/pdf-icon.svg");
}
.c-button-pdf a span::after, .c-button-pdf button span::after {
  display: none;
}
.c-button-pdf .c-button-pdf__icon {
  position: relative;
  z-index: 2;
  flex: 0 0 17px;
  height: 17px;
}

.c-button-icon {
  flex: 0 0 24px;
  height: 24px;
}
@media screen and (max-width: 767px) {
  .c-button-icon {
    flex: 0 0 6.4vw;
    height: 6.4vw;
  }
}

.c-button-side {
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .c-button-side {
    flex-direction: column;
  }
}

.c-button-contact a, .c-button-contact button {
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  background-color: #2C2D31;
}
@media screen and (max-width: 767px) {
  .c-button-contact a, .c-button-contact button {
    width: 100%;
  }
}
.c-button-contact a::before, .c-button-contact button::before {
  background: linear-gradient(90deg, #0089A8 0%, #00ADC1) 100%;
}
.c-button-contact a span, .c-button-contact button span {
  position: relative;
}
.c-button-contact a span::before, .c-button-contact button span::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -20px;
  background-image: url("../img/cmn/contact-icon.svg");
}
.c-button-contact .c-button-contact__icon {
  position: relative;
  z-index: 2;
  flex: 0 0 24px;
  height: 24px;
}

._additional_text1 a {
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  background-color: #2C2D31;
}
._additional_text1 a::before {
  background: linear-gradient(90deg, #0089A8 0%, #00ADC1) 100%;
}
._additional_text1 a span {
  position: relative;
  padding-right: 0;
}
._additional_text1 a span::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -20px;
  background-image: url("../img/cmn/pdf-icon.svg");
}
._additional_text1 a span::after {
  display: none;
}
._additional_text1 .additional_text1__icon {
  position: relative;
  z-index: 2;
  flex: 0 0 17px;
  height: 17px;
}

/*===========================================
# 製品
/*===========================================*/
@media screen and (min-width: 768px) {
  .c-product-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    gap: 40px;
  }
}
@media screen and (min-width: 768px) {
  .c-product-list .c-product-list__item {
    display: grid;
    grid-template: "A A" auto "B D" auto "C D" auto "E E" auto/200px 1fr;
    border: 1px solid #D5D5D6;
    padding: 32px;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 0;
  }
}
@media (767px <= width < 1200px) {
  .c-product-list .c-product-list__item {
    grid-template: "A A" auto "B D" auto "C D" auto "E E" auto/16.6666666667vw 1fr;
  }
}
@media screen and (max-width: 767px) {
  .c-product-list .c-product-list__item {
    padding-bottom: 8.5333333333vw;
    border-bottom: 1px solid #D5D5D6;
  }
}
.c-product-list .c-product-list__item a {
  display: block;
}
@media screen and (max-width: 767px) {
  .c-product-list .c-product-list__item + .c-product-list__item {
    margin-top: 8.5333333333vw;
  }
}
.c-product-list .c-product-list__item .c-download-button {
  grid-area: C;
}
@media screen and (min-width: 768px) {
  .c-product-list .c-product-list__item .c-download-button {
    margin-top: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c-product-list .c-product-list__item .c-download-button {
    width: calc(100% - 12.8vw);
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .c-product-list .c-product-list__head {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .c-product-list .c-product-list__head {
    display: flex;
    -moz-column-gap: 3.2vw;
         column-gap: 3.2vw;
    margin-bottom: 2.1333333333vw;
  }
}
.c-product-list .c-product-list__title {
  grid-area: A;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-product-list .c-product-list__title {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c-product-list .c-product-list__title {
    margin-top: 6.4vw;
    font-size: 4.2666666667vw;
    line-height: 1.65;
    letter-spacing: 0.15em;
  }
}
.c-product-list .c-product-list__image {
  grid-area: B;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 768px) {
  .c-product-list .c-product-list__image {
    flex: 0 0 200px;
  }
}
@media screen and (max-width: 767px) {
  .c-product-list .c-product-list__image {
    flex: 0 0 150px;
  }
}
.c-product-list .c-product-list__image a {
  width: 100%;
  height: 100%;
}
.c-product-list .c-product-list__image img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-product-list .c-product-list__text {
  grid-area: D;
  line-height: 1.85;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .c-product-list .c-product-list__text {
    padding-left: 24px;
  }
}
@media screen and (max-width: 767px) {
  .c-product-list .c-product-list__text {
    margin-top: 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
.c-product-list .c-product-list__text span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
}
@media screen and (max-width: 767px) {
  .c-product-list .c-product-list__text span {
    -webkit-line-clamp: 4;
  }
}
.c-product-list .c-product-list__model {
  display: block;
  margin-bottom: 4px;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .c-product-list .c-product-list__model {
    margin-bottom: 1.0666666667vw;
  }
}

.c-product-keyword {
  grid-area: E;
}

.c-article-content .c-product-list__item > .c-product-keyword {
  -ms-grid-row: 4;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
}
@media screen and (min-width: 768px) {
  .c-product-keyword {
    border-top: 1px solid #D5D5D6;
    display: flex;
    align-items: baseline;
    -moz-column-gap: 8px;
         column-gap: 8px;
    margin-top: 24px;
    padding-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .c-product-keyword {
    margin-top: 4.2666666667vw;
  }
}

.c-product-keyword__text {
  font-weight: bold;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .c-product-keyword__text {
    flex: 0 0 90px;
  }
}
@media screen and (max-width: 767px) {
  .c-product-keyword__text {
    margin-bottom: 0;
    line-height: 1.85;
    font-size: 3.7333333333vw;
  }
}

.c-product-keyword__list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
@media screen and (max-width: 767px) {
  .c-product-keyword__list {
    margin-top: 2.1333333333vw;
  }
}
.c-product-keyword__list.c-product-keyword__list-gap8px {
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .c-product-keyword__list.c-product-keyword__list-gap8px {
    gap: 2.1333333333vw;
  }
}

.c-product-keyword__item {
  padding: 4px 8px;
  background: #EDEAE5;
}
@media screen and (max-width: 767px) {
  .c-product-keyword__item {
    padding: 0.5333333333vw 1.0666666667vw;
    font-size: 2.6666666667vw;
  }
}
.c-product-keyword__item a {
  text-decoration: none;
}

.c-product-other {
  padding: 40px 56px;
  background: #F7F5F1;
}
@media screen and (max-width: 767px) {
  .c-product-other {
    padding: 10.6666666667vw 6.4vw;
  }
}

/*===========================================
# ファーストビュー
/*===========================================*/
.c-fv {
  position: relative;
  min-height: 324px;
  overflow: hidden;
  background-color: #F7F5F1;
}
@media screen and (max-width: 767px) {
  .c-fv {
    min-height: 45.8666666667vw;
  }
}
.c-fv:has(.c-fv-text) {
  padding-bottom: 50px;
}
.c-fv:has(.c-fv-text) .c-fv-title {
  min-height: auto;
}
@media screen and (max-width: 767px) {
  .c-fv:has(.c-fv-text) {
    padding: 13.3333333333vw 0;
    min-height: 45.8666666667vw;
  }
}
.c-fv .c-fv-title {
  padding-top: 160px;
  color: #0089A8;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c-fv .c-fv-title {
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c-fv .c-fv-title {
    flex-direction: column;
    align-items: baseline;
    justify-content: center;
    padding: 0;
    min-height: 45.8666666667vw;
  }
}
.c-fv .c-fv-text {
  margin-top: 8px;
  font-weight: bold;
  line-height: 2.1;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .c-fv .c-fv-text {
    margin-top: 2.1333333333vw;
    font-size: 16px;
  }
}
.c-fv.c-fv-architect::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/architect/fv.png);
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 1920/324;
  width: 100%;
  height: 100%;
}
.c-fv.c-fv-construction::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/construction/fv.png);
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 1920/324;
  width: 100%;
  height: 100%;
}
.c-fv.c-fv-management::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/management/fv.png);
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 1920/324;
  width: 100%;
  height: 100%;
}
.c-fv.c-fv-vapor {
  background-color: #569B3A;
}
.c-fv.c-fv-vapor h1, .c-fv.c-fv-vapor p {
  color: #fff;
}
.c-fv.c-fv-steam {
  background-color: #f97764;
}
.c-fv.c-fv-steam h1, .c-fv.c-fv-steam p {
  color: #fff;
}
.c-fv.c-fv-waterspray {
  background-color: #33b7da;
}
.c-fv.c-fv-waterspray h1, .c-fv.c-fv-waterspray p {
  color: #fff;
}
.c-fv.c-fv-flowcontrol {
  background-color: #2cb7c3;
}
.c-fv.c-fv-flowcontrol h1, .c-fv.c-fv-flowcontrol p {
  color: #fff;
}

/*===========================================
# パンくずリスト
/*===========================================*/
.c-bread {
  margin: 24px 0 80px;
}
@media screen and (max-width: 767px) {
  .c-bread {
    margin: 6.4vw 0 17.0666666667vw;
  }
}
.c-bread .c-bread-list {
  display: flex;
  row-gap: 10px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-bread .c-bread-list {
    row-gap: 2.6666666667vw;
  }
}
.c-bread .c-bread-item {
  position: relative;
  padding-left: 24px;
}
@media screen and (max-width: 767px) {
  .c-bread .c-bread-item {
    padding-left: 6.4vw;
  }
}
.c-bread .c-bread-item::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 10px;
  transform: rotate(45deg);
  border-top: 1px solid #D5D5D6;
  border-right: 1px solid #D5D5D6;
  width: 6px;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .c-bread .c-bread-item::before {
    left: 2.6666666667vw;
    width: 1.6vw;
  }
}
.c-bread .c-bread-item:first-child {
  padding-left: 0;
}
.c-bread .c-bread-item:first-child::before {
  display: none;
}
.c-bread .c-bread-item a {
  color: #0089A8;
}
.c-bread .c-bread-item span {
  display: inline-block;
}

/*===========================================
# アンカー
/*===========================================*/
.c-anker-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}
@media screen and (max-width: 767px) {
  .c-anker-list {
    gap: 3.2vw 4.2666666667vw;
  }
}

.c-anker-item {
  color: #0089A8;
  border-bottom: 1px solid #0089A8;
}
@media screen and (min-width: 768px) {
  .c-anker-item {
    height: 39px;
  }
}
@media screen and (max-width: 767px) {
  .c-anker-item {
    width: calc((100% - 4.2666666667vw) / 2);
  }
}
.c-anker-item a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  font-weight: 500;
  line-height: 1.65;
}
@media screen and (min-width: 768px) {
  .c-anker-item a {
    padding-right: 32px;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .c-anker-item a {
    padding: 0 2.6666666667vw 2.1333333333vw 0;
    font-size: 3.7333333333vw;
  }
}
.c-anker-item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #0089A8;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 13px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .c-anker-item a::after {
    width: 3.4666666667vw;
  }
}
.c-anker-item a::after {
  right: 0;
  transform: translateY(-50%) rotate(90deg);
}
.c-anker-item a:hover {
  opacity: 0.8;
}

.c-anker-wrap {
  padding: 56px;
}
@media screen and (max-width: 767px) {
  .c-anker-wrap {
    padding: 8.5333333333vw 6.4vw;
  }
}

/*===========================================
# list
/*===========================================*/
.c-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .c-list {
    gap: 2.1333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c-list .c-list-item {
    width: calc((100% - 48px) / 3);
  }
}
@media screen and (max-width: 767px) {
  .c-list .c-list-item {
    width: calc((100% - 2.1333333333vw) / 2);
  }
}
.c-list .c-list-item a {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 16px 50px 16px 24px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .c-list .c-list-item a {
    padding: 4.2666666667vw 6.4vw 4.2666666667vw 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c-list .c-list-item a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-color: #0089A8;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    width: 24px;
    aspect-ratio: 1/1;
    transition: all 0.3s;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-list .c-list-item a::after {
    width: 6.4vw;
  }
}
@media screen and (max-width: 767px) {
  .c-list .c-list-item a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-color: #0089A8;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    width: 4.2666666667vw;
    aspect-ratio: 1/1;
    transition: all 0.3s;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-list .c-list-item a::after {
    width: calc(1.1377777778vw * 1vw / 1px);
  }
}
.c-list .c-list-item a::after {
  right: 24px;
}
@media screen and (max-width: 767px) {
  .c-list .c-list-item a::after {
    right: 2.6666666667vw;
  }
}
.c-list .c-list-item a:hover {
  background: #EDEAE5;
  color: #0089A8;
}
.c-list .c-list-item a:hover::after {
  right: 19px;
}
@media screen and (max-width: 767px) {
  .c-list .c-list-item a:hover::after {
    right: 5.0666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .c-list .c-list-item a.small-text {
    font-size: 3.4666666667vw;
  }
}
.c-list .c-list-item.c-list-item__login span {
  position: relative;
}
.c-list .c-list-item.c-list-item__login span::after {
  content: "";
  position: relative;
  top: 4px;
  display: inline-block;
  background-image: url("../img/cmn/login-icon01.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 24px;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .c-list .c-list-item.c-list-item__login span::after {
    top: 1.0666666667vw;
    width: 6.4vw;
  }
}
.c-list.bg-white .c-list-item a {
  background-color: #F7F5F1;
}
.c-list.bg-white .c-list-item a:hover {
  background: #EDEAE5;
}

/*===========================================
# メニュー
/*===========================================*/
.c-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .c-menu {
    gap: 2.1333333333vw;
  }
}
.c-menu .c-menu-item {
  width: calc((100% - 100px) / 6);
}
@media screen and (min-width: 767px) and (max-width: 1200px) {
  .c-menu .c-menu-item {
    width: calc((100% - 60px) / 4);
  }
}
@media screen and (max-width: 767px) {
  .c-menu .c-menu-item {
    width: calc((100% - 2.1333333333vw) / 2);
  }
}
.c-menu .c-menu-item a {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 8px;
  width: 100%;
  height: 100%;
  background: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-menu .c-menu-item a {
    padding: 32px 0 64px;
  }
}
@media screen and (max-width: 767px) {
  .c-menu .c-menu-item a {
    row-gap: 2.1333333333vw;
    padding: 6.4vw 0 14.9333333333vw;
  }
}
.c-menu .c-menu-item a .c-menu-icon {
  width: 32px;
}
@media screen and (max-width: 767px) {
  .c-menu .c-menu-item a .c-menu-icon {
    width: 8.5333333333vw;
  }
}
.c-menu .c-menu-item a p {
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-menu .c-menu-item a p {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .c-menu .c-menu-item a p {
    padding-bottom: 2.1333333333vw;
    font-size: 3.7333333333vw;
  }
}
.c-menu .c-menu-item a p::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #0089A8;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 24px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .c-menu .c-menu-item a p::after {
    width: 6.4vw;
  }
}
.c-menu .c-menu-item a p::after {
  left: 50%;
  transform: translateX(-50%);
  top: auto;
  bottom: -30px;
}
@media screen and (max-width: 767px) {
  .c-menu .c-menu-item a p::after {
    bottom: -6.4vw;
  }
}
.c-menu .c-menu-item a:hover {
  background: #EDEAE5;
  color: #0089A8;
}
.c-menu .c-menu-item a:hover p::after {
  left: 53%;
}
.c-menu:has(.c-menu-item:nth-child(2):last-child) {
  -moz-column-gap: 40px;
       column-gap: 40px;
}
@media screen and (max-width: 767px) {
  .c-menu:has(.c-menu-item:nth-child(2):last-child) {
    -moz-column-gap: 2.1333333333vw;
         column-gap: 2.1333333333vw;
  }
}
.c-menu:has(.c-menu-item:nth-child(2):last-child) .c-menu-item {
  width: calc((100% - 40px) / 2);
}
@media screen and (max-width: 767px) {
  .c-menu:has(.c-menu-item:nth-child(2):last-child) .c-menu-item {
    width: calc((100% - 2.1333333333vw) / 2);
  }
}
.c-menu.c-menu--col03 {
  -moz-column-gap: 32px;
       column-gap: 32px;
}
@media screen and (max-width: 767px) {
  .c-menu.c-menu--col03 {
    display: block;
  }
}
.c-menu.c-menu--col03 .c-menu-item {
  width: calc((100% - 64px) / 3);
  aspect-ratio: 379/169;
}
@media screen and (max-width: 767px) {
  .c-menu.c-menu--col03 .c-menu-item {
    width: 100%;
    aspect-ratio: 328/150;
  }
}
@media screen and (max-width: 767px) {
  .c-menu.c-menu--col03 .c-menu-item + .c-menu-item {
    margin-top: 2.1333333333vw;
  }
}
.c-menu.c-menu--col03 .c-menu-item .u-ts-btn::after {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .c-menu:has(.c-menu-item:nth-child(7)) {
    gap: 16px;
  }
}
@media screen and (min-width: 768px) {
  .c-menu:has(.c-menu-item:nth-child(7)) .c-menu-item {
    width: calc((100% - 48px) / 4);
  }
}
@media screen and (min-width: 768px) {
  .c-menu:has(.c-menu-item:nth-child(7)) .c-menu-item:nth-child(-n+5) {
    width: calc((100% - 64px) / 5);
  }
}
.c-menu.bg-white .c-menu-item a {
  background: #F7F5F1;
}
.c-menu.bg-base .c-menu-item a {
  background: #0089A8;
  color: #fff;
}
.c-menu.bg-base .c-menu-item a::after {
  background: #fff;
}
.c-menu.bg-base .c-menu-item a:hover {
  background: #00ADC1;
}
.c-menu.bg-base .c-menu-item .c-menu-icon svg path {
  fill: #fff;
}
.c-menu.bg-base .c-menu-item:nth-child(2) .c-menu-icon svg path {
  fill: transparent;
}

/*===========================================
# もっと知るリスト
/*===========================================*/
@media screen and (min-width: 768px) {
  .c-more-list {
    margin-top: 32px;
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .c-more-list {
    margin-top: 9.6vw;
  }
}
@media screen and (max-width: 767px) {
  .c-more-list .c-more-list__item {
    width: 100%;
  }
}
.c-more-list .c-more-list__item .c-more-list__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.c-more-list .c-more-list__item:hover .c-more-list__image::before {
  opacity: 0;
}
.c-more-list .c-more-list__item:hover .c-more-list__image::after {
  opacity: 1;
}
.c-more-list .c-more-list__item:hover .c-more-list__text::after {
  right: 35px;
}
@media screen and (max-width: 767px) {
  .c-more-list .c-more-list__item:hover .c-more-list__text::after {
    right: 9.3333333333vw;
  }
}
.c-more-list .c-more-list__image {
  position: relative;
}
.c-more-list .c-more-list__image::before, .c-more-list .c-more-list__image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}
.c-more-list .c-more-list__image::before {
  opacity: 1;
  background: linear-gradient(180deg, var(--Border-gray, rgba(44, 45, 49, 0.14)) 0%, var(--Main-black, rgba(44, 45, 49, 0.7)) 100%);
}
.c-more-list .c-more-list__image::after {
  opacity: 0;
  background: linear-gradient(180deg, var(--Border-gray, rgba(44, 45, 49, 0.2)) 0%, var(--Main-black, #2C2D31) 100%);
}
.c-more-list .c-more-list__text {
  position: absolute;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .c-more-list .c-more-list__text {
    left: 40px;
    bottom: 40px;
    width: calc(100% - 40px);
  }
}
@media screen and (min-width: 767px) and (max-width: 1400px) {
  .c-more-list .c-more-list__text {
    left: 20px;
    width: calc(100% - 20px);
  }
}
@media screen and (max-width: 767px) {
  .c-more-list .c-more-list__text {
    bottom: 10.6666666667vw;
    left: 6.4vw;
    width: calc(100% - 6.4vw);
  }
}
.c-more-list .c-more-list__text::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 20px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .c-more-list .c-more-list__text::after {
    width: 5.3333333333vw;
  }
}
.c-more-list .c-more-list__text::after {
  right: 40px;
  top: auto;
  transform: none;
  bottom: 5px;
}
@media screen and (max-width: 767px) {
  .c-more-list .c-more-list__text::after {
    right: 10.6666666667vw;
    bottom: 1.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c-more-list.c-more-list--col03 {
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
}
@media screen and (min-width: 768px) {
  .c-more-list.c-more-list--col03 .c-more-list__item {
    width: calc((100% - 48px) / 3);
  }
}
@media screen and (max-width: 767px) {
  .c-more-list.c-more-list--col03 .c-more-list__item + .c-more-list__item {
    margin-top: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .c-more-list.c-more-list--col04 {
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
@media screen and (min-width: 768px) {
  .c-more-list.c-more-list--col04 .c-more-list__item {
    width: calc((100% - 48px) / 4);
  }
}
@media screen and (max-width: 767px) {
  .c-more-list.c-more-list--col04 .c-more-list__item + .c-more-list__item {
    margin-top: 2.1333333333vw;
  }
}

/*===========================================
# 横並びレイアウト
/*===========================================*/
@media screen and (min-width: 768px) {
  .c-grid {
    display: grid;
    grid-template: "A B" auto "A C" auto "A D" auto/580px 1fr;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  .c-grid > .c-download-button {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .c-grid > .c-product-list__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .c-grid > .c-product-list__image {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .c-grid > .c-product-list__text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
  }
}
@media (767px <= width < 1200px) {
  .c-grid {
    grid-template: "A B" auto "A C" auto "A D" auto/48.3333333333vw 1fr;
  }
  .c-grid > .c-download-button {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .c-grid > .c-product-list__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .c-grid > .c-product-list__image {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .c-grid > .c-product-list__text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
  }
}
.c-grid .c-grid-image {
  grid-area: A;
}
.c-grid .c-grid-title {
  grid-area: B;
}
.c-grid .c-grid-text {
  grid-area: C;
}
@media screen and (max-width: 767px) {
  .c-grid .c-grid-text {
    margin-top: 5.3333333333vw;
  }
}
.c-grid .c-grid-button {
  grid-area: D;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .c-grid .c-grid-button {
    margin-top: 8.5333333333vw;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .c-grid.c-grid-reverse {
    display: grid;
    grid-template: "B A" auto "C A" auto "D A" auto/1fr 580px;
  }
  .c-grid.c-grid-reverse > .c-download-button {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-grid.c-grid-reverse > .c-product-list__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .c-grid.c-grid-reverse > .c-product-list__image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-grid.c-grid-reverse > .c-product-list__text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .c-grid.c-grid-reverse > .c-grid-image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .c-grid.c-grid-reverse > .c-grid-title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-grid.c-grid-reverse > .c-grid-text {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-grid.c-grid-reverse > .c-grid-button {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
}
@media (767px <= width < 1200px) {
  .c-grid.c-grid-reverse {
    grid-template: "B A" auto "C A" auto "D A" auto/1fr 48.3333333333vw;
  }
  .c-grid.c-grid-reverse > .c-download-button {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-grid.c-grid-reverse > .c-product-list__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .c-grid.c-grid-reverse > .c-product-list__image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-grid.c-grid-reverse > .c-product-list__text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .c-grid.c-grid-reverse > .c-grid-image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .c-grid.c-grid-reverse > .c-grid-title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-grid.c-grid-reverse > .c-grid-text {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-grid.c-grid-reverse > .c-grid-button {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
}

/*===========================================
# フレックス
/*===========================================*/
@media screen and (min-width: 768px) {
  .c-flex {
    display: flex;
  }
}
.c-flex.c-flex--col03 {
  -moz-column-gap: 24px;
       column-gap: 24px;
}
@media screen and (min-width: 768px) {
  .c-flex.c-flex--col03 .c-flex-item {
    width: calc((100% - 48px) / 3);
  }
}
@media screen and (max-width: 767px) {
  .c-flex.c-flex--col03 .c-flex-item + .c-flex-item {
    margin-top: 8.5333333333vw;
  }
}
.c-flex.c-flex--col03 .c-button-black a {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-flex.c-flex--col03 .c-button-black a {
    padding: 20px 0;
  }
}
.c-flex.c-flex--col03 .c-button-black + .c-button-black {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .c-flex.c-flex--col03 .c-button-black + .c-button-black {
    margin-top: 4.2666666667vw;
  }
}

/*===========================================
# ニュース一覧
/*===========================================*/
@media screen and (min-width: 768px) {
  .c-topics .c-topics-flex {
    display: flex;
    justify-content: space-between;
  }
}
.c-topics .c-topics-select {
  border: 1px solid #D5D5D6;
}
@media screen and (min-width: 768px) {
  .c-topics .c-topics-select {
    width: 328px;
    height: 58px;
  }
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-select {
    margin-top: 8.5333333333vw;
    height: 15.4666666667vw;
  }
}
.c-topics .c-topics-select select {
  width: 100%;
  height: 100%;
  padding: 16px 12px;
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-select select {
    padding: 4.2666666667vw 3.2vw;
  }
}
.c-topics .c-topics-tab {
  display: inline-flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-tab {
    flex-wrap: wrap;
    margin-top: 8.5333333333vw;
  }
}
.c-topics .c-topics-tab .c-topics-tab__item {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  transition: all 0.3s;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .c-topics .c-topics-tab .c-topics-tab__item {
    border: 1px solid #D5D5D6;
    margin-left: -1px;
    height: 45px;
  }
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-tab .c-topics-tab__item {
    width: 33.3333333333%;
    height: 10.9333333333vw;
    border: 1px solid #D5D5D6;
    margin-left: -1px;
  }
}
.c-topics .c-topics-tab .c-topics-tab__item .c-topics-tab__button {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .c-topics .c-topics-tab .c-topics-tab__item .c-topics-tab__button {
    padding: 8px 16px;
  }
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-tab .c-topics-tab__item .c-topics-tab__button {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.2vw;
    letter-spacing: 0.05em;
  }
}
.c-topics .c-topics-tab .c-topics-tab__item.active {
  border: 1px solid #0089A8;
  background-color: #0089A8;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-tab .c-topics-tab__item:nth-child(n+4) {
    border-top: none;
  }
}
.c-topics .c-topics-tab .c-topics-tab__item:hover {
  background-color: #00ADC1;
  color: #fff;
}
.c-topics .c-topics-list {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-list {
    margin-top: 8.5333333333vw;
  }
}
.c-topics .c-topics-list__item {
  transition: all 0.3s;
  border-bottom: 1px solid #D5D5D6;
}
.c-topics .c-topics-list__item:first-child {
  border-top: 1px solid #D5D5D6;
}
.c-topics .c-topics-list__item:hover {
  opacity: 0.6;
}
.c-topics .c-topics-list__link {
  flex: 0 1 100%;
}
@media screen and (min-width: 768px) {
  .c-topics .c-topics-list__link {
    display: flex;
    align-items: baseline;
    -moz-column-gap: 24px;
         column-gap: 24px;
    padding: 24px 0;
  }
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-list__link {
    display: block;
    padding: 4.2666666667vw 0;
  }
}
.c-topics .c-topics-box {
  display: flex;
}
@media screen and (min-width: 768px) {
  .c-topics .c-topics-box {
    align-items: center;
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-box {
    -moz-column-gap: 4.2666666667vw;
         column-gap: 4.2666666667vw;
    margin-bottom: 1.0666666667vw;
  }
}
.c-topics .c-topics-box span.category {
  padding: 4px 8px;
  background-color: #EDEAE5;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-box span.category {
    padding: 1.0666666667vw 2.1333333333vw;
  }
}
.c-topics .c-topics-head {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-head {
    margin-bottom: 4.2666666667vw;
  }
}
.c-topics .c-topics-button {
  margin: 32px auto 0;
}
@media screen and (max-width: 767px) {
  .c-topics .c-topics-button {
    margin: 8.5333333333vw auto 0;
  }
}

/*===========================================
# 記事詳細
/*===========================================*/
@media screen and (max-width: 767px) {
  main:has(.c-article-sidebar) {
    margin-top: 40px;
  }
}

@media screen and (min-width: 768px) {
  .c-article-wrap {
    display: flex;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}

@media screen and (min-width: 768px) {
  .c-article-ac {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .c-article-ac {
    display: flex;
    align-items: center;
  }
}
.c-article-ac {
  position: fixed;
  top: 17.0666666667vw;
  background: #F7F5F1;
  width: 100%;
  height: 11.7333333333vw;
  padding: 0 24px;
  font-weight: bold;
  z-index: 20;
}
.c-article-ac::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%) rotate(-45deg);
  width: 10px;
  height: 10px;
  border-top: 1px solid #2C2D31;
  border-right: 1px solid #2C2D31;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .c-article-ac::after {
    right: 6.4vw;
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}
.c-article-ac.active::after {
  transform: translateY(-50%) rotate(135deg);
}

@media screen and (min-width: 768px) {
  .c-article-sidebar {
    flex: 0 0 240px;
  }
}
@media screen and (max-width: 767px) {
  .c-article-sidebar {
    position: fixed;
    background-color: #fff;
    top: 28.8vw;
    left: 0;
    width: 100%;
    height: calc(100svh - 28.8vw);
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
    overflow-y: auto;
  }
}
@media screen and (max-width: 767px) {
  .c-article-sidebar.active {
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (min-width: 768px) {
  .c-article-sidebar .c-article-sidebar__list {
    position: sticky;
    top: 100px;
  }
}
@media screen and (min-width: 768px) {
  .c-article-sidebar .c-article-sidebar__item-en a.active, .c-article-sidebar .c-article-sidebar__item-note span a.active, .c-article-sidebar .c-article-sidebar__item-note a.active, .c-article-sidebar .c-article-sidebar__item a.active {
    position: relative;
  }
  .c-article-sidebar .c-article-sidebar__item-en a.active::before, .c-article-sidebar .c-article-sidebar__item-note a.active::before, .c-article-sidebar .c-article-sidebar__item a.active::before {
    content: "";
    position: absolute;
    top: 7px;
    left: -24px;
    width: 8px;
    height: 8px;
    background-color: #0089A8;
    border-radius: 50%;
  }
}
.c-article-sidebar .c-article-sidebar__item {
  position: relative;
  font-weight: 500;
  line-height: 1.65;
  color: #0089A8;
  padding-left: 24px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c-article-sidebar .c-article-sidebar__item {
    padding: 4.2666666667vw 6.4vw;
    border-bottom: 1px solid #D5D5D6;
    font-size: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .c-article-sidebar .c-article-sidebar__item:last-child {
    border-bottom: none;
  }
}
@media screen and (min-width: 768px) {
  .c-article-sidebar .c-article-sidebar__item + .c-article-sidebar__item {
    margin-top: 16px;
  }
}
.c-article-sidebar .c-article-sidebar__item-note {
  position: relative;
  display: block;
  margin-top: 5px;
  padding-left: 15px;
  padding: 4px 0 4px 15px;
  color: #2C2D31;
}
@media screen and (max-width: 767px) {
  .c-article-sidebar .c-article-sidebar__item-note {
    margin-top: 1.3333333333vw;
    padding-left: 4vw;
    font-weight: bold;
  }
}
.c-article-sidebar .c-article-sidebar__item-note::before {
  content: "";
  position: absolute;
  top: 1em;
  left: 5px;
  width: 4px;
  height: 1px;
  background-color: #0089A8;
}
@media screen and (max-width: 767px) {
  .c-article-sidebar .c-article-sidebar__item-note::before {
    width: 1.0666666667vw;
  }
}
.c-article-sidebar .c-article-sidebar__item-note a.active::before {
  left: -39px;
}
.c-article-sidebar .c-article-sidebar__item-note span {
  position: relative;
  display: block;
  font-weight: 400;
  padding: 4px 0 4px 14px;
}
@media screen and (max-width: 767px) {
  .c-article-sidebar .c-article-sidebar__item-note span {
    padding: 1.0666666667vw 0 1.0666666667vw 4vw;
  }
}
.c-article-sidebar .c-article-sidebar__item-note span a.active::before {
  left: -53px;
}
.c-article-sidebar .c-article-sidebar__item-en {
  position: relative;
  font-weight: 500;
  line-height: 1.65;
  font-size: 17px;
  padding-left: 15px;
}
@media screen and (max-width: 767px) {
  .c-article-sidebar .c-article-sidebar__item-en {
    font-size: 4.5333333333vw;
    padding-left: 4vw;
    margin: 5.3333333333vw 5.3333333333vw 0;
  }
}
@media screen and (max-width: 767px) {
  .c-article-sidebar .c-article-sidebar__item-en + .c-article-sidebar__item-en {
    margin-top: 0;
  }
}
.c-article-sidebar .c-article-sidebar__item-en::before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 5px;
  width: 4px;
  height: 1px;
  background-color: #0089A8;
}
@media screen and (max-width: 767px) {
  .c-article-sidebar .c-article-sidebar__item-en::before {
    width: 1.0666666667vw;
  }
}
.c-article-sidebar .c-article-sidebar__item-en a.active::before {
  left: -39px;
}

.c-article-head {
  display: flex;
}
@media screen and (min-width: 768px) {
  .c-article-head {
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 767px) {
  .c-article-head {
    gap: 8.5333333333vw;
    flex-direction: column;
  }
}
.c-article-head .c-download-button {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .c-article-head .c-download-button {
    flex: 0 0 200px;
  }
}
@media screen and (max-width: 767px) {
  .c-article-head .c-download-button {
    max-width: 100%;
  }
}

.c-article-content {
  flex: 0 1 100%;
  overflow-x: auto;
  overflow-y: clip;
}
.c-article-content .c-product-list {
  gap: 24px;
}
@media (767px <= width < 1000px) {
  .c-article-content .c-product-list {
    flex-direction: column;
  }
}
.c-article-content .c-product-list__item {
  grid-template: "A A" auto "B D" auto "C D" auto "E E" auto/160px 1fr;
}
@media (767px <= width < 1200px) {
  .c-article-content .c-product-list__item {
    grid-template: "A A" auto "B D" auto "C D" auto "E E" auto/13.3333333333vw 1fr;
  }
  .c-article-content .c-product-list__item > .c-download-button {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-article-content .c-product-list__item > .c-product-list__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-article-content .c-product-list__item > .c-product-list__image {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-article-content .c-product-list__item > .c-product-list__text {
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .c-article-content .c-product-list__item > .c-product-keyword {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-article-content .c-product-list__item > .c-grid-image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-article-content .c-product-list__item > .c-grid-title {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-article-content .c-product-list__item > .c-grid-text {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-article-content .c-product-list__item > .c-grid-button {
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
}
@media (767px <= width < 1000px) {
  .c-article-content .c-product-list__item {
    width: 100%;
  }
}
.c-article-content .c-product-list__item a {
  text-decoration: none;
  color: #2C2D31;
}
.c-article-content .c-download-list {
  gap: 24px;
}
@media (767px < width <= 1000px) {
  .c-article-content .c-download-list {
    gap: 12px;
  }
}
@media screen and (max-width: 767px) {
  .c-article-content .c-download-list {
    gap: 3.2vw;
  }
}
.c-article-content .c-download-list__item {
  width: calc((100% - 72px) / 4);
}
@media (767px < width <= 1000px) {
  .c-article-content .c-download-list__item {
    width: calc((100% - 12px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .c-article-content .c-download-list__item {
    width: calc((100% - 3.2vw) / 2);
  }
}
.c-article-content .c-table table {
  table-layout: fixed;
  min-width: 920px;
  width: 100%;
}

.c-article-body h2:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6) {
  position: relative;
  padding-left: 29px;
  font-weight: bold;
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 28px;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .c-article-body h2:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6) {
    margin-bottom: 8.5333333333vw;
    padding-left: 6.4vw;
    font-size: 6.4vw;
  }
}
.c-article-body h2:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 5px;
  height: 30px;
  background-color: #0089A8;
}
@media screen and (max-width: 767px) {
  .c-article-body h2:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6)::before {
    width: 1.3333333333vw;
    height: 6.4vw;
  }
}
.c-article-body h3:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6),
.c-article-body h4:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6) {
  border-bottom: 2px solid #D5D5D6;
  font-weight: bold;
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .c-article-body h3:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6),
  .c-article-body h4:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6) {
    font-size: 5.3333333333vw;
  }
}
.c-article-body h3:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6):not([class*=u-m]):not([class*=u-p]),
.c-article-body h4:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6):not([class*=u-m]):not([class*=u-p]) {
  margin: 40px 0 24px;
}
@media screen and (max-width: 767px) {
  .c-article-body h3:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6):not([class*=u-m]):not([class*=u-p]),
  .c-article-body h4:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6):not([class*=u-m]):not([class*=u-p]) {
    margin: 10.6666666667vw 0 6.4vw;
  }
}
.c-article-body h5:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6) {
  position: relative;
  padding-left: 15px;
  font-weight: bold;
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .c-article-body h5:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6) {
    font-size: 5.3333333333vw;
  }
}
.c-article-body h5:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6):not([class*=u-m]):not([class*=u-p]) {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .c-article-body h5:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6):not([class*=u-m]):not([class*=u-p]) {
    margin-bottom: 4.2666666667vw;
  }
}
.c-article-body h5:not(.u-ts-h2):not(.u-ts-h3):not(.u-ts-h4):not(.u-ts-h5):not(.u-ts-h6)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background: #2C2D31;
}
.c-article-body h6 {
  font-weight: bold;
  line-height: 1.65;
  letter-spacing: 0.15em;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .c-article-body h6 {
    font-size: 4.2666666667vw;
  }
}
.c-article-body p:not(.u-ts-td):not([class*=u-m]):not([class*=u-p]) {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .c-article-body p:not(.u-ts-td):not([class*=u-m]):not([class*=u-p]) {
    margin-bottom: 4.2666666667vw;
  }
}
.c-article-body p:not(.u-ts-td), .c-article-body li:not(.u-ts-td) {
  line-height: 2.1;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .c-article-body p:not(.u-ts-td), .c-article-body li:not(.u-ts-td) {
    font-size: 4.2666666667vw;
  }
}
.c-article-body p:not(.u-ts-td) + .c-article-flex, .c-article-body li:not(.u-ts-td) + .c-article-flex {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .c-article-body p:not(.u-ts-td) + .c-article-flex, .c-article-body li:not(.u-ts-td) + .c-article-flex {
    margin-top: 10.6666666667vw;
  }
}
.c-article-body a {
  color: #0089A8;
  text-decoration: underline;
}
.c-article-body ol {
  list-style-type: decimal;
  padding-left: 24px;
}
@media screen and (max-width: 767px) {
  .c-article-body ol {
    padding-left: 6.4vw;
  }
}
.c-article-body ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .c-article-body ul {
    gap: 2.1333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.c-article-body ul li {
  position: relative;
  padding-left: 24px;
}
@media screen and (max-width: 767px) {
  .c-article-body ul li {
    padding-left: 6.4vw;
  }
}
.c-article-body ul li::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: #0089A8;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .c-article-body ul li::before {
    top: 3.4666666667vw;
    width: 2.1333333333vw;
    height: 2.1333333333vw;
  }
}
.c-article-body ul li span {
  position: relative;
  display: block;
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .c-article-body ul li span {
    padding-left: 5.3333333333vw;
  }
}
.c-article-body ul li span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 4px;
  height: 1px;
  background-color: #0089A8;
}
@media screen and (max-width: 767px) {
  .c-article-body ul li span::before {
    width: 1.0666666667vw;
    height: 0.2666666667vw;
  }
}
.c-article-body ul.child {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0;
}
@media screen and (min-width: 768px) {
  .c-article-body ul.child li {
    width: 33.3333333333%;
  }
}
@media screen and (max-width: 767px) {
  .c-article-body ul.child li {
    width: 100%;
  }
}
.c-article-body ul.child li {
  margin: 0;
  padding-left: 15px;
}
@media screen and (max-width: 767px) {
  .c-article-body ul.child li {
    padding-left: 4vw;
  }
}
.c-article-body ul.child li::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 0;
  width: 4px;
  height: 1px;
  background-color: #0089A8;
}
@media screen and (max-width: 767px) {
  .c-article-body ul.child li::before {
    top: 4.5333333333vw;
    width: 1.0666666667vw;
  }
}
.c-article-body figure {
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .c-article-body figure {
    margin: 10.6666666667vw 0;
  }
}
.c-article-body figure + p {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .c-article-body figure + p {
    margin-top: 4.2666666667vw;
  }
}
.c-article-body figure figcaption {
  line-height: 1.65;
  font-size: 14px;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .c-article-body figure figcaption {
    margin-top: 2.1333333333vw;
    font-size: 3.7333333333vw;
  }
}
.c-article-body table {
  border: 1px solid #D5D5D6;
  width: 100%;
  border-collapse: collapse;
}
.c-article-body table th, .c-article-body table td {
  border: 1px solid #D5D5D6;
  padding: 10px 12px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c-article-body table th, .c-article-body table td {
    padding: 2.6666666667vw 3.2vw;
    font-size: 3.7333333333vw;
  }
}
.c-article-body table thead th {
  background: #676767;
  color: #fff;
}
.c-article-body table tbody th, .c-article-body table tbody td {
  font-weight: 400;
  vertical-align: middle;
}
.c-article-body table tbody th[scope=col] {
  background: #84827E;
  color: #fff;
}
.c-article-body table tbody th[scope=row] {
  background: #E4E1DB;
}
.c-article-body img {
  width: revert-layer;
  max-width: 100%;
}

.c-article-flex {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .c-article-flex {
    margin-bottom: 5.3333333333vw;
  }
}
.c-article-flex figure {
  margin: 0;
  margin-top: auto;
}
.c-article-flex:has(> :nth-child(2):last-child) {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .c-article-flex:has(> :nth-child(2):last-child) {
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c-article-flex:has(> :nth-child(2):last-child) .c-article-flex__item {
    width: calc((100% - 40px) / 2);
  }
}
@media screen and (min-width: 768px) {
  .c-article-flex:has(> :nth-child(3):last-child) {
    display: flex;
    gap: 24px;
  }
}
@media screen and (min-width: 768px) {
  .c-article-flex:has(> :nth-child(3):last-child) .c-article-flex__item {
    width: calc((100% - 48px) / 3);
  }
}
.c-article-flex .c-article-flex__item {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-article-flex .c-article-flex__movie {
    flex: 0 0 440px;
  }
}
.c-article-flex .c-article-flex__movie {
  aspect-ratio: 16/9;
}
.c-article-flex .c-article-flex__movie iframe {
  width: 100%;
  height: 100%;
}
.c-article-flex .c-article-flex__movie figure {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .c-article-flex .c-article-flex__image {
    flex: 0 0 290px;
  }
}
@media screen and (min-width: 768px) {
  .c-article-flex .c-article-flex__image.c-article-flex__image--large {
    flex: 0 0 440px;
  }
}
@media (767px <= width < 1200px) {
  .c-article-flex .c-article-flex__image.c-article-flex__image--large {
    flex: 0 0 25vw;
  }
}
.c-article-flex .c-article-flex__message {
  flex: 0 1 100%;
}
.c-article-flex + p {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .c-article-flex + p {
    margin-top: 10.6666666667vw;
  }
}

.c-article-flex--width_auto {
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .c-article-flex--width_auto {
    gap: 4.2666666667vw;
  }
}
.c-article-flex--width_auto figure {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .c-article-flex--width_auto {
    flex-direction: column;
  }
  .c-article-flex--width_auto img {
    width: 100%;
  }
}

.c-article-button {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .c-article-button {
    margin-top: 8.5333333333vw;
    text-align: center;
  }
}

.c-article-solution__head {
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .c-article-solution__head {
    gap: 4.2666666667vw;
  }
}

.c-article-solution__head_icon {
  flex: 0 0 64px;
}
@media screen and (max-width: 767px) {
  .c-article-solution__head_icon {
    flex: 0 0 17.0666666667vw;
  }
}

.c-article-solution__point {
  border: 1px solid #0089A8;
}
@media screen and (min-width: 768px) {
  .c-article-solution__point {
    display: flex;
  }
}
.c-article-solution__point .c-article-solution__point_strong {
  flex: 0 0 208px;
  padding: 8px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0089A8;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-article-solution__point .c-article-solution__point_strong {
    flex: 0 0 55.4666666667vw;
    padding: 2.1333333333vw 0;
  }
}
.c-article-solution__point .c-article-solution__point_text {
  flex: 0 1 100%;
  color: #0089A8;
  padding: 6px 16px;
}
@media screen and (max-width: 767px) {
  .c-article-solution__point .c-article-solution__point_text {
    padding: 1.6vw 4.2666666667vw;
  }
}

.c-article-solution__callout {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 32px 32px 32px 18px;
  background: #F7F5F1;
  border-left: 3px solid #0089A8;
}
@media screen and (max-width: 767px) {
  .c-article-solution__callout {
    gap: 4.2666666667vw;
    padding: 8.5333333333vw 8.5333333333vw 8.5333333333vw 4.8vw;
  }
}

.c-article-solution__callout_icon {
  flex: 0 0 46px;
}
@media screen and (max-width: 767px) {
  .c-article-solution__callout_icon {
    flex: 0 0 12.2666666667vw;
  }
}

.c-article-condtion {
  padding: 32px;
  background: #F7F5F1;
}
@media screen and (max-width: 767px) {
  .c-article-condtion {
    padding: 8.5333333333vw;
  }
}

.c-article-comparison {
  display: flex;
  gap: 85px;
}
@media screen and (max-width: 767px) {
  .c-article-comparison {
    flex-direction: column;
    gap: 18.6666666667vw;
  }
}
.c-article-comparison .c-article-comparison__item figure {
  margin: 0;
}
.c-article-comparison .c-article-comparison__item figcaption {
  text-align: left;
}
.c-article-comparison .c-article-comparison__item:first-child {
  position: relative;
}
.c-article-comparison .c-article-comparison__item:first-child::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -62px;
  transform: translateY(-50%);
  background-image: url("../img/cmn/comparsion-icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 38px;
  height: 46px;
}
@media screen and (max-width: 767px) {
  .c-article-comparison .c-article-comparison__item:first-child::after {
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    top: auto;
    bottom: -16vw;
    width: 10.1333333333vw;
    height: 12.2666666667vw;
  }
}

.c-article-flow {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
@media screen and (max-width: 767px) {
  .c-article-flow {
    gap: 17.0666666667vw;
  }
}

.c-article-flow__item {
  position: relative;
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .c-article-flow__item {
    gap: 6.4vw;
  }
}
.c-article-flow__item + .c-article-flow__item::after {
  content: "";
  position: absolute;
  top: -50px;
  left: 40px;
  width: 1px;
  height: 32px;
  background: #0089A8;
}
@media screen and (max-width: 767px) {
  .c-article-flow__item + .c-article-flow__item::after {
    top: -100%;
    left: 6.6666666667vw;
    height: 80%;
  }
}

.c-article-flow__number {
  flex: 0 0 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0089A8;
  color: #fff;
  font-family: "Alumni Sans", sans-serif;
  font-weight: 500;
  font-size: 40px;
}
@media screen and (max-width: 767px) {
  .c-article-flow__number {
    flex: 0 0 13.3333333333vw;
    height: 13.3333333333vw;
    font-size: 8vw;
  }
}

.c-article-case {
  display: flex;
  gap: 19px;
}
@media screen and (max-width: 767px) {
  .c-article-case {
    gap: 5.0666666667vw;
  }
}

.c-article-case__number {
  flex: 0 0 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #0089A8;
  color: #fff;
  font-family: "Alumni Sans", sans-serif;
  font-weight: 500;
  font-size: 40px;
}
@media screen and (max-width: 767px) {
  .c-article-case__number {
    flex: 0 0 16vw;
    height: 16vw;
    font-size: 8vw;
  }
}
.c-article-case__number span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c-article-case__number span {
    font-size: 3.7333333333vw;
  }
}

.c-article-reference {
  display: flex;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .c-article-reference {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .c-article-reference {
    gap: 2.1333333333vw;
    flex-direction: column;
  }
}

@media screen and (min-width: 768px) {
  .c-article-reference__box {
    width: calc((100% - 16px) / 3);
  }
}
@media screen and (min-width: 768px) {
  .c-article-reference__box.c-article-reference__box--colspan02 {
    width: calc((100% - 16px) / 3 * 2 + 8px);
  }
}
.c-article-reference__box dl {
  display: flex;
  border: 1px solid #D5D5D6;
}
.c-article-reference__box dl dt {
  background: #F7F5F1;
  font-weight: 400;
  flex: 0 0 200px;
}
@media (767px < width <= 1100px) {
  .c-article-reference__box dl dt {
    flex: 0 0 140px;
  }
}
@media screen and (max-width: 767px) {
  .c-article-reference__box dl dt {
    flex: 0 0 53.3333333333vw;
  }
}
.c-article-reference__box dl dt, .c-article-reference__box dl dd {
  padding: 10px;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .c-article-reference__box dl dt, .c-article-reference__box dl dd {
    padding: 2.6666666667vw;
  }
}

/*===========================================
# ページネーション
/*===========================================*/
.c-pagenation {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-pagenation .c-pagenation-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .c-pagenation .c-pagenation-button {
    width: 10.6666666667vw;
  }
}
.c-pagenation .c-pagenation-button span {
  position: relative;
}
.c-pagenation .c-pagenation-button span::before {
  content: "";
  position: absolute;
  top: -2px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #0089A8;
  border-right: 1px solid #0089A8;
}
@media screen and (max-width: 767px) {
  .c-pagenation .c-pagenation-button span::before {
    top: -0.5333333333vw;
    width: 1.8666666667vw;
    height: 1.8666666667vw;
  }
}
.c-pagenation .c-pagenation-button.c-pagenation-button--prev span::before {
  transform: rotate(-135deg);
}
.c-pagenation .c-pagenation-button.c-pagenation-button--next span::before {
  transform: rotate(45deg);
}
.c-pagenation .c-pagenation-list {
  display: flex;
}
.c-pagenation .c-pagenation-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  aspect-ratio: 1/1;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .c-pagenation .c-pagenation-item {
    width: 10.6666666667vw;
  }
}
.c-pagenation .c-pagenation-item.active {
  color: #0089A8;
}

/*===========================================
# 製品情報
/*===========================================*/
.c-search.white .c-search-link__item a, .c-search.white .c-search-model__item a {
  background-color: #F7F5F1;
}
.c-search.white .c-search-tab__list_item.active::before {
  background-color: #fff !important;
}
.c-search.white .c-search-tab__list_item.active button {
  background-color: #fff;
}
.c-search.white .c-search-button a {
  background-color: #F7F5F1;
}
.c-search.white .c-search-button a:hover {
  background-color: #0089A8;
}

.c-search-link {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .c-search-link {
    margin-top: 32px;
  }
}
@media screen and (max-width: 767px) {
  .c-search-link {
    margin-top: 8.5333333333vw;
    gap: 2.1333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c-search-link .c-search-link__item {
    width: calc((100% - 48px) / 4);
  }
}
@media screen and (min-width: 767px) and (max-width: 1200px) {
  .c-search-link .c-search-link__item {
    width: calc((100% - 16px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .c-search-link .c-search-link__item {
    width: calc((100% - 2.1333333333vw) / 2);
    aspect-ratio: 1/1;
  }
}
.c-search-link .c-search-link__item a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  -moz-column-gap: 16px;
       column-gap: 16px;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .c-search-link .c-search-link__item a {
    padding: 13px 36px;
  }
}
@media screen and (max-width: 767px) {
  .c-search-link .c-search-link__item a {
    flex-direction: column;
    justify-content: center;
    -moz-column-gap: 4.2666666667vw;
         column-gap: 4.2666666667vw;
    height: 100%;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .c-search-link .c-search-link__item a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-color: #0089A8;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    width: 24px;
    aspect-ratio: 1/1;
    transition: all 0.3s;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-search-link .c-search-link__item a::after {
    width: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .c-search-link .c-search-link__item a::after {
    right: 26px;
  }
}
@media screen and (max-width: 767px) {
  .c-search-link .c-search-link__item a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-color: #0089A8;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    width: 20px;
    aspect-ratio: 1/1;
    transition: all 0.3s;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-search-link .c-search-link__item a::after {
    width: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .c-search-link .c-search-link__item a::after {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    margin-top: 5.3333333333vw;
  }
}
.c-search-link .c-search-link__item a:hover {
  color: #0089A8;
}
@media screen and (min-width: 768px) {
  .c-search-link .c-search-link__item a:hover::after {
    right: 21px;
  }
}
@media screen and (min-width: 768px) {
  .c-search-link .c-search-link__item a .u-ts-btn {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) {
  .c-search-link .c-search-link__icon {
    flex: 0 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .c-search-link .c-search-link__icon {
    width: 10.6666666667vw;
  }
}
.c-search-link .c-search-link__icon img {
  mix-blend-mode: multiply;
}

.c-search-wrap {
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .c-search-wrap {
    margin-top: 17.0666666667vw;
  }
}

.c-search-tab {
  border-bottom: 1px solid #2C2D31;
}
.c-search-tab .c-search-tab__list {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  max-width: 1080px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-search-tab .c-search-tab__list {
    -moz-column-gap: 2.1333333333vw;
         column-gap: 2.1333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c-search-tab .c-search-tab__list:has(> li:nth-child(2):last-child) .c-search-tab__list_item {
    width: calc((100% - 24px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .c-search-tab .c-search-tab__list:has(> li:nth-child(2):last-child) .c-search-tab__list_item {
    width: calc((100% - 2.1333333333vw) / 2);
  }
}
.c-search-tab .c-search-tab__list .c-search-tab__list_item {
  border-bottom: none;
  background-color: #EDEAE5;
  color: #8c8c8c;
}
@media screen and (min-width: 768px) {
  .c-search-tab .c-search-tab__list .c-search-tab__list_item {
    width: calc((100% - 48px) / 3);
    height: 62px;
  }
}
@media screen and (max-width: 767px) {
  .c-search-tab .c-search-tab__list .c-search-tab__list_item {
    width: calc((100% - 4.2666666667vw) / 3);
    height: 15.4666666667vw;
    font-size: 4.2666666667vw;
  }
}
.c-search-tab .c-search-tab__list .c-search-tab__list_item button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.c-search-tab .c-search-tab__list .c-search-tab__list_item.active {
  position: relative;
  background-color: #F7F5F1;
  color: #2C2D31;
  border: 1px solid #2C2D31;
}
.c-search-tab .c-search-tab__list .c-search-tab__list_item.active::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background-color: #F7F5F1;
}
@media screen and (max-width: 767px) {
  .c-search-tab .c-search-tab__list .c-search-tab__list_item.active::before {
    bottom: -0.5333333333vw;
    height: 0.5333333333vw;
  }
}

.c-search-head {
  padding: 40px 80px;
}
@media screen and (max-width: 767px) {
  .c-search-head {
    padding: 24px;
  }
}

@media screen and (min-width: 768px) {
  .c-search-form .c-search-form__box {
    display: flex;
    -moz-column-gap: 16px;
         column-gap: 16px;
    height: 58px;
  }
}
.c-search-form .c-search-form__input_box {
  width: 100%;
}
.c-search-form .c-search-form__input {
  flex: 0 1 100%;
  border: 1px solid #D5D5D6;
  background-color: #fff;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 768px) {
  .c-search-form .c-search-form__input {
    padding: 16px 12px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c-search-form .c-search-form__input {
    width: 100%;
    height: 17.6vw;
    padding: 4.2666666667vw 3.2vw;
  }
}
.c-search-form .c-search-form__input:focus {
  border: 1px solid #0089A8;
}
.c-search-form .c-search-form__input::-moz-placeholder {
  color: #D5D5D6;
}
.c-search-form .c-search-form__input::placeholder {
  color: #D5D5D6;
}
.c-search-form .c-search-form__button {
  flex: 0 0 140px;
}
@media screen and (max-width: 767px) {
  .c-search-form .c-search-form__button {
    width: 100%;
    height: 17.6vw;
    margin-top: 4.2666666667vw;
  }
}
.c-search-form .c-search-form__radio_list {
  display: flex;
  justify-content: center;
  -moz-column-gap: 24px;
       column-gap: 24px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .c-search-form .c-search-form__radio_list {
    flex-wrap: wrap;
    margin-top: 24px;
    gap: 12px;
  }
}
@media screen and (max-width: 767px) {
  .c-search-form .c-search-form__radio_item {
    width: calc((100% - 3.2vw) / 2);
  }
}
.c-search-form .c-search-form__radio_item input {
  cursor: pointer;
}
.c-search-form .c-search-form__radio_item label {
  padding-left: 5px;
}

.c-search-box {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .c-search-box {
    margin-top: 10.6666666667vw;
  }
}
.c-search-box .c-search-box__title {
  position: relative;
  padding-left: 15px;
}
.c-search-box .c-search-box__title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3px;
  height: 22px;
  background-color: #2C2D31;
}

.c-search-model {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .c-search-model {
    gap: 2.1333333333vw;
    margin-top: 4.2666666667vw;
  }
}
.c-search-model .c-search-model__item {
  width: calc((100% - 48px) / 5);
  height: 58px;
}
@media screen and (max-width: 767px) {
  .c-search-model .c-search-model__item {
    width: calc((100% - 2.1333333333vw) / 2);
    height: 15.4666666667vw;
  }
}
.c-search-model .c-search-model__item a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: 40px;
  background-color: #EDEAE5;
}
@media screen and (max-width: 767px) {
  .c-search-model .c-search-model__item a {
    padding-left: 10.6666666667vw;
  }
}
.c-search-model .c-search-model__item a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  background-image: url("../img/cmn/arrow02-sm.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 9px;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .c-search-model .c-search-model__item a::before {
    left: 5.3333333333vw;
    width: 2.4vw;
  }
}
.c-search-model .c-search-model__item a:hover {
  background-color: #fff;
  color: #0089A8;
}

.c-search-filter .c-search-filter__form {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .c-search-filter .c-search-filter__form {
    margin-top: 10.6666666667vw;
  }
}
.c-search-filter .c-search-filter__content {
  padding: 24px 0;
  border-bottom: 1px solid #D5D5D6;
}
@media screen and (max-width: 767px) {
  .c-search-filter .c-search-filter__content {
    padding: 6.4vw 0;
  }
}
.c-search-filter .c-search-filter__content:last-child {
  border-bottom: none;
}
.c-search-filter .c-search-filter__title {
  position: relative;
  padding-left: 15px;
}
@media screen and (max-width: 767px) {
  .c-search-filter .c-search-filter__title {
    padding-left: 4vw;
  }
}
.c-search-filter .c-search-filter__title::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 3px;
  height: 80%;
  background-color: #2C2D31;
}
@media screen and (max-width: 767px) {
  .c-search-filter .c-search-filter__title::before {
    width: 0.8vw;
  }
}
.c-search-filter .c-search-filter__box {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .c-search-filter .c-search-filter__box {
    margin-top: 4.2666666667vw;
  }
}
.c-search-filter .c-search-filter__box + .c-search-filter__box {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .c-search-filter .c-search-filter__box + .c-search-filter__box {
    margin-top: 6.4vw;
  }
}
.c-search-filter .c-search-filter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .c-search-filter .c-search-filter__list {
    gap: 2.1333333333vw;
    margin-toduct-filter__titlp: 4.2666666667vw;
  }
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item {
  background: #EDEAE5;
}
@media screen and (min-width: 768px) {
  .c-search-filter .c-search-filter__list .c-search-filter__list_item {
    width: calc((100% - 48px) / 4);
  }
}
@media screen and (max-width: 767px) {
  .c-search-filter .c-search-filter__list .c-search-filter__list_item {
    width: calc((100% - 2.1333333333vw) / 2);
    font-size: 3.7333333333vw;
  }
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item .c-search-filter__label {
  display: flex;
  align-items: center;
  height: 100%;
  -moz-column-gap: 4px;
       column-gap: 4px;
  padding: 16px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-search-filter .c-search-filter__list .c-search-filter__list_item .c-search-filter__label {
    -moz-column-gap: 1.0666666667vw;
         column-gap: 1.0666666667vw;
    padding: 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item .c-search-filter__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item .c-search-filter__radio_text {
  position: relative;
  padding-left: 28px;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item .c-search-filter__radio_text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
  border: 1px solid #D5D5D6;
  border-radius: 50%;
  background: #fff;
  box-sizing: border-box;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item .c-search-filter__radio_text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  width: 10px;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #0089A8;
  opacity: 0;
  transition: all 0.3s;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item .c-search-filter__check_text {
  position: relative;
  padding-left: 28px;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item .c-search-filter__check_text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
  border: 1px solid #D5D5D6;
  border-radius: 2px;
  background: #fff;
  box-sizing: border-box;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item .c-search-filter__check_text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 4px;
  width: 12px;
  height: 6px;
  aspect-ratio: auto;
  background: none;
  border-left: 2px solid #0089A8;
  border-bottom: 2px solid #0089A8;
  border-radius: 0;
  transform: translateY(-60%) rotate(-45deg);
  opacity: 0;
  transition: all 0.3s;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item input[type=radio]:focus-visible + .c-search-filter__radio_text::before {
  outline: 2px solid #0089A8;
  outline-offset: 2px;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item input[type=radio]:checked + .c-search-filter__radio_text {
  color: #0089A8;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item input[type=radio]:checked + .c-search-filter__radio_text::before {
  border-color: #0089A8;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item input[type=radio]:checked + .c-search-filter__radio_text::after {
  opacity: 1;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item input[type=checkbox]:focus-visible + .c-search-filter__check_text::before {
  outline: 2px solid #0089A8;
  outline-offset: 2px;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item input[type=checkbox]:checked + .c-search-filter__check_text {
  color: #0089A8;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item input[type=checkbox]:checked + .c-search-filter__check_text::before {
  border-color: #0089A8;
}
.c-search-filter .c-search-filter__list .c-search-filter__list_item input[type=checkbox]:checked + .c-search-filter__check_text::after {
  opacity: 1;
}
.c-search-filter .c-search-filter__button {
  margin: 24px auto;
  width: 227px;
  height: 66px;
}

.c-search-button {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .c-search-button {
    margin-top: 6.4vw;
  }
}
.c-search-button a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  height: 58px;
}
@media screen and (max-width: 767px) {
  .c-search-button a {
    height: 15.4666666667vw;
  }
}
.c-search-button a span {
  position: relative;
  padding-right: 36px;
}
@media screen and (max-width: 767px) {
  .c-search-button a span {
    padding-right: 9.6vw;
  }
}
.c-search-button a span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #2C2D31;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 24px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .c-search-button a span::after {
    width: 6.4vw;
  }
}
.c-search-button a:hover {
  background-color: #0089A8;
  color: #fff;
}
.c-search-button a:hover span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 24px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .c-search-button a:hover span::after {
    width: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .c-search-page {
    border: 1px solid #D5D5D6;
    padding: 32px;
  }
}
@media screen and (max-width: 767px) {
  .c-search-page {
    padding-bottom: 32px;
    border-bottom: 1px solid #D5D5D6;
  }
}
.c-search-page + .c-search-page {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .c-search-page + .c-search-page {
    margin-top: 32px;
  }
}

/*===========================================
# 資料
/*===========================================*/
.c-document-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .c-document-list {
    gap: 3.2vw;
  }
}
.c-document-list .c-document-list__item {
  width: calc((100% - 48px) / 3);
  border: 1px solid #D5D5D6;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .c-document-list .c-document-list__item {
    width: calc((100% - 3.2vw) / 2);
  }
}
.c-document-list .c-document-list__item a {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .c-document-list .c-document-list__item a {
    padding: 32px;
  }
}
@media screen and (max-width: 767px) {
  .c-document-list .c-document-list__item a {
    padding: 4.2666666667vw;
  }
}
.c-document-list .c-document-list__item:hover {
  border: 1px solid #0089A8;
  opacity: 0.8;
}
.c-document-list .c-document-list__text {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .c-document-list .c-document-list__text {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .c-document-list .c-document-list__text {
    flex-direction: column;
  }
}
.c-document-list .c-document-list__text span {
  padding: 4px 8px;
  background-color: #00ADC1;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-document-list .c-document-list__text span {
    padding: 1.0666666667vw 2.1333333333vw;
    margin-top: 1.0666666667vw;
  }
}

/*===========================================
# ダウンロード
/*===========================================*/
.c-download-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .c-download-list {
    gap: 3.2vw;
  }
}

.c-download-list__item {
  display: flex;
  flex-direction: column;
  border: 1px solid #D5D5D6;
}
@media screen and (min-width: 768px) {
  .c-download-list__item {
    width: calc((100% - 96px) / 5);
    padding: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c-download-list__item {
    width: calc((100% - 3.2vw) / 2);
    padding: 2.1333333333vw;
  }
}
.c-download-list__item:has(.c-download-list__link) {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .c-download-list__item:has(.c-download-list__link) .c-download-list__link {
    padding: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c-download-list__item:has(.c-download-list__link) .c-download-list__link {
    padding: 2.1333333333vw;
  }
}
.c-download-list__item:has(.c-download-list__link) .c-download-list__link:hover {
  opacity: 0.8;
}
.c-download-list__item:has(.c-download-list__link) .c-download-list__title::after {
  display: none;
}

.c-download-list__thumb {
  height: 190px;
}
@media screen and (max-width: 767px) {
  .c-download-list__thumb {
    height: 50.6666666667vw;
  }
}
.c-download-list__thumb img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-download-list__title {
  position: relative;
  margin: 8px 0;
}
@media screen and (max-width: 767px) {
  .c-download-list__title {
    margin: 2.1333333333vw 0;
    line-height: 1.65;
    letter-spacing: 0.08em;
    font-size: 3.2vw;
  }
}
.c-download-list__title::after {
  content: "";
  position: relative;
  top: 5px;
  margin-left: 5px;
  background-image: url(../img/cmn/pdf-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  width: 24px;
  height: 24px;
}
@media screen and (max-width: 767px) {
  .c-download-list__title::after {
    top: 1.3333333333vw;
    margin-left: 1.3333333333vw;
    width: 6.4vw;
    height: 6.4vw;
  }
}

.c-download-list__box {
  margin-top: auto;
}

.c-download-list__size {
  margin-bottom: 8px;
  text-align: center;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c-download-list__size {
    margin-bottom: 2.1333333333vw;
    font-size: 3.2vw;
  }
}

.c-download-material {
  display: inline-block;
  padding: 4px 8px;
  background: #EDEAE5;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .c-download-material {
    padding: 1.0666666667vw 2.1333333333vw;
    font-size: 3.2vw;
  }
}

.c-download-button {
  width: 100%;
  height: 40px;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .c-download-button {
    height: 10.6666666667vw;
  }
}
.c-download-button a, .c-download-button button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  height: 100%;
  line-height: 1.65;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .c-download-button a, .c-download-button button {
    gap: 1.0666666667vw;
    font-size: 3.2vw;
  }
}
.c-download-button.c-download-button--mylist {
  background: #F7F5F1;
}
.c-download-button.c-download-button--mylist:has(.active) {
  color: #0089A8;
}
.c-download-button.c-download-button--mylist:has(.active) svg, .c-download-button.c-download-button--mylist:has(.active) path {
  fill: #0089A8;
}
.c-download-button.c-download-button--download {
  background: #0089A8;
  color: #fff;
}
.c-download-button.c-download-button--download .c-download-list__icon {
  flex: 0 0 18px;
  height: 18px;
}
@media screen and (max-width: 767px) {
  .c-download-button.c-download-button--download .c-download-list__icon {
    flex: 0 0 4.8vw;
    height: 4.8vw;
  }
}

.c-download-list__icon {
  flex: 0 0 24px;
  height: 24px;
}
@media screen and (max-width: 767px) {
  .c-download-list__icon {
    flex: 0 0 6.4vw;
    height: 6.4vw;
  }
}

.c-download-buttons {
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
}

.c-download-card {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .c-download-card {
    gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  .c-download-card {
    gap: 3.2vw;
  }
}
.c-download-card .c-download-card__item {
  padding: 16px;
  border: 1px solid #D5D5D6;
}
@media screen and (min-width: 768px) {
  .c-download-card .c-download-card__item {
    width: calc((100% - 48px) / 3);
  }
}
@media screen and (max-width: 767px) {
  .c-download-card .c-download-card__item {
    padding: 2.1333333333vw;
    width: calc((100% - 3.2vw) / 2);
  }
}
@media screen and (min-width: 768px) {
  .c-download-card .c-download-card__item:has(.c-download-button) .c-download-card__box {
    height: calc(100% - 47px);
  }
}
@media screen and (max-width: 767px) {
  .c-download-card .c-download-card__item:has(.c-download-button) .c-download-card__box {
    height: calc(100% - 12.5333333333vw);
  }
}
.c-download-card .c-download-card__box {
  position: relative;
  background-color: #0089A8;
}
@media screen and (min-width: 768px) {
  .c-download-card .c-download-card__box {
    display: flex;
    align-items: center;
    -moz-column-gap: 16px;
         column-gap: 16px;
    padding: 16px 23px 16px 24px;
  }
}
@media screen and (max-width: 767px) {
  .c-download-card .c-download-card__box {
    display: block;
    padding: 3.2vw 4.2666666667vw 9.6vw;
  }
}
.c-download-card .c-download-card__box::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 24px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .c-download-card .c-download-card__box::after {
    width: 6.4vw;
  }
}
.c-download-card .c-download-card__box::after {
  right: 10px;
}
@media screen and (max-width: 767px) {
  .c-download-card .c-download-card__box::after {
    width: 4.2666666667vw;
    left: 50%;
    top: auto;
    right: auto;
    margin-top: 2.1333333333vw;
    transform: translate(-50%, 0);
  }
}
@media screen and (min-width: 768px) {
  .c-download-card .c-download-card__icon {
    flex: 0 0 40px;
    height: 44px;
  }
}
@media screen and (max-width: 767px) {
  .c-download-card .c-download-card__icon {
    width: 6.4vw;
    height: 6.9333333333vw;
    margin: 0 auto;
  }
}
.c-download-card .c-download-card__text {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-download-card .c-download-card__text {
    margin-top: 2.1333333333vw;
    line-height: 1.65;
    letter-spacing: 0.08em;
    font-size: 3.4666666667vw;
  }
}
.c-download-card .c-download-card__text span {
  display: block;
}
.c-download-card.c-download-card--col02 .c-download-card__item {
  border: none;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .c-download-card.c-download-card--col02 .c-download-card__item {
    width: calc((100% - 24px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .c-download-card.c-download-card--col02 .c-download-card__item {
    width: 100%;
  }
}
.c-download-card.c-download-card--col02 .c-download-card__item .c-download-card__box {
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-download-card.c-download-card--col02 .c-download-card__item .c-download-card__box {
    display: flex;
    align-items: center;
    -moz-column-gap: 4.2666666667vw;
         column-gap: 4.2666666667vw;
    padding: 4.2666666667vw 12vw 4.2666666667vw 6.4vw;
  }
}
.c-download-card.c-download-card--col02 .c-download-card__item .c-download-card__box::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 24px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .c-download-card.c-download-card--col02 .c-download-card__item .c-download-card__box::after {
    width: 6.4vw;
  }
}
.c-download-card.c-download-card--col02 .c-download-card__item .c-download-card__box::after {
  left: auto;
  right: 10px;
}
@media screen and (max-width: 767px) {
  .c-download-card.c-download-card--col02 .c-download-card__item .c-download-card__box::after {
    right: 2.6666666667vw;
  }
}
.c-download-card.c-download-card--col02 .c-download-card__item .c-download-card__icon {
  flex: 0 0 40px;
  height: 44px;
}
@media screen and (max-width: 767px) {
  .c-download-card.c-download-card--col02 .c-download-card__item .c-download-card__icon {
    width: 6.4vw;
    height: 6.9333333333vw;
  }
}
.c-download-card.c-download-card--col02 .c-download-card__item .c-download-card__text {
  margin-top: 8px;
  line-height: 1.65;
  letter-spacing: 0.08em;
  font-size: 20px;
  flex: 0 1 100%;
}
@media screen and (max-width: 767px) {
  .c-download-card.c-download-card--col02 .c-download-card__item .c-download-card__text {
    margin-top: 2.1333333333vw;
    font-size: 4.8vw;
  }
}
.c-download-card.c-download-card--col02 .c-download-card__item .c-download-card__text span {
  display: block;
}

/*===========================================
# テーブル
/*===========================================*/
.c-table {
  position: relative;
}
@media (767px <= width < 1400px) {
  .c-table {
    overflow-x: auto;
  }
}
@media screen and (max-width: 767px) {
  .c-table {
    overflow-x: auto;
    overflow-y: clip;
  }
}
@media (width < 1200px) {
  .c-table:not(:has(.c-table-easy__body))::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url(../img/cmn/scroll_pop.png);
    background-size: contain;
    pointer-events: none;
    z-index: 2;
    width: 132px;
    height: 102px;
  }
  .c-table:not(:has(.c-table-easy__body)).is-scrolled::before {
    opacity: 0;
  }
}
.c-table table {
  table-layout: fixed;
  min-width: 1200px;
  width: 100%;
  border-collapse: collapse;
}
.c-table thead {
  background-color: #676767;
  color: #fff;
}
.c-table thead th {
  padding: 10px 12px;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #D5D5D6;
  font-size: 14px;
}
.c-table td {
  color: #2C2D31;
  border: 1px solid #D5D5D6;
  padding: 10px 12px;
  vertical-align: middle;
  line-height: 1.45;
  font-size: 14px;
  word-break: break-all;
  white-space: normal;
}
.c-table td .c-table-link a, .c-table td .c-table-link button {
  position: relative;
  display: flex;
  align-items: center;
}
.c-table td .c-table-link a::after, .c-table td .c-table-link button::after {
  content: "";
  position: relative;
  margin-left: 7px;
  background-image: url(../img/cmn/arrow02-sm.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  width: 9px;
  height: 9px;
}
.c-table td .c-table-link span {
  padding: 4px 8px;
  background-color: #00ADC1;
  color: #fff;
}
.c-table td .c-table-link__movie a, .c-table td .c-table-link__dxf a, .c-table td .c-table-link__rfa a, .c-table td .c-table-link__pdf a, .c-table td .c-table-link__movie button, .c-table td .c-table-link__dxf button, .c-table td .c-table-link__rfa button, .c-table td .c-table-link__pdf button {
  position: relative;
}
.c-table td .c-table-link__movie a::after, .c-table td .c-table-link__dxf a::after, .c-table td .c-table-link__rfa a::after, .c-table td .c-table-link__pdf a::after, .c-table td .c-table-link__movie button::after, .c-table td .c-table-link__dxf button::after, .c-table td .c-table-link__rfa button::after, .c-table td .c-table-link__pdf button::after {
  content: "";
  position: relative;
  top: 0.4em;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 5px;
}
.c-table td .c-table-link__pdf a::after, .c-table td .c-table-link__pdf button::after {
  background-image: url(../img/cmn/pdf-icon.png);
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
}
.c-table td .c-table-link__rfa a::after, .c-table td .c-table-link__rfa button::after {
  background-image: url(../img/cmn/rfa-icon.png);
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
}
.c-table td .c-table-link__dxf a::after, .c-table td .c-table-link__dxf button::after {
  background-image: url(../img/cmn/dxf-icon.png);
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
}
.c-table td .c-table-link__movie a::after, .c-table td .c-table-link__movie button::after {
  background-image: url(../img/cmn/play-icon.png);
  flex: 0 0 12px;
  top: 0.1em;
  width: 12px;
  height: 12px;
}
.c-table td .c-table-link__movie + .c-table-link__movie {
  margin-top: 8px;
}
.c-table td .c-table-flex {
  display: flex;
  gap: 16px;
}
.c-table td .c-table-list__item {
  position: relative;
  padding-left: 20px;
}
.c-table td .c-table-list__item::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.c-table .c-download-buttons {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
}
.c-table .c-download-button {
  margin: 0 auto;
  width: 157px;
}
.c-table .c-table-none {
  position: relative;
  background-color: #fff;
}
.c-table .c-table-none::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right top, transparent 49%, #D5D5D6 49%, #D5D5D6 51%, transparent 51%);
}
.c-table.c-table-easy {
  position: relative;
  display: flex;
  border-right: 1px solid #D5D5D6;
  border-bottom: 1px solid #D5D5D6;
}
@media screen and (max-width: 767px) {
  .c-table.c-table-easy::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url(../img/cmn/scroll_pop.png);
    background-size: contain;
    pointer-events: none;
    z-index: 2;
    width: 132px;
    height: 102px;
  }
}
.c-table.c-table-easy.is-scrolled::before {
  opacity: 0;
}
.c-table.c-table-easy table {
  min-width: auto;
}
.c-table.c-table-easy th, .c-table.c-table-easy td {
  font-weight: 400;
  color: #2C2D31;
  height: 40px;
  padding: 10px 5px 10px 10px;
  line-height: 1.45;
  letter-spacing: 0.15em;
  font-size: 14px;
  text-align: left;
}
.c-table.c-table-easy .c-table-easy__head {
  flex: 0 0 460px;
  border-collapse: collapse;
}
.c-table.c-table-easy .c-table-easy__body {
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .c-table.c-table-easy .c-table-easy__body {
    overflow-x: scroll;
  }
  .c-table.c-table-easy .c-table-easy__body::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url(../img/cmn/scroll_pop.png);
    background-size: contain;
    pointer-events: none;
    z-index: 2;
    width: 132px;
    height: 102px;
  }
}
.c-table.c-table-easy .c-table-easy__body.is-scrolled::before {
  opacity: 0;
}
.c-table.c-table-easy .c-table-easy__body::-webkit-scrollbar {
  display: none;
  height: 0;
}
.c-table.c-table-easy .c-table-easy__body td:first-child, .c-table.c-table-easy .c-table-easy__body th:first-child {
  border-left: none;
}
.c-table.c-table-easy .c-table-easy__body td:last-child, .c-table.c-table-easy .c-table-easy__body th:last-child {
  border-right: none;
}
.c-table.c-table-easy .c-table-easy__body table {
  min-width: 1600px;
  border-collapse: collapse;
}
.c-table.c-table-easy .c-table-easy__body thead th {
  font-weight: bold;
  text-align: center;
  border: 1px solid #D5D5D6;
  background-color: #676767;
  color: #fff;
}
.c-table.c-table-easy .c-table-easy__body tbody th, .c-table.c-table-easy .c-table-easy__body tbody td {
  text-align: center;
  border: 1px solid #D5D5D6;
}
.c-table.c-table-specification table {
  min-width: 900px;
}
.c-table.c-table-specification td, .c-table.c-table-specification th {
  color: #2C2D31;
  border: 1px solid #D5D5D6;
  padding: 10px 12px;
  vertical-align: middle;
  line-height: 1.45;
  font-size: 14px;
}
.c-table.c-table-specification td:has(.c-table-width), .c-table.c-table-specification th:has(.c-table-width) {
  padding: 0;
}
.c-table.c-table-specification td:has(.c-table-width) .c-table-width, .c-table.c-table-specification th:has(.c-table-width) .c-table-width {
  padding: 10px 12px;
}
.c-table.c-table-specification th {
  background-color: #F7F5F1;
}

@media screen and (min-width: 768px) {
  .c-table-row {
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .c-table-row dl + dl dt, .c-table-row dl + dl dd {
    border-left: none;
  }
}
@media screen and (max-width: 767px) {
  .c-table-row dl + dl {
    margin-top: 20px;
  }
}
.c-table-row dt {
  background-color: #676767;
  color: #fff;
  padding: 10px 12px;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #D5D5D6;
  border-bottom: none;
  font-size: 14px;
}
.c-table-row dd {
  color: #2C2D31;
  border: 1px solid #D5D5D6;
  padding: 10px 12px;
  vertical-align: middle;
  line-height: 1.45;
  font-size: 14px;
}

.c-table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.c-table--fixed-left {
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  text-align: center;
  font-size: 14px;
}
.c-table--fixed-left .is-sticky-1,
.c-table--fixed-left .is-sticky-2,
.c-table--fixed-left .is-sticky-3 {
  position: sticky;
  z-index: 2;
}
.c-table--fixed-left .is-sticky-1::after,
.c-table--fixed-left .is-sticky-2::after,
.c-table--fixed-left .is-sticky-3::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  background-color: #D5D5D6;
  z-index: 1;
}
.c-table--fixed-left .is-sticky-1 {
  left: 0;
  z-index: 3;
}
.c-table--fixed-left .is-sticky-2 {
  left: var(--col1);
}
.c-table--fixed-left .is-sticky-3 {
  left: calc(var(--col1) + var(--col2));
}
.c-table--fixed-left thead .is-sticky-1,
.c-table--fixed-left thead .is-sticky-2,
.c-table--fixed-left thead .is-sticky-3 {
  z-index: 4;
}
.c-table--fixed-left thead th {
  color: #2C2D31;
  padding: 10px;
  border: 1px solid #D5D5D6;
}
.c-table--fixed-left tbody th {
  background-color: #F7F5F1;
  padding: 10px;
  color: #2C2D31;
  border: 1px solid #D5D5D6;
}
.c-table--fixed-left tbody td {
  padding: 10px;
  border: 1px solid #D5D5D6;
}

.c-table--comparison thead tr:first-child th:not(.is-sticky-1):not(.is-sticky-2):not(.is-sticky-3) {
  background-color: #676767;
  color: #fff;
}
.c-table--comparison thead tr:nth-child(2) th:not(.is-sticky-1):not(.is-sticky-2):not(.is-sticky-3) {
  background-color: #fff;
  color: #2C2D31;
}
.c-table--comparison thead tr:nth-child(3) th:not(.is-sticky-1):not(.is-sticky-2):not(.is-sticky-3) {
  background-color: #F7F5F1;
  color: #2C2D31;
}

.c-table__mark {
  color: #0089A8;
  font-size: 17px;
  line-height: 1;
}

.c-table-scroll {
  position: relative;
}
.c-table-scroll::before {
  content: "●スクロールできます";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.75);
  color: #fff;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .c-table-scroll::before {
    font-size: 10px;
    padding: 6px 10px;
    right: 10px;
  }
}
.c-table-scroll:hover::before {
  opacity: 1;
}
.c-table-scroll.is-scrollable::before {
  display: block;
}

/*===========================================
# モーダル
/*===========================================*/
[x-cloak] {
  display: none;
}

.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(44, 45, 49, 0.8);
  z-index: 99;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .c-modal {
    padding: 0 5.3333333333vw;
  }
}
.c-modal.c-modal--blue {
  background: rgba(0, 137, 168, 0.8);
}

.c-modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 1000px;
  width: calc(100% - 40px);
  background-color: #fff;
  padding: 96px 40px;
}
@media screen and (max-width: 767px) {
  .c-modal-content {
    width: calc(100% - 10.6666666667vw);
    height: 80svh;
    overflow: auto;
    padding: 10.6666666667vw 5.3333333333vw 8vw;
  }
}

.c-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #0089A8;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-modal-close {
    top: 4.2666666667vw;
    right: 4.2666666667vw;
    width: 8.5333333333vw;
    height: 8.5333333333vw;
  }
}
.c-modal-close::before, .c-modal-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 2px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .c-modal-close::before, .c-modal-close::after {
    width: 4.2666666667vw;
    height: 0.5333333333vw;
  }
}
.c-modal-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-modal-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (min-width: 768px) {
  .c-modal-text {
    text-align: center;
  }
}
.c-modal-text a {
  color: #0089A8;
}

.c-modal-flex {
  display: flex;
  gap: 18px;
  margin: 24px 0;
}
@media screen and (max-width: 767px) {
  .c-modal-flex {
    flex-direction: column;
    gap: 4.8vw;
  }
}
.c-modal-flex:has(.c-modal-flex__message) {
  gap: 0;
}
.c-modal-flex .c-modal-flex__item {
  background: #F7F5F1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-modal-flex .c-modal-flex__item {
    width: calc((100% - 18px) / 2);
    padding: 40px;
  }
}
@media screen and (max-width: 767px) {
  .c-modal-flex .c-modal-flex__item {
    padding: 6.4vw;
  }
}
.c-modal-flex .c-modal-flex__item .c-button-black {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .c-modal-flex .c-modal-flex__item .c-button-black {
    margin-top: 6.4vw;
  }
}
.c-modal-flex .c-modal-flex__item .c-button-black a {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-modal-flex .c-modal-flex__message, .c-modal-flex .c-modal-flex__image {
    width: 50%;
  }
}
.c-modal-flex .c-modal-flex__message {
  padding: 85px 40px;
  background: #F7F5F1;
}
@media screen and (max-width: 767px) {
  .c-modal-flex .c-modal-flex__message {
    order: 1;
    padding: 5.3333333333vw 5.3333333333vw;
  }
}
.c-modal-flex .c-modal-flex__message .c-button-blue a {
  padding: 8px 8px 8px 24px;
}
@media screen and (max-width: 767px) {
  .c-modal-flex .c-modal-flex__message .c-button-blue a {
    padding: 2.1333333333vw 2.1333333333vw 2.1333333333vw 6.4vw;
  }
}
@media screen and (max-width: 767px) {
  .c-modal-flex .c-modal-flex__image {
    order: 0;
  }
}
.c-modal-flex .c-modal-flex__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*===========================================
# エラーコード
/*===========================================*/
@media screen and (min-width: 768px) {
  .c-errorcode-list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
  }
}

@media screen and (min-width: 768px) {
  .c-errorcode-item {
    width: calc((100% - 48px) / 3);
  }
}
@media screen and (max-width: 767px) {
  .c-errorcode-item + .c-errorcode-item {
    margin-top: 6.4vw;
  }
}
.c-errorcode-item a:hover {
  opacity: 0.8;
}
.c-errorcode-item a:hover .c-errorcode-head::after {
  right: 12px;
}
@media screen and (max-width: 767px) {
  .c-errorcode-item a:hover .c-errorcode-head::after {
    right: 3.2vw;
  }
}

.c-errorcode-head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
  padding: 10px 45px;
  background: #84827E;
}
@media screen and (max-width: 767px) {
  .c-errorcode-head {
    -moz-column-gap: 3.2vw;
         column-gap: 3.2vw;
    padding: 2.6666666667vw 12vw;
  }
}
.c-errorcode-head::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 24px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .c-errorcode-head::after {
    width: 6.4vw;
  }
}
.c-errorcode-head::after {
  right: 16px;
}
@media screen and (max-width: 767px) {
  .c-errorcode-head::after {
    right: 4.2666666667vw;
  }
}
.c-errorcode-head span {
  font-weight: bold;
  color: #fff;
  line-height: 1.3;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c-errorcode-head span {
    font-size: 3.7333333333vw;
  }
}

.c-errorcode-image {
  height: 35px;
}
@media screen and (max-width: 767px) {
  .c-errorcode-image {
    height: 9.3333333333vw;
  }
}

.c-errorcode-body dl {
  display: flex;
  border: 1px solid #D5D5D6;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c-errorcode-body dl {
    font-size: 3.7333333333vw;
  }
}
.c-errorcode-body dl + dl {
  border-top: none;
}
.c-errorcode-body dl dt {
  display: flex;
  align-items: center;
  flex: 0 0 155px;
  padding: 10px 12px;
  background-color: #F7F5F1;
  border-right: 1px solid #D5D5D6;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .c-errorcode-body dl dt {
    flex: 0 0 41.3333333333vw;
    padding: 2.6666666667vw 3.2vw;
  }
}
.c-errorcode-body dl dd {
  flex: 0 1 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.3;
  padding: 5px;
}
@media screen and (max-width: 767px) {
  .c-errorcode-body dl dd {
    padding: 1.3333333333vw;
  }
}

/*===========================================
# タグ
/*===========================================*/
.c-tag-item {
  display: inline-block;
  padding: 4px 8px;
  background: #EDEAE5;
}
@media screen and (max-width: 767px) {
  .c-tag-item {
    padding: 1.0666666667vw 2.1333333333vw;
    font-size: 3.2vw;
  }
}

.c-tag-item--blue {
  display: inline-block;
  padding: 4px 8px;
  background: #00ADC1;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-tag-item--blue {
    padding: 1.0666666667vw 2.1333333333vw;
    font-size: 3.2vw;
  }
}

/*===========================================
# pdf
/*===========================================*/
.c-pdf-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .c-pdf-list {
    gap: 6.4vw;
  }
}

.c-pdf-item {
  display: grid;
}
@media screen and (min-width: 768px) {
  .c-pdf-item {
    grid-template: "A A" auto "B C" auto "B D" auto/180px auto;
    border: 1px solid #D5D5D6;
    padding: 32px;
    width: calc((100% - 24px) / 2);
  }
  .c-pdf-item > .c-download-button {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .c-pdf-item > .c-product-list__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-pdf-item > .c-product-list__image {
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .c-pdf-item > .c-product-list__text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
  }
  .c-pdf-item > .c-grid-image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-pdf-item > .c-grid-title {
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .c-pdf-item > .c-grid-text {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .c-pdf-item > .c-grid-button {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
  }
}
@media screen and (max-width: 767px) {
  .c-pdf-item {
    align-items: flex-start;
    grid-template: "A B" auto "C C" auto "D D" auto/auto 48vw;
    border-bottom: 1px solid #D5D5D6;
    padding-bottom: 8.5333333333vw;
  }
  .c-pdf-item > .c-download-button {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-pdf-item > .c-product-list__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .c-pdf-item > .c-product-list__image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
  }
  .c-pdf-item > .c-product-list__text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-pdf-item > .c-grid-image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .c-pdf-item > .c-grid-title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
  }
  .c-pdf-item > .c-grid-text {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-pdf-item > .c-grid-button {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
}
@media screen and (max-width: 767px) {
  .c-pdf-item + .c-pdf-item {
    margin-top: 8.5333333333vw;
  }
}
.c-pdf-item .c-button-pdf {
  grid-area: D;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .c-pdf-item .c-button-pdf {
    margin-top: 3.2vw;
  }
}
.c-pdf-item .c-button-pdf a {
  padding: 8px 8px 8px 24px;
}
@media screen and (max-width: 767px) {
  .c-pdf-item .c-button-pdf a {
    padding: 2.1333333333vw 2.1333333333vw 2.1333333333vw 6.4vw;
  }
}

.c-pdf-item__title {
  grid-area: A;
  margin-bottom: 16px;
}

.c-article-content .c-product-list__item > .c-pdf-item__title {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
}
@media screen and (max-width: 767px) {
  .c-pdf-item__title {
    margin-bottom: 4.2666666667vw;
  }
}

.c-pdf-item__image {
  grid-area: B;
}

.c-article-content .c-product-list__item > .c-pdf-item__image {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}

.c-pdf-item__text {
  grid-area: C;
}

.c-article-content .c-product-list__item > .c-pdf-item__text {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}

@media screen and (min-width: 768px){
  .c-product-list .c-product-list__item .c-download-button {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .c-product-list .c-product-list__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .c-product-list .c-product-list__image {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-product-list .c-product-list__text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
  .c-product-keyword {
    -ms-grid-row: 7;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .c-grid .c-grid-image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .c-grid > .c-grid-image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .c-grid .c-grid-title {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-grid > .c-grid-title {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .c-grid .c-grid-text {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .c-grid > .c-grid-text {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .c-grid .c-grid-button {
    -ms-grid-row: 3;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
  .c-grid > .c-grid-button {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
  }
  .c-pdf-item .c-button-pdf {
    -ms-grid-row: 3;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
  .c-grid > .c-button-pdf {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
  }
  .c-grid.c-grid-reverse > .c-button-pdf {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .c-pdf-item > .c-button-pdf {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
  }
  .c-pdf-item__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .c-grid > .c-pdf-item__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .c-grid.c-grid-reverse > .c-pdf-item__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .c-pdf-item > .c-pdf-item__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-pdf-item__image {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-grid > .c-pdf-item__image {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .c-grid.c-grid-reverse > .c-pdf-item__image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-pdf-item > .c-pdf-item__image {
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .c-pdf-item__text {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .c-grid > .c-pdf-item__text {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .c-grid.c-grid-reverse > .c-pdf-item__text {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-pdf-item > .c-pdf-item__text {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
}

@media (767px <= width < 1200px){
  .c-product-list .c-product-list__item .c-download-button {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-product-list .c-product-list__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-product-list .c-product-list__image {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-product-list .c-product-list__text {
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .c-product-keyword {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-grid .c-grid-image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-grid > .c-grid-image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .c-grid .c-grid-title {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-grid > .c-grid-title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .c-grid .c-grid-text {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-grid > .c-grid-text {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .c-grid .c-grid-button {
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .c-grid > .c-grid-button {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
  }
  .c-pdf-item .c-button-pdf {
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .c-grid > .c-button-pdf {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
  }
  .c-grid.c-grid-reverse > .c-button-pdf {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .c-article-content .c-product-list__item > .c-button-pdf {
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .c-pdf-item__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-grid > .c-pdf-item__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .c-grid.c-grid-reverse > .c-pdf-item__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .c-article-content .c-product-list__item > .c-pdf-item__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-pdf-item__image {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-grid > .c-pdf-item__image {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .c-grid.c-grid-reverse > .c-pdf-item__image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-article-content .c-product-list__item > .c-pdf-item__image {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-pdf-item__text {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-grid > .c-pdf-item__text {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .c-grid.c-grid-reverse > .c-pdf-item__text {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-article-content .c-product-list__item > .c-pdf-item__text {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
}

@media screen and (max-width: 767px){
  .c-pdf-item > .c-button-pdf {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .c-pdf-item > .c-pdf-item__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .c-pdf-item > .c-pdf-item__image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
  }
  .c-pdf-item > .c-pdf-item__text {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
}

/*===========================================
# 説明リスト
/*===========================================*/
.c-description-table dl {
  display: grid;
  gap: 0;
  grid-template-columns: auto 1fr;
  border: 1px solid #D5D5D6;
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .c-description-table dl {
    grid-template-columns: 1fr;
    border: none;
  }
}
.c-description-table dl dt,
.c-description-table dl dd {
  border-bottom: 1px solid #D5D5D6;
  padding: 10px 20px;
}
@media screen and (max-width: 767px) {
  .c-description-table dl dt,
  .c-description-table dl dd {
    border: none;
    padding: 2.6666666667vw 2.1333333333vw;
  }
}
.c-description-table dl dt {
  font-weight: normal;
  background-color: #F7F5F1;
  border-right: 1px solid #D5D5D6;
}
@media screen and (max-width: 767px) {
  .c-description-table dl dt {
    border-right: none;
    border-top: 1px solid #D5D5D6;
    margin-top: 2.6666666667vw;
  }
}

/* ==========================================================================
   layout
========================================================================== */
/* ==========================================================================
  header
========================================================================== */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  z-index: 99;
}
@media screen and (min-width: 768px) {
  .l-header {
    height: 82px;
  }
}
@media screen and (max-width: 767px) {
  .l-header {
    height: 17.0666666667vw;
  }
}
@media (767px <= width < 1200px) {
  .l-header .l-header-lang, .l-header .l-header-button__login {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-header .l-header-other, .l-header .l-header-lang, .l-header .l-header-button__login {
    display: none;
  }
}

.l-header-wrap {
  display: flex;
  justify-content: space-between;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .l-header-wrap {
    padding: 20px 24px;
  }
}

.l-header-text {
  line-height: 1.2;
  font-size: 10px;
}
@media screen and (max-width: 767px) {
  .l-header-text {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .l-header-left {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4.2666666667vw;
  }
}

@media screen and (min-width: 768px) {
  .l-header-logo {
    max-width: 228px;
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .l-header-logo {
    width: 36.5333333333vw;
  }
}
.l-header-logo span.black {
  display: inline;
}
.l-header-logo span.white {
  display: none;
}

.l-header-right {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .l-header-right {
    height: 50px;
  }
}

.l-header-menu {
  display: flex;
  -moz-column-gap: 32px;
       column-gap: 32px;
  padding: 0 15px;
  margin-right: 17px;
}
@media screen and (max-width: 767px) {
  .l-header-menu {
    display: none;
  }
}
.l-header-menu .l-header-menu__item {
  color: #2C2D31;
}
.l-header-menu .l-header-menu__item:hover {
  color: #0089A8;
}

.l-header-lang {
  display: flex;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
@media screen and (min-width: 768px) {
  .l-header-lang {
    margin-right: 32px;
  }
}
@media (767px <= width < 1200px) {
  .l-header-lang {
    background-color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .l-header-lang {
    flex: 0 0 29.8666666667vw;
    -moz-column-gap: 4vw;
         column-gap: 4vw;
    background-color: #fff;
    align-items: center;
    justify-content: center;
  }
}
.l-header-lang .l-header-lang__item {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .l-header-lang .l-header-lang__item {
    font-size: 4.2666666667vw;
  }
}
.l-header-lang .l-header-lang__item:first-child {
  position: relative;
}
.l-header-lang .l-header-lang__item:first-child::after {
  content: "";
  position: absolute;
  right: -10px;
  transform: rotate(15deg);
  width: 1px;
  height: 16px;
  background-color: #000;
}
@media screen and (max-width: 767px) {
  .l-header-lang .l-header-lang__item:first-child::after {
    right: -2.6666666667vw;
    height: 4.2666666667vw;
  }
}
.l-header-lang .l-header-lang__item.active {
  color: #D5D5D6;
  text-decoration: underline;
}

.l-header-buttons {
  height: 100%;
}
@media screen and (min-width: 768px) {
  .l-header-buttons {
    display: flex;
    -moz-column-gap: 8px;
         column-gap: 8px;
  }
}

.l-header-search {
  position: relative;
  border: 1px solid #D5D5D6;
  max-width: 184px;
  width: 100%;
  margin-right: 8px;
}
@media screen and (min-width: 767px) and (max-width: 1200px) {
  .l-header-search {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-header-search {
    display: none;
  }
}
.l-header-search input {
  width: 100%;
  height: 100%;
  padding: 10px 12px;
  font-size: 16px;
  background-color: #fff;
}
.l-header-search input::-moz-placeholder {
  color: #D5D5D6;
}
.l-header-search input::placeholder {
  color: #D5D5D6;
}
.l-header-search .l-header-search__icon {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 18px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
.l-header-search .l-header-search__icon svg path {
  fill: #D5D5D6;
}
.l-header-search:hover svg path {
  fill: #0089A8;
}

.l-header-button a {
  display: flex;
  align-items: center;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .l-header-button a {
    padding: 12px 16px;
    height: 50px;
  }
}
@media screen and (min-width: 768px) {
  .l-header-button.l-header-button__login {
    margin-right: 8px;
  }
}
@media screen and (max-width: 767px) {
  .l-header-button.l-header-button__login {
    flex: 0 1 100%;
    height: 100%;
  }
}
.l-header-button.l-header-button__login a {
  display: flex;
  -moz-column-gap: 6px;
       column-gap: 6px;
  background-color: #2C2D31;
  border: 1px solid #2C2D31;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .l-header-button.l-header-button__login a {
    align-items: center;
    justify-content: center;
  }
}
.l-header-button.l-header-button__login a .l-header-button__login_icon {
  width: 18px;
  height: 18px;
}
@media screen and (max-width: 767px) {
  .l-header-button.l-header-button__login a .l-header-button__login_icon {
    width: 4.8vw;
    height: 4.8vw;
  }
}
.l-header-button.l-header-button__login svg path {
  fill: #fff;
}
.l-header-button.l-header-button__login:hover a {
  background-color: #fff;
  color: #2C2D31;
}
.l-header-button.l-header-button__login:hover svg path {
  fill: #0089A8;
}
.l-header-button.l-header-button__contact {
  transition: all 0.3s;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .l-header-button.l-header-button__contact {
    margin-right: 16px;
  }
}
@media screen and (max-width: 767px) {
  .l-header-button.l-header-button__contact {
    width: 17.0666666667vw;
  }
}
.l-header-button.l-header-button__contact a {
  position: relative;
  background: linear-gradient(90deg, #0089A8 0%, #00ADC1) 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .l-header-button.l-header-button__contact a {
    display: flex;
    justify-content: center;
    flex-direction: column;
    font-size: 3.2vw;
  }
}
.l-header-button.l-header-button__contact a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(270deg, #6AC9D3 0%, #00A2B4) 100%;
  opacity: 0;
  transition: all 0.3s;
  z-index: 1;
}
.l-header-button.l-header-button__contact a .l-header-button__contact_icon {
  position: relative;
  z-index: 2;
  width: 8.5333333333vw;
  height: 8.5333333333vw;
}
@media screen and (min-width: 768px) {
  .l-header-button.l-header-button__contact a .l-header-button__contact_icon {
    display: none;
  }
}
.l-header-button.l-header-button__contact a .l-header-button__contact_icon a {
  height: 100%;
}
.l-header-button.l-header-button__contact a span {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .l-header-button.l-header-button__contact a span {
    display: none;
  }
}
.l-header-button.l-header-button__contact a:hover::before {
  opacity: 1;
}

.l-header-icon {
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .l-header-icon {
    width: 40px;
  }
}
@media screen and (max-width: 767px) {
  .l-header-icon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 18.1333333333vw;
    height: 100%;
    background: #2C2D31;
  }
}
.l-header-icon .l-header-icon__box {
  position: relative;
  width: 100%;
  height: 8px;
}
@media screen and (max-width: 767px) {
  .l-header-icon .l-header-icon__box {
    width: 9.6vw;
    height: 2.1333333333vw;
  }
}
.l-header-icon .l-header-icon__box span {
  position: absolute;
  width: 100%;
  height: 2px;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .l-header-icon .l-header-icon__box span {
    background-color: #000;
  }
}
@media screen and (max-width: 767px) {
  .l-header-icon .l-header-icon__box span {
    background-color: #fff;
  }
}
.l-header-icon .l-header-icon__box span:first-child {
  top: 0;
}
.l-header-icon .l-header-icon__box span:last-child {
  bottom: 0;
}
.l-header-icon .l-header-icon__text {
  margin-top: 5px;
  font-family: "Alumni Sans", sans-serif;
  font-weight: 500;
  font-size: 23px;
}
@media screen and (max-width: 767px) {
  .l-header-icon .l-header-icon__text {
    color: #fff;
    margin: 1.3333333333vw;
    font-size: 4.8vw;
  }
}
.l-header-icon.open .l-header-icon__box span:first-child {
  top: 50%;
  transform: translateY(-50%) rotate(15deg);
}
.l-header-icon.open .l-header-icon__box span:last-child {
  bottom: 50%;
  transform: translateY(50%) rotate(-15deg);
}

.l-header-other {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-header-other {
    position: absolute;
    right: 0;
    bottom: -56px;
    display: flex;
    height: 56px;
    max-width: 840px;
  }
}
@media screen and (max-width: 767px) {
  .l-header-other {
    margin-top: 4.2666666667vw;
  }
}
.l-header-other .l-header-other__item {
  position: relative;
  background: linear-gradient(90deg, #0089A8 0%, #00ADC1) 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .l-header-other .l-header-other__item {
    width: 33.3333333333%;
  }
}
.l-header-other .l-header-other__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(270deg, #6AC9D3 0%, #00A2B4) 100%;
  opacity: 0;
  transition: all 0.3s;
  z-index: 1;
  pointer-events: none;
}
.l-header-other .l-header-other__item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 20px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .l-header-other .l-header-other__item::after {
    width: 5.3333333333vw;
  }
}
.l-header-other .l-header-other__item::after {
  right: 26px;
  z-index: 2;
}
.l-header-other .l-header-other__item a {
  position: relative;
  display: flex;
  align-items: center;
  -moz-column-gap: 8px;
       column-gap: 8px;
  width: 100%;
  height: 100%;
  padding: 12px 24px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .l-header-other .l-header-other__item a {
    -moz-column-gap: 2.1333333333vw;
         column-gap: 2.1333333333vw;
    padding: 3.2vw 6.4vw;
  }
}
@media screen and (max-width: 767px) {
  .l-header-other .l-header-other__item + .l-header-other__item {
    margin-top: 2.1333333333vw;
  }
}
.l-header-other .l-header-other__item:hover::before {
  opacity: 1;
}
.l-header-other .l-header-other__item:hover::after {
  right: 21px;
}
@media screen and (max-width: 767px) {
  .l-header-other .l-header-other__item:hover::after {
    right: 5.6vw;
  }
}
.l-header-other .l-header-other__icon {
  position: relative;
  flex: 0 0 32px;
  height: 32px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .l-header-other .l-header-other__icon {
    flex: 0 0 8.5333333333vw;
    height: 8.5333333333vw;
  }
}
.l-header-other .l-header-other__icon svg path {
  fill: #fff;
}
.l-header-other .l-header-other__text {
  position: relative;
  flex: 0 1 100%;
  z-index: 2;
}

.l-humberger {
  position: fixed;
  width: 100%;
  top: 82px;
  background-color: #F7F5F1;
  z-index: 90;
  overflow-y: scroll;
  height: calc(100svh - 82px);
  transition: all 0.3s;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .l-humberger {
    top: 17.0666666667vw;
    height: calc(100svh - 17.0666666667vw);
  }
}
.l-humberger.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media screen and (min-width: 768px) {
  .l-humberger .l-header-other {
    display: none;
  }
}

.l-humberger-box {
  display: none;
}
@media (767px <= width <= 1200px) {
  .l-humberger-box {
    position: absolute;
    top: 70px;
    display: flex;
    align-items: center;
    -moz-column-gap: 10px;
         column-gap: 10px;
    height: 50px;
    max-width: 400px;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-box {
    margin-top: 6.6666666667vw;
    display: flex;
    -moz-column-gap: 4.2666666667vw;
         column-gap: 4.2666666667vw;
    height: 15.4666666667vw;
  }
}
.l-humberger-box .l-header-lang {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 112px;
  height: 100%;
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .l-humberger-box .l-header-lang {
    flex: 0 0 29.8666666667vw;
  }
}

.l-humberger-wrap {
  padding-top: 150px;
}
@media screen and (max-width: 767px) {
  .l-humberger-wrap {
    padding-top: 10.6666666667vw;
  }
}

.l-humberger-panel {
  overflow: hidden;
  transition: all 0.3s;
}

.l-humberger-content {
  border-top: 1px solid #D5D5D6;
}

.l-humberger-title {
  position: relative;
  width: 100%;
  padding: 24px 0;
}
@media screen and (max-width: 767px) {
  .l-humberger-title {
    padding: 4vw 10.6666666667vw 4vw 0;
  }
}
.l-humberger-title::before, .l-humberger-title::after {
  content: "";
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 2px;
  background-color: #0089A8;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .l-humberger-title::before, .l-humberger-title::after {
    right: 15px;
  }
}
.l-humberger-title::after {
  transform: translateY(-50%) rotate(0deg);
}
.l-humberger-title.close::after {
  transform: translateY(-50%) rotate(90deg);
}

@media screen and (min-width: 768px) {
  .l-humberger-buttons {
    display: flex;
    -moz-column-gap: 40px;
         column-gap: 40px;
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-buttons {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .l-humberger-buttons .l-humberger-button {
    width: calc((100% - 40px) / 2);
    height: 120px;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-buttons .l-humberger-button {
    width: 100%;
    height: 17.6vw;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-buttons .l-humberger-button + .l-humberger-button {
    margin-top: 2.1333333333vw;
  }
}
.l-humberger-buttons .l-humberger-button a {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .l-humberger-buttons .l-humberger-button a {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-buttons .l-humberger-button a {
    -moz-column-gap: 2.1333333333vw;
         column-gap: 2.1333333333vw;
  }
}
.l-humberger-buttons .l-humberger-button .l-humberger-button__icon {
  position: relative;
  z-index: 2;
  flex: 0 0 20px;
  height: 20px;
}
@media screen and (max-width: 767px) {
  .l-humberger-buttons .l-humberger-button .l-humberger-button__icon {
    flex: 0 0 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.l-humberger-buttons .l-humberger-button .l-humberger-button__icon svg path {
  fill: #fff;
}

.l-humberger-company {
  background-color: #EDEAE5;
}
@media screen and (min-width: 768px) {
  .l-humberger-company {
    margin-top: 80px;
    padding: 56px;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-company {
    margin-top: 17.0666666667vw;
    padding: 8.5333333333vw 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .l-humberger-company .l-humberger-company__flex {
    display: flex;
    -moz-column-gap: 48px;
         column-gap: 48px;
  }
}
@media screen and (min-width: 768px) {
  .l-humberger-company .l-humberger-company__box {
    flex: 0 1 100%;
  }
}
.l-humberger-company .l-humberger-company__title {
  border-bottom: 1px solid #D5D5D6;
  padding-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .l-humberger-company .l-humberger-company__nav {
    display: flex;
    -moz-column-gap: 40px;
         column-gap: 40px;
    margin-top: 32px;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .l-humberger-company .l-humberger-company__nav .l-humberger-company__nav_list {
    width: calc((100% - 40px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-company .l-humberger-company__nav .l-humberger-company__nav_list {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-company .l-humberger-company__nav .l-humberger-company__nav_list + .l-humberger-company__nav_list {
    margin-top: 4.2666666667vw;
  }
}
.l-humberger-company .l-humberger-company__nav .l-humberger-company__nav_item {
  position: relative;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .l-humberger-company .l-humberger-company__nav .l-humberger-company__nav_item {
    margin-top: 2.1333333333vw;
  }
}
.l-humberger-company .l-humberger-company__nav .l-humberger-company__nav_item a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}
.l-humberger-company .l-humberger-company__nav .l-humberger-company__nav_item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #2C2D31;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 20px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .l-humberger-company .l-humberger-company__nav .l-humberger-company__nav_item a::after {
    width: 5.3333333333vw;
  }
}
.l-humberger-company .l-humberger-company__nav .l-humberger-company__nav_item a:hover::after {
  right: -5px;
}
@media screen and (min-width: 768px) {
  .l-humberger-company .l-humberger-company__nav .l-humberger-company__nav_item + .l-humberger-company__nav_item {
    margin-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-company .l-humberger-company__nav .l-humberger-company__nav_item + .l-humberger-company__nav_item {
    margin-top: 4.2666666667vw;
  }
}
.l-humberger-company .l-humberger-company__list {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-humberger-company .l-humberger-company__list {
    flex: 0 0 360px;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-company .l-humberger-company__list {
    margin-top: 8.5333333333vw;
  }
}
.l-humberger-company .l-humberger-company__list .l-humberger-list__item {
  width: 100%;
}
.l-humberger-company .l-humberger-company__list .l-humberger-list__item + .l-humberger-list__item {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .l-humberger-company .l-humberger-company__list .l-humberger-list__item + .l-humberger-list__item {
    margin-top: 2.1333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .l-humberger-link {
    margin-top: 40px;
    display: flex;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-link {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-link .l-humberger-link__item {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .l-humberger-link .l-humberger-link__item + .l-humberger-link__item {
    margin-top: 4.2666666667vw;
  }
}

/* ==========================================================================
  footer
========================================================================== */
.l-footer {
  background-color: #2C2D31;
}
.l-footer.l-footer-contact {
  background: #F0F0F0;
}
.l-footer.l-footer-contact .l-footer-wrap {
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .l-footer.l-footer-contact .l-footer-wrap {
    padding: 21.3333333333vw 0;
  }
}
.l-footer.l-footer-contact .l-footer-sub, .l-footer.l-footer-contact .l-footer-copy {
  color: #2C2D31;
}
.l-footer .l-footer-wrap {
  padding: 120px 0;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-wrap {
    padding: 32vw 0;
  }
}
.l-footer .l-footer-logo {
  max-width: 229px;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-logo {
    max-width: 61.0666666667vw;
    margin: 0 auto;
  }
}
.l-footer .l-footer-menu {
  margin-top: 80px;
}
@media screen and (min-width: 768px) {
  .l-footer .l-footer-menu {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 38.5px;
         column-gap: 38.5px;
  }
}
@media screen and (min-width: 767px) and (max-width: 1200px) {
  .l-footer .l-footer-menu {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 50px 20px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-menu {
    display: none;
  }
}
.l-footer .l-footer-box {
  color: #fff;
}
@media screen and (min-width: 767px) and (max-width: 1200px) {
  .l-footer .l-footer-box {
    width: calc((100% - 40px) / 3);
  }
}
.l-footer .l-footer-category + .l-footer-category {
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-category + .l-footer-category {
    margin-top: 17.0666666667vw;
  }
}
.l-footer .l-footer-category.l-footer-category--none {
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-category.l-footer-category--none {
    margin-top: 17.0666666667vw;
  }
}
.l-footer .l-footer-category a:hover {
  color: #0089A8;
}
.l-footer .l-footer-label {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-label {
    margin-top: 6.4vw;
  }
}
.l-footer .l-footer-label + .l-footer-category {
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-label + .l-footer-category {
    margin-top: 17.0666666667vw;
  }
}
.l-footer .l-footer-label .l-footer-label__item {
  position: relative;
  padding-left: 15px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-label .l-footer-label__item {
    padding-left: 4vw;
    margin-bottom: 4vw;
  }
}
.l-footer .l-footer-label .l-footer-label__item::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 4px;
  height: 2px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-label .l-footer-label__item::before {
    top: 2.6666666667vw;
    width: 1.0666666667vw;
    height: 0.5333333333vw;
  }
}
.l-footer .l-footer-label .l-footer-label__item a:hover {
  color: #0089A8;
}
.l-footer .l-footer-label .l-footer-label__item.l-footer-label__item-login span {
  position: relative;
  padding-right: 10px;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-label .l-footer-label__item.l-footer-label__item-login span {
    padding-right: 2.6666666667vw;
  }
}
.l-footer .l-footer-label .l-footer-label__item.l-footer-label__item-login span::after {
  content: "";
  position: absolute;
  right: 0;
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.40518 21.9936C6.15463 21.9971 5.90602 21.9492 5.67469 21.8529C5.44336 21.7567 5.23421 21.614 5.06018 21.4338C4.87989 21.2598 4.73718 21.0508 4.64087 20.8195C4.54455 20.5883 4.49667 20.3397 4.50018 20.0893V10.569C4.49667 10.3185 4.54455 10.07 4.64087 9.83872C4.73718 9.60747 4.87989 9.39844 5.06018 9.22447C5.23421 9.04425 5.44336 8.90159 5.67469 8.80531C5.90602 8.70903 6.15463 8.66117 6.40518 8.66468H7.35767V6.76038C7.34648 6.13271 7.4643 5.5094 7.70382 4.92908C7.94334 4.34876 8.29947 3.82377 8.75017 3.3866C9.18804 2.93719 9.71347 2.58231 10.294 2.34396C10.8745 2.10561 11.4977 1.98884 12.1252 2.00084C12.7531 1.98965 13.3766 2.10742 13.9571 2.34686C14.5377 2.58629 15.0629 2.94231 15.5002 3.39285C15.9509 3.83002 16.307 4.35501 16.5465 4.93533C16.7861 5.51565 16.9039 6.13896 16.8927 6.76664V8.67093H17.8452C18.0957 8.66742 18.3444 8.71528 18.5757 8.81156C18.807 8.90785 19.0161 9.0505 19.1902 9.23072C19.3705 9.40469 19.5132 9.61372 19.6095 9.84497C19.7058 10.0762 19.7537 10.3248 19.7502 10.5752V20.0955C19.7537 20.346 19.7058 20.5945 19.6095 20.8258C19.5132 21.057 19.3705 21.2661 19.1902 21.44C19.0161 21.6202 18.807 21.7629 18.5757 21.8592C18.3444 21.9555 18.0957 22.0033 17.8452 21.9998L6.40518 21.9936ZM6.40518 20.0893H17.8339V10.569H6.40518V20.0893ZM12.1189 17.2328C12.3695 17.2363 12.6181 17.1884 12.8494 17.0922C13.0808 16.9959 13.2899 16.8532 13.4639 16.673C13.6442 16.499 13.7869 16.29 13.8832 16.0588C13.9795 15.8275 14.0274 15.579 14.0239 15.3285C14.0274 15.078 13.9795 14.8295 13.8832 14.5983C13.7869 14.367 13.6442 14.158 13.4639 13.984C13.2899 13.8038 13.0808 13.6611 12.8494 13.5649C12.6181 13.4686 12.3695 13.4207 12.1189 13.4242C11.8684 13.4207 11.6198 13.4686 11.3884 13.5649C11.1571 13.6611 10.948 13.8038 10.7739 13.984C10.5936 14.158 10.4509 14.367 10.3546 14.5983C10.2583 14.8295 10.2104 15.078 10.2139 15.3285C10.2104 15.579 10.2583 15.8275 10.3546 16.0588C10.4509 16.29 10.5936 16.499 10.7739 16.673C10.9487 16.854 11.1588 16.9971 11.3913 17.0934C11.6238 17.1897 11.8736 17.2372 12.1252 17.2328H12.1189ZM9.26144 8.66468H14.9752V6.76038C14.9821 6.38409 14.9117 6.01037 14.7683 5.66238C14.6249 5.31439 14.4115 4.99954 14.1414 4.73735C13.8791 4.46734 13.5642 4.25403 13.2161 4.11067C12.868 3.9673 12.4941 3.89695 12.1177 3.90391C11.7412 3.89695 11.3674 3.9673 11.0193 4.11067C10.6712 4.25403 10.3562 4.46734 10.0939 4.73735C9.82383 4.99954 9.61047 5.31439 9.46705 5.66238C9.32363 6.01037 9.25321 6.38409 9.26018 6.76038L9.26144 8.66468Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.40518 21.9936C6.15463 21.9971 5.90602 21.9492 5.67469 21.8529C5.44336 21.7567 5.23421 21.614 5.06018 21.4338C4.87989 21.2598 4.73718 21.0508 4.64087 20.8195C4.54455 20.5883 4.49667 20.3397 4.50018 20.0893V10.569C4.49667 10.3185 4.54455 10.07 4.64087 9.83872C4.73718 9.60747 4.87989 9.39844 5.06018 9.22447C5.23421 9.04425 5.44336 8.90159 5.67469 8.80531C5.90602 8.70903 6.15463 8.66117 6.40518 8.66468H7.35767V6.76038C7.34648 6.13271 7.4643 5.5094 7.70382 4.92908C7.94334 4.34876 8.29947 3.82377 8.75017 3.3866C9.18804 2.93719 9.71347 2.58231 10.294 2.34396C10.8745 2.10561 11.4977 1.98884 12.1252 2.00084C12.7531 1.98965 13.3766 2.10742 13.9571 2.34686C14.5377 2.58629 15.0629 2.94231 15.5002 3.39285C15.9509 3.83002 16.307 4.35501 16.5465 4.93533C16.7861 5.51565 16.9039 6.13896 16.8927 6.76664V8.67093H17.8452C18.0957 8.66742 18.3444 8.71528 18.5757 8.81156C18.807 8.90785 19.0161 9.0505 19.1902 9.23072C19.3705 9.40469 19.5132 9.61372 19.6095 9.84497C19.7058 10.0762 19.7537 10.3248 19.7502 10.5752V20.0955C19.7537 20.346 19.7058 20.5945 19.6095 20.8258C19.5132 21.057 19.3705 21.2661 19.1902 21.44C19.0161 21.6202 18.807 21.7629 18.5757 21.8592C18.3444 21.9555 18.0957 22.0033 17.8452 21.9998L6.40518 21.9936ZM6.40518 20.0893H17.8339V10.569H6.40518V20.0893ZM12.1189 17.2328C12.3695 17.2363 12.6181 17.1884 12.8494 17.0922C13.0808 16.9959 13.2899 16.8532 13.4639 16.673C13.6442 16.499 13.7869 16.29 13.8832 16.0588C13.9795 15.8275 14.0274 15.579 14.0239 15.3285C14.0274 15.078 13.9795 14.8295 13.8832 14.5983C13.7869 14.367 13.6442 14.158 13.4639 13.984C13.2899 13.8038 13.0808 13.6611 12.8494 13.5649C12.6181 13.4686 12.3695 13.4207 12.1189 13.4242C11.8684 13.4207 11.6198 13.4686 11.3884 13.5649C11.1571 13.6611 10.948 13.8038 10.7739 13.984C10.5936 14.158 10.4509 14.367 10.3546 14.5983C10.2583 14.8295 10.2104 15.078 10.2139 15.3285C10.2104 15.579 10.2583 15.8275 10.3546 16.0588C10.4509 16.29 10.5936 16.499 10.7739 16.673C10.9487 16.854 11.1588 16.9971 11.3913 17.0934C11.6238 17.1897 11.8736 17.2372 12.1252 17.2328H12.1189ZM9.26144 8.66468H14.9752V6.76038C14.9821 6.38409 14.9117 6.01037 14.7683 5.66238C14.6249 5.31439 14.4115 4.99954 14.1414 4.73735C13.8791 4.46734 13.5642 4.25403 13.2161 4.11067C12.868 3.9673 12.4941 3.89695 12.1177 3.90391C11.7412 3.89695 11.3674 3.9673 11.0193 4.11067C10.6712 4.25403 10.3562 4.46734 10.0939 4.73735C9.82383 4.99954 9.61047 5.31439 9.46705 5.66238C9.32363 6.01037 9.25321 6.38409 9.26018 6.76038L9.26144 8.66468Z' fill='black'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 20px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
.l-footer .l-footer-label .l-footer-label__item.l-footer-label__item-login span::after {
  right: -10px;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-label .l-footer-label__item.l-footer-label__item-login span::after {
    right: -2.6666666667vw;
  }
}
.l-footer .l-footer-link {
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-link {
    margin-top: 4vw;
  }
}
.l-footer .l-footer-link .l-footer-link__item {
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-link .l-footer-link__item {
    margin-bottom: 1.6vw;
  }
}
.l-footer .l-footer-link .l-footer-link__item:hover {
  color: #0089A8;
}
.l-footer {
  /*# Footer Sub
  /*===========================================*/
}
.l-footer .l-footer-sub {
  color: #fff;
}
@media screen and (min-width: 768px) {
  .l-footer .l-footer-sub {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-sub {
    margin-top: 10.6666666667vw;
    padding: 6.4vw 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
}
@media screen and (min-width: 768px) {
  .l-footer .l-footer-list {
    display: flex;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-list .l-footer-list__item {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-list .l-footer-list__item + .l-footer-list__item {
    margin-top: 4.2666666667vw;
  }
}
.l-footer .l-footer-list .l-footer-list__item:hover {
  color: #0089A8;
}
@media screen and (min-width: 768px) {
  .l-footer .l-footer-youtube {
    flex: 0 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer .l-footer-youtube {
    width: 10.6666666667vw;
    margin: 4.2666666667vw auto 0;
  }
}
.l-footer .l-footer-youtube:hover svg, .l-footer .l-footer-youtube:hover path {
  fill: #0089A8;
}

.l-footer-copy {
  color: #fff;
}
@media screen and (min-width: 768px) {
  .l-footer-copy {
    margin-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer-copy {
    margin-top: 10.6666666667vw;
    text-align: center;
  }
}

/* ==========================================================================
	main
========================================================================== */
.l-main {
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-main {
    padding-top: 17.0666666667vw;
  }
}

.l-main-pagetop {
  position: fixed;
  right: 32px;
  bottom: 50px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #0089A8;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, bottom 0.3s ease, background-color 0.3s ease, transform 0.3s ease;
  z-index: 999;
}
@media screen and (max-width: 767px) {
  .l-main-pagetop {
    right: 16px;
    width: 48px;
    height: 48px;
  }
}
.l-main-pagetop::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.999 11.999L12.6357 21.999L11.9619 21.2793L20.1738 12.5088H2V11.4912H20.1758L11.9619 2.71973L12.6357 2L21.999 11.999Z' /%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 24px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .l-main-pagetop::after {
    width: 6.4vw;
  }
}
.l-main-pagetop::after {
  transform: translate(-50%, -50%) rotate(-90deg);
  left: 50%;
}
.l-main-pagetop.is-visible {
  opacity: 1;
  visibility: visible;
}
.l-main-pagetop.is-active {
  position: absolute;
  bottom: 20px;
}
.l-main-pagetop:hover {
  background: #00ADC1;
}
.l-main-pagetop:hover::after {
  top: 45%;
}

/* ==========================================================================
  container
========================================================================== */
.l-container-1600px, .l-container {
  display: block;
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 100%;
}

.l-container {
  max-width: inherit;
  padding: 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .l-container {
    max-width: 1240px;
    padding: 0 20px;
  }
}

@media screen and (min-width: 768px) {
  .l-container-1600px {
    max-width: 1640px;
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .l-container-1600px {
    padding: 0 5.3333333333vw;
  }
}
/*# sourceMappingURL=maps/cmn.css.map */