@charset "UTF-8";
/*
Theme Name: SCVS for WP
Description: WordPressテンプレート「SCVS for WP」
Author: 日進情報システム.
Version: 1.0.0
*/
/*! sanitize.css v3.0.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */
audio:not([controls]) {
  display: none;
}

button {
  overflow: visible;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
}

details {
  display: block;
}

html {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

input {
  border-radius: 0;
}

input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
}

input[type=number] {
  width: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
       appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

main {
  display: block;
}

pre {
  overflow: auto;
}

progress {
  display: inline-block;
}

small {
  font-size: 75%;
}

summary {
  display: block;
}

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

template {
  display: none;
}

textarea {
  overflow: auto;
}

[hidden] {
  display: none;
}

*,
:after,
:before {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

* {
  font-size: inherit;
}

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

*,
:after,
:before {
  border-style: solid;
  border-width: 0;
}

* {
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
}

:root {
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: default;
  text-rendering: optimizeLegibility;
}

a {
  text-decoration: none;
}

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

button,
input,
select,
textarea {
  background-color: transparent;
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
}

[type=button],
[type=date],
[type=datetime-local],
[type=datetime],
[type=email],
[type=month],
[type=number],
[type=password],
[type=reset],
[type=search],
[type=submit],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
button,
select,
textarea {
  min-height: 1.5em;
}

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

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

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

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

textarea {
  resize: vertical;
}

::-moz-selection {
  background-color: #b3d4fc;
  color: #4c2b03;
  text-shadow: none;
}

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

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

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

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

[hidden][aria-hidden=false]:focus {
  clip: auto;
}


/*************************************
MIXINS
*************************************/
:root {
  --basevw: calc(100vw / 1280 * 1);
}

/*
//------------------------------------------------
//	Color Setting
//------------------------------------------------
*/
/*
//------------------------------------------------
//	Font Setting
//------------------------------------------------
*/
@font-face {
  font-display: swap;
  font-weight: 400;
  font-style: normal;
  font-family: "Noto Sans JP";
  src: url("css/fonts/NotoSansJP-Regular.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-weight: 500;
  font-style: normal;
  font-family: "Noto Sans JP";
  src: url("css/fonts/NotoSansJP-Medium.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-weight: 600;
  font-style: normal;
  font-family: "Noto Sans JP";
  src: url("css/fonts/NotoSansJP-SemiBold.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-weight: 700;
  font-style: normal;
  font-family: "Noto Sans JP";
  src: url("css/fonts/NotoSansJP-Bold.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-weight: 900;
  font-style: normal;
  font-family: "Noto Sans JP";
  src: url("css/fonts/NotoSansJP-Black.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-weight: 400;
  font-style: normal;
  font-family: "Abril Fatface";
  src: url("css/fonts/AbrilFatface-Regular.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-weight: 500;
  font-style: normal;
  font-family: "Jost";
  src: url("css/fonts/Jost-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-weight: 700;
  font-style: normal;
  font-family: "Oswald";
  src: url("css/fonts/Oswald-Bold.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-weight: 400;
  font-style: normal;
  font-family: "Zen";
  src: url("css/fonts/ZenOldMincho-Regular.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-weight: 700;
  font-style: normal;
  font-family: "Zen";
  src: url("css/fonts/ZenOldMincho-Bold.ttf") format("truetype");
}
.alpha {
  font-family: "Abril Fatface", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.jost {
  font-family: "Jost", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.oswald {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.mincho {
  font-family: "Zen", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.mincho.fwb {
  font-weight: 700;
}

/*
//------------------------------------------------
//	Base Setting
//------------------------------------------------
*/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

html {
  font-size: 62.5%;
  line-height: 1.6;
  font-family: "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  min-width: 100%;
  width: 100%;
  background: #fff;
}

body {
  color: #333;
  font-size: 1.8rem;
  overflow: hidden;
}

.clearfix:after {
  display: block;
  content: "";
  clear: both;
}

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

a {
  color: #333;
  text-decoration: none;
  -webkit-transition: all ease-in-out 0.2s;
  transition: all ease-in-out 0.2s;
}

a img {
  -webkit-transition: all ease-in-out 0.4s;
  transition: all ease-in-out 0.4s;
}

a:hover {
  text-decoration: none;
}

.table,
.tbl {
  display: table;
  width: 100%;
}

.table .th,
.table .td,
.tbl .tblh,
.tbl .tbld {
  display: table-cell;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
  -o-flex-flow: row nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: stretch;
      align-content: stretch;
}

.wrapper {
  width: 100%;
  max-width: 95%;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}

.wide {
  width: 100%;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.inner {
  width: 100%;
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.min {
  width: 100%;
  max-width: 970px;
  margin-left: auto;
  margin-right: auto;
}

.micro {
  width: 100%;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.minimal {
  width: 100%;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

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

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

.mgb05em {
  margin-bottom: 0.5em;
}

.mgb1em {
  margin-bottom: 1em;
}

.mgb2em {
  margin-bottom: 2em;
}

.mgb3em {
  margin-bottom: 3em;
}

.mgb4em {
  margin-bottom: 4em;
}

.mgb5em {
  margin-bottom: 5em;
}

.mgb10em {
  margin-bottom: 10em;
}

.fwb {
  font-weight: 700;
}

.btn {
  display: inline-block;
  background: #DC4D4D;
  line-height: 1;
  padding: 1em 3em;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 295px;
  text-align: center;
  border: #DC4D4D 1px solid;
  font-size: 2rem;
  color: #fff;
  border-radius: 5px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.36) 0 0 5px;
          box-shadow: rgba(0, 0, 0, 0.36) 0 0 5px;
}
.btn:hover {
  background: #2E4A68;
  border-color: #2E4A68;
}
.btn.light {
  background: #fff;
}
.btn::before {
  position: absolute;
  right: 1.5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 4px;
  height: 6px;
  background: url(images/chevron-right.png) no-repeat 0 0;
  background-size: cover;
  content: "";
}

.more-inline {
  margin-top: 1.5em;
}

.btn-inline {
  display: inline-block;
  text-align: center;
  padding: 0.7em 3em;
  background: #1C67AD;
  color: #fff;
  border-radius: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: 700;
  position: relative;
}
.btn-inline:hover {
  background: #DC4D4D;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

.video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.gmap.low {
  padding-bottom: 36.25%;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.scpd {
  padding: 5em 0;
}

p {
  text-align: justify;
  text-justify: distribute;
}

table {
  width: 100%;
  background: #fff;
}

.content-left {
  float: left;
}

.content-right {
  float: right;
}

.easingWrap .easingFade {
  -webkit-transform: translateY(25px);
  transform: translateY(25px);
  opacity: 0;
  -webkit-transition: all 1.5s;
  transition: all 1.5s;
}
.easingWrap .easingFade.on {
  opacity: 1;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
  transform: matrix(1, 0, 0, 1, 0, 0);
}
.easingWrap .easingImg {
  position: relative;
  overflow: hidden;
}
.easingWrap .easingImg::before, .easingWrap .easingImg::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.easingWrap .easingImg::before {
  -webkit-transition: 1.8s cubic-bezier(0.57, 0.15, 0.13, 0.97);
  transition: 1.8s cubic-bezier(0.57, 0.15, 0.13, 0.97);
  background: #1C67AD;
}
.easingWrap .easingImg.on::before, .easingWrap .easingImg.on::after {
  -webkit-transform: translateX(101%);
  transform: translateX(101%);
}

@-webkit-keyframes scrollOpen_r {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  20% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  21% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  100% {
    -webkit-transform: rotate(-15deg) translateX(-160%);
            transform: rotate(-15deg) translateX(-160%);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
}

@keyframes scrollOpen_r {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  20% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  21% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  100% {
    -webkit-transform: rotate(-15deg) translateX(-160%);
            transform: rotate(-15deg) translateX(-160%);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
}
@-webkit-keyframes scrollOpen_l {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  20% {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  21% {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  100% {
    -webkit-transform: rotate(15deg) translateX(160%);
            transform: rotate(15deg) translateX(160%);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
}
@keyframes scrollOpen_l {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  20% {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  21% {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  100% {
    -webkit-transform: rotate(15deg) translateX(160%);
            transform: rotate(15deg) translateX(160%);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
}
.marker-animation {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, transparent), color-stop(50%, #9EE1F2));
  background-image: linear-gradient(left, transparent 50%, #9EE1F2 50%);
  background-repeat: repeat-x;
  background-size: 200% 0.4em;
  background-position: 0 0.8em;
  -webkit-transition: all 2s ease;
  transition: all 2s ease;
  font-weight: bold;
  padding: 0 0.5em;
}
.marker-animation.active {
  background-position: -100% 0.8em;
}

/*-----------------------------------------------------------------
 Loading
----------------------------------------------------------------- */
body .l-transition {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9000;
}
body .l-transition::after {
  content: "";
  display: block;
  height: 200vh;
  width: 200vw;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
body.is-loading .l-transition::after {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
body.is-loaded .l-transition::after {
  -webkit-animation: transition-fadein 0.8s linear 0s 1 both;
          animation: transition-fadein 0.8s linear 0s 1 both;
}
body.is-leave .l-transition::after {
  -webkit-animation: transition-fadeout 0.8s linear 0.5s 1 both;
          animation: transition-fadeout 0.8s linear 0.5s 1 both;
}
body .l-transition .transition-wrap {
  position: relative;
  z-index: 9999;
  height: 100%;
  width: 100%;
}
body .l-transition .transition-logo {
  position: absolute;
  top: 55%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  width: 70%;
  max-width: 640px;
}
body.is-loaded .l-transition .transition-logo {
  -webkit-animation: logo-fadein 1s linear 0s 1 both;
          animation: logo-fadein 1s linear 0s 1 both;
}
body.is-leave .l-transition .transition-logo {
  -webkit-animation: logo-fadeout 1s linear 0.5s 1 both;
          animation: logo-fadeout 1s linear 0.5s 1 both;
}
body .l-transition .transition-anime {
  position: relative;
  margin: 8rem auto 0 auto;
  width: 6.7rem;
  height: 6.7rem;
}
body.is-loading .l-transition .transition-anime, body.is-leave .l-transition .transition-anime {
  opacity: 1;
  -webkit-transition: opacity 0.5s linear;
  transition: opacity 0.5s linear;
}
body.is-loaded .l-transition .transition-anime {
  opacity: 0;
}
body .l-transition .transition-anime-logo {
  width: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
body .l-transition .transition-anime-img {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
body.is-loading .l-transition .transition-anime-img img {
  -webkit-animation: loadingimg 0.5s linear infinite;
          animation: loadingimg 0.5s linear infinite;
}

@-webkit-keyframes transition-fadein {
  0% {
    -webkit-transform: skewX(0) translate(0, 0);
            transform: skewX(0) translate(0, 0);
  }
  10% {
    -webkit-transform: skewX(-10deg) translate(10%, 0);
            transform: skewX(-10deg) translate(10%, 0);
  }
  80% {
    -webkit-transform: skewX(-5deg) translate(80%, 0);
            transform: skewX(-5deg) translate(80%, 0);
  }
  100% {
    -webkit-transform: skewX(0) translate(100%, 0);
            transform: skewX(0) translate(100%, 0);
  }
}

@keyframes transition-fadein {
  0% {
    -webkit-transform: skewX(0) translate(0, 0);
            transform: skewX(0) translate(0, 0);
  }
  10% {
    -webkit-transform: skewX(-10deg) translate(10%, 0);
            transform: skewX(-10deg) translate(10%, 0);
  }
  80% {
    -webkit-transform: skewX(-5deg) translate(80%, 0);
            transform: skewX(-5deg) translate(80%, 0);
  }
  100% {
    -webkit-transform: skewX(0) translate(100%, 0);
            transform: skewX(0) translate(100%, 0);
  }
}
@-webkit-keyframes transition-fadeout {
  0% {
    -webkit-transform: skewX(0) translate(-100%, 0);
            transform: skewX(0) translate(-100%, 0);
  }
  10% {
    -webkit-transform: skewX(-10deg) translate(-90%, 0);
            transform: skewX(-10deg) translate(-90%, 0);
  }
  80% {
    -webkit-transform: skewX(-5deg) translate(-20%, 0);
            transform: skewX(-5deg) translate(-20%, 0);
  }
  100% {
    -webkit-transform: skewX(0) translate(0, 0);
            transform: skewX(0) translate(0, 0);
  }
}
@keyframes transition-fadeout {
  0% {
    -webkit-transform: skewX(0) translate(-100%, 0);
            transform: skewX(0) translate(-100%, 0);
  }
  10% {
    -webkit-transform: skewX(-10deg) translate(-90%, 0);
            transform: skewX(-10deg) translate(-90%, 0);
  }
  80% {
    -webkit-transform: skewX(-5deg) translate(-20%, 0);
            transform: skewX(-5deg) translate(-20%, 0);
  }
  100% {
    -webkit-transform: skewX(0) translate(0, 0);
            transform: skewX(0) translate(0, 0);
  }
}
@-webkit-keyframes logo-fadein {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes logo-fadein {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes logo-fadeout {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes logo-fadeout {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes loadingimg {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes loadingimg {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@media screen and (max-width: 896px) {
  body .l-transition .transition-logo {
    width: 90%;
    min-width: inherit;
  }
}
@media screen and (max-width: 480px) {
  body .l-transition .transition-anime {
    width: 10rem;
    height: 10rem;
    margin-top: 3.8rem;
  }
  body .l-transition .transition-anime-logo {
    width: 5rem;
  }
}
.pageCover {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 21;
}
.pageCover .bges span {
  display: block;
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.4);
  -webkit-transition: 0.4s cubic-bezier(0.57, 0.15, 0.13, 0.97) 0.1s;
  transition: 0.4s cubic-bezier(0.57, 0.15, 0.13, 0.97) 0.1s;
}
.pageCover .bges span.bg-2 {
  -webkit-transition: 0.4s cubic-bezier(0.57, 0.15, 0.13, 0.97);
  transition: 0.4s cubic-bezier(0.57, 0.15, 0.13, 0.97);
  background: #fff;
}
.pageCover.show {
  visibility: hidden;
}
.pageCover.show .bges span {
  -webkit-transform: translateX(101%);
  transform: translateX(101%);
}

#side-banner {
  position: fixed;
  right: -1px;
  bottom: 10px;
  display: block;
  -webkit-transition: all ease-in-out 0.2s;
  transition: all ease-in-out 0.2s;
}
#side-banner a img {
  -webkit-transition: all ease-in-out 0.2s;
  transition: all ease-in-out 0.2s;
}
#side-banner a:hover img {
  opacity: 0.75;
}
#side-banner.is_hide {
  display: none;
}

.h-menu_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 172px;
  height: 80px;
  -ms-flex-preferred-size: 172px;
      flex-basis: 172px;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1001;
  cursor: pointer;
  background: transparent;
  -webkit-transition: background 1s;
  transition: background 1s;
}
.h-menu_box > span {
  line-height: 1;
}
.h-menu_box > span::before {
  content: "Menu";
  font-size: 1.3rem;
  margin-right: 1.4rem;
  line-height: 20px;
  letter-spacing: 0.08em;
  color: #fff;
}
.h-menu_box > div {
  position: relative;
  width: 22px;
  height: 6px;
}
.h-menu_box > div > span {
  display: block;
  height: 1px;
  background: #fff;
  position: absolute;
  width: 100%;
  left: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.h-menu_box > div > span:nth-child(1) {
  top: 0;
}
.h-menu_box > div > span:nth-child(2) {
  bottom: 0;
}
.h-menu_box.nav_close {
  height: 80px;
  border-color: #1C67AD;
  z-index: 1001;
  background: #1C67AD;
  -webkit-transition: background 1s;
  transition: background 1s;
}
.h-menu_box.nav_close > span::before {
  color: #fff;
  content: "Close";
}
.h-menu_box.nav_close > div {
  height: 22px;
}
.h-menu_box.nav_close > div > span {
  background: #fff;
}
.h-menu_box.nav_close > div > span:nth-child(1) {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  top: 11px;
}
.h-menu_box.nav_close > div > span:nth-child(2) {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  bottom: 10px;
}
.h-menu_box.is_fixed > span::before {
  color: #fff;
}
.h-menu_box.is_fixed > div > span {
  background: #fff;
}
.h-menu_box.is_fixed.nav_close > span::before {
  color: #fff;
}
.h-menu_box.is_fixed.nav_close > div > span {
  background: #fff;
}

.is-5 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 41.66667%;
}

.is-7 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 58.33333%;
}

.is-12 {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 100%;
}

.h-gnav {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 1000;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: translateY(-200vh);
          transform: translateY(-200vh);
  opacity: 0;
}
.h-gnav .global_navigation {
  padding: 80px 0 0;
  background: #f7f9fb;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  height: 100vh;
}
.h-gnav .global_navigation__inner {
  position: relative;
  width: 87.5%;
  max-width: 1432px;
  height: 90%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  overflow: auto;
}
.h-gnav .global_navigation__top {
  padding: 0px 0 55px;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
}
.h-gnav .global_navigation__top .is-5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.h-gnav .global_navigation__top .global_navigation__logo {
  width: 38.3%;
  max-width: 178px;
}
.h-gnav .global_navigation__top .global_navigation__logo img {
  width: 178px;
}
.h-gnav .global_navigation__top .global_navigation__info {
  margin-top: 3.2rem;
}
.h-gnav .global_navigation__top .global_navigation__info h3 {
  font-size: 1rem;
  opacity: 0.6;
}
.h-gnav .global_navigation__top .global_navigation__info p {
  font-size: 1.1rem;
  line-height: 16px;
}
.h-gnav .global_navigation__top .global_navigation__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.h-gnav .global_navigation__top .global_navigation__content .global_navigation__label {
  width: 45%;
  padding-right: 1em;
  margin-bottom: 2rem;
}
.h-gnav .global_navigation__top .global_navigation__content .global_navigation__label dt {
  margin-bottom: 1.5em;
  font-weight: 700;
}
.h-gnav .global_navigation__top .global_navigation__content .global_navigation__label dt a:hover {
  text-decoration: underline;
}
.h-gnav .global_navigation__top .global_navigation__content .global_navigation__label .mgbs {
  margin-bottom: 1.5em;
}
.h-gnav .global_navigation__btm {
  width: 100%;
  -ms-flex-preferred-size: 150px;
      flex-basis: 150px;
}
.h-gnav .global_navigation__btm .bn_contact {
  padding: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  border: 1px solid rgba(0, 9, 15, 0.1);
  border-width: 1px 0;
  height: 100%;
}
.h-gnav .global_navigation__btm .bn_contact span {
  font-size: 2.3rem;
  margin-right: 1em;
  -webkit-transition: 1s;
  transition: 1s;
  letter-spacing: 0.1em;
}
.h-gnav .global_navigation__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-preferred-size: 150px;
      flex-basis: 150px;
  background: #0A246A;
}
.h-gnav .global_navigation__footer .sns_link {
  width: 35px;
  height: 35px;
  margin: 0 5px;
}
.h-gnav .global_navigation .mgb {
  margin-bottom: 1.5em;
}
.h-gnav .global_navigation dd a:hover {
  text-decoration: underline;
}
.h-gnav .sns a {
  display: inline-block;
  width: 35px;
}

.nav_open .h-gnav {
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.c-dark {
  color: #1C67AD;
}

.c-light {
  color: #DC4D4D;
}

.bld {
  font-weight: 700 !important;
}

.global-topbar {
  background: #f5f7fa;
  border-bottom: 1px solid #e2e6ee;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.6rem;
  z-index: 99;
}

.global-topbar .topbar-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 6px 14px;
}

.top-links a {
  color: #334;
  text-decoration: none;
  padding: 0 10px;
  border-right: 1px solid #ddd;
}

.top-links a:last-child {
  border-right: none;
}

.top-links a.is-active {
  font-weight: 700;
  color: #0070c9;
  /* 現在の場所だけ強調 */
}

#top {
  position: fixed;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /*padding: 20px 67px;*/
  padding: 1em 1.5em;
  z-index: 99;
  left: 0;
  top: 39px;
  -webkit-transition: all ease-in-out 0.2s;
  transition: all ease-in-out 0.2s;
  background: #fff;
}
#top .flex {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-align-items: center;
  -moz-align-items: center;
  -o-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#top .flex .logo {
  width: 237px;
}
#top .flex .site-navi {
  margin-left: auto;
}
#top .flex .site-navi .parents {
  text-align: right;
}
#top .flex .site-navi .parents .parent {
  display: inline-block;
  position: relative;
}
#top .flex .site-navi .parents .parent:not(:last-child) {
  margin-right: 20px;
}
#top .flex .site-navi .parents .parent a {
  display: block;
  text-align: center;
}
#top .flex .site-navi .parents .parent a span {
  display: block;
}
#top .flex .site-navi .parents .parent a span.en {
  font-size: 1.4rem;
}
#top .flex .site-navi .parents .parent a span.ja {
  font-size: 1rem;
}
#top .flex .site-navi .parents .parent a:hover {
  opacity: 0.75;
}
#top .flex .site-navi .parents .parent .submenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  pointer-events: none;
  opacity: 0;
  z-index: 100;
  -webkit-transition: opacity 0.1s ease-out, -webkit-transform 0.4s ease-out;
  transition: opacity 0.1s ease-out, -webkit-transform 0.4s ease-out;
  transition: transform 0.4s ease-out, opacity 0.1s ease-out;
  transition: transform 0.4s ease-out, opacity 0.1s ease-out, -webkit-transform 0.4s ease-out;
  background-color: #fff;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
  -webkit-box-shadow: rgba(0, 0, 0, 0.25) 0 3px 11px 0;
          box-shadow: rgba(0, 0, 0, 0.25) 0 3px 11px 0;
  width: 250px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#top .flex .site-navi .parents .parent .submenu li a {
  text-align: left;
  padding: 1em;
  font-size: 1.4rem;
}
#top .flex .site-navi .parents .parent .submenu li a:hover {
  background: #1C67AD;
  color: #fff;
  opacity: 1;
}
#top .flex .site-navi .parents .parent.has-child > a {
  position: relative;
}
#top .flex .site-navi .parents .parent.has-child > a::after {
  position: absolute;
  width: 6px;
  height: 4px;
  bottom: -10px;
  right: 0;
  left: 0;
  margin: auto;
  background: url(images/chevron-bottom.webp) no-repeat 0 0;
  background-size: contain;
  content: "";
}
#top .flex .site-navi .parents .parent:hover .submenu {
  opacity: 1;
  pointer-events: all;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
#top .flex .site-navi .parents .styled {
  display: inline-block;
}
#top .flex .site-navi .parents .styled:not(:last-child) {
  margin-right: 0.5em;
}
#top .flex .site-navi .parents .styled a {
  display: block;
  text-align: center;
  width: 183px;
  height: 55px;
  line-height: 55px;
  background: #1C67AD;
  color: #fff;
  border-radius: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: 700;
  position: relative;
}
#top .flex .site-navi .parents .styled a span {
  position: relative;
}
#top .flex .site-navi .parents .styled a:hover {
  background: #2E4A68;
}
#top .flex .site-navi .parents .styled.--1 a {
  background: #DC4D4D;
}
#top .flex .site-navi .parents .styled.--1 a:hover {
  background: #2E4A68;
}
#top.is_fixed {
  /*padding: 1em 1.5em;*/
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

body {
  padding-top: 87px;
}

#hero {
  width: 100%;
  height: 700px;
  position: relative;
  background-color: #ccc;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
#hero .inner {
  height: 100%;
  position: relative;
}
#hero .form-box {
  position: absolute;
  top: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.85);
  -webkit-box-shadow: rgba(0, 0, 0, 0.36) 0 0 5px;
          box-shadow: rgba(0, 0, 0, 0.36) 0 0 5px;
  padding: 1em;
  max-width: 380px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#hero .form-box .form-ttl {
  text-align: center;
  font-weight: 600;
}
#hero .form-box .form-ttl span {
  display: inline-block;
  position: relative;
  padding-left: 30px;
  padding-right: 30px;
}
#hero .form-box .form-ttl span::before {
  position: absolute;
  width: 20px;
  height: 2px;
  top: calc(50% - 2px);
  left: 0;
  background: #333;
  content: "";
}
#hero .form-box .form-ttl span::after {
  position: absolute;
  width: 20px;
  height: 2px;
  top: calc(50% - 2px);
  right: 0;
  background: #333;
  content: "";
}

#contactform .ttl {
  font-weight: 600;
  margin-bottom: 5px;
}
#contactform .ttl .req {
  font-size: 1.2rem;
  display: inline-block;
  color: #fff;
  padding: 3px 5px;
  border-radius: 3px;
  background: #DC4D4D;
  margin-left: 5px;
}
#contactform .row {
  margin-bottom: 1.5em;
}
#contactform input[type=text],
#contactform input[type=email],
#contactform input[type=tel],
#contactform textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: 10px 15px;
  font-size: 1.6rem;
  background: #fff;
  border: #d0d0d0 1px solid;
  border-radius: 3px;
}
#contactform .selection-box {
  display: block;
  position: relative;
  background-color: #fff;
  background-position: center right;
  background-repeat: no-repeat;
  border: 1px solid #d0d0d0;
  cursor: pointer;
  display: block;
  margin: 10px 0;
  padding: 0 10px;
  outline: none;
  text-indent: 0.01px;
  text-overflow: "";
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 3px;
}
#contactform .selection-box::before, #contactform .selection-box::after {
  content: "";
  pointer-events: none;
  position: absolute;
}
#contactform .selection-box::before {
  z-index: 1;
  right: 20px;
  top: 3px;
  bottom: 0;
  height: 0;
  margin: auto;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid rgba(0, 0, 0, 0.2);
}
#contactform .selection-box::after {
  width: 48px;
  height: 46px;
  right: 0px;
  top: 0;
  border-left: 1px solid #d0d0d0;
}
#contactform .selection-box select {
  background: #fff;
  display: block;
  padding: 12px 0;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#contactform .selection-box select:focus {
  outline: none;
}
#contactform .selection-box.inline {
  display: inline-block;
  width: auto;
  min-width: 120px;
  margin-right: 5px;
  margin-left: 5px;
}
#contactform .btns {
  text-align: center;
}
#contactform .btns p {
  text-align: center;
}
#contactform input[type=submit] {
  display: block;
  padding: 15px 3em;
  font-size: 1.4rem;
  background: #1C67AD;
  color: #fff;
  cursor: pointer;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 3px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.36) 2px 2px 5px;
          box-shadow: rgba(0, 0, 0, 0.36) 2px 2px 5px;
}
#contactform span.wpcf7-not-valid-tip,
#contactform span.error {
  font-size: 1em;
  display: block;
  background: #ffb0af;
  border: 1px solid #ff7b79;
  color: #cc0000;
  left: 0;
  padding: 4px 10px;
  position: relative;
  top: 0;
  font-size: 1.4rem;
}
#contactform span.wpcf7-not-valid-tip:before,
#contactform span.error:before {
  content: "";
  background-image: url(images/error-arrow.png);
  background-position: top left;
  background-repeat: no-repeat;
  position: absolute;
  left: 14px;
  top: -6px;
  height: 6px;
  width: 16px;
}

