/* -------------------------------------------------------------------
 * Home
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Common Variables
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Font Definitions and Tools
------------------------------------------------------------------- */
@font-face {
  font-family: "WinYuGothic";
  font-weight: 100;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
}
@font-face {
  font-family: "WinYuGothic";
  font-weight: 200;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
}
@font-face {
  font-family: "WinYuGothic";
  font-weight: 300;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
}
@font-face {
  font-family: "WinYuGothic";
  font-weight: 400;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
}
@font-face {
  font-family: "WinYuGothic";
  font-weight: bold;
  src: local("YuGothic-Bold"), local("Yu Gothic");
}
/* basics
----------------------------------------------- */
/* web fonts (on the SAKURA Internet Service)
----------------------------------------------- */
/* -------------------------------------------------------------------
 * Common Functions
------------------------------------------------------------------- */
/*
 * Calculate liner function value.
 *
 * @param {Number} $x-min - starting value of x axis
 * @param {Number} $y-min - starting value of y axis
 * @param {Number} $x-max - terminal value of x axis
 * @param {Number} $y-max - terminal value of y axis
 * @param {Map} $point - (see below note)
 * @note
 *  $point
 *    ($x: {Number} | $y: {Number})
 *  If units are included, those must all be in the same unit.
 */
/*
 * Calculate parameters for viewport scaling.
 *
 * @note
 *  See below for calculation of constants(a, b) of linear functions.
 *    - https://fvsch.com/css-locks
 *  See vs() mixin for details of parameters, using of returned values.
 */
/*
 * Extract last=current selectors.
 *
 * @param {List<Selector>} $selector - selector (mainly by reference "&")
 * @return {List<Selector>}
 * @note Used as a helper for anchor mixin.
 */
/*
 * Calculate a half-leading.
 *
 * @param {Number} $font-size
 * @param {Number} $line-height
 * @return {Number}
 */
/*
 * Remove a unit.
 *
 * @param {Number} $value
 * @return {Number}
 */
/*
 * Convert to number type with unit.
 *
 * @param {Number} $value
 * @param {String} $unit
 * @return {Number}
 */
/*
 * Cast a string into a number.
 *
 * @param {Number|String} $value
 * @return {Number}
 * @note
 *  Forked from below.
 *    - https://gist.github.com/KittyGiraudel/9fa19d254864f33d4a80
 */
/* -------------------------------------------------------------------
 * Home
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Site Specific Mix-ins
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Common Mix-ins
------------------------------------------------------------------- */
/*
 * Make an element to a dynamic fluid container with keeping aspect ratio in it.
 *
 * @param {Number} $width
 * @param {Number} $height
 * @note
 *  The element to which this mix-in applies must comply with:
 *    - Must have the explicit width(e.g. 100px, 100%) or the implicit width(e.g. block element).
 *    - Do NOT use "max-width" because the padding that has percentage value is calculated from
 *      "width" on the containing block, thus it can't scale the content.
 *      If "max-width" is needed, wrap the element in some containing block.
 *    - Do NOT use "border" AND "box-sizing:border-box" at the same time because this mix-in uses
 *      "padding-top" for the trick.
 *      If those properties are needed, wrap the element in some containing block.
 * @example
 *  .target {
 *    @include act-fluid(400px, 300px);  <-- aspect ratio is 4:3
 *    width: ...;  <-- set width explicitly in here
 *  }
 */
/*
 * Style the anchor for all states.
 *
 * @param {List<Color, List<Decoration>, String>} $spec - specs of each link state
 * @param {Boolean} $use-selector - style current selector(include "a" tag) if true
 * @note
 *  If the Decoration argument is List, the link is styled as below.
 *    - List is assumed as <{Number} padding, {Number} border-size> on the bottom border.
 *    - Linked text is styled with "none".
 *    - Set the bottom border with "border-size" as above.
 *    - And that border is padded with "padding" as above.
 * @example
 *  @include anchor((#111, none) (#111, underline) ...)
 *  @include anchor((#111, (1px 2px)) (#111, (1px 2px)) ...)
 */
/*
 * Avoid glitches on a image and its container.
 *
 * @note
 *  - Apply to the container element that contains only image only when glitches come up.
 *  - Known glitch is that image height doesn't match container one.
 *  - A known glitch:
 *    - The height of the image does not match the height of the container element.
 */
/*
 * Disable mobile-device-specific functions.
 */
/*
 * Apply a blank button style.
 */
/*
 * Generate media queries with variable properties according to the viewport.
 *
 * @param {String} $property
 * @param {List<List>} $points - collection of lists (see below note about the form)
 * @param {Map} $options [()] - (see below note about available options)
 * @note
 *  $points
 *    (({Number} viewpoint, {Number} property value), ...)
 *  $options
 *    {Boolean} set-default [true] - omit the definition of default value if true
 *  This mix-in can ONLY be used when the amount of change is CONTINUOUS.
 *    - e.g. OK ... A->B:100px->200px, B->C:200px->300px
 *           NG ... A->B:100px->200px, B->C:150px->350px
 * @see {mixin} vs
 * @example
 *  .target {
 *    @include break-vs('width', ((320px, 100px), (520px, 200px)), ('set-default': false));
 *  }
 */
/*
 * Tuck a sentence.
 *
 * @param {Number} $row - the row number to tuck
 */
/*
 * Style the image container element.
 *
 * @param {Number} $width
 * @param {Number} $height
 * @note This is the convenient helper.
 */
/*
 * Style the containing image.
 *
 * @param {Number} $width
 * @param {Number} $height
 * @note This is the convenient helper.
 */
/*
 * Force long text to break at appropriate positions.
 */
/*
 * Style an element as the image thumbnail.
 *
 * @param {Number} $width
 * @param {Number} $height
 * @param {String, null} $snap - the direction to snap (top|bottom|left|right|null)
 */
/*
 * Style an element as the "Image Replacement".
 */
/*
 * Crop extra half-leadings on the top and bottom.
 *
 * @param {Number} $line-height
 * @param {Boolean} $cropTop - crop from the top if true
 * @param {Boolean} $cropBottom - crop from the bottom if true
 * @note
 *  Original implementations:
 *    - https://medium.com/codyhouse/line-height-crop-a-simple-css-formula-to-remove-top-space-from-your-text-9c3de06d7c6f
 *    - https://yuyakinoshita.com/blog/2020/01/20/line-height-crop/
 *  This mix-in does NOT work on a flex container element.
 */
/*
 * Style an anchor (helper for anchor mix-in).
 *
 * @param {Color} $color - the color specifier
 * @param {List<Decoration>, Style} $style - the underline style
 * @see {mixin} anchor
 */
