@charset "UTF-8";
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  border-style: solid;
  border-width: 0;
  box-sizing: border-box;
}

/* 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 {
  /* 1 */
  -webkit-text-size-adjust: 100%;
  line-height: 1.15;
  /* 2 */
}

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

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

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

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

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

/* 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 {
  /* 2 */
  border-top-width: 1px;
  box-sizing: content-box;
  clear: both;
  color: inherit;
  /* 1 */
  height: 0;
  margin: 0;
  /* 1 */
  overflow: visible;
}

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

address {
  font-style: inherit;
}

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

/**
 * 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] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

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;
  min-width: 0;
  padding: 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;
}

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

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

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

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

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

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

caption {
  text-align: left;
}

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

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

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

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

/*---------------------------------------------------------
BreakPoint
----------------------------------------------------------*/
/*---------------------------------------------------------
BreakPoint
----------------------------------------------------------*/
/*---------------------------------------------------------
Clamp
----------------------------------------------------------*/
*,
*::before,
*::after {
  --min-size: 12px;
  --max-size: 160px;
  --min-viewport: 375;
  --max-viewport: 1200;
  --slope: calc(
    (var(--max-size) - var(--min-size)) /
      (var(--max-viewport) - var(--min-viewport))
  );
  --intercept: calc(var(--min-size) - var(--slope) * var(--min-viewport));
  --fluid-size: calc(var(--slope) * 100vw + var(--intercept) / 16 * 1rem);
  --clamp-size: clamp(
    var(--min-size) / 16 * 1rem,
    var(--fluid-size),
    var(--max-size) / 16 * 1rem
  );
}

/*---------------------------------------------------------
font
----------------------------------------------------------*/
/*
 * Easing function
 * Original：http://easings.net/
 */
/*---------------------------------------------------------
BrakePoint
----------------------------------------------------------*/
body {
  font-family: "Helvetica Neue", Arial, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 15px;
  font-weight: 500;
}

.default-text {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license

Copyright (c) 2013 Daniel Eden

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.animated {
  -webkit-animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
}

@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(10px);
  }
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(10px);
  }
}
.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.swing {
  -webkit-animation-name: swing;
  animation-name: swing;
  transform-origin: top center;
}

@-webkit-keyframes tada {
  0% {
    transform: scale(1);
  }
  10%, 20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
@keyframes tada {
  0% {
    transform: scale(1);
  }
  10%, 20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  0% {
    transform: translateX(0%);
  }
  15% {
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes wobble {
  0% {
    transform: translateX(0%);
  }
  15% {
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    transform: translateX(0%);
  }
}
.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(30px);
  }
  80% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(30px);
  }
  80% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(30px);
  }
  80% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bounceInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(30px);
  }
  80% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(-30px);
  }
  80% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(-30px);
  }
  80% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(-30px);
  }
  80% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes bounceInUp {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(-30px);
  }
  80% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}
@keyframes bounceOut {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}
.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
@keyframes bounceOutDown {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
@keyframes bounceOutLeft {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
@keyframes bounceOutRight {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
@keyframes bounceOutUp {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-20px);
  }
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-20px);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(20px);
  }
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(20px);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-20px);
  }
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-20px);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  0% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
  }
  40% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
  }
  50% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
  }
  80% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
  }
  100% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
  }
}
@keyframes flip {
  0% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
  }
  40% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
  }
  50% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
  }
  80% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
  }
  100% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
  }
}
.animated.flip {
  -webkit-backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
  backface-visibility: visible;
}

@-webkit-keyframes flipInX {
  0% {
    opacity: 0;
    transform: perspective(400px) rotateX(90deg);
  }
  40% {
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    opacity: 1;
    transform: perspective(400px) rotateX(0deg);
  }
}
@keyframes flipInX {
  0% {
    opacity: 0;
    transform: perspective(400px) rotateX(90deg);
  }
  40% {
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    opacity: 1;
    transform: perspective(400px) rotateX(0deg);
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipInY {
  0% {
    opacity: 0;
    transform: perspective(400px) rotateY(90deg);
  }
  40% {
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    opacity: 1;
    transform: perspective(400px) rotateY(0deg);
  }
}
@keyframes flipInY {
  0% {
    opacity: 0;
    transform: perspective(400px) rotateY(90deg);
  }
  40% {
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    opacity: 1;
    transform: perspective(400px) rotateY(0deg);
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutX {
  0% {
    opacity: 1;
    transform: perspective(400px) rotateX(0deg);
  }
  100% {
    opacity: 0;
    transform: perspective(400px) rotateX(90deg);
  }
}
@keyframes flipOutX {
  0% {
    opacity: 1;
    transform: perspective(400px) rotateX(0deg);
  }
  100% {
    opacity: 0;
    transform: perspective(400px) rotateX(90deg);
  }
}
.flipOutX {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  0% {
    opacity: 1;
    transform: perspective(400px) rotateY(0deg);
  }
  100% {
    opacity: 0;
    transform: perspective(400px) rotateY(90deg);
  }
}
@keyframes flipOutY {
  0% {
    opacity: 1;
    transform: perspective(400px) rotateY(0deg);
  }
  100% {
    opacity: 0;
    transform: perspective(400px) rotateY(90deg);
  }
}
.flipOutY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
  backface-visibility: visible !important;
}

@-webkit-keyframes lightSpeedIn {
  0% {
    opacity: 0;
    transform: translateX(100%) skewX(-30deg);
  }
  60% {
    opacity: 1;
    transform: translateX(-20%) skewX(30deg);
  }
  80% {
    opacity: 1;
    transform: translateX(0%) skewX(-15deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0%) skewX(0deg);
  }
}
@keyframes lightSpeedIn {
  0% {
    opacity: 0;
    transform: translateX(100%) skewX(-30deg);
  }
  60% {
    opacity: 1;
    transform: translateX(-20%) skewX(30deg);
  }
  80% {
    opacity: 1;
    transform: translateX(0%) skewX(-15deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0%) skewX(0deg);
  }
}
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  0% {
    opacity: 1;
    transform: translateX(0%) skewX(0deg);
  }
  100% {
    opacity: 0;
    transform: translateX(100%) skewX(-30deg);
  }
}
@keyframes lightSpeedOut {
  0% {
    opacity: 1;
    transform: translateX(0%) skewX(0deg);
  }
  100% {
    opacity: 0;
    transform: translateX(100%) skewX(-30deg);
  }
}
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  0% {
    opacity: 0;
    transform: rotate(-200deg);
    transform-origin: center center;
  }
  100% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: center center;
  }
}
@keyframes rotateIn {
  0% {
    opacity: 0;
    transform: rotate(-200deg);
    transform-origin: center center;
  }
  100% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: center center;
  }
}
.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  0% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: left bottom;
  }
  100% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: left bottom;
  }
}
@keyframes rotateInDownLeft {
  0% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: left bottom;
  }
  100% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: left bottom;
  }
}
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  0% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: right bottom;
  }
  100% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: right bottom;
  }
}
@keyframes rotateInDownRight {
  0% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: right bottom;
  }
  100% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: right bottom;
  }
}
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  0% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: left bottom;
  }
  100% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: left bottom;
  }
}
@keyframes rotateInUpLeft {
  0% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: left bottom;
  }
  100% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: left bottom;
  }
}
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  0% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: right bottom;
  }
  100% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: right bottom;
  }
}
@keyframes rotateInUpRight {
  0% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: right bottom;
  }
  100% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: right bottom;
  }
}
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  0% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: center center;
  }
  100% {
    opacity: 0;
    transform: rotate(200deg);
    transform-origin: center center;
  }
}
@keyframes rotateOut {
  0% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: center center;
  }
  100% {
    opacity: 0;
    transform: rotate(200deg);
    transform-origin: center center;
  }
}
.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  0% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: left bottom;
  }
  100% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: left bottom;
  }
}
@keyframes rotateOutDownLeft {
  0% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: left bottom;
  }
  100% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: left bottom;
  }
}
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  0% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: right bottom;
  }
  100% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: right bottom;
  }
}
@keyframes rotateOutDownRight {
  0% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: right bottom;
  }
  100% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: right bottom;
  }
}
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  0% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: left bottom;
  }
  100% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: left bottom;
  }
}
@keyframes rotateOutUpLeft {
  0% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: left bottom;
  }
  100% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: left bottom;
  }
}
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  0% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: right bottom;
  }
  100% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: right bottom;
  }
}
@keyframes rotateOutUpRight {
  0% {
    opacity: 1;
    transform: rotate(0);
    transform-origin: right bottom;
  }
  100% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: right bottom;
  }
}
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes slideInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes slideInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    transform: translateY(0);
  }
}
.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes slideInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  100% {
    transform: translateX(0);
  }
}
.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes slideInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  100% {
    transform: translateX(0);
  }
}
.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideOutLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
@keyframes slideOutLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  0% {
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
@keyframes slideOutRight {
  0% {
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  0% {
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
@keyframes slideOutUp {
  0% {
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    transform: rotate(0);
    transform-origin: top left;
  }
  20%, 60% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    transform: rotate(80deg);
    transform-origin: top left;
  }
  40% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    transform: rotate(60deg);
    transform-origin: top left;
  }
  80% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
    transform: rotate(60deg) translateY(0);
    transform-origin: top left;
  }
  100% {
    opacity: 0;
    transform: translateY(700px);
  }
}
@keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    transform: rotate(0);
    transform-origin: top left;
  }
  20%, 60% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    transform: rotate(80deg);
    transform-origin: top left;
  }
  40% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    transform: rotate(60deg);
    transform-origin: top left;
  }
  80% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
    transform: rotate(60deg) translateY(0);
    transform-origin: top left;
  }
  100% {
    opacity: 0;
    transform: translateY(700px);
  }
}
.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
}
@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
}
.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translateX(100%) rotate(120deg);
  }
}
@keyframes rollOut {
  0% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translateX(100%) rotate(120deg);
  }
}
.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

/* 管理バー下に */
@media screen and (max-width: 600px) {
  #wpadminbar {
    position: fixed !important;
  }
}
html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
  position: relative;
}
body.nav-fixed {
  height: 100%;
  position: fixed;
  width: 100%;
}

html {
  height: -webkit-fill-available;
}

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

main {
  padding-top: 272px;
}
@media (max-width: 768px) {
  main {
    padding-top: 140px;
  }
}
main.top {
  padding-top: 150px;
}
@media (max-width: 768px) {
  main.top {
    padding-top: 120px;
  }
}

#quality main,
#message main {
  overflow: hidden;
}

input,
textarea {
  font-size: 16px;
}

.top .dec {
  background: #ededed;
  height: 868px;
  left: 0;
  margin-top: 230px;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
@media (max-width: 560px) {
  .top .dec {
    height: calc((100vw - 20px) / 2 + 250px + 32vw);
    margin-top: calc((100vw - 20px) / 2);
  }
}
.top .dec--right {
  background: #ededed;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 10.46vw;
  top: 145px;
  width: 100vw;
  width: 89.54vw;
  z-index: -1;
}
@media (max-width: 560px) {
  .top .dec--right {
    top: -75px;
    width: 100vw;
  }
}
.top .who-we-are {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 560px) {
  .top .who-we-are {
    flex-direction: column;
  }
}
.top .company {
  display: flex;
  justify-content: space-between;
  margin-top: 100px;
}
@media (max-width: 560px) {
  .top .company {
    flex-direction: column-reverse;
    margin-top: 70px;
  }
}
.top .brand {
  display: flex;
  height: 100%;
  justify-content: space-between;
  padding-bottom: 150px;
  padding-top: 295px;
  position: relative;
}
@media (max-width: 560px) {
  .top .brand {
    flex-direction: column;
    padding-top: 70px;
  }
}
.top .brand-list {
  align-items: center;
  display: flex;
  justify-content: space-around;
  margin-top: 105px;
}
@media (max-width: 1120px) {
  .top .brand-list {
    flex-wrap: wrap;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
  }
}
.top .brand-icon {
  text-align: center;
  width: 25%;
}
@media (max-width: 1120px) {
  .top .brand-icon {
    width: 50%;
  }
  .top .brand-icon img {
    max-width: 133px;
  }
}
.top .fade-image {
  position: relative;
}
@media (max-width: 560px) {
  .top .fade-image {
    height: 200px;
    width: 100vw;
  }
}
.top .fade-image picture {
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.top .fade-image picture img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
@media (max-width: 560px) {
  .top .fade-image picture {
    -o-object-fit: cover;
    min-width: none;
    object-fit: cover;
    padding-right: 20px;
    width: 100%;
  }
}

.page-c-message-img {
  height: 43.9238653001vw;
  margin-right: calc(50% - 50vw);
  margin-top: 70px;
  text-align: center;
}
.page-c-message-img img {
  -o-object-fit: cover;
  height: 43.9238653001vw;
  object-fit: cover;
  vertical-align: top;
}
.page-c-message-text {
  font-size: 15px;
  line-height: 25px;
  margin-top: 25px;
}
.page-c-message-text.first {
  margin-top: 40px;
}
@media (max-width: 560px) {
  .page-c-message-text.first {
    margin-top: 36px;
  }
}
.page-c-message-text-representative {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 40px;
}

.page-c-list {
  display: flex;
  margin-top: 100px;
}
@media (max-width: 560px) {
  .page-c-list {
    flex-direction: column;
  }
}
.page-c-list li {
  border-top: 1px solid #d1d1d1;
  margin-left: 90px;
  padding-top: 40px;
  width: calc(50% - 45px);
}
@media (max-width: 560px) {
  .page-c-list li {
    margin-left: 0;
    padding-top: 21px;
    width: 100%;
  }
}
.page-c-list li:first-child {
  margin-left: 0;
}
@media (max-width: 560px) {
  .page-c-list li:first-child {
    margin-bottom: 21px;
  }
}
.page-c-list-item, .page-c-list-item--row {
  display: flex;
}
.page-c-list-item--row {
  width: 100%;
}
.page-c-list-item span, .page-c-list-item--row span {
  --min-size: 16;
  --max-size: 28;
  font-size: var(--clamp-size);
  line-height: 47px;
}
.page-c-list-item span + p, .page-c-list-item--row span + p {
  color: #0f0f0f;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 20px;
  margin-top: 10px;
}

.page-c-philosophy__content {
  margin-top: 70px;
}
@media (max-width: 560px) {
  .page-c-philosophy__content {
    margin-top: 55px;
  }
}
.page-c-philosophy__content dl {
  display: flex;
}
@media (max-width: 560px) {
  .page-c-philosophy__content dl {
    flex-direction: column;
  }
}
.page-c-philosophy__content dl dt {
  --min-size: 21;
  --max-size: 31;
  font-size: var(--clamp-size);
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1;
  line-height: 42px;
  width: 405px;
}
@media (max-width: 768px) {
  .page-c-philosophy__content dl dt {
    width: 200px;
  }
}
@media (max-width: 560px) {
  .page-c-philosophy__content dl dt {
    line-height: 32px;
    margin-left: 20px;
    width: 100%;
  }
}
.page-c-philosophy__content dl dd {
  --min-size: 14;
  --max-size: 21;
  font-size: var(--clamp-size);
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 32px;
  width: calc(100% - 405px);
}
@media (max-width: 768px) {
  .page-c-philosophy__content dl dd {
    width: calc(100% - 200px);
  }
}
@media (max-width: 560px) {
  .page-c-philosophy__content dl dd {
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 25px;
    margin-left: 40px;
    margin-top: 20px;
    width: calc(100% - 40px);
  }
}
.page-c-philosophy__content-circle {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 80px;
}
@media (max-width: 560px) {
  .page-c-philosophy__content-circle {
    margin-bottom: 40.8vw;
    margin-top: calc(40.8vw + 30px);
  }
}
.page-c-philosophy__content-circle-base, .page-c-philosophy__content-circle-item--right, .page-c-philosophy__content-circle-item--left, .page-c-philosophy__content-circle-item {
  --min-size: 15;
  --max-size: 16;
  align-items: center;
  border-radius: 50%;
  display: flex;
  font-size: var(--clamp-size);
  height: 41.8740849195vw;
  justify-content: center;
  line-height: 40px;
  max-height: 572px;
  max-width: 572px;
  width: 41.8740849195vw;
}
@media (max-width: 560px) {
  .page-c-philosophy__content-circle-base, .page-c-philosophy__content-circle-item--right, .page-c-philosophy__content-circle-item--left, .page-c-philosophy__content-circle-item {
    height: calc(100vw - 120px);
    width: calc(100vw - 120px);
  }
}
.page-c-philosophy__content-circle-item {
  background: #0f0f0f;
  color: #fff;
  position: relative;
  z-index: -1;
}
.page-c-philosophy__content-circle-item--left {
  background: rgba(127, 127, 127, 0.8);
  color: #fff;
  left: 0;
  position: absolute;
  top: 0;
  transform: translateX(-24.8901903367vw);
  z-index: 1;
}
@media (max-width: 560px) {
  .page-c-philosophy__content-circle-item--left {
    transform: translateY(-40.8vw);
  }
}
.page-c-philosophy__content-circle-item--right {
  background: rgba(255, 255, 255, 0);
  border: 2px solid #707070;
  color: #0f0f0f;
  left: 0;
  position: absolute;
  top: 0;
  transform: translateX(24.8901903367vw);
  z-index: 1;
}
@media (max-width: 560px) {
  .page-c-philosophy__content-circle-item--right {
    transform: translateY(40.8vw);
  }
}
.page-c-philosophy__content-circle-item .text-center {
  z-index: 2;
}
.page-c-philosophy__content-explain dl {
  border-bottom: 1px solid #d1d1d1;
  display: flex;
  padding: 50px 0;
}
.page-c-philosophy__content-explain dl:first-child {
  margin-top: 50px;
}
@media (max-width: 560px) {
  .page-c-philosophy__content-explain dl {
    flex-direction: column;
    margin: 0 20px;
    padding: 47px 0 40px 0;
  }
}
.page-c-philosophy__content-explain dl:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.page-c-philosophy__content-explain dl.value dl {
  margin-top: 34px;
}
.page-c-philosophy__content-explain dl.value dl:first-child {
  margin-top: 0;
}
@media (max-width: 560px) {
  .page-c-philosophy__content-explain dl.value dl dd {
    margin-top: 12px;
  }
  .page-c-philosophy__content-explain dl.value dl dd:first-child {
    margin-top: 0px;
  }
}
.page-c-philosophy__content-explain dl dt {
  --min-size: 21;
  --max-size: 35;
  font-size: var(--clamp-size);
  letter-spacing: 0.05em;
  line-height: 1;
  line-height: 47px;
  width: 405px;
}
@media (max-width: 768px) {
  .page-c-philosophy__content-explain dl dt {
    width: 200px;
  }
}
@media (max-width: 560px) {
  .page-c-philosophy__content-explain dl dt {
    line-height: 40px;
    width: 100%;
  }
}
.page-c-philosophy__content-explain dl dd {
  --min-size: 15;
  --max-size: 21;
  font-size: var(--clamp-size);
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 32px;
  width: calc(100% - 405px);
}
@media (max-width: 768px) {
  .page-c-philosophy__content-explain dl dd {
    width: calc(100% - 200px);
  }
}
@media (max-width: 560px) {
  .page-c-philosophy__content-explain dl dd {
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 25px;
    margin-left: 20px;
    margin-top: 25px;
    width: 100%;
  }
}
.page-c-philosophy__content-explain dl dd ol {
  margin-left: 2em;
}
.page-c-philosophy__content-explain dl dd ol li {
  counter-increment: cnt;
  list-style-type: none;
  margin-top: 21px;
  position: relative;
}
.page-c-philosophy__content-explain dl dd ol li:first-child {
  margin-top: 0;
}
@media (max-width: 560px) {
  .page-c-philosophy__content-explain dl dd ol li {
    margin-top: 31px;
  }
}
.page-c-philosophy__content-explain dl dd ol li:before {
  color: #7e807c;
  content: "0" counter(cnt) ".";
  display: inline-block;
  left: 0;
  margin-left: -3.5em;
  position: absolute;
  text-align: right;
  top: 0;
  width: 3em;
}
.page-c-philosophy__content-explain dl dd dl {
  border: none;
  display: flex;
  flex-direction: column;
  margin-top: 26px;
  padding: 0;
}
.page-c-philosophy__content-explain dl dd dl:first-child {
  margin-top: 0;
}
.page-c-philosophy__content-explain dl dd dl dt,
.page-c-philosophy__content-explain dl dd dl dd {
  width: 100%;
}
.page-c-philosophy__content-explain dl dd dl dt {
  --min-size: 16;
  --max-size: 25;
  font-size: var(--clamp-size);
  line-height: 26px;
}
@media (max-width: 560px) {
  .page-c-philosophy__content-explain dl dd dl dt {
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1;
  }
}
.page-c-philosophy__content-explain dl dd dl dd {
  --min-size: 16;
  --max-size: 18;
  font-size: var(--clamp-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 26px;
  margin-top: 23px;
}
@media (max-width: 560px) {
  .page-c-philosophy__content-explain dl dd dl dd {
    margin-left: 0;
  }
}

.page-c-profile__content-online-store {
  display: flex;
  flex-wrap: wrap;
  margin: 50px auto 0;
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store {
    margin: 40px 0 0;
  }
}
.page-c-profile__content-online-store-item {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 255px;
  margin-bottom: 30px;
  margin-left: 15px;
  width: calc((100% - 30px) / 3);
}
@media (max-width: 768px) {
  .page-c-profile__content-online-store-item {
    width: calc((100% - 15px) / 2);
  }
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item {
    height: auto;
    width: calc((100% - 15px) / 2);
  }
}
.page-c-profile__content-online-store-item:nth-child(3n+1) {
  margin-left: 0;
}
@media (max-width: 768px) {
  .page-c-profile__content-online-store-item:nth-child(3n+1) {
    margin-left: 15px;
  }
}
@media (max-width: 768px) {
  .page-c-profile__content-online-store-item:nth-child(2n+1) {
    margin-left: 0;
  }
}
.page-c-profile__content-online-store-item a {
  display: block;
  height: 100%;
  width: 100%;
}
.page-c-profile__content-online-store-item figure {
  align-items: center;
  border: 1px solid #0f0f0f;
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
  min-height: 200px;
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item figure {
    height: 100px;
    min-height: 120px;
  }
}
.page-c-profile__content-online-store-item figcaption {
  padding: 20px 10px;
  text-align: center;
}
.page-c-profile__content-online-store-item figcaption span {
  position: relative;
}
.page-c-profile__content-online-store-item figcaption span a {
  align-items: center;
  display: flex;
  padding-right: 20px;
}
.page-c-profile__content-online-store-item figcaption span a::after {
  background: url("../img/icon-link.webp") no-repeat center;
  background-size: cover;
  content: "";
  height: 10px;
  position: absolute;
  right: 0px;
  width: 14px;
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item figcaption span a::after {
    height: 8px;
    width: 11px;
  }
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item figcaption {
    font-size: 11px;
    padding: 10px;
  }
}
.page-c-profile__content-online-store-item-img picture {
  display: block;
}
.page-c-profile__content-online-store-item-img picture.yuhidou {
  max-width: 79px;
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item-img picture.yuhidou {
    max-width: 38px;
  }
}
.page-c-profile__content-online-store-item-img picture.ahd {
  max-width: calc(233px + 32px);
  padding: 0 16px;
}
.page-c-profile__content-online-store-item-img picture.forlife {
  max-width: calc(188px + 32px);
  padding: 0 16px;
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item-img picture.ahd {
    max-width: 124px;
    padding: 0 8px;
  }
  .page-c-profile__content-online-store-item-img picture.forlife {
    max-width: 124px;
    padding: 0 8px;
  }
}
.page-c-profile__content-online-store-item-img picture.ttt {
  max-width: 77px;
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item-img picture.ttt {
    max-width: 37px;
  }
}
.page-c-profile__content-online-store-item-img picture.rakuten {
  max-width: 224px;
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item-img picture.rakuten {
    max-width: 103px;
  }
}
.page-c-profile__content-online-store-item-img picture.yahoo {
  max-width: 261px;
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item-img picture.yahoo {
    max-width: 124px;
  }
}
.page-c-profile__content-online-store-item-img picture.amazon {
  max-width: 225px;
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item-img picture.amazon {
    max-width: 106px;
  }
}
.page-c-profile__content-online-store-item-img picture.line {
  max-width: 313px;
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item-img picture.line {
    max-width: 146px;
  }
}
.page-c-profile__content-online-store-item-img picture.t3 {
  max-width: 87px;
}
@media (max-width: 560px) {
  .page-c-profile__content-online-store-item-img picture.t3 {
    max-width: 42px;
  }
}
.page-c-profile__content-profile {
  display: flex;
  justify-content: space-between;
  margin: 100px auto 0;
}
@media (max-width: 768px) {
  .page-c-profile__content-profile {
    flex-direction: column;
  }
}
@media (max-width: 768px) {
  .page-c-profile__content-profile {
    margin: 93px 0 0;
  }
}
.page-c-profile__content-profile table {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-left: 80px;
}
@media (max-width: 768px) {
  .page-c-profile__content-profile table {
    margin-left: 40px;
    margin-top: 62px;
  }
}
@media (max-width: 560px) {
  .page-c-profile__content-profile table {
    margin-top: 42px;
    width: calc(100% - 40px);
  }
}
@media (max-width: 560px) {
  .page-c-profile__content-profile table tr {
    display: flex;
    flex-direction: column;
  }
}
.page-c-profile__content-profile table tr th {
  border-top: 1px solid #afafaf;
  font-weight: bold;
  padding-left: 10px;
  padding-top: 20px;
  width: 180px;
}
@media (max-width: 768px) {
  .page-c-profile__content-profile table tr th {
    width: 130px;
  }
}
@media (max-width: 560px) {
  .page-c-profile__content-profile table tr th {
    padding-left: 15px;
    width: 100%;
  }
}
@media (max-width: 560px) {
  .page-c-profile__content-profile table tr th.first {
    border-top: none;
  }
}
.page-c-profile__content-profile table tr td {
  padding: 20px 0 25px 48px;
  width: calc(100% - 180px);
}
@media (max-width: 768px) {
  .page-c-profile__content-profile table tr td {
    width: calc(100% - 130px);
  }
}
@media (max-width: 560px) {
  .page-c-profile__content-profile table tr td {
    padding: 15px 0 25px 18px;
    width: 100%;
  }
}
@media (max-width: 560px) {
  .page-c-profile__content-profile table tr td .br-sp {
    display: block;
  }
}

.page-b-brand__content {
  margin-top: 72px;
}
.page-b-brand__content-item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
  width: 100%;
}
@media (max-width: 768px) {
  .page-b-brand__content-item {
    flex-direction: column;
    margin-top: 50px;
  }
}
@media (max-width: 768px) {
  .page-b-brand__content-item:first-child {
    margin-top: 0;
  }
}
.page-b-brand__content-item-img {
  height: 26.7857142857vw;
  max-height: 300px;
  max-width: 450px;
  overflow: hidden;
  width: 40.1785714286vw;
}
@media (max-width: 768px) {
  .page-b-brand__content-item-img {
    height: auto;
    max-height: 100%;
    max-width: 100%;
    width: 100%;
  }
}
.page-b-brand__content-item-img img {
  height: 26.7857142857vw;
  max-height: 300px;
  max-width: 450px;
  transition: 1s all;
  width: 40.1785714286vw;
}
@media (max-width: 768px) {
  .page-b-brand__content-item-img img {
    height: auto;
    max-height: 100%;
    max-width: 100%;
    width: 100%;
  }
}
.page-b-brand__content-item-img img:hover {
  transform: scale(1.2, 1.2);
  transition: 1s all;
}
.page-b-brand__content-item-textarea {
  min-width: 405px;
  width: calc(100% - 40.1785714286vw - 40px);
}
@media (max-width: 1120px) {
  .page-b-brand__content-item-textarea {
    min-width: initial;
  }
}
@media (max-width: 768px) {
  .page-b-brand__content-item-textarea {
    margin-top: 25px;
    padding: 0 20px;
    width: 100%;
  }
}
.page-b-brand__content-item-textarea h4 {
  --min-size: 21;
  --max-size: 28;
  font-size: var(--clamp-size);
  font-weight: bold;
  line-height: 1.3;
}
.page-b-brand__content-item-textarea h4 + p {
  margin-top: 44px;
}
@media (max-width: 768px) {
  .page-b-brand__content-item-textarea h4 + p {
    margin-top: 21px;
  }
}
.page-b-brand__content-item-textarea p {
  color: #7e807c;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 20px;
  margin-top: 20px;
}
.page-b-brand__content-item-textarea span.sub-title {
  --min-size: 15;
  --max-size: 18;
  display: inline-block;
  font-size: var(--clamp-size);
  font-weight: bold;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 44px;
}
@media (max-width: 768px) {
  .page-b-brand__content-item-textarea span.sub-title {
    margin-top: 21px;
  }
}
.page-b-brand__content-item-textarea span.sub-title.bigger {
  --min-size: 15;
  --max-size: 21;
  font-size: var(--clamp-size);
  letter-spacing: 0;
  word-break: break-all;
}
.page-b-brand__content-item-link {
  text-align: right;
}
.page-b-brand__content-item-link span.link {
  display: inline-block;
  margin-left: 40px;
  margin-top: 20px;
}
.page-b-brand__content-item-link span.link:first-child {
  margin-left: 0px;
}
.page-b-brand__content-item-link span.link a {
  border-bottom: 1px solid #211308;
  display: inline-block;
  font-size: 14px;
  padding-bottom: 5px;
  padding-right: 20px;
  position: relative;
  text-align: right;
}
.page-b-brand__content-item-link span.link a::after {
  background: url("../img/icon-link.png") no-repeat center;
  background-size: cover;
  content: "";
  height: 10px;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
}
@media (max-width: 560px) {
  .page-b-brand__content-item-link span.link a::after {
    height: 8px;
    width: 11px;
  }
}

.page-b-list {
  display: flex;
  margin-top: 100px;
}
@media (max-width: 560px) {
  .page-b-list {
    flex-direction: column;
  }
}
.page-b-list li {
  border-top: 1px solid #d1d1d1;
  padding-top: 40px;
  width: 100%;
}
@media (max-width: 560px) {
  .page-b-list li {
    margin-left: 0;
    padding-top: 21px;
    width: 100%;
  }
}
.page-b-list-item {
  display: flex;
}
.page-b-list-item span {
  --min-size: 16;
  --max-size: 28;
  font-size: var(--clamp-size);
  line-height: 47px;
}
.page-b-list-item span + p {
  color: #0f0f0f;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 20px;
  margin-top: 10px;
}

.page-b-other {
  display: flex;
  margin-top: 200px;
}
@media (max-width: 768px) {
  .page-b-other {
    flex-direction: column;
    margin-top: 100px;
  }
}
.page-b-other-content {
  width: 50%;
}
@media (max-width: 768px) {
  .page-b-other-content {
    margin-top: 60px;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .page-b-other-content:first-child {
    margin-top: 0;
  }
}
.page-b-other-content-img {
  margin-top: 70px;
  padding: 0 45px;
}
@media (max-width: 560px) {
  .page-b-other-content-img {
    margin-top: 30px;
    padding: 0;
  }
}
.page-b-other-content-img a {
  display: block;
  height: 100%;
  width: 100%;
}
.page-b-other-content-textarea {
  margin-top: 40px;
  padding: 0 45px;
}
@media (max-width: 560px) {
  .page-b-other-content-textarea {
    margin-top: 25px;
    padding: 0 20px;
  }
}
.page-b-other h4 {
  font-size: 21px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 32px;
}
.page-b-other p {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 20px;
}

.page-b-quality {
  margin-top: 100px;
}
@media (max-width: 560px) {
  .page-b-quality {
    margin-bottom: 0;
  }
}
.page-b-quality-img {
  height: 43.9238653001vw;
  margin-right: calc(50% - 50vw);
  margin-top: 70px;
  padding-left: 45px;
  text-align: center;
}
@media (max-width: 560px) {
  .page-b-quality-img {
    padding-left: 0;
  }
}
.page-b-quality-img img {
  -o-object-fit: cover;
  height: 43.9238653001vw;
  object-fit: cover;
  vertical-align: top;
}
.page-b-quality__dec {
  background: #ededed;
  height: 100%;
  margin: -21.9619326501vw calc(50% - 50vw) 0;
  padding-bottom: 150px;
  padding-top: 21.9619326501vw;
  width: 100vw;
}
@media (max-width: 560px) {
  .page-b-quality__dec {
    padding-bottom: 50px;
  }
}
.page-b-quality__content-text {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 25px;
}
.page-b-quality__content-text.first {
  margin-top: 40px;
}
@media (max-width: 560px) {
  .page-b-quality__content-text.first {
    margin-top: 36px;
  }
}
.page-b-quality__content-text + span {
  color: #7e807c;
  display: inline-block;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 20px;
}
.page-b-quality__content-item {
  display: flex;
  height: 100vh;
  min-height: 100vh;
  position: relative;
  width: 100%;
}
@media (max-width: 560px) {
  .page-b-quality__content-item {
    flex-direction: column;
    height: auto;
    min-height: auto;
  }
}
.page-b-quality__content-item.customer {
  background: url("../img/quality-item-customer.webp") left center;
  background-attachment: fixed;
  background-position: auto center;
  background-repeat: no-repeat;
  background-size: center 100vh;
  justify-content: flex-end;
}
@media (max-width: 1120px) {
  .page-b-quality__content-item.customer {
    background-position: -30vw center;
    background-size: center 100vh;
  }
}
@media (max-width: 560px) {
  .page-b-quality__content-item.customer {
    background: none;
  }
}
@media (max-width: 560px) {
  .page-b-quality__content-item.customer::before {
    background: url("../img/quality-item-customer.webp") left center;
    background-position-y: 0;
    background-size: cover;
    content: "";
    display: block;
    height: 230px;
    width: 100%;
    z-index: -1;
  }
}
.page-b-quality__content-item.product {
  background: url("../img/quality-item-product.webp") left center;
  background-attachment: fixed;
  background-position: auto center;
  background-repeat: no-repeat;
  background-size: center 100vh;
  justify-content: flex-end;
}
@media (max-width: 1120px) {
  .page-b-quality__content-item.product {
    background-position: -30vw center;
  }
}
@media (max-width: 560px) {
  .page-b-quality__content-item.product {
    background: none;
  }
}
@media (max-width: 560px) {
  .page-b-quality__content-item.product::before {
    background: url("../img/quality-item-product.webp") left center;
    background-size: cover;
    content: "";
    display: block;
    height: 230px;
    width: 100%;
    z-index: -1;
  }
}
.page-b-quality__content-item.raw {
  background: url("../img/quality-item-raw.webp") left center;
  background-attachment: fixed;
  background-position: auto center;
  background-repeat: no-repeat;
  background-size: center 100vh;
  justify-content: flex-end;
}
@media (max-width: 1120px) {
  .page-b-quality__content-item.raw {
    background-position: -30vw center;
  }
}
@media (max-width: 560px) {
  .page-b-quality__content-item.raw {
    background: none;
  }
}
@media (max-width: 560px) {
  .page-b-quality__content-item.raw::before {
    background: url("../img/quality-item-raw.webp") left center;
    background-size: cover;
    content: "";
    display: block;
    height: 230px;
    width: 100%;
    z-index: -1;
  }
}
.page-b-quality__content-item.manu {
  background: url("../img/quality-item-manu.webp") left center;
  background-attachment: fixed;
  background-position: auto center;
  background-repeat: no-repeat;
  background-size: center 100vh;
  justify-content: flex-end;
}
@media (max-width: 1120px) {
  .page-b-quality__content-item.manu {
    background-position: -30vw center;
  }
}
@media (max-width: 560px) {
  .page-b-quality__content-item.manu {
    background: none;
  }
}
@media (max-width: 560px) {
  .page-b-quality__content-item.manu::before {
    background: url("../img/quality-item-manu.webp") left center;
    background-size: cover;
    content: "";
    display: block;
    height: 230px;
    width: 100%;
    z-index: -1;
  }
}
.page-b-quality__content-item.dis {
  background: url("../img/quality-item-dis.webp") left center;
  background-attachment: fixed;
  background-position: auto center;
  background-repeat: no-repeat;
  background-size: center 100vh;
  justify-content: flex-end;
}
@media (max-width: 1120px) {
  .page-b-quality__content-item.dis {
    background-position: -30vw center;
  }
}
@media (max-width: 560px) {
  .page-b-quality__content-item.dis {
    background: none;
  }
}
@media (max-width: 560px) {
  .page-b-quality__content-item.dis::before {
    background: url("../img/quality-item-dis.webp") left center;
    background-size: cover;
    content: "";
    display: block;
    height: 230px;
    width: 100%;
    z-index: -1;
  }
}
.page-b-quality__content-item-inner {
  display: flex;
  justify-content: flex-end;
}
.page-b-quality__content-item-explain {
  background: #fff;
  display: flex;
  flex-direction: column;
  height: 100vh;
  justify-content: center;
  padding-left: 142px;
  width: 50%;
}
@media (max-width: 1120px) {
  .page-b-quality__content-item-explain {
    padding-left: 90px;
    padding-right: 20px;
  }
}
@media (max-width: 768px) {
  .page-b-quality__content-item-explain {
    padding-left: 45px;
  }
}
@media (max-width: 560px) {
  .page-b-quality__content-item-explain {
    height: auto;
    margin: 0 calc(50% - 50vw);
    padding: 30px 20px 50px 20px;
    width: 100vw;
  }
}
.page-b-quality__content-item-explain span {
  color: #7e807c;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 20px;
}
.page-b-quality__content-item-explain h4 {
  color: #0f0f0f;
  font-size: 28px;
  font-weight: bold;
  line-height: 35px;
  margin-top: 16px;
}
.page-b-quality__content-item-explain p {
  color: #0f0f0f;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 32px;
  margin-top: 40px;
}
.page-b-quality__content-circle-list {
  margin: 0 calc(50% - 50vw);
  position: relative;
  width: 100vw;
}
@media (max-width: 365px) {
  .page-b-quality__content-circle-list {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}
.page-b-quality__content-circle-list h4 {
  border-bottom: 2px solid #0f0f0f;
  font-size: 21px;
  font-weight: bold;
  left: 50%;
  letter-spacing: 0.05em;
  line-height: 32px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 768px) {
  .page-b-quality__content-circle-list h4 {
    font-size: 13px;
  }
}
.page-b-quality__content-circle-list ul {
  height: 645px;
  margin: 0 auto;
  position: relative;
  width: 690px;
}
@media (max-width: 768px) {
  .page-b-quality__content-circle-list ul {
    height: 320px;
    margin: 50px auto 0;
    position: relative;
    width: 345px;
  }
}
@media (max-width: 365px) {
  .page-b-quality__content-circle-list ul {
    height: 284px;
    margin: 50px auto 0;
    position: relative;
    width: 300px;
  }
}
.page-b-quality__content-circle-list ul li {
  align-items: center;
  background: #191919;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  height: 192px;
  justify-content: center;
  position: absolute;
  width: 192px;
}
@media (max-width: 768px) {
  .page-b-quality__content-circle-list ul li {
    height: 96px;
    width: 96px;
  }
}
@media (max-width: 365px) {
  .page-b-quality__content-circle-list ul li {
    height: 86px;
    width: 86px;
  }
}
.page-b-quality__content-circle-list ul li:nth-child(1)::after {
  background: url("../img/quality-arrow01.png");
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  height: 77.39px;
  position: absolute;
  right: -88px;
  width: 90px;
}
@media (max-width: 768px) {
  .page-b-quality__content-circle-list ul li:nth-child(1)::after {
    background: url("../img/quality-arrow-sp.png");
    bottom: 6px;
    height: 39px;
    right: -47px;
    width: 47px;
  }
}
@media (max-width: 365px) {
  .page-b-quality__content-circle-list ul li:nth-child(1)::after {
    background: url("../img/quality-arrow-xs-sp.png");
    bottom: 3px;
    height: 31px;
    right: -39px;
    width: 37px;
  }
}
.page-b-quality__content-circle-list ul li:nth-child(2)::after {
  background: url("../img/quality-arrow01.png");
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -93px;
  content: "";
  height: 77.39px;
  position: absolute;
  position: absolute;
  position: absolute;
  right: 70px;
  transform: rotate(69deg);
  width: 90px;
}
@media (max-width: 768px) {
  .page-b-quality__content-circle-list ul li:nth-child(2)::after {
    background: url("../img/quality-arrow-sp.png");
    bottom: -48px;
    height: 39px;
    right: 26px;
    width: 47px;
  }
}
@media (max-width: 365px) {
  .page-b-quality__content-circle-list ul li:nth-child(2)::after {
    background: url("../img/quality-arrow-xs-sp.png");
    bottom: -41px;
    height: 31px;
    right: 28px;
    width: 37px;
  }
}
.page-b-quality__content-circle-list ul li:nth-child(3)::after {
  background: url("../img/quality-arrow01.png");
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 20px;
  content: "";
  height: 77.39px;
  position: absolute;
  right: 200px;
  transform: rotate(139deg);
  width: 90px;
}
@media (max-width: 768px) {
  .page-b-quality__content-circle-list ul li:nth-child(3)::after {
    background: url("../img/quality-arrow-sp.png");
    bottom: 9px;
    height: 39px;
    right: 98px;
    width: 47px;
  }
}
@media (max-width: 365px) {
  .page-b-quality__content-circle-list ul li:nth-child(3)::after {
    background: url("../img/quality-arrow-xs-sp.png");
    bottom: 9px;
    height: 31px;
    right: 90px;
    transform: rotate(139deg);
    width: 37px;
  }
}
.page-b-quality__content-circle-list ul li:nth-child(4)::after {
  background: url("../img/quality-arrow01.png");
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 188px;
  content: "";
  height: 77.39px;
  position: absolute;
  right: 130px;
  transform: rotate(211deg);
  width: 90px;
}
@media (max-width: 768px) {
  .page-b-quality__content-circle-list ul li:nth-child(4)::after {
    background: url("../img/quality-arrow-sp.png");
    bottom: 92px;
    height: 39px;
    right: 68px;
    width: 47px;
  }
}
@media (max-width: 365px) {
  .page-b-quality__content-circle-list ul li:nth-child(4)::after {
    background: url("../img/quality-arrow-xs-sp.png");
    bottom: 85px;
    height: 31px;
    right: 64px;
    width: 37px;
  }
}
.page-b-quality__content-circle-list ul li:nth-child(5)::after {
  background: url("../img/quality-arrow01.png");
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 178px;
  content: "";
  height: 77.39px;
  position: absolute;
  right: -49px;
  transform: rotate(280deg);
  width: 90px;
}
@media (max-width: 768px) {
  .page-b-quality__content-circle-list ul li:nth-child(5)::after {
    background: url("../img/quality-arrow-sp.png");
    bottom: 92px;
    height: 39px;
    right: -21px;
    width: 47px;
  }
}
@media (max-width: 365px) {
  .page-b-quality__content-circle-list ul li:nth-child(5)::after {
    background: url("../img/quality-arrow-xs-sp.png");
    bottom: 82px;
    height: 31px;
    right: -17px;
    transform: rotate(281deg);
    width: 37px;
  }
}
.page-b-quality__content-circle-list ul li .sub-title {
  color: #7e807c;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 20px;
  text-align: center;
}
@media (max-width: 768px) {
  .page-b-quality__content-circle-list ul li .sub-title {
    display: block;
    font-size: 10px;
    line-height: 10px;
    transform: scale(0.8);
  }
}
@media (max-width: 365px) {
  .page-b-quality__content-circle-list ul li .sub-title {
    display: block;
    font-size: 10px;
    line-height: 10px;
    transform: scale(0.7);
  }
}
.page-b-quality__content-circle-list ul li .title {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 20px;
  margin-top: 10px;
  text-align: center;
}
@media (max-width: 768px) {
  .page-b-quality__content-circle-list ul li .title {
    font-size: 11px;
    line-height: 11px;
    margin-top: 7px;
  }
}
@media (max-width: 365px) {
  .page-b-quality__content-circle-list ul li .title {
    margin-top: 4px;
  }
}
.page-b-quality__content-circle-list ul li .more {
  border-bottom: 1px solid #afafaf;
  color: #afafaf;
  display: inline-block;
  font-weight: 500;
  line-height: 20px;
  margin-top: 33px;
  padding: 0 18px 5px 0;
  position: relative;
}
@media (max-width: 768px) {
  .page-b-quality__content-circle-list ul li .more {
    font-size: 9px;
    margin-top: 8px;
    padding: 0 18px 0 0;
  }
}
@media (max-width: 365px) {
  .page-b-quality__content-circle-list ul li .more {
    display: block;
    margin-top: 4px;
    transform: scale(0.9);
  }
}
.page-b-quality__content-circle-list ul li .more::after {
  border: 6px solid transparent;
  border-top: 6px solid #afafaf;
  content: "";
  position: absolute;
  right: 0;
  top: 8px;
}
.page-b-quality__content-circle-list-other {
  background: #fff;
  display: flex;
  justify-content: space-between;
  margin-top: 51px;
  padding: 20px 40px 20px;
}
@media (max-width: 560px) {
  .page-b-quality__content-circle-list-other {
    padding: 20px;
  }
}
.page-b-quality__content-circle-list-other-img {
  width: 69px;
}
.page-b-quality__content-circle-list-other-explain {
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 25px;
  width: calc(100% - 69px - 29px);
}
@media (max-width: 560px) {
  .page-b-quality__content-circle-list-other-explain {
    font-size: 12px;
    line-height: 20px;
  }
}
.page-b-quality__content-circle-list-other-explain-link {
  text-align: right;
}
.page-b-quality__content-circle-list-other-explain-link span.link {
  border-bottom: 1px solid #211308;
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  margin-left: 40px;
  margin-top: 20px;
  padding-bottom: 5px;
  padding-right: 20px;
  position: relative;
  text-align: right;
}
.page-b-quality__content-circle-list-other-explain-link span.link:first-child {
  margin-left: 0px;
}
.page-b-quality__content-circle-list-other-explain-link span.link::after {
  background: url("../img/icon-link.png") no-repeat center;
  background-size: cover;
  content: "";
  height: 10px;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
}
@media (max-width: 560px) {
  .page-b-quality__content-circle-list-other-explain-link span.link::after {
    height: 8px;
    width: 11px;
  }
}
.page-b-quality__content-food-safety-policy {
  display: flex;
  justify-content: space-between;
  margin-top: 150px;
  padding-left: 45px;
}
@media (max-width: 768px) {
  .page-b-quality__content-food-safety-policy {
    border-top: 1px solid #d1d1d1;
    flex-direction: column;
    margin-top: 20px;
    padding-left: 0;
    padding-top: 70px;
  }
}
.page-b-quality__content-food-safety-policy h4 {
  font-size: 35px;
  line-height: 47px;
}
@media (max-width: 768px) {
  .page-b-quality__content-food-safety-policy h4 {
    line-height: 40px;
  }
}
.page-b-quality__content-food-safety-policy span {
  color: #7e807c;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 25px;
}
.page-b-quality__content-food-safety-policy-title {
  margin-right: 20px;
  width: 260px;
}
@media (max-width: 768px) {
  .page-b-quality__content-food-safety-policy-title {
    margin-right: 0;
    width: 100%;
  }
}
.page-b-quality__content-food-safety-policy-explain {
  margin-left: 20px;
  max-width: 630px;
  width: calc(100% - 260px);
}
@media (max-width: 768px) {
  .page-b-quality__content-food-safety-policy-explain {
    margin-left: 0;
    margin-top: 41px;
    padding: 0 30px;
    width: 100%;
  }
}
.page-b-quality__content-food-safety-policy-explain ol {
  margin-left: 2em;
}
.page-b-quality__content-food-safety-policy-explain ol li {
  color: #0f0f0f;
  counter-increment: cnt;
  font-size: 18px;
  font-weight: 400px;
  letter-spacing: 0.05em;
  line-height: 32px;
  list-style-type: none;
  margin-top: 21px;
  position: relative;
}
.page-b-quality__content-food-safety-policy-explain ol li:first-child {
  margin-top: 0;
}
@media (max-width: 560px) {
  .page-b-quality__content-food-safety-policy-explain ol li {
    font-size: 15px;
  }
}
.page-b-quality__content-food-safety-policy-explain ol li:before {
  color: #7e807c;
  content: "0" counter(cnt) ".";
  display: inline-block;
  left: 0;
  margin-left: -3.5em;
  position: absolute;
  text-align: right;
  top: 0;
  width: 3em;
}

/*---
記事ページ・一覧用　トップページは /module フォルダ参照
---*/
.page-news-top {
  display: flex;
  flex-wrap: wrap;
  margin-top: 71px;
}
.page-news-top .news-category {
  border-radius: 10px;
}
.page-news-top__item {
  margin-bottom: 50px;
  margin-left: 15px;
  width: calc((100% - 30px) / 3);
}
@media (max-width: 768px) {
  .page-news-top__item {
    width: calc((100% - 15px) / 2);
  }
}
.page-news-top__item:nth-child(3n+1) {
  margin-left: 0;
}
@media (max-width: 768px) {
  .page-news-top__item:nth-child(3n+1) {
    margin-left: 15px;
  }
}
@media (max-width: 768px) {
  .page-news-top__item:nth-child(2n+1) {
    margin-left: 0;
  }
}
.page-news-top__item figure {
  margin: 0 auto;
  overflow: hidden;
}
.page-news-top__item figure img {
  transition: 1s all;
}
.page-news-top__item figure img:hover {
  transform: scale(1.3, 1.3);
  transition: 1s all;
}

.page-news__pagination {
  border-top: 1px solid #252525;
  padding-top: 50px;
}
.page-news__pagination .nav-links {
  align-items: center;
  display: flex;
  justify-content: center;
}
.page-news__pagination .nav-links span.current {
  background: #0f0f0f;
  border-radius: 50%;
  color: #fff;
  display: inline-block;
  height: 45px;
  justify-content: center;
  line-height: 45px;
  text-align: center;
  vertical-align: middle;
  width: 45px;
}
.page-news__pagination .nav-links .page-numbers {
  display: inline-block;
  margin-right: 25px;
}
.page-news__pagination .nav-links .page-numbers:nth-last-child(1) {
  margin-right: 0;
}
.page-news__pagination .nav-links .page-numbers.prev {
  margin-right: 30px;
}
.page-news__pagination .nav-links .page-numbers.next {
  margin-right: 0;
}
.page-news__pagination .nav-links .page-numbers .view-more-btn--news-reverse {
  margin-left: 0;
}
.page-news__pagination .nav-links .page-numbers .view-more-btn--news {
  margin-left: 0;
  margin-right: 0;
}

.news-single {
  margin-bottom: 80px;
  margin-top: 12px;
}
@media (max-width: 560px) {
  .news-single {
    margin-bottom: 50px;
    margin-top: 0;
  }
}
.news-single__meta {
  align-items: center;
  display: flex;
  justify-content: flex-start;
}
.news-single__meta p {
  border-radius: 10px;
  margin-left: 20px;
}
.news-single__content {
  margin-top: 54px;
  overflow: hidden;
}
.news-single__content h2 {
  --min-size: 21;
  --max-size: 35;
  display: flex;
  font-size: 35px;
  font-size: var(--clamp-size);
  font-weight: bold;
  letter-spacing: -0.01em;
  line-height: 46px;
  margin-bottom: 32px;
  margin-top: 70px;
  position: relative;
}
@media (max-width: 560px) {
  .news-single__content h2 {
    letter-spacing: 0.05em;
    line-height: 32px;
    margin-top: 40px;
  }
}
.news-single__content h3 {
  --min-size: 16;
  --max-size: 28;
  border-bottom: 1px solid #7e807c;
  font-size: var(--clamp-size);
  font-weight: bold;
  line-height: 42px;
  margin-bottom: 40px;
  margin-top: 80px;
  padding-bottom: 20px;
}
.news-single__content h4 {
  --min-size: 14;
  --max-size: 21;
  font-size: var(--clamp-size);
  font-weight: bold;
  margin-bottom: 20px;
  margin-top: 40px;
}
.news-single__content p {
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 12px;
}
.news-single__content .comments {
  color: #7e807c;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 20px;
}
.news-single__content a {
  text-decoration: underline;
}
.news-single__content blockquote {
  background: #ededed;
  margin-top: 20px;
  padding: 30px;
}
.news-single__content blockquote p {
  margin: 0;
}
.news-single__content ul {
  margin-top: 20px;
}
.news-single__content ul li {
  list-style-type: disc;
  margin-left: 2em;
}
.news-single__content ol {
  margin-top: 20px;
}
.news-single__content ol li {
  counter-increment: cnt;
  list-style-type: none;
  margin-left: 2em;
  position: relative;
}
.news-single__content ol li:before {
  content: "0" counter(cnt) ".";
  display: inline-block;
  left: 0;
  margin-left: -1.5em;
  position: absolute;
  text-align: right;
  top: 0;
  width: 1em;
}
.news-single__content figure {
  margin: 80px auto 40px;
  overflow: hidden;
}
.news-single__content figure a img {
  transition: 1s all;
}
.news-single__content figure a img:hover {
  transform: scale(1.3, 1.3);
  transition: 1s all;
}
@media (max-width: 560px) {
  .news-single__content {
    margin-top: 50px;
  }
}
.news-single__title {
  --min-size: 21;
  --max-size: 36;
  font-size: var(--clamp-size);
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 50px;
  margin-top: 40px;
}
@media (max-width: 560px) {
  .news-single__title {
    letter-spacing: 0.05em;
    line-height: 32px;
    margin-top: 20px;
  }
}
.news-single__thumbnail {
  margin: 0 auto;
  margin-top: 76px;
  overflow: hidden;
}
@media (max-width: 560px) {
  .news-single__thumbnail {
    margin: 40px calc(50% - 50vw);
    width: 100vw;
  }
}
.news-single__pagination {
  align-items: center;
  border-top: 1px solid #252525;
  display: flex;
  justify-content: space-between;
  padding-top: 50px;
}
.news-single__pagination-left a {
  align-items: center;
  display: flex;
}
@media (max-width: 560px) {
  .news-single__pagination-left p {
    display: none;
  }
}
.news-single__pagination-right a {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
}
@media (max-width: 560px) {
  .news-single__pagination-right p {
    display: none;
  }
}
.news-single__pagination-center {
  text-align: center;
}
.news-single__pagination-center p {
  color: #0f0f0f;
  font-size: 35px;
  line-height: 37px;
}
.news-single__pagination-center span {
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 20px;
  margin-top: 10px;
}

.wp-block-read-more {
  background-color: #ededed;
  color: #0f0f0f;
  display: block;
  font-size: 15px;
  font-weight: 500;
  margin: 0 auto;
  padding: 18px 29px 17px 30px;
  position: relative;
}
.wp-block-read-more::before {
  border-bottom: 1px dashed #0f0f0f;
  content: "";
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  width: 385px;
  z-index: -1;
}
.wp-block-read-more::after {
  border-bottom: 1px dashed #0f0f0f;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 385px;
  z-index: -1;
}

.page-recruit__text {
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 80px;
  margin-top: 80px;
}
.page-recruit__text-sub {
  color: #7e807c;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 20px;
  margin-top: 15px;
}
.page-recruit__content-wrapper {
  background: #f0f0f0;
  margin-top: 30px;
  padding: 50px;
}
@media (max-width: 768px) {
  .page-recruit__content-wrapper {
    padding: 40px 20px;
  }
}
.page-recruit__content-item {
  background: #fff;
  margin-top: 20px;
  padding: 40px 20px;
}
@media (max-width: 560px) {
  .page-recruit__content-item {
    flex-direction: column;
    padding: 28px 20px;
  }
}
.page-recruit__content-item:first-child {
  margin-top: 0;
  padding: 28px 20px 27px;
}
.page-recruit__content-item-meta {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.page-recruit__content-item-meta-btn {
  -webkit-animation: appear 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  align-items: center;
  animation: appear 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  background: #fff;
  border: 1px solid #0f0f0f;
  border-radius: 50%;
  display: flex;
  height: 45px;
  justify-content: center;
  position: relative;
  width: 45px;
}
.page-recruit__content-item-meta-btn span {
  background: #0f0f0f;
  height: 1px;
  position: relative;
  position: absolute;
  width: 12px;
}
.page-recruit__content-item-meta-btn span::before {
  background: #0f0f0f;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: rotate(90deg) translate(calc(-50% + 5px), calc(-50% + 6px));
  width: 12px;
}
.page-recruit__content-item-meta-btn.is-open {
  -webkit-animation: appear 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  animation: appear 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  background: #0f0f0f;
  border-radius: 50%;
  height: 45px;
  position: relative;
  width: 45px;
}
.page-recruit__content-item-meta-btn.is-open span {
  background: #fff;
  height: 1px;
  width: 12px;
}
.page-recruit__content-item-meta-btn.is-open span::before {
  content: none;
}
@-webkit-keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.page-recruit__content-item-title {
  --min-size: 15;
  --max-size: 21;
  font-size: var(--clamp-size);
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media (max-width: 560px) {
  .page-recruit__content-item-title {
    width: calc(100% - 20px - 45px);
  }
}
.page-recruit__content-item-detail {
  -webkit-animation: appear 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  animation: appear 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  display: none;
}
.page-recruit__content-item-detail.is-open {
  -webkit-animation: appear 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  animation: appear 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  display: block;
}
@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes appear {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.page-recruit__content-item-detail table {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 30px;
  width: 100%;
}
.page-recruit__content-item-detail table tr {
  display: flex;
  justify-content: space-between;
  padding-left: 40px;
}
@media (max-width: 768px) {
  .page-recruit__content-item-detail table tr {
    flex-direction: column;
    padding-left: 0;
  }
}
@media (max-width: 768px) {
  .page-recruit__content-item-detail table tr:nth-child(1) th {
    padding-top: 0;
  }
}
.page-recruit__content-item-detail table tr th {
  border-bottom: 1px solid #ededed;
  padding: 40px 0;
  width: 200px;
}
@media (max-width: 1120px) {
  .page-recruit__content-item-detail table tr th {
    width: 140px;
  }
}
@media (max-width: 768px) {
  .page-recruit__content-item-detail table tr th {
    border-bottom: none;
    padding: 30px 0 20px;
    width: 100%;
  }
}
.page-recruit__content-item-detail table tr td {
  border-bottom: 1px solid #ededed;
  padding: 40px 0;
  width: calc(100% - 200px - 20px);
}
@media (max-width: 1120px) {
  .page-recruit__content-item-detail table tr td {
    width: calc(100% - 140px - 20px);
  }
}
@media (max-width: 768px) {
  .page-recruit__content-item-detail table tr td {
    padding: 0 0 30px 0;
    width: 100%;
  }
}
.page-recruit__content-item-detail table tr td.last {
  border-bottom: none;
  margin-bottom: 20px;
  margin-top: 30px;
  padding: 0;
  width: 100%;
}

.page-privacy__explain {
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 80px;
}
.page-privacy table {
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 40px;
  width: 100%;
}
.page-privacy table tr {
  border-bottom: 1px solid #ededed;
}
@media (max-width: 768px) {
  .page-privacy table tr {
    display: flex;
    flex-direction: column;
  }
}
.page-privacy table tr th {
  padding: 30px 60px 30px 0;
  width: 300px;
}
@media (max-width: 768px) {
  .page-privacy table tr th {
    padding: 30px 0 0;
    width: 100%;
  }
}
.page-privacy table tr td {
  padding: 30px 0;
  width: calc(100% - 360px);
}
@media (max-width: 768px) {
  .page-privacy table tr td {
    padding: 20px 0 30px;
    width: 100%;
  }
}
.page-privacy table tr td ul {
  margin: 10px 0;
}

.page-contact__explain {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 80px;
}
.page-contact__explain--attention {
  font-size: 21px;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 80px;
}
.page-contact__form-area {
  margin-top: 77px;
}
.page-contact__form-area-item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
  position: relative;
}
@media (max-width: 768px) {
  .page-contact__form-area-item {
    flex-direction: column;
    margin-bottom: 0;
  }
}
.page-contact__form-area-item label {
  display: block;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 23px;
  min-width: 200px;
  width: 200px;
}
@media (max-width: 768px) {
  .page-contact__form-area-item label {
    width: 100%;
  }
}
.page-contact__form-area-item div.wrap {
  font-size: 14px;
  line-height: 1;
  max-width: 538px;
  width: 39.3850658858vw;
}
@media (max-width: 1120px) {
  .page-contact__form-area-item div.wrap {
    width: 48.0357142857vw;
  }
}
@media (max-width: 768px) {
  .page-contact__form-area-item div.wrap {
    margin-top: 20px;
    max-width: 100%;
    width: 100%;
  }
}
.page-contact__form-area-item div.wrap input,
.page-contact__form-area-item div.wrap textarea {
  background: #f0f0f0;
  border: 1px solid #b7b7b7;
  display: block;
  max-width: 538px;
  padding: 23px 20px;
  width: 39.3850658858vw;
}
@media (max-width: 1120px) {
  .page-contact__form-area-item div.wrap input,
.page-contact__form-area-item div.wrap textarea {
    width: 48.0357142857vw;
  }
}
@media (max-width: 768px) {
  .page-contact__form-area-item div.wrap input,
.page-contact__form-area-item div.wrap textarea {
    max-width: 100%;
    width: 100%;
  }
}
.page-contact__form-area-item div.wrap input:focus,
.page-contact__form-area-item div.wrap textarea:focus {
  /*フォーカスした時に枠線を太く濃く*/
  border: solid 2px #666;
  /*フォーカスした時に影をつける*/
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.4);
}
.page-contact__form-area-item ::-moz-placeholder {
  color: #9f9f9f;
}
.page-contact__form-area-item :-ms-input-placeholder {
  color: #9f9f9f;
}
.page-contact__form-area-item ::placeholder {
  color: #9f9f9f;
}
.page-contact__form-area-item .error {
  bottom: 0;
  color: #b70000;
  display: block;
  font-size: 93%;
  left: 0;
  position: absolute;
}
@media (max-width: 768px) {
  .page-contact__form-area-item .error {
    bottom: initial;
    top: 50px;
  }
}
.page-contact__form-area-item-select-wrap {
  display: flex;
  max-width: 538px;
  width: 39.3850658858vw;
}
@media (max-width: 1120px) {
  .page-contact__form-area-item-select-wrap {
    width: 48.0357142857vw;
  }
}
@media (max-width: 768px) {
  .page-contact__form-area-item-select-wrap {
    margin-top: 20px;
    max-width: 100%;
    width: 100%;
  }
}
.page-contact__form-area-item-select-wrap div {
  position: relative;
  width: 270px;
}
@media (max-width: 768px) {
  .page-contact__form-area-item-select-wrap div {
    width: 100%;
  }
}
.page-contact__form-area-item-select-wrap div select {
  background: #f0f0f0;
  border: 1px solid #b7b7b7;
  font-size: 14px;
  line-height: 1;
  padding: 23px 20px;
  width: 270px;
}
@media (max-width: 768px) {
  .page-contact__form-area-item-select-wrap div select {
    width: 100%;
  }
}
.page-contact__form-area-item-select-wrap div select:focus {
  /*フォーカスした時に枠線を太く濃く*/
  border: solid 2px #666;
  /*フォーカスした時に影をつける*/
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.4);
}
.page-contact__form-area-item-select-wrap div::after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4.5px solid #0f0f0f;
  content: "";
  position: absolute;
  right: 9px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
}
.page-contact__form-area-bottom {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  margin-top: 40px;
}
.page-contact__form-area-bottom-agree {
  border-top: 1px solid #252525;
  max-width: 538px;
  padding: 30px 0 40px;
  text-align: center;
  width: 39.3850658858vw;
}
@media (max-width: 1120px) {
  .page-contact__form-area-bottom-agree {
    width: 48.0357142857vw;
  }
}
@media (max-width: 768px) {
  .page-contact__form-area-bottom-agree {
    max-width: 100%;
    width: 100%;
  }
}
.page-contact__form-area-bottom-agree a {
  border-bottom: 1px solid #e52222;
  color: #e52222;
}
.page-contact__form-area-bottom-button {
  max-width: 538px;
  width: 39.3850658858vw;
}
@media (max-width: 1120px) {
  .page-contact__form-area-bottom-button {
    width: 48.0357142857vw;
  }
}
@media (max-width: 768px) {
  .page-contact__form-area-bottom-button {
    max-width: 100%;
    width: 100%;
  }
}
.page-contact__form-area-bottom-button input {
  background: #0f0f0f;
  color: #fff;
  max-width: 538px;
  padding: 35px;
  text-align: center;
  transition: 0.3s ease-in-out;
  width: 39.3850658858vw;
}
@media (max-width: 1120px) {
  .page-contact__form-area-bottom-button input {
    width: 48.0357142857vw;
  }
}
@media (max-width: 768px) {
  .page-contact__form-area-bottom-button input {
    max-width: 100%;
    width: 100%;
  }
}
.page-contact__form-area-bottom-button input:hover {
  opacity: 0.8;
  transition: 0.3s ease-in-out;
}

.mw_wp_form_preview .page-contact__form-area-item {
  align-items: center;
  border-bottom: 1px solid #0f0f0f;
}
@media (max-width: 768px) {
  .mw_wp_form_preview .page-contact__form-area-item {
    width: 100%;
  }
}
.mw_wp_form_preview .page-contact__form-area-item .wrap {
  color: #0f0f0f;
  display: block;
  max-width: 538px;
  padding: 23px 20px;
  width: 39.3850658858vw;
}
@media (max-width: 768px) {
  .mw_wp_form_preview .page-contact__form-area-item .wrap {
    padding: 0 20px 23px;
    width: 100%;
  }
}
.mw_wp_form_preview .page-contact__form-area-item label {
  margin-top: 0;
}
@media (max-width: 768px) {
  .mw_wp_form_preview .page-contact__form-area-item label {
    margin-top: 23px;
  }
}
.mw_wp_form_preview .page-contact__form-area-item-select-wrap {
  width: 39.3850658858vw;
}
@media (max-width: 768px) {
  .mw_wp_form_preview .page-contact__form-area-item-select-wrap {
    width: 100%;
  }
}
.mw_wp_form_preview .page-contact__form-area-item-select-wrap div {
  color: #0f0f0f;
  font-size: 14px;
  line-height: 1;
  padding: 23px 20px;
  width: 270px;
}
@media (max-width: 768px) {
  .mw_wp_form_preview .page-contact__form-area-item-select-wrap div {
    padding: 0 20px 23px;
    width: 100%;
  }
}
.mw_wp_form_preview .page-contact__form-area-item-select-wrap div::after {
  display: none;
}
.mw_wp_form_preview .page-contact__form-area-bottom {
  align-items: center;
}
.mw_wp_form_preview .page-contact__form-area-bottom-button {
  display: flex;
  justify-content: space-between;
  max-width: 538px;
}
@media (max-width: 768px) {
  .mw_wp_form_preview .page-contact__form-area-bottom-button {
    width: 100%;
  }
}
.mw_wp_form_preview .page-contact__form-area-bottom-button input {
  background: #0f0f0f;
  color: #fff;
  display: flex;
  justify-content: center;
  max-width: 50%;
  padding: 35px;
  transition: all 0.3s;
  width: calc(50% - 20px);
}
.mw_wp_form_preview .page-contact__form-area-bottom-button input.back {
  background: #7e807c;
}
.mw_wp_form_preview .page-contact__form-area-bottom-button input:hover {
  opacity: 0.8;
}
@media (max-width: 768px) {
  .mw_wp_form_preview .page-contact__form-area-bottom-button {
    max-width: 100%;
    width: 100%;
  }
}
.mw_wp_form_preview .page-contact__form-area-bottom-agree {
  border-top: none;
}

.page-404__explain {
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 80px;
}
.page-404__btn-area {
  margin: 80px 0 50px;
}
@media (max-width: 560px) {
  .page-404__btn-area {
    margin: 80px 40px 50px;
  }
}

.hero {
  height: 770px;
  position: relative;
  width: 100%;
}
@media (max-width: 560px) {
  .hero {
    height: calc(100vw - 20px + 190px);
  }
}
.hero__content {
  height: auto;
  margin-left: 11.42vw;
  position: absolute;
  right: 0;
  top: 0;
  width: 78.11vw;
}
@media (max-width: 560px) {
  .hero__content {
    left: 20px;
    margin-left: 0;
    top: 0;
    width: calc(100vw - 20px);
  }
}
.hero__content-image {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background: url("../img/hero-image.webp") no-repeat center center;
  background-size: cover;
  height: 750px;
  position: relative;
  visibility: hidden;
  width: 78.11vw;
}
@media (max-width: 560px) {
  .hero__content-image {
    height: 500px;
    height: calc(100vw - 20px);
    width: calc(100vw - 20px);
  }
}
.hero__content-cookie {
  -webkit-animation-name: anime-cookie;
  -webkit-animation-duration: 1.3s;
  -webkit-animation-delay: 2s;
  -webkit-animation-fill-mode: forwards;
  animation-delay: 2s;
  animation-duration: 1.3s;
  animation-fill-mode: forwards;
  animation-name: anime-cookie;
  background: #7e807c;
  bottom: 0;
  color: #fff;
  display: none;
  opacity: 0;
  position: fixed;
  right: 0;
  width: 337px;
  z-index: 10;
}
@-webkit-keyframes anime-cookie {
  0% {
    background: #7e807c;
    opacity: 0;
  }
  90% {
    background: #7e807c;
    opacity: 1;
  }
  100% {
    background: #7e807c;
    opacity: 1;
  }
}
@keyframes anime-cookie {
  0% {
    background: #7e807c;
    opacity: 0;
  }
  90% {
    background: #7e807c;
    opacity: 1;
  }
  100% {
    background: #7e807c;
    opacity: 1;
  }
}
.hero__content-cookie-inner {
  height: 100%;
  height: 100%;
  padding: 35px 40px 40px 39px;
  position: relative;
}
.hero__content-cookie span {
  font-size: 14px;
  line-height: 20px;
}
.hero__content-cookie p {
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 20px;
  margin-top: 10px;
}
.hero__content-cookie-btn {
  height: 20px;
  position: absolute;
  right: 10px;
  top: 10px;
  width: 20px;
  z-index: 30;
}
.hero .br_sp {
  display: none;
}
@media (max-width: 560px) {
  .hero .br_sp {
    display: block;
  }
}
.hero .br_pc {
  display: block;
}
@media (max-width: 768px) {
  .hero .br_pc {
    display: none;
  }
}
.hero a {
  -ms-writing-mode: tb-lr;
  align-items: center;
  bottom: 20px;
  color: #7e807c;
  display: inline-block;
  display: flex;
  font-size: 11px;
  left: 25px;
  letter-spacing: 0.2em;
  line-height: 14px;
  overflow: hidden;
  padding: 10px 10px 220px;
  position: absolute;
  text-decoration: none;
  text-transform: uppercase;
  writing-mode: vertical-lr;
  z-index: 2;
}
@media (max-width: 768px) {
  .hero a {
    display: none;
  }
}
.hero a::after {
  background: #fff;
  bottom: 0;
  content: "";
  height: 200px;
  left: 50%;
  position: absolute;
  width: 1px;
}
.hero a::before {
  background: #7e807c;
  bottom: 0;
  content: "";
  height: 200px;
  left: 50%;
  position: absolute;
  width: 1px;
}
.hero a::after {
  -webkit-animation: sdl 2.3s cubic-bezier(1, 0, 0, 1) infinite;
  animation: sdl 2.3s cubic-bezier(1, 0, 0, 1) infinite;
}
@-webkit-keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.hero__ttl {
  height: 17.5vw;
  left: -11.42vw;
  max-height: 210px;
  position: absolute;
  top: 280px;
  z-index: 1;
}
@media (max-width: 560px) {
  .hero__ttl {
    bottom: 0;
    height: 120px;
    left: 0;
    top: 107%;
  }
}
.hero__ttl-inner {
  height: 100%;
  position: relative;
  width: 100%;
}
.hero__ttl-inner-content {
  height: 100%;
  position: relative;
  width: 100%;
}
.hero__ttl-main {
  --min-size: 40;
  --max-size: 90;
  font-size: var(--clamp-size);
  height: 100%;
  position: relative;
  width: 100%;
}
@media (max-width: 560px) {
  .hero__ttl-main {
    line-height: 45px;
  }
}
.hero__ttl-main-black {
  color: #0f0f0f;
  width: 11.42vw;
}
@media (max-width: 560px) {
  .hero__ttl-main-black {
    width: 100%;
  }
}
.hero__ttl-main-white {
  color: #fff;
  margin-left: 11.42vw;
  width: 100%;
}
@media (max-width: 560px) {
  .hero__ttl-main-white {
    display: none;
  }
}
.hero__ttl-main-black, .hero__ttl-main-white {
  height: 17.5vw;
  margin: 0;
  max-height: 210px;
  overflow: hidden;
  position: absolute;
  top: 0;
}
@media (max-width: 768px) {
  .hero__ttl-main-black, .hero__ttl-main-white {
    height: 19.53125vw;
  }
}
@media (max-width: 560px) {
  .hero__ttl-main-black, .hero__ttl-main-white {
    overflow: initial;
  }
}
.hero__ttl-main-black-text, .hero__ttl-main-white-text {
  display: block;
  opacity: 0;
  position: absolute;
}
.hero__ttl-main-black-text span, .hero__ttl-main-white-text span {
  opacity: 0;
  transition: 0.8s ease-in-out;
}
.hero__ttl-main-black-text span:nth-child(14)::before, .hero__ttl-main-white-text span:nth-child(14)::before {
  content: "\a";
  white-space: pre;
}
.hero__ttl-main-black-text {
  width: 700%;
}
@media (max-width: 560px) {
  .hero__ttl-main-black-text {
    width: 100%;
  }
}
.hero__ttl-main-white-text {
  width: 100%;
}
.hero__ttl-sub {
  --min-size: 14;
  --max-size: 21;
  bottom: -75px;
  color: #7e807c;
  font-size: var(--clamp-size);
  letter-spacing: 0.05em;
  line-height: 32px;
  position: absolute;
}
@media (max-width: 1120px) {
  .hero__ttl-sub {
    bottom: -70px;
  }
}
@media (max-width: 560px) {
  .hero__ttl-sub {
    bottom: -10px;
  }
}

.news {
  margin-top: 150px;
}
@media (max-width: 560px) {
  .news {
    margin-top: 65px;
  }
}
.news-meta {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
@media (max-width: 560px) {
  .news-meta {
    margin-top: 10px;
  }
}
.news-time {
  color: #7e807c;
  font-size: 14px;
}
@media (max-width: 560px) {
  .news-time {
    font-size: 12px;
  }
}
.news-category {
  border: 1px solid #7e807c;
  color: #7e807c;
  font-size: 11px;
  line-height: 1;
  padding: 3px 7px;
}
@media (max-width: 560px) {
  .news-category {
    font-size: 10px;
  }
}
.news-title {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 20px;
}
@media (max-width: 560px) {
  .news-title {
    margin-top: 15px;
  }
}
.news__layout {
  height: auto;
  margin-left: 10.47vw;
  position: relative;
  /* width: 89.53vw; */
}
@media (max-width: 560px) {
  .news__layout {
    margin-left: 0;
    padding-left: 20px;
    width: 100%;
  }
}

.swiper-meta {
  display: flex;
  justify-content: space-between;
  margin-right: 10.47vw;
}
@media (max-width: 560px) {
  .swiper-meta {
    margin-right: 0;
    padding-right: 20px;
  }
}
.swiper-position {
  position: relative;
}
.swiper-wrapper {
  margin-top: 40px;
}
@media (max-width: 560px) {
  .swiper-wrapper {
    margin-top: 20px;
  }
}
.swiper-slide figure {
  margin: 0 auto;
  overflow: hidden;
}
.swiper-slide figure img {
  transition: 1s all;
}
.swiper-slide figure img:hover {
  transform: scale(1.3, 1.3);
  transition: 1s all;
}
.swiper-btn-area {
  align-items: center;
  display: flex;
  justify-content: space-between;
  position: relative;
  width: 110px;
}
@media (max-width: 560px) {
  .swiper-btn-area {
    width: 70px;
  }
}

.swiper-button-prev {
  height: -webkit-fit-content !important;
  height: -moz-fit-content !important;
  height: fit-content !important;
  left: 0 !important;
  margin-top: 0 !important;
  top: 0 !important;
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
}
.swiper-button-prev::after {
  background: url("../img/nav-arrow_left.png") no-repeat;
  background-size: cover;
  content: "" !important;
  display: inline-block;
  height: 45px;
  width: 45px;
}
@media (max-width: 560px) {
  .swiper-button-prev::after {
    height: 30px;
    width: 30px;
  }
}

.swiper-button-next {
  height: -webkit-fit-content !important;
  height: -moz-fit-content !important;
  height: fit-content !important;
  margin-top: 0 !important;
  right: 0 !important;
  top: 0 !important;
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
}
.swiper-button-next::after {
  background: url("../img/nav-arrow_right.png") no-repeat;
  background-size: cover;
  content: "" !important;
  display: inline-block;
  height: 45px;
  width: 45px;
}
@media (max-width: 560px) {
  .swiper-button-next::after {
    height: 30px;
    width: 30px;
  }
}

.contact {
  background: url("../img/contact_us.webp");
  background-size: cover;
  height: 500px;
  width: 100%;
}
.contact__contents {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  height: 500px;
  justify-content: center;
  transition: all 0.3s;
  width: 100%;
}
@media (max-width: 560px) {
  .contact__contents {
    height: 200px;
  }
}
.contact__contents.focused {
  background-color: rgba(0, 0, 0, 0);
  transition: all 0.3s;
}
@media (max-width: 560px) {
  .contact {
    height: 200px;
  }
}
.contact__inner {
  color: #fff;
  display: flex;
  max-width: 700px;
  padding: 20px;
  width: 100%;
}
.contact .content {
  display: block;
}
.contact:hover {
  transition: all 0.3s ease-in-out;
}
.contact a {
  display: block;
  width: 100%;
}

.breadcrumb-outer {
  background: #ededed;
  margin-top: 100px;
  padding: 0 20px;
  width: 100%;
}

.breadcrumb {
  color: #0f0f0f;
  line-height: 20px;
  margin: 0 auto;
  max-width: 1080px;
  padding: 21px 0;
  text-align: right;
  width: 100%;
}
.breadcrumb-current {
  color: #7e807c;
}
.breadcrumb span {
  line-height: 20px;
}

.view-more {
  align-items: center;
  display: flex;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.view-more-outer {
  margin-bottom: 150px;
  margin-right: 10.47vw;
  margin-top: 51px;
}
@media (max-width: 560px) {
  .view-more-outer {
    margin-bottom: 70px;
    margin-right: 0;
    margin-top: 40px;
    padding-right: 20px;
  }
}
.view-more-outer-content {
  margin-right: 0;
}
.view-more-outer2 {
  margin-left: auto;
  margin-top: auto;
}
@media (max-width: 560px) {
  .view-more-outer2 {
    margin-bottom: 49px;
    margin-bottom: 30px;
    margin-right: 0;
    margin-top: 14px;
  }
}
.view-more-outer2-content {
  margin-right: 0;
}
.view-more.in-contact {
  display: flex;
}
.view-more.in-content {
  margin-right: 0;
  margin-top: auto;
}
.view-more p {
  --min-size: 14;
  --max-size: 16;
  display: inline-block;
  font-size: var(--clamp-size);
}
.view-more-btn, .view-more-btn--news, .view-more-btn--news-reverse, .view-more-btn--reverse {
  align-items: center;
  border: 1px solid #7e807c;
  border-radius: 50%;
  display: flex;
  height: 90px;
  justify-content: center;
  margin-left: 20px;
  opacity: 1 !important;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition: all 0.3s;
  width: 90px;
}
@media (max-width: 560px) {
  .view-more-btn, .view-more-btn--news, .view-more-btn--news-reverse, .view-more-btn--reverse {
    height: 60px;
    margin-left: 13px;
    width: 60px;
  }
}
.view-more-btn::before, .view-more-btn--news::before, .view-more-btn--news-reverse::before, .view-more-btn--reverse::before, .view-more-btn::after, .view-more-btn--news::after, .view-more-btn--news-reverse::after, .view-more-btn--reverse::after {
  background-color: #0f0f0f;
  content: "";
  display: block;
  height: 0;
  pointer-events: none;
  position: absolute;
  width: 50%;
}
.view-more-btn::before, .view-more-btn--news::before, .view-more-btn--news-reverse::before, .view-more-btn--reverse::before {
  bottom: 0;
  left: 0;
}
.view-more-btn::after, .view-more-btn--news::after, .view-more-btn--news-reverse::after, .view-more-btn--reverse::after {
  right: 0;
  top: 0;
}
.view-more-btn span, .view-more-btn--news span, .view-more-btn--news-reverse span, .view-more-btn--reverse span {
  align-items: center;
  background-color: #fff;
  border-radius: 100%;
  display: flex;
  height: calc(100% - 1px);
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 1px);
  z-index: 1;
}
.view-more-btn span::before, .view-more-btn--news span::before, .view-more-btn--news-reverse span::before, .view-more-btn--reverse span::before {
  background: url("../img/view-more.png") no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 8px;
  width: 12px;
}
.view-more-btn--reverse {
  margin-left: 0;
  margin-right: 20px;
}
.view-more-btn--reverse span {
  align-items: center;
  background-color: #fff;
  border-radius: 100%;
  display: flex;
  height: calc(100% - 1px);
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 1px);
  z-index: 1;
}
.view-more-btn--reverse span::before {
  background: url("../img/view-more.png") no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 8px;
  transform: rotate(180deg);
  width: 12px;
}
.view-more-btn--news, .view-more-btn--news-reverse {
  height: 45px;
  width: 45px;
}
.view-more-btn--news-reverse span::before {
  transform: rotate(180deg);
}

.trigger:hover .view-more-btn, .trigger:hover .view-more-btn--reverse, .trigger:hover .view-more-btn--news, .trigger:hover .view-more-btn--news-reverse,
.view-more:hover .view-more-btn,
.view-more:hover .view-more-btn--reverse,
.view-more:hover .view-more-btn--news,
.view-more:hover .view-more-btn--news-reverse,
.page-c-list-item:hover .view-more-btn,
.page-c-list-item:hover .view-more-btn--reverse,
.page-c-list-item:hover .view-more-btn--news,
.page-c-list-item:hover .view-more-btn--news-reverse,
.page-c-list-item--row:hover .view-more-btn,
.page-c-list-item--row:hover .view-more-btn--reverse,
.page-c-list-item--row:hover .view-more-btn--news,
.page-c-list-item--row:hover .view-more-btn--news-reverse,
.page-b-list-item:hover .view-more-btn,
.page-b-list-item:hover .view-more-btn--reverse,
.page-b-list-item:hover .view-more-btn--news,
.page-b-list-item:hover .view-more-btn--news-reverse {
  border: none;
  color: #7e807c;
}
.trigger:hover .view-more-btn::before, .trigger:hover .view-more-btn--reverse::before, .trigger:hover .view-more-btn--news::before, .trigger:hover .view-more-btn--news-reverse::before, .trigger:hover .view-more-btn::after, .trigger:hover .view-more-btn--reverse::after, .trigger:hover .view-more-btn--news::after, .trigger:hover .view-more-btn--news-reverse::after,
.view-more:hover .view-more-btn::before,
.view-more:hover .view-more-btn--reverse::before,
.view-more:hover .view-more-btn--news::before,
.view-more:hover .view-more-btn--news-reverse::before,
.view-more:hover .view-more-btn::after,
.view-more:hover .view-more-btn--reverse::after,
.view-more:hover .view-more-btn--news::after,
.view-more:hover .view-more-btn--news-reverse::after,
.page-c-list-item:hover .view-more-btn::before,
.page-c-list-item:hover .view-more-btn--reverse::before,
.page-c-list-item:hover .view-more-btn--news::before,
.page-c-list-item:hover .view-more-btn--news-reverse::before,
.page-c-list-item:hover .view-more-btn::after,
.page-c-list-item:hover .view-more-btn--reverse::after,
.page-c-list-item:hover .view-more-btn--news::after,
.page-c-list-item:hover .view-more-btn--news-reverse::after,
.page-c-list-item--row:hover .view-more-btn::before,
.page-c-list-item--row:hover .view-more-btn--reverse::before,
.page-c-list-item--row:hover .view-more-btn--news::before,
.page-c-list-item--row:hover .view-more-btn--news-reverse::before,
.page-c-list-item--row:hover .view-more-btn::after,
.page-c-list-item--row:hover .view-more-btn--reverse::after,
.page-c-list-item--row:hover .view-more-btn--news::after,
.page-c-list-item--row:hover .view-more-btn--news-reverse::after,
.page-b-list-item:hover .view-more-btn::before,
.page-b-list-item:hover .view-more-btn--reverse::before,
.page-b-list-item:hover .view-more-btn--news::before,
.page-b-list-item:hover .view-more-btn--news-reverse::before,
.page-b-list-item:hover .view-more-btn::after,
.page-b-list-item:hover .view-more-btn--reverse::after,
.page-b-list-item:hover .view-more-btn--news::after,
.page-b-list-item:hover .view-more-btn--news-reverse::after {
  height: 100%;
}
.trigger:hover .view-more-btn::before, .trigger:hover .view-more-btn--reverse::before, .trigger:hover .view-more-btn--news::before, .trigger:hover .view-more-btn--news-reverse::before,
.view-more:hover .view-more-btn::before,
.view-more:hover .view-more-btn--reverse::before,
.view-more:hover .view-more-btn--news::before,
.view-more:hover .view-more-btn--news-reverse::before,
.page-c-list-item:hover .view-more-btn::before,
.page-c-list-item:hover .view-more-btn--reverse::before,
.page-c-list-item:hover .view-more-btn--news::before,
.page-c-list-item:hover .view-more-btn--news-reverse::before,
.page-c-list-item--row:hover .view-more-btn::before,
.page-c-list-item--row:hover .view-more-btn--reverse::before,
.page-c-list-item--row:hover .view-more-btn--news::before,
.page-c-list-item--row:hover .view-more-btn--news-reverse::before,
.page-b-list-item:hover .view-more-btn::before,
.page-b-list-item:hover .view-more-btn--reverse::before,
.page-b-list-item:hover .view-more-btn--news::before,
.page-b-list-item:hover .view-more-btn--news-reverse::before {
  transition: height 0.2s 0.2s linear;
}
.trigger:hover .view-more-btn::after, .trigger:hover .view-more-btn--reverse::after, .trigger:hover .view-more-btn--news::after, .trigger:hover .view-more-btn--news-reverse::after,
.view-more:hover .view-more-btn::after,
.view-more:hover .view-more-btn--reverse::after,
.view-more:hover .view-more-btn--news::after,
.view-more:hover .view-more-btn--news-reverse::after,
.page-c-list-item:hover .view-more-btn::after,
.page-c-list-item:hover .view-more-btn--reverse::after,
.page-c-list-item:hover .view-more-btn--news::after,
.page-c-list-item:hover .view-more-btn--news-reverse::after,
.page-c-list-item--row:hover .view-more-btn::after,
.page-c-list-item--row:hover .view-more-btn--reverse::after,
.page-c-list-item--row:hover .view-more-btn--news::after,
.page-c-list-item--row:hover .view-more-btn--news-reverse::after,
.page-b-list-item:hover .view-more-btn::after,
.page-b-list-item:hover .view-more-btn--reverse::after,
.page-b-list-item:hover .view-more-btn--news::after,
.page-b-list-item:hover .view-more-btn--news-reverse::after {
  transition: height 0.2s linear;
}
.trigger:hover .view-more-btn span::before, .trigger:hover .view-more-btn--reverse span::before, .trigger:hover .view-more-btn--news span::before, .trigger:hover .view-more-btn--news-reverse span::before,
.view-more:hover .view-more-btn span::before,
.view-more:hover .view-more-btn--reverse span::before,
.view-more:hover .view-more-btn--news span::before,
.view-more:hover .view-more-btn--news-reverse span::before,
.page-c-list-item:hover .view-more-btn span::before,
.page-c-list-item:hover .view-more-btn--reverse span::before,
.page-c-list-item:hover .view-more-btn--news span::before,
.page-c-list-item:hover .view-more-btn--news-reverse span::before,
.page-c-list-item--row:hover .view-more-btn span::before,
.page-c-list-item--row:hover .view-more-btn--reverse span::before,
.page-c-list-item--row:hover .view-more-btn--news span::before,
.page-c-list-item--row:hover .view-more-btn--news-reverse span::before,
.page-b-list-item:hover .view-more-btn span::before,
.page-b-list-item:hover .view-more-btn--reverse span::before,
.page-b-list-item:hover .view-more-btn--news span::before,
.page-b-list-item:hover .view-more-btn--news-reverse span::before {
  -webkit-animation: arrow 2.5s infinite;
  animation: arrow 2.5s infinite;
}
.trigger:hover .view-more-btn--contact,
.view-more:hover .view-more-btn--contact,
.page-c-list-item:hover .view-more-btn--contact,
.page-c-list-item--row:hover .view-more-btn--contact,
.page-b-list-item:hover .view-more-btn--contact {
  background-color: initial;
  border: 1px solid #fff;
}
.trigger:hover .view-more-btn--contact::before, .trigger:hover .view-more-btn--contact::after,
.view-more:hover .view-more-btn--contact::before,
.view-more:hover .view-more-btn--contact::after,
.page-c-list-item:hover .view-more-btn--contact::before,
.page-c-list-item:hover .view-more-btn--contact::after,
.page-c-list-item--row:hover .view-more-btn--contact::before,
.page-c-list-item--row:hover .view-more-btn--contact::after,
.page-b-list-item:hover .view-more-btn--contact::before,
.page-b-list-item:hover .view-more-btn--contact::after {
  height: 100%;
}
.trigger:hover .view-more-btn--contact::before,
.view-more:hover .view-more-btn--contact::before,
.page-c-list-item:hover .view-more-btn--contact::before,
.page-c-list-item--row:hover .view-more-btn--contact::before,
.page-b-list-item:hover .view-more-btn--contact::before {
  transition: height 0.2s 0.2s linear;
}
.trigger:hover .view-more-btn--contact::after,
.view-more:hover .view-more-btn--contact::after,
.page-c-list-item:hover .view-more-btn--contact::after,
.page-c-list-item--row:hover .view-more-btn--contact::after,
.page-b-list-item:hover .view-more-btn--contact::after {
  transition: height 0.2s linear;
}
.trigger:hover .view-more-btn--contact span::before,
.view-more:hover .view-more-btn--contact span::before,
.page-c-list-item:hover .view-more-btn--contact span::before,
.page-c-list-item--row:hover .view-more-btn--contact span::before,
.page-b-list-item:hover .view-more-btn--contact span::before {
  -webkit-animation: arrow 2.5s infinite;
  animation: arrow 2.5s infinite;
}

.view-more.in-contact p {
  color: #fff;
}
@media (max-width: 560px) {
  .view-more.in-contact p {
    display: none;
  }
}
.view-more.in-contact a:hover p {
  color: #fff;
}

@-webkit-keyframes arrow {
  0% {
    transform: translate(-10px, 0);
  }
  80% {
    transform: translate(10px, 0);
  }
  0%, 80%, 100% {
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
}

@keyframes arrow {
  0% {
    transform: translate(-10px, 0);
  }
  80% {
    transform: translate(10px, 0);
  }
  0%, 80%, 100% {
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
}
.cross {
  display: block;
  height: 20px;
  position: relative;
  width: 20px;
}

.cross::before,
.cross::after {
  /* 棒の高さ */
  background: #fff;
  /* 共通設定 */
  content: "";
  /* 棒の幅（太さ） */
  height: 15px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 1px;
}

.cross::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.cross::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.view-more-btn--contact {
  align-items: center;
  border: 1px solid #fff;
  border-radius: 50%;
  display: flex;
  height: 90px;
  justify-content: center;
  margin-left: 20px;
  opacity: 1 !important;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition: all 0.3s;
  transition: color 0.4s;
  width: 90px;
}
@media (max-width: 560px) {
  .view-more-btn--contact {
    height: 60px;
    margin-left: 13px;
    width: 60px;
  }
}
.view-more-btn--contact::before, .view-more-btn--contact::after {
  content: "";
  display: block;
  height: 0;
  pointer-events: none;
  position: absolute;
  width: 50%;
}
.view-more-btn--contact::before {
  bottom: 0;
  left: 0;
}
.view-more-btn--contact::after {
  right: 0;
  top: 0;
}
.view-more-btn--contact span {
  align-items: center;
  border-radius: 100%;
  display: flex;
  height: calc(100% - 1px);
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 1px);
  z-index: 1;
}
.view-more-btn--contact span::before {
  background: url("../img/view-more-contact.png") no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 8px;
  width: 12px;
}

#header {
  -webkit-animation-delay: 2s;
  -webkit-animation-duration: 0.5s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
  animation-delay: 2s;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  left: 0;
  position: fixed;
  top: 0;
  z-index: 9999;
  /*これで値を保持*/
}
#header.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
  animation: UpAnime 0.5s forwards;
}
#header.UpMove .open_toggle {
  -webkit-animation: none;
  animation: none;
}
@-webkit-keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
#header.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
  animation: DownAnime 0.5s forwards;
}
#header.DownMove .open_toggle {
  -webkit-animation: none;
  animation: none;
}
@-webkit-keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.header {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  width: 100%;
}
@media (max-width: 768px) {
  .header {
    position: fixed;
    z-index: 100;
  }
}
.header__info {
  -webkit-backface-visibility: hidden;
  align-items: center;
  backface-visibility: hidden;
  background: #0f0f0f;
  color: #fff;
  display: none;
  font-size: 12px;
  height: 30px;
  justify-content: center;
  overflow: hidden;
}
.header__info-content {
  -webkit-backface-visibility: hidden;
  align-items: center;
  backface-visibility: hidden;
  display: flex;
  letter-spacing: 0.02em;
  margin-left: 13px;
  overflow: hidden;
  width: 343.5px;
}
.header__info-content dl {
  align-items: center;
  display: flex;
  margin-right: 5px;
}
.header__info-content dl dt {
  border: 1px solid #fff;
  height: 19px;
  letter-spacing: 0.02em;
  padding: 2px 9px 3px 9px;
  width: 46px;
}
@media (max-width: 365px) {
  .header__info-content dl dt {
    font-size: 11px;
    height: 19px;
    padding: 2px 6px 3px 6px;
    width: 38px;
  }
}
.header__info-content dl dd {
  letter-spacing: 0.02em;
  line-height: 1;
  line-height: 20px;
  margin-left: 15px;
}
@media (max-width: 365px) {
  .header__info-content dl dd {
    font-size: 10px;
  }
}
.header__inner {
  align-items: center;
  display: flex;
  height: 120px;
  justify-content: space-between;
  padding: 0 10px 0 40px;
  position: relative;
}
@media (max-width: 1120px) {
  .header__inner {
    padding: 0 20px;
  }
}
@media (max-width: 768px) {
  .header__inner {
    height: 77px;
  }
}
.header.open_toggle {
  height: 100%;
}
@media (max-width: 768px) {
  .header.open_toggle {
    overflow: visible;
  }
}
.header.open_toggle .header__inner {
  height: 100%;
}
.header__logo {
  margin-bottom: auto;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .header__logo {
    margin-top: 10px;
  }
}
.header__logo img {
  height: 100px;
  width: 61.33px;
}
@media (max-width: 768px) {
  .header__logo img {
    height: 66.23px;
    width: 40px;
  }
}

.header__nav {
  align-items: center;
  display: flex;
  height: 100%;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .header__nav {
    background: #7e807c;
    display: flex;
    font-size: 35px;
    height: 100%;
    justify-content: center;
    line-height: 41px;
    position: fixed;
    right: -100%;
    top: 0;
  }
}
@media (max-width: 768px) {
  .header__nav .nav-current {
    margin-left: 10px;
  }
}
.header__nav ul {
  display: flex;
  height: 100%;
}
@media (max-width: 768px) {
  .header__nav ul {
    display: none;
  }
}
.header__nav.open_toggle {
  background: #7e807c;
  display: flex;
  font-size: 35px;
  height: 100%;
  justify-content: center;
  line-height: 41px;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
}
.header__nav.open_toggle ul {
  -webkit-overflow-scrolling: touch;
  align-items: center;
  background: #7e807c;
  color: #fff;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 100px 60px 92px;
  width: 100%;
}
.header__nav.open_toggle ul li {
  padding: 0 20px;
  padding: 0;
  width: 295px;
}
.header__nav.open_toggle ul li.header__nav-list {
  align-items: initial;
  flex-direction: column;
  margin-left: 0;
  margin-top: 20px;
}
.header__nav.open_toggle ul li.header__nav-list:first-child {
  margin-top: 0;
}
.header__nav.open_toggle ul li.header__nav-list-link {
  flex-direction: column;
  padding: 0;
}
.header__nav.open_toggle ul li a {
  padding: 0;
}
.header__nav.open_toggle ul .submenu {
  border: none;
  filter: none;
  opacity: 1;
  position: initial;
  transform: initial;
  width: initial;
}
.header__nav.open_toggle ul .submenu ul {
  background: #7e807c;
  padding: 0;
}
.header__nav.open_toggle ul .submenu ul li {
  align-items: center;
  display: flex;
  margin-top: 20px;
  position: relative;
}
.header__nav.open_toggle ul .submenu ul li:first-child {
  margin-top: 20px;
}
.header__nav.open_toggle ul .submenu ul li::before {
  background: #afafaf;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  margin-right: 32px;
  width: 50px;
}
.header__nav.open_toggle ul .submenu ul li a {
  padding: 0;
}
.header__nav.open_toggle ul .submenu ul li a::after {
  content: none;
  padding: 0;
}

.header__nav-list {
  align-items: center;
  display: flex;
  margin-left: 6px;
  position: relative;
}
@media (max-width: 768px) {
  .header__nav-list {
    font-size: 28px;
  }
}
.wpml-ls-legacy-list-horizontal a{
	display: flex;
	padding: 5px;
}
.wpml-ls-legacy-list-horizontal .wpml-ls-flag{
	width: 18px;
	height: 12px;
}
.header__nav-list-link {
  align-items: center;
  display: flex;
  height: 100%;
  padding: 0 30px;
}
.header__nav-list-link:hover {
  color: #7e807c;
  transition: 0.3s ease-in-out;
}
@media (max-width: 768px) {
  .header__nav-list-link:hover {
    color: #fff;
  }
}
@media (max-width: 768px) {
  .header__nav-list-link:hover:not(.nav-current) {
    transform: translateX(10px);
    transition: 0.3s ease-in-out;
  }
}
.header__nav-list-link.parents:hover {
  color: #7e807c;
}
@media (max-width: 768px) {
  .header__nav-list-link.parents:hover {
    color: #fff;
    transform: translateX(0);
  }
}
.header__nav-list.focused .header__nav-list-link {
  color: #7e807c;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .header__nav-list.focused .header__nav-list-link {
    color: #fff;
  }
}
.header__nav-list:first-child {
  margin-left: 0;
}
.header__nav-list .submenu {
  display: none;
  filter: drop-shadow(0px 46px 99px rgba(0, 0, 0, 0.09));
  left: 50%;
  position: absolute;
  top: 100px;
  transform: translateX(-50%);
  width: 220px;
  z-index: 9;
}
@media (max-width: 768px) {
  .header__nav-list .submenu {
    display: block;
    z-index: initial;
  }
}
.header__nav-list .submenu.focused {
  -webkit-animation: appear 1.6s cubic-bezier(0.19, 1, 0.22, 1);
  animation: appear 1.6s cubic-bezier(0.19, 1, 0.22, 1);
  display: block;
}
@media (max-width: 768px) {
  .header__nav-list .submenu.focused {
    -webkit-animation: none;
    animation: none;
  }
}
@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.header__nav-list .submenu ul {
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: 28px 0 34px 0;
  position: relative;
}
.header__nav-list .submenu ul li {
  padding: 0 43px 0 28px;
  width: 100%;
}
@media (max-width: 768px) {
  .header__nav-list .submenu ul li {
    padding: 0;
  }
}
.header__nav-list .submenu ul li a {
  display: block;
  padding-bottom: 9px;
  padding-right: 20px;
  padding-top: 9px;
  position: relative;
  width: 100%;
}
.header__nav-list .submenu ul li a::after {
  background: url("./../img/arrow-menu.svg") no-repeat center;
  background-size: 10px 7.5px;
  border: 1px solid #0f0f0f;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 20px;
  pointer-events: auto;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
}
.header__nav-list .submenu ul li a:hover {
  color: #7e807c;
  transition: 0.3s ease-in-out;
}
@media (max-width: 768px) {
  .header__nav-list .submenu ul li a:hover {
    color: #fff;
    transform: translateX(10px);
  }
}
.header__nav-list .submenu ul li.nav-current a:hover {
  color: #7e807c;
}
@media (max-width: 768px) {
  .header__nav-list .submenu ul li.nav-current a:hover {
    color: #fff;
    transform: translateX(0);
  }
}
.header__nav-list .submenu ul::after {
  background: #0f0f0f;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 0px;
  transform: scale(0, 1);
  transform-origin: left top;
  width: 100%;
}
@media (max-width: 768px) {
  .header__nav-list .submenu ul::after {
    background: none;
  }
}
.header__nav-list.focused ul::after {
  -webkit-animation: appear2 0.9s;
  animation: appear2 0.9s;
  background: #0f0f0f;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 0px;
  transform: scale(1, 1);
  transform-origin: left top;
  width: 100%;
}
@-webkit-keyframes appear2 {
  0% {
    transform: scale(0, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes appear2 {
  0% {
    transform: scale(0, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@media (max-width: 768px) {
  .header__nav-list.focused ul::after {
    background: none;
  }
}

.header__nav-toggle {
  display: none;
}
@media (max-width: 768px) {
  .header__nav-toggle {
    align-items: center;
    display: block;
    height: 45px;
    justify-content: center;
    position: absolute;
    right: -24px;
    top: 0;
    width: 80px;
  }
  .header__nav-toggle.open_toggle {
    background: #7e807c;
  }
  .header__nav-toggle span {
    background: #0f0f0f;
    display: block;
    height: 1px;
    position: relative;
    top: 0;
    transition: 0.75s ease;
    width: 40px;
  }
  .header__nav-toggle span::before {
    background: #0f0f0f;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: -7px;
    transition: 0.75s ease;
    width: 40px;
  }
  .header__nav-toggle span::after {
    color: #0f0f0f;
    content: "MENU";
    font-size: 12px;
    left: 2px;
    opacity: 1;
    position: absolute;
    text-align: center;
    top: 7px;
    transition: 0.75s ease;
  }
}
.header__nav-toggle.open_toggle span {
  -webkit-animation: active-menu-bar01 0.75s forwards;
  align-items: center;
  animation: active-menu-bar01 0.75s forwards;
  background: #fff;
  display: block;
  height: 1px;
  justify-content: center;
  position: relative;
  top: 0;
  width: 40px;
}
@-webkit-keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(-30deg);
  }
}
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(-30deg);
  }
}
.header__nav-toggle.open_toggle span::before {
  -webkit-animation: active-menu-bar02 0.75s forwards;
  animation: active-menu-bar02 0.75s forwards;
  background: #fff;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  top: -7px;
  width: 40px;
}
@-webkit-keyframes active-menu-bar02 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(7px) rotate(0);
  }
  100% {
    transform: translateY(7px) rotate(60deg);
  }
}
@keyframes active-menu-bar02 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(7px) rotate(0);
  }
  100% {
    transform: translateY(7px) rotate(60deg);
  }
}
.header__nav-toggle.open_toggle span::after {
  content: "";
  opacity: 0;
  top: 7px;
  transition: all 0.75s ease-in-out;
}