.sec-header {
  margin-bottom: 3.5em;
}
.sec-header .sec-ttl {
  text-align: center;
  font-size: 3.2rem;
  font-weight: 600;
  margin-bottom: 1em;
}
.sec-header .sec-ttl span {
  font-size: 3.6rem;
}
.sec-header .sec-lead {
  text-align: center;
  font-weight: 600;
}

.more {
  text-align: center;
}

.md-strength .flex {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.md-strength .flex .txt {
  width: 48%;
}
.md-strength .flex .txt .row {
  padding-left: 80px;
  position: relative;
}
.md-strength .flex .txt .row::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: var(--bg-image);
  content: "";
}
.md-strength .flex .txt .row:not(:last-child) {
  margin-bottom: 1.5em;
}
.md-strength .flex .txt .row dt {
  font-size: 2.4rem;
  font-weight: 600;
}
.md-strength .flex .txt .row dd {
  font-weight: 600;
}
.md-strength .flex .thumb {
  width: 48%;
}
.md-strength .more {
  margin-top: 3.5em;
}

.bg-gray {
  background: #f7f7f7;
}

.section-margin {
  margin-bottom: 5em;
}

.md-styled-content .flex {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.md-styled-content .flex .thumb {
  width: 35%;
}
.md-styled-content .flex .txt {
  width: 60%;
}
.md-styled-content .flex .txt .sub {
  position: relative;
  font-weight: 600;
  padding-left: 40px;
  margin-bottom: 1em;
}
.md-styled-content .flex .txt .sub::before {
  position: absolute;
  width: 30px;
  height: 1px;
  background: #333;
  top: calc(50% - 1px);
  left: 0;
  content: "";
}
.md-styled-content .flex .txt .ttl {
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 1em;
}
.md-styled-content.reverse .thumb {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.md-styled-content.reverse .txt {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.md-testimonials .tab {
  list-style: none;
  text-align: center;
  border-bottom: #d0d0d0 1px solid;
  margin-bottom: 2.5em;
}
.md-testimonials .tab li {
  display: inline-block;
  margin: 0 0.2em;
}
.md-testimonials .tab li a {
  display: block;
  border: #d0d0d0 1px solid;
  border-bottom: none;
  text-align: center;
  padding: 1em 3.5em;
  font-weight: 600;
  background: #999;
  color: #fff;
}
.md-testimonials .tab li a.current {
  background: #1C67AD;
  color: #fff;
}
.md-testimonials .panels .panel:not(:first-child) {
  display: none;
}

.md-merit .flex {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.md-merit .flex .item {
  width: 31%;
  background: #2E4A68;
  color: #fff;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2em;
}
.md-merit .flex .item .icon {
  text-align: center;
  margin-bottom: 1.5em;
}
.md-merit .flex .item .icon img {
  max-width: 150px;
}
.md-merit .flex .item .ttl {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 1em;
  font-weight: 600;
}

ul.checked {
  list-style: none;
}
ul.checked li {
  position: relative;
  padding-left: 35px;
}
ul.checked li:not(:last-child) {
  margin-bottom: 1em;
}
ul.checked li::before {
  position: absolute;
  top: 3px;
  left: 0;
  width: 25px;
  height: 25px;
  background: url(images/icon_checked.svg) no-repeat 0 0;
  background-size: contain;
  content: "";
}

.md-faq:not(:last-child) {
  margin-bottom: 1em;
}
.md-faq dt {
  position: relative;
  font-size: 2.2rem;
  padding: 1em 3em 1em calc(1em + 53px + 10px);
  background: #E7EFF7;
  cursor: pointer;
}
.md-faq dt::before {
  position: absolute;
  width: 53px;
  height: 53px;
  line-height: 53px;
  text-align: center;
  color: #fff;
  border-radius: 50%;
  background: #1C67AD;
  top: 50%;
  left: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "Q";
  font-size: 2.4rem;
  font-family: "PT Serif", serif;
  /* 400, 700 */
  font-weight: 400;
}
.md-faq dt::after {
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 3.3rem;
  content: "＋";
}
.md-faq dt.active::after {
  content: "ー";
}
.md-faq dd {
  padding: 1.5em 1.5em 1.5em 5em;
  display: none;
}

.md-news {
  position: relative;
}
.md-news .flex {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-flow: row wrap;
  -o-flex-flow: row wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap;
}
.md-news .flex .box {
  display: block;
  width: 48.5%;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2em 2.5em 3.5em 2.5em;
  border: #fff 2px solid;
  margin-bottom: 2em;
}
.md-news .flex .box .meta {
  margin-bottom: 0.8em;
}
.md-news .flex .box .meta time,
.md-news .flex .box .meta span {
  display: inline-block;
}
.md-news .flex .box .meta time {
  font-size: 1.4rem;
  margin-right: 1em;
}
.md-news .flex .box .meta span {
  font-size: 1.2rem;
  color: #fff;
  line-height: 1;
  padding: 5px;
  background: #1C67AD;
}
.md-news .flex .box .ttl {
  font-weight: 700;
  margin-bottom: 1em;
}
.md-news .flex .box .excerpt {
  font-size: 1.4rem;
  color: #666666;
}
.md-news .flex .box:hover {
  border-color: #1C67AD;
}
.md-news .more {
  margin-top: 2.5em;
}

#site-footer {
  background: #1C67AD;
  color: #fff;
}
#site-footer .flex {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 3.5em;
}
#site-footer .flex .logo {
  width: 220px;
}
#site-footer .flex .logo .ttl {
  margin-bottom: 1.5em;
}
#site-footer .flex .logo .sns a {
  display: inline-block;
  width: 35px;
  color: #fff;
}
#site-footer .flex .logo .sns a:not(:last-child) {
  margin-right: 5px;
}
#site-footer .flex .logo .addr {
  font-size: 1.2rem;
  margin-bottom: 2em;
}
#site-footer .flex .map {
  width: 410px;
}
#site-footer .flex .rout {
  width: 246px;
  font-size: 1.4rem;
}
#site-footer .flex .rout .table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2em;
}
#site-footer .flex .rout .table .td {
  vertical-align: middle;
  line-height: 1;
}
#site-footer .flex .rout .table .td span {
  padding: 0.5em 1em;
  border: #333 1px solid;
  font-size: 1.4rem;
  display: inline-block;
}
#site-footer .flex .rout .table .td.car {
  font-size: 1.2rem;
  text-align: center;
}
#site-footer .flex .rout .table .td.alpha {
  font-size: 1.8rem;
  padding-left: 5px;
}
#site-footer .flex .nav ul li {
  line-height: 1;
}
#site-footer .flex .nav ul li:not(:last-child) {
  margin-bottom: 0.8em;
}
#site-footer .flex .nav ul li a {
  color: #fff;
}
#site-footer .flex .nav ul li a:hover {
  text-decoration: underline;
}
#site-footer .address {
  text-align: center;
  padding-top: 3em;
  border-top: #333 1px solid;
}
#site-footer .address address {
  font-size: 1.2rem;
  font-style: normal;
}

