@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);@charset "UTF-8";

/*!
 * Pikaday
 * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/
 */

.pika-single {
    z-index: 9999;
    display: block;
    position: relative;
    color: #333;
    background: #fff;
    border: 1px solid #ccc;
    border-bottom-color: #bbb;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/*
clear child float (pika-lendar), using the famous micro clearfix hack
http://nicolasgallagher.com/micro-clearfix-hack/
*/
.pika-single:before,
.pika-single:after {
    content: " ";
    display: table;
}
.pika-single:after { clear: both }

.pika-single.is-hidden {
    display: none;
}

.pika-single.is-bound {
    position: absolute;
    box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);
}

.pika-lendar {
    float: left;
    width: 240px;
    margin: 8px;
}

.pika-title {
    position: relative;
    text-align: center;
}

.pika-label {
    display: inline-block;
    position: relative;
    z-index: 9999;
    overflow: hidden;
    margin: 0;
    padding: 5px 3px;
    font-size: 14px;
    line-height: 20px;
    font-weight: bold;
    background-color: #fff;
}
.pika-title select {
    cursor: pointer;
    position: absolute;
    z-index: 9998;
    margin: 0;
    left: 0;
    top: 5px;
    opacity: 0;
}

.pika-prev,
.pika-next {
    display: block;
    cursor: pointer;
    position: relative;
    outline: none;
    border: 0;
    padding: 0;
    width: 20px;
    height: 30px;
    /* hide text using text-indent trick, using width value (it's enough) */
    text-indent: 20px;
    white-space: nowrap;
    overflow: hidden;
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 75% 75%;
    opacity: .5;
}

.pika-prev:hover,
.pika-next:hover {
    opacity: 1;
}

.pika-prev,
.is-rtl .pika-next {
    float: left;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==');
}

.pika-next,
.is-rtl .pika-prev {
    float: right;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=');
}

.pika-prev.is-disabled,
.pika-next.is-disabled {
    cursor: default;
    opacity: .2;
}

.pika-select {
    display: inline-block;
}

.pika-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
}

.pika-table th,
.pika-table td {
    width: 14.285714285714286%;
    padding: 0;
}

.pika-table th {
    color: #999;
    font-size: 12px;
    line-height: 25px;
    font-weight: bold;
    text-align: center;
}

.pika-button {
    cursor: pointer;
    display: block;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    outline: none;
    border: 0;
    margin: 0;
    width: 100%;
    padding: 5px;
    color: #666;
    font-size: 12px;
    line-height: 15px;
    text-align: right;
    background: #f5f5f5;
    height: initial;
}

.pika-week {
    font-size: 11px;
    color: #999;
}

.is-today .pika-button {
    color: #33aaff;
    font-weight: bold;
}

.is-selected .pika-button,
.has-event .pika-button {
    color: #fff;
    font-weight: bold;
    background: #33aaff;
    box-shadow: inset 0 1px 3px #178fe5;
    border-radius: 3px;
}

.has-event .pika-button {
    background: #005da9;
    box-shadow: inset 0 1px 3px #0076c9;
}

.is-disabled .pika-button,
.is-inrange .pika-button {
    background: #D5E9F7;
}

.is-startrange .pika-button {
    color: #fff;
    background: #6CB31D;
    box-shadow: none;
    border-radius: 3px;
}

.is-endrange .pika-button {
    color: #fff;
    background: #33aaff;
    box-shadow: none;
    border-radius: 3px;
}

.is-disabled .pika-button {
    pointer-events: none;
    cursor: default;
    color: #999;
    opacity: .3;
}

.is-outside-current-month .pika-button {
    color: #999;
    opacity: .3;
}

.is-selection-disabled {
    pointer-events: none;
    cursor: default;
}

.pika-button:hover,
.pika-row.pick-whole-week:hover .pika-button {
    color: #fff;
    background: #ff8000;
    box-shadow: none;
    border-radius: 3px;
}

/* styling for abbr */
.pika-table abbr {
    border-bottom: none;
    cursor: help;
}
@charset "UTF-8";
/*! sanitize.css v4.1.0 | CC0 License | github.com/jonathantneal/sanitize.css */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

template,
[hidden] {
  display: none; }

*,
::before,
::after {
  background-repeat: no-repeat;
  box-sizing: inherit; }

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit; }

html {
  box-sizing: border-box;
  cursor: default;
  font-family: sans-serif;
  line-height: 1.5;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: .67em 0; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

hr {
  height: 0;
  overflow: visible; }

nav ol,
nav ul {
  list-style: none; }

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none; }

b,
strong {
  font-weight: inherit; }

b,
strong {
  font-weight: bolder; }

dfn {
  font-style: italic; }

mark {
  background-color: #ff0;
  color: #000; }

progress {
  vertical-align: baseline; }

small {
  font-size: 83.3333%; }

sub,
sup {
  font-size: 83.3333%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

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

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

img {
  border-style: none; }

svg {
  fill: currentColor; }
  svg:not(:root) {
    overflow: hidden; }

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects; }
  a:hover {
    outline-width: 0; }

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

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
  font-size: 1em;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html [type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; }

::-moz-focus-inner {
  border-style: none;
  padding: 0; }

:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: .35em .625em .75em; }

legend {
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

textarea {
  overflow: auto;
  resize: vertical; }

[type='checkbox'],
[type='radio'] {
  padding: 0; }

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto; }

[type='search'] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

::-webkit-search-cancel-button,
::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-input-placeholder {
  color: inherit;
  opacity: .54; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

[aria-busy='true'] {
  cursor: progress; }

[aria-controls] {
  cursor: pointer; }

[aria-disabled] {
  cursor: default; }

a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation; }

[hidden][aria-hidden='false'] {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute; }
  [hidden][aria-hidden='false']:focus {
    clip: auto; }

@font-face {
  font-family: 'swiper-icons';
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal; }

:root {
  --swiper-theme-color: #007aff; }

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

.swiper-container-multirow-column > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

/* Auto Height */
.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform; }

/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px; }
  .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow {
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d; }
  .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10; }
  .swiper-container-3d .swiper-slide-shadow-left {
    background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
  .swiper-container-3d .swiper-slide-shadow-right {
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
  .swiper-container-3d .swiper-slide-shadow-top {
    background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
  .swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */ }
  .swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none; }

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start; }

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory; }

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory; }

/* ==============================================
 * VARIABLES
 * =========================================== */
/* ==============================================
 * LIBRARY
 * =========================================== */
/*-----------------------------------*\

  $TOAST-GRID

  An insane grid.
  You'd be mad to use it.

  Usage
  =====

  Assuming default values:

  <div class="grid">
    <div class="grid__col grid__col--1-of-2">
      A half-width column.
    </div>
    <div class="grid__col grid__col--1-of-4 grid__col--pull-1-of-4">
      A quarter, pulled left by its own width. You get this, right?
    </div>
  </div>


  Customisation
  =============

  $toast-grid-namespace and $toast-grid-column-namespace
  adjusts the class names for the grid. With
  default values, grid wrappers have a class
  of '.grid' and columns '.grid__col'.

  $toast-col-groups(n) adjusts column divisions.
  For example, $toast-col-groups(12) will produce
  a 12-column grid. $col-groups(3,6,8)
  will produce a 3-, 6-, and 8-column grid.

  $toast-gutter-width is—you guessed it—the gutter
  width. Accepts any unit.

  That's it. Have fun.

\*-----------------------------------*/
.grid {
  list-style: none;
  margin-left: -50px; }

.grid__col--2-of-2, .grid__col--3-of-3, .grid__col--4-of-4, .grid__col--5-of-5, .grid__col--6-of-6, .grid__col--8-of-8, .grid__col--12-of-12 {
  width: 100%; }

.grid__col--1-of-2, .grid__col--2-of-4, .grid__col--3-of-6, .grid__col--4-of-8, .grid__col--6-of-12 {
  width: 50%; }

.grid__col--1-of-3, .grid__col--2-of-6, .grid__col--4-of-12 {
  width: 33.33333%; }

.grid__col--2-of-3, .grid__col--4-of-6, .grid__col--8-of-12 {
  width: 66.66667%; }

.grid__col--1-of-4, .grid__col--2-of-8, .grid__col--3-of-12 {
  width: 25%; }

.grid__col--3-of-4, .grid__col--6-of-8, .grid__col--9-of-12 {
  width: 75%; }

.grid__col--push-2-of-2, .grid__col--push-3-of-3, .grid__col--push-4-of-4, .grid__col--push-5-of-5, .grid__col--push-6-of-6, .grid__col--push-8-of-8, .grid__col--push-12-of-12 {
  margin-left: 100%; }

.grid__col--push-1-of-2, .grid__col--push-2-of-4, .grid__col--push-3-of-6, .grid__col--push-4-of-8, .grid__col--push-6-of-12 {
  margin-left: 50%; }

.grid__col--push-1-of-3, .grid__col--push-2-of-6, .grid__col--push-4-of-12 {
  margin-left: 33.33333%; }

.grid__col--push-2-of-3, .grid__col--push-4-of-6, .grid__col--push-8-of-12 {
  margin-left: 66.66667%; }

.grid__col--push-1-of-4, .grid__col--push-2-of-8, .grid__col--push-3-of-12 {
  margin-left: 25%; }

.grid__col--push-3-of-4, .grid__col--push-6-of-8, .grid__col--push-9-of-12 {
  margin-left: 75%; }

.grid__col--pull-2-of-2, .grid__col--pull-3-of-3, .grid__col--pull-4-of-4, .grid__col--pull-5-of-5, .grid__col--pull-6-of-6, .grid__col--pull-8-of-8, .grid__col--pull-12-of-12 {
  margin-left: -100%; }

.grid__col--pull-1-of-2, .grid__col--pull-2-of-4, .grid__col--pull-3-of-6, .grid__col--pull-4-of-8, .grid__col--pull-6-of-12 {
  margin-left: -50%; }

.grid__col--pull-1-of-3, .grid__col--pull-2-of-6, .grid__col--pull-4-of-12 {
  margin-left: -33.33333%; }

.grid__col--pull-2-of-3, .grid__col--pull-4-of-6, .grid__col--pull-8-of-12 {
  margin-left: -66.66667%; }

.grid__col--pull-1-of-4, .grid__col--pull-2-of-8, .grid__col--pull-3-of-12 {
  margin-left: -25%; }

.grid__col--pull-3-of-4, .grid__col--pull-6-of-8, .grid__col--pull-9-of-12 {
  margin-left: -75%; }

.grid__col--1-of-5 {
  width: 20%; }

.grid__col--push-1-of-5 {
  margin-left: 20%; }

.grid__col--pull-1-of-5 {
  margin-left: -20%; }

.grid__col--2-of-5 {
  width: 40%; }

.grid__col--push-2-of-5 {
  margin-left: 40%; }

.grid__col--pull-2-of-5 {
  margin-left: -40%; }

.grid__col--3-of-5 {
  width: 60%; }

.grid__col--push-3-of-5 {
  margin-left: 60%; }

.grid__col--pull-3-of-5 {
  margin-left: -60%; }

.grid__col--4-of-5 {
  width: 80%; }

.grid__col--push-4-of-5 {
  margin-left: 80%; }

.grid__col--pull-4-of-5 {
  margin-left: -80%; }

.grid__col--1-of-6 {
  width: 16.66667%; }

.grid__col--push-1-of-6 {
  margin-left: 16.66667%; }

.grid__col--pull-1-of-6 {
  margin-left: -16.66667%; }

.grid__col--5-of-6 {
  width: 83.33333%; }

.grid__col--push-5-of-6 {
  margin-left: 83.33333%; }

.grid__col--pull-5-of-6 {
  margin-left: -83.33333%; }

.grid__col--1-of-8 {
  width: 12.5%; }

.grid__col--push-1-of-8 {
  margin-left: 12.5%; }

.grid__col--pull-1-of-8 {
  margin-left: -12.5%; }

.grid__col--3-of-8 {
  width: 37.5%; }

.grid__col--push-3-of-8 {
  margin-left: 37.5%; }

.grid__col--pull-3-of-8 {
  margin-left: -37.5%; }

.grid__col--5-of-8 {
  width: 62.5%; }

.grid__col--push-5-of-8 {
  margin-left: 62.5%; }

.grid__col--pull-5-of-8 {
  margin-left: -62.5%; }

.grid__col--7-of-8 {
  width: 87.5%; }

.grid__col--push-7-of-8 {
  margin-left: 87.5%; }

.grid__col--pull-7-of-8 {
  margin-left: -87.5%; }

.grid__col--1-of-12 {
  width: 8.33333%; }

.grid__col--push-1-of-12 {
  margin-left: 8.33333%; }

.grid__col--pull-1-of-12 {
  margin-left: -8.33333%; }

.grid__col--2-of-12 {
  width: 16.66667%; }

.grid__col--push-2-of-12 {
  margin-left: 16.66667%; }

.grid__col--pull-2-of-12 {
  margin-left: -16.66667%; }

.grid__col--5-of-12 {
  width: 41.66667%; }

.grid__col--push-5-of-12 {
  margin-left: 41.66667%; }

.grid__col--pull-5-of-12 {
  margin-left: -41.66667%; }

.grid__col--7-of-12 {
  width: 58.33333%; }

.grid__col--push-7-of-12 {
  margin-left: 58.33333%; }

.grid__col--pull-7-of-12 {
  margin-left: -58.33333%; }

.grid__col--10-of-12 {
  width: 83.33333%; }

.grid__col--push-10-of-12 {
  margin-left: 83.33333%; }

.grid__col--pull-10-of-12 {
  margin-left: -83.33333%; }

.grid__col--11-of-12 {
  width: 91.66667%; }

.grid__col--push-11-of-12 {
  margin-left: 91.66667%; }

.grid__col--pull-11-of-12 {
  margin-left: -91.66667%; }

.grid__col {
  box-sizing: border-box;
  display: inline-block;
  margin-right: -.25em;
  min-height: 1px;
  padding-left: 50px;
  vertical-align: top; }
  @media (max-width: 768px) {
    .grid__col {
      display: block;
      margin-left: 0;
      margin-right: 0;
      width: auto; } }
  @media (max-width: 768px) and (min-width: 480px) {
    .grid__col[class*="grid__col--m-"] {
      display: inline-block;
      margin-right: -.24em; }
    .grid__col.grid__col--m-1-of-2, .grid__col.grid__col--m-2-of-4 {
      width: 50%; }
    .grid__col.grid__col--m-1-of-3 {
      width: 33.33333%; }
    .grid__col.grid__col--m-2-of-3 {
      width: 66.66667%; }
    .grid__col.grid__col--m-1-of-4 {
      width: 25%; }
    .grid__col.grid__col--m-3-of-4 {
      width: 75%; } }
  @media (max-width: 480px) {
    .grid__col[class*="grid__col--s-"] {
      display: inline-block;
      margin-right: -.24em; }
    .grid__col.grid__col--s-1-of-2, .grid__col.grid__col--s-2-of-4 {
      width: 50%; }
    .grid__col.grid__col--s-1-of-3 {
      width: 33.33333%; }
    .grid__col.grid__col--s-2-of-3 {
      width: 66.66667%; }
    .grid__col.grid__col--s-1-of-4 {
      width: 25%; }
    .grid__col.grid__col--s-3-of-4 {
      width: 75%; } }