.footer {
  background: #0f0f0f;
}
.footer__inner {
  display: flex;
  justify-content: space-between;
  padding: 160px 40px 165px 40px;
}
@media (max-width: 560px) {
  .footer__inner {
    align-items: center;
    padding: 52px 20px 68px;
  }
}
@media (max-width: 560px) {
  .footer__logo {
    display: block;
    width: 100%;
  }
}
.footer__logo a {
  display: block;
  width: 100%;
}
.footer__logo img {
  height: 139.08px;
  width: 85.3px;
}
@media (max-width: 768px) {
  .footer__logo img {
    height: 66.23px;
    width: 40px;
  }
}
.footer__content {
  color: #fff;
  width: 578px;
}
.footer__nav {
  font-size: 16px;
}
@media (max-width: 768px) {
  .footer__nav {
    display: none;
  }
}
.footer__nav ul {
  display: flex;
  justify-content: space-between;
}
.footer__nav ul li a:hover {
  color: #7e807c;
}
.footer__nav ul li ul {
  display: flex;
  flex-direction: column;
}
.footer__nav ul li ul li {
  margin-top: 20px;
}
.footer__nav-bottom {
  font-size: 14px;
  margin-top: 41px;
  text-align: right;
}
@media (max-width: 560px) {
  .footer__nav-bottom {
    display: flex;
    flex-direction: column;
    margin-top: 0;
  }
}
.footer__nav-bottom a:hover {
  color: #7e807c;
  transition: 0.3s;
}
.footer__nav-bottom small {
  color: #7e807c;
  font-size: 14px;
  margin-left: 38px;
}
@media (max-width: 560px) {
  .footer__nav-bottom small {
    margin-top: 20px;
  }
}