.breadcrumbs {
  width: 90%;
  margin: auto;
  padding-top: 1em;
}
.breadcrumbs ol {
  list-style: none;
  font-size: 1.4rem;
}
.breadcrumbs ol li {
  display: inline-block;
  position: relative;
}
.breadcrumbs ol li::after {
  content: "/";
  display: inline-block;
  margin: 0 1em;
}
.breadcrumbs ol li:last-child::after {
  display: none;
}
.breadcrumbs ol li a:hover {
  text-decoration: underline;
}

#sub-hero {
  height: 240px;
  position: relative;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
#sub-hero::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #2E4A68;
  mix-blend-mode: multiply;
  content: "";
}
#sub-hero .header-box {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 90%;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  font-size: 3.6rem;
  color: #fff;
}
#sub-hero.high {
  height: 500px;
}

.bg-light {
  background: #E7EFF7;
}

.md-testimonials-archives .flex {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-flow: row wrap;
  -o-flex-flow: row wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap;
}
.md-testimonials-archives .flex .item {
  width: 48%;
  margin-bottom: 1.5em;
}
.md-testimonials-archives .flex .item .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-align-items: center;
  -moz-align-items: center;
  -o-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: #d0d0d0 1px solid;
  padding: 8px;
  background: #fff;
}
.md-testimonials-archives .flex .item .box .thumb {
  width: 150px;
}
.md-testimonials-archives .flex .item .box .thumb img {
  width: 100%;
}
.md-testimonials-archives .flex .item .box .txt {
  width: calc(100% - 170px);
}
.md-testimonials-archives .flex .item .box .txt .ttl {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1em;
}
.md-testimonials-archives .flex .item .box .txt .term {
  display: inline-block;
  font-size: 1.2rem;
  padding: 5px 10px;
  background: #2E4A68;
  color: #fff;
  border-radius: 3px;
  margin-bottom: 1em;
}
.md-testimonials-archives .flex .item .box .txt time {
  display: block;
  font-size: 1.4rem;
}
.md-testimonials-archives .flex .item .box:hover {
  background: #E7EFF7;
  border-color: #1C67AD;
}