/*
 * Style an element as a triangle.
 *
 * @param {Color} $color - the color specifier
 * @param {Number} $width
 * @param {Number} $height
 * @param {String} $dir ['top'] - the vertex direction (top|bottom|left|right)
 */
/*
 * Generate variable property according to the viewport.
 *
 * @param {String} $property
 * @param {Number} $min-vp - the start viewport
 * @param {Number} $min-value - the value on the start viewport
 * @param {Number} $max-vp - the final viewport
 * @param {Number} $max-value - the value on the final viewport
 * @note
 *  Forked from ViewportScale v0.2.2((c) 2018 Kite / MIT License).
 *    - https://github.com/ixkaito/viewportscale
 * @see {function} calculate-vs
 * @example
 *  .target {
 *    @include vs('width', 320px, 100px, 520px, 200px);
 *  }
 */
/* -------------------------------------------------------------------
 * Site Specific Mix-ins
------------------------------------------------------------------- */
/* font wrapper
----------------------------------------------- */
/* common style
----------------------------------------------- */
/* variable style
----------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */
/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screen readers
 */
.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
  visibility: hidden;
}

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

.clearfix::after {
  clear: both;
}

/* -------------------------------------------------------------------
 * Home
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Common Styles
------------------------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html, body {
  background-color: #fff;
  height: 100%;
}

html {
  font-family: "Hiragino Maru Gothic W4 JIS2004", "Hiragino Maru Gothic ProN W4", Meiryo, sans-serif;
  color: #8c8a85;
  overflow-wrap: break-word;
  word-wrap: break-word;
  font-size: 13px;
  line-height: 1.5;
}

body {
  width: 100%;
}

h1, h2, h3, h4, h5, h6,
dl, ol, ul,
p,
td, th, tr {
  font-weight: normal;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  line-height: 1;
}

canvas, img, picture, svg, video {
  display: block;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a:link {
  color: #00e;
  text-decoration: none;
}

a:visited {
  color: #551a8b;
  text-decoration: none;
}

a:hover {
  color: #06e;
  text-decoration: none;
}

a:active {
  color: #06e;
  text-decoration: none;
}

/* -------------------------------------------------------------------
 * Home
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Container
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Home
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Header
------------------------------------------------------------------- */
.header {
  position: relative;
  z-index: 100;
  /* lead
  ----------------------------------------------- */
}
.header__lead {
  align-items: flex-end;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  min-height: 60px;
  padding: 0 15px 10px 15px;
  position: fixed;
  width: 100%;
  z-index: 10;
}
@media (min-width: 687px) {
  .header__lead {
    min-height: 70px;
    padding-bottom: 14px;
  }
}
.header__facility {
  flex-shrink: 0;
  padding-left: 45px;
  position: relative;
}
.header__facility::before {
  background: url("/assets/img/common/header/logo-3e8748ba503b682c.svg") 0 0/100% 100% no-repeat;
  bottom: 0;
  content: "";
  height: 35px;
  left: 0;
  position: absolute;
  width: 45px;
}
@media (min-width: 687px) {
  .header__facility {
    align-items: flex-end;
    display: flex;
    padding-left: 54px;
  }
  .header__facility::before {
    bottom: calc(50% - 42px / 2);
    height: 42px;
    left: 0;
    width: 54px;
  }
}
.header__facility-type {
  font-size: 11px;
  line-height: 1;
  margin-left: 3px;
}
@media (min-width: 687px) {
  .header__facility-type {
    font-size: 18px;
    margin-left: 12px;
  }
}
.header__facility-name {
  height: 24px;
  width: 84px;
}
.header__facility-name img {
  height: 100%;
  width: 100%;
}
.header__facility-name {
  display: block;
  margin-top: 3px;
}
.header__facility-name::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 10;
}
@media (min-width: 687px) {
  .header__facility-name {
    height: 36px;
    width: 126px;
  }
  .header__facility-name img {
    height: 100%;
    width: 100%;
  }
  .header__facility-name {
    margin-left: 13px;
    margin-top: 0;
  }
}
.header__phone {
  height: 24px;
  width: 184px;
}
.header__phone img {
  height: 100%;
  width: 100%;
}
.header__phone {
  display: block;
  flex-shrink: 0;
}
@media (min-width: 687px) {
  .header__phone {
    height: 36px;
    width: 276px;
  }
  .header__phone img {
    height: 100%;
    width: 100%;
  }
}
@media (any-hover: hover) {
  .header__phone {
    pointer-events: none;
  }
}
.header {
  /* nav
  ----------------------------------------------- */
}
.header__nav {
  font-size: 18px;
  padding-top: 80px;
}
@media (min-width: 687px) {
  .header__nav {
    font-size: 21px;
    padding-top: 100px;
  }
}
.header__nav-inset {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.header__nav-inset::before {
  content: "";
  height: 18px;
  order: 2;
  width: 100%;
}
@media (min-width: 687px) {
  .header__nav-inset::before {
    content: none;
  }
}
.header__nav-item a:link {
  color: #8c8a85;
  text-decoration: none;
}
.header__nav-item a:visited {
  color: #8c8a85;
  text-decoration: none;
}
.header__nav-item a:hover {
  color: #8c8a85;
  text-decoration: none;
}
.header__nav-item a:active {
  color: #8c8a85;
  text-decoration: none;
}
.header__nav-item {
  align-items: center;
  display: flex;
  flex-shrink: 0;
}
.header__nav-item:nth-child(-n+2) {
  order: 1;
}
.header__nav-item:nth-child(n+3) {
  order: 3;
}
.header__nav-item::before {
  padding: 0 0.22em;
}
.header__nav-item:nth-child(even)::before {
  content: attr(data-sep);
}
@media (min-width: 687px) {
  .header__nav-item:nth-child(n+2)::before {
    content: attr(data-sep);
  }
}
.header__nav-link--inquiry, .header__nav-link--company, .header__nav-link--associations, .header__nav-link--home {
  display: inline-block;
  line-height: 1.5;
  padding: 0 0.1em;
  position: relative;
}
.header__nav-link--inquiry::after, .header__nav-link--company::after, .header__nav-link--associations::after, .header__nav-link--home::after {
  background: repeating-linear-gradient(90deg, #db7f7f, #db7f7f 4px, transparent 4px, transparent 8px) 0 100% no-repeat;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}
.header__nav-link--inquiry:active, .header__nav-link--company:active, .header__nav-link--associations:active, .header__nav-link--home:active {
  background-color: #f9dddc;
}
@media (any-hover: hover) {
  .header__nav-link--inquiry:hover, .header__nav-link--company:hover, .header__nav-link--associations:hover, .header__nav-link--home:hover, .header__nav-link--inquiry:focus, .header__nav-link--company:focus, .header__nav-link--associations:focus, .header__nav-link--home:focus {
    background-color: #f9dddc;
  }
}
.header__nav-link--inquiry, .header__nav-link--company, .header__nav-link--associations, .header__nav-link--home {
  letter-spacing: 0.05em;
  padding-left: 0.1em;
  padding-right: 0.05em;
}

.inquiry .header__nav-link--inquiry, .company .header__nav-link--company, .associations .header__nav-link--associations, .home .header__nav-link--home {
  background-color: #f9dddc;
}

/* -------------------------------------------------------------------
 * Home
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Main
------------------------------------------------------------------- */
.main {
  margin-top: 30px;
}
@media (min-width: 360px) {
  .main {
    margin-top: calc(1.6666666667vw + 24px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .main {
    margin-top: 40px;
  }
}

/* -------------------------------------------------------------------
 * Home
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Footer
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Home
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Facility Component
------------------------------------------------------------------- */
/* helper
----------------------------------------------- */
/* configuration
----------------------------------------------- */
/* style
----------------------------------------------- */
.footer {
  background-color: #db7f7f;
  padding: 60px 0 50px;
}
.footer__facility .facility a:link {
  color: #fff;
  text-decoration: none;
}
.footer__facility .facility a:visited {
  color: #fff;
  text-decoration: none;
}
.footer__facility .facility a:hover {
  color: #fff;
  text-decoration: none;
}
.footer__facility .facility a:active {
  color: #fff;
  text-decoration: none;
}
.footer__facility .facility {
  color: #fff;
  display: flex;
  justify-content: center;
}
.footer__facility .facility__inset {
  display: flex;
  flex-direction: column;
}
.footer__facility .facility__inset > *:nth-child(n+2) {
  margin-top: 45px;
}
@media (min-width: 708px) {
  .footer__facility .facility__inset {
    flex-direction: row;
    justify-content: space-between;
  }
  .footer__facility .facility__inset > *:nth-child(n+2) {
    margin-top: 0;
  }
}
.home__facility .facility__block--lead, .home__facility .facility__block--after, .footer__facility .facility__block--after, .footer__facility .facility__block--lead {
  flex-shrink: 0;
}
.home__facility .facility__block--lead > *:not(a), .home__facility .facility__block--after > *:not(a), .footer__facility .facility__block--after > *:not(a), .footer__facility .facility__block--lead > *:not(a) {
  line-height: 1;
}
@media (min-width: 708px) {
  .home__facility .facility__block--lead, .home__facility .facility__block--after, .footer__facility .facility__block--after, .footer__facility .facility__block--lead {
    width: calc(36.5079365079vw + 29.5238095238px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__facility .facility__block--lead, .home__facility .facility__block--after, .footer__facility .facility__block--after, .footer__facility .facility__block--lead {
    width: 380px;
  }
}

@media (min-width: 708px) {
  .footer__facility .facility__block--after {
    margin-left: calc(23.8095238095vw + -168.5714285714px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__facility .facility__block--after {
    margin-left: 60px;
  }
}
@media (min-width: 708px) {
  .footer__facility .facility__block--after {
    padding-top: calc(1.5873015873vw + 16.7619047619px + 40px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__facility .facility__block--after {
    padding-top: 72px;
  }
}
.footer__facility .facility__label {
  align-items: flex-end;
  display: flex;
  margin: 0;
}
.footer__facility .facility__type {
  letter-spacing: 0.05em;
  margin-right: calc(13px - 0.05em);
  padding-bottom: 0.15em;
  font-size: 18px;
}
@media (min-width: 360px) {
  .footer__facility .facility__type {
    font-size: calc(0.8620689655vw + 14.8965517241px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .footer__facility .facility__type {
    font-size: calc(1.1904761905vw + 9.5714285714px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__facility .facility__type {
    font-size: 21px;
  }
}
.footer__facility .facility__name {
  font-size: 28px;
}
@media (min-width: 360px) {
  .footer__facility .facility__name {
    font-size: calc(1.1494252874vw + 23.8620689655px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .footer__facility .facility__name {
    font-size: calc(1.5873015873vw + 16.7619047619px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__facility .facility__name {
    font-size: 32px;
  }
}
.footer__facility .facility__zipcode {
  margin-top: 40px;
  font-size: 16px;
}
@media (min-width: 360px) {
  .footer__facility .facility__zipcode {
    font-size: calc(0.5747126437vw + 13.9310344828px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .footer__facility .facility__zipcode {
    font-size: calc(0.7936507937vw + 10.380952381px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__facility .facility__zipcode {
    font-size: 18px;
  }
}
.footer__facility .facility__address {
  margin-top: 10px;
  font-size: 16px;
}
@media (min-width: 360px) {
  .footer__facility .facility__address {
    font-size: calc(0.5747126437vw + 13.9310344828px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .footer__facility .facility__address {
    font-size: calc(0.7936507937vw + 10.380952381px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__facility .facility__address {
    font-size: 18px;
  }
}
.footer__facility .facility__link {
  display: inline-block;
  line-height: 1.5;
  padding: 0 0.1em;
  position: relative;
}
.footer__facility .facility__link::after {
  background: repeating-linear-gradient(90deg, #fff, #fff 4px, transparent 4px, transparent 8px) 0 100% no-repeat;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}
.footer__facility .facility__link:active {
  background-color: #e59a9a;
}
@media (any-hover: hover) {
  .footer__facility .facility__link:hover, .footer__facility .facility__link:focus {
    background-color: #e59a9a;
  }
}
.footer__facility .facility__link {
  margin-top: 14px;
  font-size: 16px;
}
@media (min-width: 360px) {
  .footer__facility .facility__link {
    font-size: calc(0.5747126437vw + 13.9310344828px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .footer__facility .facility__link {
    font-size: calc(0.7936507937vw + 10.380952381px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__facility .facility__link {
    font-size: 18px;
  }
}
.footer__facility .facility__phone, .footer__facility .facility__fax {
  height: 30px;
}
@media (min-width: 360px) {
  .footer__facility .facility__phone, .footer__facility .facility__fax {
    height: calc(0.8620689655vw + 26.8965517241px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .footer__facility .facility__phone, .footer__facility .facility__fax {
    height: calc(1.1904761905vw + 21.5714285714px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__facility .facility__phone, .footer__facility .facility__fax {
    height: 33px;
  }
}
.footer__facility .facility__phone, .footer__facility .facility__fax {
  width: 210px;
}
@media (min-width: 360px) {
  .footer__facility .facility__phone, .footer__facility .facility__fax {
    width: calc(6.0344827586vw + 188.275862069px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .footer__facility .facility__phone, .footer__facility .facility__fax {
    width: calc(8.3333333333vw + 151px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__facility .facility__phone, .footer__facility .facility__fax {
    width: 231px;
  }
}
.footer__facility .facility__phone img, .footer__facility .facility__fax img {
  height: 100%;
  width: 100%;
}
.footer__facility .facility__phone {
  display: block;
}
@media (any-hover: hover) {
  .footer__facility .facility__phone {
    pointer-events: none;
  }
}
.footer__facility .facility__fax {
  margin-top: 10px;
}
.footer__floater {
  background: url("/assets/img/common/footer/floater-dca204ef68889f7e.svg") 0 0/100% 100% no-repeat;
  bottom: 50px;
  cursor: pointer;
  position: fixed;
  right: 0;
  height: 45px;
}
@media (min-width: 360px) {
  .footer__floater {
    height: calc(1.8333333333vw + 38.4px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__floater {
    height: 56px;
  }
}
.footer__floater {
  width: 48px;
}
@media (min-width: 360px) {
  .footer__floater {
    width: calc(2vw + 40.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__floater {
    width: 60px;
  }
}
.footer__floater.is-exited {
  opacity: 1;
  transition: opacity 500ms;
}
.footer__floater.is-entered {
  opacity: 0;
  transition: opacity 500ms;
}
.footer__copyright {
  font-family: "Ryumin Regular KL", "Hiragino Mincho ProN", "Yu Mincho", serif;
  align-items: center;
  color: #f2cccc;
  display: flex;
  line-height: 1;
  justify-content: center;
  margin-top: 60px;
}
.footer__copyright-mark {
  font-size: 14px;
}
@media (min-width: 360px) {
  .footer__copyright-mark {
    font-size: calc(0.6666666667vw + 11.6px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__copyright-mark {
    font-size: 18px;
  }
}
.footer__copyright-year, .footer__copyright-name {
  font-size: 11px;
}
@media (min-width: 360px) {
  .footer__copyright-year, .footer__copyright-name {
    font-size: calc(0.3333333333vw + 9.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__copyright-year, .footer__copyright-name {
    font-size: 13px;
  }
}
.footer__copyright-year {
  margin-left: 0.1em;
}
.footer__copyright-name {
  margin-left: 0.3em;
}

/* -------------------------------------------------------------------
 * Footer
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Common Utilities
------------------------------------------------------------------- */
.lazyload, .lazyloading {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
  transition: opacity 1000ms;
}

.home {
  /* information anchor w/button
  ----------------------------------------------- */
}
.home__info-anchor {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 10;
  margin-bottom: -18px;
}
@media (min-width: 360px) {
  .home__info-anchor {
    margin-bottom: calc(-2.8333333333vw + -7.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__info-anchor {
    margin-bottom: -35px;
  }
}
a.home__info-button:link {
  color: #fff;
  text-decoration: none;
}

a.home__info-button:visited {
  color: #fff;
  text-decoration: none;
}

a.home__info-button:hover {
  color: #fff;
  text-decoration: none;
}

a.home__info-button:active {
  color: #fff;
  text-decoration: none;
}

.home__info-button {
  background-color: #db7f7f;
  border-radius: 9999px;
  color: #fff;
  display: block;
  height: 70px;
  letter-spacing: 0.05em;
  line-height: 70px;
  max-width: 520px;
  min-width: 300px;
  position: relative;
  text-align: center;
  text-indent: 0.05em;
  width: calc(100% - 60px);
  font-size: 18px;
}
@media (min-width: 360px) {
  .home__info-button {
    font-size: calc(1.3636363636vw + 13.0909090909px);
    min-height: 0vw;
  }
}
@media (min-width: 580px) {
  .home__info-button {
    font-size: 21px;
  }
}
.home__info-button::after {
  background: url("/assets/img/common/button/below-559a10fa212d10c0.svg") 0 0/100% 100% no-repeat;
  content: "";
  height: 26px;
  position: absolute;
  top: 50%;
  width: 26px;
  right: 22px;
  transform: translateY(-50%);
}
.home__info-button:active {
  background-color: #e29393;
}
@media (any-hover: hover) {
  .home__info-button:hover, .home__info-button:focus {
    background-color: #e29393;
  }
}
.home {
  /* hero
  ----------------------------------------------- */
  /*
   * Note that since it is necessary to insert the result of calculate-vs() into a part of the value
   * in "clip-path" property, vs(), break-vs() and break-min-to-max() cannot be used directly.
   */
}
.home__hero {
  background-color: #f9dddc;
}
.home__hero-image {
  margin: 0 auto;
  position: relative;
  padding-bottom: 45px;
}
@media (min-width: 360px) {
  .home__hero-image {
    padding-bottom: calc(5.8333333333vw + 24px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__hero-image {
    padding-bottom: 80px;
  }
}
.home__hero-image {
  padding-top: 45px;
}
@media (min-width: 360px) {
  .home__hero-image {
    padding-top: calc(5.8333333333vw + 24px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__hero-image {
    padding-top: 80px;
  }
}
.home__hero-image {
  width: 330px;
}
@media (min-width: 360px) {
  .home__hero-image {
    width: calc(98.3333333333vw + -24px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__hero-image {
    width: 920px;
  }
}
.home__hero-image::after {
  background: url("/assets/img/home/bg/hero-1d321a7f13ab27c5.svg") 0 0/100% 100% no-repeat;
  bottom: 0;
  content: "";
  position: absolute;
  right: 0;
  height: 188px;
}
@media (min-width: 360px) {
  .home__hero-image::after {
    height: calc(47vw + 18.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__hero-image::after {
    height: 470px;
  }
}
.home__hero-image::after {
  width: 160px;
}
@media (min-width: 360px) {
  .home__hero-image::after {
    width: calc(40vw + 16px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__hero-image::after {
    width: 400px;
  }
}
.home__hero-image-case {
  padding-top: 38.75%;
  position: relative;
}
.home__hero-image-case > * {
  height: 100% !important;
  left: 0;
  position: absolute;
  top: 0;
  width: 100% !important;
}
.home__hero-image-case {
  width: 100%;
  clip-path: inset(0 round 8px);
}
@media (min-width: 360px) {
  .home__hero-image-case {
    clip-path: inset(0 round calc(2vw + 0.8px));
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__hero-image-case {
    clip-path: inset(0 round 20px);
  }
}
.home {
  /* message
  ----------------------------------------------- */
}
.home__message-bottom-inset, .home__message-upper-inset {
  letter-spacing: 0.1em;
  font-size: 14px;
}
@media (min-width: 360px) {
  .home__message-bottom-inset, .home__message-upper-inset {
    font-size: calc(0.6666666667vw + 11.6px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-bottom-inset, .home__message-upper-inset {
    font-size: 18px;
  }
}
.home__message-bottom-inset, .home__message-upper-inset {
  line-height: 28px;
}
@media (min-width: 360px) {
  .home__message-bottom-inset, .home__message-upper-inset {
    line-height: calc(1.9333333333vw + 21.04px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-bottom-inset, .home__message-upper-inset {
    line-height: 39.6px;
  }
}

.home__message {
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
}
.home__message-row {
  display: flex;
  flex-wrap: wrap;
}
.home__message-upper {
  display: flex;
  padding-left: 15px;
}
@media (min-width: 360px) {
  .home__message-upper {
    padding-left: calc(14.1666666667vw + -36px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-upper {
    padding-left: 100px;
  }
}
.home__message-upper {
  padding-right: 30px;
}
@media (min-width: 360px) {
  .home__message-upper {
    padding-right: calc(11.6666666667vw + -12px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-upper {
    padding-right: 100px;
  }
}
.home__message-lead {
  color: #db7f7f;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  letter-spacing: 0.2em;
  line-height: 2;
  writing-mode: vertical-lr;
  font-size: 20px;
}
@media (min-width: 360px) {
  .home__message-lead {
    font-size: calc(1.6666666667vw + 14px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-lead {
    font-size: 30px;
  }
}
.home__message-lead {
  height: 236px;
}
@media (min-width: 360px) {
  .home__message-lead {
    height: calc(19.6666666667vw + 165.2px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-lead {
    height: 354px;
  }
}
.home__message-lead {
  margin-top: -45px;
}
@media (min-width: 360px) {
  .home__message-lead {
    margin-top: calc(-5.8333333333vw + -24px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-lead {
    margin-top: -80px;
  }
}
.home__message-lead {
  padding-top: 33px;
}
@media (min-width: 360px) {
  .home__message-lead {
    padding-top: calc(3.3333333333vw + 21px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-lead {
    padding-top: 53px;
  }
}
.home__message-lead {
  width: 136px;
}
@media (min-width: 360px) {
  .home__message-lead {
    width: calc(11.3333333333vw + 95.2px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-lead {
    width: 204px;
  }
}
.home__message-upper-inset {
  margin-bottom: 50px;
  margin-left: 0px;
}
@media (min-width: 360px) {
  .home__message-upper-inset {
    margin-left: calc(6.6666666667vw + -24px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-upper-inset {
    margin-left: 40px;
  }
}
.home__message-upper-inset {
  margin-top: 44px;
}
@media (min-width: 360px) {
  .home__message-upper-inset {
    margin-top: calc(4.3333333333vw + 28.4px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-upper-inset {
    margin-top: 70px;
  }
}
.home__message-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-left: 30px;
}
@media (min-width: 360px) {
  .home__message-bottom {
    padding-left: calc(11.6666666667vw + -12px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-bottom {
    padding-left: 100px;
  }
}
.home__message-bottom::after {
  background: url("/assets/img/home/bg/message-5ca7f90ad932e924.svg") 0 0/100% 100% no-repeat;
  content: "";
  margin-left: auto;
  height: 145px;
}
@media (min-width: 360px) {
  .home__message-bottom::after {
    height: calc(9.6666666667vw + 110.2px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-bottom::after {
    height: 203px;
  }
}
.home__message-bottom::after {
  margin-bottom: 40px;
}
@media (min-width: 360px) {
  .home__message-bottom::after {
    margin-bottom: calc(6.6666666667vw + 16px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-bottom::after {
    margin-bottom: 80px;
  }
}
.home__message-bottom::after {
  width: 225px;
}
@media (min-width: 360px) {
  .home__message-bottom::after {
    width: calc(15vw + 171px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-bottom::after {
    width: 315px;
  }
}
.home__message-bottom-inset {
  display: flex;
  flex-direction: column;
  margin-bottom: 13px;
}
@media (min-width: 360px) {
  .home__message-bottom-inset {
    margin-bottom: calc(0.319047619vw + 11.8514285714px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-bottom-inset {
    margin-bottom: 14.9142857143px;
  }
}
.home__message-bottom-inset {
  margin-right: 30px;
}
@media (min-width: 360px) {
  .home__message-bottom-inset {
    margin-right: calc(-3.3333333333vw + 42px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-bottom-inset {
    margin-right: 10px;
  }
}
.home__message-bottom-inset {
  margin-top: -7px;
}
@media (min-width: 360px) {
  .home__message-bottom-inset {
    margin-top: calc(-0.6333333333vw + -4.72px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__message-bottom-inset {
    margin-top: -10.8px;
  }
}
.home {
  /* information
  ----------------------------------------------- */
}
.home__info {
  border-top: 1px solid #999895;
  padding-top: 60px;
  padding-bottom: 44.4px;
}
@media (min-width: 360px) {
  .home__info {
    padding-bottom: calc(1.1vw + 40.44px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__info {
    padding-bottom: 51px;
  }
}
.home__info-sec {
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
  padding: 0 30px;
}
.home__info-sec:nth-child(n+2) {
  margin-top: 44.4px;
}
@media (min-width: 360px) {
  .home__info-sec:nth-child(n+2) {
    margin-top: calc(1.1vw + 40.44px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__info-sec:nth-child(n+2) {
    margin-top: 51px;
  }
}
.home__info-index {
  align-items: center;
  display: flex;
  flex-direction: column;
  position: relative;
}
.home__info-index::after {
  border-top: 2px solid #f9dddc;
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 300px;
}
@media (min-width: 360px) {
  .home__info-index::after {
    width: calc(33.3333333333vw + 180px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__info-index::after {
    width: 500px;
  }
}
.home__info-label {
  align-items: center;
  background-color: #db7f7f;
  border-radius: 8px 8px 0 0;
  color: #fff;
  display: flex;
  letter-spacing: 0.1em;
  justify-content: center;
  margin: 0;
  position: relative;
  text-indent: 0.1em;
  z-index: 10;
  font-size: 18px;
}
@media (min-width: 360px) {
  .home__info-label {
    font-size: calc(0.5vw + 16.2px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__info-label {
    font-size: 21px;
  }
}
.home__info-label {
  height: 45px;
}
@media (min-width: 360px) {
  .home__info-label {
    height: calc(1.5vw + 39.6px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__info-label {
    height: 54px;
  }
}
.home__info-label {
  width: 200px;
}
@media (min-width: 360px) {
  .home__info-label {
    width: calc(20vw + 128px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__info-label {
    width: 320px;
  }
}
.home__info-content {
  text-align: center;
  font-size: 16px;
}
@media (min-width: 360px) {
  .home__info-content {
    font-size: calc(0.3333333333vw + 14.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__info-content {
    font-size: 18px;
  }
}
.home__info-content {
  line-height: 27.2px;
}
@media (min-width: 360px) {
  .home__info-content {
    line-height: calc(1.4666666667vw + 21.92px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__info-content {
    line-height: 36px;
  }
}
.home__info-content {
  margin-top: 19.4px;
}
@media (min-width: 360px) {
  .home__info-content {
    margin-top: calc(0.2666666667vw + 18.44px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__info-content {
    margin-top: 21px;
  }
}
.home {
  /* data
  ----------------------------------------------- */
}
.home__data {
  border-top: 1px solid #999895;
  padding-top: 60px;
  padding-bottom: 70px;
}
@media (min-width: 360px) {
  .home__data {
    padding-bottom: calc(1.6666666667vw + 64px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__data {
    padding-bottom: 80px;
  }
}
.home {
  /* facility
  ----------------------------------------------- */
}
.home__facility .facility a:link {
  color: #db7f7f;
  text-decoration: none;
}
.home__facility .facility a:visited {
  color: #db7f7f;
  text-decoration: none;
}
.home__facility .facility a:hover {
  color: #db7f7f;
  text-decoration: none;
}
.home__facility .facility a:active {
  color: #db7f7f;
  text-decoration: none;
}
.home__facility .facility {
  color: #8c8a85;
  display: flex;
  justify-content: center;
}
.home__facility .facility__inset {
  display: flex;
  flex-direction: column;
}
.home__facility .facility__inset > *:nth-child(n+2) {
  margin-top: 45px;
}
@media (min-width: 708px) {
  .home__facility .facility__inset {
    flex-direction: row;
    justify-content: space-between;
  }
  .home__facility .facility__inset > *:nth-child(n+2) {
    margin-top: 0;
  }
}
.home__facility .facility__block--after, .home__facility .facility__block--lead {
  flex-shrink: 0;
}
.home__facility .facility__block--after > *:not(a), .home__facility .facility__block--lead > *:not(a) {
  line-height: 1;
}
@media (min-width: 708px) {
  .home__facility .facility__block--after, .home__facility .facility__block--lead {
    width: calc(36.5079365079vw + 29.5238095238px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__facility .facility__block--after, .home__facility .facility__block--lead {
    width: 380px;
  }
}

@media (min-width: 708px) {
  .home__facility .facility__block--after {
    margin-left: calc(23.8095238095vw + -168.5714285714px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__facility .facility__block--after {
    margin-left: 60px;
  }
}
@media (min-width: 708px) {
  .home__facility .facility__block--after {
    padding-top: calc(1.5873015873vw + 16.7619047619px + 40px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__facility .facility__block--after {
    padding-top: 72px;
  }
}
.home__facility .facility__label {
  align-items: flex-end;
  display: flex;
  margin: 0;
}
.home__facility .facility__type {
  letter-spacing: 0.05em;
  margin-right: calc(13px - 0.05em);
  padding-bottom: 0.15em;
  font-size: 18px;
}
@media (min-width: 360px) {
  .home__facility .facility__type {
    font-size: calc(0.8620689655vw + 14.8965517241px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .home__facility .facility__type {
    font-size: calc(1.1904761905vw + 9.5714285714px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__facility .facility__type {
    font-size: 21px;
  }
}
.home__facility .facility__name {
  font-size: 28px;
}
@media (min-width: 360px) {
  .home__facility .facility__name {
    font-size: calc(1.1494252874vw + 23.8620689655px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .home__facility .facility__name {
    font-size: calc(1.5873015873vw + 16.7619047619px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__facility .facility__name {
    font-size: 32px;
  }
}
.home__facility .facility__zipcode {
  margin-top: 40px;
  font-size: 16px;
}
@media (min-width: 360px) {
  .home__facility .facility__zipcode {
    font-size: calc(0.5747126437vw + 13.9310344828px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .home__facility .facility__zipcode {
    font-size: calc(0.7936507937vw + 10.380952381px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__facility .facility__zipcode {
    font-size: 18px;
  }
}
.home__facility .facility__address {
  margin-top: 10px;
  font-size: 16px;
}
@media (min-width: 360px) {
  .home__facility .facility__address {
    font-size: calc(0.5747126437vw + 13.9310344828px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .home__facility .facility__address {
    font-size: calc(0.7936507937vw + 10.380952381px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__facility .facility__address {
    font-size: 18px;
  }
}
.home__facility .facility__link {
  display: inline-block;
  line-height: 1.5;
  padding: 0 0.1em;
  position: relative;
}
.home__facility .facility__link::after {
  background: repeating-linear-gradient(90deg, #db7f7f, #db7f7f 4px, transparent 4px, transparent 8px) 0 100% no-repeat;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}
.home__facility .facility__link:active {
  background-color: #f9dddc;
}
@media (any-hover: hover) {
  .home__facility .facility__link:hover, .home__facility .facility__link:focus {
    background-color: #f9dddc;
  }
}
.home__facility .facility__link {
  margin-top: 14px;
  font-size: 16px;
}
@media (min-width: 360px) {
  .home__facility .facility__link {
    font-size: calc(0.5747126437vw + 13.9310344828px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .home__facility .facility__link {
    font-size: calc(0.7936507937vw + 10.380952381px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__facility .facility__link {
    font-size: 18px;
  }
}
.home__facility .facility__phone, .home__facility .facility__fax {
  height: 30px;
}
@media (min-width: 360px) {
  .home__facility .facility__phone, .home__facility .facility__fax {
    height: calc(0.8620689655vw + 26.8965517241px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .home__facility .facility__phone, .home__facility .facility__fax {
    height: calc(1.1904761905vw + 21.5714285714px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__facility .facility__phone, .home__facility .facility__fax {
    height: 33px;
  }
}
.home__facility .facility__phone, .home__facility .facility__fax {
  width: 210px;
}
@media (min-width: 360px) {
  .home__facility .facility__phone, .home__facility .facility__fax {
    width: calc(6.0344827586vw + 188.275862069px);
    min-height: 0vw;
  }
}
@media (min-width: 708px) {
  .home__facility .facility__phone, .home__facility .facility__fax {
    width: calc(8.3333333333vw + 151px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__facility .facility__phone, .home__facility .facility__fax {
    width: 231px;
  }
}
.home__facility .facility__phone img, .home__facility .facility__fax img {
  height: 100%;
  width: 100%;
}
.home__facility .facility__phone {
  display: block;
}
@media (any-hover: hover) {
  .home__facility .facility__phone {
    pointer-events: none;
  }
}
.home__facility .facility__fax {
  margin-top: 10px;
}
.home {
  /* charge
  ----------------------------------------------- */
}
.home__charge {
  padding-top: 60px;
}
.home__charge-inset-tracking {
  margin: 0 auto;
  width: max-content;
}
.home__charge-inset {
  align-items: center;
  display: flex;
  flex-direction: column;
}
@media (min-width: 573px) {
  .home__charge-inset {
    flex-direction: row;
    justify-content: center;
  }
}
.home__charge-sheet--lead, .home__charge-sheet--after {
  border: 1px solid #8c8a85;
  border-collapse: collapse;
}
.home__charge-sheet--lead {
  width: 330px;
}
@media (min-width: 360px) {
  .home__charge-sheet--lead {
    width: calc(37.0892018779vw + 196.4788732394px);
    min-height: 0vw;
  }
}
@media (min-width: 573px) {
  .home__charge-sheet--lead {
    width: calc(43.1524547804vw + 82.7364341085px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__charge-sheet--lead {
    width: 497px;
  }
}
.home__charge-sheet--after {
  margin-top: 35px;
  width: 330px;
}
@media (min-width: 360px) {
  .home__charge-sheet--after {
    width: calc(37.0892018779vw + 196.4788732394px);
    min-height: 0vw;
  }
}
@media (min-width: 573px) {
  .home__charge-sheet--after {
    width: calc(28.165374677vw + 52.6124031008px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__charge-sheet--after {
    width: 323px;
  }
}
@media (min-width: 573px) {
  .home__charge-sheet--after {
    margin-left: -1px;
    margin-top: 0;
  }
  .home__charge-sheet--after .foldable {
    display: none;
  }
}
.home__charge-row {
  line-height: 2;
}
.home__charge-row:nth-child(odd) {
  background-color: #eeeeee;
}
.home__charge-row:first-child {
  font-family: "Jun 501", Jun501Pro-Bold, HiraginoSans-W7, Meiryo, sans-serif;
  line-height: 2.8;
}
.home__charge-cell--value, .home__charge-cell--name {
  border: 1px solid #8c8a85;
  text-align: center;
  font-size: 16px;
}
@media (min-width: 360px) {
  .home__charge-cell--value, .home__charge-cell--name {
    font-size: calc(0.9389671362vw + 12.6197183099px);
    min-height: 0vw;
  }
}
@media (min-width: 573px) {
  .home__charge-cell--value, .home__charge-cell--name {
    font-size: calc(0.5167958656vw + 13.0387596899px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__charge-cell--value, .home__charge-cell--name {
    font-size: 18px;
  }
}

.home__charge-cell--name {
  width: 35.1515151515%;
}
.home__charge-cell--value {
  width: 64.8484848485%;
}
.home__charge-cell-inset {
  display: flex;
  text-align: left;
}
.home__charge-cell-inset > * {
  flex-basis: 50%;
}
.home__charge-cell-inset > *:first-child {
  text-align: right;
}
.home__charge-note {
  font-size: 14px;
  line-height: 1;
  margin-top: 8px;
  text-align: right;
}
.home__charge-note::before {
  content: attr(data-prefix);
}
.home {
  /* floor plan
  ----------------------------------------------- */
}
.home__floor {
  margin-top: 50px;
  padding-bottom: 60px;
}
@media (min-width: 370px) {
  .home__floor {
    margin-top: 55px;
    padding-bottom: 70px;
  }
}
.home__floor-inset {
  align-items: center;
  display: flex;
  flex-direction: column;
}
@media (min-width: 820px) {
  .home__floor-inset {
    align-items: flex-start;
    flex-direction: row;
    justify-content: center;
  }
}
.home__floor-fig {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.home__floor-fig:nth-child(n+2) {
  margin-top: 35px;
}
@media (min-width: 820px) {
  .home__floor-fig:nth-child(n+2) {
    margin-left: calc(42.8571428571vw + -351.4285714286px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__floor-fig:nth-child(n+2) {
    margin-left: 60px;
  }
}
@media (min-width: 370px) {
  .home__floor-fig {
    align-items: flex-start;
    flex-direction: row;
    justify-content: center;
    width: 380px;
  }
}
@media (min-width: 820px) {
  .home__floor-fig:nth-child(n+2) {
    margin-top: 0;
  }
}
.home__floor-image-link {
  height: 178px;
  width: 210px;
}
.home__floor-image-link img {
  height: 100%;
  width: 100%;
}
.home__floor-image-link {
  border: 8px solid #eeeeee;
  display: block;
}
.home__floor-image-link:active {
  border-color: #f9dddc;
}
@media (any-hover: hover) {
  .home__floor-image-link:hover, .home__floor-image-link:focus {
    border-color: #f9dddc;
  }
}
.home__floor-caption {
  align-items: center;
  background: url("/assets/img/home/icon/pdf-6646fe3f52b24628.svg") 0 0/34px 34px no-repeat;
  display: flex;
  height: 34px;
  margin: 10px 0 0 0;
  padding-left: 40px;
}
@media (min-width: 370px) {
  .home__floor-caption {
    margin: 0 0 0 10px;
  }
}
a.home__floor-link:link {
  color: #db7f7f;
  text-decoration: none;
}

a.home__floor-link:visited {
  color: #db7f7f;
  text-decoration: none;
}

a.home__floor-link:hover {
  color: #db7f7f;
  text-decoration: none;
}

a.home__floor-link:active {
  color: #db7f7f;
  text-decoration: none;
}

.home__floor-link {
  display: inline-block;
  line-height: 1.5;
  padding: 0 0.1em;
  position: relative;
}
.home__floor-link::after {
  background: repeating-linear-gradient(90deg, #db7f7f, #db7f7f 4px, transparent 4px, transparent 8px) 0 100% no-repeat;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}
.home__floor-link:active {
  background-color: #f9dddc;
}
@media (any-hover: hover) {
  .home__floor-link:hover, .home__floor-link:focus {
    background-color: #f9dddc;
  }
}
.home__floor-link {
  font-size: 16px;
}
.home__floor-link::before {
  content: "";
  height: 34px;
  left: -40px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
}
.home {
  /* disclosure
  ----------------------------------------------- */
}
.home__disclosure {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  width: max-content;
}
a.home__disclosure-button:link {
  color: #fff;
  text-decoration: none;
}

a.home__disclosure-button:visited {
  color: #fff;
  text-decoration: none;
}

a.home__disclosure-button:hover {
  color: #fff;
  text-decoration: none;
}

a.home__disclosure-button:active {
  color: #fff;
  text-decoration: none;
}

.home__disclosure-button {
  align-items: center;
  border-radius: 9999px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 640px;
  min-width: 300px;
  position: relative;
  width: 100%;
}
@media (min-width: 731.55px) {
  .home__disclosure-button {
    flex-direction: row;
  }
}
.home__disclosure-button {
  height: 80px;
}
@media (min-width: 360px) {
  .home__disclosure-button {
    height: calc(-1.6666666667vw + 86px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-button {
    height: 77.6666666667px;
  }
}
.home__disclosure-button {
  padding-left: 36px;
}
@media (min-width: 360px) {
  .home__disclosure-button {
    padding-left: calc(4.1666666667vw + 21px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-button {
    padding-left: 41.8333333333px;
  }
}
.home__disclosure-button {
  padding-right: 36px;
}
@media (min-width: 360px) {
  .home__disclosure-button {
    padding-right: calc(4.1666666667vw + 21px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-button {
    padding-right: 41.8333333333px;
  }
}
@media (min-width: 731.55px) {
  .home__disclosure-button {
    height: 70px;
  }
}
@media (min-width: 731.55px) {
  .home__disclosure-button {
    padding-left: 61px;
  }
}
@media (min-width: 731.55px) {
  .home__disclosure-button {
    padding-right: 61px;
  }
}
.home__disclosure-button:nth-child(n+2) {
  margin-top: 25px;
}
@media (min-width: 360px) {
  .home__disclosure-button:nth-child(n+2) {
    margin-top: calc(0.8333333333vw + 22px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-button:nth-child(n+2) {
    margin-top: 26.1666666667px;
  }
}
@media (min-width: 731.55px) {
  .home__disclosure-button:nth-child(n+2) {
    margin-top: 30px;
  }
}
.home__disclosure-button::after {
  background: url("/assets/img/home/icon/external-747401b5f141c092.svg") 0 0/100% 100% no-repeat;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 26px;
}
@media (min-width: 360px) {
  .home__disclosure-button::after {
    height: calc(2.1666666667vw + 18.2px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-button::after {
    height: 29.0333333333px;
  }
}
.home__disclosure-button::after {
  right: 14px;
}
@media (min-width: 360px) {
  .home__disclosure-button::after {
    right: calc(1.3333333333vw + 9.2px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-button::after {
    right: 15.8666666667px;
  }
}
.home__disclosure-button::after {
  width: 26px;
}
@media (min-width: 360px) {
  .home__disclosure-button::after {
    width: calc(2.1666666667vw + 18.2px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-button::after {
    width: 29.0333333333px;
  }
}
@media (min-width: 731.55px) {
  .home__disclosure-button::after {
    height: 39px;
  }
}
@media (min-width: 731.55px) {
  .home__disclosure-button::after {
    right: 22px;
  }
}
@media (min-width: 731.55px) {
  .home__disclosure-button::after {
    width: 39px;
  }
}
.home__disclosure-button:first-child {
  background-color: #5ebc84;
}
.home__disclosure-button:first-child:active {
  background-color: #71c694;
}
.home__disclosure-button:nth-child(n+2) {
  background-color: #4ec4bc;
}
.home__disclosure-button:nth-child(n+2):active {
  background-color: #5fcec3;
}
@media (any-hover: hover) {
  .home__disclosure-button:first-child:hover, .home__disclosure-button:first-child:focus {
    background-color: #71c694;
  }
  .home__disclosure-button:nth-child(n+2):hover, .home__disclosure-button:nth-child(n+2):focus {
    background-color: #5fcec3;
  }
}
.home__disclosure-label--sub, .home__disclosure-label {
  padding-left: 1px;
}
@media (min-width: 360px) {
  .home__disclosure-label--sub, .home__disclosure-label {
    padding-left: calc(27.8571428571vw + -99.2857142857px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-label--sub, .home__disclosure-label {
    padding-left: 40px;
  }
}
@media (min-width: 731.55px) {
  .home__disclosure-label--sub, .home__disclosure-label {
    padding-left: 0px;
  }
}
.home__disclosure-label--sub, .home__disclosure-label {
  padding-right: 1px;
}
@media (min-width: 360px) {
  .home__disclosure-label--sub, .home__disclosure-label {
    padding-right: calc(27.8571428571vw + -99.2857142857px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-label--sub, .home__disclosure-label {
    padding-right: 40px;
  }
}
@media (min-width: 731.55px) {
  .home__disclosure-label--sub, .home__disclosure-label {
    padding-right: 0px;
  }
}

.home__disclosure-label {
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  font-size: 18px;
}
@media (min-width: 360px) {
  .home__disclosure-label {
    font-size: calc(0.5vw + 16.2px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-label {
    font-size: 18.7px;
  }
}
.home__disclosure-label {
  line-height: 27px;
}
@media (min-width: 360px) {
  .home__disclosure-label {
    line-height: calc(1.5291666667vw + 21.495px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-label {
    line-height: 29.1408333333px;
  }
}
@media (min-width: 731.55px) {
  .home__disclosure-label {
    font-size: 21px;
  }
}
.home__disclosure-label--sub {
  font-size: 14px;
}
@media (min-width: 360px) {
  .home__disclosure-label--sub {
    font-size: calc(0.6666666667vw + 11.6px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-label--sub {
    font-size: 14.9333333333px;
  }
}
.home__disclosure-label--sub {
  line-height: 21px;
}
@media (min-width: 360px) {
  .home__disclosure-label--sub {
    line-height: calc(2.0666666667vw + 13.56px);
    min-height: 0vw;
  }
}
@media (min-width: 500px) {
  .home__disclosure-label--sub {
    line-height: 23.8933333333px;
  }
}
@media (min-width: 731.55px) {
  .home__disclosure-label--sub {
    font-size: 18px;
  }
}
.home {
  /* map
  ----------------------------------------------- */
}
.home__map > * {
  width: 100%;
  height: 250px;
}
@media (min-width: 360px) {
  .home__map > * {
    height: calc(18.3333333333vw + 184px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .home__map > * {
    height: 360px;
  }
}