.heading02 {
  --min-size: 25;
  --max-size: 35;
  color: #0f0f0f;
  font-size: 35px;
  font-size: var(--clamp-size);
}

.heading02-jp {
  --min-size: 28;
  --max-size: 36;
  color: #0f0f0f;
  font-size: var(--clamp-size);
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 50px;
  margin-top: 13px;
}
@media (max-width: 560px) {
  .heading02-jp {
    line-height: 39px;
    margin-top: 5px;
  }
}

.heading-sub {
  color: #7e807c;
  font-size: 14px;
  line-height: 20px;
}

.heading-text {
  color: #7e807c;
  font-size: 15px;
  letter-spacing: 0.04em;
  line-height: 35px;
  margin-top: 31px;
}
@media (max-width: 560px) {
  .heading-text {
    line-height: 30px;
    margin-top: 14px;
    padding-left: 40px;
  }
}

.heading-contact {
  --min-size: 25;
  --max-size: 60;
  font-size: var(--clamp-size);
}
.heading-contact + p {
  --min-size: 14;
  --max-size: 15;
  font-size: var(--clamp-size);
  margin-top: 15px;
}
@media (max-width: 560px) {
  .heading-contact + p {
    margin-top: 10px;
  }
}

.heading__wrap {
  display: flex;
  flex-direction: column-reverse;
}