.wp-pagenavi {
  clear: both;
  text-align: center;
  margin-top: 3em;
}
.wp-pagenavi a,
.wp-pagenavi span {
  color: #333;
  background-color: #ccc;
  padding: 8px 15px;
  margin: 0 2px;
  white-space: nowrap;
  border-radius: 3px;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
  border: none;
}
.wp-pagenavi a:hover {
  color: #FFF;
  background-color: #2E4A68;
}
.wp-pagenavi span.current {
  color: #fff;
  background-color: #1C67AD;
  font-weight: bold;
}

#banner-bottom {
  margin-top: 3.5em;
}

.header-video {
  width: 100%;
  text-align: center;
  margin: auto;
  padding: 2% 2% 2% 2%;
  background: #333;
  margin-bottom: 3.5em;
}
.header-video video {
  width: 100%;
  max-width: 1170px;
}

.video-wrap {
  width: 100%;
  text-align: center;
  margin: auto;
  padding: 2% 2% 2% 2%;
  background: #333;
  margin-bottom: 3.5em;
}
.video-wrap video {
  width: 100%;
  max-width: 1170px;
}

#eyecatch {
  margin-bottom: 2.5em;
}

.testimonials-header {
  margin-bottom: 3em;
}
.testimonials-header .testimonials-ttl {
  font-size: 2.4rem;
  font-weight: 600;
}
.testimonials-header .meta {
  margin-top: 1em;
  font-weight: 600;
}

.header-cat {
  margin-bottom: 3em;
}
.header-cat time,
.header-cat .post-category {
  display: inline-block;
}
.header-cat time {
  margin-right: 1.5em;
}
.header-cat .post-category {
  text-decoration: underline;
  color: #1C67AD;
}
.header-cat .post-category:hover {
  text-decoration: none;
}

.testimonials-content .row {
  margin-bottom: 3em;
}
.testimonials-content .ttl {
  margin-bottom: 1.5em;
  border-bottom: #1C67AD 2px solid;
  padding-bottom: 8px;
  position: relative;
  font-size: 2rem;
  font-weight: 600;
  padding-left: 30px;
}
.testimonials-content .ttl::before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 20px;
  height: 20px;
  background: #E4EEE8;
  border: #1C67AD 3px solid;
  border-radius: 50%;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.testimonials-content .gallery {
  margin-bottom: 3em;
}
.testimonials-content .gallery .flex {
  -ms-flex-flow: row wrap;
  -o-flex-flow: row wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap;
}
.testimonials-content .gallery .flex .item {
  width: 23%;
  margin-right: 2.666666%;
  margin-bottom: 1.5em;
}
.testimonials-content .gallery .flex .item:nth-child(4n) {
  margin-right: 0;
}

.post-links {
  padding-top: 2.5em;
}
.post-links .flex {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 2rem;
}
.post-links .flex .current {
  text-align: center;
}
.post-links .flex .prev {
  display: inline-block;
  position: relative;
  padding-left: 25px;
}
.post-links .flex .prev::before {
  position: absolute;
  width: 10px;
  height: 16px;
  top: 50%;
  left: 0;
  background: url(images/icon_chevron_simple_red.svg) no-repeat 0 0;
  background-size: contain;
  -webkit-transform: translateY(-50%) rotateZ(180deg);
          transform: translateY(-50%) rotateZ(180deg);
  content: "";
}
.post-links .flex .prev.none::before {
  display: none;
}
.post-links .flex .next {
  display: inline-block;
  position: relative;
  padding-right: 25px;
}
.post-links .flex .next::before {
  position: absolute;
  width: 10px;
  height: 16px;
  top: 50%;
  right: 0;
  background: url(images/icon_chevron_simple_red.svg) no-repeat 0 0;
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
}
.post-links .flex .next.none::before {
  display: none;
}
.post-links .flex a:hover {
  text-decoration: underline;
}

.circle-header {
  margin-bottom: 1.5em;
  border-bottom: #1C67AD 2px solid;
  padding-bottom: 8px;
}
.circle-header .circle-ttl {
  position: relative;
  font-size: 2rem;
  font-weight: 600;
  padding-left: 30px;
}
.circle-header .circle-ttl::before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 20px;
  height: 20px;
  background: #E4EEE8;
  border: #1C67AD 3px solid;
  border-radius: 50%;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.md-faq-rows .faq-row:not(:last-child) {
  margin-bottom: 3.5em;
}

.formFlow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
  -o-flex-flow: row nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: stretch;
      align-content: stretch;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 3em;
  list-style: none;
}
.formFlow li {
  width: 32%;
  height: 60px;
  line-height: 60px;
  color: #fff;
  padding-right: 18px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #c4c4c4;
  text-align: center;
  border-top-right-radius: 60px;
  border-bottom-right-radius: 60px;
}
.formFlow li:first-child {
  background: #1C67AD;
}

.tel-num {
  margin-top: 2em;
}
.tel-num .num {
  font-size: 4.6rem;
  font-weight: 700;
  line-height: 1.3;
}
.tel-num .num a {
  color: #1C67AD;
}

.contact-top {
  margin-bottom: 3.5em;
}

.contact-middle {
  display: none;
  margin-bottom: 3.5em;
}

.mw_wp_form_confirm .formFlow li:first-child {
  background: #d4d4d4;
}
.mw_wp_form_confirm .formFlow li:nth-child(2) {
  background: #1C67AD;
}
.mw_wp_form_confirm .contact-top {
  display: none;
}
.mw_wp_form_confirm .contact-middle {
  display: block;
}
.mw_wp_form_confirm .contact-middle p {
  text-align: center;
}
.mw_wp_form_confirm #contactform .selection-box {
  background: none;
  border: none;
  padding: 0;
  cursor: default;
}
.mw_wp_form_confirm #contactform .selection-box::before, .mw_wp_form_confirm #contactform .selection-box::after {
  display: none;
}

.mw_wp_form_complete .formFlow li:first-child {
  background: #d4d4d4;
}
.mw_wp_form_complete .formFlow li:nth-child(2) {
  background: #d4d4d4;
}
.mw_wp_form_complete .formFlow li:last-child {
  background: #1C67AD;
}
.mw_wp_form_complete .contact-top {
  display: none;
}
.mw_wp_form_complete .contact-middle {
  display: none;
}
.mw_wp_form_complete .contact-bottom p {
  text-align: center;
}

#contactform .row {
  margin-bottom: 1.5em;
}
#contactform .ttl {
  color: #000;
  margin-bottom: 0.5em;
}
#contactform .ttl a {
  text-decoration: underline;
}
#contactform .sub {
  margin-bottom: 1em;
  font-size: 1.4rem;
  padding: 0.5em 1em;
  background: #f0f0f0;
}
#contactform .sub.mgt {
  margin-top: 1em;
}
#contactform .flex {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#contactform .flex .item {
  width: 48%;
}
#contactform .btns {
  text-align: center;
}
#contactform input[type=submit] {
  display: inline-block;
  padding: 15px 3em;
  background: #DC4D4D;
  color: #fff;
  cursor: pointer;
}
#contactform input[type=submit].backbutton {
  background: #666;
}
#contactform span.wpcf7-not-valid-tip,
#contactform span.error {
  font-size: 1em;
  display: block;
  background: #ffb0af;
  border: 1px solid #ff7b79;
  color: #cc0000;
  left: 0;
  padding: 4px 10px;
  position: relative;
  top: 0;
  font-size: 1.4rem;
}
#contactform span.wpcf7-not-valid-tip:before,
#contactform span.error:before {
  content: "";
  background-image: url(images/error-arrow.png);
  background-position: top left;
  background-repeat: no-repeat;
  position: absolute;
  left: 14px;
  top: -6px;
  height: 6px;
  width: 16px;
}
#contactform.border .row {
  padding-bottom: 2em;
  border-bottom: #ddd 1px dashed;
}
#contactform .half {
  width: 50%;
}
#contactform .narrow {
  width: 25%;
}
#contactform .row-box {
  padding: 1em;
  margin-bottom: 0.5em;
  background: #f8f8f8;
}
#contactform .row-box .flx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#contactform .row-box .flx .item {
  width: 35%;
  margin-right: 2%;
}
#contactform .row-box .flx .item:nth-child(3n) {
  margin-right: 0;
  width: 15%;
}
#contactform .table .th {
  width: 30px;
  text-align: center;
  vertical-align: middle;
}
#contactform .table .td {
  padding-left: 1.5em;
}
#contactform .pdn-row {
  padding: 1.5em;
  border: #d0d0d0 1px solid;
  margin-bottom: 2.5em;
  background: #eeffff;
  color: #1C67AD;
  font-weight: 400;
}
#contactform .md-timeline {
  margin-bottom: 4.5em;
}
#contactform ul.circle {
  font-size: 1.4rem;
  padding-left: 2.5em;
}
#contactform input[type=file] {
  font-size: 1.4rem;
}

span.req {
  display: inline-block;
  margin-left: 8px;
  color: red;
  font-size: 1.2rem;
}

.mwform-checkbox-field {
  line-height: 1;
  display: inline-block;
  padding: 5px 10px;
  border: #d0d0d0 3px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 250px;
  margin-top: 1em;
  margin-right: 10px;
  background: #fff;
}
.mwform-checkbox-field span {
  font-size: 1.4rem;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}

.form-box #contactform .row {
  margin-bottom: 1em;
}
.form-box #contactform input[type=text],
.form-box #contactform input[type=email],
.form-box #contactform input[type=tel],
.form-box #contactform textarea {
  padding: 5px 10px;
}

.sentry h1,
.sentry h2,
.sentry h3,
.sentry h4,
.sentry h5,
.sentry h6 {
  margin: 2.5em 0 1.5em;
}
.sentry p,
.sentry ul,
.sentry ol,
.sentry table,
.sentry dl,
.sentry blockquote {
  margin-bottom: 1.5em;
}
.sentry p,
.sentry ul,
.sentry ol {
  text-align: justify;
  text-justify: distribute;
}
.sentry blockquote p {
  text-align: left;
  text-justify: inherit;
  word-wrap: break-word;
}
.sentry h2 {
  padding: 0.5em 1em;
  background: #E7EFF7;
  font-size: 2rem;
}
.sentry h3 {
  padding-left: 1em;
  font-size: 1.8rem;
  border-left: #1C67AD 3px solid;
}
.sentry h4 {
  font-size: 1.8rem;
  padding-left: 1.2em;
  position: relative;
}
.sentry h4::before {
  position: absolute;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #1C67AD;
  left: 0;
  top: 9px;
  content: "";
}
.sentry h5 {
  font-size: 1.8rem;
}
.sentry blockquote {
  padding: 4em 1.5em 1.5em 1.5em;
  background: #f0f0f0;
  position: relative;
}
.sentry blockquote::before {
  position: absolute;
  left: 25px;
  top: 20px;
  content: "\f10d";
  line-height: 1;
  color: #1C67AD;
  font-size: 3rem;
  font-weight: bold;
  font-family: "Font Awesome 5 Free", FontAwesome;
}
.sentry blockquote p:last-child {
  margin-bottom: 0;
}
.sentry blockquote span {
  color: #989898;
}
.sentry blockquote span a {
  color: #989898;
  text-decoration: underline;
}
.sentry a {
  text-decoration: underline;
  word-break: break-all;
}
.sentry a.chr {
  position: relative;
}
.sentry a.chr::after {
  font-family: fontawesome;
  content: "\f105";
  text-decoration: none;
}
.sentry ul {
  list-style: disc;
  padding-left: 1.2em;
}
.sentry ul li {
  list-style-image: url(images/caret-right-solid.webp);
  padding-left: 0.5em;
}
.sentry ol {
  list-style: none;
  counter-reset: item;
}
.sentry ol li {
  position: relative;
  padding-left: 2.3em;
}
.sentry ol li::before {
  position: absolute;
  left: 0;
  top: 2px;
  counter-increment: item;
  content: counter(item);
  line-height: 1;
  padding: 3px 7px;
  border-radius: 3px;
  border: #1C67AD 1px solid;
  background: #E7EFF7;
}
.sentry ul li,
.sentry ol li {
  margin-bottom: 0.5em;
}
.sentry table {
  width: 100%;
  border-collapse: collapse;
}
.sentry table th,
.sentry table td {
  padding: 0.5em 1em;
  border: #DDDDDD 1px solid;
  text-align: left;
}
.sentry table th {
  background: #f7f7f7;
}
.sentry img {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  max-width: 100%;
  height: auto;
}
.sentry a:hover img {
  opacity: 0.7;
}
.sentry dl dt {
  font-weight: bold;
  padding: 1.5em 1.5em 1em 1.5em;
  background: #E7EFF7;
}
.sentry dl dd {
  padding: 0 1.5em 1.5em 3em;
  background: #E7EFF7;
}
.sentry dl dd:not(:last-child) {
  margin-bottom: 1.5em;
}
.sentry .alignleft {
  float: left;
  clear: left;
  margin: 0 1em 1.5em 0px;
}
.sentry img.aligncenter, .sentry img.centered, .sentry img.center {
  display: block;
  margin: 0 auto 1.5em;
  float: none;
  clear: both;
}
.sentry img.alignright {
  float: right;
  clear: right;
  margin: 0 0 1.5em 1em;
}

.simple-ttl {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
  margin-bottom: 2em;
}
.simple-ttl::after {
  display: block;
  width: 60px;
  height: 2px;
  background: #1C67AD;
  content: "";
  margin-left: auto;
  margin-right: auto;
  margin-top: 0.5em;
}

.service-area-wrap {
  background: #E7EFF7;
}

.area-list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  -o-flex-flow: row wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap;
}
.area-list:not(:last-child) {
  margin-bottom: 3.5em;
}
.area-list li {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 1em;
}
.area-list li:nth-child(3n) {
  margin-right: 0;
}
.area-list li a {
  display: block;
  background: #fff;
  border: #1C67AD 1px solid;
  border-radius: 3px;
  text-align: center;
  padding: 0.5em 1em;
  font-weight: 600;
}
.area-list li a:hover {
  background: #1C67AD;
  color: #fff;
}

.md-area-box-list .flex {
  -ms-flex-flow: row wrap;
  -o-flex-flow: row wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap;
}
.md-area-box-list .flex .item {
  width: 32%;
  margin-right: 2%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: #1C67AD 1px solid;
  border-radius: 5px;
  padding: 1.5em;
  background: #fff;
  margin-bottom: 1.5em;
}
.md-area-box-list .flex .item:nth-child(3n) {
  margin-right: 0;
}
.md-area-box-list .flex .item .area-name {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
}
.md-area-box-list .flex .item .area-num {
  text-align: center;
  font-weight: 900;
  font-size: 3.6rem;
}
.md-area-box-list .flex .item .area-num .sml {
  font-size: 1.6rem;
  font-weight: 600;
}

#sub-high-hero {
  height: calc(100vh - 95px);
  height: calc(100svh - 95px);
  max-height: 1080px;
  background-size: cover;
  background-position: center center;
  background-color: #999;
  background-repeat: no-repeat;
  position: relative;
}
#sub-high-hero .header-box {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
}
#sub-high-hero .header-box .page-ttl {
  text-align: center;
  font-size: 5rem;
  color: #fff;
  margin-bottom: 1em;
  font-weight: 600;
}
#sub-high-hero .header-box .page-txt {
  font-size: 2.4rem;
  color: #fff;
  text-align: center;
  font-weight: 600;
}
#sub-high-hero .header-box .more {
  margin-top: 3em;
}
#sub-high-hero.mask .header-box {
  padding: 2.5em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: rgba(255, 255, 255, 0.65);
}
#sub-high-hero.mask .header-box .page-ttl,
#sub-high-hero.mask .header-box .page-txt {
  color: #333;
}

.md-prd-slider .prd-slider .prd-slide {
  margin: 0 1em;
}
.md-prd-slider .prd-slider .prd-slide .thumb {
  text-align: center;
  margin-bottom: 1.5em;
}
.md-prd-slider .prd-slider .prd-slide .ttl {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1em;
}
.md-prd-slider .prd-slider .prd-slide table {
  background: none;
}
.md-prd-slider .prd-slider .prd-slide table th,
.md-prd-slider .prd-slider .prd-slide table td {
  padding: 7px 1em;
  border: #333 1px solid;
  font-size: 1.4rem;
}
.md-prd-slider .prd-slider .prd-slide table th {
  width: 100px;
}
.md-prd-slider .default_slick__prev,
.md-prd-slider .default_slick__next {
  position: absolute;
  top: 40%;
  -webkit-transform: translateY(-90%);
          transform: translateY(-90%);
  width: 70px;
  height: 70px;
  background-size: contain;
  background-position: 0 0;
  background-repeat: no-repeat;
  display: block;
  z-index: 4;
  cursor: pointer;
}
.md-prd-slider .default_slick__prev {
  background-image: url(images/icon_chevron_prev.svg);
  left: 3%;
}
.md-prd-slider .default_slick__next {
  background-image: url(images/icon_chevron_next.svg);
  right: 3%;
}

