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

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}
@media print, (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx), (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}
/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]::after {
    content: " (" attr(href) ")";
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
   * Printing Tables:
   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
/* -------------------------------------------------------------------
 * Inquiry - entry
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * 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;
}

/* -------------------------------------------------------------------
 * Inquiry - entry
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Container
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Inquiry - entry
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Header
------------------------------------------------------------------- */
.header {
  position: relative;
  z-index: 100;
  /* lead
  ----------------------------------------------- */
  /* nav
  ----------------------------------------------- */
}
.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;
  display: block;
  margin-top: 3px;
}
.header__facility-name img {
  height: 100%;
  width: 100%;
}
.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;
    margin-left: 13px;
    margin-top: 0;
  }
  .header__facility-name img {
    height: 100%;
    width: 100%;
  }
}
.header__phone {
  height: 24px;
  width: 184px;
  display: block;
  flex-shrink: 0;
}
.header__phone img {
  height: 100%;
  width: 100%;
}
@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 {
  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 {
  align-items: center;
  display: flex;
  flex-shrink: 0;
}
.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: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;
  letter-spacing: 0.05em;
  padding-left: 0.1em;
  padding-right: 0.05em;
}
.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;
  }
}

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

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

/* -------------------------------------------------------------------
 * Inquiry - entry
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Footer
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Inquiry - entry
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Facility Component
------------------------------------------------------------------- */
/* helper
----------------------------------------------- */
/* configuration
----------------------------------------------- */
/* style
----------------------------------------------- */
.footer {
  background-color: #db7f7f;
  padding: 60px 0 50px;
}
.footer__facility .facility {
  color: #fff;
  display: flex;
  justify-content: center;
}
.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__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;
  }
}
.footer__facility .facility__block--after, .footer__facility .facility__block--lead {
  flex-shrink: 0;
}
.footer__facility .facility__block--after > *:not(a), .footer__facility .facility__block--lead > *:not(a) {
  line-height: 1;
}
@media (min-width: 708px) {
  .footer__facility .facility__block--after, .footer__facility .facility__block--lead {
    width: calc(36.5079365079vw + 29.5238095238px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .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;
  margin-top: 14px;
  font-size: 16px;
}
.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;
  }
}
@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;
  width: 210px;
}
@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;
  }
}
@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;
  width: 48px;
}
@media (min-width: 360px) {
  .footer__floater {
    height: calc(1.8333333333vw + 38.4px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .footer__floater {
    height: 56px;
  }
}
@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;
}

/* -------------------------------------------------------------------
 * Inquiry - entry
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Contact Component
------------------------------------------------------------------- */
.contact {
  align-items: center;
  border: 2px solid #db7f7f;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  position: relative;
  padding-bottom: 40px;
  padding-top: 40px;
  width: 300px;
}
.contact::after {
  background: url("/assets/img/common/contact/bg-0f59e80365c9de67.svg") 0 0/100% 100% no-repeat;
  content: "";
  position: absolute;
  bottom: 8px;
  height: 40px;
  right: -32px;
  width: 120px;
}
@media (min-width: 360px) {
  .contact::after {
    bottom: calc(1.3333333333vw + 3.2px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .contact::after {
    bottom: 16px;
  }
}
@media (min-width: 360px) {
  .contact::after {
    height: calc(3.3333333333vw + 28px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .contact::after {
    height: 60px;
  }
}
@media (min-width: 360px) {
  .contact::after {
    right: calc(-3.3333333333vw + -20px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .contact::after {
    right: -52px;
  }
}
@media (min-width: 360px) {
  .contact::after {
    width: calc(10vw + 84px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .contact::after {
    width: 180px;
  }
}
@media (min-width: 360px) {
  .contact {
    padding-bottom: calc(1.6666666667vw + 34px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .contact {
    padding-bottom: 50px;
  }
}
@media (min-width: 360px) {
  .contact {
    padding-top: calc(1.6666666667vw + 34px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .contact {
    padding-top: 50px;
  }
}
@media (min-width: 360px) {
  .contact {
    width: calc(33.3333333333vw + 180px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .contact {
    width: 500px;
  }
}
.contact__lead {
  line-height: 1;
  font-size: 16px;
}
@media (min-width: 360px) {
  .contact__lead {
    font-size: calc(0.3333333333vw + 14.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .contact__lead {
    font-size: 18px;
  }
}
.contact__phone {
  display: block;
  margin-top: 20px;
  height: 31.2px;
  width: 239.2px;
}
.contact__phone > img {
  height: 100%;
  width: 100%;
}
@media (min-width: 360px) {
  .contact__phone {
    height: calc(2.8vw + 21.12px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .contact__phone {
    height: 48px;
  }
}
@media (min-width: 360px) {
  .contact__phone {
    width: calc(21.4666666667vw + 161.92px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .contact__phone {
    width: 368px;
  }
}
@media (any-hover: hover) {
  .contact__phone {
    pointer-events: none;
  }
}
.contact__form {
  display: inline-block;
  line-height: 1.5;
  padding: 0 0.1em;
  position: relative;
  margin-top: 18px;
  font-size: 16px;
}
a.contact__form:link {
  color: #db7f7f;
  text-decoration: none;
}

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

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

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

.contact__form::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%;
}
.contact__form:active {
  background-color: #f9dddc;
}
@media (any-hover: hover) {
  .contact__form:hover, .contact__form:focus {
    background-color: #f9dddc;
  }
}
@media (min-width: 360px) {
  .contact__form {
    font-size: calc(0.3333333333vw + 14.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .contact__form {
    font-size: 18px;
  }
}

/* -------------------------------------------------------------------
 * Inquiry - entry
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Form Component - Entry State (for all form type)
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Inquiry - entry
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Form Component - Common (for all form type/state)
------------------------------------------------------------------- */
.form {
  /* board
  ----------------------------------------------- */
  /* step
  ----------------------------------------------- */
  /* sheet
  ----------------------------------------------- */
  /* contact block
  ----------------------------------------------- */
}
.form__board {
  background-color: #efe7df;
  padding-bottom: 70px;
  padding-top: 50px;
}
@media (min-width: 360px) {
  .form__board {
    padding-bottom: calc(1.6666666667vw + 64px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__board {
    padding-bottom: 80px;
  }
}
@media (min-width: 360px) {
  .form__board {
    padding-top: calc(1.6666666667vw + 44px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__board {
    padding-top: 60px;
  }
}
.form__board-inset {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  width: 300px;
}
@media (min-width: 360px) {
  .form__board-inset {
    width: calc(76.6666666667vw + 24px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__board-inset {
    width: 760px;
  }
}
.form__step {
  display: flex;
  justify-content: center;
}
.form__step-column {
  align-items: center;
  color: #e8afaf;
  display: flex;
  flex-direction: column;
  margin: 0;
  position: relative;
  padding-top: 34px;
  width: 96px;
}
.form__step-column:nth-child(n+2) {
  margin-left: 6px;
}
@media (min-width: 360px) {
  .form__step-column:nth-child(n+2) {
    margin-left: 1.6666666667vw;
  }
}
@media (min-width: 600px) {
  .form__step-column:nth-child(n+2) {
    margin-left: 10px;
  }
}
.form__step-column.on-step {
  color: #db7f7f;
}
.form__step-column.on-step::before {
  background: url("/assets/img/common/form/step/icon-b67e441ba928586f.svg") 0 0/100% 100% no-repeat;
  content: "";
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  height: 24px;
  width: 34px;
}
@media (min-width: 360px) {
  .form__step-column.on-step::before {
    height: calc(2vw + 16.8px);
    min-height: 0vw;
  }
}
@media (min-width: 600px) {
  .form__step-column.on-step::before {
    height: 28.8px;
  }
}
@media (min-width: 360px) {
  .form__step-column.on-step::before {
    width: calc(2.8333333333vw + 23.8px);
    min-height: 0vw;
  }
}
@media (min-width: 600px) {
  .form__step-column.on-step::before {
    width: 40.8px;
  }
}
@media (min-width: 360px) {
  .form__step-column {
    padding-top: calc(4.0833333333vw + 19.3px);
    min-height: 0vw;
  }
}
@media (min-width: 600px) {
  .form__step-column {
    padding-top: 43.8px;
  }
}
@media (min-width: 360px) {
  .form__step-column {
    width: calc(8vw + 67.2px);
    min-height: 0vw;
  }
}
@media (min-width: 600px) {
  .form__step-column {
    width: 115.2px;
  }
}
@media (min-width: 600px) {
  .form__step-column {
    align-items: flex-end;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 160px;
  }
}
.form__step-column::after {
  background: url("/assets/img/common/form/step/bar/narrow/midflow/normal-0ea4e947f6fd4fcd.svg") 0 0/100% 100% no-repeat;
  content: "";
  margin-top: 8px;
  width: 100%;
  height: 10px;
}
@media (min-width: 360px) {
  .form__step-column::after {
    height: calc(0.8333333333vw + 7px);
    min-height: 0vw;
  }
}
@media (min-width: 600px) {
  .form__step-column::after {
    height: 12px;
  }
}
@media (min-width: 600px) {
  .form__step-column::after {
    background-image: url("/assets/img/common/form/step/bar/wide/midflow/normal-c94a27c7f717e287.svg");
    margin-top: 10px;
  }
}
.form__step-column.on-step::after {
  background-image: url("/assets/img/common/form/step/bar/narrow/midflow/current-dc021da3a29a086c.svg");
}
@media (min-width: 600px) {
  .form__step-column.on-step::after {
    background-image: url("/assets/img/common/form/step/bar/wide/midflow/current-53fce0e6c17d0ec1.svg");
  }
}
.form__step-column.is-last::after {
  background-image: url("/assets/img/common/form/step/bar/narrow/end/normal-6703ec70916030e3.svg");
}
@media (min-width: 600px) {
  .form__step-column.is-last::after {
    background-image: url("/assets/img/common/form/step/bar/wide/end/normal-affebc1eebf09636.svg");
  }
}
.form__step-column.on-step.is-last::after {
  background-image: url("/assets/img/common/form/step/bar/narrow/end/current-615fa6b591eb3fee.svg");
}
@media (min-width: 600px) {
  .form__step-column.on-step.is-last::after {
    background-image: url("/assets/img/common/form/step/bar/wide/end/current-cd2c35f9427ff13c.svg");
  }
}
.form__step-label-prefix {
  align-items: center;
  display: flex;
  justify-content: center;
}
.form__step-label-lead {
  line-height: 1;
  font-size: 10px;
}
@media (min-width: 360px) {
  .form__step-label-lead {
    font-size: calc(1.6666666667vw + 4px);
    min-height: 0vw;
  }
}
@media (min-width: 600px) {
  .form__step-label-lead {
    font-size: 14px;
  }
}
.form__step-label-no {
  line-height: 1;
  margin-left: 0.2em;
  font-size: 12px;
}
@media (min-width: 360px) {
  .form__step-label-no {
    font-size: calc(2.5vw + 3px);
    min-height: 0vw;
  }
}
@media (min-width: 600px) {
  .form__step-label-no {
    font-size: 18px;
  }
}
.form__step-label-name {
  letter-spacing: 0.2em;
  line-height: 1;
  margin-top: 6px;
  text-indent: 0.2em;
  font-size: 16px;
}
@media (min-width: 600px) {
  .form__step-label-name {
    margin-left: 0.6em;
    margin-top: 0;
  }
}
@media (min-width: 360px) {
  .form__step-label-name {
    font-size: calc(2.0833333333vw + 8.5px);
    min-height: 0vw;
  }
}
@media (min-width: 600px) {
  .form__step-label-name {
    font-size: 21px;
  }
}
.form__sheet {
  width: 100%;
}
.form__contact {
  display: flex;
  justify-content: center;
  padding-bottom: 70px;
  padding-top: 70px;
}
@media (min-width: 360px) {
  .form__contact {
    padding-bottom: calc(1.6666666667vw + 64px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__contact {
    padding-bottom: 80px;
  }
}
@media (min-width: 360px) {
  .form__contact {
    padding-top: calc(1.6666666667vw + 64px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__contact {
    padding-top: 80px;
  }
}

.form {
  /* lead
  ----------------------------------------------- */
  /* validation error notice
  ----------------------------------------------- */
  /* board
  ----------------------------------------------- */
  /* sheet
  ----------------------------------------------- */
  /* sheet - heading
  ----------------------------------------------- */
  /* sheet - data
  ----------------------------------------------- */
  /* form element
  ----------------------------------------------- */
  /* pp
  ----------------------------------------------- */
  /* submission
  ----------------------------------------------- */
}
.form__lead {
  padding-bottom: 34.4px;
  padding-top: 34.4px;
}
@media (min-width: 360px) {
  .form__lead {
    padding-bottom: calc(2.7666666667vw + 24.44px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__lead {
    padding-bottom: 51px;
  }
}
@media (min-width: 360px) {
  .form__lead {
    padding-top: calc(2.7666666667vw + 24.44px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__lead {
    padding-top: 51px;
  }
}
.form__lead-message {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 0 30px;
}
.form__lead-message-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 16px;
  line-height: 27.2px;
}
@media (min-width: 360px) {
  .form__lead-message-row {
    font-size: calc(0.3333333333vw + 14.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__lead-message-row {
    font-size: 18px;
  }
}
@media (min-width: 360px) {
  .form__lead-message-row {
    line-height: calc(1.4666666667vw + 21.92px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__lead-message-row {
    line-height: 36px;
  }
}
.form__warn {
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 50px;
  padding-top: 40px;
}
@media (min-width: 360px) {
  .form__warn {
    padding-bottom: calc(-1.6666666667vw + 56px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__warn {
    padding-bottom: 40px;
  }
}
@media (min-width: 360px) {
  .form__warn {
    padding-top: calc(3.3333333333vw + 28px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__warn {
    padding-top: 60px;
  }
}
.form__warn-message {
  color: #23af98;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1.7;
  position: relative;
  font-size: 21px;
  padding-top: 58.65px;
}
.form__warn-message > * {
  flex-shrink: 0;
}
.form__warn-message::before {
  background: url("/assets/img/common/form/notice-14e152e9d5612d93.svg") 0 0/100% 100% no-repeat;
  content: "";
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  height: 46px;
  width: 46px;
}
@media (min-width: 360px) {
  .form__warn-message::before {
    height: calc(1.5333333333vw + 40.48px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__warn-message::before {
    height: 55.2px;
  }
}
@media (min-width: 360px) {
  .form__warn-message::before {
    width: calc(1.5333333333vw + 40.48px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__warn-message::before {
    width: 55.2px;
  }
}
@media (min-width: 360px) {
  .form__warn-message {
    font-size: calc(0.5vw + 19.2px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__warn-message {
    font-size: 24px;
  }
}
@media (min-width: 360px) {
  .form__warn-message {
    padding-top: calc(1.3583333333vw + 53.76px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__warn-message {
    padding-top: 66.8px;
  }
}
.form__warn-message-sub {
  line-height: 1;
  text-align: center;
  font-size: 16px;
  margin-top: 22.65px;
}
@media (min-width: 360px) {
  .form__warn-message-sub {
    font-size: calc(0.6666666667vw + 13.6px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__warn-message-sub {
    font-size: 20px;
  }
}
@media (min-width: 360px) {
  .form__warn-message-sub {
    margin-top: calc(-1.0083333333vw + 26.28px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__warn-message-sub {
    margin-top: 16.6px;
  }
}
.form__board-inset {
  margin-top: 50px;
}
@media (min-width: 360px) {
  .form__board-inset {
    margin-top: calc(1.6666666667vw + 44px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__board-inset {
    margin-top: 60px;
  }
}
.has-warn .form__board-inset {
  margin-top: 0;
}

.form__sheet-heading-row:nth-child(n+2) > * {
  padding-top: 30px;
}
@media (min-width: 360px) {
  .form__sheet-heading-row:nth-child(n+2) > * {
    padding-top: calc(1.6666666667vw + 24px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__sheet-heading-row:nth-child(n+2) > * {
    padding-top: 40px;
  }
}
.form__sheet-subject {
  align-items: center;
  display: flex;
  justify-content: space-between;
  line-height: 1;
  text-align: left;
  font-size: 16px;
  height: 18px;
}
@media (min-width: 360px) {
  .form__sheet-subject {
    font-size: calc(0.6666666667vw + 13.6px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__sheet-subject {
    font-size: 20px;
  }
}
@media (min-width: 360px) {
  .form__sheet-subject {
    height: calc(0.9vw + 14.76px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__sheet-subject {
    height: 23.4px;
  }
}
.is-required .form__sheet-subject::after {
  align-items: center;
  background-color: #db7f7f;
  color: #fff;
  content: attr(data-required);
  display: flex;
  height: 100%;
  justify-content: center;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  border-radius: 2px;
  font-size: 12px;
  width: 32px;
}
@media (min-width: 360px) {
  .is-required .form__sheet-subject::after {
    border-radius: calc(0.1vw + 1.64px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .is-required .form__sheet-subject::after {
    border-radius: 2.6px;
  }
}
@media (min-width: 360px) {
  .is-required .form__sheet-subject::after {
    font-size: calc(0.6vw + 9.84px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .is-required .form__sheet-subject::after {
    font-size: 15.6px;
  }
}
@media (min-width: 360px) {
  .is-required .form__sheet-subject::after {
    width: calc(1.6vw + 26.24px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .is-required .form__sheet-subject::after {
    width: 41.6px;
  }
}

.form__sheet-data-cell {
  padding-top: 10px;
}
@media (min-width: 360px) {
  .form__sheet-data-cell {
    padding-top: calc(0.3333333333vw + 8.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__sheet-data-cell {
    padding-top: 12px;
  }
}
.form__sheet-data-toggles {
  background-color: #fff;
  border: 2px solid #fff;
  color: #5e5d5a;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 16px;
  padding-left: 13px;
  padding-right: 13px;
}
@media (min-width: 360px) {
  .form__sheet-data-toggles {
    padding-left: calc(1.6666666667vw + 7px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__sheet-data-toggles {
    padding-left: 23px;
  }
}
@media (min-width: 360px) {
  .form__sheet-data-toggles {
    padding-right: calc(1.6666666667vw + 7px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__sheet-data-toggles {
    padding-right: 23px;
  }
}
.has-error .form__sheet-data-toggles {
  border-color: #23af98;
}

.form__sheet-data-toggle {
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 16px;
  width: max(253px, 50%);
}
.form__sheet-notice {
  color: #23af98;
  display: flex;
  justify-content: center;
  line-height: 1;
  font-size: 16px;
  margin-top: 10px;
}
.form__sheet-notice::before {
  content: attr(data-prefix);
}
@media (min-width: 360px) {
  .form__sheet-notice {
    font-size: calc(0.6666666667vw + 13.6px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__sheet-notice {
    font-size: 20px;
  }
}
@media (min-width: 360px) {
  .form__sheet-notice {
    margin-top: calc(0.3333333333vw + 8.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__sheet-notice {
    margin-top: 12px;
  }
}
.form__textarea, .form__textbox {
  appearance: none;
  background-color: #fff;
  border: 2px solid #fff;
  border-radius: 0;
  color: #5e5d5a;
  line-height: 1;
  outline: none;
  vertical-align: middle;
  font-size: 18px;
  padding-left: 13px;
  padding-right: 13px;
}
@media (min-width: 360px) {
  .form__textarea, .form__textbox {
    font-size: calc(0.8333333333vw + 15px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__textarea, .form__textbox {
    font-size: 23px;
  }
}
@media (min-width: 360px) {
  .form__textarea, .form__textbox {
    padding-left: calc(1.6666666667vw + 7px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__textarea, .form__textbox {
    padding-left: 23px;
  }
}
@media (min-width: 360px) {
  .form__textarea, .form__textbox {
    padding-right: calc(1.6666666667vw + 7px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__textarea, .form__textbox {
    padding-right: 23px;
  }
}
.has-error .form__textarea, .has-error .form__textbox {
  border-color: #23af98;
}

.form__textbox {
  width: 100%;
  height: 48px;
}
@media (min-width: 360px) {
  .form__textbox {
    height: calc(1.8333333333vw + 41.4px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__textbox {
    height: 59px;
  }
}
.form__textarea {
  line-height: 1.5;
  width: 100%;
  padding-bottom: 13px;
  padding-top: 13px;
}
@media (min-width: 360px) {
  .form__textarea {
    padding-bottom: calc(0.5vw + 11.2px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__textarea {
    padding-bottom: 16px;
  }
}
@media (min-width: 360px) {
  .form__textarea {
    padding-top: calc(0.5vw + 11.2px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__textarea {
    padding-top: 16px;
  }
}
.form__toggle {
  appearance: none;
  opacity: 0;
  position: absolute;
}
.form__checkbox-text, .form__radio-text {
  align-items: center;
  display: flex;
  font-size: 18px;
}
@media (min-width: 360px) {
  .form__checkbox-text, .form__radio-text {
    font-size: calc(0.8333333333vw + 15px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__checkbox-text, .form__radio-text {
    font-size: 23px;
  }
}
.form__checkbox-text::before, .form__radio-text::before {
  background-position: 0 0, 1000px 1000px;
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  background-size: 24px;
  height: 24px;
  margin-right: 5px;
  width: 24px;
}
@media (min-width: 360px) {
  .form__checkbox-text::before, .form__radio-text::before {
    background-size: calc(1vw + 20.4px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__checkbox-text::before, .form__radio-text::before {
    background-size: 30px;
  }
}
@media (min-width: 360px) {
  .form__checkbox-text::before, .form__radio-text::before {
    height: calc(1vw + 20.4px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__checkbox-text::before, .form__radio-text::before {
    height: 30px;
  }
}
@media (min-width: 360px) {
  .form__checkbox-text::before, .form__radio-text::before {
    margin-right: calc(0.3333333333vw + 3.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__checkbox-text::before, .form__radio-text::before {
    margin-right: 7px;
  }
}
@media (min-width: 360px) {
  .form__checkbox-text::before, .form__radio-text::before {
    width: calc(1vw + 20.4px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__checkbox-text::before, .form__radio-text::before {
    width: 30px;
  }
}

.form__radio-text::before {
  background-image: url("/assets/img/common/form/element/radio/unchecked-dbb69fddfbbf918c.svg"), url("/assets/img/common/form/element/radio/checked-88338c7288c6e6dc.svg");
}
.form__checkbox-text::before {
  background-image: url("/assets/img/common/form/element/checkbox/unchecked-edeb9a72309cf2f1.svg"), url("/assets/img/common/form/element/checkbox/checked-eb5a92a15ccee496.svg");
}
.form__toggle:checked + .form__checkbox-text::before, .form__toggle:checked + .form__radio-text::before {
  background-position: 1000px 1000px, 0 0;
}
.form__pp {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 2;
  font-size: 16px;
  margin-top: 32px;
  padding-bottom: 22px;
}
@media (min-width: 360px) {
  .form__pp {
    font-size: calc(0.6666666667vw + 13.6px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__pp {
    font-size: 20px;
  }
}
@media (min-width: 360px) {
  .form__pp {
    margin-top: calc(3vw + 21.2px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__pp {
    margin-top: 50px;
  }
}
@media (min-width: 360px) {
  .form__pp {
    padding-bottom: calc(1.3333333333vw + 17.2px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .form__pp {
    padding-bottom: 30px;
  }
}
.form__pp-link {
  display: inline-block;
  line-height: 1.5;
  padding: 0 0.1em;
  position: relative;
}
a.form__pp-link:link {
  color: #db7f7f;
  text-decoration: none;
}

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

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

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

.form__pp-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%;
}
.form__pp-link:active {
  background-color: #f9dddc;
}
@media (any-hover: hover) {
  .form__pp-link:hover, .form__pp-link:focus {
    background-color: #f9dddc;
  }
}
.form__confirm-button {
  appearance: none !important;
  background-color: transparent;
  border: 0 solid;
  box-sizing: border-box;
  cursor: pointer;
  outline: none;
  padding: 0;
  vertical-align: middle;
  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% - 0px);
  font-size: 18px;
  margin: 0 auto;
}
a.form__confirm-button:link {
  color: #fff;
  text-decoration: none;
}

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

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

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

@media (min-width: 360px) {
  .form__confirm-button {
    font-size: calc(1.875vw + 11.25px);
    min-height: 0vw;
  }
}
@media (min-width: 520px) {
  .form__confirm-button {
    font-size: 21px;
  }
}
.form__confirm-button::after {
  background: url("/assets/img/common/button/right-3ef71e27a5ab0c4e.svg") 0 0/100% 100% no-repeat;
  content: "";
  height: 26px;
  position: absolute;
  top: 50%;
  width: 26px;
  right: 22px;
  transform: translateY(-50%);
}
.form__confirm-button:active {
  background-color: #e29393;
}
@media (any-hover: hover) {
  .form__confirm-button:hover, .form__confirm-button:focus {
    background-color: #e29393;
  }
}

/* -------------------------------------------------------------------
 * Inquiry - entry
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
 * Page Title Component
------------------------------------------------------------------- */
.page-title {
  align-items: center;
  background-color: #f9dddc;
  color: #db7f7f;
  display: flex;
  font-size: 28px;
  justify-content: center;
  letter-spacing: 0.4em;
  margin: 0;
  position: relative;
  text-align: center;
  text-indent: 0.4em;
  font-size: 21px;
  height: 100px;
}
.page-title > *:first-child {
  position: relative;
  z-index: 20;
}
.page-title::after {
  background: url("/assets/img/common/page_title/bg-38472771db5fcbad.svg") 0 0/100% 100% no-repeat;
  content: "";
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 10;
  width: 164.3px;
}
@media (min-width: 360px) {
  .page-title::after {
    width: calc(10.95vw + 124.88px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .page-title::after {
    width: 230px;
  }
}
@media (min-width: 820px) {
  .page-title::after {
    right: calc(50vw + -410px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .page-title::after {
    right: 70px;
  }
}
@media (min-width: 360px) {
  .page-title {
    font-size: calc(1.1666666667vw + 16.8px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .page-title {
    font-size: 28px;
  }
}
@media (min-width: 360px) {
  .page-title {
    height: calc(6.6666666667vw + 76px);
    min-height: 0vw;
  }
}
@media (min-width: 960px) {
  .page-title {
    height: 140px;
  }
}

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

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