.heading-page {
  --min-size: 35;
  --max-size: 60;
  font-size: var(--clamp-size);
  line-height: 47px;
}
.heading-page + p {
  --min-size: 14;
  --max-size: 15;
  color: #7e807c;
  font-size: var(--clamp-size);
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 20px;
}
@media (max-width: 560px) {
  .heading-page + p {
    margin-top: 10px;
  }
}

.heading02-page, .heading02-page--profile {
  --min-size: 28;
  --max-size: 35;
  font-size: var(--clamp-size);
  line-height: 47px;
  margin-top: 100px;
}
@media (max-width: 560px) {
  .heading02-page, .heading02-page--profile {
    margin-top: 93px;
  }
}
.heading02-page + p, .heading02-page--profile + p {
  --min-size: 14;
  --max-size: 15;
  color: #7e807c;
  font-size: var(--clamp-size);
  letter-spacing: 0.02em;
  line-height: 25px;
  margin-top: 20px;
}
@media (max-width: 560px) {
  .heading02-page + p, .heading02-page--profile + p {
    margin-top: 10px;
  }
}
.heading02-page--profile {
  margin-top: 0;
}

.heading03-page, .heading03-page--variable {
  --min-size: 21;
  --max-size: 35;
  font-size: var(--clamp-size);
  font-weight: bold;
  letter-spacing: -0.01em;
  line-height: 46px;
  margin-top: 70px;
}
@media (max-width: 560px) {
  .heading03-page, .heading03-page--variable {
    letter-spacing: 0.05em;
    line-height: 32px;
    margin-top: 30px;
  }
}
.heading03-page--variable {
  margin-top: 5.1244509517vw;
}
@media (max-width: 560px) {
  .heading03-page--variable {
    margin-top: 30px;
  }
}