.md-example {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.md-example .left {
  width: 470px;
}
.md-example .right {
  width: 670px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  -o-flex-flow: row wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.md-example .right .item {
  width: 320px;
  margin-bottom: 1.5em;
}

.flow12 {
  margin: 0;
  padding: 0;
}
.flow12 > li {
  list-style-type: none;
  position: relative;
  padding-bottom: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.flow12 > li:nth-of-type(even)::after {
  content: "";
  position: absolute;
  left: 50px;
  top: 0;
  width: 0;
  height: 100%;
  border-left: 4px dotted #d4d4d4;
}
.flow12 > li:nth-of-type(odd)::before {
  content: "";
  position: absolute;
  left: 50px;
  top: -40px;
  width: 20%;
  height: 40px;
}
.flow12 > li:nth-of-type(odd)::after {
  content: "";
  position: absolute;
  left: 50px;
  top: 50px;
  width: 20%;
  height: calc(100% - 50px);
  border-left: 4px dotted #d4d4d4;
}
.flow12 > li:first-of-type::before, .flow12 > li:last-of-type::after {
  content: unset;
}
.flow12 > li dl {
  display: inline-block;
  vertical-align: top;
  width: calc(100% - 130px);
}
.flow12 > li .icon12 {
  display: inline-block;
  margin: 0;
  width: 100px;
  height: auto;
  margin-right: 20px;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
  font-size: 3.6rem;
  line-height: 100px;
  background: #1C67AD;
  border-radius: 100vh;
  position: relative;
  z-index: 1;
  color: #fff;
}
.flow12 > li dt {
  display: inline-block;
  margin: 1rem 0 0.5rem;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 600;
}
.flow12 > li dd {
  margin: 0;
  font-weight: normal;
  line-height: 2;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 960px) {
  .flow12 > li:nth-of-type(even) {
    margin-left: 20%;
    padding-top: 20px;
  }
  .flow12 > li:nth-of-type(odd)::after {
    border-bottom: 4px dotted #d4d4d4;
  }
  .flow12 > li:nth-of-type(odd)::before {
    border-top: 4px dotted #d4d4d4;
    border-left: 4px dotted #d4d4d4;
  }
  .flow12 > li:nth-of-type(even)::after {
    height: calc(100% - 40px);
  }
}
.pricing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pricing .plan {
  background-color: #fff;
  padding: 2.5rem;
  margin: 12px;
  border-radius: 5px;
  text-align: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  cursor: pointer;
}
.pricing .plan h2 {
  font-size: 22px;
  margin-bottom: 12px;
}
.pricing .plan .price {
  margin-bottom: 1em;
  font-size: 3rem;
  font-weight: 900;
}
.pricing .plan ul.features {
  list-style-type: none;
  text-align: left;
  margin-bottom: 2.5em;
}
.pricing .plan ul.features li {
  margin: 8px;
}
.pricing .plan button,
.pricing .plan .btn-grn {
  border: none;
  width: 100%;
  padding: 12px 35px;
  margin-top: 1rem;
  background-color: #DC4D4D;
  color: #fff;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1.6rem;
}
.pricing .plan.popular {
  border: 2px solid #DC4D4D;
  position: relative;
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
}
.pricing .plan.popular span {
  position: absolute;
  top: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #DC4D4D;
  color: #fff;
  padding: 4px 20px;
  font-size: 1.8rem;
  border-radius: 5px;
}
.pricing .plan:hover {
  -webkit-box-shadow: 5px 7px 67px -28px rgba(0, 0, 0, 0.37);
          box-shadow: 5px 7px 67px -28px rgba(0, 0, 0, 0.37);
}

#index-contact {
  background: #2E4A68;
  max-width: calc(100% - 100px);
  margin: 4em auto;
}
#index-contact .sec-header .sec-ttl {
  color: #fff;
}

.md-contact-box .flex {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.md-contact-box .flex .item {
  width: 49%;
}
.md-contact-box .flex .item .ttl {
  padding: 0.7em;
  background: #fff;
  margin-bottom: 1px;
  text-align: center;
  font-size: 1.8rem;
}
.md-contact-box .flex .item .txt {
  padding: 2em;
  text-align: center;
  background: #fff;
}
.md-contact-box .flex .item .txt .sub {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 3px;
}
.md-contact-box .flex .item .txt .num {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.single-header {
  padding: 15px 30px;
  font-weight: 700;
  margin-bottom: 1.5rem;
  border-left: 3px solid #1C67AD;
}
.single-header .cat {
  margin-bottom: 0.5em;
}
.single-header .cat a {
  padding: 4px 8px;
  font-weight: 400;
  background-color: #1C67AD;
  color: #fff;
  font-size: 1.2rem;
  border-radius: 3px;
}
.single-header .single-ttl {
  font-size: 2.4rem;
  margin-bottom: 0;
}
.single-header .single-time {
  color: #1c1d1e;
  font-weight: 400;
  letter-spacing: 1px;
  font-size: 1.2rem;
}

.md-filter {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 3em;
  position: relative;
  background: #E7EFF7;
}
.md-filter .item {
  text-align: left;
  padding: 3rem 4rem;
  width: 50%;
}
.md-filter .item .select {
  width: 100%;
}
.md-filter .item .select > div {
  display: table-cell;
  vertical-align: middle;
}
.md-filter .item .select .form-select {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  width: 100%;
  position: relative;
  border: solid 1px #EDEDED;
  background: #ffffff;
  font-size: 1.4rem;
  line-height: 1.7;
}
.md-filter .item .select .form-select .label {
  color: #7E7E7E;
  position: absolute;
  padding: 1rem 1rem;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.md-filter .item .select .form-select:before {
  position: absolute;
  top: 50%;
  right: 1rem;
  content: "";
  display: block;
  margin-top: -0.4rem;
  width: 6px;
  height: 4px;
  background: url(images/chevron-bottom.webp) no-repeat 0 0;
}
.md-filter .item .select .form-select select {
  display: block;
  width: 100%;
  height: 4rem;
  margin: 0;
  padding: 0 1rem;
  border: none;
  border-radius: 0;
  background: none;
  cursor: pointer;
  outline: none;
  font-size: 1.6rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.md-filter .item .select__ttl {
  width: 10rem;
}

#sub-hero-plus {
  width: 100%;
  position: relative;
}
#sub-hero-plus::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 470px;
  background: #1C67AD url(images/illust_bg_plus.svg) no-repeat center center;
  background-size: cover;
  content: "";
}
#sub-hero-plus .page-ttl {
  text-align: center;
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 2em;
  position: relative;
  padding-top: 3.5em;
  color: #fff;
}
#sub-hero-plus .page-ttl span {
  font-size: 4.2rem;
}

.header-box-plus {
  position: relative;
  width: 820px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  padding: 3.5em;
  border-radius: 10px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.36) 0 0 5px;
          box-shadow: rgba(0, 0, 0, 0.36) 0 0 5px;
}

#plus-form .lead {
  font-size: 2.8rem;
  text-align: center;
  font-weight: 600;
  margin-bottom: 1.5em;
}
#plus-form .form {
  margin-bottom: 3em;
  width: 442px;
  margin-left: auto;
  margin-right: auto;
}
#plus-form .form input[type=email] {
  width: 300px;
  height: 45px;
  line-height: 45px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 15px;
  background: #fff;
  border: #333 1px solid;
  border-right: none;
  display: inline-block;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  outline: none;
}
#plus-form .form input[type=submit] {
  display: inline-block;
  width: 142px;
  height: 45px;
  line-height: 45px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #DC4D4D;
  color: #fff;
  cursor: pointer;
  text-align: center;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
#plus-form .bottom {
  text-align: center;
}
#plus-form .wpcf7-not-valid-tip {
  position: absolute;
  bottom: -45px;
  left: 15px;
}

.feature-header {
  margin-bottom: 3.5em;
}
.feature-header .feature-ttl {
  text-align: center;
  font-size: 3.2rem;
  font-weight: 600;
}
.feature-header .feature-ttl::after {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 100px;
  height: 2px;
  background: #1C67AD;
  content: "";
  margin-top: 0.5em;
}
.feature-header .feature-txt {
  font-size: 2rem;
  text-align: center;
  font-weight: 600;
  margin-top: 2em;
}
.feature-header .feature-more {
  margin-top: 2.5em;
  text-align: center;
}

.md-features-example .flex {
  -ms-flex-flow: row wrap;
  -o-flex-flow: row wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap;
}
.md-features-example .flex .item {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 2.5em;
}
.md-features-example .flex .item:nth-child(3n) {
  margin-right: 0;
}
.md-features-example .flex .item .thumb {
  margin-bottom: 1.5em;
}
.md-features-example .flex .item .meta {
  margin-bottom: 1em;
  padding: 0 1em;
}
.md-features-example .flex .item .excerpt {
  padding: 0 1em;
}

.bg-dotted {
  background-color: #fff;
  background-image: radial-gradient(#fad4c2 1%, rgba(255, 255, 255, 0) 40%), radial-gradient(#fad4c2 1%, rgba(255, 255, 255, 0) 40%);
  background-position: 0 0, 3px 3px;
  background-size: 6px 6px;
  background-repeat: repeat;
}

.md-index-lead {
  position: relative;
}
.md-index-lead .thumbs {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2em;
}
.md-index-lead .thumbs .thumb {
  width: 33%;
  /*height: 400px;*/
  background: #999;
}
.md-index-lead .items {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.md-index-lead .items .item {
  width: 22%;
  background: #fff;
  -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 0 5px;
          box-shadow: rgba(0, 0, 0, 0.2) 0 0 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 6em 3em 2.5em 3em;
  position: relative;
}
.md-index-lead .items .item .item-heading {
  font-size: 2.4rem;
  text-align: center;
  font-weight: 500;
  color: #fff;
  --d: .8em;
  /* the depth */
  position: absolute;
  top: 20px;
  inset-inline: calc(-1 * var(--d));
  border-bottom: var(--d) solid #9D0A12;
  line-height: 1.8;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--d)), calc(100% - var(--d)) 100%, calc(100% - var(--d)) calc(100% - var(--d)), var(--d) calc(100% - var(--d)), var(--d) 100%, 0 calc(100% - var(--d)));
  background-color: #E2031C;
  /* the main color */
}
.md-index-lead .items .item .item-lead {
  font-size: 2rem;
  text-align: center;
  font-weight: 500;
}

.stitch-heading {
  text-align: center;
  font-size: 4.2rem;
  margin-bottom: 1em;
}
.stitch-heading::after {
  display: block;
  width: 100px;
  height: 2px;
  background: #1C67AD;
  margin-left: auto;
  margin-right: auto;
  content: "";
  margin-top: 0.7em;
}
.stitch-heading::before {
  display: block;
  width: 100px;
  height: 2px;
  background: #DC4D4D;
  margin-left: auto;
  margin-right: auto;
  content: "";
  margin-bottom: 0.7em;
}
.stitch-heading span {
  font-size: 2.8rem;
  display: block;
}

.md-inner-content {
  position: relative;
}
.md-inner-content .thumb {
  text-align: left;
  position: relative;
}
.md-inner-content .thumb .badge {
  position: absolute;
  width: 150px;
  height: 150px;
  background: url(images/badge.webp) no-repeat center center;
  background-size: cover;
  top: 1.5em;
  left: 1.5em;
}
.md-inner-content .thumb .badge span {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  font-style: italic;
  color: #fff;
}
.md-inner-content .thumb .badge.wing {
  background-image: url(images/badge2.webp);
}
.md-inner-content .thumb .badge.chateau {
  background-image: url(images/badge3.webp);
}
.md-inner-content .thumb .badge.log {
  background-image: url(images/badge4.webp);
}
.md-inner-content .thumb .tag {
  position: absolute;
  top: 2em;
  left: 2em;
}
.md-inner-content .thumb .tag span {
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 600;
  padding: 10px 1.5em 10px 2.8em;
  background: #e58fb2;
  color: #000;
  border-radius: 50px;
  position: relative;
}
.md-inner-content .thumb .tag span::before {
  position: absolute;
  top: 50%;
  left: 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 27px;
  height: 25px;
  background: url(images/icon_ticket.webp) no-repeat 0 0;
  background-size: contain;
  content: "";
}
.md-inner-content .box {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 2.5em 0 0 3em;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 447px;
}
.md-inner-content .box::before {
  position: absolute;
  font-size: 10rem;
  line-height: 1;
  color: #f0f0f0;
  text-align: left;
  font-family: "Abril Fatface", sans-serif;
  font-weight: 400;
  font-style: normal;
  content: attr(data-caption);
  top: 0.1em;
  right: 0.6em;
  text-transform: uppercase;
}
.md-inner-content .box .sub {
  font-size: 2.8rem;
  color: #1C67AD;
  font-weight: 700;
  margin-bottom: 5px;
  position: relative;
}
.md-inner-content .box .ttl {
  font-size: 3.9rem;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
}
.md-inner-content .box .ttl-2 {
  font-size: 3.9rem;
  color: #1C67AD;
  font-weight: 600;
  margin-bottom: 0.5em;
}
.md-inner-content .box .excerpt {
  margin-top: 1em;
  margin-bottom: 1em;
  position: relative;
}
.md-inner-content .box .btn-more {
  position: relative;
  color: #fff;
}
.md-inner-content .box.bg-gray {
  background: #F0F0F0;
}
.md-inner-content .box.bg-gray::before {
  color: #fff;
}
.md-inner-content .box.sml::before {
  top: 0.5em;
  font-size: 5.2rem;
}
.md-inner-content.reverse .thumb {
  text-align: right;
}
.md-inner-content.reverse .thumb .badge {
  left: inherit;
  right: 1.5em;
}
.md-inner-content.reverse .box {
  right: inherit;
  left: 0;
  padding: 2.5em 2em 0 0;
}
.md-inner-content.bottom {
  margin-bottom: 10em !important;
}
.md-inner-content.bottom .box {
  bottom: -7em;
}