.grid__col--centered {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.grid__col--d-first {
  float: left; }

.grid__col--d-last {
  float: right; }

.grid--no-gutter {
  margin-left: 0;
  width: 100%; }
  .grid--no-gutter .grid__col {
    padding-left: 0; }
  .grid--no-gutter .grid__col--span-all {
    margin-left: 0;
    width: 100%; }

.grid__col--ab {
  vertical-align: bottom; }

.grid__col--am {
  vertical-align: middle; }

/* ==============================================
 * MIXIN
 * =========================================== */
/* ==============================================
 * FOUNDATION
 * =========================================== */
* {
  box-sizing: border-box; }

html {
  font-size: 62.6%; }

body {
  font-family: "Yu Gothic", "YuGothic", "YuGothic L", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Verdana, Meiryo, "M+ 1p", sans-serif;
  font-size: 1.6rem; }

a:not([class]) {
  color: #193b87;
  text-decoration: none; }
  a:not([class]):hover {
    text-decoration: underline; }

table th, table td {
  text-align: left; }

.container, .container__fluid {
  margin: 0 auto;
  padding: 0 15px;
  max-width: 1230px; }
  @media (max-width: 768px) {
    .container, .container__fluid {
      padding: 0 20px; } }
  .container__fluid {
    width: auto; }
    @media (max-width: 768px) {
      .container__fluid {
        padding: 0 10px; } }
    @media (max-width: 413px) {
      .container__fluid {
        padding: 0 5px; } }

.content {
  background: white; }

/* ==============================================
 * LAYOUT
 * =========================================== */
.header {
  background: white;
  border-bottom: solid 1px #193b87;
  padding: 13px 0;
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 10000; }
  .header.is__home {
    border-bottom: none; }
  @media (max-width: 992px) {
    .header {
      min-height: 50px;
      padding: 11px 0; } }
  .header__description {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-size: 87.5%;
    font-weight: 300;
    line-height: 1;
    margin: 0;
    text-align: right; }
    @media (max-width: 992px) {
      .header__description {
        font-size: 82.5%;
        padding-right: 50px;
        text-align: left; } }
    @media (max-width: 413px) {
      .header__description {
        font-size: 62.5%;
        padding-top: 4px;
        padding-bottom: 4px; } }

/**
 * Global Navigation
 */
.nav {
  background: #193b87;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10005;
  width: 100%; }
  @media (max-width: 992px) {
    .nav {
      background: transparent;
      position: fixed;
      top: 0;
      z-index: 100000; }
      .nav.active {
        bottom: 0; }
        .nav.active > .container, .nav.active > .container__fluid {
          height: 100%; } }
  .nav__toggle {
    background: #193b87;
    height: 50px;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 50px;
    z-index: 5; }
    @media (min-width: 993px) {
      .nav__toggle {
        display: none; } }
    .nav__toggle:focus, .nav__toggle:active {
      outline: none; }
    .nav__toggle--bar {
      background: white;
      display: block;
      height: 2px;
      margin: 0;
      position: absolute;
      width: 26px;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
          -ms-transform: translate(-50%, 0);
              transform: translate(-50%, 0);
      -webkit-transition: -webkit-transform 300ms ease-in-out;
      transition: -webkit-transform 300ms ease-in-out;
      transition: transform 300ms ease-in-out;
      transition: transform 300ms ease-in-out, -webkit-transform 300ms ease-in-out; }
      .nav__toggle--bar:first-child {
        -webkit-transform: translate(-50%, -300%);
            -ms-transform: translate(-50%, -300%);
                transform: translate(-50%, -300%);
        -webkit-transform-origin: center;
            -ms-transform-origin: center;
                transform-origin: center; }
        .active .nav__toggle--bar:first-child {
          -webkit-transform: translate(-50%, -50%) rotate(45deg);
              -ms-transform: translate(-50%, -50%) rotate(45deg);
                  transform: translate(-50%, -50%) rotate(45deg); }
      .nav__toggle--bar:nth-child(2) {
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        -webkit-transform-origin: right;
            -ms-transform-origin: right;
                transform-origin: right; }
        .active .nav__toggle--bar:nth-child(2) {
          -webkit-transform: translate(-50%, -50%) scale(0, 1);
              -ms-transform: translate(-50%, -50%) scale(0, 1);
                  transform: translate(-50%, -50%) scale(0, 1); }
      .nav__toggle--bar:last-child {
        -webkit-transform: translate(-50%, 200%);
            -ms-transform: translate(-50%, 200%);
                transform: translate(-50%, 200%);
        -webkit-transform-origin: center;
            -ms-transform-origin: center;
                transform-origin: center; }
        .active .nav__toggle--bar:last-child {
          -webkit-transform: translate(-50%, -50%) rotate(-45deg);
              -ms-transform: translate(-50%, -50%) rotate(-45deg);
                  transform: translate(-50%, -50%) rotate(-45deg); }
  .nav__collapse {
    margin: 0 -15px; }
    .nav__collapse:before, .nav__collapse:after {
      content: '';
      display: table; }
    .nav__collapse:after {
      clear: both; }
    @media (max-width: 992px) {
      .nav__collapse {
        background: white;
        margin: 0 -20px;
        display: none;
        height: 100%;
        opacity: 0; } }
    @media (max-width: 992px) {
      .active .nav__collapse {
        display: block;
        opacity: 1;
        -webkit-animation-duration: 300ms;
                animation-duration: 300ms;
        -webkit-animation-name: fade-in;
                animation-name: fade-in; } }
  .nav__title {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    float: left;
    font-size: 100%;
    line-height: 1;
    margin: 0;
    padding: 20px 0;
    width: 267px; }
    @media (max-width: 992px) {
      .nav__title {
        float: none;
        margin: 0 auto;
        padding: 10px 0;
        width: 300px; } }
    @media (max-width: 414px) {
      .nav__title {
        padding: 13px 0; } }
    .nav__title--link {
      display: block;
      padding: 0 15px;
      text-align: center; }
    .nav__title--image {
      width: 100%; }
      @media (max-width: 992px) {
        .nav__title--image {
          height: 30px;
          width: auto; } }
      @media (max-width: 414px) {
        .nav__title--image {
          height: 24px; } }
  .nav__body {
    float: right;
    padding: 0;
    margin: 0; }
    .nav__body:before, .nav__body:after {
      content: '';
      display: table; }
    .nav__body:after {
      clear: both; }
    @media (max-width: 992px) {
      .nav__body {
        overflow-y: scroll;
        float: none;
        height: calc(100% - 50px); } }
    .nav__body--item {
      float: left; }
      @media (max-width: 992px) {
        .nav__body--item {
          border-color: white;
          border-style: solid;
          border-width: 1px 0;
          float: none; } }
    .nav__body--link {
      background: #193b87;
      color: white;
      display: block;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 112.5%;
      line-height: 1;
      padding: 26px 20px;
      text-decoration: none;
      -webkit-transition: background 300ms ease-in-out;
      transition: background 300ms ease-in-out; }
      @media (max-width: 768px) {
        .nav__body--link {
          font-size: 150%;
          padding: 17px 10px; } }
      .nav__body--link:hover, .nav__body--link.current {
        background: #153271; }
  .nav__fixed {
    position: fixed;
    top: 0;
    width: 100%; }
    @media (max-width: 992px) {
      .nav__fixed {
        top: 0; } }
  .nav__sub {
    border-top: solid 1px white;
    background: #335298;
    display: none;
    padding: 0 20px; }
    @media (max-width: 992px) {
      .open .nav__sub {
        display: block; } }
    .nav__sub--item {
      border-bottom: solid 1px white; }
      .nav__sub--item:last-child {
        border-bottom: 0; }
    .nav__sub--link {
      color: white;
      display: block;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      padding: 10px 10px 10px 15px;
      position: relative;
      text-decoration: none; }
      .nav__sub--link:before {
        background: url(../img/common/arrow-w.svg);
        background-size: contain;
        content: '';
        height: 10px;
        position: absolute;
        top: 50%;
        left: 0;
        width: 5px;
        -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
                transform: translate(0, -50%); }

@-webkit-keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fade-out {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fade-out {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.sidenav__title {
  border-top: solid 2px #193b87;
  font-size: 100%;
  font-weight: normal;
  line-height: 1;
  margin: 0;
  padding: 16px 0; }
  @media (max-width: 768px) {
    .sidenav__title {
      display: none; } }
  .sidenav__title > a {
    color: black;
    text-decoration: none;
    -webkit-transition: color 300ms ease-in-out;
    transition: color 300ms ease-in-out; }
    .sidenav__title > a:hover {
      color: rgba(0, 0, 0, 0.7); }

.sidenav__body {
  border-bottom: solid 2px #e9e9e9;
  list-style: none;
  margin: 0;
  padding: 0; }
  @media (max-width: 768px) {
    .sidenav__body {
      display: none; } }

.sidenav__item {
  border-top: dashed 1px #e9e9e9;
  -webkit-transition: border-top-color 300ms ease-in-out;
  transition: border-top-color 300ms ease-in-out; }
  .sidenav__item:hover {
    border-top-color: #193b87; }

.sidenav__link {
  color: black;
  display: block;
  font-size: 87.5%;
  padding: 15px 10px 15px 17px;
  position: relative;
  text-decoration: none;
  -webkit-transition: color 300ms ease-in-out;
  transition: color 300ms ease-in-out; }
  .sidenav__link:before {
    content: url(../img/home/entry-arrow.svg);
    display: block;
    height: 18px;
    width: 9px;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%); }
  .sidenav__link:hover {
    color: #193b87; }

.sidenav__links {
  list-style: none;
  margin: 40px 0 0;
  padding: 0; }
  @media (max-width: 768px) {
    .sidenav__links {
      display: none; } }
  .sidenav__links--item {
    border-color: #193b87;
    border-style: dashed;
    border-width: 1px 0 0; }
    .sidenav__links--item:last-child {
      border-width: 1px 0; }
  .sidenav__links--link {
    color: black;
    display: block;
    overflow: hidden;
    padding: 20px 0 20px 115px;
    position: relative;
    text-decoration: none; }
    .sidenav__links--link:before {
      border: solid 1px #193b87;
      border-radius: 100%;
      content: '';
      display: block;
      height: 26px;
      position: absolute;
      top: 50%;
      left: 22px;
      width: 26px;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    .sidenav__links--link:after {
      background: url(../img/home/entry-arrow.svg);
      background-size: contain;
      content: '';
      display: block;
      height: 12px;
      position: absolute;
      top: 50%;
      left: 22px;
      width: 6px;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
  .sidenav__links--title {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-size: 125%;
    font-weight: 100;
    line-height: 1;
    margin: 0;
    padding-bottom: 10px;
    position: relative; }
    .sidenav__links--title:before {
      background: #193b87;
      content: '';
      display: block;
      height: 1px;
      position: absolute;
      top: 100%;
      left: 0;
      width: 30px; }
  .sidenav__links--subhead {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-size: 87.5%;
    font-weight: 100;
    line-height: 1;
    margin: 10px 0 0; }
  .sidenav__links--image {
    left: 73px;
    opacity: .6;
    position: absolute;
    top: 18px;
    -webkit-transform: translate(-50%, 0) scale(0.35);
        -ms-transform: translate(-50%, 0) scale(0.35);
            transform: translate(-50%, 0) scale(0.35);
    -webkit-transform-origin: center top;
        -ms-transform-origin: center top;
            transform-origin: center top; }

.sidenav__easy {
  background: #ece7e5;
  margin: 40px 0;
  padding: 40px 20px; }
  @media (max-width: 768px) {
    .sidenav__easy {
      display: none; } }
  .sidenav__easy--title {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-weight: 100;
    line-height: 1;
    margin: 0 0 30px;
    text-align: center; }
  .sidenav__easy--desc {
    font-size: 87.5%;
    text-align: center; }
  .sidenav__easy--link {
    margin-top: 20px; }
  .sidenav__easy--button {
    font-size: 125% !important; }
    .sidenav__easy--button:before, .sidenav__easy--button:after {
      background: #ece7e5 !important; }
    .sidenav__easy--button-inner {
      padding: 22px 48px !important; }
      .sidenav__easy--button-inner:before {
        height: 14px;
        left: 20px !important;
        width: 7px; }
    .sidenav__easy--button-option:before, .sidenav__easy--button-option:after {
      background: #ece7e5 !important; }

.sidenav__appointment {
  border-top: solid 3px #e9e9e9; }
  @media (max-width: 768px) {
    .sidenav__appointment {
      padding-top: 10px;
      border-top-width: 1px; } }
  .sidenav__appointment--title {
    border-bottom: solid 3px #193b87;
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-size: 162.5%;
    font-weight: 100;
    line-height: 1;
    margin: 40px 0 20px;
    padding-bottom: 10px; }
    @media (max-width: 768px) {
      .sidenav__appointment--title {
        padding-bottom: 15px; } }
  .sidenav__appointment--subhead {
    margin-top: 25px !important; }
  .sidenav__appointment--link {
    display: block;
    margin-bottom: 20px;
    text-decoration: none; }
    .sidenav__appointment--link:last-child {
      margin-bottom: 0; }
    .sidenav__appointment--link-inner {
      color: #193b87;
      display: block;
      padding: 16px 15px;
      min-width: 0; }
  .sidenav__appointment--pc:after, .sidenav__appointment--sp:after, .sidenav__appointment--tel:after {
    content: none !important; }

.footer {
  background: #193b87;
  padding: 35px 0;
  position: relative;
  z-index: 50; }
  @media (max-width: 768px) {
    .footer {
      padding: 0 0 30px; } }
  .footer__nav {
    text-align: center;
    margin-bottom: 50px; }
    @media (max-width: 768px) {
      .footer__nav {
        text-align: left; } }
    .footer__nav--body {
      list-style: none;
      margin: 0;
      padding: 0; }
      @media (max-width: 768px) {
        .footer__nav--body {
          margin: 0 -20px; } }
    .footer__nav--item {
      display: inline-block;
      margin-left: -.25em; }
      @media (max-width: 768px) {
        .footer__nav--item {
          border-color: white;
          border-style: solid;
          border-width: 0 0 1px;
          width: 50%; } }
      @media (max-width: 768px) {
        .footer__nav--item:nth-child(2n+1) {
          border-right: solid 1px white; } }
    .footer__nav--link {
      background: #193b87;
      color: white;
      display: block;
      padding: 15px;
      text-align: center;
      text-decoration: none; }
      @media (max-width: 413px) {
        .footer__nav--link {
          font-size: 81.25%;
          padding: 10px; } }
      .footer__nav--link:hover {
        background: #153271; }
  .footer__logo {
    margin: 0;
    text-align: center; }
    .footer__logo--link {
      display: inline-block; }
    .footer__logo--image {
      display: block;
      width: 267px; }
  .footer__address {
    color: white;
    font-size: 75%;
    font-style: normal;
    text-align: center; }
    @media (min-width: 414px) and (max-width: 768px) {
      .footer__address {
        margin-left: -20px;
        margin-right: -20px;
        font-size: 87.5%; } }
  .footer__copyright {
    color: white;
    display: block;
    font-size: 75%;
    margin-top: 35px;
    text-align: center; }
    @media (max-width: 413px) {
      .footer__copyright {
        font-size: 62.5%; } }

.home {
  padding-top: 70px;
  position: relative; }
  @media (max-width: 992px) {
    .home {
      padding-top: 0; } }
  .home__news {
    background: white;
    padding-top: 100px;
    position: relative;
    z-index: 5; }
    @media (max-width: 768px) {
      .home__news {
        padding-top: 50px; } }
    .home__news--title {
      border-bottom: solid 2px #193b87;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 162.5%;
      font-weight: 300;
      padding-bottom: 13px;
      margin: 0; }
    .home__news--body {
      list-style: none;
      margin: 0;
      padding: 0; }
    .home__news--item {
      border-bottom: dashed 1px #cdcdcd;
      padding: 20px 10px 10px; }
      .home__news--item:last-child {
        border-bottom: none; }
    .home__news--cat {
      background: white;
      border: solid 1px #193b87;
      color: #193b87;
      display: inline-block;
      text-decoration: none;
      padding: 0 9px;
      -webkit-transition: background 300ms ease-in-out, color 300ms ease-in-out;
      transition: background 300ms ease-in-out, color 300ms ease-in-out; }
      @media (max-width: 768px) {
        .home__news--cat {
          font-size: 87.5%; } }
      .home__news--cat:hover {
        background: #193b87;
        color: white; }
    .home__news--pubdate {
      color: #5d5d5d;
      display: inline-block;
      font-size: 93.75%;
      margin-left: 10px; }
      @media (max-width: 768px) {
        .home__news--pubdate {
          font-size: 87.5%; } }
    .home__news--briefing-date {
      color: #5d5d5d;
      display: block;
      margin-top: 2px; }
    .home__news--item-title {
      font-size: 100%;
      font-weight: 500;
      margin-bottom: 0; }
      @media (max-width: 768px) {
        .home__news--item-title {
          font-weight: 100; } }
    .home__news--link {
      color: black;
      display: block;
      text-decoration: none;
      -webkit-transition: color 300ms ease;
      transition: color 300ms ease; }
      .home__news--link:hover {
        color: gray; }
    .home__news--more {
      color: black;
      display: inline-block;
      font-size: 87.5%;
      margin: 0 auto 0 0;
      text-decoration: none;
      -webkit-transition: color 300ms ease-in-out;
      transition: color 300ms ease-in-out; }
      .home__news--more:hover {
        color: rgba(0, 0, 0, 0.7); }
      .home__news--more-arrow {
        height: 11px;
        width: 6px; }
    .home__news--archive-link {
      background: url(../img/home/archive-link-bg.gif) repeat left top;
      border-color: #cdcdcd;
      border-style: solid;
      border-width: 1px 0;
      color: #193b87;
      display: block;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 100%;
      line-height: 1;
      padding: 18.5px 15px;
      text-align: center;
      text-decoration: none;
      vertical-align: middle;
      -webkit-transition: color 300ms ease-in-out;
      transition: color 300ms ease-in-out; }
      @media (max-width: 768px) {
        .home__news--archive-link {
          margin-bottom: 50px; } }
      .home__news--archive-link:hover {
        color: #5983e0; }
  .home__introduction {
    background: white;
    padding: 100px 0;
    position: relative;
    z-index: 5; }
    .home__introduction:before, .home__introduction:after {
      content: '';
      display: table; }
    .home__introduction:after {
      clear: both; }
    @media (max-width: 768px) {
      .home__introduction {
        padding: 50px 0; } }
    .home__introduction--textbox {
      float: right;
      padding: 0 50px;
      width: 46.032%; }
      @media (max-width: 992px) {
        .home__introduction--textbox {
          padding: 0 25px; } }
      @media (max-width: 700px) {
        .home__introduction--textbox {
          padding: 0;
          width: 100%; } }
    .home__introduction--title {
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 237.5%;
      font-weight: 300;
      line-height: 1;
      margin: 90px 0 55px; }
      @media (max-width: 768px) {
        .home__introduction--title {
          margin: 25px 0 30px; } }
    .home__introduction--text {
      line-height: 1.875;
      max-width: 335px; }
    .home__introduction--imagebox {
      float: right;
      width: 53.968%; }
      @media (max-width: 700px) {
        .home__introduction--imagebox {
          width: 100%; } }
    .home__introduction--image {
      max-width: 100%; }
    .home__introduction--doctor-name {
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 125%;
      font-weight: 700;
      margin-bottom: 25px; }
      @media (max-width: 768px) {
        .home__introduction--doctor-name {
          margin-bottom: 15px; } }
    .home__introduction--position {
      font-size: 1.6rem;
      font-weight: 300;
      margin-right: 20px; }
  .home__links {
    background: white;
    border-top: dashed 1px #193b87;
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    padding: 0 0 120px;
    position: relative;
    z-index: 5; }
    .home__links:before, .home__links:after {
      content: '';
      display: table; }
    .home__links:after {
      clear: both; }
    @media (max-width: 768px) {
      .home__links {
        padding: 0 0 50px; } }
    .home__links--item {
      border-bottom: dashed 1px #193b87;
      float: left;
      width: 50%; }
      @media (max-width: 480px) {
        .home__links--item {
          width: 100%; } }
      .home__links--item:nth-child(2n+1) {
        border-right: dashed 1px #193b87; }
        @media (max-width: 480px) {
          .home__links--item:nth-child(2n+1) {
            border-right: none; } }
    .home__links--body {
      color: black;
      display: block;
      text-decoration: none;
      padding: 65px 0 65px 275px;
      position: relative; }
      @media (max-width: 992px) {
        .home__links--body {
          padding-left: 150px; } }
      @media (max-width: 480px) {
        .home__links--body {
          padding: 40px 0 40px 40.106951871%; } }
    .home__links--image-box {
      left: 150px;
      position: absolute;
      top: 50%;
      width: 96px;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%); }
      @media (max-width: 768px) {
        .home__links--image-box {
          left: 108px;
          height: 1px;
          width: 1px; } }
      @media (max-width: 413px) {
        .home__links--image-box {
          left: 75px; } }
    .home__links--image {
      left: 50%;
      position: absolute;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
      @media (max-width: 768px) {
        .home__links--image {
          -webkit-transform: translate(-50%, -50%) scale(0.88);
              -ms-transform: translate(-50%, -50%) scale(0.88);
                  transform: translate(-50%, -50%) scale(0.88); } }
      @media (max-width: 768px) {
        .home__links--image {
          -webkit-transform: translate(-50%, -50%) scale(0.7);
              -ms-transform: translate(-50%, -50%) scale(0.7);
                  transform: translate(-50%, -50%) scale(0.7); } }
    .home__links--title {
      font-weight: 100;
      font-size: 175%;
      line-height: 1;
      margin: 0 0 35px; }
      @media (max-width: 768px) {
        .home__links--title {
          font-size: 150%; } }
      @media (max-width: 413px) {
        .home__links--title {
          font-size: 125%; } }
      .home__links--title:after {
        background: #193b87;
        content: '';
        display: block;
        height: 1px;
        margin-top: 10px;
        width: 40px;
        -webkit-transition: width 300ms ease-in-out;
        transition: width 300ms ease-in-out; }
    .home__links--item:hover .home__links--title:after {
      width: 80px; }
    .home__links--list-icon {
      border: solid 1px #193b87;
      border-radius: 100%;
      display: block;
      height: 40px;
      width: 40px;
      position: absolute;
      top: 50%;
      left: 75px;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%); }
      @media (max-width: 992px) {
        .home__links--list-icon {
          left: 30px; } }
      @media (max-width: 480px) {
        .home__links--list-icon {
          left: 0;
          height: 35px;
          width: 35px; } }
      .home__links--list-icon:after {
        content: url(../img/home/entry-arrow.svg);
        display: block;
        height: 18px;
        left: 50%;
        position: absolute;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        width: 9px; }
        @media (max-width: 480px) {
          .home__links--list-icon:after {
            width: 7.5px; } }
  .home__appointment {
    background: white;
    padding-bottom: 100px;
    position: relative;
    z-index: 5; }
    @media (max-width: 768px) {
      .home__appointment {
        padding-bottom: 45px; } }
    .home__appointment--grid {
      margin: 0 -25px; }
      .home__appointment--grid:before, .home__appointment--grid:after {
        content: '';
        display: table; }
      .home__appointment--grid:after {
        clear: both; }
      @media (max-width: 480px) {
        .home__appointment--grid {
          margin: 0 -10px; } }
    .home__appointment--col {
      float: left;
      padding: 0 25px;
      width: 33.3333333333333333%; }
      @media (max-width: 992px) {
        .home__appointment--col {
          padding: 0 10px;
          width: 50%; }
          .home__appointment--col:nth-child(2n+1) {
            clear: both; } }
      @media (max-width: 413px) {
        .home__appointment--col {
          width: 100%; } }
      @media (max-width: 480px) {
        .home__appointment--col:last-child {
          clear: both; } }
    .home__appointment--title {
      border-bottom: solid 2px #193b87;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 162.5%;
      font-weight: 100;
      line-height: 1;
      margin: 0 0 20px;
      padding-bottom: 15px; }
      @media (max-width: 768px) {
        .home__appointment--title {
          margin: 50px 0 20px; } }
    .home__appointment--body {
      margin: 0 10px; }
      .home__appointment--body-col, .sidenav__appointment--body-col {
        padding-left: 40px;
        position: relative; }
        .home__appointment--body-col:before, .sidenav__appointment--body-col:before {
          display: block;
          -webkit-transform: scale(0.5) translate(-50%, -50%);
              -ms-transform: scale(0.5) translate(-50%, -50%);
                  transform: scale(0.5) translate(-50%, -50%);
          position: absolute;
          left: 0;
          top: -5px; }
    .home__appointment--link {
      display: block;
      margin: 20px 0;
      text-decoration: none;
      width: 100%; }
      .home__appointment--link-inner {
        display: block;
        padding-left: 35px;
        padding-right: 35px;
        position: relative;
        min-width: 0; }
        @media (max-width: 480px) {
          .home__appointment--link-inner {
            font-size: 100%;
            padding-left: 20px;
            padding-right: 20px; } }
    .home__appointment--subhead, .sidenav__appointment--subhead {
      border-bottom: dashed 1px #193b87;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 112.5%;
      font-weight: 100;
      line-height: 1;
      margin: 0;
      padding-bottom: 10px;
      position: relative; }
      .home__appointment--subhead:before, .sidenav__appointment--subhead:before, .home__appointment--subhead:after, .sidenav__appointment--subhead:after {
        background: #193b87;
        border-radius: 2px;
        content: '';
        display: block;
        height: 3px;
        position: absolute;
        width: 3px;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); }
      .home__appointment--subhead:before, .sidenav__appointment--subhead:before {
        top: 100%;
        left: 0; }
      .home__appointment--subhead:after, .sidenav__appointment--subhead:after {
        top: 100%;
        left: 100%; }
    .home__appointment--text, .sidenav__appointment--text {
      font-size: 87.5%;
      line-height: 1.71428571429; }
    .home__appointment--pc:before, .sidenav__appointment--pc:before {
      content: url(../img/home/appointment-pc.png); }
    .home__appointment--sp:before, .sidenav__appointment--sp:before {
      content: url(../img/home/appointment-sp.png); }
    .home__appointment--pc:after, .sidenav__appointment--pc:after, .home__appointment--sp:after, .sidenav__appointment--sp:after {
      border-left: dashed 1px #d2d2d2;
      content: '';
      height: 165px;
      position: absolute;
      top: 18px;
      right: -25px;
      bottom: 0; }
      @media (max-width: 480px) {
        .home__appointment--pc:after, .sidenav__appointment--pc:after, .home__appointment--sp:after, .sidenav__appointment--sp:after {
          right: -10px; } }
      @media (max-width: 413px) {
        .home__appointment--pc:after, .sidenav__appointment--pc:after, .home__appointment--sp:after, .sidenav__appointment--sp:after {
          content: none; } }
    @media (max-width: 480px) {
      .home__appointment--sp:after, .sidenav__appointment--sp:after {
        content: none; } }
    .home__appointment--tel:before, .sidenav__appointment--tel:before {
      content: url(../img/home/appointment-tel.png); }
    .home__appointment--qr:before, .sidenav__appointment--qr:before, .home__appointment--qr:after, .sidenav__appointment--qr:after {
      content: '';
      display: table; }
    .home__appointment--qr:after, .sidenav__appointment--qr:after {
      clear: both; }
    @media (max-width: 480px) {
      .home__appointment--qr img, .sidenav__appointment--qr img {
        margin-right: 10px;
        width: 32px; } }
    .home__appointment--qr-link, .sidenav__appointment--qr-link {
      color: black;
      font-size: 75%;
      word-break: break-all; }
      @media (max-width: 480px) {
        .home__appointment--qr-link, .sidenav__appointment--qr-link {
          vertical-align: top; } }
      .home__appointment--qr-link:hover, .sidenav__appointment--qr-link:hover {
        text-decoration: none; }
    .home__appointment--number, .sidenav__appointment--number {
      color: black;
      display: block;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 175%;
      margin: 10px 0 0;
      text-decoration: none;
      white-space: nowrap; }
      @media (max-width: 480px) {
        .home__appointment--number, .sidenav__appointment--number {
          font-size: 125%; } }

.home-easy {
  background-size: cover;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
  padding: 80px 0 100px;
  overflow: hidden;
  position: relative;
  text-align: center; }
  @media (max-width: 768px) {
    .home-easy {
      margin: 0;
      padding: 50px 0 30px; } }
  .home-easy:before {
    background: rgba(206, 178, 165, 0.8);
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
  .home-easy__bg {
    position: absolute;
    top: 50%;
    right: 0;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    min-height: 100%;
    min-width: 100%; }
  .home-easy > .container, .home-easy > .container__fluid {
    position: relative;
    z-index: 10; }
  .home-easy__title {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-size: 237.5%;
    font-weight: 100;
    line-height: 1;
    margin: 0 0 50px;
    position: relative;
    z-index: 2; }
    @media (max-width: 768px) {
      .home-easy__title {
        font-size: 268.75%; } }
    @media (max-width: 480px) {
      .home-easy__title {
        font-size: 2.4rem; } }
  .home-easy__subhead {
    font-size: 100%;
    font-weight: 100;
    margin: 30px 0;
    position: relative;
    z-index: 2; }
  .home-easy__body {
    margin: 0 auto;
    max-width: 802px; }
  .home-easy__link, .sidenav__easy--link {
    border: solid 1px white;
    display: block;
    padding: 2px;
    text-decoration: none;
    -webkit-transition: box-shadow 300ms ease;
    transition: box-shadow 300ms ease; }
    @media (max-width: 768px) {
      .home-easy__link, .sidenav__easy--link {
        margin-bottom: 20px; } }
    .home-easy__link:hover, .sidenav__easy--link:hover {
      box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); }
  .home-easy__button, .sidenav__easy--button {
    font-size: 162.5%;
    text-decoration: none;
    vertical-align: bottom;
    width: 100%; }
    @media (max-width: 768px) {
      .home-easy__button, .sidenav__easy--button {
        font-size: 156.25%; } }
    .home-easy__button:before, .sidenav__easy--button:before, .home-easy__button:after, .sidenav__easy--button:after {
      background: rgba(206, 178, 165, 0.8);
      border: none;
      height: 20px;
      width: 20px; }
    .home-easy__button:hover, .sidenav__easy--button:hover {
      box-shadow: none; }
    .home-easy__button-inner, .sidenav__easy--button-inner {
      border: none;
      display: block;
      padding: 61px 45px; }
      @media (max-width: 768px) {
        .home-easy__button-inner, .sidenav__easy--button-inner {
          padding: 47px 35px; } }
      .home-easy__button-inner:before, .sidenav__easy--button-inner:before {
        left: 70px;
        width: 9px; }
        @media (max-width: 768px) {
          .home-easy__button-inner:before, .sidenav__easy--button-inner:before {
            left: 20px; } }
    .home-easy__button-option:before, .sidenav__easy--button-option:before, .home-easy__button-option:after, .sidenav__easy--button-option:after {
      background: rgba(206, 178, 165, 0.8);
      border: none;
      height: 20px;
      width: 20px; }
      @media (max-width: 768px) {
        .home-easy__button-option:before, .sidenav__easy--button-option:before, .home-easy__button-option:after, .sidenav__easy--button-option:after {
          height: 10px;
          width: 10px; } }

.home-access {
  background: white;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 700px;
  padding: 100px 0;
  position: relative;
  z-index: 5; }
  @media (max-width: 768px) {
    .home-access {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -webkit-flex-flow: column-reverse;
          -ms-flex-flow: column-reverse;
              flex-flow: column-reverse;
      height: auto;
      padding: 0; } }
  .home-access__map {
    -webkit-box-flex: 11;
    -webkit-flex: 11;
        -ms-flex: 11;
            flex: 11;
    height: 100%; }
    @media (max-width: 768px) {
      .home-access__map {
        height: 400px; } }
  .home-access__image {
    -webkit-box-flex: 4;
    -webkit-flex: 4;
        -ms-flex: 4;
            flex: 4;
    overflow: hidden;
    position: relative; }
    @media (max-width: 768px) {
      .home-access__image {
        display: none; } }
    .home-access__image > img {
      position: absolute;
      min-height: 200%;
      min-width: 200%;
      left: 50%;
      top: 50%;
      -webkit-transform: scale(0.5) translate(-50%, -50%);
          -ms-transform: scale(0.5) translate(-50%, -50%);
              transform: scale(0.5) translate(-50%, -50%);
      -webkit-transform-origin: left top;
          -ms-transform-origin: left top;
              transform-origin: left top; }
      @media (max-width: 768px) {
        .home-access__image > img {
          position: static;
          -webkit-transform: none;
              -ms-transform: none;
                  transform: none;
          min-height: 0;
          min-width: 0;
          width: 100%; } }
  .home-access__overlay {
    position: absolute;
    top: 100px;
    left: 0;
    bottom: 100px;
    right: 0; }
    @media (max-width: 768px) {
      .home-access__overlay {
        position: static; } }
  .home-access__body {
    background: rgba(255, 255, 255, 0.95);
    margin: 30px 0 30px auto;
    padding: 50px;
    max-width: 550px; }
    @media (max-width: 768px) {
      .home-access__body {
        max-width: none;
        margin: 0 auto; } }
    @media (max-width: 480px) {
      .home-access__body {
        padding: 50px 0; } }
    .home-access__body > address {
      font-style: normal; }
    .home-access__body > div:last-child {
      margin-top: 10px; }
  .home-access__title {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-size: 237.5%;
    font-weight: 500;
    line-height: 1;
    margin: 0 0 40px; }
    @media (max-width: 768px) {
      .home-access__title {
        font-size: 200%;
        margin: 0 0 20px; } }

.page {
  padding-top: 110px; }
  @media (max-width: 768px) {
    .page {
      padding-top: 50px; } }
  .page__header {
    border-bottom: dashed 1px #193b87;
    padding: 50px 0; }
    @media (max-width: 768px) {
      .page__header {
        border-bottom-style: solid; } }
  .page__title {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-weight: 100;
    line-height: 1;
    margin: 0;
    padding-bottom: 26px;
    position: relative;
    text-align: center; }
    @media (max-width: 768px) {
      .page__title {
        font-size: 187.5%; } }
    .page__title:before {
      border-top: dashed 1px #193b87;
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
          -ms-transform: translate(-50%, 0);
              transform: translate(-50%, 0);
      width: 80px; }
    .page__title:before, .page__title:after {
      background: #193b87;
      border-radius: 100%;
      bottom: 0;
      content: '';
      display: block;
      height: 3px;
      position: absolute;
      width: 3px; }
    .page__title:before {
      left: 50%;
      -webkit-transform: translate(40px, 50%);
          -ms-transform: translate(40px, 50%);
              transform: translate(40px, 50%); }
    .page__title:after {
      left: 50%;
      -webkit-transform: translate(-40px, 50%);
          -ms-transform: translate(-40px, 50%);
              transform: translate(-40px, 50%); }
  .page__subhead {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-size: 150%;
    font-weight: 100;
    line-height: 1;
    margin: 0;
    padding-top: 24px;
    position: relative;
    text-align: center; }
    @media (max-width: 768px) {
      .page__subhead {
        font-size: 125%; } }
    .page__subhead:before {
      border-top: dashed 1px #193b87;
      content: '';
      left: 50%;
      position: absolute;
      -webkit-transform: translate(-50%, 0);
          -ms-transform: translate(-50%, 0);
              transform: translate(-50%, 0);
      top: 0;
      width: 80px; }
    .page__subhead:after {
      background: #193b87;
      border-radius: 3px;
      content: '';
      display: block;
      height: 5px;
      left: 50%;
      position: absolute;
      top: 0;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      width: 33px; }
  .page__body {
    margin: 100px 0; }
    @media (max-width: 768px) {
      .page__body {
        margin: 50px 0; } }
  .page__grid {
    margin: 0 -25px; }
    .page__grid:before, .page__grid:after {
      content: '';
      display: table; }
    .page__grid:after {
      clear: both; }
    @media (max-width: 768px) {
      .page__grid {
        margin: 0 -20px; } }
  .page__article, .page__sidenav {
    float: left;
    min-height: 1px;
    padding: 0 25px; }
    @media (max-width: 768px) {
      .page__article, .page__sidenav {
        padding: 0 20px; } }
  .page__article {
    width: 72%; }
    @media (max-width: 768px) {
      .page__article {
        width: 100%; } }
    .page__article--inner {
      padding: 0 50px;
      margin-bottom: 50px;
      /**
 * 本文フォーマット
 */ }
      @media (max-width: 768px) {
        .page__article--inner {
          padding: 0; } }
      .page__article--inner p {
        font-size: 100%;
        line-height: 2;
        margin: 2em 0; }
      .page__article--inner a:not([class]) {
        color: #193b87;
        text-decoration: underline; }
        .page__article--inner a:not([class]):hover {
          text-decoration: none; }
        .page__article--inner a:not([class])[target="_blank"] {
          display: inline-block;
          padding-right: 20px;
          position: relative; }
          .page__article--inner a:not([class])[target="_blank"]:after {
            background: url(../img/common/blank.png) no-repeat center;
            background-size: contain;
            content: '';
            display: block;
            height: 6px;
            width: 8px;
            position: absolute;
            right: 5px;
            top: 25%; }
        .page__article--inner a:not([class])[href$=".pdf"] {
          position: relative;
          padding-left: 30px; }
          .page__article--inner a:not([class])[href$=".pdf"]:before {
            background: url(../img/common/i-pdf.png) no-repeat center;
            background-size: contain;
            content: '';
            display: block;
            height: 25px;
            position: absolute;
            top: 0;
            left: 0;
            width: 20px; }
      .page__article--inner ul:not([class]) {
        list-style: disc;
        padding-left: 20px;
        margin: 10px 0; }
        .page__article--inner ul:not([class]) li {
          margin-top: 5px; }
      .page__article--inner ul > ul {
        list-style: disc;
        margin: 0; }
      .page__article--inner img {
        max-width: 100%;
        height: auto !important; }
      .page__article--inner pre {
        margin: 40px 0 50px;
        white-space: pre-wrap; }
      .page__article--inner pre > code {
        border: solid 1px #eee;
        display: block;
        font-size: 87.5%;
        padding: 20px; }
      .page__article--inner hr {
        border-color: #e9e9e9;
        border-style: solid;
        border-width: 1px 0 0;
        clear: both;
        margin: 50px 0 50px -50px; }
      .page__article--inner table {
        border-collapse: collapse;
        margin: 0;
        width: 100%; }
        .page__article--inner table.table__fixed {
          table-layout: fixed; }
        .page__article--inner table th, .page__article--inner table td {
          border: solid 1px #e9e9e9;
          font-size: 87.5%;
          padding: 5px 10px; }
        .page__article--inner table th {
          background: #f8f8f8;
          font-weight: 100; }
        .page__article--inner table.small th, .page__article--inner table.small td {
          font-size: 68.75%; }
      .page__article--inner .table {
        margin: 20px 0;
        width: 100%; }
        @media (max-width: 768px) {
          .page__article--inner .table {
            overflow-x: scroll; }
            .page__article--inner .table:after {
              background: url(../img/common/table-scroll-arrow.png) no-repeat left center;
              background-size: 65px 10px;
              color: #bac4db;
              content: 'SCROLL';
              display: block;
              font-size: 1.4rem;
              font-weight: bold;
              margin: 0 0 0 auto;
              padding: 5px 0 5px 65px;
              width: 100%;
              max-width: 125px; } }
        .page__article--inner .table table {
          margin: 0; }
          @media (max-width: 768px) {
            .page__article--inner .table table {
              min-width: 600px; } }
  .page__sidenav {
    width: 28%; }
    @media (max-width: 768px) {
      .page__sidenav {
        width: 100%; } }

.inspection__title {
  background: #99a8ca;
  color: white;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 162.5%;
  font-weight: 100;
  padding: 5px 20px;
  position: relative;
  text-align: center; }
  @media (max-width: 768px) {
    .inspection__title {
      font-size: 125%; } }
  .inspection__title > small {
    display: block;
    font-family: "Yu Gothic", "YuGothic", "YuGothic L", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Verdana, Meiryo, "M+ 1p", sans-serif;
    font-size: 1.8rem;
    right: 0;
    padding: 0 20px;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%); }
    @media (max-width: 768px) {
      .inspection__title > small {
        font-size: 1.4rem;
        position: static;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none; } }

.inspection__list {
  list-style: none;
  margin: 20px 0 50px;
  padding: 0; }
  .inspection__list--item:not(:first-child) {
    margin-top: 20px; }
  .inspection__list--link {
    -webkit-transition: box-shadow 300ms ease-in-out;
    transition: box-shadow 300ms ease-in-out;
    border: solid 1px #e9e9e9;
    display: block;
    padding: 12px 0 12px 20px;
    text-decoration: none; }
    .inspection__list--link:before, .inspection__list--link:after {
      content: '';
      display: table; }
    .inspection__list--link:after {
      clear: both; }
    .inspection__list--link:hover {
      box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14); }
    .inspection__list--link:active:hover {
      box-shadow: 0 6px 6px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.14); }
    @media (max-width: 768px) {
      .inspection__list--link {
        padding: 10px; } }
    .inspection__list--link:not(a) {
      box-shadow: none; }
      .inspection__list--link:not(a):hover, .inspection__list--link:not(a):hover:active {
        box-shadow: none; }
    .inspection__list--link > .i-beginner {
      margin: 0 5px; }
      .inspection__list--link > .i-beginner:before {
        height: 14px;
        width: 12px; }
    .ketsueki .inspection__list--link {
      background: #fbf2f6;
      color: #cb558c; }
    .x-ray .inspection__list--link {
      background: #fcf6f1;
      color: #d58748; }
    .wave .inspection__list--link {
      background: #f2f8ef;
      color: #64a640; }
    .beginner .inspection__list--link {
      background: #f4f4f4;
      color: #747474; }
  .inspection__list--arrow {
    color: black;
    display: block;
    float: right;
    font-size: 87.5%;
    padding: 2px 20px 1px 40px;
    position: relative; }
    @media (max-width: 768px) {
      .inspection__list--arrow {
        float: none;
        margin-top: 10px; } }
    .inspection__list--arrow:before {
      background: url(../img/common/arrow.svg) no-repeat center;
      background-size: contain;
      content: '';
      display: block;
      height: 10px;
      left: 10px;
      opacity: .5;
      position: absolute;
      top: 50%;
      -webkit-transform: translate(0, -50%) rotate(90deg);
          -ms-transform: translate(0, -50%) rotate(90deg);
              transform: translate(0, -50%) rotate(90deg);
      -webkit-transform-origin: center;
          -ms-transform-origin: center;
              transform-origin: center;
      width: 5px; }
      .inspection-panel .inspection__list--arrow:before {
        -webkit-transform: translate(0, -50%) rotate(-90deg);
            -ms-transform: translate(0, -50%) rotate(-90deg);
                transform: translate(0, -50%) rotate(-90deg); }
    .inspection__list--arrow:after {
      border-left: dashed 1px #99a8ca;
      content: '';
      display: block;
      height: 10px;
      left: 30px;
      position: absolute;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%);
      top: 50%; }

.inspection__subtext {
  color: #99a8ca;
  display: inline-block;
  font-size: 87.5%;
  font-weight: 700; }
  @media (max-width: 768px) {
    .inspection__subtext {
      display: block;
      margin: 5px 0; } }

.inspection-panel:not(:first-of-type) {
  margin-top: 20px; }

.inspection-panel__body {
  border-color: #e9e9e9;
  border-style: solid;
  border-width: 0 1px 1px;
  padding: 0 20px 20px; }
  .inspection-panel__body:before, .inspection-panel__body:after {
    content: '';
    display: table; }
  .inspection-panel__body:after {
    clear: both; }
  .inspection-panel__body > p {
    font-size: 1.5rem;
    letter-spacing: 1px;
    line-height: 2.8rem;
    margin: 1em 0; }
  .inspection-panel__body > dl {
    float: left;
    margin: 0;
    width: 50%; }
    @media (max-width: 768px) {
      .inspection-panel__body > dl {
        width: 100%; } }
    .inspection-panel__body > dl:not(:first-of-type) {
      padding-left: 20px;
      width: 25%; }
      @media (max-width: 768px) {
        .inspection-panel__body > dl:not(:first-of-type) {
          margin-top: 20px;
          padding-left: 0;
          width: 100%; } }
    .inspection-panel__body > dl > dt, .inspection-panel__body > dl > dd {
      font-size: 1.4rem;
      margin: 0;
      padding: 0; }
    .inspection-panel__body > dl > dt {
      border-bottom: solid 1px #e9e9e9;
      font-weight: 700;
      padding: 0 0 5px; }
      .ketsueki .inspection-panel__body > dl > dt {
        color: #cb558c; }
      .x-ray .inspection-panel__body > dl > dt {
        color: #d58748; }
      .wave .inspection-panel__body > dl > dt {
        color: #64a640; }
      .beginner .inspection-panel__body > dl > dt {
        color: #747474; }
    .inspection-panel__body > dl > dd {
      padding: 10px 0 0; }

.appointment__home {
  margin: 0 auto;
  max-width: 681px; }

.appointment__section + .appointment__section {
  margin-top: 100px; }
  @media (max-width: 768px) {
    .appointment__section + .appointment__section {
      margin-top: 50px; } }

.appointment__title {
  background: #bac4db;
  color: #193b87;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 187.5%;
  font-weight: 100;
  margin: 0 0 40px -50px;
  padding: 0 15px; }
  @media (max-width: 768px) {
    .appointment__title {
      font-size: 150%;
      margin: 0 0 40px 0; } }

.appointment__subtitle {
  border-bottom: dashed 1px #193b87;
  color: #193b87;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 137.5%;
  font-weight: 100;
  padding: 0 0 5px;
  position: relative; }
  @media (max-width: 768px) {
    .appointment__subtitle {
      font-size: 125%; } }
  .appointment__subtitle:before {
    background: #193b87;
    border-radius: 100%;
    content: '';
    display: block;
    height: 3px;
    left: 0;
    position: absolute;
    top: 100%;
    -webkit-transform: translate(-50%, -25%);
        -ms-transform: translate(-50%, -25%);
            transform: translate(-50%, -25%);
    width: 3px; }
  .appointment__subtitle:after {
    background: #193b87;
    content: '';
    height: 1px;
    left: 0;
    position: absolute;
    top: 100%;
    width: 30px; }

.appointment-primary-button {
  float: left;
  width: 66.66667%; }
  @media (max-width: 768px) {
    .appointment-primary-button {
      float: none;
      width: 100%; } }

.l-grid-button__col, .l-grid-button__col--2-of-3, .l-grid-button__col--1-of-2, .l-grid-button__col--1-of-4 {
  padding: 10px;
  width: 33.33333%;
  max-width: 66.66667%; }
  @media (max-width: 768px) {
    .l-grid-button__col, .l-grid-button__col--2-of-3, .l-grid-button__col--1-of-2, .l-grid-button__col--1-of-4 {
      width: 100%;
      max-width: 100%; } }

.l-grid-button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: -10px; }
  .l-grid-button__col--2-of-3 {
    width: 66.66667%;
    max-width: 66.66667%; }
    @media (max-width: 768px) {
      .l-grid-button__col--2-of-3 {
        width: 100%;
        max-width: 100%; } }
  .l-grid-button__col--1-of-2 {
    width: 50%;
    max-width: 50%; }
    @media (max-width: 768px) {
      .l-grid-button__col--1-of-2 {
        width: 100%;
        max-width: 100%; } }
  .l-grid-button__col--1-of-4 {
    width: 25%;
    max-width: 25%; }
    @media (max-width: 768px) {
      .l-grid-button__col--1-of-4 {
        width: 100%;
        max-width: 100%; } }

/* ==============================================
 * CONPONENT
 * =========================================== */
.alert {
  border: solid 1px #bac4db;
  color: #193b87;
  margin: 20px 0;
  padding: 20px;
  position: relative; }
  .alert:before {
    border-color: transparent;
    border-style: solid;
    border-width: 0 20px 20px;
    border-left-color: #bac4db;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0; }
  .alert__title {
    color: #193b87;
    font-size: 100%;
    margin: 0 0 20px; }
  .alert p {
    margin: 0 !important;
    font-size: 93.75% !important; }

.articles {
  list-style: none;
  margin: 0;
  padding: 0; }
  .articles__item {
    border-bottom: solid 1px #f2f3f8; }
    .articles__item:first-child {
      border-top: solid 1px #f2f3f8; }
  .articles__link {
    background: white;
    display: block;
    padding: 20px 10px;
    text-decoration: none;
    -webkit-transition: background 300ms ease-in-out;
    transition: background 300ms ease-in-out; }
    .articles__link:hover {
      background: #f8f8fb; }
  .articles__category {
    background: #193b87;
    color: white;
    display: inline-block;
    margin-right: 10px;
    padding: 0 10px; }
  .articles__pubdate {
    color: #193b87; }
  .articles__title {
    color: black;
    display: block;
    margin-top: 10px; }

.button, .button__lg, .button__white {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: inline-block;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-weight: 500;
  min-height: 80px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 20px;
  position: relative;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  width: calc(33.33333333333% - 14px);
  -webkit-transition: box-shadow 300ms ease-in-out;
  transition: box-shadow 300ms ease-in-out;
  background: white;
  border: solid 1px #99a8ca;
  color: #193b87; }
  @media (max-width: 768px) {
    .button, .button__lg, .button__white {
      width: auto; } }
  .button:before, .button__lg:before, .button__white:before {
    content: '';
    display: block;
    position: absolute;
    top: 4px;
    left: 4px;
    right: 4px;
    bottom: 4px; }
  .button:after, .button__lg:after, .button__white:after {
    content: '';
    display: inline-block;
    padding-top: 33.898305084%;
    width: 1px; }
  .button:nth-child(3n+2), .button__lg:nth-child(3n+2), .button__white:nth-child(3n+2) {
    margin-right: 0; }
  .button + .button, .button__lg + .button, .button__white + .button, .button + .button__lg, .button__lg + .button__lg, .button__white + .button__lg, .button + .button__white, .button__lg + .button__white, .button__white + .button__white {
    margin-left: -.25em; }
  .button span, .button__lg span, .button__white span {
    display: inline-block;
    position: relative;
    padding: 0 20px; }
    .button span:before, .button__lg span:before, .button__white span:before {
      background: url(../img/common/arrow.svg) no-repeat center;
      content: '';
      display: block;
      height: 12px;
      position: absolute;
      top: 50%;
      left: 10px;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%);
      width: 6px; }
  .button small, .button__lg small, .button__white small {
    color: #99a8ca;
    display: block;
    font-size: 87.5%;
    text-align: center;
    position: relative; }
  .button:hover, .button__lg:hover, .button__white:hover {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14); }
  .button:active:hover, .button__lg:active:hover, .button__white:active:hover {
    box-shadow: 0 6px 6px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.14); }
  .button:before, .button__lg:before, .button__white:before {
    background-color: #f2f3f8; }
  .button.red, .red.button__lg, .red.button__white {
    border: solid 1px #cfa0a5; }
    .button.red:before, .red.button__lg:before, .red.button__white:before {
      background-color: #fbf2f3; }
  .button.extend, .extend.button__lg, .extend.button__white {
    width: auto; }
  .button__lg {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
    .button__lg:after {
      content: none; }
    .button__lg > div {
      display: inline-block;
      padding: 15px 0; }
  .button__white {
    background: white;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
    .button__white:before {
      background: white; }
    .button__white > span {
      background: white; }
      .button__white > span:before {
        content: none; }
    .button__white[target="_blank"]:after {
      background: url(../img/common/blank.png) no-repeat center;
      background-size: contain;
      content: '';
      display: block;
      height: 6px;
      width: 8px;
      padding: 0;
      position: absolute;
      right: 10px;
      top: 10px; }
  .button__small {
    -webkit-transition: box-shadow 300ms ease-in-out;
    transition: box-shadow 300ms ease-in-out;
    border: solid 1px #99a8ca;
    color: #193b87;
    margin: 10px 0;
    display: inline-block;
    padding: 10px 20px 10px 45px;
    position: relative;
    text-decoration: none; }
    .button__small:hover {
      box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14); }
    .button__small:active:hover {
      box-shadow: 0 6px 6px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.14); }
    .button__small:before {
      background: url(../img/common/arrow.svg) no-repeat center;
      content: '';
      display: block;
      height: 12px;
      position: absolute;
      top: 50%;
      left: 20px;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%);
      width: 6px; }
    .button__small + .button__small {
      margin-left: -.25em; }
  .button__radius, .home-easy__button, .sidenav__easy--button {
    background: white;
    display: inline-block;
    overflow: hidden;
    position: relative;
    -webkit-transition: background 300ms ease-in-out;
    transition: background 300ms ease-in-out; }
    @media (max-width: 768px) {
      .button__radius, .home-easy__button, .sidenav__easy--button {
        display: block;
        text-decoration: none; } }
    .button__radius:hover, .home-easy__button:hover, .sidenav__easy--button:hover {
      background: #f2f3f8; }
    .button__radius:before, .home-easy__button:before, .sidenav__easy--button:before, .button__radius:after, .home-easy__button:after, .sidenav__easy--button:after, .button__radius--option:before, .home-easy__button-option:before, .sidenav__easy--button-option:before, .button__radius--option:after, .home-easy__button-option:after, .sidenav__easy--button-option:after {
      background: white;
      border: solid 1px #193b87;
      border-radius: 100%;
      content: '';
      height: 10px;
      position: absolute;
      width: 10px;
      z-index: 5; }
    .button__radius:before, .home-easy__button:before, .sidenav__easy--button:before {
      left: 0;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      top: 0; }
    .button__radius:after, .home-easy__button:after, .sidenav__easy--button:after {
      left: 100%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      top: 0; }
    .button__radius--option, .home-easy__button-option, .sidenav__easy--button-option {
      display: block; }
      .button__radius--option:before, .home-easy__button-option:before, .sidenav__easy--button-option:before {
        left: 0;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        top: 100%; }
      .button__radius--option:after, .home-easy__button-option:after, .sidenav__easy--button-option:after {
        left: 100%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        top: 100%; }
    .button__radius--inner, .home-easy__button-inner, .sidenav__easy--button-inner {
      border: solid 1px #193b87;
      color: #193b87;
      display: inline-block;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      line-height: 1;
      padding: 16px 46px;
      position: relative;
      text-align: center;
      text-decoration: none;
      text-transform: uppercase;
      min-width: 277px; }
      @media (max-width: 768px) {
        .button__radius--inner, .home-easy__button-inner, .sidenav__easy--button-inner {
          display: block;
          font-size: 112.5%;
          text-decoration: none; } }
      @media (max-width: 413px) {
        .button__radius--inner, .home-easy__button-inner, .sidenav__easy--button-inner {
          font-size: 87.5%; } }
      .button__radius--inner:before, .home-easy__button-inner:before, .sidenav__easy--button-inner:before {
        background: url(../img/home/entry-arrow.svg) no-repeat center;
        background-size: contain;
        content: '';
        display: block;
        height: 12px;
        width: 6px;
        position: absolute;
        top: 50%;
        left: 20px;
        -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
                transform: translate(0, -50%); }
    .button__radius--blank:after {
      content: url(../img/common/blank.png);
      display: block;
      position: absolute;
      top: 10px;
      right: 10px;
      -webkit-transform: scale(0.5) translate(-50%, -50%);
          -ms-transform: scale(0.5) translate(-50%, -50%);
              transform: scale(0.5) translate(-50%, -50%);
      -webkit-transform-origin: right top;
          -ms-transform-origin: right top;
              transform-origin: right top; }

.button-block {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f2f3f8;
  border: solid 1px #99a8ca;
  box-shadow: 0 0px 0px rgba(0, 0, 0, 0.12), 0 0px 0px rgba(0, 0, 0, 0.14), 0 0 0 5px white inset;
  color: #193b87;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
      -ms-flex-flow: column;
          flex-flow: column;
  font-weight: 500;
  margin: 10px 0;
  min-height: 80px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 25px 35px 25px 35px;
  position: relative;
  text-decoration: none;
  -webkit-transition: box-shadow 300ms ease-in-out;
  transition: box-shadow 300ms ease-in-out;
  width: 100%; }
  .button-block.red {
    background-color: #fbf2f3; }
  .button-block:hover {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14), 0 0 0 5px white inset; }
  .button-block:active {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.14), 0 0 0 5px white inset; }
  .button-block:before {
    background: url(../img/common/arrow.svg) no-repeat center;
    content: '';
    display: block;
    height: 13px;
    left: 20px;
    position: absolute;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
    top: 50%;
    width: 6px; }
  .button-block.red {
    border: solid 1px #cfa0a5; }
  .button-block[target="_blank"]:after {
    background: url(../img/common/blank.png) no-repeat center;
    background-size: contain;
    content: '';
    display: block;
    height: 6px;
    width: 8px;
    padding: 0;
    position: absolute;
    right: 10px;
    top: 10px; }
  .button-block__sm {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: #f2f3f8;
    border: solid 1px #99a8ca;
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.12), 0 0px 0px rgba(0, 0, 0, 0.14), 0 0 0 5px white inset;
    color: #193b87;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
    font-weight: 500;
    margin: 10px 0;
    min-height: 80px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 25px 35px 25px 35px;
    position: relative;
    text-decoration: none;
    -webkit-transition: box-shadow 300ms ease-in-out;
    transition: box-shadow 300ms ease-in-out;
    width: 100%; }
    .button-block__sm.red {
      background-color: #fbf2f3; }
    .button-block__sm:hover {
      box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14), 0 0 0 5px white inset; }
    .button-block__sm:active {
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.14), 0 0 0 5px white inset; }
    .button-block__sm:before {
      background: url(../img/common/arrow.svg) no-repeat center;
      content: '';
      display: block;
      height: 13px;
      left: 20px;
      position: absolute;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%);
      top: 50%;
      width: 6px; }
    .button-block__sm.red {
      border: solid 1px #cfa0a5; }
    @media (min-width: 769px) {
      .button-block__sm {
        display: inline-block;
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex;
        margin: 0;
        max-width: 236px; } }
  .button-block > small {
    color: #99a8ca;
    display: block;
    font-size: 87.5%; }

.button-form {
  -webkit-transition: box-shadow 300ms ease-in-out;
  transition: box-shadow 300ms ease-in-out;
  background: #bac4db;
  color: #193b87;
  display: inline-block;
  letter-spacing: 0px;
  font-weight: 700;
  padding: 16px 15px;
  position: relative;
  text-align: center;
  text-decoration: none;
  min-width: 180px; }
  .button-form:hover {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14); }
  .button-form:active:hover {
    box-shadow: 0 6px 6px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.14); }
  @media (max-width: 768px) {
    .button-form {
      margin: 10px 0; } }
  .button-form:not(:first-child) {
    margin-left: 20px; }
    @media (max-width: 768px) {
      .button-form:not(:first-child) {
        margin-left: 0; } }
  .button-form:focus, .button-form:active {
    outline: none; }
  .button-form:after {
    background: url(../img/common/arrow.svg) no-repeat center;
    content: '';
    display: block;
    height: 13px;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
    right: 20px;
    width: 6px; }
  .button-form.back:after {
    left: 20px;
    -webkit-transform: translate(0, -50%) rotate(180deg);
        -ms-transform: translate(0, -50%) rotate(180deg);
            transform: translate(0, -50%) rotate(180deg);
    right: auto; }
  .button-form.reset:after {
    display: none; }

.button-square {
  -webkit-transition: box-shadow 300ms ease-in-out;
  transition: box-shadow 300ms ease-in-out;
  background: white;
  border: solid 1px #99a8ca;
  color: black;
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 12px 20px;
  position: relative; }
  .button-square:hover {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14); }
  .button-square:active:hover {
    box-shadow: 0 6px 6px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.14); }
  .button-square:after {
    background: url(../img/common/arrow.svg) no-repeat center;
    background-size: contain;
    content: "";
    display: block;
    height: 10px;
    left: 10px;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
    width: 6px; }
  .button-square[target="_blank"]:after {
    background: url(../img/common/blank.png) no-repeat center;
    background-size: contain;
    content: "";
    display: block;
    height: 6px;
    left: auto;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 8px; }

.button-semicircle, .button-semicircle-tmp {
  -webkit-transition: box-shadow 300ms ease-in-out;
  transition: box-shadow 300ms ease-in-out;
  border: solid 1px white;
  color: #193b87;
  display: block;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 162.5%;
  margin: 0 auto 10px;
  text-decoration: none;
  padding: 2px;
  position: relative;
  max-width: 430px; }
  .button-semicircle:hover, .button-semicircle-tmp:hover {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14); }
  .button-semicircle:active:hover, .button-semicircle-tmp:active:hover {
    box-shadow: 0 6px 6px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.14); }
  .button-semicircle:before, .button-semicircle-tmp:before {
    content: '';
    display: block;
    padding-top: 35.779816513%; }
  .button-semicircle > span, .button-semicircle-tmp > span {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: url(../img/common/b-semicircle.svg) no-repeat center;
    background-size: cover;
    bottom: 3px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 3px;
    position: absolute;
    right: 3px;
    top: 3px; }
    .button-semicircle > span:before, .button-semicircle-tmp > span:before {
      background: url(../img/common/arrow.svg) no-repeat center;
      background-size: contain;
      content: "";
      display: block;
      height: 18px;
      position: absolute;
      left: 16.744186046%;
      top: 50%;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%);
      width: 9px; }
      @media (max-width: 480px) {
        .button-semicircle > span:before, .button-semicircle-tmp > span:before {
          left: 10%; } }

.button-semicircle-tmp > span {
  background: url(../img/common/b-semicircle-tmp.png) no-repeat center;
  background-size: contain;
  color: rgba(25, 59, 135, 0.7); }
  .button-semicircle-tmp > span:before {
    opacity: .7; }

.button-semicircle-tmp > small {
  color: #193b87;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 2.0rem;
  font-weight: 100;
  letter-spacing: 3px;
  position: absolute;
  right: 20px;
  bottom: 20px; }

.button-radius {
  box-shadow: 0 0 0 1px #193b87 inset;
  color: #193b87;
  display: block;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  overflow: hidden;
  position: relative;
  text-align: center;
  text-decoration: none;
  padding-left: 35px;
  padding-right: 35px;
  padding-left: 35px;
  padding-right: 35px; }
  .button-radius + .button-radius {
    margin-top: 20px; }
  .button-radius,
  .button-radius > span {
    display: block; }
    .button-radius:before, .button-radius:after,
    .button-radius > span:before,
    .button-radius > span:after {
      background: white;
      border: solid 1px #193b87;
      border-radius: 100%;
      content: "";
      display: block;
      height: 10px;
      position: absolute;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      width: 10px; }
  .button-radius:before {
    left: 0;
    top: 0; }
  .button-radius:after {
    left: 100%;
    top: 0; }
  .button-radius > span {
    padding: 13px 0; }
    .button-radius > span:before {
      left: 0;
      top: 100%; }
    .button-radius > span:after {
      left: 100%;
      top: 100%; }
  .button-radius > i {
    background: url(../img/common/arrow.svg) no-repeat center;
    background-size: contain;
    display: block;
    height: 11px;
    left: 20px;
    position: absolute;
    top: 50%;
    width: 6px;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%); }
  .button-radius[target="_blank"] > i {
    background: url(../img/common/blank.png) no-repeat center;
    background-size: contain;
    height: 6px;
    left: auto;
    right: 10px;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    top: 10px;
    width: 8px; }
  .button-radius > i {
    background: url(../img/common/arrow.svg) no-repeat center;
    background-size: contain;
    display: block;
    height: 11px;
    left: 20px;
    position: absolute;
    top: 50%;
    width: 6px;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%); }
  .button-radius[target="_blank"] > i {
    background: url(../img/common/blank.png) no-repeat center;
    background-size: contain;
    height: 6px;
    left: auto;
    right: 10px;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    top: 10px;
    width: 8px; }

.button-tel {
  background: #f2f3f8;
  border: solid 1px #f2f3f8;
  box-shadow: 0 0 0 5px white inset;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 250%;
  padding: 9px 40px 9px 75px;
  margin: 10px 0;
  position: relative; }
  @media (max-width: 768px) {
    .button-tel {
      font-size: 125%; } }
  .button-tel:before {
    background: url(../img/home/appointment-tel.png) no-repeat center;
    background-size: contain;
    content: '';
    display: block;
    height: 36px;
    left: 25px;
    position: absolute;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
    top: 50%;
    width: 38px; }
  .button-tel > small {
    font-family: "Yu Gothic", "YuGothic", "YuGothic L", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Verdana, Meiryo, "M+ 1p", sans-serif;
    font-size: 1.4rem; }
    @media (max-width: 768px) {
      .button-tel > small {
        display: block; } }

.gmap {
  position: relative; }
  .gmap:before {
    content: '';
    display: block;
    padding-top: 66.666666666%; }
  .gmap__body {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
    .gmap__body > iframe {
      bottom: 0;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      right: 0;
      width: 100%; }

.i-beginner {
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle; }
  .i-beginner:first-child {
    margin-left: 0; }
  .i-beginner:last-child {
    margin-right: 0; }
  .i-beginner:before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: '';
    display: block; }
  .i-beginner:before {
    background-image: url(../img/common/i-beginner.svg);
    height: 24px;
    width: 20px; }

/**
 * 数字アイコン
 *
 * 多分検査内容でしか使わない？
 */
.i-number {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 100%;
  color: white;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 87.5%;
  font-style: normal;
  height: 22px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 0;
  text-align: center;
  width: 22px; }
  .i-number:not(:first-child) {
    margin-left: 5px; }
  .ketsueki .i-number {
    background: #cb558c; }
  .x-ray .i-number {
    background: #d58748; }
  .wave .i-number {
    background: #64a640; }
  .beginner .i-number {
    background: #747474; }

.photo-box {
  list-style: none;
  margin: 10px -5px;
  padding: 0; }
  .photo-box:before, .photo-box:after {
    content: '';
    display: table; }
  .photo-box:after {
    clear: both; }
  .photo-box:first-child {
    margin-top: 20px; }
  .photo-box:last-child {
    margin-bottom: 20px; }
  .photo-box__item {
    border: solid 1px #e9e9e9;
    float: left;
    margin: 0 5px !important; }
  .photo-box__caption {
    background: #f2f3f8;
    display: block;
    font-size: 87.5%;
    text-align: center; }

/**
 * 本文タイトル
 *
 * @since 2017/01/30
 */
.title__lv1 {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 212.5%;
  font-weight: 100;
  margin: 45px 0; }
  @media (max-width: 768px) {
    .title__lv1 {
      font-size: 137.5%;
      margin: 22.5px 0; } }
  .title__lv1:first-child {
    margin-top: 0; }

.title__lv2, .title__step {
  border-bottom: dashed 1px #193b87;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 175%;
  font-weight: 100;
  margin: 100px 0 50px -50px;
  padding: 0 0 5px;
  position: relative; }
  @media (max-width: 768px) {
    .title__lv2, .title__step {
      font-size: 137.5%;
      margin: 50px 0 25px -10px; } }
  .title__lv2:before, .title__step:before, .title__lv2:after, .title__step:after {
    background: #193b87;
    content: '';
    display: block;
    height: 3px;
    position: absolute;
    bottom: 0;
    -webkit-transform: translate(0, 50%);
        -ms-transform: translate(0, 50%);
            transform: translate(0, 50%); }
  .title__lv2:before, .title__step:before {
    border-radius: 100%;
    left: 0;
    width: 3px; }
  .title__lv2:after, .title__step:after {
    border-radius: 2px;
    left: 5px;
    width: 33px; }
  .title__lv2--link, .title__lv3--link {
    color: black;
    display: block;
    padding-left: 40px;
    position: relative;
    text-decoration: none; }
    .title__lv2--link:before, .title__lv3--link:before {
      background: url(../img/home/entry-arrow.svg);
      background-size: contain;
      content: '';
      height: 18px;
      position: absolute;
      top: 50%;
      left: 10px;
      width: 9px;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%); }

.title__lv3, .title__lv3--other {
  border-bottom: dashed 1px #193b87;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 137.5%;
  font-weight: 100;
  margin: 50px 0 20px;
  padding-bottom: 10px;
  position: relative; }
  @media (max-width: 768px) {
    .title__lv3, .title__lv3--other {
      font-size: 112.5%;
      margin: 25px 0 10px;
      padding-bottom: 5px; } }
  .title__lv3--other {
    color: #520202; }
  .title__lv3--option {
    background: #99a8ca;
    color: white;
    display: block;
    font-size: 1.6rem;
    padding: 0 20px;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%); }
    @media (max-width: 768px) {
      .title__lv3--option {
        left: 0;
        right: auto;
        position: static;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none; } }
    .title__label .title__lv3--option {
      background: transparent;
      color: #99a8ca; }

.title__lv4, .title__lv4--num {
  border-left: dashed 1px #193b87;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 112.5%;
  margin: 50px 0 20px 35px;
  padding-left: 13px;
  position: relative; }
  .title__lv4:before, .title__lv4--num:before, .title__lv4:after, .title__lv4--num:after {
    background: #193b87;
    border-radius: 100%;
    content: '';
    display: block;
    height: 3px;
    left: 0;
    position: absolute;
    width: 3px;
    -webkit-transform: translate(-66.6666%, -50%);
        -ms-transform: translate(-66.6666%, -50%);
            transform: translate(-66.6666%, -50%); }
  .title__lv4:before, .title__lv4--num:before {
    top: 0; }
  .title__lv4:after, .title__lv4--num:after {
    top: 100%; }
  .title__lv4 > span, .title__lv4--num > span {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: #193b87;
    color: white;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.4rem;
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-style: italic;
    font-weight: 100;
    height: 27px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 5px;
    padding: 0 10px;
    position: absolute;
    left: -5px;
    text-align: center;
    -webkit-transform: translate(-100%, -50%);
        -ms-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
    top: 50%;
    width: 35px; }
    @media (max-width: 768px) {
      .title__lv4 > span, .title__lv4--num > span {
        position: static;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none; } }
  .title__lv4--num {
    margin-left: 40px; }
    @media (max-width: 768px) {
      .title__lv4--num {
        margin-left: 0; } }

.title__lv5 {
  font-size: 100%;
  margin-bottom: 1em; }
  .title__lv5 + p {
    margin-top: 1em; }

.title__step {
  color: #193b87;
  font-size: 250%;
  font-style: italic;
  margin-top: 50px; }
  @media (max-width: 768px) {
    .title__step {
      font-size: 200%; } }

.title__label {
  position: relative;
  padding-left: 155px; }
  @media (max-width: 768px) {
    .title__label {
      padding-left: 0; } }
  .title__label--body {
    background: #193b87;
    color: white;
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-size: 125%;
    font-style: italic;
    font-weight: 300;
    left: 0;
    padding: 0 15px;
    position: absolute;
    text-align: center;
    top: 50%;
    width: 135px;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%); }
    @media (max-width: 768px) {
      .title__label--body {
        position: static;
        margin: 0 0 10px;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none; } }

.title__num {
  font-size: 100%;
  font-weight: 300;
  padding-left: 35px;
  position: relative; }
  .title__num--body {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    border: solid 1px #193b87;
    border-radius: 100%;
    color: #193b87;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-style: italic;
    height: 26px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 0;
    position: absolute;
    text-align: center;
    text-indent: -3px;
    width: 26px; }

.pager {
  border-top: solid 1px #e9e9e9;
  padding: 20px 0 0; }
  .pager:before, .pager:after {
    content: '';
    display: table; }
  .pager:after {
    clear: both; }
  @media (max-width: 768px) {
    .pager {
      padding: 10px 0 40px; } }
  @media (max-width: 768px) {
    .pager__prev, .pager__next {
      max-width: 50%; } }
  .pager__prev--link, .pager__next--link {
    color: black;
    display: block;
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-size: 87.5%;
    font-weight: 100;
    padding: 10px 0;
    position: relative;
    text-decoration: none; }
    .pager__prev--link:before, .pager__next--link:before {
      color: #193b87;
      margin-right: 20px;
      text-transform: uppercase; }
      @media (max-width: 768px) {
        .pager__prev--link:before, .pager__next--link:before {
          display: block; } }
    .pager__prev--link:after, .pager__next--link:after {
      content: url(../img/home/entry-arrow.svg);
      height: 18px;
      position: absolute;
      top: 50%;
      width: 9px; }
  .pager__prev {
    float: left; }
    .pager__prev--link {
      padding-left: 28px; }
      .pager__prev--link:before {
        content: 'PREV'; }
      .pager__prev--link:after {
        left: 0;
        -webkit-transform: translate(0, -50%) rotate(180deg);
            -ms-transform: translate(0, -50%) rotate(180deg);
                transform: translate(0, -50%) rotate(180deg); }
  .pager__next {
    float: right; }
    .pager__next--link {
      padding-right: 28px; }
      .pager__next--link:before {
        content: 'NEXT'; }
      .pager__next--link:after {
        right: 0;
        -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
                transform: translate(0, -50%); }

.definition {
  margin: 40px 0; }
  .definition__title {
    background: #99a8ca;
    color: white;
    font-size: 112.5%;
    font-weight: 300;
    padding: 6px 30px;
    position: relative;
    margin: 0;
    text-align: center; }
    .definition__title--num {
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 187.5%;
      font-style: italic;
      font-weight: 300;
      left: 20px;
      position: absolute;
      top: 50%;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%); }
  .definition__body {
    background: #f2f3f8;
    padding: 20px; }
    .definition__body.white {
      background: white; }
    .definition__body--title {
      color: #193b87;
      font-size: 100%;
      margin: 0; }
    .definition__body p {
      margin: 0 !important; }
  .definition dl {
    border-bottom: solid 1px #e9e9e9;
    margin: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    @media (max-width: 768px) {
      .definition dl {
        display: block; } }
    .definition dl dt, .definition dl dd {
      margin: 0;
      padding: 17px; }
    .definition dl dt {
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      background: #f8f8f8;
      color: #193b87;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-flex: 26;
      -webkit-flex: 26;
          -ms-flex: 26;
              flex: 26;
      min-width: 34.666666666%; }
    .definition dl dd {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-flex: 49;
      -webkit-flex: 49;
          -ms-flex: 49;
              flex: 49;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      min-width: 65.333333333%; }
      .definition dl dd *:first-child {
        margin-top: 0 !important; }
      .definition dl dd *:last-child {
        margin-bottom: 0 !important; }
  .definition dl:last-child:first-child {
    border-bottom: solid 1px #e9e9e9; }
    .definition dl:last-child:first-child dt, .definition dl:last-child:first-child dd {
      border-color: #e9e9e9;
      border-style: solid;
      border-width: 1px 0 0; }
  .definition__sm {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .definition__sm dl {
      width: 100%; }
      .definition__sm dl dt, .definition__sm dl dd {
        padding-top: 13px;
        padding-bottom: 13px; }
      .definition__sm dl dt {
        -webkit-box-flex: 14;
        -webkit-flex: 14;
            -ms-flex: 14;
                flex: 14;
        min-width: 18.66666666%; }
      .definition__sm dl dd {
        -webkit-box-flex: 61;
        -webkit-flex: 61;
            -ms-flex: 61;
                flex: 61;
        min-width: 81.33333333%; }
  .definition__vertical {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .definition__vertical dl {
      border-color: #e9e9e9;
      border-style: solid;
      border-width: 1px 0;
      display: block;
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      .definition__vertical dl + dl {
        border-width: 1px 0 1px 1px; }
      .definition__vertical dl dt {
        padding: 13px 20px; }
      .definition__vertical dl dd {
        display: block; }

.form .err {
  color: #c00;
  margin: 0; }

.form__body {
  background: #f2f3f8;
  margin: 10px 0;
  padding: 30px; }
  @media (max-width: 768px) {
    .form__body {
      padding: 10px; } }
  .form__body p {
    margin: 1em 0; }

.form__field {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  @media (max-width: 768px) {
    .form__field {
      display: block;
      margin-top: 20px; } }
  .form__field + .form__field {
    margin-top: 10px; }

.form__label {
  border-bottom: solid 1px #bac4db;
  color: #193b87;
  display: block;
  -webkit-box-flex: 25;
  -webkit-flex: 25;
      -ms-flex: 25;
          flex: 25;
  font-weight: 700;
  padding: 8px 15px 8px 0; }
  @media (max-width: 768px) {
    .form__label {
      padding: 0 0 5px;
      margin-bottom: 10px; } }

.form__required {
  background: #193b87;
  color: white;
  display: inline-block;
  font-size: 75%;
  font-weight: normal;
  margin-left: 10px;
  padding: 2px 5px; }

.form__input {
  -webkit-box-flex: 42;
  -webkit-flex: 42;
      -ms-flex: 42;
          flex: 42;
  margin-left: 20px; }
  @media (max-width: 768px) {
    .form__input {
      margin-left: 0; } }
  .form__input .err {
    color: #c00;
    margin: 0; }
  .form__input input[type="text"],
  .form__input input[type="email"],
  .form__input input[type="tel"],
  .form__input input[type="number"],
  .form__input textarea {
    background: white;
    font-size: 100%;
    padding: 10px 15px;
    width: 100%; }
    .form__input input[type="text"][disabled],
    .form__input input[type="email"][disabled],
    .form__input input[type="tel"][disabled],
    .form__input input[type="number"][disabled],
    .form__input textarea[disabled] {
      background: #eee; }
  .form__input select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #bac4db;
    border-radius: 0;
    display: block;
    margin: 10px 0;
    padding: 10px 15px;
    min-width: 180px; }
    .form__input select[disabled] {
      background: #eee; }
  .form__input label.radio,
  .form__input label.checkbox {
    vertical-align: middle;
    margin-left: 10px;
    margin-right: 20px; }
    .form__input label.radio__block,
    .form__input label.checkbox__block {
      display: block;
      margin: 10px 0; }
    .form__input label.radio > input, .form__input label.radio__block > input,
    .form__input label.checkbox > input,
    .form__input label.checkbox__block > input {
      margin-right: 5px; }

.form__buttons {
  margin-top: 40px; }
  .form__buttons ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center; }
  .form__buttons li {
    display: inline-block;
    margin: 0 25px; }

.form__inner {
  margin: 10px 0; }
  .form__inner--title {
    color: #193b87;
    font-size: 100%;
    font-weight: 700;
    margin: 20px 0 10px; }
  .form__inner--field {
    margin: 10px 0; }
  .form__inner--label {
    display: block;
    margin: 0; }
  .form__inner--input {
    -webkit-box-flex: 2;
    -webkit-flex: 2;
        -ms-flex: 2;
            flex: 2; }

.form__button {
  letter-spacing: -.24em;
  margin: 50px 0 0;
  text-align: center; }
  @media (max-width: 768px) {
    .form__button {
      margin-top: 20px; } }

.form__full {
  margin: 20px 0; }

.form__flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .form__flex--item {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .form__flex--item input[type="text"] {
      min-width: 0; }
  .form__flex span {
    margin: 0 10px; }

.inputStyle01,
.inputStyle02,
.inputStyle03,
.inputStyle04,
.inputStyle05,
.inputStyle06,
.inputStyle07 {
  background: white;
  padding: 2px; }

.inputStyle02 {
  max-width: 68px; }

.inputStyle03 {
  max-width: 120px; }

.inputStyle04 {
  max-width: 389px; }

.inputStyle05 {
  max-width: 75px; }

.inputStyle07 {
  max-width: 45px; }

.wd40 {
  width: 40px; }

/**
 * 追加分
 */
select.form-select-sm {
  min-width: 75px; }

input[type="text"].c-form-text-md {
  width: 200px; }

label.c-form-radio {
  display: block;
  padding: 5px 5px 5px 20px;
  position: relative; }
  label.c-form-radio > input[type="radio"] {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%); }

.c-form-inner {
  margin: 20px 0; }
  .c-form-inner:first-child {
    margin-top: 0; }
  .c-form-inner:last-child {
    margin-bottom: 0; }

.c-form-subhead {
  color: #193b87;
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 20px 0 10px; }
  .c-form-subhead:first-child {
    margin-top: 0; }

.c-form-panel {
  background: #e1e4ef;
  padding: 20px; }
  .c-form-panel:not(:first-child) {
    margin-top: 20px; }

.label__notes {
  display: inline-block;
  height: 20px;
  margin-right: 10px;
  vertical-align: middle;
  width: 50px;
  background: #febcbe; }

.label__grey {
  display: inline-block;
  height: 20px;
  margin-right: 10px;
  vertical-align: middle;
  width: 50px;
  background: #cec9c5; }

.label__blue {
  display: inline-block;
  height: 20px;
  margin-right: 10px;
  vertical-align: middle;
  width: 50px;
  background: #f2f3f8; }

.label__red {
  display: inline-block;
  height: 20px;
  margin-right: 10px;
  vertical-align: middle;
  width: 50px;
  background: #fbf2f3; }

.entries {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  list-style: none;
  margin: 0 0 0 -20px;
  padding: 0; }
  @media (max-width: 768px) {
    .entries {
      display: block; } }
  .entries__item {
    padding-left: 20px;
    width: 50%; }
    @media (max-width: 768px) {
      .entries__item {
        width: 100%; } }
  .entries__link {
    color: black;
    display: block;
    margin-bottom: 20px;
    padding-left: 16px;
    position: relative;
    text-decoration: underline; }
    .entries__link:before {
      background: url(../img/home/entry-arrow.svg) no-repeat center;
      background-size: contain;
      content: '';
      display: block;
      height: 12px;
      left: 0;
      position: absolute;
      top: 50%;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%);
      width: 6px; }
    .entries__link:hover {
      text-decoration: none; }

.point-block {
  background: #f2f3f8;
  padding: 20px; }
  .point-block *:last-child {
    margin-bottom: 0 !important; }
  .point-block__title {
    color: #193b87;
    font-size: 100%;
    margin: 0; }
  .point-block p {
    font-size: 93.75% !important;
    margin: 20px 0 !important; }

.question {
  margin: 20px 0; }
  .question__header {
    background: #f8f8f8;
    color: #193b87;
    position: relative;
    /* &:after {
      background: url(../img/common/arrow.svg) no-repeat center;
      background-size: contain;
      content: '';
      display: block;
      height: 12px;
      position: absolute;
      top: 50%;
      right: 30px;
      transform: translate(0,-50%) rotate(90deg);
      transition: transform 300ms ease-in-out;
      width: 6px;

      .active & {
        transform: translate(0,-50%) rotate(-90deg);
      }
    } */
    /* &:hover {
      cursor: pointer;
    } */ }
    .question__header:before {
      content: 'Q';
      display: block;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 187.5%;
      text-transform: uppercase;
      position: absolute;
      top: 50%;
      left: 30px;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%); }
      @media (max-width: 768px) {
        .question__header:before {
          font-size: 125%;
          left: 15px; } }
  .question__title {
    font-size: 100%;
    font-weight: 300;
    margin: 0;
    padding: 13px 20px 13px 80px; }
    @media (max-width: 768px) {
      .question__title {
        padding: 8px 10px 8px 40px; } }
  .question__answer {
    padding: 20px 0 20px 80px;
    position: relative; }
    @media (max-width: 768px) {
      .question__answer {
        padding: 10px 0 10px 40px; } }
    .question__answer:before {
      color: #99a8ca;
      content: 'A';
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 187.5%;
      line-height: 1;
      text-transform: uppercase;
      position: absolute;
      top: 15px;
      left: 30px; }
      @media (max-width: 768px) {
        .question__answer:before {
          font-size: 125%;
          left: 15px; } }
    .question__answer *:first-child {
      margin-top: 0; }
    .question__answer *:last-child {
      margin-bottom: 0; }
    .active .question__answer {
      display: block; }

.tri {
  height: 10px;
  margin: 20px 0;
  position: relative; }
  .tri:before {
    border-color: transparent;
    border-style: solid;
    border-width: 10px 6px 0;
    border-top-color: #193b87;
    content: '';
    display: block;
    height: 0;
    width: 0;
    position: absolute;
    left: 50%;
    top: 0; }

.toggle-list {
  margin: 20px 0; }
  .toggle-list__button {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: #99a8ca;
    color: white;
    display: block;
    font-size: 125%;
    margin: 0;
    padding: 10px 30px;
    position: relative;
    text-align: left;
    width: 100%; }
    .toggle-list__button:active, .toggle-list__button:focus {
      outline: none; }
    .toggle-list__button:hover {
      cursor: pointer; }
    .toggle-list__button:before {
      background: white;
      content: '';
      display: block;
      height: 2px;
      position: absolute;
      top: 50%;
      right: 20px;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%);
      width: 20px; }
    .toggle-list__button:after {
      background: white;
      height: 20px;
      width: 2px;
      content: '';
      display: block;
      position: absolute;
      right: 30px;
      top: 50%;
      -webkit-transform: translate(50%, -50%) scale(1);
          -ms-transform: translate(50%, -50%) scale(1);
              transform: translate(50%, -50%) scale(1);
      -webkit-transform-origin: center;
          -ms-transform-origin: center;
              transform-origin: center;
      -webkit-transition: -webkit-transform 300ms ease-in-out;
      transition: -webkit-transform 300ms ease-in-out;
      transition: transform 300ms ease-in-out;
      transition: transform 300ms ease-in-out, -webkit-transform 300ms ease-in-out; }
      .in .toggle-list__button:after {
        -webkit-transform: translate(50%, -50%) scale(1, 0);
            -ms-transform: translate(50%, -50%) scale(1, 0);
                transform: translate(50%, -50%) scale(1, 0); }
    .toggle-list__button.close {
      background: #bac4db; }
      .toggle-list__button.close:before {
        background: url(../img/common/arrow.svg) no-repeat center;
        background-size: contain;
        content: '';
        display: block;
        height: 22px;
        margin: 0 auto;
        position: static;
        -webkit-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
                transform: rotate(-90deg);
        width: 10px; }
      .toggle-list__button.close:after {
        content: none; }
  .toggle-list__body {
    display: none; }
    .in .toggle-list__body {
      display: block; }
  .toggle-list > .table {
    margin: 0 !important; }

.c-banners {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  list-style: none;
  margin: 35px -15px;
  padding: 0; }
  .c-banners > li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    min-height: 50px;
    margin: 15px 0;
    padding: 0 15px;
    width: 50%;
    min-width: 50%; }
    @media (max-width: 992px) {
      .c-banners > li {
        margin: 5px 0;
        width: 100%;
        min-width: 100%; } }
    .c-banners > li > a {
      -webkit-transition: box-shadow 300ms ease-in-out;
      transition: box-shadow 300ms ease-in-out;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      border: solid 1px #193b87;
      color: #193b87;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      height: 100%;
      padding: 0 35px;
      position: relative;
      text-align: center;
      text-decoration: none;
      width: 100%; }
      .c-banners > li > a:hover {
        box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14); }
      .c-banners > li > a:active:hover {
        box-shadow: 0 6px 6px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.14); }
      .c-banners > li > a:before {
        background: url(../img/home/entry-arrow.svg) center no-repeat;
        background-size: contain;
        content: '';
        display: block;
        height: 13px;
        left: 20px;
        position: absolute;
        top: 50%;
        width: 6px;
        -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
                transform: translate(0, -50%); }

.c-result {
  background: #f2f3f8; }
  .c-result:before, .c-result:after {
    content: '';
    display: table; }
  .c-result:after {
    clear: both; }
  .c-result__title {
    background: #bac4db;
    color: #193b87;
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-size: 100%;
    font-weight: normal;
    margin: 0;
    padding: 8px 15px;
    text-align: center; }
  .c-result__charm {
    margin: 20px 0 0;
    padding-bottom: 30px;
    position: relative; }
    @media (max-width: 992px) {
      .c-result__charm {
        margin: 10px 0 0;
        padding-bottom: 15px; } }
    .c-result__charm--title {
      color: rgba(25, 59, 135, 0.7);
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 5rem;
      letter-spacing: 8px;
      line-height: 1;
      padding-top: 30px;
      text-align: center; }
      @media (max-width: 768px) {
        .c-result__charm--title {
          padding-top: 10px;
          font-size: 2.4rem; } }
    .c-result__charm--old {
      -webkit-box-align: baseline;
      -webkit-align-items: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      color: #193b87;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 2.4rem;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      letter-spacing: 8px;
      text-align: center; }
      @media (max-width: 992px) {
        .c-result__charm--old {
          display: block; } }
      @media (max-width: 768px) {
        .c-result__charm--old {
          font-size: 1.6rem; } }
      .c-result__charm--old.empty {
        height: 80px; }
        @media (max-width: 768px) {
          .c-result__charm--old.empty {
            height: auto; } }
      .c-result__charm--old > span {
        font-size: 5rem; }
        @media (max-width: 768px) {
          .c-result__charm--old > span {
            font-size: 2.4rem; } }
      .c-result__charm--old > div {
        margin-top: 30px;
        font-size: 3.6rem;
        letter-spacing: 4px; }
        @media (max-width: 992px) {
          .c-result__charm--old > div {
            margin-top: 5px;
            padding: 10px;
            font-size: 2.4rem; } }
        .c-result__charm--old > div > span {
          background: #193b87;
          border-radius: 14px;
          color: #fff;
          display: block;
          font-size: 1.4rem;
          letter-spacing: 0;
          padding: 4px 0;
          width: 100px;
          text-align: center; }
          @media (max-width: 992px) {
            .c-result__charm--old > div > span {
              width: auto;
              font-size: 1.2rem;
              margin: 0 auto;
              padding: 2px 5px;
              max-width: 100px; } }
        .c-result__charm--old > div:not(:first-of-type) {
          margin-left: 30px; }
          @media (max-width: 992px) {
            .c-result__charm--old > div:not(:first-of-type) {
              margin-left: 0; } }
    .c-result__charm--target {
      color: #193b87;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 3.6rem;
      letter-spacing: 8px;
      text-align: center; }
      @media (max-width: 768px) {
        .c-result__charm--target {
          font-size: 2.4rem; } }
    .c-result__charm--images {
      padding: 0 30px;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      width: 100%; }
      @media (max-width: 992px) {
        .c-result__charm--images {
          display: none; } }
      .c-result__charm--images > img {
        position: absolute;
        max-width: 100%;
        left: 50%;
        bottom: 0;
        -webkit-transform: translate(-50%, 0);
            -ms-transform: translate(-50%, 0);
                transform: translate(-50%, 0); }
  .c-result__body {
    background: #fff;
    margin: 0 30px 30px;
    padding: 50px; }
    @media (max-width: 992px) {
      .c-result__body {
        margin: 0 10px 10px;
        padding: 10px; } }
    @media (max-width: 992px) {
      .c-result__body--top {
        display: block; } }
    @media (max-width: 992px) {
      .c-result__body--top tbody > {
        display: block; } }
    @media (max-width: 992px) {
      .c-result__body--top tbody > tr > {
        display: block; } }
    .c-result__body--top tbody > tr > th, .c-result__body--top tbody > tr > td {
      background: none;
      border: none;
      font-size: 2rem;
      font-weight: 700;
      padding: 0; }
      @media (max-width: 992px) {
        .c-result__body--top tbody > tr > th, .c-result__body--top tbody > tr > td {
          display: block;
          font-size: 1.6rem; } }
    .c-result__body--top tbody > tr > th {
      color: #193b87;
      padding-right: 20px;
      white-space: nowrap; }
    .c-result__body--top tbody > tr > td {
      color: #000;
      width: 100%; }
      .c-result__body--top tbody > tr > td > a:not([class]),
      .c-result__body--top tbody > tr > td > span {
        color: #000;
        display: inline-block;
        padding-left: 35px;
        position: relative; }
        @media (max-width: 992px) {
          .c-result__body--top tbody > tr > td > a:not([class]),
          .c-result__body--top tbody > tr > td > span {
            padding-left: 25px; } }
        .c-result__body--top tbody > tr > td > a:not([class]):before,
        .c-result__body--top tbody > tr > td > span:before {
          background: url(../img/home/entry-arrow.svg) center no-repeat;
          background-size: contain;
          content: '';
          display: block;
          height: 13px;
          left: 20px;
          top: 50%;
          -webkit-transform: translate(0, -50%);
              -ms-transform: translate(0, -50%);
                  transform: translate(0, -50%);
          width: 6px;
          position: absolute; }
          @media (max-width: 992px) {
            .c-result__body--top tbody > tr > td > a:not([class]):before,
            .c-result__body--top tbody > tr > td > span:before {
              left: 5px; } }
    .c-result__body--top tbody > tr:not(:last-child) > th, .c-result__body--top tbody > tr:not(:last-child) td {
      padding-bottom: 5px; }
    .c-result__body--title {
      background: #bac4db;
      border-left: none !important;
      color: #193b87;
      font-size: 100% !important;
      font-weight: 300 !important;
      margin-top: 1.33em !important;
      padding: 8px 10px !important;
      text-align: center; }
      .c-result__body--title:before, .c-result__body--title:after {
        content: none !important; }
  .c-result__list {
    margin-bottom: 20px; }
    .c-result__list--item {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      @media (max-width: 992px) {
        .c-result__list--item {
          display: block; } }
      .c-result__list--item:not(:first-child) {
        margin-top: 20px; }
      .c-result__list--item > div {
        padding: 0 20px; }
        @media (max-width: 768px) {
          .c-result__list--item > div {
            padding: 0; } }
        .c-result__list--item > div:first-child {
          border-right: solid 1px #bac4db;
          font-weight: 700;
          width: 135px;
          min-width: 135px; }
          @media (max-width: 992px) {
            .c-result__list--item > div:first-child {
              border-right: none;
              width: 100%;
              min-width: 100%; } }
        .c-result__list--item > div:last-child > p:first-child {
          margin-top: 0; }
        .c-result__list--item > div:last-child > p:last-child {
          margin-bottom: 0; }
  .c-result__price {
    color: #193b87;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700; }
    @media (max-width: 992px) {
      .c-result__price {
        display: block; } }
    .c-result__price > div {
      padding: 0 20px; }
      .c-result__price > div:first-child {
        font-weight: 700;
        width: 135px; }
      .c-result__price > div:not(:first-child) {
        font-size: 3rem; }
      .c-result__price > div > small {
        font-size: 1.6rem; }
    .c-result__price .c-result__price--option {
      font-size: 1.6rem;
      margin: 0; }
  .c-result__breakdown {
    border: solid 1px #bac4db;
    margin: 30px 0; }
    .c-result__breakdown > .c-result__body--title {
      margin-top: 0; }
    .c-result__breakdown > .c-result__list {
      padding: 0 10px; }
      .c-result__breakdown > .c-result__list div:not([class]):last-child {
        font-size: 1.4rem; }
    .c-result__breakdown--doc {
      margin: 0 50px 50px; }
      @media (max-width: 768px) {
        .c-result__breakdown--doc {
          margin: 0 10px 20px; } }
      .c-result__breakdown--doc:not(:first-of-type) {
        border-top: solid 1px #bac4db;
        margin-top: 50px; }
        @media (max-width: 768px) {
          .c-result__breakdown--doc:not(:first-of-type) {
            margin-top: 20px; } }
      .c-result__breakdown--doc p:first-of-type {
        margin-top: 0; }
      .c-result__breakdown--doc p:last-child {
        margin-bottom: 0; }
    .c-result__breakdown--title {
      color: #193b87;
      font-size: 2rem;
      margin: 50px 0 20px; }
      @media (max-width: 768px) {
        .c-result__breakdown--title {
          font-size: 1.8rem;
          margin-top: 20px; } }
      .c-result__breakdown--title.i-warning, .c-result__breakdown--title.i-question {
        padding-left: 40px;
        position: relative; }
        .c-result__breakdown--title.i-warning:before, .c-result__breakdown--title.i-question:before {
          background-size: contain;
          content: '';
          display: block;
          height: 28px;
          position: absolute;
          left: 0;
          top: 0;
          width: 30px; }
      .c-result__breakdown--title.i-warning:before {
        background: url(../img/easy/i-warning.svg) no-repeat center; }
      .c-result__breakdown--title.i-question:before {
        background: url(../img/easy/i-question.svg) no-repeat center; }
  .c-result__staff {
    display: -ms-grid;
    display: grid;
    gap: 20px;
    -ms-grid-columns: 50% 50%;
        grid-template-columns: 50% 50%; }
    .c-result__staff--item > div {
      margin: 10px auto;
      width: 68px; }
      .c-result__staff--item > div > img {
        max-width: 100%; }
    .c-result__staff--item > p {
      font-size: 1.4rem;
      line-height: 1.5;
      margin: 10px 0 0;
      text-align: center; }
      @media (max-width: 768px) {
        .c-result__staff--item > p {
          font-size: 1.2rem; } }

.c-step-title {
  background: #193b87;
  border-top-left-radius: 60px;
  border-top-right-radius: 60px;
  color: #fff;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 3.8rem;
  font-weight: normal;
  letter-spacing: 3px;
  margin: 0;
  padding: 2px 15px;
  text-align: center; }
  @media (max-width: 992px) {
    .c-step-title {
      font-size: 1.8rem; } }

.c-step-flow {
  border-bottom: solid 10px #bac4db;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0; }
  @media (max-width: 992px) {
    .c-step-flow {
      display: block; } }
  .c-step-flow > li {
    position: relative;
    width: 33.33333%;
    min-width: 33.33333%; }
    @media (max-width: 992px) {
      .c-step-flow > li {
        padding-left: 50px;
        width: 100%;
        min-width: 100%; } }
    .c-step-flow > li:not(:first-child) {
      border-left: solid 1px #bac4db; }
      @media (max-width: 992px) {
        .c-step-flow > li:not(:first-child) {
          border-left: none;
          border-bottom: solid 1px #bac4db; } }
    .c-step-flow > li:after, .c-step-flow > li:before {
      border-color: transparent;
      border-style: solid;
      border-width: 13px 0 13px 6px;
      border-left-color: #fff;
      content: '';
      display: block;
      position: absolute;
      left: 100%;
      top: 50%;
      -webkit-transform: translate3d(0, -50%, 10px);
              transform: translate3d(0, -50%, 10px);
      z-index: 5; }
      @media (max-width: 992px) {
        .c-step-flow > li:after, .c-step-flow > li:before {
          border-width: 6px 13px 0 13px;
          border-left-color: transparent;
          border-top-color: #fff;
          left: 50%;
          top: 100%;
          -webkit-transform: translate3d(-50%, 0, 10px);
                  transform: translate3d(-50%, 0, 10px);
          -webkit-transform-origin: top center;
              -ms-transform-origin: top center;
                  transform-origin: top center; } }
    .c-step-flow > li:before {
      border-width: 14px 0 14px 7px;
      border-left-color: #bac4db; }
      @media (max-width: 992px) {
        .c-step-flow > li:before {
          border-width: 7px 14px 0 14px;
          border-left-color: transparent;
          border-top-color: #bac4db; } }
    .c-step-flow > li.active {
      background: #f2f3f8; }
      .c-step-flow > li.active:after {
        border-left-color: #f2f3f8; }
        @media (max-width: 992px) {
          .c-step-flow > li.active:after {
            border-left-color: transparent;
            border-top-color: #f2f3f8; } }
    .c-step-flow > li:last-child:before, .c-step-flow > li:last-child:after {
      content: none; }
    .c-step-flow > li > span {
      background: #bac4db;
      border-radius: 100%;
      color: #fff;
      display: block;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 2.2rem;
      font-style: italic;
      height: 40px;
      line-height: 1;
      margin: 20px auto 5px;
      padding: 9px;
      text-align: center;
      text-shadow: 0 0 5px rgba(0, 0, 0, 0.12);
      text-indent: -.15em;
      width: 40px; }
      @media (max-width: 992px) {
        .c-step-flow > li > span {
          font-size: 1.4rem;
          height: 30px;
          margin: 0;
          position: absolute;
          left: 10px;
          top: 50%;
          -webkit-transform: translate(0, -50%);
              -ms-transform: translate(0, -50%);
                  transform: translate(0, -50%);
          width: 30px; } }
    .c-step-flow > li > div {
      color: #193b87;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 1.8rem;
      padding: 0 10px 15px;
      text-align: center; }
      @media (max-width: 992px) {
        .c-step-flow > li > div {
          font-size: 1.6rem;
          padding: 10px;
          text-align: left; } }

.c-step-body {
  border: solid 1px #bac4db;
  border-width: 0 1px 1px; }

.c-step-question {
  color: #193b87;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-size: 2.0rem;
  margin: 60px 0 40px;
  padding: 0 50px 0 155px;
  position: relative; }
  @media (max-width: 992px) {
    .c-step-question {
      font-size: 1.6rem;
      margin: 30px 0 0;
      padding: 0 10px 0 60px; } }
  .c-step-question > span {
    font-size: 6.0rem;
    line-height: 1;
    position: absolute;
    left: 50px;
    top: 0; }
    @media (max-width: 992px) {
      .c-step-question > span {
        left: 10px;
        font-size: 3.0rem; } }
  .c-step-question p:first-child {
    margin-top: 0; }
  .c-step-question p:last-child {
    margin-bottom: 0; }

.c-step-answers {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  list-style: none;
  margin: 40px 0 30px;
  padding: 0 40px; }
  @media (max-width: 992px) {
    .c-step-answers {
      margin: 20px 0 15px;
      padding: 0 10px; } }
  .c-step-answers > li {
    margin: 10px 0;
    padding: 0 10px;
    width: 50%;
    min-width: 50%; }
    @media (max-width: 992px) {
      .c-step-answers > li {
        width: 100%;
        min-width: 100%; } }
    .c-step-answers > li.stretch {
      width: 100%;
      min-width: 100%; }
    .c-step-answers > li > a:not([class]) {
      -webkit-transition: box-shadow 300ms ease-in-out;
      transition: box-shadow 300ms ease-in-out;
      background: #193b87;
      border-radius: 10px;
      color: #fff;
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 3.2rem;
      display: block;
      padding: 16px 43px;
      position: relative;
      text-align: center;
      text-decoration: none; }
      .c-step-answers > li > a:not([class]):hover {
        box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14); }
      .c-step-answers > li > a:not([class]):active:hover {
        box-shadow: 0 6px 6px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.14); }
      @media (max-width: 992px) {
        .c-step-answers > li > a:not([class]) {
          font-size: 1.8rem;
          padding: 8px 22px; } }
      .c-step-answers > li > a:not([class]):before {
        background: url(../img/easy/arrow-answer.svg) no-repeat center;
        background-size: contain;
        content: '';
        display: block;
        height: 24px;
        width: 12px;
        position: absolute;
        top: 50%;
        right: 20px;
        -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
                transform: translate(0, -50%);
        z-index: 2; }
        @media (max-width: 992px) {
          .c-step-answers > li > a:not([class]):before {
            height: 12px;
            width: 6px;
            right: 10px; } }
  .c-step-answers.ex > li > a:not([class]) {
    font-size: 2.6rem; }
    @media (max-width: 992px) {
      .c-step-answers.ex > li > a:not([class]) {
        font-size: 1.8rem; } }
  .c-step-answers.ex-sm > li > a:not([class]) {
    font-size: 1.8rem; }

.c-step-image {
  padding: 0 50px; }
  @media (max-width: 992px) {
    .c-step-image {
      margin-top: -75px;
      padding: 0 10px; } }
  .c-step-image > img {
    display: block;
    margin: 0 0 0 auto;
    max-width: 100%; }
    @media (max-width: 992px) {
      .c-step-image > img {
        -webkit-transform: scale(0.5);
            -ms-transform: scale(0.5);
                transform: scale(0.5);
        -webkit-transform-origin: right bottom;
            -ms-transform-origin: right bottom;
                transform-origin: right bottom; } }

.c-cm-panel {
  background: #f2f3f8; }
  .c-cm-panel + .c-cm-panel {
    margin-top: 30px; }
    @media (max-width: 992px) {
      .c-cm-panel + .c-cm-panel {
        margin-top: 20px; } }
  .c-cm-panel-title {
    border-bottom: solid 1px #193b87;
    color: #193b87;
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    font-size: 2.4rem;
    font-weight: 300;
    margin: 0 0 30px;
    padding: 18px 0 5px;
    text-align: center; }
  .c-cm-panel-body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0 50px 30px; }
    @media (max-width: 992px) {
      .c-cm-panel-body {
        display: block;
        padding: 0 10px 20px; } }
  .c-cm-panel-content {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .c-cm-panel-content > p:first-child {
      margin-top: 0; }
    .c-cm-panel-content > p:last-child {
      margin-bottom: 0; }
  .c-cm-panel-link {
    min-width: 240px;
    margin-left: 30px; }
    @media (max-width: 992px) {
      .c-cm-panel-link {
        margin-left: 0; } }

.custommade .grid + .grid {
  margin-top: 50px; }
  @media (max-width: 992px) {
    .custommade .grid + .grid {
      margin-top: 20px; } }

.c-contact {
  border: solid 3px #193b87;
  margin: 40px 0;
  padding: 5px; }
  @media screen and (max-width: 768px) {
    .c-contact {
      margin: 20px 0; } }

.c-contact__inner {
  border: solid 1px #193b87;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 10px; }
  @media screen and (max-width: 768px) {
    .c-contact__inner {
      display: block; } }

.c-contact .c-contact__title {
  color: #193b87;
  font-size: 1.8rem;
  margin: 0 20px 0 0;
  padding: 0;
  white-space: nowrap; }
  @media screen and (max-width: 768px) {
    .c-contact .c-contact__title {
      margin: 0 0 10px; } }
  .c-contact .c-contact__title:after {
    content: none; }

.c-contact__address {
  font-size: 1.6rem;
  font-style: normal;
  padding: 0 0 0 100px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .c-contact__address {
      padding: 0; } }

.c-contact__number {
  display: block;
  left: 0;
  position: absolute;
  top: 0; }
  @media screen and (max-width: 768px) {
    .c-contact__number {
      position: static; } }

/* ==============================================
 * SCOPE
 * =========================================== */
.amazon-link {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 20px 0;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .amazon-link__item {
    margin: 10px; }

.amazon-frame {
  background-color: white;
  border: 1px solid black;
  color: black;
  font-size: 10px;
  height: 240px;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: center;
  width: 120px;
  float: left; }
  .amazon-frame > img {
    display: block;
    margin: 5px auto; }
  .amazon-frame__name {
    display: block;
    text-align: center; }

.appointment-icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 30px;
  margin-left: -15px;
  margin-right: -15px; }
  @media (max-width: 768px) {
    .appointment-icon {
      float: none;
      margin-top: 20px;
      margin-bottom: 20px;
      margin-left: 0; } }
  .appointment-icon__item {
    padding: 0 15px; }
    .appointment-icon__item img {
      display: block;
      margin: 0 auto;
      max-height: 88px;
      max-width: 100%; }
  .appointment-icon__name {
    display: block;
    font-size: 87.5%;
    font-weight: 300;
    margin: 5px 0 0;
    text-align: center; }

.breadcrumbs {
  border-bottom: solid 1px #193b87; }
  .breadcrumbs:before, .breadcrumbs:after {
    content: '';
    display: table; }
  .breadcrumbs:after {
    clear: both; }
  .breadcrumbs__body {
    float: right;
    list-style: none;
    margin: 0;
    padding: 0; }
    .breadcrumbs__body:before, .breadcrumbs__body:after {
      content: '';
      display: table; }
    .breadcrumbs__body:after {
      clear: both; }
  .breadcrumbs__item {
    float: left;
    font-size: 87.5%;
    padding: 12px 0; }
    .breadcrumbs__item:after {
      content: '>';
      margin: 0 .5em; }
    .breadcrumbs__item:last-child:after {
      content: none; }
  .breadcrumbs__link {
    color: black;
    text-decoration: none;
    -webkit-transition: color 300ms ease-in-out;
    transition: color 300ms ease-in-out; }
    .breadcrumbs__link:hover {
      color: #b3b3b3; }

.doctor {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px; }
  @media (max-width: 768px) {
    .doctor {
      display: block; } }
  .doctor__text {
    width: 35.065%; }
    @media (max-width: 768px) {
      .doctor__text {
        width: 100%; } }
    .doctor__text--position {
      font-size: 100%;
      font-weight: 100; }
    .doctor__text--name {
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 212.5%;
      font-weight: 100; }
    .doctor__text--ruby {
      color: #8e8e8e;
      display: block;
      font-size: 1.6rem; }
  .doctor__photo {
    width: 64.935%; }
    @media (max-width: 768px) {
      .doctor__photo {
        width: 100%; } }

.history-box {
  margin: 0 -20px; }
  .history-box:before, .history-box:after {
    content: '';
    display: table; }
  .history-box:after {
    clear: both; }
  .history-box__col {
    float: left;
    padding: 0 20px;
    width: 50%; }
    @media (max-width: 768px) {
      .history-box__col {
        width: 100%; } }
  .history-box__title {
    border-left: dashed 1px #193b87;
    font-size: 112.5%;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 25px 0;
    padding-left: 15px;
    position: relative; }
    .history-box__title.message {
      border-left: solid 1px #193b87;
      color: #193b87; }
    .history-box__title:before, .history-box__title:after {
      background: #193b87;
      border-radius: 100%;
      content: '';
      display: block;
      height: 3px;
      left: 0;
      position: absolute;
      width: 3px;
      -webkit-transform: translate(-75%, -50%);
          -ms-transform: translate(-75%, -50%);
              transform: translate(-75%, -50%); }
    .history-box__title:before {
      top: 0; }
    .history-box__title:after {
      top: 100%; }
  .history-box__body {
    border-left: solid 1px #c5c5c5;
    margin-bottom: 20px;
    padding-left: 15px; }
    .history-box__body.message {
      background: #f1f3f8;
      border-left: none;
      color: #193b87;
      padding: 20px; }
    .history-box__body p:first-child {
      margin-top: 0; }
    .history-box__body p:last-child {
      margin-bottom: 0; }
    .history-box__body > table tr > th, .history-box__body > table tr > td {
      border: none;
      padding: 8px 20px 7px 0;
      vertical-align: top; }
  .history-box__list {
    list-style: none;
    margin: 0;
    padding: 0; }
    .history-box__list li {
      line-height: 2; }

.list-note {
  list-style: none;
  margin: 0;
  padding: 0; }
  .list-note > li {
    font-size: 87.5%;
    padding-left: 40px;
    position: relative; }
    .list-note > li:not(:first-child) {
      margin-top: 10px; }
    .list-note > li > span {
      display: block;
      left: 0;
      position: absolute;
      text-align: right;
      top: 0;
      width: 35px; }
      .list-note > li > span:after {
        content: ':';
        margin-left: 3px; }

.mainvisual {
  background: #fafafa;
  min-height: 100vh;
  position: relative; }
  @media (max-width: 768px) {
    .mainvisual {
      min-height: 0;
      padding-top: 50px; } }
  .mainvisual__movie {
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 1; }
    .mainvisual__movie:before {
      content: '';
      display: block;
      padding-top: 56.2%; }
    .mainvisual__movie--body {
      height: auto;
      width: auto;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-size: cover;
      min-width: 100%;
      min-height: 100%; }
  .mainvisual__overlay {
    padding-top: 40px;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 2; }
    .mainvisual__overlay--title {
      margin-top: 20px;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      max-width: 380px; }
      @media (max-width: 768px) {
        .mainvisual__overlay--title {
          width: 313px; } }
    .mainvisual__overlay--logo {
      width: 100%; }
    .mainvisual__overlay--scroll-down {
      color: white;
      bottom: 10px;
      left: 50%;
      padding: 20px 20px;
      position: absolute;
      text-transform: uppercase;
      -webkit-transform: translate(-50%, 0);
          -ms-transform: translate(-50%, 0);
              transform: translate(-50%, 0);
      -webkit-transition: opacity 300ms ease-in-out;
      transition: opacity 300ms ease-in-out; }
      @media (max-width: 768px) {
        .mainvisual__overlay--scroll-down {
          display: none; } }
      .mainvisual__overlay--scroll-down:active, .mainvisual__overlay--scroll-down:focus {
        outline: none; }
      .mainvisual__overlay--scroll-down:hover {
        cursor: pointer;
        opacity: .7; }
    .mainvisual__overlay--arrow {
      display: block;
      margin: 10px auto 0;
      width: 16px; }
  .mainvisual__slider {
    position: relative; }
    .mainvisual__slider:before {
      content: '';
      display: block;
      padding-top: 119.806763285%; }
    .mainvisual__slider--image {
      max-width: 100%; }
  .mainvisual__container {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
  .mainvisual .swiper-pagination {
    padding: 20px 0;
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0); }
    .mainvisual .swiper-pagination-bullet {
      background: white;
      margin: 0 2.5px;
      opacity: 1; }
      .mainvisual .swiper-pagination-bullet-active {
        background: #193b87; }

.l-mv-movielink {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 100%;
  display: block;
  height: 50px;
  position: absolute;
  width: 50px;
  top: 75%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  -webkit-transition: box-shadow 300ms ease-in-out;
  transition: box-shadow 300ms ease-in-out; }
  .l-mv-movielink:hover {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14); }
  .l-mv-movielink > i {
    border-color: transparent;
    border-style: solid;
    border-width: 12.5px 0 12.5px 20px;
    border-left-color: rgba(0, 0, 0, 0.75);
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 0; }

.pagetop {
  padding: 10px 4px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 20px;
  z-index: 10010; }
  .pagetop:hover {
    cursor: pointer; }
  .pagetop:focus {
    outline: none; }
  @media (max-width: 768px) {
    .pagetop {
      display: none; } }
  .pagetop > img {
    max-width: 100%; }

.paginate {
  text-align: center;
  margin: 40px 0 0; }
  .paginate > ol {
    list-style: none;
    margin: 0;
    padding: 0; }
    .paginate > ol > li {
      letter-spacing: -.025em;
      display: inline-block; }
      .paginate > ol > li:not(:first-child) {
        margin-left: 10px; }
        @media (max-width: 768px) {
          .paginate > ol > li:not(:first-child) {
            margin-left: 5px; } }
      .paginate > ol > li > a,
      .paginate > ol > li > span {
        -webkit-transition: box-shadow 300ms ease-in-out;
        transition: box-shadow 300ms ease-in-out;
        border: solid 1px #193b87;
        color: #193b87;
        display: block;
        height: 40px;
        letter-spacing: 0;
        line-height: 40px;
        text-align: center;
        text-decoration: none;
        width: 40px; }
        .paginate > ol > li > a:hover,
        .paginate > ol > li > span:hover {
          box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.14); }
        .paginate > ol > li > a:active:hover,
        .paginate > ol > li > span:active:hover {
          box-shadow: 0 6px 6px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.14); }
        @media (max-width: 768px) {
          .paginate > ol > li > a,
          .paginate > ol > li > span {
            font-size: 77.5%;
            line-height: 25px;
            height: 25px;
            width: 25px; } }
        .paginate > ol > li > a.page,
        .paginate > ol > li > span.page {
          padding-top: 0; }
        .paginate > ol > li > a.prev, .paginate > ol > li > a.next,
        .paginate > ol > li > span.prev,
        .paginate > ol > li > span.next {
          position: relative;
          text-transform: uppercase;
          width: 90px; }
          @media (max-width: 768px) {
            .paginate > ol > li > a.prev, .paginate > ol > li > a.next,
            .paginate > ol > li > span.prev,
            .paginate > ol > li > span.next {
              width: 70px; } }
          .paginate > ol > li > a.prev:before, .paginate > ol > li > a.next:before,
          .paginate > ol > li > span.prev:before,
          .paginate > ol > li > span.next:before {
            background: url(../img/common/arrow.svg) no-repeat;
            background-size: contain;
            content: '';
            display: block;
            height: 13px;
            position: absolute;
            width: 6px; }
        .paginate > ol > li > a.prev:before,
        .paginate > ol > li > span.prev:before {
          left: 10px;
          top: 50%;
          -webkit-transform: rotate(180deg) translate(0, -50%);
              -ms-transform: rotate(180deg) translate(0, -50%);
                  transform: rotate(180deg) translate(0, -50%);
          -webkit-transform-origin: center top;
              -ms-transform-origin: center top;
                  transform-origin: center top; }
        .paginate > ol > li > a.next:before,
        .paginate > ol > li > span.next:before {
          right: 10px;
          top: 50%;
          -webkit-transform: translate(0, -50%);
              -ms-transform: translate(0, -50%);
                  transform: translate(0, -50%); }
        .paginate > ol > li > a.current,
        .paginate > ol > li > span.current {
          background: #193b87;
          color: white; }

.site-index {
  border-bottom: solid 1px #e9e9e9;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  list-style: none;
  margin: 0 -10px 100px;
  padding: 90px 0; }
  .site-index:before, .site-index:after {
    content: '';
    display: table; }
  .site-index:after {
    clear: both; }
  .site-index__item {
    float: left;
    margin: 10px 0;
    padding: 0 10px;
    width: 33.33333333%; }
  .site-index__link {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: white;
    border: solid 1px #193b87;
    color: #193b87;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 13px 50px;
    position: relative;
    text-align: center;
    text-decoration: none;
    -webkit-transition: background 300ms ease-in-out, color 300ms ease-in-out, border-color 300ms ease-in-out;
    transition: background 300ms ease-in-out, color 300ms ease-in-out, border-color 300ms ease-in-out; }
    .site-index__link:hover {
      border-color: #99a8ca;
      background: #99a8ca;
      color: white; }
  .site-index__arrow {
    height: 12px;
    position: absolute;
    left: 25px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 6px; }

.staff {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px; }
  @media (max-width: 768px) {
    .staff {
      display: block; } }
  .staff:not(:first-child) {
    border-top: solid 1px #e9e9e9;
    margin-top: 100px;
    padding-top: 100px; }
    @media (max-width: 768px) {
      .staff:not(:first-child) {
        margin-top: 50px;
        padding-top: 50px; } }
  .staff__photo {
    width: 46.66667%;
    max-width: 334px; }
    @media (max-width: 768px) {
      .staff__photo {
        margin: 0 auto 20px;
        width: 100%; } }
    @media (min-width: 769px) {
      .staff__photo:first-child {
        margin-right: 50px; } }
    @media (min-width: 769px) {
      .staff__photo:last-child {
        margin-left: 50px; } }
    .staff__photo > img {
      display: block;
      margin: 0 auto; }
  .staff__text {
    width: 53.333333333%; }
    @media (max-width: 768px) {
      .staff__text {
        width: 100%; } }
    .staff__text--position, .staff__text--subposition {
      font-size: 87.5%;
      font-weight: 100;
      margin: 0 0 25px; }
    .staff__text--subposition {
      font-size: 1.6rem;
      margin: 5px 0 10px; }
    .staff__text--name, .staff__text--subname {
      font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
      font-size: 212.5%;
      font-weight: 100; }
    .staff__text--subname {
      font-size: 150%;
      margin: 0 0 5px; }
    .staff__text--ruby {
      color: #8e8e8e;
      display: block;
      font-size: 1.6rem; }
    .staff__text p {
      margin: 1em 0 !important; }

.sitemap {
  background: #f8f8f8;
  padding: 80px 0;
  position: relative;
  z-index: 50; }
  @media (max-width: 768px) {
    .sitemap {
      display: none; } }
  .sitemap__inner {
    border-top: solid 1px #e9e9e9;
    padding: 0 125px; }
    .sitemap__inner:first-child {
      border-top: none; }
    .sitemap__inner + .sitemap__inner {
      margin-top: 80px; }
  .sitemap__lv1, .sitemap__lv2 {
    color: black;
    line-height: 1;
    text-decoration: none;
    -webkit-transition: color 300ms ease-in-out;
    transition: color 300ms ease-in-out; }
    .sitemap__lv1:hover, .sitemap__lv2:hover {
      color: gray; }
      .sitemap__lv1:hover:not([href]), .sitemap__lv2:hover:not([href]) {
        color: black; }
  .sitemap__list {
    list-style: none;
    margin: 0;
    padding-left: 17px; }
  .sitemap__grid {
    margin: 0 -25px;
    padding-top: 50px; }
    .sitemap__grid:before, .sitemap__grid:after {
      content: '';
      display: table; }
    .sitemap__grid:after {
      clear: both; }
    .sitemap__grid--col {
      float: left;
      padding: 0 25px; }
  .sitemap__lv1 {
    display: block;
    margin: 20px 0;
    padding-left: 17px;
    position: relative; }
    .sitemap__lv1:before {
      content: url(../img/common/sitemap-arrow.svg);
      display: block;
      left: 0;
      position: absolute;
      top: 50%;
      width: 6px;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%); }
  .sitemap__lv2 {
    display: block;
    font-size: 87.5%;
    margin: 15px 0; }

.site-links {
  background: white;
  border-top: solid 1px #e9e9e9;
  padding: 90px 0;
  position: relative;
  z-index: 50; }
  .site-links:before, .site-links:after {
    content: '';
    display: table; }
  .site-links:after {
    clear: both; }
  @media (max-width: 768px) {
    .site-links {
      padding: 40px 0; } }
  .site-links__grid {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin: 0 -10px; }
  .site-links__item, .site-links__item--lg {
    float: left;
    margin: 10px 0;
    padding: 0 10px;
    width: 33.33333333333%; }
    @media (max-width: 768px) {
      .site-links__item, .site-links__item--lg {
        width: 50%; } }
    @media (max-width: 413px) {
      .site-links__item, .site-links__item--lg {
        width: 100%; } }
    .site-links__item--lg {
      width: 100%; }
  .site-links__link, .site-links__link--blank {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: white;
    border: solid 1px #193b87;
    color: black;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 22px 15px;
    position: relative;
    text-align: center;
    text-decoration: none;
    -webkit-transition: box-shadow 300ms ease-in-out;
    transition: box-shadow 300ms ease-in-out; }
    @media (max-width: 768px) {
      .site-links__link, .site-links__link--blank {
        padding: 12px 10px;
        font-size: 93.75%; } }
    .site-links__link:before, .site-links__link--blank:before {
      content: url(../img/home/entry-arrow.svg);
      display: block;
      position: absolute;
      top: 50%;
      left: 20px;
      width: 6px;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%); }
      @media (max-width: 768px) {
        .site-links__link:before, .site-links__link--blank:before {
          left: 5px; } }
    .site-links__link:hover, .site-links__link--blank:hover {
      box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); }
    .site-links__link--blank:before {
      content: url(../img/common/blank.png);
      display: block;
      height: 6px;
      left: auto;
      position: absolute;
      right: 10px;
      -webkit-transform: scale(0.5);
          -ms-transform: scale(0.5);
              transform: scale(0.5);
      -webkit-transform-origin: right top;
          -ms-transform-origin: right top;
              transform-origin: right top;
      top: 10px;
      width: 8px; }
      @media (max-width: 768px) {
        .site-links__link--blank:before {
          right: 20px;
          -webkit-transform: scale(0.75);
              -ms-transform: scale(0.75);
                  transform: scale(0.75);
          top: 15px; } }
  .site-links__2blueline {
    text-align: left; }
    @media (max-width: 768px) {
      .site-links__2blueline {
        text-align: center;
        display: block; } }
    @media (max-width: 413px) {
      .site-links__2blueline {
        font-size: 62.5%; } }
    .site-links__2blueline--image {
      margin: -10px 20px -10px 0; }
      @media (max-width: 768px) {
        .site-links__2blueline--image {
          display: block;
          margin: 0 auto 5px; } }
      @media (max-width: 768px) {
        .site-links__2blueline--image {
          width: 112px !important; } }

.sidenav-easy-link {
  box-shadow: 0 0 0 1px #193b87 inset;
  color: #193b87;
  display: block;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  overflow: hidden;
  position: relative;
  text-align: center;
  text-decoration: none;
  padding-left: 35px;
  padding-right: 35px;
  padding-left: 35px;
  padding-right: 35px;
  background: white;
  border: solid 2px #ece7e5;
  margin: 2px;
  box-shadow: none; }
  .sidenav-easy-link + .sidenav-easy-link {
    margin-top: 20px; }
  .sidenav-easy-link,
  .sidenav-easy-link > span {
    display: block; }
    .sidenav-easy-link:before, .sidenav-easy-link:after,
    .sidenav-easy-link > span:before,
    .sidenav-easy-link > span:after {
      background: white;
      border: solid 1px #193b87;
      border-radius: 100%;
      content: "";
      display: block;
      height: 10px;
      position: absolute;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      width: 10px; }
  .sidenav-easy-link:before {
    left: 0;
    top: 0; }
  .sidenav-easy-link:after {
    left: 100%;
    top: 0; }
  .sidenav-easy-link > span {
    padding: 13px 0; }
    .sidenav-easy-link > span:before {
      left: 0;
      top: 100%; }
    .sidenav-easy-link > span:after {
      left: 100%;
      top: 100%; }
  .sidenav-easy-link > i {
    background: url(../img/common/arrow.svg) no-repeat center;
    background-size: contain;
    display: block;
    height: 11px;
    left: 20px;
    position: absolute;
    top: 50%;
    width: 6px;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%); }
  .sidenav-easy-link[target="_blank"] > i {
    background: url(../img/common/blank.png) no-repeat center;
    background-size: contain;
    height: 6px;
    left: auto;
    right: 10px;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    top: 10px;
    width: 8px; }
  .sidenav-easy-link > i {
    background: url(../img/common/arrow.svg) no-repeat center;
    background-size: contain;
    display: block;
    height: 11px;
    left: 20px;
    position: absolute;
    top: 50%;
    width: 6px;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%); }
  .sidenav-easy-link[target="_blank"] > i {
    background: url(../img/common/blank.png) no-repeat center;
    background-size: contain;
    height: 6px;
    left: auto;
    right: 10px;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    top: 10px;
    width: 8px; }
  .sidenav-easy-link, .sidenav-easy-link:hover, .sidenav-easy-link:focus, .sidenav-easy-link:active {
    outline: 1px solid white; }
  .sidenav-easy-link:before, .sidenav-easy-link:after,
  .sidenav-easy-link > span:before,
  .sidenav-easy-link > span:after {
    background: #ece7e5;
    border: none;
    height: 20px;
    width: 20px; }
  .sidenav-easy-link > span {
    padding-top: 23px;
    padding-bottom: 23px; }

.content-sidenav {
  list-style: none;
  margin: 0 0 10px;
  padding: 0; }
  .content-sidenav__link {
    color: black;
    display: block;
    font-size: 87.5%;
    padding: 5px 10px 5px 30px;
    position: relative;
    text-decoration: none;
    -webkit-transition: color 300ms ease-in-out;
    transition: color 300ms ease-in-out; }
    .content-sidenav__link:hover {
      color: #193b87; }
    .content-sidenav__link:before {
      background: url(../img/common/k-arrow.svg) no-repeat center;
      background-size: contain;
      content: '';
      display: block;
      height: 9px;
      left: 17px;
      position: absolute;
      top: 50%;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%);
      width: 4px; }

/**
 * 検査内容 カラーサンプル
 */
.sample-ketsueki {
  border-radius: 100%;
  display: inline-block;
  height: 14px;
  margin: 0 5px 0 10px;
  vertical-align: middle;
  width: 14px;
  background-color: #cb558c; }

.color-ketsueki {
  display: inline-block;
  color: #cb558c; }
  @media (max-width: 768px) {
    .color-ketsueki {
      display: block; } }

.sample-x-ray {
  border-radius: 100%;
  display: inline-block;
  height: 14px;
  margin: 0 5px 0 10px;
  vertical-align: middle;
  width: 14px;
  background-color: #d58748; }

.color-x-ray {
  display: inline-block;
  color: #d58748; }
  @media (max-width: 768px) {
    .color-x-ray {
      display: block; } }

.sample-wave {
  border-radius: 100%;
  display: inline-block;
  height: 14px;
  margin: 0 5px 0 10px;
  vertical-align: middle;
  width: 14px;
  background-color: #64a640; }

.color-wave {
  display: inline-block;
  color: #64a640; }
  @media (max-width: 768px) {
    .color-wave {
      display: block; } }

.services {
  margin: 20px 0; }
  .services__item {
    background: #bac4db; }
    .services__item:before, .services__item:after {
      content: '';
      display: table; }
    .services__item:after {
      clear: both; }
    .services__item + .services__item {
      margin-top: 10px; }
  .services__label {
    display: block;
    padding: 18px 20px;
    overflow: hidden; }
    .services__label:hover {
      cursor: pointer; }
  .services__name {
    font-weight: 700; }
    .services__name, .services__name > a {
      color: #193b87;
      text-decoration: none; }
  .services__price {
    color: #193b87;
    float: right; }
  .services__subitem {
    border: solid 1px white;
    clear: both;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 20px 20px; }
    @media (max-width: 768px) {
      .services__subitem {
        display: block; } }
    .services__subitem + .services__subitem {
      margin-top: 20px; }
    .services__subitem--opt {
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      background: #f2f3f8;
      color: #193b87;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      font-size: 87.5%;
      font-weight: 700;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 110px; }
      @media (max-width: 768px) {
        .services__subitem--opt {
          display: block;
          padding: 5px 20px;
          width: auto; } }
    .services__subitem > .services__label {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }

.s-searchform {
  margin: 40px 0; }
  .s-searchform__title {
    border-bottom: solid 1px #193b87;
    color: #193b87;
    font: normal normal 112.5% "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Sawarabi Mincho", 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
    margin: 0 0 20px;
    padding-bottom: 5px; }
  .s-searchform__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .s-searchform__input {
    background: #f2f3f8;
    border-right: solid 1px white;
    color: #193b87;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 10px; }
    .s-searchform__input:focus {
      outline: none; }
  .s-searchform__submit {
    background: #bac4db;
    position: relative;
    width: 38px; }
    .s-searchform__submit:focus {
      outline: none; }
    .s-searchform__submit:before {
      background: url(../img/content/i-search.png) no-repeat center;
      background-size: contain;
      content: '';
      display: block;
      height: 22px;
      width: 21px;
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }

.term {
  border: solid 1px #bac4db;
  margin-top: 50px;
  max-height: 300px;
  overflow-y: scroll; }
  .term__body {
    padding: 30px; }
    .term__body > p {
      font-size: 87.5%; }
  .term__title {
    color: #193b87;
    font-size: 100%;
    font-weight: 700;
    margin: 0 0 1em;
    text-align: center; }

/* ==============================================
 * UTILITY
 * =========================================== */
.clear {
  clear: both; }

.clearfix:before, .clearfix:after {
  content: '';
  display: table; }

.clearfix:after {
  clear: both; }

@media (max-width: 413px) {
  .xs__hide {
    display: none; } }

@media (min-width: 414px) {
  .xs__show {
    display: none; } }

@media (max-width: 480px) {
  .sm__hide {
    display: none; } }

@media (min-width: 481px) {
  .sm__show {
    display: none; } }

@media (max-width: 768px) {
  .md__hide {
    display: none; } }

@media (min-width: 769px) {
  .md__show {
    display: none; } }

@media (max-width: 992px) {
  .lg__hide {
    display: none; } }

@media (min-width: 993px) {
  .lg__show {
    display: none; } }

.image {
  max-width: 100%; }

.inline-block {
  display: inline-block; }

.margin__rm--all {
  margin: 0 !important; }

.margin__rm--top {
  margin-top: 0 !important; }

.margin__rm--left {
  margin-left: 0 !important; }

.margin__rm--right {
  margin-right: 0 !important; }

.margin__rm--bottom {
  margin-bottom: 0 !important; }

.pull__left {
  float: left;
  margin-right: 30px;
  margin-bottom: 30px; }
  @media (max-width: 768px) {
    .pull__left {
      display: block;
      float: none;
      margin: 0 auto 20px; } }

.pull__center {
  display: block;
  margin: 15px auto; }
  @media (max-width: 768px) {
    .pull__center {
      float: none;
      margin: 0 auto 20px; } }

.pull__right {
  float: right;
  margin-left: 30px;
  margin-bottom: 30px; }
  @media (max-width: 768px) {
    .pull__right {
      display: block;
      float: none;
      margin: 0 auto 20px; } }

.text__right {
  text-align: right; }

.text__center {
  text-align: center; }

.text__nowrap {
  white-space: nowrap; }

.text__small, .text__note, .text__note--black, .text__comments {
  font-size: 87.5% !important;
  margin: .5em 0 !important; }

.text__note, .text__note--black {
  color: #520202;
  margin: .5em 0 !important;
  padding-left: 1em;
  position: relative; }
  .text__note:before, .text__note--black:before {
    content: '※';
    display: block;
    position: absolute;
    top: 0;
    left: 0; }
  .text__note--black {
    color: black; }

.text__comments {
  color: #520202;
  margin: .5em 0 !important; }

.text__bold {
  font-weight: 700; }

.text__transparentize {
  color: #747474; }

.text__danger {
  color: #520202; }

.text__accent {
  color: #193b87; }

.link__image {
  display: inline-block;
  margin: 15px 0; }
  .link__image[target="_blank"]:after {
    content: none !important;
    padding-right: 0 !important; }

.u-summary {
  font-size: 87.5% !important;
  margin: .5em 0 2em !important; }

.d-inline-block {
  display: inline-block; }
  .d-inline-block.bg-blue {
    background-color: #171c61;
    color: white;
    padding: 0 5px; }

.arrow:before {
  border-color: transparent;
  border-style: solid;
  border-width: 20px 20px 0;
  border-top-color: #193b87;
  content: '';
  display: block;
  height: 0;
  margin: 0 auto;
  width: 0; }

.subpage-link-block {
  border: 1px solid #193b87;
  border-radius: 20px; }

.subpage-checkbox {
  display: none; }

.acd-label {
  position: relative;
  color: #193b87;
  display: block;
  line-height: 1;
  padding: 10px 15px 10px; }

.acd-label::before {
  content: "＋";
  color: #193b87;
  margin-right: 10px; }

.subpage-link {
  height: 0;
  opacity: 0;
  padding: 0 10px;
  -webkit-transition: .3s;
  transition: .3s;
  visibility: hidden;
  list-style-type: none;
  font-size: 14px;
  display: none; }

.subpage-checkbox:checked + .acd-label + .subpage-link {
  height: auto;
  opacity: 1;
  padding: 5px 10px 20px;
  visibility: visible;
  display: block; }

.subpage-checkbox:checked + .acd-label::before {
  content: "ー"; }

.l-page-body .subpage-link ul {
  margin: 0 20px 0 29px;
  padding-left: 20px; }

.subpage-link li {
  position: relative;
  list-style-type: none;
  margin-bottom: 8px; }

.subpage-link li:last-child {
  margin-bottom: 0; }

.subpage-link a {
  color: #000; }

.subpage-link a::after {
  display: block;
  content: '';
  position: absolute;
  top: 11px;
  left: -1em;
  width: 6px;
  height: 6px;
  border-right: 2px solid #193b87;
  border-bottom: 2px solid #193b87;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }
