@charset "UTF-8";
/*!
Theme Name: emuzu
Theme URI: https://msap2.jp/emuzu/
Author: system emuzu
Author URI: https://msap2.jp/emuzu/
Description: 株式会社システム：エムズのコーポレイトサイト
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ms
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

emuzu is based on Underscores https://msap2.jp/emuzu/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*
# Generic
# Libs
# Animation
# Base
# Utilities
--------------------------------------------------------------*/
/*
# Generic
--------------------------------------------------------------*/
/*! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */
/* Document (https://html.spec.whatwg.org/multipage/semantics.html#semantics)
   ========================================================================== */
/**
 * 1. Remove repeating backgrounds in all browsers (opinionated).
 * 2. Add box sizing inheritence in all browsers (opinionated).
 */
*,
::before,
::after {
  background-repeat: no-repeat;
  /* 1 */
  box-sizing: inherit;
  /* 2 */ }

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritence in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit;
  /* 1 */
  vertical-align: inherit;
  /* 2 */ }

/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Add the default cursor in all browsers (opinionated).
 * 3. Prevent font size adjustments after orientation changes in IE and iOS.
 */
html {
  box-sizing: border-box;
  /* 1 */
  cursor: default;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections (https://html.spec.whatwg.org/multipage/semantics.html#sections)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

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

/* Grouping content (https://html.spec.whatwg.org/multipage/semantics.html#grouping-content)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

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

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none; }

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

/* Text-level semantics (https://html.spec.whatwg.org/multipage/semantics.html#text-level-semantics)
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

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

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #fff0;
  color: #000; }

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

/*
 * Remove the text shadow on text selections (opinionated).
 * 1. Restore the coloring undone by defining the text shadow (opinionated).
 */
::-moz-selection {
  background-color: #b3d4fc;
  /* 1 */
  color: #000;
  /* 1 */
  text-shadow: none; }

::selection {
  background-color: #b3d4fc;
  /* 1 */
  color: #000;
  /* 1 */
  text-shadow: none; }

/* Embedded content (https://html.spec.whatwg.org/multipage/embedded-content.html#embedded-content)
   ========================================================================== */
/*
 * Change the alignment on media elements in all browers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

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

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg {
  fill: currentColor; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Tabular data (https://html.spec.whatwg.org/multipage/tables.html#tables)
   ========================================================================== */
/**
 * Collapse border spacing
 */
table {
  border-collapse: collapse; }

/* Forms (https://html.spec.whatwg.org/multipage/forms.html#forms)
   ========================================================================== */
/**
 * Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0; }

/**
 * Inherit styling in all browsers (opinionated).
 */
button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

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

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

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

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * 1. Remove the default vertical scrollbar in IE.
 * 2. Change the resize direction on textareas in all browsers (opinionated).
 */
textarea {
  overflow: auto;
  /* 1 */
  resize: vertical;
  /* 2 */ }

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

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

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

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

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

/* Interactive elements (https://html.spec.whatwg.org/multipage/forms.html#interactive-elements)
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

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

/* Scripting (https://html.spec.whatwg.org/multipage/scripting.html#scripting-3)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

/* User interaction (https://html.spec.whatwg.org/multipage/interaction.html#editing)
   ========================================================================== */
/*
 * Remove the tapping delay on clickable elements (opinionated).
 * 1. Remove the tapping delay in IE 10.
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  /* 1 */
  touch-action: manipulation; }

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

/* ARIA (https://w3c.github.io/html-aria/)
   ========================================================================== */
/**
 * Change the cursor on busy elements (opinionated).
 */
[aria-busy="true"] {
  cursor: progress; }

/*
 * Change the cursor on control elements (opinionated).
 */
[aria-controls] {
  cursor: pointer; }

/*
 * Change the display on visually hidden accessible elements (opinionated).
 */
[aria-hidden="false"][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute; }

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements (opinionated).
 */
[aria-disabled] {
  cursor: default; }

/*
# Libs
--------------------------------------------------------------*/
/* object fit
--------------------------------------------- */
.object-fit-img {
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover; object-position: 50% 50%;"; }

/* Slick
--------------------------------------------- */
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  overflow: hidden; }
.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
  height: auto;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }
.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }
  .slick-track::before {
    display: table;
    content: ""; }
  .slick-track::after {
    display: table;
    content: "";
    clear: both; }
.slick-slide {
  display: none;
  float: left;
  height: auto;
  min-height: 1px; }
  .slick-slide img {
    display: block;
    object-fit: cover;
    height: auto;
    width: 100%; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }

[dir="rtl"] .slick-slide {
  float: right; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Arrows */
.slick-prev, .slick-next {
  display: flex;
  width: 5vw;
  height: 5vw;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  outline: none;
  z-index: 1;
  line-height: 1;
  border-radius: 50%;
  background-color: transparent;
  position: absolute;
  left: 14vw;
  bottom: 0;
  border: solid 1px #1F2F34;
  justify-content: center;
  align-items: center; }
  .slick-prev::before, .slick-next::before {
    display: inline-block;
    width: 2vw;
    height: 2vw;
    top: 50%;
    position: absolute;
    content: "";
    margin-top: -1vw; }
  .slick-prev::after, .slick-next::after {
    background-color: #1F2F34;
    opacity: .2;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -50%;
    margin-top: -50%;
    transform: scale(0, 0); }
  .slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
    color: transparent;
    outline: none; }
    .slick-prev:hover::after, .slick-prev:focus::after, .slick-next:hover::after, .slick-next:focus::after {
      transform: scale(1, 1); }
  .slick-prev-disabled::before, .slick-next-disabled::before {
    opacity: 0.25; }
.slick-prev {
  bottom: 6vw; }
  .slick-prev::before {
    color: #1F2F34;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-image: url("../images/ico-arrow-l.svg");
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat; }
.slick-next {
  right: 0; }
  .slick-next::before {
    background-image: url("../images/ico-arrow-r.svg");
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat; }

[dir="rtl"] .slick-prev {
  right: 0;
  left: auto; }
[dir="rtl"] .slick-next {
  right: auto;
  left: 0; }

/* Dots */
.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 0.666666em;
  padding: 0;
  cursor: pointer; }
  .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent; }
    .slick-dots li button::before {
      font-size: 20px;
      line-height: 20px;
      position: absolute;
      top: 0;
      left: 0;
      width: 20px;
      height: 20px;
      content: "1";
      text-align: center;
      opacity: 0.25;
      color: #1F2F34; }
    .slick-dots li button:hover, .slick-dots li button:focus {
      outline: none; }
    .slick-dots li button:hover::before, .slick-dots li button:focus::before {
      opacity: 1; }
  .slick-dots li:nth-child(2) button::before {
    content: "2"; }
  .slick-dots li:nth-child(3) button::before {
    content: "3"; }
  .slick-dots li:nth-child(4) button::before {
    content: "4"; }
  .slick-dots li.slick-active button::before {
    opacity: 0.75;
    color: #1F2F34; }

@media screen and (max-width: 1024px) {
  .slick-dots {
    width: 200px; } }
@media screen and (max-width: 768px) {
  .slick-dots {
    width: 100%; }

  .slick-slide img {
    height: 40vh; } }
/* Splide
--------------------------------------------- */
@keyframes splide-loading {
  0% {
    transform: rotate(0); }
  to {
    transform: rotate(1turn); } }
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0; }
  .splide__track--fade > .splide__list > .splide__slide.is-active {
    opacity: 1;
    z-index: 1; }

.splide--rtl {
  direction: rtl; }

.splide__track--ttb > .splide__list {
  display: block; }

.splide__container {
  box-sizing: border-box;
  position: relative; }

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important; }

.splide.is-initialized:not(.is-active) .splide__list {
  display: block; }

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none; }
  .splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto; }

.splide:not(.is-overflow) .splide__pagination {
  display: none; }

.splide__progress__bar {
  width: 0; }

.splide {
  position: relative;
  visibility: hidden; }
  .splide.is-initialized, .splide.is-rendered {
    visibility: visible; }

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative; }
  .splide__slide img {
    vertical-align: bottom; }

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px; }

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none; }

.splide__toggle.is-active .splide__toggle__pause {
  display: inline; }

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0; }

/* animation
--------------------------------------------- */
a,
input[type="text"],
input[type="password"],
textarea,
input[type="search"],
input[type="date"],
input[type="email"],
.checkbox input[type="checkbox"] + span::after,
.radio input[type="radio"] + span::after,
.back-to-top,
.btn,
.toolbar-btn,
.tbl-icon,
.btn-bookmark,
button,
input,
select,
textarea,
.swtbtn input[type="checkbox"] + span,
.swtbtn input[type="checkbox"] + span label,
.nav-megamenu > ul > li > .nav-child,
.gnav a::before,
.medialink-link-arrow,
.localnav-link-arrow,
.sidebar a::before,
.figure-caption,
.arrowbtn:before,
.pg-list-lead:before,
.pg-list a,
.localnav,
.cases-heading:before,
.cases-img img,
.accordion-arrow:before,
.accordion-arrow:after,
.slick-prev::after, .slick-next::after,
.ft-gnav a:before,
.ft-gnav-bottom a:before,
.pg-lead,
.pg-lead--e,
.js-animation-up,
.js-animation-left,
.fullnav--contact:before,
.ftnav a:before,
.site-ft-inner:before,
.card-ft a:before,
.c-info-item:before,
.media-heading:before,
.media-img img,
.bgfixed canvas,
.pg-main--rcr .bgfixed,
.pg--article .wraper,
.pg--article,
.cases-img,
.ft-contact-heading div:before,
.toggle-btn {
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-property: all;
  transition-property: all; }

.pg-lead,
.pg-lead--e,
.pg-catch {
  transform: translate(0, 32px);
  opacity: 0;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms; }
  .pg-lead.is-up,
  .pg-lead--e.is-up,
  .pg-catch.is-up {
    transition-delay: .5s;
    transform: translate(0, 0);
    opacity: 1; }

.pg-lead--e.is-up,
.pg-catch.is-up {
  transition-delay: .5s;
  transform: translate(0, 0);
  opacity: 1; }

.recruit .pg-catch.is-up {
  transition-delay: .5s;
  transform: translate(0, 0);
  opacity: 1; }

.js-animation-up {
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  transform: translate(0, 48px);
  opacity: 0; }
  .js-animation-up.is-up {
    transition-delay: .25s;
    transform: translate(0, 0);
    opacity: 1; }

.js-animation-left {
  transform: translate(-48px, 0);
  opacity: 0; }
  .js-animation-left.is-left {
    transition-delay: .25s;
    transform: translate(0, 0);
    opacity: 1; }

.clip-text {
  text-transform: uppercase;
  transition: all 1.5s ease; }
  .clip-text.left {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0); }
  .clip-text.right {
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%); }
  .clip-text.top {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0); }
  .clip-text.top-left {
    -webkit-clip-path: inset(0 100% 100% 0);
    clip-path: inset(0 100% 100% 0); }
  .clip-text.bottom {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0); }
  .clip-text.center {
    -webkit-clip-path: inset(100%);
    clip-path: inset(100%); }
  .clip-text.circle {
    -webkit-clip-path: circle(0 at 50% 50%);
    clip-path: circle(0 at 50% 50%); }
  .clip-text.skew {
    -webkit-clip-path: polygon(0 0, 0 0, 0 0);
    clip-path: polygon(0 0, 0 0, 0 0); }
  .clip-text.transform {
    -webkit-clip-path: polygon(0 0, 0 0, 0 0);
    clip-path: polygon(0 0, 0 0, 0 0);
    transition: all 0.8s cubic-bezier(0.55, 0.06, 0.33, 1.85);
    transform: translateX(-30px) scale(0.86) skew(8deg); }
  .clip-text.reveal.left, .clip-text.reveal.right, .clip-text.reveal.top, .clip-text.reveal.top-left, .clip-text.reveal.bottom, .clip-text.reveal.center {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition-delay: .25s; }
  .clip-text.reveal.circle {
    -webkit-clip-path: circle(100% at 50% 50%);
    clip-path: circle(100% at 50% 50%); }
  .clip-text.reveal.skew {
    -webkit-clip-path: polygon(0 0, 200% 0, 0 200%);
    clip-path: polygon(0 0, 200% 0, 0 200%); }
  .clip-text.reveal.transform {
    -webkit-clip-path: polygon(0 0, 200% 0, 0 200%);
    clip-path: polygon(0 0, 200% 0, 0 200%);
    transform: translateX(0) scale(1) skew(0); }

.transition-delay-05s {
  transition-delay: .5s !important; }

.transition-delay-1s {
  transition-delay: 1s !important; }

.transition-delay-2s {
  transition-delay: 2s !important; }

.clip-slider img {
  text-transform: uppercase;
  transition: all 1.5s ease; }
.clip-slider.right img {
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%); }
.clip-slider.reveal.right img {
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  transition-delay: .5s; }

.clip-img {
  text-transform: uppercase;
  transition: all 1.5s ease; }
  .clip-img.right {
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
    opacity: 0; }
  .clip-img.left {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    opacity: 0; }
  .clip-img.reveal.right, .clip-img.reveal.left {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition-delay: .5s;
    opacity: 1; }

.text-slide {
  align-items: center;
  display: flex;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  font-size: clamp(13px, 12vw, 128px);
  line-height: 1;
  color: transparent;
  font-weight: 400;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: rgba(15, 20, 22, 0.1); }

.text-slide ul {
  animation: flowing 80s linear infinite;
  transform: translateX(100%);
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%; }

.text-slide ul li {
  display: inline-block;
  padding-right: 1em; }