.md-simple-styled {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-flow: row wrap;
  -o-flex-flow: row wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap;
}
.md-simple-styled .md-inner-content {
  width: 47.5%;
  margin-bottom: 3.5em;
}

/* ハンバーガー */
.sp-menu-btn {
  display: none;
  width: 30px;
  height: 24px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  cursor: pointer;
}

.sp-menu-btn span {
  display: block;
  height: 3px;
  background: #333;
  border-radius: 3px;
}

/* オーバーレイ一面 */
.sp-menu-overlay {
  position: fixed;
  top: 39px;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(255, 255, 255);
  display: none;
  z-index: 9999;
  padding: 25px 26px 70px 26px;
  overflow: auto;
}
.sp-menu-overlay .logo {
  margin-bottom: 2em;
}

/* 閉じる */
.sp-menu-close {
  font-size: 32px;
  text-align: right;
  cursor: pointer;
  margin-bottom: 30px;
}

/* リスト */
.sp-menu-list a {
  display: block;
  font-size: 20px;
  padding: 14px 0;
  border-bottom: 1px solid #eee;
}

.sp-menu-list .btn-red {
  margin-top: 30px;
  background: #DC4D4D;
  color: #fff;
  padding: 14px;
  text-align: center;
  border-radius: 6px;
}

.sp-menu-list .btn-blue {
  margin-top: 12px;
  background: #1C67AD;
  color: #fff;
  padding: 14px;
  text-align: center;
  border-radius: 6px;
}

.nursing-header {
  margin-bottom: 1.5em;
}
.nursing-header .nursing-header-logo {
  text-align: center;
}
.nursing-header .nursing-header-logo img {
  max-width: 500px;
}

.dotted-blue {
  background-color: #fff;
  background-image: radial-gradient(#fad4c2 1%, rgba(255, 255, 255, 0) 40%), radial-gradient(#fad4c2 1%, rgba(255, 255, 255, 0) 40%);
  background-position: 0 0, 3px 3px;
  background-size: 6px 6px;
  background-repeat: repeat;
}

#nursing-1 {
  position: relative;
}
#nursing-1::before {
  content: "";
  position: absolute;
  left: -10%;
  top: 40%;
  width: 130%;
  height: 180px;
  background: #f5b400;
  -webkit-transform: rotate(-12deg);
          transform: rotate(-12deg);
  z-index: -1;
}

.nursing-flex-content {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-align-items: center;
  -moz-align-items: center;
  -o-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.nursing-flex-content .flex-left {
  width: 47.5%;
}
.nursing-flex-content .flex-right {
  width: 47.5%;
}
.nursing-flex-content .nursing-flex-content-heading {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 1em;
}
.nursing-flex-content.baseline {
  -ms-align-items: flex-start;
  -moz-align-items: flex-start;
  -o-align-items: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

#nursing-2 .inner,
#nursing-3 .inner {
  overflow: hidden;
}

.border-heading {
  position: relative;
  text-align: center;
  margin-bottom: 1em;
}
.border-heading span {
  position: relative;
  display: inline-block;
  margin: 0 2.5em;
  padding: 0 1em;
  font-size: 3.2rem;
}
.border-heading span::before, .border-heading span::after {
  background-color: #333;
  position: absolute;
  top: 50%;
  content: "";
  width: 400%;
  height: 2px;
}
.border-heading span::before {
  left: 100%;
}
.border-heading span::after {
  right: 100%;
}
.border-heading span-ttl {
  font-size: 3.2rem;
}

.icon-heading {
  text-align: center;
  font-size: 3.6rem;
  font-weight: 700;
  margin-bottom: 1em;
}

.md-boxed-list ul {
  list-style: none;
}
.md-boxed-list ul li {
  padding: 0.5em 1em;
  background-color: #fff;
  border: #f5b400 2px solid;
  border-radius: 5px;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
}
.md-boxed-list ul li:not(:last-child) {
  margin-bottom: 0.5em;
}

.facility-message {
  max-width: 820px;
  margin: 80px auto;
  text-align: center;
  font-family: "Hiragino Sans", "Yu Gothic", sans-serif;
}

.facility-message .section-title {
  font-size: 2.8rem;
  font-weight: 800;
  margin-bottom: 2em;
  position: relative;
  display: inline-block;
}

.facility-message .section-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  margin: 10px auto 0;
  background: #e6a800;
  /* サイトの黄色寄せ */
}

/* —— リード文 —— */
.facility-message .lead {
  font-size: 3.2rem;
  margin-bottom: 1.5em;
  font-weight: 700;
  text-align: center;
}

/* —— 強調ボックス —— */
.facility-message .message-box {
  background: #fffaf0;
  border: 2px solid #f1c14b;
  border-radius: 14px;
  padding: 26px 18px;
  font-size: 2.4rem;
  line-height: 2;
  font-weight: bold;
}

/* キーワード強調（強くしすぎない） */
.facility-message .message-box img {
  max-width: 500px;
}

.md-box-content .flex {
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.md-box-content .flex .box-content {
  width: 47.5%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2em;
  background-color: #fff;
  border-radius: 10px;
}
.md-box-content .flex .box-content .thumb {
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 1em;
}
.md-box-content .flex .box-content .thumb img {
  width: 100%;
}
.md-box-content .flex .box-content .ttl {
  font-size: 2.4rem;
  color: #DC4D4D;
  font-weight: 700;
  margin-bottom: 0.5em;
}

.faq {
  max-width: 640px;
  /* 横幅を締めて読みやすく */
  margin: 0;
  /* 画像横に置く前提なので余白少なめ */
}

.faq-item + .faq-item {
  margin-top: 26px;
}

/* ―― 質問（Q） ―― */
.faq-q {
  position: relative;
  font-size: 2rem;
  font-weight: 800;
  margin: 0 0 6px;
  padding-left: 34px;
  /* Qアイコンのスペース */
}

.faq-q::before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 2px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #ffd65a;
  color: #333;
  font-weight: 900;
  display: grid;
  place-items: center;
}

/* ―― 答え（A） ―― */
.faq-a {
  position: relative;
  padding: 10px 0 0 34px;
  line-height: 1.9;
  color: #444;
}

.faq-a::before {
  content: "A";
  position: absolute;
  left: 10px;
  top: 10px;
  color: #e6a800;
  font-weight: 900;
}

.cta-pop {
  position: relative;
  text-align: center;
}
.cta-pop::before {
  content: "";
  position: absolute;
  left: -10%;
  top: 40%;
  width: 130%;
  height: 180px;
  background: #f5b400;
  -webkit-transform: rotate(-12deg);
          transform: rotate(-12deg);
  z-index: -1;
}
.cta-pop .cta-pop__bubble {
  font-size: 2.4rem;
  margin-bottom: 1.5em;
  font-weight: 700;
}
.cta-pop .btn {
  font-weight: 700;
}

.steps {
  max-width: 900px;
  margin: 80px auto;
  font-family: "Yu Gothic", "Hiragino Sans", sans-serif;
}

.step {
  border: 2px solid #8b1f41;
  /* ワインレッド系 */
  border-radius: 10px;
  padding: 18px 20px 20px;
  margin-bottom: 40px;
  position: relative;
}

/* ▼下の三角（吹き出し） */
.step::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -14px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: #8b1f41 transparent transparent transparent;
}

.step-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}

.step-number {
  background: #8b1f41;
  color: #fff;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-weight: 900;
}

.step-title {
  font-size: 2rem;
  margin: 0;
}

.step-text {
  margin-top: 12px;
  line-height: 1.9;
}

.for-sp {
  display: none;
}