.common {
  /*トップページ*/
}
.common__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1080px;
  width: 100%;
}
.common-page__layout {
  margin: 0 auto;
  max-width: 1120px;
  padding: 0 20px;
  width: 100%;
}
.common-page__layout-add-depth {
  margin-left: 45px;
  margin-right: 45px;
}
@media (max-width: 560px) {
  .common-page__layout-add-depth {
    margin-left: 0;
    margin-right: 0;
  }
}
.common-page__layout--quality-item {
  margin: 0 auto;
  max-width: 1080px;
}
@media (max-width: 560px) {
  .common-page__layout--quality-item {
    padding: 0 20px;
  }
}
.common__layout {
  height: auto;
  margin-left: 10.47vw;
  position: relative;
  /* width: 89.53vw; */
}
@media (max-width: 560px) {
  .common__layout {
    margin-left: 0;
    padding: 0 20px;
    width: 100%;
  }
}
.common__layout--right {
  height: auto;
  margin-right: 10.47vw;
  /* width: 89.53vw; */
}
@media (max-width: 560px) {
  .common__layout--right {
    margin-left: 0;
    padding: 0 20px;
    width: 100%;
  }
}
.common__layout-outer {
  height: 100%;
  position: relative;
  width: 100%;
}
.common__content {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 36.2371888726vw;
}
@media (max-width: 560px) {
  .common__content {
    width: 100%;
  }
}
.common__image {
  width: 46.7057101025vw;
}
@media (max-width: 560px) {
  .common__image {
    margin: 35px calc(50% - 50vw) 0;
    padding-right: 20px;
    width: 100vw;
  }
}
.common__image img {
  -o-object-fit: cover;
  min-height: 100%;
  object-fit: cover;
}
@media (max-width: 560px) {
  .common__image img {
    height: 200px;
  }
}
.common__image--reverse {
  width: 46.7057101025vw;
}
@media (max-width: 560px) {
  .common__image--reverse {
    margin: 40px calc(50% - 50vw) 0;
    padding-left: 20px;
    width: 100vw;
  }
}
.common__image--reverse img {
  -o-object-fit: cover;
  min-height: 100%;
  object-fit: cover;
}
@media (max-width: 560px) {
  .common__image--reverse img {
    height: 200px;
  }
}
.common-btn-wide {
  background: #0f0f0f;
  color: #fff;
  display: block;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 25px;
  margin: 0 auto;
  max-width: 400px;
  padding: 28px;
  text-align: center;
  transition: 0.3s ease-in-out;
  width: 100%;
}
.common-btn-wide:hover {
  opacity: 0.8;
  transition: 0.3s ease-in-out;
}

.hidden {
  display: none;
}

.page-meta {
  margin: 0 auto;
  max-width: 1080px;
  width: 100%;
}
.page-heading__inner-bottom {
  padding: 0 45px;
}
.page-list {
  margin-top: 61px;
}
@media (max-width: 560px) {
  .page-list {
    margin-top: 30px;
  }
}
.page-list ul {
  display: flex;
  flex-wrap: wrap;
}
.page-list ul li {
  --min-size: 14;
  --max-size: 18;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border: 1px solid #0f0f0f;
  border-radius: 20px;
  font-size: var(--clamp-size);
  line-height: 1;
  margin-right: 10px;
  margin-top: 10px;
  overflow: hidden;
}
@media (max-width: 560px) {
  .page-list ul li {
    margin-right: 5px;
    margin-top: 5px;
  }
}
.page-list ul li.is-current, .page-list ul li.current-cat {
  background: #0f0f0f;
  color: #fff;
}
@media (max-width: 560px) {
  .page-list ul li.is-current, .page-list ul li.current-cat {
    margin-right: 5px;
    margin-top: 5px;
  }
}
.page-list ul li:last-child {
  margin-right: 0;
}
.page-list ul li a {
  display: block;
  padding: 8px 27px;
  transition: 0.3s ease-in-out;
}
.page-list ul li a:hover {
  background-color: #0f0f0f;
  color: #fff;
  transition: 0.3s ease-in-out;
}
@media (max-width: 560px) {
  .page-list ul li a {
    padding: 7px 15px;
  }
}
/* パンくず */
/* ============================================ */
.aioseo-breadcrumbs {
  margin-bottom: 1rem;
  color: #7e807c;
}
.aioseo-breadcrumbs a {
  color: #7e807c;
}

/*# sourceMappingURL=sourcemaps/style.css.map */