@keyframes flowing {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
/*
# Base
--------------------------------------------------------------*/
/* Elements
--------------------------------------------- */
/* ==========================================================================
01 body
========================================================================== */
* {
  box-sizing: border-box; }

html * {
  outline: none;
  /*--クリック時に表示されるラインの削除--*/
  font-feature-settings: "palt";
  /*--文字詰めカーリング機能--*/
  tap-highlight-color: rgba(0, 0, 0, 0);
  /*--タップ時のハイライトの削除--*/
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /*--タップ時のハイライトの削除--*/
  -moz-tap-highlight-color: rgba(0, 0, 0, 0);
  /*--タップ時のハイライトの削除--*/
  -webkit-font-smoothing: antialiased;
  /*--文字がシャープになる--*/
  -moz-osx-font-smoothing: grayscale;
  /*--文字がシャープになる--*/
  font-smoothing: antialiased;
  /*--文字がシャープになる--*/ }

body {
  background: #fff;
  width: 100%;
  min-width: 100%;
  min-height: 100%; }

html,
body {
  min-height: 100%; }

/* Typography
--------------------------------------------- */
/* ==========================================================================
fonts
========================================================================== */
/*
 * "Noto Sans JP" licensed under the SIL Open Font License 1.1
 * https://www.google.com/get/noto/
 * https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600; }

h1 {
  font-size: clamp(13px, 5vw, 48px);
  line-height: 1.3333333333;
  margin: 0 0 .5em 0; }

h2 {
  font-size: clamp(13px, 3vw, 32px);
  line-height: 1.5;
  margin: 0 0 1.3333333333em 0; }

h3 {
  font-size: clamp(13px, 2vw, 24px);
  line-height: 1.3333333333;
  margin: 0 0 1em 0; }

h4 {
  font-size: clamp(13px, 1.5vw, 20px);
  line-height: 1.2;
  margin: 0 0 .8em 0; }

h5,
h6 {
  font-size: clamp(13px, 1.25vw, 18px);
  line-height: 1.3333333333;
  margin: 0 0 .888888em 0; }

h1 small,
h2 small,
h3 small,
h4 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small {
  font-size: 70%; }

.is-shine {
  background-image: linear-gradient(70deg, #1f2f34 45%, #fff 50%, #1f2f34 55%);
  background-size: 500% 100%;
  background-repeat: no-repeat;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: shine 4s infinite;
  animation-delay: 2s; }

.is-bg--about .is-shine,
.sc--vision .is-shine {
  background-image: linear-gradient(70deg, #fff 45%, rgba(129, 213, 240, 0.3) 50%, #fff 55%);
  background-size: 500% 100%;
  background-repeat: no-repeat;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: shine 4s infinite;
  animation-delay: 2s; }

@keyframes shine {
  0% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }
html {
  font-size: 62.5%; }

body {
  color: #1F2F34;
  font-family: -apple-system, BlinkMacSystemFont, "Josefin Sans", "Noto Sans JP", "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 300;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.5; }

p {
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.5;
  margin-top: 2em;
  margin-bottom: 2em; }

.lead {
  font-size: clamp(13px, 2.5vw, 42px);
  line-height: 1.5238095238;
  margin: 0 0 1em 0;
  font-weight: 400; }

/*text*/
.small {
  font-size: 75%; }

.x-small {
  font-size: 90%; }

.large {
  font-size: 200%; }

.x-large {
  font-size: 150%; }

.normal {
  font-weight: 300; }

.bold {
  font-weight: 600; }

.txt-l {
  text-align: left; }

.txt-r {
  text-align: right; }

.txt-c {
  text-align: center; }

/* Elements
--------------------------------------------- */
hr {
  border: solid 1px;
  border-color: #e6e6e6 transparent;
  margin: 2em 0; }

/* ==========================================================================
 icon
========================================================================== */
@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon/icomoon.eot?subtbo");
  src: url("../fonts/icomoon/icomoon.eot?subtbo#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.ttf?subtbo") format("truetype"), url("../fonts/icomoon/icomoon.woff?subtbo") format("woff"), url("../fonts/icomoon/icomoon.svg?subtbo#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }
[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-application:before {
  content: "\e900"; }

.icon-cms:before {
  content: "\e901"; }

.icon-dlup:before {
  content: "\e902"; }

.icon-id:before {
  content: "\e903"; }

.icon-lock:before {
  content: "\e904"; }

.icon-pdf-file:before {
  content: "\e905"; }

.icon-qr-code:before {
  content: "\e906"; }

.icon-atmark:before {
  content: "\e907"; }

.icon-questionnaire:before {
  content: "\e908"; }

.icon-survey-function:before {
  content: "\e909"; }

.icon-pay-card:before {
  content: "\e90a"; }

.icon-carp:before {
  content: "\e90b"; }

.icon-color:before {
  content: "\e90c"; }

.icon-calendar:before {
  content: "\e90d"; }

.icon-calendar-setting:before {
  content: "\e90e"; }

.icon-camp:before {
  content: "\e90f"; }

.icon-cloud-methods:before {
  content: "\e910"; }

.icon-creditcard:before {
  content: "\e911"; }

.icon-coffee:before {
  content: "\e912"; }

.icon-comment:before {
  content: "\e913"; }

.icon-comment-moderation:before {
  content: "\e914"; }

.icon-server-cloud:before {
  content: "\e915"; }

.icon-server-infrastructure:before {
  content: "\e916"; }

.icon-server:before {
  content: "\e917"; }

.icon-cloud-security:before {
  content: "\e918"; }

.icon-cloud-construction:before {
  content: "\e919"; }

.icon-site-customization:before {
  content: "\e91a"; }

.icon-football:before {
  content: "\e91b"; }

.icon-shield:before {
  content: "\e91c"; }

.icon-car-excavator:before {
  content: "\e91d"; }

.icon-suitcase:before {
  content: "\e91e"; }

.icon-scout:before {
  content: "\e91f"; }

.icon-dashboard:before {
  content: "\e920"; }

.icon-checkbox-round:before {
  content: "\e921"; }

.icon-chat:before {
  content: "\e922"; }

.icon-data:before {
  content: "\e923"; }

.icon-attendance-lighting:before {
  content: "\e924"; }

.icon-personal:before {
  content: "\e925"; }

.icon-gender:before {
  content: "\e926"; }

.icon-pass:before {
  content: "\e927"; }

.icon-Package:before {
  content: "\e928"; }

.icon-bat:before {
  content: "\e929"; }

.icon-hearing:before {
  content: "\e92a"; }

.icon-businessman:before {
  content: "\e92b"; }

.icon-Inspiration:before {
  content: "\e92c"; }

.icon-building:before {
  content: "\e92d"; }

.icon-file:before {
  content: "\e92e"; }

.icon-baseball:before {
  content: "\e92f"; }

.icon-email-delivery:before {
  content: "\e930"; }

.icon-live-streaming:before {
  content: "\e931"; }

.icon-log:before {
  content: "\e932"; }

.icon-sales-analytics:before {
  content: "\e933"; }

.icon-abstract-submissio:before {
  content: "\e934"; }

.icon-family:before {
  content: "\e935"; }

.icon-picture-movie:before {
  content: "\e936"; }

.icon-membership-restrictions:before {
  content: "\e937"; }

.icon-meeting:before {
  content: "\e938"; }

.icon-personal-pc:before {
  content: "\e939"; }

.icon-management-process:before {
  content: "\e93a"; }

.icon-article:before {
  content: "\e93b"; }

.icon-service-years:before {
  content: "\e93c"; }

.icon-lecture:before {
  content: "\e93d"; }

.icon-language:before {
  content: "\e93e"; }

.icon-personal-management:before {
  content: "\e93f"; }

.icon-ticket-air:before {
  content: "\e940"; }

.icon-helmet:before {
  content: "\e941"; }

.icon-lecture1:before {
  content: "\e942"; }

.icon-sports-medalist:before {
  content: "\e943"; }

.icon-runner:before {
  content: "\e944"; }

.icon-career-up:before {
  content: "\e945"; }

.icon-childcare:before {
  content: "\e946"; }

.icon-clock:before {
  content: "\e947"; }

.icon-bycicle:before {
  content: "\e948"; }

.icon-car:before {
  content: "\e949"; }

.icon-company-people:before {
  content: "\e94a"; }

.icon-bed:before {
  content: "\e94b"; }

.icon-career-salary:before {
  content: "\e94c"; }

.icon-young-leaves:before {
  content: "\e94d"; }

.icon-check-list:before {
  content: "\e94e"; }

.icon-growth:before {
  content: "\e94f"; }

.icon-company-growth:before {
  content: "\e950"; }

.icon-cleaning:before {
  content: "\e951"; }

.icon-tie:before {
  content: "\e952"; }

.icon-search:before {
  content: "\e953"; }

.icon-suggestion:before {
  content: "\e954"; }

.icon-train:before {
  content: "\e955"; }

.icon-post-answer:before {
  content: "\e956"; }

.icon-pc-movie:before {
  content: "\e957"; }

.icon-personal-gain:before {
  content: "\e958"; }

.icon-cart:before {
  content: "\e959"; }

.icon-lecture-peaple:before {
  content: "\e95a"; }

.icon-plane:before {
  content: "\e95b"; }

.icon-events:before {
  content: "\e95c"; }

.icon-search-analysis:before {
  content: "\e95d"; }

.icon-paple:before {
  content: "\e95e"; }

.icon-vacation:before {
  content: "\e95f"; }

.icon-reservation-change:before {
  content: "\e960"; }

.icon-tears:before {
  content: "\e961"; }

.icon-stamp:before {
  content: "\e962"; }

.arrow-stick-right {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 24px;
  border: 0;
  border-bottom: #1F2F34 solid 1px;
  text-align: left; }
  .arrow-stick-right::before {
    content: "";
    width: 20px;
    height: 20px;
    border-top: solid 1px #1F2F34;
    transform: rotate(45deg);
    position: absolute;
    right: 4px;
    bottom: -10px; }
  .arrow-stick-right::after {
    content: "";
    border-left: solid 1px #1F2F34;
    position: absolute;
    right: 14px;
    top: 10px;
    display: block;
    height: 11px;
    width: 1px; }

.arrow-stick-top {
  position: relative;
  display: inline-block;
  width: auto;
  height: auto;
  border: 0;
  border-left: #1F2F34 solid 1px;
  padding-top: 2em; }
  .arrow-stick-top::before {
    content: "";
    width: 20px;
    height: 20px;
    border-top: solid 1px #1F2F34;
    transform: rotate(45deg);
    position: absolute;
    left: -10px;
    top: 4px; }
  .arrow-stick-top::after {
    content: "";
    border-bottom: solid 1px #1F2F34;
    position: absolute;
    right: 11px;
    top: 14px;
    display: block;
    height: 1px;
    width: 11px; }

.c-white .arrow-stick-right {
  border-bottom: #fff solid 1px; }
  .c-white .arrow-stick-right::before {
    border-top: solid 1px color_white; }
  .c-white .arrow-stick-right::after {
    border-left: solid 1px color_white; }
.c-white .arrow-stick-top {
  border-left: color_white solid 1px; }
  .c-white .arrow-stick-top::before {
    border-top: solid 1px #fff; }
  .c-white .arrow-stick-top::after {
    border-bottom: solid 1px #fff; }

.batsu {
  display: block;
  position: relative;
  width: 30px;
  height: 30px; }
  .batsu::before, .batsu::after {
    /* 共通設定 */
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3px;
    /* 棒の幅（太さ） */
    height: 30px;
    /* 棒の高さ */
    background-color: #1F2F34;
    border-radius: 3px; }
  .batsu::before {
    transform: translate(-50%, -50%) rotate(45deg); }
  .batsu::after {
    transform: translate(-50%, -50%) rotate(-45deg); }

/*シンプルな矢印アイコン*/
.arrow {
  position: relative;
  display: inline-block;
  color: #1F2F34;
  vertical-align: middle;
  text-decoration: none;
  line-height: 1; }
  .arrow::before, .arrow::after {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle; }

.arrow-line-right {
  width: 16px;
  height: 7px; }
  .arrow-line-right::before {
    right: 0px;
    width: 16px;
    height: 1px;
    background: #1F2F34;
    top: 3px; }
  .arrow-line-right::after {
    right: 0;
    top: 0;
    width: 6px;
    height: 6px;
    border-top: 1px solid #1F2F34;
    border-right: 1px solid #1F2F34;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: ""; }

.arrow-line-left {
  width: 16px;
  height: 7px; }
  .arrow-line-left::before {
    left: 0px;
    width: 16px;
    height: 1px;
    background: #1F2F34;
    top: 3px; }
  .arrow-line-left::after {
    left: 0;
    top: 0;
    width: 6px;
    height: 6px;
    border-top: 1px solid #1F2F34;
    border-right: 1px solid #1F2F34;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    content: ""; }

.arrow-line-down {
  width: 9px;
  height: 16px;
  padding: 0; }
  .arrow-line-down::before {
    bottom: 0;
    left: 6px;
    width: 1px;
    height: 16px;
    background: #1F2F34; }
  .arrow-line-down::after {
    width: 5px;
    height: 5px;
    border-top: 1px solid #1F2F34;
    border-right: 1px solid #1F2F34;
    -webkit-transform: rotate(15deg);
    transform: rotate(135deg);
    content: "";
    top: 0;
    left: 0; }

.arrow-line-up {
  width: 9px;
  height: 16px;
  padding: 0; }
  .arrow-line-up::before {
    bottom: 0;
    width: 1px;
    height: 16px;
    background: #1F2F34;
    left: 3px; }
  .arrow-line-up::after {
    width: 6px;
    height: 6px;
    border-top: 1px solid #1F2F34;
    border-right: 1px solid #1F2F34;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    content: ""; }

/*背景付き三角アイコン*/
.arrow04 {
  position: relative;
  padding-left: 22px; }
  .arrow04::before {
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    background: #697b91;
    border-radius: 50%;
    top: 50%;
    left: 0;
    margin-top: -8px; }
  .arrow04::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 6px #fff;
    top: 50%;
    left: 6px;
    margin-top: -4px; }

/*矢印括弧右　*/
.arrow01 {
  display: block;
  width: 15px;
  height: 15px;
  border-top: solid 3px #697b91;
  border-right: solid 3px #697b91;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }

/*背景付き矢印（山括弧）*/
.arrow06 {
  position: relative;
  padding-left: 22px; }
  .arrow06::before {
    position: absolute;
    content: "";
    width: 17px;
    height: 17px;
    background: #697b91;
    border-radius: 50%;
    top: 50%;
    left: 0;
    margin-top: -7px; }
  .arrow06::after {
    position: absolute;
    content: "";
    width: 4px;
    height: 4px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    left: 5px;
    margin-top: -1px; }

a {
  outline: none;
  text-decoration: underline;
  color: #1F2F34;
  display: inline-block; }
  a:hover {
    color: #111;
    text-decoration: none; }
  a:focus {
    outline: none; }

*:focus {
  outline: none; }

a.disabled {
  color: #ccc; }
  a.disabled:hover {
    color: #ccc; }

/*05-01list */
ul,
ol,
dt,
dd {
  margin: 0;
  padding: 0; }

ul,
ol {
  margin: 0;
  padding: 0; }

ul > li,
ol > li {
  list-style-position: inside; }

ul > li > ul > li,
ol > li > ol > li {
  margin: 0;
  padding: 0; }

/*list-style*/
.list-unstyled {
  list-style-type: none;
  padding-left: 0; }

.list-disc {
  list-style-type: none; }

.list-disc > li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 1em; }

.list-disc > li::before {
  background-color: #7C8588;
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  display: block;
  border-radius: 100%;
  height: 6px;
  width: 6px;
  overflow: hidden; }

/*list ckeck-iocn*/
.list-checkicon {
  list-style-type: none;
  padding-left: 0; }
  .list-checkicon li {
    margin-bottom: 1em;
    position: relative;
    padding-left: 2em; }
    .list-checkicon li::before {
      content: "\e921";
      position: absolute;
      left: 0;
      top: 0;
      display: block;
      font-size: 24px;
      font-family: "icomoon" !important;
      speak: never;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }

/* list inline*/
.list-inline {
  list-style-type: none;
  padding-left: 0; }
  .list-inline li {
    display: inline-block;
    margin-right: 2em;
    margin-bottom: .5em; }

/* 05*02 definition list dl dt dd*/
/*row*/
.dl-row {
  display: flex;
  flex-wrap: wrap; }
  .dl-row dd {
    padding: 1.5em 0 1.5em 0em;
    width: 70%; }
  .dl-row dt {
    width: 30%;
    padding: 1.5em 1.5em 1.5em 0;
    font-weight: 400; }
  .dl-row .dt--5em {
    width: 5em; }
    .dl-row .dt--5em + dd {
      width: calc(100% - 5em); }

.dl-date dt {
  color: #1F2F34;
  font-weight: 400; }

.dl-emphasis dt {
  border-top: solid 1px #1F2F34;
  color: #1F2F34; }
.dl-emphasis dd {
  font-size: 0.9em;
  border-top: solid 1px #fff; }

/*---縦並び---*/
.dl-column {
  margin: 0; }
  .dl-column dt {
    padding-bottom: 0.6666666em;
    font-weight: 600; }
  .dl-column dd {
    padding-bottom: 1em; }
  .dl-column.dl-border {
    border-top: none; }
    .dl-column.dl-border dt {
      margin-bottom: 0; }
    .dl-column.dl-border dd {
      margin: 0; }

@media screen and (max-width: 667px) {
  .dl-row {
    flex-flow: column nowrap; }
    .dl-row dt,
    .dl-row dd, .dl-row.dl-date, .dl-row.dl-date dd {
      width: 100%;
      padding: 0 0 0.333333em 0; }
    .dl-row dd, .dl-row.dl-date dd {
      width: 100%;
      padding: 0 0 1.333333em 0; }

  .dl-date dd {
    border-bottom: none; }

  .dl-emphasis dt,
  .dl-emphasis dd {
    width: 100%; }
  .dl-emphasis dt {
    padding-top: 1em; }
  .dl-emphasis dd {
    padding-bottom: 1em;
    border-top: none; } }
/*info list*/
.c-info {
  margin-top: 32px; }
  .c-info-item {
    width: auto;
    border-bottom: solid 1px #DEE0E1;
    position: relative; }
    .c-info-item::before {
      content: "";
      display: block;
      width: 0;
      height: 1px;
      background-color: #1F2F34;
      position: absolute;
      left: 0;
      bottom: 0; }
    .c-info-item:hover:before {
      width: 100%; }
  .c-info-link {
    color: #1F2F34;
    display: block;
    text-align: left;
    text-decoration: none;
    position: relative;
    padding: 40px 0 90px 0; }
    .c-info-link-hd {
      display: flex;
      align-items: flex-start;
      margin-bottom: 48px;
      width: 100%; }
    .c-info-link-heading {
      position: relative; }
    .c-info-link .mincircle--icon {
      position: absolute;
      right: 0;
      bottom: 48px; }
  .c-info-post--date {
    margin-right: auto; }
    .c-info-post--date .date--mouth {
      font-size: clamp(18px, 3vw, 48px);
      display: block;
      font-weight: 400; }
    .c-info-post--date .date--year {
      font-size: clamp(13px, 1.5vw, 24px);
      line-height: 1;
      display: block;
      margin-top: 0.33333333em; }
  .c-info-post--cat {
    font-size: clamp(13px, 0.8125vw, 13px);
    line-height: 2.4615384615;
    color: #1F2F34;
    background-color: #fff;
    padding-left: 16px;
    padding-right: 16px;
    border-radius: 1.5em;
    font-weight: 400;
    letter-spacing: 0.3px; }

/*.timeline*/
.timeline {
  list-style: none; }
  .timeline-body {
    margin-bottom: 3em; }
  .timeline-heading {
    margin-top: 3em; }

.timeline > li {
  margin-bottom: 60px; }

/* for Desktop */
@media (min-width: 667px) {
  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative; }

  .timeline-date {
    width: 110px;
    float: left;
    margin-top: 20px;
    font-weight: 400; }

  .timeline-content {
    width: 75%;
    float: left;
    border-left: 3px rgba(54, 137, 232, 0.5) solid;
    padding-left: 2em; }

  .timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #3689E8;
    position: absolute;
    left: 106px;
    top: 24px;
    border-radius: 100%; } }
/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%; }

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

figure {
  margin: 1em 0; }

/* 05-14 media object -----------------------------------------------------------*/
.img-round {
  border-radius: 50%; }

table {
  margin: 0 0 1.5em;
  width: 100%; }

input[type="button"], input[type="submit"], input[type="reset"] {
  cursor: pointer;
  line-height: 1;
  -webkit-appearance: none;
  border-radius: 0; }

button {
  cursor: pointer;
  line-height: 1;
  -webkit-appearance: none;
  border-radius: 0; }

input[type="button"][disabled], input[type="button"][readonly], input[type="button"][disabled]:hover, input[type="button"][readonly]:hover, input[type="submit"][disabled], input[type="submit"][readonly], input[type="submit"][disabled]:hover, input[type="submit"][readonly]:hover, input[type="reset"][disabled], input[type="reset"][readonly], input[type="reset"][disabled]:hover, input[type="reset"][readonly]:hover {
  color: #ccc !important;
  cursor: default !important;
  background-color: #f4f4f4 !important;
  border: solid 1px;
  border-color: #ccc !important;
  box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.3) !important; }

button[disabled], button[readonly], button[disabled]:hover, button[readonly]:hover {
  color: #ccc !important;
  cursor: default !important;
  background-color: #f4f4f4 !important;
  border: solid 1px;
  border-color: #ccc !important;
  box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.3) !important; }

fieldset:disabled button {
  color: #eee !important;
  cursor: default !important;
  background-color: #ddd !important;
  border: solid 1px;
  border-color: #ddd !important;
  box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.3) !important; }
fieldset:disabled input[type="button"], fieldset:disabled input[type="submit"], fieldset:disabled input[type="reset"] {
  color: #eee !important;
  cursor: default !important;
  background-color: #ddd !important;
  border: solid 1px;
  border-color: #ddd !important;
  box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.3) !important; }

/*btn style*/
.btn,
input.btn,
button.btn {
  background-color: #fff;
  color: #1F2F34;
  border: 1px solid #1F2F34;
  display: block;
  width: auto;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  margin-top: 0em;
  margin-bottom: 0em;
  padding-top: 1em;
  padding-bottom: 1em;
  cursor: pointer;
  text-decoration: none;
  outline: none;
  vertical-align: middle;
  padding-left: 2em;
  padding-right: 2em; }

.btn:hover {
  color: #fff;
  background-color: #1F2F34; }
.btn.disabled, .btn.readonly {
  color: #eee !important;
  cursor: default !important;
  background-color: #ddd !important;
  border: solid 1px;
  border-color: #ddd !important;
  box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.3) !important; }
  .btn.disabled:hover, .btn.readonly:hover {
    color: #eee !important;
    cursor: default !important;
    background-color: #ddd !important;
    border: solid 1px;
    border-color: #ddd !important;
    box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.3) !important; }
.btn.btn-rounded {
  border-radius: 1.25em !important; }
.btn i {
  font-size: 1em; }
.btn.btn-primary, .btninput.btn-primary, .btnbutton.btn-primary {
  background-color: transparent;
  border: solid 1px #fff;
  color: #fff; }
  .btn.btn-primary:hover, .btninput.btn-primary:hover, .btnbutton.btn-primary:hover {
    color: #1F2F34;
    background-color: #fff; }
.btn.btn-secondary, .btninput.btn-secondary, .btnbutton.btn-secondary {
  background-color: #1F2F34;
  border: solid 1px #1F2F34;
  color: #fff; }
  .btn.btn-secondary:hover, .btninput.btn-secondary:hover, .btnbutton.btn-secondary:hover {
    color: #1F2F34;
    background-color: #fff; }
.btn.large {
  font-size: clamp(13px, 1.25vw, 20px);
  line-height: 1.2; }
.btn--more {
  font-weight: 400; }
  .btn--more:hover {
    opacity: 0.6; }

/*--.btnsボタン複数を囲ったエリア--*/
.btns {
  margin-bottom: 2em; }
  .btns .btn {
    margin-left: 0.666666em; }
    .btns .btn:first-child {
      margin-left: 0; }

/*arrow btn*/
.circle--icon,
.mincircle--icon,
.bigcircle--icon,
.lgcircle--icon {
  border-radius: 100%;
  height: clamp(28px, 2.5vw, 48px);
  width: clamp(28px, 2.5vw, 48px);
  overflow: hidden;
  border: solid 1px #1F2F34;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition-property: transform, opacity border;
  transition-timing-function: ease;
  transition-duration: 0.2s;
  overflow: hidden;
  transition-delay: 0.4s; }
  .circle--icon .arrow-line-right,
  .circle--icon .arrow-line-left,
  .circle--icon .arrow-line-down,
  .circle--icon .arrow-line-up,
  .mincircle--icon .arrow-line-right,
  .mincircle--icon .arrow-line-left,
  .mincircle--icon .arrow-line-down,
  .mincircle--icon .arrow-line-up,
  .bigcircle--icon .arrow-line-right,
  .bigcircle--icon .arrow-line-left,
  .bigcircle--icon .arrow-line-down,
  .bigcircle--icon .arrow-line-up,
  .lgcircle--icon .arrow-line-right,
  .lgcircle--icon .arrow-line-left,
  .lgcircle--icon .arrow-line-down,
  .lgcircle--icon .arrow-line-up {
    position: relative;
    -webkit-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out;
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    -webkit-transition-property: all;
    transition-property: all;
    transition-delay: 0.25s;
    left: 0; }
  .circle--icon .arrow-line-left,
  .mincircle--icon .arrow-line-left,
  .bigcircle--icon .arrow-line-left,
  .lgcircle--icon .arrow-line-left {
    left: 0; }
  .circle--icon .arrow-line-down,
  .mincircle--icon .arrow-line-down,
  .bigcircle--icon .arrow-line-down,
  .lgcircle--icon .arrow-line-down {
    top: 0; }
  .circle--icon .arrow-line-up,
  .mincircle--icon .arrow-line-up,
  .bigcircle--icon .arrow-line-up,
  .lgcircle--icon .arrow-line-up {
    top: 0; }

.mincircle--icon {
  border-radius: 100%;
  height: clamp(24px, 2.8vw, 32px);
  width: clamp(24px, 2.8vw, 32px);
  overflow: hidden; }

.bigcircle--icon {
  border-radius: 100%;
  height: clamp(32px, 5vw, 80px);
  width: clamp(32px, 5vw, 80px);
  overflow: hidden; }

.lgcircle--icon {
  border-radius: 100%;
  height: clamp(40px, 7vw, 96px);
  width: clamp(40px, 7vw, 96px);
  overflow: hidden; }

.arrowbtn {
  text-decoration: none; }
  .arrowbtn-label {
    display: inline-block;
    position: relative;
    padding-bottom: 0.25em;
    /* &:before {
      content: "";
      display: block;
      width: 0%;
      background-color: $color_primary;
      height: 2px;
      position: absolute;
      bottom: 0;
      left: 0;
    }*/ }
  .arrowbtn-inner--hover {
    opacity: 0;
    background: #1F2F34;
    border-radius: 100%;
    height: 8px;
    width: 8px;
    overflow: hidden;
    -webkit-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out;
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    -webkit-transition-property: all;
    transition-property: all;
    display: block;
    transform: scale(1);
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -4px 0 0 -4px;
    z-index: 1; }
  .arrowbtn:hover .arrowbtn-label {
    /*&:before {
      width: 100%;
      opacity: 1;
    }*/ }
  .arrowbtn:hover .circle--icon,
  .arrowbtn:hover .mincircle--icon,
  .arrowbtn:hover .bigcircle--icon,
  .arrowbtn:hover .lgcircle--icon {
    border: solid 0px transparent;
    transform: scale(0.7, 0.7); }
  .arrowbtn:hover .arrowbtn-inner--hover {
    opacity: 1;
    transform: scale(1.5);
    transition-delay: 1s; }
  .arrowbtn:hover .arrow-line-left {
    left: -100%; }
  .arrowbtn:hover .arrow-line-right {
    left: 200%; }
  .arrowbtn:hover .arrow-line-down {
    top: 100%; }
  .arrowbtn:hover .arrow-line-up {
    top: -100%; }

.blockquote {
  position: relative;
  padding: 4em 3em;
  box-sizing: border-box;
  font-style: italic;
  background: #DEE0E1;
  border-radius: 4px;
  margin: 0 0 2em 0;
  margin: 0 auto; }
  .blockquote:before {
    display: inline-block;
    position: absolute;
    top: 1.5em;
    left: 1em;
    width: 36px;
    height: 36px;
    vertical-align: middle;
    text-align: center;
    content: "\f10d";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #7C8588;
    font-size: clamp(13px, 1.25vw, 20px);
    line-height: 1.6;
    border-radius: 50%; }
  .blockquote:after {
    display: inline-block;
    position: absolute;
    bottom: 1.5em;
    right: 1em;
    width: 36px;
    height: 36px;
    vertical-align: middle;
    text-align: center;
    content: "\f10e";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #7C8588;
    font-size: clamp(13px, 1.25vw, 20px);
    line-height: 1.6;
    border-radius: 50%; }
  .blockquote-txt {
    position: relative;
    padding: 0;
    margin: 10px 0; }
  .blockquote-cite {
    display: block;
    text-align: right;
    font-size: clamp(13px, 0.875vw, 14px);
    line-height: 1.1428571429; }
  .blockquote figure {
    text-align: center;
    padding: 20px 0; }

@media screen and (max-width: 768px) {
  .blockquote {
    padding: 2em; }
    .blockquote:before {
      top: .5em;
      left: .5em;
      width: 24px;
      height: 24px;
      font-size: clamp(13px, 0.9375vw, 15px);
      line-height: 1.6; }
    .blockquote:after {
      bottom: .5em;
      right: .5em;
      width: 24px;
      height: 24px;
      font-size: clamp(13px, 0.9375vw, 15px);
      line-height: 1.6; } }
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

input::placeholder {
  color: #1F2F34;
  opacity: .7; }

/* IE */
input:-ms-input-placeholder {
  color: #1F2F34;
  opacity: .7; }

/* Edge */
input::-ms-input-placeholder {
  color: #1F2F34;
  opacity: .7; }

/* --入力フォームでざいん-- */
textarea {
  min-height: 100px;
  height: auto;
  max-width: 100%;
  width: 100%;
  padding: .75em 1em;
  background-color: #F6F6F6;
  border: none;
  outline: none; }
  textarea:hover {
    box-shadow: 0 0 0 6px rgba(88, 201, 243, 0.1); }
  textarea:focus {
    background-color: #fff;
    box-shadow: 0 0 0 6px rgba(88, 201, 243, 0.1); }
  textarea:disabled, textarea[disabled], textarea[readonly] {
    background-color: #DEE0E1; }

select {
  /* 初期化 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  width: 100%;
  height: 100%;
  padding: 8px; }
  select:disabled, select[disabled], select[readonly] {
    border: 1px solid rgba(0, 0, 0, 0.5);
    background-color: #eee; }

input[type="text"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="email"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="number"] {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  padding: .5em 1em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  max-width: 100%;
  outline: none;
  border: none;
  height: 3em;
  background-color: #F6F6F6;
  border: none;
  outline: none; }
  input[type="text"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="url"]:hover, input[type="email"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="date"]:hover, input[type="month"]:hover, input[type="week"]:hover, input[type="time"]:hover, input[type="number"]:hover {
    box-shadow: 0 0 0 6px rgba(88, 201, 243, 0.1); }
  input[type="text"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="email"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="number"]:focus {
    background-color: #fff;
    box-shadow: 0 0 0 6px rgba(88, 201, 243, 0.1); }
  input[type="text"]:disabled, input[type="text"]:disabled:hover, input[type="text"]:disabled:focus, input[type="text"][disabled], input[type="text"][disabled]:hover, input[type="text"][disabled]:focus, input[type="text"][readonly], input[type="text"][readonly]:hover, input[type="text"][readonly]:focus, input[type="password"]:disabled, input[type="password"]:disabled:hover, input[type="password"]:disabled:focus, input[type="password"][disabled], input[type="password"][disabled]:hover, input[type="password"][disabled]:focus, input[type="password"][readonly], input[type="password"][readonly]:hover, input[type="password"][readonly]:focus, input[type="search"]:disabled, input[type="search"]:disabled:hover, input[type="search"]:disabled:focus, input[type="search"][disabled], input[type="search"][disabled]:hover, input[type="search"][disabled]:focus, input[type="search"][readonly], input[type="search"][readonly]:hover, input[type="search"][readonly]:focus, input[type="tel"]:disabled, input[type="tel"]:disabled:hover, input[type="tel"]:disabled:focus, input[type="tel"][disabled], input[type="tel"][disabled]:hover, input[type="tel"][disabled]:focus, input[type="tel"][readonly], input[type="tel"][readonly]:hover, input[type="tel"][readonly]:focus, input[type="url"]:disabled, input[type="url"]:disabled:hover, input[type="url"]:disabled:focus, input[type="url"][disabled], input[type="url"][disabled]:hover, input[type="url"][disabled]:focus, input[type="url"][readonly], input[type="url"][readonly]:hover, input[type="url"][readonly]:focus, input[type="email"]:disabled, input[type="email"]:disabled:hover, input[type="email"]:disabled:focus, input[type="email"][disabled], input[type="email"][disabled]:hover, input[type="email"][disabled]:focus, input[type="email"][readonly], input[type="email"][readonly]:hover, input[type="email"][readonly]:focus, input[type="datetime"]:disabled, input[type="datetime"]:disabled:hover, input[type="datetime"]:disabled:focus, input[type="datetime"][disabled], input[type="datetime"][disabled]:hover, input[type="datetime"][disabled]:focus, input[type="datetime"][readonly], input[type="datetime"][readonly]:hover, input[type="datetime"][readonly]:focus, input[type="datetime-local"]:disabled, input[type="datetime-local"]:disabled:hover, input[type="datetime-local"]:disabled:focus, input[type="datetime-local"][disabled], input[type="datetime-local"][disabled]:hover, input[type="datetime-local"][disabled]:focus, input[type="datetime-local"][readonly], input[type="datetime-local"][readonly]:hover, input[type="datetime-local"][readonly]:focus, input[type="date"]:disabled, input[type="date"]:disabled:hover, input[type="date"]:disabled:focus, input[type="date"][disabled], input[type="date"][disabled]:hover, input[type="date"][disabled]:focus, input[type="date"][readonly], input[type="date"][readonly]:hover, input[type="date"][readonly]:focus, input[type="month"]:disabled, input[type="month"]:disabled:hover, input[type="month"]:disabled:focus, input[type="month"][disabled], input[type="month"][disabled]:hover, input[type="month"][disabled]:focus, input[type="month"][readonly], input[type="month"][readonly]:hover, input[type="month"][readonly]:focus, input[type="week"]:disabled, input[type="week"]:disabled:hover, input[type="week"]:disabled:focus, input[type="week"][disabled], input[type="week"][disabled]:hover, input[type="week"][disabled]:focus, input[type="week"][readonly], input[type="week"][readonly]:hover, input[type="week"][readonly]:focus, input[type="time"]:disabled, input[type="time"]:disabled:hover, input[type="time"]:disabled:focus, input[type="time"][disabled], input[type="time"][disabled]:hover, input[type="time"][disabled]:focus, input[type="time"][readonly], input[type="time"][readonly]:hover, input[type="time"][readonly]:focus, input[type="number"]:disabled, input[type="number"]:disabled:hover, input[type="number"]:disabled:focus, input[type="number"][disabled], input[type="number"][disabled]:hover, input[type="number"][disabled]:focus, input[type="number"][readonly], input[type="number"][readonly]:hover, input[type="number"][readonly]:focus {
    background-color: #DEE0E1; }

/*入力フォーム内検索ボタン*/
.control-input-inline {
  position: relative; }
  .control-input-inline input {
    padding-right: 30px;
    width: 100%; }
  .control-input-inline .btn-icon {
    background-color: transparent;
    border: none;
    position: absolute;
    right: 0;
    top: 0; }

.select {
  background: #3689E8;
  color: #fff;
  height: 40px;
  width: 300px;
  max-width: 100%;
  border-radius: 3px;
  position: relative;
  z-index: 1; }
  .select::after {
    position: absolute;
    content: '';
    width: 8px;
    height: 8px;
    right: 10px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    z-index: -1; }
  .select option {
    color: #1F2F34; }

.badge {
  padding: 0.5em 1.25em 0.25em 1.25em;
  border-radius: 1.25em;
  white-space: nowrap;
  display: inline-block;
  background-color: #fff;
  text-align: center;
  line-height: 1;
  font-size: clamp(13px, 0.8125vw, 24px);
  line-height: 1;
  font-weight: 400;
  color: #1F2F34; }
  .badge--s {
    font-size: clamp(13px, 0.8125vw, 14px);
    line-height: 1.1428571429; }

.badge--danger {
  background: #d41d41;
  color: #fff; }

.badge--dark {
  background: #1F2F34;
  color: #fff; }
  .badge--dark:hover {
    color: #fff; }

.badge--success {
  background: #3689E8;
  color: #fff; }
  .badge--success:hover {
    color: #fff; }

/*個別サイト用*/
.badge.corporate {
  background-color: #3689E8;
  color: #fff; }
.badge.case-study {
  background-color: #1F2F34;
  color: #fff; }

input[type="radio"], input[type="checkbox"] {
  margin: 0 0.666666em 0 0;
  vertical-align: middle; }

.checkbox {
  position: relative;
  display: block;
  line-height: 2.35; }
  .checkbox input[type="checkbox"] {
    position: absolute;
    left: 0;
    top: 50%;
    margin: 0 0 0 6px;
    transform: translate(0, -50%);
    opacity: 0; }
    .checkbox input[type="checkbox"] + span::before, .checkbox input[type="checkbox"] + span::after {
      position: absolute;
      left: 0;
      top: 50%;
      transform: translate(0, -50%);
      display: block;
      z-index: 2;
      color: #fff;
      box-shadow: 0 0 0 6px rgba(88, 201, 243, 0);
      -webkit-box-shadow: 0 0 0 6px rgba(88, 201, 243, 0);
      line-height: 19px;
      letter-spacing: 0; }
    .checkbox input[type="checkbox"] + span::before {
      content: '';
      width: 12px;
      height: 8px;
      border-left: 3px solid #fff;
      border-bottom: 3px solid #fff;
      transform: rotate(-45deg);
      display: none;
      margin-top: -5px; }
    .checkbox input[type="checkbox"] + span::after {
      content: "";
      display: block;
      font-weight: 400;
      border: solid 1px #1F2F34;
      z-index: 1;
      width: 19px;
      height: 19px;
      border-radius: 3px; }
    .checkbox input[type="checkbox"]:disabled + span {
      color: #7C8588; }
      .checkbox input[type="checkbox"]:disabled + span::before {
        color: #fff; }
      .checkbox input[type="checkbox"]:disabled + span::after {
        background-color: #7C8588;
        border: solid 1px #7C8588; }
    .checkbox input[type="checkbox"]:checked + span::before {
      left: 4px;
      display: block; }
    .checkbox input[type="checkbox"]:checked + span::after {
      background-color: #3689E8;
      border: solid 1px #3689E8; }
    .checkbox input[type="checkbox"]:checked:disabled + span::before {
      color: #fff; }
    .checkbox input[type="checkbox"]:checked:disabled + span::after {
      background-color: #7C8588;
      border: solid 1px #7C8588; }
  .checkbox:hover input[type="checkbox"] + span::after {
    box-shadow: 0 0 0 6px rgba(88, 201, 243, 0.1);
    -webkit-box-shadow: 0 0 0 6px rgba(88, 201, 243, 0.1);
    border-color: #58c9f3; }
  .checkbox:hover input[type="checkbox"]:disabled + span::after {
    box-shadow: 0 0 0 6px rgba(88, 201, 243, 0);
    -webkit-box-shadow: 0 0 0 6px rgba(88, 201, 243, 0); }

.radio {
  position: relative;
  display: block;
  line-height: 2.35; }
  .radio input[type="radio"] {
    position: absolute;
    left: 0;
    top: 50%;
    margin: 0 0 0 6px;
    transform: translate(0, -50%);
    opacity: 0; }
    .radio input[type="radio"] + span::before, .radio input[type="radio"] + span::after {
      position: absolute;
      left: 0;
      top: 50%;
      transform: translate(0, -50%);
      display: block;
      border-radius: 4px;
      z-index: 2;
      color: #fff;
      box-shadow: 0 0 0 6px rgba(88, 201, 243, 0);
      -webkit-box-shadow: 0 0 0 6px rgba(88, 201, 243, 0);
      line-height: 19px;
      letter-spacing: 0; }
    .radio input[type="radio"] + span::after {
      content: "";
      display: block;
      font-weight: 400;
      border: solid 1px #1F2F34;
      z-index: 1;
      width: 19px;
      height: 19px;
      border-radius: 50%; }
    .radio input[type="radio"]:disabled + span {
      color: #7C8588; }
      .radio input[type="radio"]:disabled + span::before {
        color: #fff; }
      .radio input[type="radio"]:disabled + span::after {
        background-color: #7C8588;
        border: solid 1px #7C8588; }
    .radio input[type="radio"]:checked + span::before {
      color: #fff;
      left: 3px;
      font-size: 13px;
      content: "";
      background-color: #3689E8;
      width: 13px;
      height: 13px;
      border-radius: 50%; }
    .radio input[type="radio"]:checked:disabled + span::before {
      color: #dcc5da; }
    .radio input[type="radio"]:checked:disabled + span::after {
      background-color: #7C8588;
      border: solid 1px #7C8588; }
  .radio:hover input[type="radio"] + span::after {
    box-shadow: 0 0 0 6px rgba(88, 201, 243, 0.1);
    -webkit-box-shadow: 0 0 0 6px rgba(88, 201, 243, 0.1);
    border-color: #58c9f3; }
  .radio:hover input[type="radio"]:disabled + span::after {
    box-shadow: 0 0 0 6px rgba(88, 201, 243, 0);
    -webkit-box-shadow: 0 0 0 6px rgba(88, 201, 243, 0); }

.checkbox-s {
  line-height: 1.7; }
  .checkbox-s input[type="checkbox"] + span::before {
    font-size: 10px;
    left: 2px;
    line-height: 11px; }
  .checkbox-s input[type="checkbox"] + span::after {
    width: 14px;
    height: 14px; }
.checkbox-l {
  font-size: 133.33%;
  line-height: 2; }
  .checkbox-l input[type="checkbox"] + span::after {
    width: 25px;
    height: 25px; }
  .checkbox-l input[type="checkbox"] + span::before {
    font-size: 17px;
    left: 4px;
    line-height: 25px; }
.checkbox-group {
  background-color: #e6ecf5;
  padding: 0.666666em;
  border-radius: 4px; }
  .checkbox-group.is-checked {
    background-color: #ddd; }

.radio-s {
  line-height: 1.7; }
  .radio-s input[type="radio"] + span::before {
    font-size: 10px;
    left: 2px;
    line-height: 11px;
    width: 10px;
    height: 10px; }
  .radio-s input[type="radio"] + span::after {
    width: 14px;
    height: 14px; }
.radio-l {
  font-size: 133.33%;
  line-height: 2; }
  .radio-l input[type="radio"] + span::after {
    width: 25px;
    height: 25px; }
  .radio-l input[type="radio"] + span::before {
    font-size: 17px;
    left: 4px;
    line-height: 25px;
    width: 17px;
    height: 17px; }

.checkbox-label, .radio-label {
  padding: 0 0 0 2.333333em;
  display: inline-block;
  position: relative;
  white-space: nowrap;
  line-height: 18px; }
.checkbox-s .checkbox-label, .checkbox-s .radio-label, .radio-s .checkbox-label, .radio-s .radio-label {
  padding: 0 0 0 1.66666em; }
.checkbox-l .checkbox-label, .checkbox-l .radio-label, .radio-l .checkbox-label, .radio-l .radio-label {
  padding: 0 0 0 2.00005em;
  line-height: 1.3; }

/*
# Components
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word; }

.bypostauthor {
  display: block; }

.wrapper {
  width: 100%;
  height: auto;
  padding-left: 64px;
  padding-right: 64px;
  padding-top: 64px; }

.container {
  width: auto;
  height: auto;
  text-align: left;
  padding: 0 100px; }
  .container-full {
    padding-left: 64px;
    padding-right: 64px; }

.w-900 {
  width: 900px; }

/*--Child elements--*/
.l-inner {
  background-color: #fff;
  padding: 32px;
  border-radius: 3px; }
  .l-inner--6col {
    width: 100%; }
  .l-inner--5col {
    width: 83.33333333333%; }
  .l-inner--4col {
    width: 66.6666666666%; }
  .l-inner--3col {
    width: 50%; }

.block {
  display: block; }

.inline {
  display: inline-block; }

.inner {
  padding-left: 64px;
  padding-right: 64px; }

@media screen and (max-width: 1024px) {
  .none_m {
    display: none; }

  .container {
    width: 100%;
    padding-left: 64px;
    padding-right: 64px; }

  .w-900 {
    width: 100%; } }
@media screen and (max-width: 768px) {
  .none_s {
    display: none; }

  .wrapper {
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 32px; }

  .container {
    padding-left: 32px;
    padding-right: 32px; }
    .container-full {
      padding-left: 32px;
      padding-right: 32px; }

  .inner {
    padding-left: 32px;
    padding-right: 32px; }

  .l-inner {
    padding-left: 32px;
    padding-right: 32px; }
    .l-inner--6col_m {
      width: 100%; }
    .l-inner--5col_m {
      width: 83.33333333333%; }
    .l-inner--4col_m {
      width: 66.6666666666%; }
    .l-inner--3col_m {
      width: 50%; } }
@media screen and (max-width: 667px) {
  .none_ss {
    display: none; }

  .wrapper {
    padding-left: 16px;
    padding-right: 16px; }

  .container {
    padding-left: .25em;
    padding-right: .25em; }
    .container-full {
      padding-left: .25em;
      padding-right: .25em; }

  .inner {
    padding-left: .25em;
    padding-right: .25em; }

  .l-inner {
    padding-left: .25em;
    padding-right: .25em; }
    .l-inner--6col_s {
      width: 100%; }
    .l-inner--5col_s {
      width: 83.33333333333%; }
    .l-inner--4col_s {
      width: 66.6666666666%; }
    .l-inner--3col_s {
      width: 50%; } }
figure {
  margin: 0;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  -webkit-padding-start: 0;
  max-width: 100%; }

.figure {
  position: relative;
  overflow: hidden; }

.figure-img {
  height: 100%;
  width: 100%;
  display: block;
  transition: all 1s;
  object-fit: cover; }

.figure-caption {
  padding: 0.666666em;
  z-index: 1;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center; }
  .figure-caption:before, .figure-caption:after {
    content: "";
    display: block;
    transition: opacity 0.1s, width 0.3s 0.1s, height 0.3s 0.4s;
    width: 0;
    height: 0;
    opacity: 0;
    position: absolute; }
  .figure-caption:before {
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    right: 16px;
    bottom: 16px; }
  .figure-caption:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    left: 16px;
    top: 16px; }

.figure-overlay {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%; }
  .figure-overlay:before, .figure-overlay:after {
    transition: opacity 0.8s, width 0.3s 0.1s, height 0.3s 0.4s;
    z-index: 1;
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: all 0.1s; }
  .figure-overlay:before {
    opacity: 1;
    background: rgba(43, 43, 39, 0.6);
    mix-blend-mode: darken; }
  .figure-overlay .figure-caption {
    padding: 1.5em;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    height: 100%;
    width: 100%; }
    .figure-overlay .figure-caption small {
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 1.5384615385;
      margin-top: 1.1538461538em;
      margin-bottom: 0em; }
    .figure-overlay .figure-caption p {
      font-size: 25px;
      font-size: 2.5rem;
      line-height: 1;
      margin-top: 0.8em;
      margin-bottom: 0.8em;
      letter-spacing: 20px;
      margin-left: 20px; }

.figure-overlay .figure-caption:before {
  content: "";
  display: block;
  transition: opacity 0.1s, width 0.3s 0.1s, height 0.3s 0.4s;
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  right: 16px;
  bottom: 16px; }
.figure-overlay .figure-caption:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  left: 16px;
  top: 16px; }

a:hover .figure-overlay:before {
  opacity: 0; }
a:hover .figure-overlay .figure-img {
  /* filter: blur(4px);*/
  transform: scale(1.15); }
a:hover .figure-overlay .figure-caption:before, a:hover .figure-overlay .figure-caption:after {
  opacity: 1;
  width: calc(100% - 32px);
  height: calc(100% - 32px); }

@media screen and (max-width: 768px) {
  .figure-overlay .figure-caption p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1;
    margin-top: 0em;
    margin-bottom: 0em;
    letter-spacing: 10px;
    margin-left: 10px; } }
/*コンテンツ内の説明用画像*/
.figure--explanation {
  margin: 3em 0; }
  .figure--explanation img {
    width: 100%;
    margin: 0 auto;
    border-radius: 1.25em; }

.figure--sup {
  margin: 1em 0; }
  .figure--sup img {
    width: auto;
    margin: 0 auto; }

/* ローディング画面背景 */
.loader-bg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center; }

.media {
  display: flex;
  align-items: flex-start;
  /*overflow: hidden;*/
  margin-bottom: 1em; }
  .media-align-center {
    align-items: center; }
  .media-align-bottom {
    align-items: flex-end; }
  .media-container {
    width: auto;
    height: auto;
    /*--交互--*/ }
    .media-container-reverse .media {
      flex-direction: row-reverse; }
    .media-container-reverse .media-body {
      padding-left: 0;
      padding-right: 2em; }
    .media-container-alternate .media:nth-child(even) {
      flex-direction: row-reverse; }
    .media-container-alternate .media:nth-child(even) .media-body {
      padding-left: 0;
      padding-right: 2em; }
  .media-body {
    padding-left: 2em;
    flex: 1; }
  .media-img {
    width: auto;
    height: auto;
    overflow: hidden; }
    .media-img img {
      width: auto;
      height: auto;
      object-fit: cover;
      object-position: 50% 50%;
      font-family: "object-fit: cover; object-position: 50% 50%;"; }
  .media-txt {
    font-size: clamp(13px, 0.85vw, 14px);
    line-height: 1.7142857143;
    margin: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; }
  .media-vertical {
    display: flex;
    flex-direction: column;
    margin-bottom: 1em; }
    .media-vertical.media-vertical-reverse {
      flex-direction: column-reverse; }
    .media-vertical .media-img {
      width: auto;
      height: auto;
      border-radius: 1.25em; }
      .media-vertical .media-img img {
        height: 100%;
        width: 100%;
        transform: scale(1, 1); }
    .media-vertical .media-body {
      padding: 1em 0 0 0;
      min-height: 1px;
      flex: none; }
    .media-vertical a {
      text-decoration: none; }
      .media-vertical a .media-heading {
        position: relative; }
        .media-vertical a .media-heading:before {
          content: "";
          width: 0;
          height: 1px;
          background-color: #1F2F34;
          position: absolute;
          left: 0;
          bottom: 0; }
      .media-vertical a:hover .media-heading:before {
        width: 100%; }
      .media-vertical a:hover .media-img img {
        transform: scale(1.2, 1.2); }

/**********************************************************/
.medialink {
  display: flex;
  height: 100%;
  flex-wrap: wrap; }
  .medialink-item {
    padding-left: 1px;
    padding-bottom: 1px;
    height: 450px;
    min-height: 100%; }
    .medialink-item:first-child {
      padding-left: 0; }
  .medialink-link {
    display: block;
    padding: 0;
    position: relative;
    color: #5b5b5b;
    overflow: hidden;
    height: 100%; }
    .medialink-link:hover {
      color: #5b5b5b; }
    .medialink-link-arrow {
      position: absolute;
      bottom: 5px;
      right: 15px;
      color: #fff;
      width: 40px;
      height: auto;
      padding: 0; }
    .medialink-link:hover .medialink-link-arrow {
      right: 10px; }
    .medialink-link figure.figure-overlay {
      height: 100%; }
      .medialink-link figure.figure-overlay::before {
        background: rgba(37, 48, 73, 0.3); }
      .medialink-link figure.figure-overlay figcaption.figure-caption {
        background-color: #fff;
        width: 210px !important;
        height: auto !important;
        flex-direction: column;
        top: auto !important;
        bottom: 0;
        color: #1F2F34;
        align-items: baseline; }
        .medialink-link figure.figure-overlay figcaption.figure-caption::after {
          display: none; }
  .medialink-heading {
    font-family: "Lato";
    color: #1F2F34;
    margin-top: 0; }
    .medialink-heading small {
      display: block;
      font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }
  .medialink-colums_1 .medialink-item {
    width: 100%; }
  .medialink-colums_2 .medialink-item {
    width: 50%; }
  .medialink-colums_3 .medialink-item {
    width: calc(100% / 3); }
  .medialink-colums_4 .medialink-item {
    width: 25%; }

@media screen and (max-width: 1024px) {
  .medialink-link figure.figure-overlay figcaption.figure-caption {
    width: 180px !important;
    padding: 1.5em 0.666666em; } }
@media screen and (max-width: 768px) {
  .medialink-item {
    height: 350px; }
  .medialink-colums_1_m .medialink-item {
    width: 100%;
    padding-left: 0; }
  .medialink-colums_2_m .medialink-item {
    width: 50%; }
  .medialink-colums_3_m .medialink-item {
    width: calc(100% / 3); }
  .medialink-colums_4_m .medialink-item {
    width: 25%; } }
@media screen and (max-width: 560px) {
  .medialink-colums_1_s .medialink-item {
    width: 100%;
    padding-left: 0; }
  .medialink-colums_2_s .medialink-item {
    width: 50%; }
  .medialink-colums_3_s .medialink-item {
    width: calc(100% / 3); }
  .medialink-colums_4_s .medialink-item {
    width: 25%; } }
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0; }

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block; }

.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%; }
  .wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto; }

.wp-caption-text {
  text-align: center;
  margin: 0.8075em 0; }

.gallery {
  display: flex;
  margin-left: -1px; }
  .gallery-item {
    text-align: center;
    flex: 1;
    padding-left: 1px;
    padding-bottom: 1px; }
    .gallery-item img {
      width: 100%; }
  .gallery-caption {
    display: block; }
  .gallery-icon {
    color: #fff;
    font-size: clamp(13px, 2.5vw, 40px);
    line-height: 1; }

@media screen and (max-width: 1024px) {
  .gallery {
    flex-wrap: wrap; }
    .gallery-columns-4_m .gallery-item {
      width: calc(100% / 4);
      flex: calc(100% / 4); }
    .gallery-columns-2_m .gallery-item {
      width: calc(100% / 2);
      flex: calc(100% / 2); } }
@media screen and (max-width: 768px) {
  .gallery-columns-4_s .gallery-item {
    width: calc(100% / 4);
    flex: calc(100% / 4); }
  .gallery-columns-2_s .gallery-item {
    width: calc(100% / 2);
    flex: calc(100% / 2); }
  .gallery-columns-1_s .gallery-item {
    width: 100%;
    flex: 100%; } }
@media screen and (max-width: 667px) {
  .gallery-columns-4_ss .gallery-item {
    width: calc(100% / 4);
    flex: calc(100% / 4); }
  .gallery-columns-2_ss .gallery-item {
    width: calc(100% / 2);
    flex: calc(100% / 2); }
  .gallery-columns-1_ss .gallery-item {
    width: 100%;
    flex: 100%; } }
form {
  padding: 0;
  margin: 0;
  width: auto;
  display: block; }

/*--入力フォームの各サイズ--*/
.size-input-5 {
  width: 5%; }
.size-input-10 {
  width: 10%; }
.size-input-15 {
  width: 15%; }
.size-input-20 {
  width: 20%; }
.size-input-24 {
  width: 25%; }
.size-input-30 {
  width: 30%; }
.size-input-35 {
  width: 35%; }
.size-input-40 {
  width: 40%; }
.size-input-45 {
  width: 45%; }
.size-input-50 {
  width: 50%; }
.size-input-55 {
  width: 55%; }
.size-input-60 {
  width: 60%; }
.size-input-65 {
  width: 65%; }
.size-input-70 {
  width: 70%; }
.size-input-75 {
  width: 75%; }
.size-input-80 {
  width: 80%; }
.size-input-85 {
  width: 85%; }
.size-input-90 {
  width: 90%; }
.size-input-95 {
  width: 95%; }
.size-input-100 {
  width: 100%; }

@media screen and (max-width: 1024px) {
  .size-input-5_m {
    width: 5%; }
  .size-input-10_m {
    width: 10%; }
  .size-input-15_m {
    width: 15%; }
  .size-input-20_m {
    width: 20%; }
  .size-input-24_m {
    width: 25%; }
  .size-input-30_m {
    width: 30%; }
  .size-input-35_m {
    width: 35%; }
  .size-input-40_m {
    width: 40%; }
  .size-input-45_m {
    width: 45%; }
  .size-input-50_m {
    width: 50%; }
  .size-input-55_m {
    width: 55%; }
  .size-input-60_m {
    width: 60%; }
  .size-input-65_m {
    width: 65%; }
  .size-input-70_m {
    width: 70%; }
  .size-input-75_m {
    width: 75%; }
  .size-input-80_m {
    width: 80%; }
  .size-input-85_m {
    width: 85%; }
  .size-input-90_m {
    width: 90%; }
  .size-input-95_m {
    width: 95%; }
  .size-input-100_m {
    width: 100%; } }
@media screen and (max-width: 768px) {
  .size-input-5_s {
    width: 5%; }
  .size-input-10_s {
    width: 10%; }
  .size-input-15_s {
    width: 15%; }
  .size-input-20_s {
    width: 20%; }
  .size-input-24_s {
    width: 25%; }
  .size-input-30_s {
    width: 30%; }
  .size-input-35_s {
    width: 35%; }
  .size-input-40_s {
    width: 40%; }
  .size-input-45_s {
    width: 45%; }
  .size-input-50_s {
    width: 50%; }
  .size-input-55_s {
    width: 55%; }
  .size-input-60_s {
    width: 60%; }
  .size-input-65_s {
    width: 65%; }
  .size-input-70_s {
    width: 70%; }
  .size-input-75_s {
    width: 75%; }
  .size-input-80_s {
    width: 80%; }
  .size-input-85_s {
    width: 85%; }
  .size-input-90_s {
    width: 90%; }
  .size-input-95_s {
    width: 95%; }
  .size-input-100_s {
    width: 100%; } }
@media screen and (max-width: 667px) {
  .size-input-5_ss {
    width: 5%; }
  .size-input-10_ss {
    width: 10%; }
  .size-input-15_ss {
    width: 15%; }
  .size-input-20_ss {
    width: 20%; }
  .size-input-24_ss {
    width: 25%; }
  .size-input-30_ss {
    width: 30%; }
  .size-input-35_ss {
    width: 35%; }
  .size-input-40_ss {
    width: 40%; }
  .size-input-45_ss {
    width: 45%; }
  .size-input-50_ss {
    width: 50%; }
  .size-input-55_ss {
    width: 55%; }
  .size-input-60_ss {
    width: 60%; }
  .size-input-65_ss {
    width: 65%; }
  .size-input-70_ss {
    width: 70%; }
  .size-input-75_ss {
    width: 75%; }
  .size-input-80_ss {
    width: 80%; }
  .size-input-85_ss {
    width: 85%; }
  .size-input-90_ss {
    width: 90%; }
  .size-input-95_ss {
    width: 95%; }
  .size-input-100_ss {
    width: 100%; } }
/*タイプ別*/
.size-input-name {
  width: 16em; }
.size-input-nameS {
  width: 8em; }
.size-input-company {
  width: 17em; }
.size-input-division {
  width: 17em; }
.size-input-quantity {
  width: 6em; }
.size-input-zip {
  width: 7em; }
.size-input-zip3 {
  width: 5em; }
.size-input-zip4 {
  width: 5em; }
.size-input-pref {
  width: 6em; }
.size-input-address {
  width: 26em; }
.size-input-tel {
  width: 12.5em; }
.size-input-tel_s {
  width: 7em; }
.size-input-homepage {
  width: 35em; }
.size-input-email {
  width: 20em; }
.size-input-message {
  width: 100%; }

@media screen and (max-width: 667px) {
  .size-input-name, .size-input-nameS, .size-input-company, .size-input-division, .size-input-quantity, .size-input-zip, .size-input-zip3, .size-input-zip4, .size-input-pref, .size-input-address, .size-input-tel, .size-input-tel_s, .size-input-homepage, .size-input-email, .size-input-message {
    width: 100%; }

  label.fileup-txt {
    width: 100%; } }
/* 04-03 form layout ---------------------------------------------------------*/
fieldset {
  padding: 0;
  margin: 0 0 1em 0;
  border: none; }
  fieldset.form-container {
    padding-bottom: 1em;
    margin-bottom: 1em;
    margin-top: 1em; }
    fieldset.form-container:last-child, fieldset.form-container:only-child {
      padding-bottom: 0;
      margin-bottom: 0; }

legend {
  margin-bottom: 2em;
  /*--fieldsetのキャプチャー--*/
  /*--legend用スタイル　fieldsetとセット--*/ }

.form {
  /*--コメント用スタイル--*/
  /*--タイトル-------*/
  /*--デフォルト項目--*/ }
  .form-field {
    /*入力フォーム１set*/
    margin-bottom: 1.5em; }
  .form-text {
    display: block;
    font-size: clamp(13px, 0.8125vw, 16px);
    line-height: 1.5; }
  .form-label {
    display: block;
    margin-bottom: .5em; }
    .form-label::after {
      content: "";
      display: block; }
    .form-label .badge {
      margin-left: 0.5em; }
  .form-input {
    /*入力エリア*/
    width: auto; }
  .form-group {
    margin: 0 0 2em 0;
    /*--デフォルト項目タイトル値の横並び--*/ }
    .form-group-row {
      display: flex;
      align-items: flex-start; }
      .form-group-row .form-label {
        padding-right: 1em;
        margin-top: 0.4666666em; }
      .form-group-row .form-control {
        flex: 1; }

@media screen and (max-width: 768px) {
  .form-wrapper {
    width: 100%; } }
.card {
  background-color: #fff;
  color: #1F2F34;
  overflow: hidden;
  border-radius: 1.25em; }
  .card-box {
    padding: 2em;
    margin-bottom: 2em;
    background: #fff; }
    .card-box--success {
      background-color: #3689E8; }
  .card-body {
    padding: 2em; }
  .card-heading {
    margin-bottom: 0.5em; }
  .card-ft {
    background-color: #fff; }
    .card-ft p {
      padding: 1em 2em; }
    .card-ft a {
      padding: 32px;
      text-align: center;
      font-size: clamp(13px, 2vw, 32px);
      line-height: 1;
      font-weight: 400;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      position: relative;
      min-height: 144px;
      border-top: solid 1px #F6F6F6; }
      .card-ft a:before {
        content: "";
        width: 100%;
        height: 100%;
        display: block;
        background-color: rgba(31, 47, 52, 0.1);
        opacity: 0;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 1;
        transform: scale(0); }
      .card-ft a:hover:before {
        transform: scale(1);
        opacity: 1; }
      .card-ft a .bigcircle--icon {
        position: absolute;
        right: 32px; }

/* Navigation
--------------------------------------------- */
.navbar {
  display: flex;
  /*--横並び--*/
  flex-direction: row;
  align-items: center; }
  .navbar-btn {
    text-decoration: none; }

.header-navbar {
  width: 100%; }

.nav ul,
.nav ol {
  margin-bottom: 0; }

.nav-row ul,
.nav-row ol {
  margin-bottom: 0; }

.nav-list {
  display: flex; }

/*nav ul */
.nav > .nav-list {
  width: 100%;
  flex-direction: column; }

.nav-row > .nav-list {
  flex-direction: row;
  width: auto; }

.nav > .nav-list > .nav-item {
  position: relative;
  width: auto;
  min-height: 0%;
  /*--IEで高さに余分な余白の対応策--*/ }

.nav .nav-item a i + span,
.nav .nav-item a svg + span {
  display: inline-block; }

.nav-item a {
  padding: 0 .5em;
  display: block; }
  .nav-item a i,
  .nav-item a svg {
    margin: 0; }
  .nav-item a i:first-child,
  .nav-item a svg:first-child {
    margin-right: 1rem; }

/*--.nav a --*/
.nav-ttl {
  padding-bottom: 0.5em;
  border-bottom: 1px solid #ddd;
  color: #ddd; }

.gnav {
  width: auto;
  margin-right: auto; }
  .gnav a {
    font-size: clamp(13px, 1.5vw, 24px);
    line-height: 1;
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 16px;
    padding-right: 16px;
    white-space: nowrap;
    position: relative;
    text-decoration: none;
    display: inline-block;
    font-weight: 600; }
    .gnav a > span {
      font-weight: 300;
      font-size: clamp(13px, 0.75vw, 16px);
      line-height: 1.5; }
    .gnav a::before {
      content: "";
      display: block;
      position: absolute;
      top: calc(16px + 0.5em);
      left: 0;
      background-color: #1F2F34;
      border-radius: 100%;
      height: 8px;
      width: 8px;
      overflow: hidden;
      margin-top: -8px;
      opacity: 0; }
    .gnav a:hover::before, .gnav a.is-current::before {
      opacity: 1; }
  .gnav li {
    margin-bottom: 16px; }
  .gnav .nav-child {
    margin-left: 2em;
    margin-top: 0; }
    .gnav .nav-child li {
      position: relative;
      margin: 0; }
      .gnav .nav-child li a {
        font-size: clamp(13px, 1vw, 16px);
        line-height: 1.5;
        padding-top: 0.4em;
        padding-bottom: 0.4em;
        padding-left: 1em; }

/* 06-07 toggle */
.toggle {
  position: fixed;
  z-index: 2;
  left: 2em;
  top: 2em; }
  .toggle--name {
    font-size: clamp(13px, 0.815vw, 16px);
    line-height: 1.5;
    display: block;
    text-align: center;
    font-weight: 600; }
    .toggle--name::before {
      content: "MENU"; }
  .toggle-btn {
    line-height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-align: center;
    border: solid 3px #1F2F34;
    background-color: transparent;
    border-radius: 100%;
    height: 64px;
    width: 64px;
    overflow: hidden; }
    .toggle-btn .batsu {
      display: none; }
  .toggle.is-white .toggle-btn {
    border-color: #fff; }
  .toggle.is-white .toggle--name {
    color: #fff; }
  .toggle.is-active {
    z-index: 100;
    left: 50%;
    margin-left: -32px; }
    .toggle.is-active .toggle-btn {
      border: none;
      flex-direction: column-reverse; }
    .toggle.is-active .toggle--name {
      font-size: clamp(13px, 0.8125vw, 13px);
      line-height: 1; }
      .toggle.is-active .toggle--name::before {
        content: "CLOSE";
        color: #1F2F34; }
    .toggle.is-active .batsu {
      display: block; }

.scroll-hidden {
  overflow: hidden; }

/* ft gnav */
.ft-gnav {
  display: grid;
  font-weight: 400;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  letter-spacing: 0; }
  .ft-gnav a {
    text-decoration: none;
    position: relative; }
    .ft-gnav a:before {
      content: "";
      display: block;
      height: 1px;
      width: 0;
      background-color: #1F2F34;
      opacity: 0;
      position: absolute;
      bottom: 0;
      left: 0; }
    .ft-gnav a:hover:before {
      width: 100%;
      opacity: 1; }
  .ft-gnav > ul {
    list-style: none;
    margin: 0 0 0 80px; }
    .ft-gnav > ul > li {
      width: auto;
      margin-bottom: 2em;
      list-style: none;
      font-size: clamp(13px, 1.25vw, 20px);
      line-height: 1.2; }
  .ft-gnav > ul > li > dl {
    margin: 0; }
    .ft-gnav > ul > li > dl dt {
      font-size: clamp(13px, 1.25vw, 20px);
      line-height: 1.2;
      margin-bottom: 1em; }
    .ft-gnav > ul > li > dl dd {
      font-size: clamp(13px, 1vw, 16px);
      line-height: 1.5;
      margin-bottom: 1em;
      opacity: 0.7;
      position: relative;
      padding-left: 20px; }
      .ft-gnav > ul > li > dl dd:before {
        content: "";
        display: inline-block;
        height: 1px;
        width: 13px;
        background-color: #fff;
        opacity: 0.8;
        position: absolute;
        left: 0;
        top: 0.5em; }
      .ft-gnav > ul > li > dl dd:last-child {
        margin-bottom: 0; }

@media screen and (max-width: 1024px) {
  .gnav {
    /*display: none;*/ }

  .toggle-btn {
    right: 20px; }

  .ft-gnav {
    margin-top: 2em; } }
@media screen and (max-width: 768px) {
  .toggle-btn {
    top: 15px; } }
@media screen and (max-width: 667px) {
  .gnav a::before {
    top: 0.5em;
    margin-top: 0; }

  .gnav .nav-child {
    margin-left: 0; }

  .toggle {
    bottom: 8px;
    left: 50%;
    margin-left: -32px;
    top: auto; }

  .toggle-btn {
    right: 15px; }

  .ft-gnav {
    margin: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto; }
    .ft-gnav dl,
    .ft-gnav ul {
      margin-bottom: 1em;
      margin-left: 0; } }
.fullnav {
  width: 100vw;
  height: 100vh;
  background-color: #F6F6F6;
  position: fixed;
  left: 0;
  top: 0;
  display: none;
  z-index: 11;
  overflow: auto; }
  .fullnav-container {
    display: flex;
    flex-direction: row-reverse;
    width: calc(100% - 64px);
    height: calc(100% - 120px);
    margin-top: 89px;
    margin-bottom: 16px;
    margin-left: 32px; }
  .fullnav--info {
    width: auto;
    display: flex;
    height: 100%;
    flex-direction: column;
    flex: 1; }
  .fullnav--gnav {
    padding-left: 64px;
    padding-top: 64px;
    display: flex;
    flex-direction: column;
    margin-left: auto;
    flex: 3; }
    .fullnav--gnav .gnav {
      display: flex;
      width: 100%;
      flex-wrap: wrap; }
      .fullnav--gnav .gnav .nav-list {
        width: auto; }
        .fullnav--gnav .gnav .nav-list:first-child {
          margin-right: 5em; }
  .fullnav--contact {
    margin-top: auto;
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 16px;
    padding-bottom: 64px;
    text-decoration: none;
    font-size: clamp(13px, 0.8125vw, 16px);
    line-height: 1.5;
    position: relative;
    border-radius: 1.25em;
    background-color: #fff; }
    .fullnav--contact .circle--icon {
      position: absolute;
      right: 16px;
      bottom: 16px; }
    .fullnav--contact:before {
      content: "";
      width: 100%;
      height: 100%;
      display: block;
      background-color: #1F2F34;
      opacity: .15;
      position: absolute;
      left: 0;
      top: 0;
      z-index: 1;
      transform: scale(0);
      border-radius: 50%; }
    .fullnav--contact:hover:before {
      transform: scale(1);
      border-radius: 1.25em; }
  .fullnav-heading {
    font-weight: 600;
    font-size: clamp(13px, 1.25vw, 24px);
    line-height: 1;
    padding: 0;
    margin-bottom: 1em; }
    .fullnav-heading span {
      font-size: clamp(13px, 0.875vw, 16px);
      line-height: 1.5;
      margin-left: 1.142em;
      font-weight: 300; }
  .fullnav--location {
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 32px;
    padding-bottom: 32px;
    color: #1F2F34;
    margin: 0; }
    .fullnav--location dt {
      font-weight: 600;
      margin-bottom: 1em; }
    .fullnav--location .location--name {
      font-weight: 400;
      font-size: clamp(13px, 1.25vw, 24px);
      line-height: 1;
      margin-bottom: 1em; }
    .fullnav--location .location--postnumber {
      font-size: clamp(13px, 0.875vw, 16px);
      line-height: 1.5; }
    .fullnav--location .location--map {
      font-size: clamp(13px, 0.875vw, 16px);
      line-height: 1.5;
      margin-top: .5em; }
      .fullnav--location .location--map .icon {
        width: 1em;
        display: inline-block;
        margin-right: 1em; }
        .fullnav--location .location--map .icon img {
          width: 100%; }
      .fullnav--location .location--map a {
        text-decoration: none;
        opacity: 0.8; }
    .fullnav--location .location--sns {
      font-size: clamp(13px, 0.875vw, 16px);
      line-height: 1.5;
      margin-top: .5em; }
      .fullnav--location .location--sns .icon {
        width: 1em;
        display: inline-block;
        margin-right: 1em; }
        .fullnav--location .location--sns .icon img {
          width: 100%; }
      .fullnav--location .location--sns a {
        text-decoration: none;
        opacity: 0.8; }
  .fullnav--branding {
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 32px; }
    .fullnav--branding img {
      height: 60px; }

@media screen and (max-width: 1024px) {
  .fullnav--gnav {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 32px;
    flex: 2; }
  .fullnav--branding, .fullnav--info {
    padding-left: 16px;
    padding-right: 16px; }
  .fullnav--contact {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 16px;
    padding-bottom: 16px; }
  .fullnav--location {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 16px;
    padding-bottom: 16px;
    margin: 0; } }
@media screen and (max-width: 768px) {
  .fullnav-container {
    flex-direction: column;
    overflow: auto;
    width: calc(100% - 32px);
    margin-left: 16px; }
    .fullnav-container > nav:nth-child(2) {
      display: block; }
      .fullnav-container > nav:nth-child(2) > .nav-list {
        width: 100%; }
        .fullnav-container > nav:nth-child(2) > .nav-list > .nav-item > .nav-list > .nav-item a {
          padding: 0 1em 0 2em; }
  .fullnav--info {
    margin-right: 0;
    width: auto;
    padding: 0;
    border-top: solid 1px #7C8588;
    border-right: none; }
  .fullnav--gnav {
    width: auto;
    overflow: visible;
    margin-left: 0; }
    .fullnav--gnav .gnav .nav-list:first-child {
      margin-left: 0; } }
@media screen and (max-width: 667px) {
  .fullnav--gnav {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 16px;
    padding-bottom: 16px;
    margin-left: 0; }
    .fullnav--gnav .gnav {
      flex-direction: column; }
      .fullnav--gnav .gnav a {
        padding: 0.5em 1em;
        white-space: normal; }
        .fullnav--gnav .gnav a span {
          display: block;
          margin-left: 0; }
      .fullnav--gnav .gnav .nav-list {
        width: 100%; }
  .fullnav-container {
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    height: auto;
    padding-bottom: 64px; }
    .fullnav-container > nav:first-child > .nav-list {
      padding: 0; } }
.ftnav {
  position: relative; }
  .ftnav-links {
    font-size: clamp(13px, 1.125vw, 18px);
    line-height: 1.3333333333;
    flex: 1; }
    .ftnav-links--detail {
      margin-right: 2em; }
    .ftnav-links.arrowbtn a[rel="next"] .ftnav-links--detail {
      margin-right: 0;
      margin-left: 2em; }
  .ftnav--next, .ftnav--back {
    font-size: clamp(13px, 2vw, 32px);
    line-height: 1;
    position: relative;
    display: inline-block;
    font-weight: 400;
    margin-top: 0.25em; }
  .ftnav a {
    padding-left: 64px;
    padding-right: 64px;
    padding-top: 15vh;
    padding-bottom: 15vh;
    display: flex;
    align-items: center;
    text-decoration: none;
    position: relative;
    justify-content: center;
    width: 100%;
    background-color: #fff; }
    .ftnav a:before {
      content: "";
      width: 100%;
      height: 100%;
      display: block;
      background-color: rgba(31, 47, 52, 0.1);
      opacity: 0;
      position: absolute;
      left: 0;
      top: 0;
      z-index: 1;
      transform: scale(0, 1); }
    .ftnav a:hover:before {
      transform: scale(1);
      opacity: 1; }
  .ftnav .nav-next,
  .ftnav .nav-previous {
    width: 100%; }
    .ftnav .nav-next a,
    .ftnav .nav-previous a {
      justify-content: center; }
  .ftnav .post-navigation {
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%; }
  .ftnav .nav {
    margin: 0;
    display: flex;
    width: 100%; }

@media screen and (max-width: 768px) {
  .ftnav a {
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 5vh;
    padding-bottom: 5vh; } }
@media screen and (max-width: 667px) {
  .ftnav .nav {
    flex-direction: column; }
  .ftnav a {
    padding-left: 16px;
    padding-right: 16px; }

  .ftnav > ul {
    flex-direction: column;
    justify-content: flex-start; } }
/* 06-04 breadcrumb */
.breadcrumb-wrapper {
  width: auto;
  height: auto;
  margin: 0;
  padding-left: 64px;
  padding-right: 64px;
  padding-top: 32px;
  padding-bottom: 32px;
  background-color: #DEE0E1; }

.breadcrumb {
  width: 100%;
  opacity: .8; }
  .breadcrumb ol {
    margin: 0; }
    .breadcrumb ol li {
      /*-- liを横並び＆ブレットを消す --*/
      display: inline;
      list-style-type: none;
      margin-left: .5em;
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 1.1538461538;
      padding-top: 1.1538461538em;
      padding-bottom: 0em; }
      .breadcrumb ol li:first-child {
        margin-left: 0; }
      .breadcrumb ol li > a {
        width: auto;
        text-decoration: none;
        font-weight: 600;
        opacity: 1; }
        .breadcrumb ol li > a::after {
          /*-- liの後に記号追加 --*/
          content: " / ";
          margin-left: 1em; }

@media screen and (max-width: 768px) {
  .breadcrumb-wrapper {
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 32px;
    padding-bottom: 32px; } }
@media screen and (max-width: 667px) {
  .breadcrumb-wrapper {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 16px;
    padding-bottom: 16px; } }
/*番号付きpagination*/
.pagination {
  padding: 20px 0;
  display: flex;
  justify-content: flex-end; }

.page-numbers {
  padding: 10px; }

/*前、次pagintaion*/
.nav {
  margin-bottom: 2em; }
  .nav-links {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: clamp(13px, 1.125vw, 18px);
    line-height: 1.3333333333;
    align-items: center;
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 16px;
    padding-bottom: 16px; }
  .nav-previous {
    width: 40%;
    display: flex; }
    .nav-previous i {
      margin-right: .8em; }
  .nav-next {
    width: 40%;
    text-align: right;
    display: flex;
    justify-content: flex-end; }
    .nav-next i {
      margin-left: .8em; }
  .nav-list a {
    display: flex;
    flex-direction: column;
    text-decoration: none; }
  .nav-list .ico {
    display: flex;
    justify-content: center;
    align-items: center; }
    .nav-list .ico img {
      height: 32px; }
  .nav-list .heading {
    margin-top: .5em;
    font-size: clamp(12px, 0.85vw, 16px); }

@media screen and (max-width: 768px) {
  .nav {
    margin-bottom: 2em; }
    .nav-links {
      padding-top: 16px;
      padding-left: 0;
      padding-right: 0; }
    .nav-previous {
      width: 13em; }
    .nav-next {
      width: 13em; } }
@media screen and (max-width: 667px) {
  .nav-list .heading {
    display: none; } }
.localnav {
  position: fixed;
  top: 50%;
  left: 0;
  opacity: 0;
  padding-bottom: 1em;
  z-index: 1;
  display: none; }
  .localnav.is-show {
    opacity: 1;
    display: inline-block; }
  .localnav-link {
    display: inline-block;
    width: auto;
    font-size: clamp(13px, 0.875vw, 16px);
    line-height: 1;
    position: relative;
    opacity: 0.5;
    text-decoration: none;
    padding-left: 2em;
    font-weight: 400;
    letter-spacing: 0px; }
    .localnav-link:before {
      content: "";
      display: block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: #1F2F34;
      position: absolute;
      left: 1em;
      top: 50%;
      margin-top: -4px; }
    .localnav-link--cld {
      display: inline-block;
      width: auto;
      font-size: clamp(13px, 0.875vw, 16px);
      line-height: 1;
      opacity: 0.5;
      text-decoration: none;
      padding-left: 3em;
      letter-spacing: 0px;
      font-weight: 400; }
  .localnav-item {
    position: relative;
    margin-bottom: 1em; }
    .localnav-item.is-current .localnav-link,
    .localnav-item.is-current .localnav-link--cld {
      opacity: 1; }
      .localnav-item.is-current .localnav-link:after,
      .localnav-item.is-current .localnav-link--cld:after {
        content: "";
        display: block;
        width: 16px;
        height: 1px;
        background-color: #1F2F34;
        position: absolute;
        top: 50%;
        left: 0;
        margin-top: -1px; }

@media screen and (max-width: 768px) {
  .localnav-item figure figcaption.localnav-link-caption {
    padding: 0.6666666em; } }
@media screen and (max-width: 667px) {
  .localnav {
    display: none; }
    .localnav.is-show {
      opacity: 0;
      display: none; } }
.toolbar {
  display: inline-flex;
  margin-left: -1em;
  margin-bottom: .5em; }
  .toolbar-btn {
    line-height: 2;
    margin-left: 1em;
    display: block;
    text-decoration: none; }
    .toolbar-btn:hover {
      opacity: 0.8; }
    .toolbar-btn i {
      margin-right: 0.5em; }

.header-toolbar {
  margin-right: 130px; }

@media screen and (max-width: 1150px) {
  .header-toolbar {
    margin: 0 0 0 auto;
    padding-right: 90px; }

  .header-toolbar > a > span {
    display: none; } }
/* slider */
/*=================================
MV
===================================*/
.slider {
  position: relative;
  overflow: hidden;
  width: calc(100% - 36px);
  height: calc(100vh - 20vh);
  right: -100px;
  top: 0;
  z-index: 0;
  border-radius: 1.5em 0 0 1.5em;
  overflow: hidden; }
  .slider-item {
    position: relative;
    display: block;
    float: left;
    margin: 0;
    padding: 0;
    width: 100vw;
    height: 100%;
    text-align: center; }
    .slider-item img {
      width: calc(100% + 80px);
      max-width: none;
      object-fit: cover;
      transform: translateX(0px); }
  .slider .slick-slide {
    overflow: hidden;
    border-radius: 1.5em 0 0 1.5em; }
  .slider .slick-current img {
    animation: animationZoom1 7s ease-in-out forwards; }

@keyframes animationZoom1 {
  100% {
    transform: translateX(-80px); } }
/*recruit*/
.slider--rcr {
  padding-left: 0;
  padding-top: 4em; }
  .slider--rcr .slick-track {
    display: flex; }
.lead--recruite{
margin: 16px 0;
}
@media screen and (max-width: 768px) {
  /*-- 768px 以下 --*/
  .slider {
    height: calc(100vh - 60vh);
    min-height: 300px;
    right: -50px; } }
@media screen and (max-width: 667px) {
  /*-- 768px 以下 --*/
  .slider {
    height: auto;
    min-height: auto; } }
/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block; }

.updated:not(.published) {
  display: none; }

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0; }

.page-links {
  clear: both;
  margin: 0 0 1.5em; }

.widget {
  margin: 0 0 1.5em; }
  .widget select {
    max-width: 100%; }

.accordion-wrap {
  padding: 32px 56px;
  border-bottom: solid 1px #DEE0E1;
  background-color: #fff; }
.accordion-arrow {
  border-radius: 100%;
  height: 48px;
  width: 48px;
  overflow: hidden;
  border: solid 1px #1F2F34;
  display: inline-block;
  position: relative;
  margin-right: 1em; }
  .accordion-arrow::before, .accordion-arrow::after {
    /* 共通設定 */
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3px;
    /* 棒の幅（太さ） */
    height: 16px;
    /* 棒の高さ */
    background-color: #1F2F34;
    border-radius: 3px; }
  .accordion-arrow::before {
    transform: translate(-50%, -50%) rotate(90deg); }
  .accordion-arrow::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0; }
  .accordion-arrow--s {
    border-radius: 100%;
    height: 32px;
    width: 32px;
    overflow: hidden; }
    .accordion-arrow--s::before, .accordion-arrow--s::after {
      height: 14px;
      /* 棒の高さ */ }
.accordion-heading {
  margin: 0;
  line-height: 1;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: clamp(13px, 1.5vw, 24px);
  line-height: 1; }
  .accordion-heading.is-on .accordion-arrow::before {
    transform: translate(-50%, -50%) rotate(90deg); }
  .accordion-heading.is-on .accordion-arrow::after {
    transform: translate(-50%, -50%) rotate(0deg);
    opacity: 1; }
.accordion-content {
  padding: 2em; }

@media screen and (max-width: 667px) {
  .accordion-wrap {
    padding: 1em; }
  .accordion-content {
    padding: 1em .5em; } }
/*
# Layouts
--------------------------------------------------------------*/
.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
  max-width: 100%;
  height: auto; }

/*-- footer--------------------------------------------------------------*/
footer {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column; }

.footer {
  padding-left: 64px;
  padding-right: 64px;
  padding-top: 160px;
  padding-bottom: 120px;
  display: grid;
  grid-template-columns: 1fr 3fr 1fr;
  background: #1F2F34;
  color: #fff; }
  .footer a {
    color: #fff; }

.ft-contact {
  background-color: #F6F6F6;
  padding: 1em;
  border-top: 1px solid #DEE0E1; }
  .ft-contact-heading {
    font-size: clamp(13px, 4vw, 64px);
    line-height: 1; }
    .ft-contact-heading > div {
      position: relative; }
      .ft-contact-heading > div:before {
        content: "";
        display: block;
        width: 0%;
        background-color: #1F2F34;
        height: 2px;
        position: absolute;
        bottom: 0;
        left: 0; }
    .ft-contact-heading span {
      font-size: clamp(13px, 1.5vw, 24px);
      line-height: 1;
      display: block;
      margin-top: 1.333333em;
      font-weight: 300; }
  .ft-contact-txt {
    margin-top: 48px; }
  .ft-contact-arrow {
    margin-left: auto;
    font-size: clamp(13px, 2vw, 32px);
    line-height: 1;
    font-weight: 400; }
  .ft-contact .bigcircle--icon {
    margin-left: 48px; }
  .ft-contact-inner {
    display: flex;
    align-items: flex-end;
    text-decoration: none;
    padding-left: 64px;
    padding-right: 64px;
    padding-top: 80px;
    padding-bottom: 80px;
    border-radius: 1.25em; }
    .ft-contact-inner:hover {
      background: #fff; }
      .ft-contact-inner:hover .ft-contact-heading > div:before {
        width: 100%;
        opacity: 1; }
.ft--sns {
  display: flex;
  justify-content: flex-end;
  align-items: end; }
  .ft--sns span {
    padding-left: 16px;
    padding-right: 16px; }
  .ft--sns img {
    width: 24px; }
.ft--branding {
  padding: 0 0 3em 0; }
  .ft--branding img {
    margin: 0 auto;
    width: 80px; }

.copyright {
  font-size: clamp(13px, 0.8125vw, 13px);
  line-height: 1.2307692308;
  opacity: 0.8;
  margin-top: 2em;
  font-family: "Lato", sans-serif; }
  .copyright.is-white {
    color: #fff; }

@media screen and (max-width: 1024px) {
  .footer {
    display: flex;
    flex-direction: column-reverse; }
    .footer-container {
      flex-direction: column-reverse; }
    .footer-address-tel {
      font-size: clamp(13px, 0.8125vw, 13px);
      line-height: 1.2307692308; }
      .footer-address-tel i {
        display: none; }
      .footer-address-tel-time, .footer-address-tel-map {
        font-size: clamp(13px, 0.8125vw, 13px);
        line-height: 1.2307692308; }
    .footer-logo {
      width: 100%;
      padding: 0;
      text-align: center; }
    .footer-inner {
      width: 100%; }

  .ft--sns {
    margin-top: 1em;
    margin-bottom: 2em; }
  .ft--branding {
    padding: 2em 0 0 0;
    text-align: center; }
    .ft--branding img {
      margin: 0 auto;
      width: 80px; }

  .copyright {
    text-align: center; } }
@media screen and (max-width: 768px) {
  .footer {
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 32px;
    padding-bottom: 32px; }
    .footer-inner {
      display: block; }
    .footer-logo {
      padding: 1em 0; }
    .footer-btn-wrapper {
      display: block; }
    .footer-btn-item {
      width: 100%; }
      .footer-btn-item:last-child {
        width: 100%;
        border-top: solid 1px #fff; }
    .footer-btn-sns:last-child {
      border-right: none; }
    .footer-address {
      padding: 0; }

  .ft-contact-inner {
    flex-direction: column;
    align-items: flex-start;
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 64px;
    padding-bottom: 64px; } }
@media screen and (max-width: 667px) {
  .footer {
    padding-top: 16px;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 64px; }
    .footer-btn {
      padding: 1em; }
    .footer-logo img {
      max-width: 100%; }

  .ft-contact-inner {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 32px;
    padding-bottom: 32px; } }
header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between; }

/*base header*/
.header {
  height: 89px;
  padding-left: 32px;
  padding-right: 32px; }
  .header .branding {
    height: 89px;
    margin-left: auto;
    position: relative;
    z-index: 2; }
    .header .branding a {
      display: flex;
      height: 100%;
      width: auto;
      align-items: center;
      justify-content: end; }
    .header .branding img {
      height: 32px; }

/*top page適応スタイル*/
.tp .header {
  background: #fff; }

@media screen and (max-width: 768px) {
  .header .branding a {
    width: 100%; } }
.sidebar {
  display: flex;
  flex-direction: column;
  max-width: 100%;
  padding-right: 2em; }
  .sidebar-nav {
    position: sticky;
    top: 10vh; }
  .sidebar-heading {
    margin-bottom: 1em;
    margin-top: 3em;
    font-size: clamp(13px, 1vw, 16px);
    line-height: 1.5; }
  .sidebar .list--cat, .sidebar .list--tag {
    list-style: none; }
    .sidebar .list--cat li, .sidebar .list--tag li {
      margin-bottom: .5em;
      margin-right: .5em;
      display: inline-flex; }
      .sidebar .list--cat li a, .sidebar .list--tag li a {
        display: inline-block;
        font-size: clamp(13px, 1vw, 14px);
        line-height: 1.1428571429;
        text-decoration: none; }
        .sidebar .list--cat li a:before, .sidebar .list--tag li a:before {
          content: "#";
          display: inline-block;
          margin-right: 0.25em; }

/*
.site {
  display: grid;
  grid-template-columns: ($size__site-sidebar) auto;
  grid-template-areas:
    "header header"
    "sidebar main"
    "footer footer";
&-header {
  grid-area: header;
}

&-main {
  grid-area: main;
  overflow: hidden;
 
}



}

*/
.site-content {
  margin-bottom: 3em;
  display: grid;
  grid-template-columns: 25% auto;
  grid-template-areas: "sidebar main"; }
.site-header {
  grid-area: header; }
.site-main {
  grid-area: main;
  overflow: hidden; }

.widget-area {
  grid-area: sidebar; }

@media screen and (max-width: 667px) {
  .site-content {
    display: block; } }
.no-sidebar .site {
  display: grid;
  grid-template-columns: auto;
  grid-template-areas: "header" "main" "footer"; }

/*
# Utilities
--------------------------------------------------------------*/
/*spacing*/
.mrg-r-auto {
  margin-right: auto; }

.mrg-l-auto {
  margin-left: auto; }

.mrg-b-0 {
  margin-bottom: 0; }

.mrg-b-1 {
  margin-bottom: 1em; }

.mrg-b-2 {
  margin-bottom: 2em; }

.mrg-b-3 {
  margin-bottom: 3em; }

.mrg-t-0 {
  margin-top: 0; }

.mrg-r-0 {
  margin-right: 0; }

.mrg-l-0 {
  margin-left: 0; }

.mrg-0 {
  margin: 0; }

.pdg-b-0 {
  padding-bottom: 0; }

.pdg-b-1 {
  padding-bottom: 1em; }

.pdg-b-2 {
  padding-bottom: 2em; }

.pdg-t-0 {
  padding-top: 0; }

.pdg-t-1 {
  padding-top: 1em; }

.pdg-r-0 {
  padding-right: 0; }

.pdg-l-0 {
  padding-left: 0; }

.pdg-0 {
  padding: 0; }

.color--success {
  color: #3689E8; }

/*
CSS Document 
responsive 1024px 768px 560px 
*/
/*--base--*/
.col {
  padding-left: 1em;
  padding-right: 1em;
  width: auto; }

.row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap; }

.row-inline {
  display: inline-flex;
  /*--インライン要素--*/
  list-style-type: none;
  padding: 0;
  align-items: center;
  /*--垂直中央揃え--*/
  width: 100%;
  flex-wrap: wrap;
  /*--改行する--*/ }

/*
　親要素
--------------------------*/
.row-mrg {
  margin-left: -1em;
  margin-right: -1em; }

.row-reverse {
  flex-direction: row-reverse;
  /*--右から配置--*/ }

.row-column {
  flex-direction: column;
  /*--上から配置--*/ }

.row-column-re {
  flex-direction: column-reverse;
  /*--下から配置--*/ }

.row-nowrap {
  flex-wrap: nowrap;
  /*--改行しない--*/ }

.row-justify-l {
  justify-content: flex-start;
  /*--水平左揃え--*/ }

.row-justify-c {
  justify-content: center;
  /*--水平中央揃え--*/ }

.row-justify-r {
  justify-content: flex-end;
  /*--水平右揃え--*/ }

.row-justify-between {
  justify-content: space-between; }

/*-- 各アイテムを均等に配置し最初のアイテムは先頭に寄せ、最後のアイテムは末尾に寄せる --*/
.row-justify-around {
  justify-content: space-around; }

/*-- 各アイテムを均等に配置し各アイテムの両側に半分の大きさの間隔を置く --*/
.row-justify-evenly {
  justify-content: space-evenly; }

/*-- 各アイテムを均等に配置し各アイテムの周りに同じ大きさの間隔を置く --*/
.row-justify-stretch {
  justify-content: stretch; }

/*-- 各アイテムを均等に配置しサイズが 'auto' であるアイテムは、コンテナーに合わせて引き伸ばす  --*/
.row-align-t {
  align-items: flex-start;
  /*--垂直上揃え--*/ }

.row-align-m {
  align-items: center;
  /*--垂直中央揃え--*/ }

.row-align-b {
  align-items: flex-end;
  /*--垂直下揃え--*/ }

/*--100% 1～5分割 .col 余白有り　flex-imte 余白なし--*/
.row-division1 > .col {
  width: 100%;
  flex: 0 0 calc(100% / 1);
  padding: 0; }

.row-division2 > .col {
  width: 50%;
  flex: 0 0 calc(100% / 2); }

.row-division3 > .col {
  width: 33.33333%;
  flex: 0 0 calc(100% / 3); }

.row-division4 > .col {
  width: 25%;
  flex: 0 0 calc(100% / 4); }

.row-division5 > .col {
  width: 20%;
  flex: 0 0 calc(100% / 5); }

.row-division10 > .col {
  width: 10%;
  flex: 0 0 calc(100% / 10); }

/*--子要素--------------------------------------------------------------*/
/*--100% 1～4割合--(growは割合；basisは実際の数値)--*/
.col-grow1 {
  flex: 1; }

.col-grow2 {
  flex: 2; }

.col-grow3 {
  flex: 3; }

.col-grow4 {
  flex: 4; }

/*--100% 10%乗算--*/
.col-basis1 {
  flex: 0 0 10%;
  min-width: 10%; }

.col-basis2 {
  flex: 0 0 20%;
  min-width: 20%; }

.col-basis3 {
  flex: 0 0 30%;
  min-width: 30%; }

.col-basis4 {
  flex: 0 0 40%;
  min-width: 40%; }

.col-basis5 {
  flex: 0 0 50%;
  min-width: 50%; }

.col-basis6 {
  flex: 0 0 60%;
  min-width: 60%; }

.col-basis7 {
  flex: 0 0 70%;
  min-width: 70%; }

.col-basis8 {
  flex: 0 0 80%;
  min-width: 80%; }

.col-basis9 {
  flex: 0 0 90%;
  min-width: 90%; }

.col-basis10 {
  flex: 0 0 100%;
  min-width: 100%; }

@media screen and (max-width: 1024px) {
  /*-- 1024px 以下 --_m*/
  .col-column_m {
    flex-direction: column;
    /*--上から配置--*/ }

  .col-reverse_m {
    flex-direction: row-reverse;
    /*--右から配置--*/ }

  .col-column-re_m {
    flex-direction: column-reverse;
    /*--下から配置--*/ }

  .col-nowrap_m {
    flex-wrap: nowrap;
    /*--改行しない--*/ }

  .col-justify-l_m {
    justify-content: flex-start;
    /*--水平左揃え--*/ }

  .col-justify-c_m {
    justify-content: center;
    /*--水平中央揃え--*/ }

  .col-justify-r_m {
    justify-content: flex-end;
    /*--水平右揃え--*/ }

  .col-justify-between_m {
    justify-content: space-between; }

  /*-- 各アイテムを均等に配置し最初のアイテムは先頭に寄せ、最後のアイテムは末尾に寄せる --*/
  .col-justify-around_m {
    justify-content: space-around; }

  /*-- 各アイテムを均等に配置し各アイテムの両側に半分の大きさの間隔を置く --*/
  .col-justify-evenly_m {
    justify-content: space-evenly; }

  /*-- 各アイテムを均等に配置し各アイテムの周りに同じ大きさの間隔を置く --*/
  .col-justify-stretch_m {
    justify-content: stretch; }

  /*-- 各アイテムを均等に配置しサイズが 'auto' であるアイテムは、コンテナーに合わせて引き伸ばす  --*/
  .col-align-t_m {
    align-items: flex-start;
    /*--垂直上揃え--*/ }

  .col-align-m_m {
    align-items: center;
    /*--垂直中央揃え--*/ }

  .col-align-b_m {
    align-items: flex-end;
    /*--垂直下揃え--*/ }

  /*--カラムにflex-colを使用する時--*/
  .row_m {
    margin-left: -1em;
    margin-right: -1em; }

  .row-division1_m > .col {
    flex: 0 0 calc(100% / 1); }

  .row-division2_m > .col {
    flex: 0 0 calc(100% / 2); }

  .row-division3_m > .col {
    flex: 0 0 calc(100% / 3); }

  .row-division4_m > .col {
    flex: 0 0 calc(100% / 4); }

  .row-division5_m > .col {
    flex: 0 0 calc(100% / 5); }

  .row-division10_m > .col {
    flex: 0 0 calc(100% / 10); }

  .col-grow1_m {
    flex: 1 0 0; }

  .col-grow2_m {
    flex: 2 0 0; }

  .col-grow3_m {
    flex: 3 0 0; }

  .col-grow4_m {
    flex: 4 0 0; }

  .col-basis1_m {
    flex: 0 0 10%;
    min-width: 10%; }

  .col-basis2_m {
    flex: 0 0 20%;
    min-width: 20%; }

  .col-basis3_m {
    flex: 0 0 30%;
    min-width: 30%; }

  .col-basis4_m {
    flex: 0 0 40%;
    min-width: 40%; }

  .col-basis5_m {
    flex: 0 0 50%;
    min-width: 50%; }

  .col-basis6_m {
    flex: 0 0 60%;
    min-width: 60%; }

  .col-basis7_m {
    flex: 0 0 70%;
    min-width: 70%; }

  .col-basis8_m {
    flex: 0 0 80%;
    min-width: 80%; }

  .col-basis9_m {
    flex: 0 0 90%;
    min-width: 90%; }

  .col-basis10_m {
    flex: 0 0 100%;
    min-width: 100%; } }
@media screen and (max-width: 768px) {
  /*-- 768px 以下 --_s*/
  .col-column_s {
    flex-direction: column;
    /*--上から配置--*/ }

  .col-reverse_s {
    flex-direction: row-reverse;
    /*--右から配置--*/ }

  .col-column-re_s {
    flex-direction: column-reverse;
    /*--下から配置--*/ }

  .col-nowrap_s {
    flex-wrap: nowrap;
    /*--改行しない--*/ }

  .col-justify-l_s {
    justify-content: flex-start;
    /*--水平左揃え--*/ }

  .col-justify-c_s {
    justify-content: center;
    /*--水平中央揃え--*/ }

  .col-justify-r_s {
    justify-content: flex-end;
    /*--水平右揃え--*/ }

  .col-justify-between_s {
    justify-content: space-between; }

  /*-- 各アイテムを均等に配置し最初のアイテムは先頭に寄せ、最後のアイテムは末尾に寄せる --*/
  .col-justify-around_s {
    justify-content: space-around; }

  /*-- 各アイテムを均等に配置し各アイテムの両側に半分の大きさの間隔を置く --*/
  .col-justify-evenly_s {
    justify-content: space-evenly; }

  /*-- 各アイテムを均等に配置し各アイテムの周りに同じ大きさの間隔を置く --*/
  .col-justify-stretch_s {
    justify-content: stretch; }

  /*-- 各アイテムを均等に配置しサイズが 'auto' であるアイテムは、コンテナーに合わせて引き伸ばす  --*/
  .col-align-t_s {
    align-items: flex-start;
    /*--垂直上揃え--*/ }

  .col-align-m_s {
    align-items: center;
    /*--垂直中央揃え--*/ }

  .col-align-b_s {
    align-items: flex-end;
    /*--垂直下揃え--*/ }

  /*--カラムにflex-colを使用する時--*/
  .row_s {
    margin-left: -1em;
    margin-right: -1em; }

  .row-division1_s > .col {
    width: 100%;
    flex: 0 0 calc(100% / 1);
    padding: 0; }

  .row-division2_s > .col {
    width: 50%;
    flex: 0 0 calc(100% / 2); }

  .row-division3_s > .col {
    width: 33.33333%;
    flex: 0 0 calc(100% / 3); }

  .row-division4_s > .col {
    width: 25%;
    flex: 0 0 calc(100% / 4); }

  .row-division5_s > .col {
    width: 20%;
    flex: 0 0 calc(100% / 5); }

  .row-division10_s > .col {
    width: 10%;
    flex: 0 0 calc(100% / 10); }

  .col-grow1_s {
    flex: 1 0 0; }

  .col-grow2_s {
    flex: 2 0 0; }

  .col-grow3_s {
    flex: 3 0 0; }

  .col-grow4_s {
    flex: 4 0 0; }

  .col-basis1_s {
    flex: 0 0 10%;
    min-width: 10%; }

  .col-basis2_s {
    flex: 0 0 20%;
    min-width: 20%; }

  .col-basis3_s {
    flex: 0 0 30%;
    min-width: 30%; }

  .col-basis4_s {
    flex: 0 0 40%;
    min-width: 40%; }

  .col-basis5_s {
    flex: 0 0 50%;
    min-width: 50%; }

  .col-basis6_s {
    flex: 0 0 60%;
    min-width: 60%; }

  .col-basis7_s {
    flex: 0 0 70%;
    min-width: 70%; }

  .col-basis8_s {
    flex: 0 0 80%;
    min-width: 80%; }

  .col-basis9_s {
    flex: 0 0 90%;
    min-width: 90%; }

  .col-basis10_s {
    flex: 0 0 100%;
    min-width: 100%;
    padding: 0; } }
@media screen and (max-width: 667px) {
  /*-- 560px 以下 --_s*/
  .col-column_ss {
    flex-direction: column;
    /*--上から配置--*/ }

  .col-reverse_ss {
    flex-direction: row-reverse;
    /*--右から配置--*/ }

  .col-column-re_ss {
    flex-direction: column-reverse;
    /*--下から配置--*/ }

  .col-nowrap_ss {
    flex-wrap: nowrap;
    /*--改行しない--*/ }

  .col-justify-l_ss {
    justify-content: flex-start;
    /*--水平左揃え--*/ }

  .col-justify-c_ss {
    justify-content: center;
    /*--水平中央揃え--*/ }

  .col-justify-r_ss {
    justify-content: flex-end;
    /*--水平右揃え--*/ }

  .col-justify-between_ss {
    justify-content: space-between; }

  /*-- 各アイテムを均等に配置し最初のアイテムは先頭に寄せ、最後のアイテムは末尾に寄せる --*/
  .col-justify-around_ss {
    justify-content: space-around; }

  /*-- 各アイテムを均等に配置し各アイテムの両側に半分の大きさの間隔を置く --*/
  .col-justify-evenly_ss {
    justify-content: space-evenly; }

  /*-- 各アイテムを均等に配置し各アイテムの周りに同じ大きさの間隔を置く --*/
  .col-justify-stretch_ss {
    justify-content: stretch; }

  /*-- 各アイテムを均等に配置しサイズが 'auto' であるアイテムは、コンテナーに合わせて引き伸ばす  --*/
  .col-align-t_ss {
    align-items: flex-start;
    /*--垂直上揃え--*/ }

  .col-align-m_ss {
    align-items: center;
    /*--垂直中央揃え--*/ }

  .col-align-b_ss {
    align-items: flex-end;
    /*--垂直下揃え--*/ }

  /*--カラムにflex-colを使用する時--*/
  .row_ss {
    margin-left: -1em;
    margin-right: -1em; }

  .row-division1_ss > .col {
    width: 100%;
    flex: 0 0 calc(100% / 1); }

  .row-division2_ss > .col {
    width: 50%;
    flex: 0 0 calc(100% / 2); }

  .row-division3_ss > .col {
    width: 33.333333%;
    flex: 0 0 calc(100% / 3); }

  .row-division4_ss > .col {
    width: 25%;
    flex: 0 0 calc(100% / 4); }

  .row-division5_ss > .col {
    width: 20%;
    flex: 0 0 calc(100% / 5); }

  .row-division10_ss > .col {
    width: 10%;
    flex: 0 0 calc(100% / 10); }

  .col-grow1_ss {
    flex: 1 0 0; }

  .col-grow2_ss {
    flex: 2 0 0; }

  .col-grow3_ss {
    flex: 3 0 0; }

  .col-grow4_ss {
    flex: 4 0 0; }

  .col-basis1_ss {
    flex: 0 0 10%;
    min-width: 10%; }

  .col-basis2_ss {
    flex: 0 0 20%;
    min-width: 20%; }

  .col-basis3_ss {
    flex: 0 0 30%;
    min-width: 30%; }

  .col-basis4_ss {
    flex: 0 0 40%;
    min-width: 40%; }

  .col-basis5_ss {
    flex: 0 0 50%;
    min-width: 50%; }

  .col-basis6_ss {
    flex: 0 0 60%;
    min-width: 60%; }

  .col-basis7_ss {
    flex: 0 0 70%;
    min-width: 70%; }

  .col-basis8_ss {
    flex: 0 0 80%;
    min-width: 80%; }

  .col-basis9_ss {
    flex: 0 0 90%;
    min-width: 90%; }

  .col-basis10_ss {
    flex: 0 0 100%;
    min-width: 100%; } }