@media screen and (max-width: 1530px) {
  #top .flex .site-navi .parents {
    padding-right: calc(40px + 1.5em);
  }
  #top .flex .site-navi .parents .parent {
    display: none;
  }
  .sp-menu-btn {
    display: block;
    position: absolute;
    right: 1.5em;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .sp-menu-close {
    position: absolute;
    right: 0.8em;
    top: 0.6em;
  }
  .header nav {
    display: none;
  }
  .sp-menu-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 1170px) {
  .inner {
    max-width: 90%;
  }
  .md-index-lead .items {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
  }
  .md-index-lead .items .item {
    width: 45%;
  }
  .md-index-lead .items .item:nth-child(3), .md-index-lead .items .item:nth-child(4) {
    margin-top: 2.5em;
  }
}
@media screen and (max-width: 820px) {
  body {
    padding-top: 125px;
  }
  #hero {
    height: auto;
    /* 高さ固定を解除 */
    padding: 2.5em 0;
    /* 下に余白を確保 */
    /* フォームを絶対配置から解除して通常フローに戻す */
  }
  #hero .inner {
    height: auto;
  }
  #hero .form-box {
    position: static;
    max-width: 94%;
    margin: 0 auto;
    margin-top: 20px;
    padding: 20px;
    background: #ffffff;
    border-radius: 10px;
    -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  }
  /* 見出しの調整 */
  #contactform .form-ttl span {
    font-size: 1.4rem;
    padding-left: 20px;
    padding-right: 20px;
  }
  #contactform .form-ttl span::before, #contactform .form-ttl span::after {
    width: 15px;
  }
  /* 各行の余白を縮めてすっきり */
  #contactform .row {
    margin-bottom: 1.2em;
  }
  /* インプットはスマホ向けに少し大きく */
  #contactform input[type=text],
  #contactform input[type=email],
  #contactform input[type=tel],
  #contactform textarea,
  #contactform select {
    font-size: 1.6rem;
    padding: 12px 15px;
  }
  /* セレクトボックスの矢印位置調整 */
  #contactform .selection-box {
    padding-right: 40px;
  }
  #contactform .selection-box::before {
    right: 15px;
  }
  /* 送信ボタンは画面幅いっぱいに */
  #contactform input[type=submit] {
    width: 100%;
    font-size: 1.6rem;
    padding: 16px;
    border-radius: 6px;
  }
  #contactform .ttl {
    font-size: 1.6rem;
  }
  /* 全体を右上に表示したい場合は nav 内の最終並びに依存する */
  #top {
    padding: 1em;
  }
  #top .flex .logo {
    width: 150px;
  }
  #top .flex .site-navi nav ul.parents {
    padding-right: calc(30px + 1em);
  }
  #top .flex .site-navi nav ul.parents .styled {
    padding-top: 5px;
  }
  #top .flex .site-navi nav ul.parents .styled:not(:last-child) {
    margin-right: 0.25em;
  }
  #top .flex .site-navi nav ul.parents .styled span {
    display: none;
  }
  #top .flex .site-navi nav ul.parents .styled.--1 a {
    width: 40px;
    height: 40px;
    display: block;
    border-radius: 50%;
    background-size: 60%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #DC4D4D;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'><path d='M12 12c2.7 0 4.5-2 4.5-4.5S14.7 3 12 3 7.5 5 7.5 7.5 9.3 12 12 12zm0 2c-3 0-9 1.5-9 4.5V21h18v-2.5c0-3-6-4.5-9-4.5z'/><path d='M19 8v2h-2v2h-2V10h-2V8h2V6h2v2z'/></svg>");
  }
  #top .flex .site-navi nav ul.parents .styled.--2 a {
    width: 40px;
    height: 40px;
    display: block;
    border-radius: 50%;
    background-size: 60%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #1C67AD;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'><path d='M12 13 2 6.76V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6.76L12 13zm10-9H2l10 6 10-6z'/></svg>");
  }
  .sp-menu-btn {
    right: 1em;
  }
  .sp-menu-close {
    right: 0.55em;
    top: 0.53em;
  }
  .sp-menu-overlay {
    padding: 29px 26px 40px 18px;
  }
  .sp-menu-overlay .logo {
    max-width: 150px;
  }
  .md-index-lead .items .item {
    width: 100%;
  }
  .md-index-lead .items .item:not(:first-child) {
    margin-top: 2em !important;
  }
  .md-strength .flex {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
  }
  .md-strength .flex .txt {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .md-strength .flex .thumb {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 2em;
    text-align: center;
  }
  .md-styled-content .flex {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
  }
  .md-styled-content .flex .thumb {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 2em;
    text-align: center;
  }
  .md-styled-content .flex .txt {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .md-styled-content.reverse .flex .thumb {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .md-styled-content.reverse .flex .txt {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .md-merit .flex {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
    -ms-justify-content: space-between;
    -moz-justify-content: space-between;
    -o-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .md-merit .flex .item {
    width: 48.5%;
    padding: 1.5em 1em;
  }
  .md-merit .flex .item:not(:last-child) {
    margin-bottom: 1em;
  }
  .md-merit .flex .item .ttl {
    font-size: 2rem;
  }
  .md-merit .flex .item .icon img {
    max-width: 80px;
  }
  .md-merit .flex .item ul.checked {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
  .md-faq dt {
    font-size: 1.8rem;
    padding: 1em 3em 1em calc(1em + 40px + 10px);
  }
  .md-faq dt::before {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 1.8rem;
  }
  .md-faq dd {
    padding: 1em;
  }
  .md-news .flex .box {
    padding: 1.5em;
  }
  .md-contact-box .flex {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
  }
  .md-contact-box .flex .item {
    width: 100%;
  }
  .md-contact-box .flex .item:not(:last-child) {
    margin-bottom: 1em;
  }
  #site-footer .flex {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
  }
  #site-footer .flex .logo {
    width: 100%;
    margin-bottom: 1.5em;
  }
  #site-footer .flex .logo .ttl {
    text-align: center;
  }
  #site-footer .flex .logo .addr {
    text-align: center;
  }
  #site-footer .flex .logo .sns {
    text-align: center;
  }
  #site-footer .flex .map {
    width: 100%;
    margin-bottom: 1.5em;
  }
  #site-footer .flex .nav {
    width: 100%;
  }
  #site-footer .flex .nav ul li {
    text-align: center;
    margin-bottom: 0 !important;
  }
  #site-footer .flex .nav ul li:not(:last-child) {
    border-bottom: #aaa 1px dotted;
  }
  #site-footer .flex .nav ul li a {
    display: block;
    padding: 1em 0;
  }
  .nursing-header .nursing-header-logo img {
    max-width: 350px;
  }
  .nursing-flex-content {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
  }
  .nursing-flex-content .flex-left,
  .nursing-flex-content .flex-right {
    width: 100%;
  }
  .nursing-flex-content .flex-left {
    margin-bottom: 2em;
  }
  .border-heading span {
    font-size: 2.4rem;
  }
  .icon-heading {
    font-size: 2.8rem;
  }
  .md-boxed-list ul li {
    font-size: 1.8rem;
  }
  .facility-message .section-title {
    font-size: 2.2rem;
  }
  .facility-message .lead {
    font-size: 2.4rem;
  }
  .facility-message .message-box {
    font-size: 2.2rem;
  }
  .facility-message .message-box img {
    max-width: 350px;
  }
  .md-box-content .flex {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
  }
  .md-box-content .flex .box-content {
    width: 100%;
    padding: 1em;
  }
  .md-box-content .flex .box-content:not(:last-child) {
    margin-bottom: 1.5em;
  }
  #sub-hero-plus .page-ttl {
    font-size: 2rem;
  }
  #sub-hero-plus .page-ttl span {
    font-size: 2.4rem;
  }
  .header-box-plus {
    padding: 1.5em;
  }
  #plus-form .lead {
    font-size: 2.4rem;
    margin-bottom: 1em;
  }
  #plus-form .form {
    max-width: 90%;
    margin-bottom: 0;
    font-size: 1.6rem;
  }
  .header-box-plus {
    width: 100%;
  }
  .md-example {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .md-example .left,
  .md-example .right {
    width: 100%;
    text-align: center;
  }
  .md-example .right {
    margin-top: 20px;
  }
  .md-example .right .item {
    width: calc(50% - 10px);
  }
  #sub-hero.high {
    height: 200px;
  }
  .md-testimonials-archives .flex {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
  }
  .md-testimonials-archives .flex .item {
    width: 100%;
  }
  .md-testimonials-archives .flex .item:not(:last-child) {
    margin-bottom: 1.5em;
  }
}
@media screen and (max-width: 480px) {
  .for-sp {
    display: block;
  }
  .scpd {
    padding: 3em 0;
  }
  .sec-header {
    margin-bottom: 2em;
  }
  .stitch-heading {
    font-size: 2.4rem;
  }
  .stitch-heading span {
    font-size: 1.8rem;
  }
  .md-index-lead .items .item {
    padding: 5em 2em 1.5em 2em;
  }
  .sec-header .sec-ttl {
    font-size: 2rem;
  }
  .sec-header .sec-ttl span {
    font-size: 2.8rem;
  }
  .md-strength .flex .txt .row {
    padding-left: 60px;
  }
  .md-strength .flex .txt .row::before {
    width: 45px;
    height: 45px;
  }
  .md-styled-content .flex .txt .ttl {
    font-size: 2rem;
  }
  .md-merit .flex .item {
    width: 100%;
  }
  .md-news .flex .box {
    width: 100%;
  }
  .md-news .flex .box:not(:last-of-type) {
    margin-bottom: 1em;
  }
  .md-news .flex .box:last-of-type {
    margin-bottom: 1em;
  }
  .md-news .more {
    margin-top: 1.5em;
  }
  #index-contact {
    margin: 3em auto;
    max-width: 90%;
  }
  .md-contact-box .flex .item .txt {
    padding: 1.2em;
  }
  .btn {
    min-width: 100%;
  }
  .btn-inline {
    width: 100%;
  }
  .border-heading span {
    margin: 0 1.5em;
    font-size: 1.8rem;
  }
  .icon-heading {
    font-size: 2.4rem;
  }
  .facility-message .section-title {
    font-size: 1.8rem;
  }
  .facility-message .lead {
    font-size: 2rem;
  }
  .facility-message .message-box {
    font-size: 1.8rem;
  }
  .facility-message .message-box img {
    max-width: 100%;
  }
  .md-box-content .flex .box-content .ttl {
    font-size: 2rem;
  }
  .steps {
    margin-top: 40px;
  }
  .step {
    padding: 14px 14px 16px;
    margin-bottom: 26px;
  }
  .step::after {
    bottom: -10px;
    border-width: 10px 8px 0 8px;
  }
  .step-header {
    gap: 8px;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .step-number {
    width: 22px;
    height: 22px;
    font-size: 0.8rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    line-height: 1;
  }
  .step-title {
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .step-text {
    line-height: 1.7;
    margin-top: 10px;
    font-size: 1.6rem;
  }
  /* CTA（問い合わせ） */
  .cta-pop {
    margin: 50px 0 70px;
  }
  .cta-pop__bubble {
    font-size: 1.05rem;
    padding: 14px 16px;
  }
  .cta-pop__bubble::after {
    bottom: -12px;
  }
  .cta-pop .btn {
    display: block;
    width: 100%;
    max-width: 340px;
    margin: 22px auto 0;
    text-align: center;
    padding: 12px 0;
  }
  .cta-pop .cta-pop__bubble {
    font-size: 2rem;
  }
  #sub-hero {
    height: 150px;
  }
  #sub-hero .header-box {
    font-size: 2.4rem;
  }
  .global-topbar {
    font-size: 1.3rem;
  }
  .global-topbar .topbar-inner {
    padding: 7px;
  }
  #top,
  .sp-menu-overlay {
    top: 36px;
  }
  #plus-form .form {
    width: 100%;
    max-width: 100%;
  }
  #plus-form .form input[type=email] {
    width: 100%;
    border: #333 1px solid;
    border-radius: 5px;
    display: block;
    margin-bottom: 5px;
  }
  #plus-form .form input[type=submit] {
    width: 100%;
    border-radius: 5px;
  }
  #sub-hero-plus {
    padding: 1em 0 2em 0;
  }
  #sub-hero-plus::before {
    height: 100%;
  }
  #sub-hero-plus .page-ttl {
    font-size: 1.6rem;
  }
  #sub-hero-plus .page-ttl span {
    font-size: 2rem;
  }
  .feature-header {
    margin-bottom: 1.5em;
  }
  .feature-header .feature-ttl {
    font-size: 2.4rem;
  }
  .feature-header .feature-txt {
    font-size: 1.6rem;
  }
  .flow12 > li .icon12 {
    width: 50px;
    line-height: 50px;
    font-size: 2rem;
  }
  .flow12 > li dt {
    font-size: 2rem;
  }
  .flow12 > li dd {
    font-size: 1.6rem;
  }
  .flow12 > li dl {
    width: calc(100% - 70px);
  }
  .flow12 > li:nth-of-type(odd)::after,
  .flow12 > li:nth-of-type(even)::after {
    left: 25px;
  }
  .md-strength .flex .txt .row dt {
    font-size: 2rem;
  }
  .md-strength .flex .txt .row dd {
    font-size: 1.6rem;
  }
  .md-inner-content .box {
    position: relative;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 1.5em 0;
  }
  .md-inner-content.reverse .box {
    padding: 1.5em 0;
  }
  .section-margin {
    margin-bottom: 2.5em;
  }
  #sub-high-hero .header-box .page-ttl {
    font-size: 3.2rem;
  }
  #contactform .flex {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
  }
  #contactform .flex .item {
    width: 100%;
  }
  #contactform .flex .item:not(:last-child) {
    margin-bottom: 1em;
  }
  .md-testimonials-archives .flex {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
  }
  .md-testimonials-archives .flex .item .box {
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
  }
  .md-testimonials-archives .flex .item .box .thumb,
  .md-testimonials-archives .flex .item .box .txt {
    width: 100%;
  }
  .md-testimonials-archives .flex .item .box .thumb {
    margin-bottom: 1em;
  }
}/*# sourceMappingURL=style.css.map */