@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,700);/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }
@charset "UTF-8";
html {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
  -webkit-font-feature-settings: "pwid" 1;
          font-feature-settings: "pwid" 1;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
  color: #425464; }

body {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
  -webkit-font-feature-settings: "pwid" 1;
          font-feature-settings: "pwid" 1;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  word-wrap: break-word; }

h1, h2, h3, h4, h5, h6, strong {
  -webkit-font-feature-settings: "pwid" 1;
          font-feature-settings: "pwid" 1;
  font-size: 1.6rem; }

/* page */
* {
  box-sizing: border-box; }

/* input */
input, select, textarea {
  font-size: 1.6rem;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  -webkit-appearance: none;
  border-collapse: collapse;
  border: none;
  padding: 3px 5px;
  position: relative;
}

.contact-form input:checked::after {
  content: "✔";
  display: block;
  width: 1rem;
  height: 1rem;
  z-index: 1;
  color: #000;
  font-size: 1rem;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.fieldgroup{
  align-items: flex-start!important;
}
.contact-form .form-item label{
  align-self: flex-start;
  white-space: normal!important;
}
.form-checkbox, .form-radio{
  appearance: auto;
}
.fieldgroup legend{
  float: left;
  text-align: left;
}
.contact-form .form-item{

}
.contact-form .form-text{
  width: auto!important;
}
input, button {
  margin: 0; }

/* link */
a {
  font-size: 1.6rem;
  cursor: pointer;
  transition: all .3s ease-in-out;
  color: #425464; }
  a img {
    transition-property: all;
    transition-duration: .3s; }
  a:hover {
    text-decoration: none; }
    a:hover img {
      -webkit-transform: scale(1.2);
              transform: scale(1.2); }

nav ul {
  list-style: none; }

input, select {
  vertical-align: middle; }

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

/* Typography
------------------------------------------------------ */
em, strong {
  font-weight: bold; }

/* color */
.tx-white {
  color: white; }

.tx-black {
  color: black; }

.tx-deepDark {
  color: #202020; }

.tx-dark {
  color: #313131; }

.tx-gray {
  color: #425464; }

.tx-red {
  color: #dd001c; }

.tx-orange {
  color: #ff8300; }

.tx-green {
  color: #00833e; }

.tx-blue {
  color: #0069c7; }

.tx-lightBlue {
  color: #00a3e0; }

.tx-yellow {
  color: #ffc72c; }

.tx-lightGreen {
  color: #81bc00; }

.tx-purple {
  color: #73308a; }

.tx-blueGreen {
  color: #00a8a3; }

.tx-magenta {
  color: #cb007c; }

/* fontsize */
.tx-large {
  font-size: 1.2em !important; }

.tx-xlarge {
  font-size: 1.4em !important; }

.tx-xxlarge {
  font-size: 1.6em !important; }

.tx-small {
  font-size: 0.8em !important; }

.tx-xsmall {
  font-size: 0.7em !important; }

.tx-xxsmall {
  font-size: 0.6em !important; }

/* headline */
h1 {
  font-size: 2.2rem; }

h2 {
  font-size: 1.8rem;
  font-weight: 800; }

h3 {
  font-size: 1.8rem;
  font-weight: 700; }

h4 {
  font-size: 1.8rem;
  font-weight: 600; }

h5 {
  font-size: 1.6rem;
  font-weight: 800; }

/* blockquote */
.info-box {
  border: 1px solid #ffc72c;
  background: #FFFFE6;
  padding: 1em 2em; }

/* Utility Style
------------------------------------------------------ */
.nowrap {
  white-space: nowrap !important; }

.pc_nowrap {
  white-space: nowrap !important; }

/*----- width -----*/
.w1per {
  width: 1% !important; }

.w2per {
  width: 2% !important; }

.w3per {
  width: 3% !important; }

.w4per {
  width: 4% !important; }

.w5per {
  width: 5% !important; }

.w6per {
  width: 6% !important; }

.w7per {
  width: 7% !important; }

.w8per {
  width: 8% !important; }

.w9per {
  width: 9% !important; }

.w10per {
  width: 10% !important; }

.w11per {
  width: 11% !important; }

.w12per {
  width: 12% !important; }

.w13per {
  width: 13% !important; }

.w14per {
  width: 14% !important; }

.w15per {
  width: 15% !important; }

.w16per {
  width: 16% !important; }

.w17per {
  width: 17% !important; }

.w18per {
  width: 18% !important; }

.w19per {
  width: 19% !important; }

.w20per {
  width: 20% !important; }

.w21per {
  width: 21% !important; }

.w22per {
  width: 22% !important; }

.w23per {
  width: 23% !important; }

.w24per {
  width: 24% !important; }

.w25per {
  width: 25% !important; }

.w26per {
  width: 26% !important; }

.w27per {
  width: 27% !important; }

.w28per {
  width: 28% !important; }

.w29per {
  width: 29% !important; }

.w30per {
  width: 30% !important; }

.w31per {
  width: 31% !important; }

.w32per {
  width: 32% !important; }

.w33per {
  width: 33% !important; }

.w34per {
  width: 34% !important; }

.w35per {
  width: 35% !important; }

.w36per {
  width: 36% !important; }

.w37per {
  width: 37% !important; }

.w38per {
  width: 38% !important; }

.w39per {
  width: 39% !important; }

.w40per {
  width: 40% !important; }

.w41per {
  width: 41% !important; }

.w42per {
  width: 42% !important; }

.w43per {
  width: 43% !important; }

.w44per {
  width: 44% !important; }

.w45per {
  width: 45% !important; }

.w46per {
  width: 46% !important; }

.w47per {
  width: 47% !important; }

.w48per {
  width: 48% !important; }

.w49per {
  width: 49% !important; }

.w50per {
  width: 50% !important; }

.w51per {
  width: 51% !important; }

.w52per {
  width: 52% !important; }

.w53per {
  width: 53% !important; }

.w54per {
  width: 54% !important; }

.w55per {
  width: 55% !important; }

.w56per {
  width: 56% !important; }

.w57per {
  width: 57% !important; }

.w58per {
  width: 58% !important; }

.w59per {
  width: 59% !important; }

.w60per {
  width: 60% !important; }

.w61per {
  width: 61% !important; }

.w62per {
  width: 62% !important; }

.w63per {
  width: 63% !important; }

.w64per {
  width: 64% !important; }

.w65per {
  width: 65% !important; }

.w66per {
  width: 66% !important; }

.w67per {
  width: 67% !important; }

.w68per {
  width: 68% !important; }

.w69per {
  width: 69% !important; }

.w70per {
  width: 70% !important; }

.w71per {
  width: 71% !important; }

.w72per {
  width: 72% !important; }

.w73per {
  width: 73% !important; }

.w74per {
  width: 74% !important; }

.w75per {
  width: 75% !important; }

.w76per {
  width: 76% !important; }

.w77per {
  width: 77% !important; }

.w78per {
  width: 78% !important; }

.w79per {
  width: 79% !important; }

.w80per {
  width: 80% !important; }

.w81per {
  width: 81% !important; }

.w82per {
  width: 82% !important; }

.w83per {
  width: 83% !important; }

.w84per {
  width: 84% !important; }

.w85per {
  width: 85% !important; }

.w86per {
  width: 86% !important; }

.w87per {
  width: 87% !important; }

.w88per {
  width: 88% !important; }

.w89per {
  width: 89% !important; }

.w90per {
  width: 90% !important; }

.w91per {
  width: 91% !important; }

.w92per {
  width: 92% !important; }

.w93per {
  width: 93% !important; }

.w94per {
  width: 94% !important; }

.w95per {
  width: 95% !important; }

.w96per {
  width: 96% !important; }

.w97per {
  width: 97% !important; }

.w98per {
  width: 98% !important; }

.w99per {
  width: 99% !important; }

.wFull {
  width: 100% !important; }

.wAuto {
  width: auto !important; }

.w1-3rd {
  width: 33.33% !important; }

.w2-3rd {
  width: 66.66% !important; }

.w1-6th {
  width: 16.66% !important; }

.w1-7th {
  width: 14.28% !important; }

.w1-8th {
  width: 12.5%  !important; }

.w1-9th {
  width: 11.11% !important; }

.mAuto {
  margin-left: auto !important;
  margin-right: auto !important; }

/*----- margin padding -----*/
.mt0 {
  margin-top: 0px !important; }

.mr0 {
  margin-right: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.ml0 {
  margin-left: 0px !important; }

.m0 {
  margin: 0px !important; }

.pt0 {
  padding-top: 0px !important; }

.pr0 {
  padding-right: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.pl0 {
  padding-left: 0px !important; }

.p0 {
  padding: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mr5 {
  margin-right: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.ml5 {
  margin-left: 5px !important; }

.m5 {
  margin: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.p5 {
  padding: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.m10 {
  margin: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.p10 {
  padding: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mr15 {
  margin-right: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.ml15 {
  margin-left: 15px !important; }

.m15 {
  margin: 15px !important; }

.pt15 {
  padding-top: 15px !important; }

.pr15 {
  padding-right: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pl15 {
  padding-left: 15px !important; }

.p15 {
  padding: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.m20 {
  margin: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.p20 {
  padding: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mr25 {
  margin-right: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.ml25 {
  margin-left: 25px !important; }

.m25 {
  margin: 25px !important; }

.pt25 {
  padding-top: 25px !important; }

.pr25 {
  padding-right: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pl25 {
  padding-left: 25px !important; }

.p25 {
  padding: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.m30 {
  margin: 30px !important; }

.pt30 {
  padding-top: 30px !important; }

.pr30 {
  padding-right: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pl30 {
  padding-left: 30px !important; }

.p30 {
  padding: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mr35 {
  margin-right: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.ml35 {
  margin-left: 35px !important; }

.m35 {
  margin: 35px !important; }

.pt35 {
  padding-top: 35px !important; }

.pr35 {
  padding-right: 35px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pl35 {
  padding-left: 35px !important; }

.p35 {
  padding: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mr40 {
  margin-right: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.ml40 {
  margin-left: 40px !important; }

.m40 {
  margin: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pr40 {
  padding-right: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.p40 {
  padding: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mr45 {
  margin-right: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.ml45 {
  margin-left: 45px !important; }

.m45 {
  margin: 45px !important; }

.pt45 {
  padding-top: 45px !important; }

.pr45 {
  padding-right: 45px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pl45 {
  padding-left: 45px !important; }

.p45 {
  padding: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.ml50 {
  margin-left: 50px !important; }

.m50 {
  margin: 50px !important; }

.pt50 {
  padding-top: 50px !important; }

.pr50 {
  padding-right: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pl50 {
  padding-left: 50px !important; }

.p50 {
  padding: 50px !important; }

.mt55 {
  margin-top: 55px !important; }

.mr55 {
  margin-right: 55px !important; }

.mb55 {
  margin-bottom: 55px !important; }

.ml55 {
  margin-left: 55px !important; }

.m55 {
  margin: 55px !important; }

.pt55 {
  padding-top: 55px !important; }

.pr55 {
  padding-right: 55px !important; }

.pb55 {
  padding-bottom: 55px !important; }

.pl55 {
  padding-left: 55px !important; }

.p55 {
  padding: 55px !important; }

.mt60 {
  margin-top: 60px !important; }

.mr60 {
  margin-right: 60px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.ml60 {
  margin-left: 60px !important; }

.m60 {
  margin: 60px !important; }

.pt60 {
  padding-top: 60px !important; }

.pr60 {
  padding-right: 60px !important; }

.pb60 {
  padding-bottom: 60px !important; }

.pl60 {
  padding-left: 60px !important; }

.p60 {
  padding: 60px !important; }

.mt65 {
  margin-top: 65px !important; }

.mr65 {
  margin-right: 65px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.ml65 {
  margin-left: 65px !important; }

.m65 {
  margin: 65px !important; }

.pt65 {
  padding-top: 65px !important; }

.pr65 {
  padding-right: 65px !important; }

.pb65 {
  padding-bottom: 65px !important; }

.pl65 {
  padding-left: 65px !important; }

.p65 {
  padding: 65px !important; }

.mt70 {
  margin-top: 70px !important; }

.mr70 {
  margin-right: 70px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.ml70 {
  margin-left: 70px !important; }

.m70 {
  margin: 70px !important; }

.pt70 {
  padding-top: 70px !important; }

.pr70 {
  padding-right: 70px !important; }

.pb70 {
  padding-bottom: 70px !important; }

.pl70 {
  padding-left: 70px !important; }

.p70 {
  padding: 70px !important; }

.mt75 {
  margin-top: 75px !important; }

.mr75 {
  margin-right: 75px !important; }

.mb75 {
  margin-bottom: 75px !important; }

.ml75 {
  margin-left: 75px !important; }

.m75 {
  margin: 75px !important; }

.pt75 {
  padding-top: 75px !important; }

.pr75 {
  padding-right: 75px !important; }

.pb75 {
  padding-bottom: 75px !important; }

.pl75 {
  padding-left: 75px !important; }

.p75 {
  padding: 75px !important; }

.mt80 {
  margin-top: 80px !important; }

.mr80 {
  margin-right: 80px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.ml80 {
  margin-left: 80px !important; }

.m80 {
  margin: 80px !important; }

.pt80 {
  padding-top: 80px !important; }

.pr80 {
  padding-right: 80px !important; }

.pb80 {
  padding-bottom: 80px !important; }

.pl80 {
  padding-left: 80px !important; }

.p80 {
  padding: 80px !important; }

.mt85 {
  margin-top: 85px !important; }

.mr85 {
  margin-right: 85px !important; }

.mb85 {
  margin-bottom: 85px !important; }

.ml85 {
  margin-left: 85px !important; }

.m85 {
  margin: 85px !important; }

.pt85 {
  padding-top: 85px !important; }

.pr85 {
  padding-right: 85px !important; }

.pb85 {
  padding-bottom: 85px !important; }

.pl85 {
  padding-left: 85px !important; }

.p85 {
  padding: 85px !important; }

.mt90 {
  margin-top: 90px !important; }

.mr90 {
  margin-right: 90px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.ml90 {
  margin-left: 90px !important; }

.m90 {
  margin: 90px !important; }

.pt90 {
  padding-top: 90px !important; }

.pr90 {
  padding-right: 90px !important; }

.pb90 {
  padding-bottom: 90px !important; }

.pl90 {
  padding-left: 90px !important; }

.p90 {
  padding: 90px !important; }

.mt95 {
  margin-top: 95px !important; }

.mr95 {
  margin-right: 95px !important; }

.mb95 {
  margin-bottom: 95px !important; }

.ml95 {
  margin-left: 95px !important; }

.m95 {
  margin: 95px !important; }

.pt95 {
  padding-top: 95px !important; }

.pr95 {
  padding-right: 95px !important; }

.pb95 {
  padding-bottom: 95px !important; }

.pl95 {
  padding-left: 95px !important; }

.p95 {
  padding: 95px !important; }

.mt100 {
  margin-top: 100px !important; }

.mr100 {
  margin-right: 100px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.ml100 {
  margin-left: 100px !important; }

.m100 {
  margin: 100px !important; }

.pt100 {
  padding-top: 100px !important; }

.pr100 {
  padding-right: 100px !important; }

.pb100 {
  padding-bottom: 100px !important; }

.pl100 {
  padding-left: 100px !important; }

.p100 {
  padding: 100px !important; }

/*----- border -----*/
.bdNone {
  border: none !important; }

.bdtNone {
  border-top: none !important; }

.bdrNone {
  border-right: none !important; }

.bdbNone {
  border-bottom: none !important; }

.bdlNone {
  border-left: none !important; }

.talC, .txt-center {
  text-align: center !important; }

.talL, .txt-left {
  text-align: left !important; }

.talR, .txt-right {
  text-align: right !important; }

.talJ, .txt-justify {
  text-align: justify !important; }

.alC, .al-center {
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important; }

.alL, .al-left {
  margin-right: auto !important;
  display: block; }

.alR, .al-right {
  margin-left: auto !important;
  display: block; }

/*----- clear -----*/
/* clear */
.clL {
  clear: left !important; }

.clR {
  clear: right !important; }

.clBoth {
  clear: both !important; }

.clNone {
  clear: none !important; }

/*----- float -----*/
/* float */
.flL {
  float: left !important; }

.flR {
  float: right !important; }

.flNone {
  float: none !important; }

/*----- display -----*/
/* display */
.dpBlock {
  display: block !important; }

.dpInlBlock {
  display: inline-block !important; }

.dpNone {
  display: none !important; }

/*----- overflow -----*/
.ovfHidden {
  overflow: hidden !important; }

.ovfVisible {
  overflow: visible !important; }

/*----- font -----*/
.bold {
  font-weight: bold !important; }

.italic {
  font-style: italic !important; }

.fwNormal {
  font-weight: normal !important; }

.fsNormal {
  font-style: normal !important; }

/*----- break -----*/
.brAll {
  word-break: break-all !important; }

.brWord {
  word-wrap: break-word !important; }

.brNone {
  white-space: nowrap !important; }

/*----- centering -----*/
.centering {
  margin-left: auto !important;
  margin-right: auto !important; }

.ispc, .issp, .istb,
.ispcIn, .isspIn, .istbIn,
.ispcInBlock, .isspInBlock, .istbInBlock,
.ispcFlex, .isspFlex, .istbFlex,
.ispcInFlex, .isspInFlex, .istbInFlex {
  display: none !important; }

/*----- flex -----*/
.flex-block {
  display: flex !important;
  display: -webkit-flex !important; }

.flex-inline {
  display: inline-flex !important;
  display: -webkit-inline-flex !important; }

.flex-direction-row {
  flex-direction: row; }

.flex-direction-row-reverse {
  flex-direction: row-reverse; }

.flex-direction-column {
  flex-direction: column; }

.flex-direction-column-reverse {
  flex-direction: column-reverse; }

.flex-wrap-nowrap {
  flex-wrap: nowrap; }

.flex-wrap-wrap {
  flex-wrap: wrap; }

.flex-wrap-wrap-reverse {
  flex-wrap: wrap-reverse; }

.flex-flow-row-wrap {
  flex-flow: row wrap; }

.flex-flow-row-nowrap {
  flex-flow: row nowrap; }

.flex-flow-row-reverse-wrap {
  flex-flow: row-reverse wrap; }

.flex-flow-row-reverse-nowrap {
  flex-flow: row-reverse nowrap; }

.justify-start {
  justify-content: flex-start; }

.justify-end {
  justify-content: flex-end; }

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

.justify-space-around {
  justify-content: space-around; }

.align-items-stretch {
  align-items: stretch; }

.align-items-flex-start {
  align-items: flex-start; }

.align-items-flex-end {
  align-items: flex-end; }

.align-items-center {
  align-items: center; }

.align-items-baseline {
  align-items: baseline; }

.align-content-stretch {
  align-content: stretch; }

.align-content-flex-start {
  align-content: flex-start; }

.align-content-flex-end {
  align-content: flex-end; }

.align-content-center {
  align-content: center; }

.align-content-space-between {
  align-content: space-between; }

.align-content-space-around {
  align-content: space-around; }

.align-self-auto {
  align-self: auto; }

.align-self-flex-start {
  align-self: flex-start; }

.align-self-flex-end {
  align-self: flex-end; }

.align-self-center {
  align-self: center; }

.align-self-stretch {
  align-self: stretch; }

.align-self-baseline {
  align-self: baseline; }

/* tablet Utility Style
------------------------------------------------------ */

/* PC Utility Style
------------------------------------------------------ */

/* SP Utility Style
------------------------------------------------------ */

/* small mobile Utility Style
------------------------------------------------------ */

/* GRID
------------------------------------------------------ */
.container_12 {
  overflow: hidden;
  zoom: 1;
  width: 100%; }

.container_12 .grid_1 {
  float: left;
  width: 8.33333%;
  position: relative; }

.container_12 .push_1 {
  margin-left: 8.33333% !important; }

.container_12 .pull_1 {
  margin-right: 8.33333% !important; }

.container_12 .grid_2 {
  float: left;
  width: 16.66667%;
  position: relative; }

.container_12 .push_2 {
  margin-left: 16.66667% !important; }

.container_12 .pull_2 {
  margin-right: 16.66667% !important; }

.container_12 .grid_3 {
  float: left;
  width: 25%;
  position: relative; }

.container_12 .push_3 {
  margin-left: 25% !important; }

.container_12 .pull_3 {
  margin-right: 25% !important; }

.container_12 .grid_4 {
  float: left;
  width: 33.33333%;
  position: relative; }

.container_12 .push_4 {
  margin-left: 33.33333% !important; }

.container_12 .pull_4 {
  margin-right: 33.33333% !important; }

.container_12 .grid_5 {
  float: left;
  width: 41.66667%;
  position: relative; }

.container_12 .push_5 {
  margin-left: 41.66667% !important; }

.container_12 .pull_5 {
  margin-right: 41.66667% !important; }

.container_12 .grid_6 {
  float: left;
  width: 50%;
  position: relative; }

.container_12 .push_6 {
  margin-left: 50% !important; }

.container_12 .pull_6 {
  margin-right: 50% !important; }

.container_12 .grid_7 {
  float: left;
  width: 58.33333%;
  position: relative; }

.container_12 .push_7 {
  margin-left: 58.33333% !important; }

.container_12 .pull_7 {
  margin-right: 58.33333% !important; }

.container_12 .grid_8 {
  float: left;
  width: 66.66667%;
  position: relative; }

.container_12 .push_8 {
  margin-left: 66.66667% !important; }

.container_12 .pull_8 {
  margin-right: 66.66667% !important; }

.container_12 .grid_9 {
  float: left;
  width: 75%;
  position: relative; }

.container_12 .push_9 {
  margin-left: 75% !important; }

.container_12 .pull_9 {
  margin-right: 75% !important; }

.container_12 .grid_10 {
  float: left;
  width: 83.33333%;
  position: relative; }

.container_12 .push_10 {
  margin-left: 83.33333% !important; }

.container_12 .pull_10 {
  margin-right: 83.33333% !important; }

.container_12 .grid_11 {
  float: left;
  width: 91.66667%;
  position: relative; }

.container_12 .push_11 {
  margin-left: 91.66667% !important; }

.container_12 .pull_11 {
  margin-right: 91.66667% !important; }

.container_12 .grid_12 {
  float: left;
  width: 100%;
  position: relative;
  clear: both; }

.container_12 .push_12 {
  margin-left: 100% !important; }

.container_12 .pull_12 {
  margin-right: 100% !important; }

@-webkit-keyframes opening {
  0% {
    background: #111; }
  100% {
    background: #444; } }

@keyframes opening {
  0% {
    background: #111; }
  100% {
    background: #444; } }

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

@keyframes openingLogo {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes hideElm {
  0% {
    opacity: 1;
    display: block; }
  99% {
    opacity: 0;
    display: block;
    visibility: visible; }
  100% {
    opacity: 0;
    display: none;
    visibility: hidden; } }

@keyframes hideElm {
  0% {
    opacity: 1;
    display: block; }
  99% {
    opacity: 0;
    display: block;
    visibility: visible; }
  100% {
    opacity: 0;
    display: none;
    visibility: hidden; } }

@-webkit-keyframes showElm {
  0% {
    opacity: 0;
    display: none;
    visibility: hidden; }
  1% {
    opacity: 0;
    display: block;
    visibility: visible; }
  100% {
    opacity: 1; } }

@keyframes showElm {
  0% {
    opacity: 0;
    display: none;
    visibility: hidden; }
  1% {
    opacity: 0;
    display: block;
    visibility: visible; }
  100% {
    opacity: 1; } }

@-webkit-keyframes hideModal {
  0% {
    opacity: 1;
    display: flex; }
  99% {
    opacity: 0;
    display: flex;
    visibility: visible; }
  100% {
    opacity: 0;
    display: none;
    visibility: hidden; } }

@keyframes hideModal {
  0% {
    opacity: 1;
    display: flex; }
  99% {
    opacity: 0;
    display: flex;
    visibility: visible; }
  100% {
    opacity: 0;
    display: none;
    visibility: hidden; } }

@-webkit-keyframes showModal {
  0% {
    opacity: 0;
    display: none;
    visibility: hidden; }
  1% {
    opacity: 0;
    display: flex;
    visibility: visible; }
  100% {
    opacity: 1; } }

@keyframes showModal {
  0% {
    opacity: 0;
    display: none;
    visibility: hidden; }
  1% {
    opacity: 0;
    display: flex;
    visibility: visible; }
  100% {
    opacity: 1; } }

@-webkit-keyframes gradient1 {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: 100% 50%; } }

@keyframes gradient1 {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: 100% 50%; } }

@-webkit-keyframes gradient2 {
  0% {
    background-position: 100% 50%; }
  100% {
    background-position: 0 50%; } }

@keyframes gradient2 {
  0% {
    background-position: 100% 50%; }
  100% {
    background-position: 0 50%; } }

@-webkit-keyframes hueRotate1 {
  0% {
    -webkit-filter: hue-rotate(-20deg);
            filter: hue-rotate(-20deg); }
  100% {
    -webkit-filter: hue-rotate(10deg);
            filter: hue-rotate(10deg);
    opacity: .8; } }

@keyframes hueRotate1 {
  0% {
    -webkit-filter: hue-rotate(-20deg);
            filter: hue-rotate(-20deg); }
  100% {
    -webkit-filter: hue-rotate(10deg);
            filter: hue-rotate(10deg);
    opacity: .8; } }

@-webkit-keyframes hueRotate2 {
  0% {
    -webkit-filter: hue-rotate(-30deg);
            filter: hue-rotate(-30deg); }
  100% {
    -webkit-filter: hue-rotate(40deg);
            filter: hue-rotate(40deg); } }

@keyframes hueRotate2 {
  0% {
    -webkit-filter: hue-rotate(-30deg);
            filter: hue-rotate(-30deg); }
  100% {
    -webkit-filter: hue-rotate(40deg);
            filter: hue-rotate(40deg); } }

@-webkit-keyframes brightness1 {
  0% {
    -webkit-filter: brightness(1);
            filter: brightness(1); }
  100% {
    -webkit-filter: brightness(0.6);
            filter: brightness(0.6); } }

@keyframes brightness1 {
  0% {
    -webkit-filter: brightness(1);
            filter: brightness(1); }
  100% {
    -webkit-filter: brightness(0.6);
            filter: brightness(0.6); } }

.sample-icon {
  margin: 10px 0px;
  width: 128px;
  height: 128px;
  background-image: url("/img/html5.png");
  background-repeat: no-repeat; }

header, main, footer, nav {
  display: block;
  box-sizing: border-box; }

.wrap {
  margin-left: auto;
  margin-right: auto;
  position: relative; }

.wrap .inner {
  position: relative;
  margin: 0 5%; }

.box {
  padding: 3rem 0;
  margin-bottom: 5rem; }

.checker {
  display: none; }

img {
  font-size: 8px; }

hr {
  border-collapse: collapse;
  margin: 0;
  border: none; }
  hr.w-div, hr.n-div {
    display: block;
    height: 3px;
    line-height: 0;
    background: linear-gradient(to right, transparent, #ffc72c, #dd001c, #73308a, #0069c7, #00a3e0, #81bc00, transparent); }
  hr.n-div {
    background: linear-gradient(to right, transparent, #fde300, #dd001c, #8232a7, #008fd8, #55c1e8, #81bc00, transparent); }

.nowrap {
  white-space: nowrap; }

.table-nowrap th {
  white-space: nowrap; }

.bq01 {
  background: #dadbdb;
  padding: 1em 1.5em 0.8em; }

.ttl1-1 {
  text-align: center;
  font-size: 3rem; }
  .ttl1-1 span {
    font-size: 1.8rem;
    display: block;
    text-align: center; }

.ttl2-1 {
  text-align: center;
  font-size: 2rem;
  padding: 0.7rem;
  display: block;
  margin: auto; }

.ttl2-2 {
  text-align: center; }
  .ttl2-2 span {
    font-size: 1.8rem;
    padding: 0.7rem 2rem;
    border: 1px solid #425464;
    display: inline-block;
    margin: auto; }

.ttl3-1 {
  background: #425464;
  color: white;
  text-align: center;
  line-height: 1;
  padding: 1rem 2rem;
  font-weight: 800;
  font-size: 1.8rem;
  display: inline-block;
  border-radius: 100px; }

.bg-light {
  background-color: #dadbdb; }

.bg-dark {
  background-color: #313131;
  color: white; }

.bg-white {
  background-color: #fff; }

.bg-grad1, #preFullService .box-02 .btn-01 {
  background: linear-gradient(to right, #81bc00, #00a3e0); }

.bg-grad2 {
  background: linear-gradient(to left, #ffc72c, #dd001c, #73308a, #0069c7, #00a3e0, #81bc00); }

.bg-grad3, #merit {
  background: linear-gradient(to right, rgba(255, 199, 44, 0.3), rgba(221, 0, 28, 0.3)); }

.bg-n-grad1 {
  background: linear-gradient(to right, #81bc00, #55c1e8); }

.bg-n-grad2 {
  background: linear-gradient(to left, #fde300, #dd001c, #8232a7, #008fd8, #55c1e8, #81bc00); }

.bg-red {
  background-color: #dd001c; }

.bg-orange {
  background-color: #ff8300; }

.bg-green {
  background-color: #00833e; }

.bg-blue {
  background-color: #0069c7; }

.bg-lightBlue {
  background-color: #00a3e0; }

.bg-yellow {
  background-color: #ffc72c; }

.bg-lightGreen {
  background-color: #81bc00; }

.bg-purple {
  background-color: #73308a; }

.bg-blueGreen {
  background-color: #00a8a3; }

.bg-magenta {
  background-color: #cb007c; }

.bb-light, .bb-dark {
  color: #425464; }
  .bb-light:after, .bb-dark:after {
    content: '';
    height: 2px;
    display: block;
    margin: 1rem auto;
    background: linear-gradient(to right, transparent, #ffc72c, #dd001c, #73308a, #0069c7, #00a3e0, #81bc00, transparent); }

.bb-dark {
  color: white; }
  .bb-dark:after {
    content: '';
    height: 2px;
    display: block;
    margin: 1rem auto;
    background: linear-gradient(to right, transparent, #fde300, #dd001c, #8232a7, #008fd8, #55c1e8, #81bc00, transparent); }

.btn {
  display: inline-block;
  text-decoration: none; }

.btn-block {
  display: flex;
  margin: 2em 1em 0;
  flex-flow: nowrap;
  align-items: center;
  justify-content: center; }
  .btn-block .btn {
    display: block;
    padding: 1em 3em;
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    color: white;
    font-weight: bold;
    transition: all .3s ease-in-out;
    text-decoration: none;
    border: 1px solid #dd001c;
    background: linear-gradient(-90deg, #ffc72c, #dd001c); }
    .btn-block .btn .right {
      position: absolute;
      top: 0;
      bottom: 0;
      left: auto;
      right: 8px;
      height: 1em;
      line-height: 1;
      margin: auto;
      transition: all .2s ease-in-out; }
    .btn-block .btn.grad1 {
      border-color: #dd001c;
      background: linear-gradient(-90deg, #ffc72c, #dd001c); }
    .btn-block .btn.grad2 {
      border-color: #73308a;
      background: linear-gradient(-90deg, #dd001c, #73308a); }
    .btn-block .btn.grad3 {
      border-color: #0069c7;
      background: linear-gradient(-90deg, #73308a, #0069c7); }
    .btn-block .btn.grad4 {
      border-color: #00a3e0;
      background: linear-gradient(-90deg, #0069c7, #00a3e0); }
    .btn-block .btn.grad5 {
      border-color: #81bc00;
      background: linear-gradient(-90deg, #00a3e0, #81bc00); }
    .btn-block .btn.grad6 {
      border-color: #ffc72c;
      background: linear-gradient(-90deg, #81bc00, #ffc72c); }
    .btn-block .btn:hover {
      -webkit-filter: hue-rotate(30deg);
              filter: hue-rotate(30deg); }
      .btn-block .btn:hover .right {
        right: 3px; }

.btn-group {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: stretch; }
  .btn-group .btn {
    display: block;
    padding: 0.5em 1em;
    border: 1px solid #425464;
    border-right: none;
    cursor: pointer;
    transition: all .3s ease-in-out;
    font-weight: 800;
    text-align: center;
    background: #fff; }
    .btn-group .btn.btn-alpha, .btn-group .btn:first-child {
      border-radius: 6px 0 0 6px; }
    .btn-group .btn.btn-omega, .btn-group .btn:last-child {
      border-right-width: 1px;
      border-right-style: solid;
      border-radius: 0 6px 6px 0; }
    .btn-group .btn:hover {
      background: linear-gradient(to right, #0069c7, #00a3e0);
      color: #fff;
      opacity: .8; }
    .btn-group .btn.active {
      background: linear-gradient(to right, #ffc72c, #dd001c);
      color: #fff; }

a .fa-chevron-right, label .fa-chevron-right {
  transition: all .2s ease-in-out; }

a:hover .fa-chevron-right, label:hover .fa-chevron-right {
  -webkit-transform: translateX(5px);
          transform: translateX(5px); }

.marker {
  background: linear-gradient(to bottom, transparent 0%, transparent 48%, rgba(255, 255, 0, 0.7) 49%, rgba(255, 255, 0, 0.7) 100%); }

.indentList > .item {
  margin-top: 0.5em;
  text-indent: -1em;
  margin-left: 1em; }

.indentList-pwid > .item {
  margin-top: 0.5em;
  text-indent: -.5em;
  margin-left: 1em; }

ul.m1 > .item, ol.m1 > .item {
  margin-top: 1em; }

ul.m2 > .item, ol.m2 > .item {
  margin-top: 2em; }

ul.m3 > .item, ol.m3 > .item {
  margin-top: 3em; }

.list-decimal {
  list-style-type: decimal;
  margin-left: 2em; }
  .list-decimal > .item .ttl {
    font-weight: bold;
    font-size: 1.8rem; }
  .list-decimal > .item .txt {
    margin-top: 1em;
    text-align: justify;
    -webkit-font-feature-settings: "pwid" 1;
            font-feature-settings: "pwid" 1;
    font-weight: normal;
    font-size: 1.6rem; }

.list-kana {
  list-style-type: katakana;
  margin: 2em 0 0 2em; }
  .list-kana > .item {
    margin-top: 1em;
    font-weight: normal;
    font-size: 1.6rem; }
    .list-kana > .item .txt {
      margin-top: 1em;
      text-align: justify; }

.list-circle {
  list-style-type: circle;
  margin: 0 0 0 1em; }
  .list-circle > .item {
    margin-top: 1em;
    font-weight: normal;
    font-size: 1.6rem; }
    .list-circle > .item .txt {
      margin-top: 1em;
      text-align: justify; }

.list-disc {
  list-style-type: disc;
  margin-left: 1em; }
  .list-disc > .item {
    margin-top: 0.5em;
    font-weight: normal;
    font-size: 1.6rem; }
    .list-disc > .item:first-child {
      margin-top: 0; }
    .list-disc > .item .txt {
      margin-top: 1em;
      text-align: justify; }

.list-upper {
  list-style-type: upper-alpha;
  margin: 0 0 0 1em; }
  .list-upper > .item {
    margin-top: 1em;
    font-weight: normal;
    font-size: 1.6rem; }
    .list-upper > .item .txt {
      margin-top: 1em;
      text-align: justify; }

table .vm {
  vertical-align: middle !important; }

.table01, .table02 {
  width: 100%;
  border-top: 1px solid #425464;
  border-left: 1px solid #425464;
  border-collapse: collapse;
  margin: 0 auto; }
  .table01 thead th, .table02 thead th {
    background: #313131;
    color: #fff;
    border-right-color: #fff; }
    .table01 thead th:last-child, .table02 thead th:last-child {
      border-right: none; }
  .table01 th, .table02 th, .table01 td, .table02 td {
    border-right: 1px solid #425464;
    border-bottom: 1px solid #425464;
    padding: 1rem 2rem; }
  .table01 th, .table02 th {
    vertical-align: middle;
    background: #dadbdb;
    text-align: center; }
  .table01 td, .table02 td {
    vertical-align: top; }
  .table01 .vt, .table02 .vt {
    line-height: 1;
    width: 1em;
    white-space: normal !important; }

.table02 th, .table02 td {
  padding: 0.2em 0.5em;
  font-size: 1.3rem; }
  .table02 th img, .table02 td img {
    width: 100%; }

.table03 {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: stretch; }
  .table03 dt, .table03 dd {
    padding: 0.6em 1em;
    border: 3px solid #ffcd99;
    margin-bottom: 10px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center; }
  .table03 dt {
    flex: 0 0 25%;
    background: #ffcd99;
    justify-content: center; }
  .table03 dd {
    flex: 1 1 70%;
    margin-left: 10px;
    justify-content: flex-start; }

.table04 {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  table-layout: fixed; }
  .table04 tr {
    padding-top: .35em;
    border-bottom: 1px dotted #0069c7; }
    .table04 tr:last-child {
      border-bottom: 2px solid #0069c7; }
    .table04 tr th, .table04 tr td {
      vertical-align: middle;
      background: white; }
  .table04 th, .table04 td {
    padding: 1rem 10px 1rem 10px;
    vertical-align: middle; }
    .table04 th .txt, .table04 td .txt {
      text-align: left;
      font-size: .85em; }
    .table04 th .price, .table04 td .price {
      text-align: right; }
    .table04 th.type1, .table04 td.type1 {
      background: #D9EDFF; }
  .table04 th {
    color: black;
    font-weight: 700; }
    .table04 th .tx-small {
      font-weight: 300; }
  .table04 th.bb-bold, .table04 td.bb-bold {
    border-bottom: 2px solid #0069c7; }

.table05 {
  display: block; }
  .table05 tr {
    display: block; }
  .table05 th, .table05 td {
    display: block; }

.modal {
  display: none; }
  .modal .scroll {
    margin: 0;
    padding: 0;
    max-height: 80vh;
    overflow-y: scroll; }
  .modal .inner {
    position: relative; }
    .modal .inner .ttl3-2 {
      font-size: 1.3em;
      text-align: center; }
      .modal .inner .ttl3-2:after {
        content: '';
        display: block;
        height: 2px;
        margin: 5px auto;
        background: linear-gradient(to right, transparent, #ffc72c, #dd001c, #73308a, #0069c7, #00a3e0, #81bc00, transparent); }
    .modal .inner .txt {
      margin-top: 10px; }
    .modal .inner .img {
      text-align: center; }
      .modal .inner .img img {
        height: auto;
        display: block;
        margin: 0 auto;
        max-height: 350px; }

#modalViewport {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.8);
  display: none;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: space-around;
  flex-flow: row nowrap;
  transition: all .3s ease-in; }
  #modalViewport .modal {
    margin: 0 1rem;
    padding: 2rem;
    background: #fff;
    flex: 1 1 90%;
    max-width: 600px;
    position: relative;
    box-shadow: 0 0 20px #000, 0 0 15px #000, 0 0 10px #000; }
  #modalViewport .btnClose {
    position: absolute;
    right: -5px;
    top: -5px;
    z-index: 999; }
    #modalViewport .btnClose i {
      font-size: 2rem;
      text-shadow: 1.4px 1.4px 0 #fff, -1.4px -1.4px 0 #fff, -1.4px 1.4px 0 #fff, 1.4px -1.4px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff, 0 2px 0 #fff, 0     -2px 0 #fff; }

body.modalOpen {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%; }
  body.modalOpen #modalViewport {
    -webkit-animation: showModal .3s ease-in forwards;
            animation: showModal .3s ease-in forwards;
    display: flex; }

body.modalClose #modalViewport {
  display: flex;
  -webkit-animation: hideModal .3s ease-in forwards;
          animation: hideModal .3s ease-in forwards; }

#opening {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100vw;
  height: 100vh;
  background: #111;
  color: #fff;
  font-weight: bold;
  -webkit-animation: opening 2s forwards;
          animation: opening 2s forwards; }
  #opening .inner {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: 12rem;
    margin: auto;
    text-align: center;
    font-size: 3rem;
    line-height: 1;
    opacity: 0;
    -webkit-animation: openingLogo 3s ease-in 0.5s forwards;
            animation: openingLogo 3s ease-in 0.5s forwards; }

#movie {
  display: none;
  background: rgba(0, 0, 0, 0.9);
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 8888;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center; }
  #movie .inner {
    display: block;
    color: #fff;
    max-width: 560px;
    width: 90%;
    margin: 0 5%; }
  #movie #btn-movie {
    text-align: right;
    margin-bottom: 1em; }
    #movie #btn-movie a {
      line-height: 1;
      text-decoration: none;
      color: #fff;
      transition: all .3s;
      padding: .3em 1em;
      border-radius: 4px;
      background: #000;
      border: 1px solid #fff; }
      #movie #btn-movie a:hover {
        color: #000;
        background: #fff; }
  #movie #playerBlock {
    position: relative;
    width: 100%; }
    #movie #playerBlock:before {
      content: "";
      display: block;
      padding-top: 56.25%;
      /* 高さと幅の比を16:9に固定。9/16*100=56.25 */ }
    #movie #playerBlock #player {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

body.loadComplete {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%; }
  body.loadComplete #opening {
    -webkit-animation: hideElm 2s ease-in forwards;
            animation: hideElm 2s ease-in forwards; }
    body.loadComplete #opening .inner {
      -webkit-animation: hideElm 0.6s linear forwards;
              animation: hideElm 0.6s linear forwards; }
  body.loadComplete #movie {
    display: flex; }
  body.loadComplete #main {
    display: block; }
  body.loadComplete.finishMovie {
    position: static;
    width: auto;
    height: auto; }

/* #main
------------------------------------------------------ */
#main {
  padding-top: 40px;
  padding-bottom: 3rem;
  transition-property: all;
  transition: .3s ease-in-out;
  position: relative; }

#header {
  background: #313131;
  color: #fff;
  overflow: visible;
  position: fixed;
  width: 100vw;
  z-index: 999;
  height: 40px;
  font-size: 12px;
  font-weight: bold; }
  #header a {
    color: #fff;
    text-decoration: none;
    transition: all .3s ease-in-out; }
    #header a:hover {
      text-decoration: underline;
      text-shadow: 0 0 5px #fff; }
  #header #logo {
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 160px;
    height: 30px;
    transition: all .3s ease-in-out; }
    #header #logo a {
      display: block; }
  #header #nav {
    text-align: right;
    margin: auto 1rem auto auto;
    height: 40px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: center;
    transition: height .3s ease-in-out; }
    #header #nav .translate {
      display: block;
      margin-right: 15px; }
    #header #nav .lineBlock {
      display: block;
      position: relative; }
      #header #nav .lineBlock .text {
        color: white;
        display: inline-block;
        vertical-align: middle;
        padding-right: 5px; }
      #header #nav .lineBlock .lines {
        display: inline-block;
        position: relative;
        vertical-align: middle;
        width: 28px;
        height: 28px; }
        #header #nav .lineBlock .lines span {
          display: block;
          height: 2px;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          margin: auto;
          background: #eeeeee;
          position: absolute;
          transition: all .3s ease-in-out; }
          #header #nav .lineBlock .lines span.line1 {
            -webkit-transform: translateY(-10px);
                    transform: translateY(-10px); }
          #header #nav .lineBlock .lines span.line2 {
            -webkit-transform: translateY(10px);
                    transform: translateY(10px); }
    #header #nav .lineBlock:hover {
      cursor: pointer; }
      #header #nav .lineBlock:hover .lines span {
        background: #fff;
        height: 3px;
        box-shadow: 0 0 5px #fff; }
  #header .navList {
    border-top: 1px solid #fff;
    position: absolute;
    top: 40px;
    right: -100vw;
    height: 100vh;
    z-index: 900;
    transition: all .3s ease-in-out;
    padding: 0;
    opacity: 0.5; }
    #header .navList li {
      display: block;
      border-bottom: 1px solid rgba(255, 255, 255, 0.5);
      background: rgba(0, 0, 0, 0.9); }
      #header .navList li a, #header .navList li .btn-close {
        display: block;
        padding: 1.5rem 4rem 1.5rem 2.5rem;
        line-height: 1;
        transition: all .3s ease-in-out;
        cursor: pointer; }
        #header .navList li a:hover, #header .navList li .btn-close:hover {
          background: #425464; }
      #header .navList li .btn-close {
        background: #fff;
        color: #425464;
        padding: 2rem; }
        #header .navList li .btn-close:hover {
          color: white; }
  #header #navListCheck:checked ~ .navList {
    right: 0;
    opacity: 1; }
  #header #navListCheck:checked ~ .wrap #nav .lines .line1 {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  #header #navListCheck:checked ~ .wrap #nav .lines .line2 {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  #header #navListCheck:checked ~ .wrap #nav .lines .line3 {
    opacity: 0; }
  #header #navListCheck:checked ~ #nav .lines .line1 {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  #header #navListCheck:checked ~ #nav .lines .line2 {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  #header #navListCheck:checked ~ #nav .lines .line3 {
    opacity: 0; }

body.noTop #header {
  height: 30px; }
  body.noTop #header #logo {
    width: 128px;
    height: 24px; }
  body.noTop #header #nav {
    height: 30px; }
    body.noTop #header #nav .lineBlock .text {
      font-size: 10px;
      transition: all .3s ease-in-out; }
    body.noTop #header #nav .lineBlock .lines {
      width: 28px;
      height: 28px;
      transition: all .3s ease-in-out; }
      body.noTop #header #nav .lineBlock .lines .line1 {
        -webkit-transform: translateY(-8px);
                transform: translateY(-8px); }
      body.noTop #header #nav .lineBlock .lines .line2 {
        -webkit-transform: translateY(8px);
                transform: translateY(8px); }
  body.noTop #header .navList {
    top: 30px; }

.accordion-block .accordion-title {
  display: block;
  cursor: pointer;
  position: relative;
  padding: 20px 35px 20px 20px;
  background: white;
  border-radius: 6px;
  border: 1px solid #425464;
  transition: all .5s ease-in-out;
  font-weight: 600; }
  .accordion-block .accordion-title .chevron {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    left: auto;
    margin: auto;
    height: 1em;
    transition: all .5s ease-in-out; }
  .accordion-block .accordion-title:hover {
    background: #0069c7;
    color: white; }
    .accordion-block .accordion-title:hover .chevron {
      color: white; }

.accordion-block > .accordion-inner {
  height: 0;
  overflow: hidden;
  transition: height .5s ease-in-out; }

.accordion-block.open .accordion-title {
  border-radius: 6px 6px 0 0; }
  .accordion-block.open .accordion-title .chevron {
    -webkit-transform: scale(1, -1);
            transform: scale(1, -1); }

#hero {
  position: relative;
  overflow: hidden; }
  #hero .hero-img {
    z-index: 1; }
    #hero .hero-img img {
      width: 100%;
      max-width: content-box;
      display: block; }
  #hero .hero-bg {
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw; }
  #hero .hero-txt-box {
    z-index: 3;
    position: absolute;
    top: 0;
    left: auto;
    right: 7%;
    bottom: 0;
    margin-top: 40px;
    align-items: center;
    width: 86%; }
  #hero .hero-txt {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    text-align: center;
    -webkit-filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
    line-height: 1.2;
    height: auto; }
    #hero .hero-txt img {
      display: block;
      margin: 5% 0 10% auto;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 55%; }
    #hero .hero-txt .bold {
      position: absolute;
      top: auto;
      right: 0;
      bottom: 10vw;
      font-weight: bold;
      color: white;
      font-size: 4.8vw; }

.hero-band .band {
  position: absolute;
  width: 100vw;
  height: 300px;
  top: 0;
  left: 0;
  overflow: hidden; }

.hero-band .band01 {
  width: 100vw;
  height: 300px;
  -webkit-transform: translate(-40%, -80%) rotate(-33deg);
          transform: translate(-40%, -80%) rotate(-33deg); }
  .hero-band .band01:after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #dd001c, #ff9800, #fde300);
    -webkit-animation: hueRotate1 3s linear 0s infinite alternate;
            animation: hueRotate1 3s linear 0s infinite alternate; }

.hero-band .band02 {
  left: 0;
  right: 0;
  width: 100vw;
  height: 100vw;
  -webkit-transform: translate(40%, -30%) rotate(70deg);
          transform: translate(40%, -30%) rotate(70deg); }
  .hero-band .band02:after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #8232a7, #008fd8, #55c1e8);
    -webkit-animation: hueRotate2 2s linear 0s infinite alternate;
            animation: hueRotate2 2s linear 0s infinite alternate;
    opacity: .7; }

.hero-band .band03 {
  top: auto;
  bottom: 0;
  width: 120vw;
  height: 300px;
  -webkit-transform: translate(-10%, 90%) rotate(3deg);
          transform: translate(-10%, 90%) rotate(3deg); }
  .hero-band .band03:after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #73308a, #0069c7);
    -webkit-animation: brightness1 5s linear 0s infinite alternate;
            animation: brightness1 5s linear 0s infinite alternate;
    opacity: .8; }

#headLine .ttl1-1 {
  background: transparent;
  font-weight: 300;
  display: block;
  padding: 2rem 0;
  -webkit-font-feature-settings: "pwid" 1;
          font-feature-settings: "pwid" 1;
  line-height: 1.2; }
  #headLine .ttl1-1 .sub {
    font-weight: 100; }

.hamburger, .breadcrumb {
  margin: 10px 0 0;
  -webkit-font-feature-settings: "pwid" 1;
          font-feature-settings: "pwid" 1; }
  .hamburger a, .hamburger span, .breadcrumb a, .breadcrumb span {
    display: inline-block;
    padding-right: 1em;
    position: relative;
    font-size: 1.2rem;
    white-space: nowrap;
    line-height: 1; }
  .hamburger a, .breadcrumb a {
    color: #0069c7; }
  .hamburger a:after, .breadcrumb a:after {
    content: '\003e';
    display: inline-block;
    padding-left: 0.4em; }

.tag .item {
  display: inline-block;
  padding: 1rem 2rem;
  line-height: 1;
  font-size: 1.4rem;
  margin-right: 1em;
  color: #ff8300;
  border: 1px solid #ff8300; }

.theme01 {
  position: relative;
  display: block; }

.theme02 {
  position: relative;
  display: block; }
  .theme02 > .img {
    margin: 2em auto 0; }
    .theme02 > .img img {
      max-width: 100%;
      height: auto;
      display: block;
      margin: 0 auto; }
  .theme02 > .txt {
    margin: 2em 0 0;
    text-align: justify; }

/**********************
    contents block
 **********************/
#information .informationList {
  display: block;
  margin-top: 1rem;
  border-bottom: 1px dotted silver; }
  #information .informationList .item {
    display: block;
    border-top: 1px dotted silver; }
    #information .informationList .item a {
      display: flex;
      flex-flow: nowrap;
      justify-content: space-between;
      align-items: flex-start;
      text-decoration: none;
      padding: 1rem 2em 1rem 1rem;
      position: relative; }
      #information .informationList .item a .date {
        flex: 0 0 10rem; }
      #information .informationList .item a .content {
        flex: 1 1 auto; }
      #information .informationList .item a .right {
        position: absolute;
        top: 0;
        right: 5px;
        left: auto;
        bottom: 0;
        margin: auto;
        line-height: 1;
        height: 1em; }
      #information .informationList .item a:hover {
        background: #eee;
        color: #ff8300; }

#preFullService .lead {
  -webkit-font-feature-settings: "pwid" 1;
          font-feature-settings: "pwid" 1; }

#preFullService .box-01 {
  text-align: center;
  margin-top: 2rem; }
  #preFullService .box-01 .txt {
    text-align: left;
    margin-top: 1rem;
    font-size: 1.3rem;
    -webkit-font-feature-settings: "pwid" 1;
            font-feature-settings: "pwid" 1; }

#preFullService .box-02 {
  position: relative;
  transition: all .2s ease-in-out; }
  #preFullService .box-02 .btn-01 {
    position: absolute;
    top: 0;
    right: 10px;
    left: auto;
    bottom: auto;
    width: 90px;
    height: 90px;
    border-radius: 90px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    text-align: center; }
    #preFullService .box-02 .btn-01:hover {
      box-shadow: 0 0 20px #fff, 0 0 10px #fff;
      border: 1px solid #fff;
      -webkit-filter: brightness(120%);
              filter: brightness(120%); }
    #preFullService .box-02 .btn-01 p {
      color: #ffffff;
      font-weight: 800;
      font-size: 1.6rem;
      transition: all .2s ease-in-out; }
      #preFullService .box-02 .btn-01 p i {
        color: #ffffff;
        margin-left: 0.5em; }

#preFullService #modal-pre1 .img {
  overflow: hidden;
  height: 300px; }

#preFullService #modal-pre1 img {
  height: 450px;
  max-height: -webkit-fit-content;
  max-height: fit-content; }

#concept .conceptContents .leftCol {
  width: 50%;
  margin: 0 auto; }

#concept .conceptContents .ttl {
  text-align: center;
  margin-top: 2rem; }
  #concept .conceptContents .ttl .lead {
    font-size: 1.8rem;
    font-weight: 800;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    margin-top: 1rem; }

#concept .conceptContents .txt {
  font-size: 1.4rem;
  margin-top: 1rem; }

#concept .conceptContents .gradient {
  height: 4rem;
  width: 80%;
  margin: 1rem auto; }

#merit {
  position: relative;
  overflow: hidden; }
  #merit:before {
    content: '';
    background: url("/img/about/bg-01.png");
    background-size: cover;
    position: absolute;
    opacity: .0784;
    width: 100vw;
    height: 100%;
    display: block; }
  #merit .meritContents {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start; }
    #merit .meritContents .item {
      flex: 1 1 40%;
      margin-bottom: 2rem; }
      #merit .meritContents .item a {
        display: block;
        height: 150px;
        width: 150px;
        border-radius: 150px;
        background: #000;
        margin: auto;
        position: relative;
        overflow: hidden; }
        #merit .meritContents .item a img {
          width: 150px;
          height: 150px;
          border-radius: 150px;
          display: block;
          transition: all .3s ease-in-out; }
        #merit .meritContents .item a .cap {
          position: absolute;
          top: auto;
          left: 0;
          right: 0;
          bottom: 26px;
          background: #425464;
          border-radius: 40px;
          width: 86%;
          margin: auto;
          font-size: 1.2rem;
          color: white;
          font-weight: bold;
          text-align: center;
          padding: 0.2rem 0;
          -webkit-font-feature-settings: 'palt' 1;
                  font-feature-settings: 'palt' 1; }
        #merit .meritContents .item a:hover img {
          -webkit-filter: brightness(120%);
                  filter: brightness(120%); }

#map {
  position: relative;
  padding: 0; }
  #map #mapCanvas {
    overflow: hidden;
    height: auto; }
    #map #mapCanvas .img {
      display: none; }
      #map #mapCanvas .img.active {
        display: block; }
      #map #mapCanvas .img img {
        height: 400px;
        display: block;
        object-fit: cover; }
  #map #mapNav {
    position: absolute;
    bottom: 10px;
    left: 10px; }
    #map #mapNav > .item {
      display: block;
      margin: 10px 5px 0 0;
      font-weight: bold;
      line-height: 1.2; }
      #map #mapNav > .item label {
        font-size: 1.2rem;
        display: block;
        padding: 5px 20px 5px 10px;
        text-decoration: none;
        background: white;
        border-radius: 6px;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
        position: relative; }
        #map #mapNav > .item label .right {
          position: absolute;
          top: 0;
          left: auto;
          right: 8px;
          bottom: 0;
          margin: auto;
          height: 1rem; }
    #map #mapNav .mapGuide .item {
      display: none; }
      #map #mapNav .mapGuide .item.map {
        display: block; }
  #map #mapSelect1:checked ~ #mapNav .map1 label,
  #map #mapSelect2:checked ~ #mapNav .map2 label,
  #map #mapSelect3:checked ~ #mapNav .map3 label {
    color: #fff;
    background: linear-gradient(to right, #0069c7, #00a3e0);
    border-radius: 6px;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.7);
    border: 1px solid #fff; }
  #map #mapSelect1:checked ~ #mapNav .mapGuide .map1 {
    display: block; }
  #map #mapSelect2:checked ~ #mapNav .mapGuide .map2 {
    display: block; }
  #map #mapSelect3:checked ~ #mapNav .mapGuide .map2,
  #map #mapSelect3:checked ~ #mapNav .mapGuide .map3 {
    display: block; }
  #map #mapSelect1:checked ~ #mapCanvas .map1,
  #map #mapSelect2:checked ~ #mapCanvas .map2,
  #map #mapSelect3:checked ~ #mapCanvas .map3 {
    display: block; }
  #map #mapLabel {
    position: absolute;
    right: 10px;
    top: -20px;
    background: linear-gradient(to right, #0069c7, #00a3e0);
    padding: 1rem 1rem;
    border: 2px solid white;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
    color: white; }
    #map #mapLabel .ttl {
      font-size: 2.4rem;
      border-bottom: 1px solid #fff;
      margin-bottom: 5px;
      padding-bottom: 8px;
      font-weight: 800;
      text-shadow: 1px 0 0 #fff;
      line-height: 1; }
    #map #mapLabel .item {
      display: none;
      font-weight: bold;
      font-size: 1.6rem;
      line-height: 1.4; }
  #map #mapSelect1:checked ~ #mapLabel .map1,
  #map #mapSelect2:checked ~ #mapLabel .map2,
  #map #mapSelect3:checked ~ #mapLabel .map3 {
    display: block; }
  #map #mapCaution {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 1rem;
    width: 53%;
    text-align: justify;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
    text-shadow: -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 1px 1px 0 #fff; }
  #map .mapGuide {
    display: flex;
    flex-flow: row wrap;
    background: #fff;
    padding: 1em 0.2em 1em 0.5em;
    font-size: 1.4rem;
    align-items: flex-start;
    justify-content: space-between;
    width: 170px;
    margin-bottom: 10px; }
    #map .mapGuide .item {
      margin: 0; }
    #map .mapGuide .left {
      flex: 0 0 20%; }
    #map .mapGuide .right {
      flex: 0 0 75%; }

#platform .accordion-block {
  margin-top: 20px; }
  #platform .accordion-block .accordion-inner {
    border-right: 3px solid #00a3e0;
    border-left: 3px solid #00a3e0;
    background: #e0f0ff; }
    #platform .accordion-block .accordion-inner .accordion-content {
      padding: .5em 1em;
      display: flex;
      flex-flow: row wrap;
      justify-content: flex-start;
      align-items: stretch; }
      #platform .accordion-block .accordion-inner .accordion-content .item {
        padding: 0 10px 10px;
        flex: 0 0 100%;
        margin-bottom: 20px; }
        #platform .accordion-block .accordion-inner .accordion-content .item .ttl {
          font-weight: 600;
          display: flex;
          flex-flow: row nowrap;
          justify-content: flex-start;
          align-items: center;
          margin-bottom: 5px; }
          #platform .accordion-block .accordion-inner .accordion-content .item .ttl .mark {
            position: relative;
            display: inline-flex;
            flex-flow: row wrap;
            border: 3px solid #425464;
            border-radius: 100px;
            height: 34px;
            width: 34px;
            font-weight: 800;
            margin-right: 5px;
            background: #fff; }
            #platform .accordion-block .accordion-inner .accordion-content .item .ttl .mark span {
              flex: 0 0 100%;
              text-align: center;
              line-height: 1; }
            #platform .accordion-block .accordion-inner .accordion-content .item .ttl .mark .eng {
              font-size: 0.7em;
              align-self: flex-end;
              margin-bottom: 1px; }
            #platform .accordion-block .accordion-inner .accordion-content .item .ttl .mark .num {
              font-size: 0.8em;
              align-self: flex-start; }
          #platform .accordion-block .accordion-inner .accordion-content .item .ttl .name {
            letter-spacing: .1em; }
        #platform .accordion-block .accordion-inner .accordion-content .item .img img {
          display: block;
          width: 100%;
          border: 1px solid #425464;
          background: #fff; }
        #platform .accordion-block .accordion-inner .accordion-content .item .txt {
          padding: 5px 0 0; }
  #platform .accordion-block.open .accordion-title {
    background: #00a3e0;
    color: white; }
    #platform .accordion-block.open .accordion-title .chevron {
      color: white; }
  #platform .accordion-block.open .accordion-inner {
    border-bottom: 3px solid #00a3e0;
    border-radius: 0 0 6px 6px; }

#vehiclesAndFacilities .vehiclesAndFacilitiesContents {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: space-between; }
  #vehiclesAndFacilities .vehiclesAndFacilitiesContents a {
    display: block;
    background: #fff;
    height: 150px;
    overflow: hidden; }
    #vehiclesAndFacilities .vehiclesAndFacilitiesContents a img {
      object-fit: cover;
      display: block;
      margin: auto;
      width: 100%;
      height: 100%; }
    #vehiclesAndFacilities .vehiclesAndFacilitiesContents a:hover img {
      -webkit-filter: brightness(120%);
              filter: brightness(120%); }
  #vehiclesAndFacilities .vehiclesAndFacilitiesContents .item-1 {
    flex: 0 0 100%;
    margin-bottom: 5px; }
  #vehiclesAndFacilities .vehiclesAndFacilitiesContents .item-2, #vehiclesAndFacilities .vehiclesAndFacilitiesContents .item-3 {
    flex: 0 0 49%; }

#modal-image3 .col {
  border: 1px solid #dadbdb;
  padding: 10px; }

#modal-image3 .row {
  border: 1px solid #dadbdb; }

#misc .inner iframe {
  margin: 0 auto;
  display: block; }

#misc .miscBlock {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between; }
  #misc .miscBlock .item {
    flex: 0 1 48%; }
  #misc .miscBlock a.item {
    text-decoration: none;
    display: block;
    position: relative;
    margin: 0 1% 0 1%;
    transition: all .3s ease-in-out; }
    #misc .miscBlock a.item .img {
      overflow: hidden;
      position: relative;
      background: #313131; }
      #misc .miscBlock a.item .img:before {
        content: "";
        display: block;
        padding-top: 66.6666%; }
      #misc .miscBlock a.item .img img {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: auto;
        opacity: .9;
        transition: all .3s ease-in-out; }
    #misc .miscBlock a.item .txt {
      height: 4em;
      color: #fff;
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), black);
      position: absolute;
      width: 100%;
      bottom: 0;
      left: 0;
      padding: 1rem;
      display: flex;
      flex-flow: row nowrap;
      justify-content: center;
      align-items: center; }
    #misc .miscBlock a.item:hover img {
      opacity: 1;
      -webkit-transform: scale(1.2);
              transform: scale(1.2); }

#companyInformation {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start; }
  #companyInformation .item {
    text-decoration: none;
    display: block;
    flex: 0 1 100%;
    position: relative;
    margin: 0 1% 2rem 1%;
    transition: all .3s ease-in-out; }
    #companyInformation .item .img {
      display: block;
      overflow: hidden;
      position: relative;
      background: #313131; }
      #companyInformation .item .img .img-inner {
        display: block; }
      #companyInformation .item .img:before {
        content: "";
        display: block;
        padding-top: 66.6666%; }
      #companyInformation .item .img img {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: auto;
        opacity: .9;
        transition: all .3s ease-in-out; }
    #companyInformation .item .txt {
      height: 4em;
      color: #fff;
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), black);
      position: absolute;
      width: 100%;
      bottom: 0;
      left: 0;
      padding: 1rem;
      display: flex;
      flex-flow: row nowrap;
      text-align: center;
      justify-content: center;
      align-items: center; }
      #companyInformation .item .txt .right {
        position: absolute;
        right: 15px; }
    #companyInformation .item:hover img {
      opacity: 1;
      -webkit-transform: scale(1.2);
              transform: scale(1.2); }

#footer {
  background: #313131;
  color: #fff;
  padding: 3rem 10%; }
  #footer .row {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around; }
    #footer .row .col {
      flex-shrink: 1;
      flex-grow: 1;
      flex-basis: 100%;
      margin: 0 0 2rem; }
    #footer .row .col + .col {
      border-top: 1px dotted #fff;
      margin-top: 1rem;
      padding-top: 4rem; }
  #footer a {
    color: #fff; }
  #footer .txt {
    font-size: 1.8rem; }
  #footer .tel a {
    text-decoration: none;
    font-size: 2.6rem;
    font-weight: bold;
    white-space: nowrap; }
  #footer .addr a {
    margin-top: auto; }
  #footer .addr .btn-keiseiBus {
    text-decoration: none;
    padding: 1rem 4rem 1rem 2rem;
    border: 1px solid white;
    border-radius: 6px;
    text-align: center;
    display: inline-block;
    margin: 1rem auto;
    background: white;
    color: #425464;
    font-weight: 800;
    position: relative;
    width: 100%; }
    #footer .addr .btn-keiseiBus .right {
      position: absolute;
      top: 0;
      right: 10px;
      bottom: 0;
      left: auto;
      margin: auto;
      line-height: 1;
      height: 1em; }
    #footer .addr .btn-keiseiBus:hover {
      background: linear-gradient(to right, #008fd8, #81bc00);
      color: white; }
      #footer .addr .btn-keiseiBus:hover .fa-map-marker-times {
        color: white; }
  #footer .addr .btn-googleMap {
    text-decoration: none;
    padding: 1rem 4rem 1rem 2rem;
    border: 1px solid white;
    border-radius: 6px;
    text-align: center;
    display: inline-block;
    margin: 1rem auto;
    background: white;
    color: #425464;
    font-weight: 800;
    position: relative;
    width: 100%; }
    #footer .addr .btn-googleMap .fa-map-marker-times {
      margin-right: 0.2em;
      color: #dd001c;
      font-size: 1.6em;
      display: inline-block;
      vertical-align: middle;
      transition: all .3s ease-in-out; }
    #footer .addr .btn-googleMap .right {
      position: absolute;
      top: 0;
      right: 10px;
      bottom: 0;
      left: auto;
      margin: auto;
      line-height: 1;
      height: 1em; }
    #footer .addr .btn-googleMap:hover {
      background: linear-gradient(to right, #ff9800, #dd001c);
      color: white; }
      #footer .addr .btn-googleMap:hover .fa-map-marker-times {
        color: white; }
  #footer .linkList li {
    margin-bottom: 1rem; }
    #footer .linkList li a {
      text-decoration: none;
      font-weight: bold; }
      #footer .linkList li a:hover {
        text-decoration: underline; }
  #footer .snsLink {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    margin-top: 2rem;
    height: 50px; }
    #footer .snsLink li {
      flex: 0 0 50px; }
    #footer .snsLink a {
      display: block; }
      #footer .snsLink a img {
        opacity: 1;
        transition: all .3s ease-in-out; }
      #footer .snsLink a:hover img {
        -webkit-filter: saturate(3);
                filter: saturate(3);
        opacity: 1; }
      #footer .snsLink a i {
        font-size: 50px;
        opacity: 0.6;
        transition: all .3s ease-in-out; }
      #footer .snsLink a:hover i {
        opacity: 1; }
  #footer .logo {
    text-align: center;
    margin-top: 2rem; }
    #footer .logo img {
      height: 50px; }
  #footer .copy {
    margin-top: 2rem;
    text-align: center; }

#plan .row {
  display: block; }
  #plan .row .col {
    margin-top: 20px; }

#plan .ttl-sp {
  text-align: center; }

#plan .poster {
  width: 80%;
  margin: auto; }
  #plan .poster img {
    display: block;
    margin: auto;
    width: 100%;
    box-shadow: 2px 2px 4px #313131;
    border: 1px solid #dadbdb; }
  @media (min-width: 1000px) and (max-width: 1299px) {
  input, select, textarea {
    font-size: 1.6rem; }
    .wrap {
      width: 1000px; } }
  @media screen and (min-width: 768px) and (max-width: 999px), print {
  .tb_alL {
    text-align: left !important; }
  .tb_alC {
    text-align: center !important; }
  .tb_alR {
    text-align: right !important; }
  .istb {
    display: block !important; }
  .istbIn {
    display: inline !important; }
  .istbInBlock {
    display: inline-block !important; }
  .istbFlex {
    display: flex !important; }
  .istbInFlex {
    display: inline-flex !important; }
  /*----- align -----*/
  /* text-align */
  .tb_alL {
    text-align: left !important; }
  .tb_alC {
    text-align: center !important; }
  .tb_alR {
    text-align: right !important; }
  .tbW1per {
    width: 1% !important; }
  .tbW2per {
    width: 2% !important; }
  .tbW3per {
    width: 3% !important; }
  .tbW4per {
    width: 4% !important; }
  .tbW5per {
    width: 5% !important; }
  .tbW6per {
    width: 6% !important; }
  .tbW7per {
    width: 7% !important; }
  .tbW8per {
    width: 8% !important; }
  .tbW9per {
    width: 9% !important; }
  .tbW10per {
    width: 10% !important; }
  .tbW11per {
    width: 11% !important; }
  .tbW12per {
    width: 12% !important; }
  .tbW13per {
    width: 13% !important; }
  .tbW14per {
    width: 14% !important; }
  .tbW15per {
    width: 15% !important; }
  .tbW16per {
    width: 16% !important; }
  .tbW17per {
    width: 17% !important; }
  .tbW18per {
    width: 18% !important; }
  .tbW19per {
    width: 19% !important; }
  .tbW20per {
    width: 20% !important; }
  .tbW21per {
    width: 21% !important; }
  .tbW22per {
    width: 22% !important; }
  .tbW23per {
    width: 23% !important; }
  .tbW24per {
    width: 24% !important; }
  .tbW25per {
    width: 25% !important; }
  .tbW26per {
    width: 26% !important; }
  .tbW27per {
    width: 27% !important; }
  .tbW28per {
    width: 28% !important; }
  .tbW29per {
    width: 29% !important; }
  .tbW30per {
    width: 30% !important; }
  .tbW31per {
    width: 31% !important; }
  .tbW32per {
    width: 32% !important; }
  .tbW33per {
    width: 33% !important; }
  .tbW34per {
    width: 34% !important; }
  .tbW35per {
    width: 35% !important; }
  .tbW36per {
    width: 36% !important; }
  .tbW37per {
    width: 37% !important; }
  .tbW38per {
    width: 38% !important; }
  .tbW39per {
    width: 39% !important; }
  .tbW40per {
    width: 40% !important; }
  .tbW41per {
    width: 41% !important; }
  .tbW42per {
    width: 42% !important; }
  .tbW43per {
    width: 43% !important; }
  .tbW44per {
    width: 44% !important; }
  .tbW45per {
    width: 45% !important; }
  .tbW46per {
    width: 46% !important; }
  .tbW47per {
    width: 47% !important; }
  .tbW48per {
    width: 48% !important; }
  .tbW49per {
    width: 49% !important; }
  .tbW50per {
    width: 50% !important; }
  .tbW51per {
    width: 51% !important; }
  .tbW52per {
    width: 52% !important; }
  .tbW53per {
    width: 53% !important; }
  .tbW54per {
    width: 54% !important; }
  .tbW55per {
    width: 55% !important; }
  .tbW56per {
    width: 56% !important; }
  .tbW57per {
    width: 57% !important; }
  .tbW58per {
    width: 58% !important; }
  .tbW59per {
    width: 59% !important; }
  .tbW60per {
    width: 60% !important; }
  .tbW61per {
    width: 61% !important; }
  .tbW62per {
    width: 62% !important; }
  .tbW63per {
    width: 63% !important; }
  .tbW64per {
    width: 64% !important; }
  .tbW65per {
    width: 65% !important; }
  .tbW66per {
    width: 66% !important; }
  .tbW67per {
    width: 67% !important; }
  .tbW68per {
    width: 68% !important; }
  .tbW69per {
    width: 69% !important; }
  .tbW70per {
    width: 70% !important; }
  .tbW71per {
    width: 71% !important; }
  .tbW72per {
    width: 72% !important; }
  .tbW73per {
    width: 73% !important; }
  .tbW74per {
    width: 74% !important; }
  .tbW75per {
    width: 75% !important; }
  .tbW76per {
    width: 76% !important; }
  .tbW77per {
    width: 77% !important; }
  .tbW78per {
    width: 78% !important; }
  .tbW79per {
    width: 79% !important; }
  .tbW80per {
    width: 80% !important; }
  .tbW81per {
    width: 81% !important; }
  .tbW82per {
    width: 82% !important; }
  .tbW83per {
    width: 83% !important; }
  .tbW84per {
    width: 84% !important; }
  .tbW85per {
    width: 85% !important; }
  .tbW86per {
    width: 86% !important; }
  .tbW87per {
    width: 87% !important; }
  .tbW88per {
    width: 88% !important; }
  .tbW89per {
    width: 89% !important; }
  .tbW90per {
    width: 90% !important; }
  .tbW91per {
    width: 91% !important; }
  .tbW92per {
    width: 92% !important; }
  .tbW93per {
    width: 93% !important; }
  .tbW94per {
    width: 94% !important; }
  .tbW95per {
    width: 95% !important; }
  .tbW96per {
    width: 96% !important; }
  .tbW97per {
    width: 97% !important; }
  .tbW98per {
    width: 98% !important; }
  .tbW99per {
    width: 99% !important; }
  .tb_WFull {
    width: 100% !important; }
  .tb_WAuto {
    width: auto !important; }
  .tb_W1-3rd {
    width: 33.33% !important; }
  .tb_W2-3rd {
    width: 66.66% !important; }
  .tb_W1-6th {
    width: 16.66% !important; }
  .tb_W1-7th {
    width: 14.28% !important; }
  .tb_W1-8th {
    width: 12.5%  !important; }
  .tb_W1-9th {
    width: 11.11% !important; }
  /*----- flex -----*/
  .tb_flex-block {
    display: flex;
    display: -webkit-flex; }
  .tb_flex-inline {
    display: inline-flex;
    display: -webkit-inline-flex; }
  .tb_flex-direction-row {
    flex-direction: row; }
  .tb_flex-direction-row-reverse {
    flex-direction: row-reverse; }
  .tb_flex-direction-column {
    flex-direction: column; }
  .tb_flex-direction-column-reverse {
    flex-direction: column-reverse; }
  .tb_flex-wrap-nowrap {
    flex-wrap: nowrap; }
  .tb_flex-wrap-wrap {
    flex-wrap: wrap; }
  .tb_flex-wrap-wrap-reverse {
    flex-wrap: wrap-reverse; }
  .tb_flex-flow-row-wrap {
    flex-flow: row wrap; }
  .tb_flex-flow-row-nowrap {
    flex-flow: row nowrap; }
  .tb_flex-flow-row-reverse-wrap {
    flex-flow: row-reverse wrap; }
  .tb_flex-flow-row-reverse-nowrap {
    flex-flow: row-reverse nowrap; }
  .tb_justify-start {
    justify-content: flex-start; }
  .tb_justify-end {
    justify-content: flex-end; }
  .tb_justify-space-between {
    justify-content: space-between; }
  .tb_justify-space-around {
    justify-content: space-around; }
  .tb_align-items-stretch {
    align-items: stretch; }
  .tb_align-items-flex-start {
    align-items: flex-start; }
  .tb_align-items-flex-end {
    align-items: flex-end; }
  .tb_align-items-center {
    align-items: center; }
  .tb_align-items-baseline {
    align-items: baseline; }
  .tb_align-content-stretch {
    align-content: stretch; }
  .tb_align-content-flex-start {
    align-content: flex-start; }
  .tb_align-content-flex-end {
    align-content: flex-end; }
  .tb_align-content-center {
    align-content: center; }
  .tb_align-content-space-between {
    align-content: space-between; }
  .tb_align-content-space-around {
    align-content: space-around; }
  .tb_align-self-auto {
    align-self: auto; }
  .tb_align-self-flex-start {
    align-self: flex-start; }
  .tb_align-self-flex-end {
    align-self: flex-end; }
  .tb_align-self-center {
    align-self: center; }
  .tb_align-self-stretch {
    align-self: stretch; }
  .tb_align-self-baseline {
    align-self: baseline; } }
  @media screen and (min-width: 1000px), print {
  .pcW1per {
    width: 1% !important; }
  .pcW2per {
    width: 2% !important; }
  .pcW3per {
    width: 3% !important; }
  .pcW4per {
    width: 4% !important; }
  .pcW5per {
    width: 5% !important; }
  .pcW6per {
    width: 6% !important; }
  .pcW7per {
    width: 7% !important; }
  .pcW8per {
    width: 8% !important; }
  .pcW9per {
    width: 9% !important; }
  .pcW10per {
    width: 10% !important; }
  .pcW11per {
    width: 11% !important; }
  .pcW12per {
    width: 12% !important; }
  .pcW13per {
    width: 13% !important; }
  .pcW14per {
    width: 14% !important; }
  .pcW15per {
    width: 15% !important; }
  .pcW16per {
    width: 16% !important; }
  .pcW17per {
    width: 17% !important; }
  .pcW18per {
    width: 18% !important; }
  .pcW19per {
    width: 19% !important; }
  .pcW20per {
    width: 20% !important; }
  .pcW21per {
    width: 21% !important; }
  .pcW22per {
    width: 22% !important; }
  .pcW23per {
    width: 23% !important; }
  .pcW24per {
    width: 24% !important; }
  .pcW25per {
    width: 25% !important; }
  .pcW26per {
    width: 26% !important; }
  .pcW27per {
    width: 27% !important; }
  .pcW28per {
    width: 28% !important; }
  .pcW29per {
    width: 29% !important; }
  .pcW30per {
    width: 30% !important; }
  .pcW31per {
    width: 31% !important; }
  .pcW32per {
    width: 32% !important; }
  .pcW33per {
    width: 33% !important; }
  .pcW34per {
    width: 34% !important; }
  .pcW35per {
    width: 35% !important; }
  .pcW36per {
    width: 36% !important; }
  .pcW37per {
    width: 37% !important; }
  .pcW38per {
    width: 38% !important; }
  .pcW39per {
    width: 39% !important; }
  .pcW40per {
    width: 40% !important; }
  .pcW41per {
    width: 41% !important; }
  .pcW42per {
    width: 42% !important; }
  .pcW43per {
    width: 43% !important; }
  .pcW44per {
    width: 44% !important; }
  .pcW45per {
    width: 45% !important; }
  .pcW46per {
    width: 46% !important; }
  .pcW47per {
    width: 47% !important; }
  .pcW48per {
    width: 48% !important; }
  .pcW49per {
    width: 49% !important; }
  .pcW50per {
    width: 50% !important; }
  .pcW51per {
    width: 51% !important; }
  .pcW52per {
    width: 52% !important; }
  .pcW53per {
    width: 53% !important; }
  .pcW54per {
    width: 54% !important; }
  .pcW55per {
    width: 55% !important; }
  .pcW56per {
    width: 56% !important; }
  .pcW57per {
    width: 57% !important; }
  .pcW58per {
    width: 58% !important; }
  .pcW59per {
    width: 59% !important; }
  .pcW60per {
    width: 60% !important; }
  .pcW61per {
    width: 61% !important; }
  .pcW62per {
    width: 62% !important; }
  .pcW63per {
    width: 63% !important; }
  .pcW64per {
    width: 64% !important; }
  .pcW65per {
    width: 65% !important; }
  .pcW66per {
    width: 66% !important; }
  .pcW67per {
    width: 67% !important; }
  .pcW68per {
    width: 68% !important; }
  .pcW69per {
    width: 69% !important; }
  .pcW70per {
    width: 70% !important; }
  .pcW71per {
    width: 71% !important; }
  .pcW72per {
    width: 72% !important; }
  .pcW73per {
    width: 73% !important; }
  .pcW74per {
    width: 74% !important; }
  .pcW75per {
    width: 75% !important; }
  .pcW76per {
    width: 76% !important; }
  .pcW77per {
    width: 77% !important; }
  .pcW78per {
    width: 78% !important; }
  .pcW79per {
    width: 79% !important; }
  .pcW80per {
    width: 80% !important; }
  .pcW81per {
    width: 81% !important; }
  .pcW82per {
    width: 82% !important; }
  .pcW83per {
    width: 83% !important; }
  .pcW84per {
    width: 84% !important; }
  .pcW85per {
    width: 85% !important; }
  .pcW86per {
    width: 86% !important; }
  .pcW87per {
    width: 87% !important; }
  .pcW88per {
    width: 88% !important; }
  .pcW89per {
    width: 89% !important; }
  .pcW90per {
    width: 90% !important; }
  .pcW91per {
    width: 91% !important; }
  .pcW92per {
    width: 92% !important; }
  .pcW93per {
    width: 93% !important; }
  .pcW94per {
    width: 94% !important; }
  .pcW95per {
    width: 95% !important; }
  .pcW96per {
    width: 96% !important; }
  .pcW97per {
    width: 97% !important; }
  .pcW98per {
    width: 98% !important; }
  .pcW99per {
    width: 99% !important; }
  /*----- align -----*/
  /* text-align */
  .pc_alL {
    text-align: left !important; }
  .pc_alC {
    text-align: center !important; }
  .pc_alR {
    text-align: right !important; }
  .ispc {
    display: block !important; }
  .ispcIn {
    display: inline !important; }
  .ispcInBlock {
    display: inline-block !important; }
  .ispcFlex {
    display: flex !important; }
  .ispcInFlex {
    display: inline-flex !important; }
  /*----- flex -----*/
  .pc_flex-block {
    display: flex;
    display: -webkit-flex; }
  .pc_flex-inline {
    display: inline-flex;
    display: -webkit-inline-flex; }
  .pc_flex-direction-row {
    flex-direction: row; }
  .pc_flex-direction-row-reverse {
    flex-direction: row-reverse; }
  .pc_flex-direction-column {
    flex-direction: column; }
  .pc_flex-direction-column-reverse {
    flex-direction: column-reverse; }
  .pc_flex-wrap-nowrap {
    flex-wrap: nowrap; }
  .pc_flex-wrap-wrap {
    flex-wrap: wrap; }
  .pc_flex-wrap-wrap-reverse {
    flex-wrap: wrap-reverse; }
  .pc_flex-flow-row-wrap {
    flex-flow: row wrap; }
  .pc_flex-flow-row-nowrap {
    flex-flow: row nowrap; }
  .pc_flex-flow-row-reverse-wrap {
    flex-flow: row-reverse wrap; }
  .pc_flex-flow-row-reverse-nowrap {
    flex-flow: row-reverse nowrap; }
  .pc_justify-start {
    justify-content: flex-start; }
  .pc_justify-end {
    justify-content: flex-end; }
  .pc_justify-space-between {
    justify-content: space-between; }
  .pc_justify-space-around {
    justify-content: space-around; }
  .pc_align-items-stretch {
    align-items: stretch; }
  .pc_align-items-flex-start {
    align-items: flex-start; }
  .pc_align-items-flex-end {
    align-items: flex-end; }
  .pc_align-items-center {
    align-items: center; }
  .pc_align-items-baseline {
    align-items: baseline; }
  .pc_align-content-stretch {
    align-content: stretch; }
  .pc_align-content-flex-start {
    align-content: flex-start; }
  .pc_align-content-flex-end {
    align-content: flex-end; }
  .pc_align-content-center {
    align-content: center; }
  .pc_align-content-space-between {
    align-content: space-between; }
  .pc_align-content-space-around {
    align-content: space-around; }
  .pc_align-self-auto {
    align-self: auto; }
  .pc_align-self-flex-start {
    align-self: flex-start; }
  .pc_align-self-flex-end {
    align-self: flex-end; }
  .pc_align-self-center {
    align-self: center; }
  .pc_align-self-stretch {
    align-self: stretch; }
  .pc_align-self-baseline {
    align-self: baseline; } }
  @media screen and (max-width: 767px) {
  .spW1per {
    width: 1% !important; }
  .spW2per {
    width: 2% !important; }
  .spW3per {
    width: 3% !important; }
  .spW4per {
    width: 4% !important; }
  .spW5per {
    width: 5% !important; }
  .spW6per {
    width: 6% !important; }
  .spW7per {
    width: 7% !important; }
  .spW8per {
    width: 8% !important; }
  .spW9per {
    width: 9% !important; }
  .spW10per {
    width: 10% !important; }
  .spW11per {
    width: 11% !important; }
  .spW12per {
    width: 12% !important; }
  .spW13per {
    width: 13% !important; }
  .spW14per {
    width: 14% !important; }
  .spW15per {
    width: 15% !important; }
  .spW16per {
    width: 16% !important; }
  .spW17per {
    width: 17% !important; }
  .spW18per {
    width: 18% !important; }
  .spW19per {
    width: 19% !important; }
  .spW20per {
    width: 20% !important; }
  .spW21per {
    width: 21% !important; }
  .spW22per {
    width: 22% !important; }
  .spW23per {
    width: 23% !important; }
  .spW24per {
    width: 24% !important; }
  .spW25per {
    width: 25% !important; }
  .spW26per {
    width: 26% !important; }
  .spW27per {
    width: 27% !important; }
  .spW28per {
    width: 28% !important; }
  .spW29per {
    width: 29% !important; }
  .spW30per {
    width: 30% !important; }
  .spW31per {
    width: 31% !important; }
  .spW32per {
    width: 32% !important; }
  .spW33per {
    width: 33% !important; }
  .spW34per {
    width: 34% !important; }
  .spW35per {
    width: 35% !important; }
  .spW36per {
    width: 36% !important; }
  .spW37per {
    width: 37% !important; }
  .spW38per {
    width: 38% !important; }
  .spW39per {
    width: 39% !important; }
  .spW40per {
    width: 40% !important; }
  .spW41per {
    width: 41% !important; }
  .spW42per {
    width: 42% !important; }
  .spW43per {
    width: 43% !important; }
  .spW44per {
    width: 44% !important; }
  .spW45per {
    width: 45% !important; }
  .spW46per {
    width: 46% !important; }
  .spW47per {
    width: 47% !important; }
  .spW48per {
    width: 48% !important; }
  .spW49per {
    width: 49% !important; }
  .spW50per {
    width: 50% !important; }
  .spW51per {
    width: 51% !important; }
  .spW52per {
    width: 52% !important; }
  .spW53per {
    width: 53% !important; }
  .spW54per {
    width: 54% !important; }
  .spW55per {
    width: 55% !important; }
  .spW56per {
    width: 56% !important; }
  .spW57per {
    width: 57% !important; }
  .spW58per {
    width: 58% !important; }
  .spW59per {
    width: 59% !important; }
  .spW60per {
    width: 60% !important; }
  .spW61per {
    width: 61% !important; }
  .spW62per {
    width: 62% !important; }
  .spW63per {
    width: 63% !important; }
  .spW64per {
    width: 64% !important; }
  .spW65per {
    width: 65% !important; }
  .spW66per {
    width: 66% !important; }
  .spW67per {
    width: 67% !important; }
  .spW68per {
    width: 68% !important; }
  .spW69per {
    width: 69% !important; }
  .spW70per {
    width: 70% !important; }
  .spW71per {
    width: 71% !important; }
  .spW72per {
    width: 72% !important; }
  .spW73per {
    width: 73% !important; }
  .spW74per {
    width: 74% !important; }
  .spW75per {
    width: 75% !important; }
  .spW76per {
    width: 76% !important; }
  .spW77per {
    width: 77% !important; }
  .spW78per {
    width: 78% !important; }
  .spW79per {
    width: 79% !important; }
  .spW80per {
    width: 80% !important; }
  .spW81per {
    width: 81% !important; }
  .spW82per {
    width: 82% !important; }
  .spW83per {
    width: 83% !important; }
  .spW84per {
    width: 84% !important; }
  .spW85per {
    width: 85% !important; }
  .spW86per {
    width: 86% !important; }
  .spW87per {
    width: 87% !important; }
  .spW88per {
    width: 88% !important; }
  .spW89per {
    width: 89% !important; }
  .spW90per {
    width: 90% !important; }
  .spW91per {
    width: 91% !important; }
  .spW92per {
    width: 92% !important; }
  .spW93per {
    width: 93% !important; }
  .spW94per {
    width: 94% !important; }
  .spW95per {
    width: 95% !important; }
  .spW96per {
    width: 96% !important; }
  .spW97per {
    width: 97% !important; }
  .spW98per {
    width: 98% !important; }
  .spW99per {
    width: 99% !important; }
  .pc_nowrap {
    white-space: normal !important; }
  .sp_nowrap {
    white-space: nowrap !important; }
  .issp {
    display: block !important; }
  .isspIn {
    display: inline !important; }
  .isspInBlock {
    display: inline-block !important; }
  .isspFlex {
    display: flex !important; }
  .isspInFlex {
    display: inline-flex !important; }
  /*----- align -----*/
  /* text-align */
  .sp_alL {
    text-align: left !important; }
  .sp_alC {
    text-align: center !important; }
  .sp_alR {
    text-align: right !important; }
  .spW1per {
    width: 1% !important; }
  .spW2per {
    width: 2% !important; }
  .spW3per {
    width: 3% !important; }
  .spW4per {
    width: 4% !important; }
  .spW5per {
    width: 5% !important; }
  .spW6per {
    width: 6% !important; }
  .spW7per {
    width: 7% !important; }
  .spW8per {
    width: 8% !important; }
  .spW9per {
    width: 9% !important; }
  .spW10per {
    width: 10% !important; }
  .spW11per {
    width: 11% !important; }
  .spW12per {
    width: 12% !important; }
  .spW13per {
    width: 13% !important; }
  .spW14per {
    width: 14% !important; }
  .spW15per {
    width: 15% !important; }
  .spW16per {
    width: 16% !important; }
  .spW17per {
    width: 17% !important; }
  .spW18per {
    width: 18% !important; }
  .spW19per {
    width: 19% !important; }
  .spW20per {
    width: 20% !important; }
  .spW21per {
    width: 21% !important; }
  .spW22per {
    width: 22% !important; }
  .spW23per {
    width: 23% !important; }
  .spW24per {
    width: 24% !important; }
  .spW25per {
    width: 25% !important; }
  .spW26per {
    width: 26% !important; }
  .spW27per {
    width: 27% !important; }
  .spW28per {
    width: 28% !important; }
  .spW29per {
    width: 29% !important; }
  .spW30per {
    width: 30% !important; }
  .spW31per {
    width: 31% !important; }
  .spW32per {
    width: 32% !important; }
  .spW33per {
    width: 33% !important; }
  .spW34per {
    width: 34% !important; }
  .spW35per {
    width: 35% !important; }
  .spW36per {
    width: 36% !important; }
  .spW37per {
    width: 37% !important; }
  .spW38per {
    width: 38% !important; }
  .spW39per {
    width: 39% !important; }
  .spW40per {
    width: 40% !important; }
  .spW41per {
    width: 41% !important; }
  .spW42per {
    width: 42% !important; }
  .spW43per {
    width: 43% !important; }
  .spW44per {
    width: 44% !important; }
  .spW45per {
    width: 45% !important; }
  .spW46per {
    width: 46% !important; }
  .spW47per {
    width: 47% !important; }
  .spW48per {
    width: 48% !important; }
  .spW49per {
    width: 49% !important; }
  .spW50per {
    width: 50% !important; }
  .spW51per {
    width: 51% !important; }
  .spW52per {
    width: 52% !important; }
  .spW53per {
    width: 53% !important; }
  .spW54per {
    width: 54% !important; }
  .spW55per {
    width: 55% !important; }
  .spW56per {
    width: 56% !important; }
  .spW57per {
    width: 57% !important; }
  .spW58per {
    width: 58% !important; }
  .spW59per {
    width: 59% !important; }
  .spW60per {
    width: 60% !important; }
  .spW61per {
    width: 61% !important; }
  .spW62per {
    width: 62% !important; }
  .spW63per {
    width: 63% !important; }
  .spW64per {
    width: 64% !important; }
  .spW65per {
    width: 65% !important; }
  .spW66per {
    width: 66% !important; }
  .spW67per {
    width: 67% !important; }
  .spW68per {
    width: 68% !important; }
  .spW69per {
    width: 69% !important; }
  .spW70per {
    width: 70% !important; }
  .spW71per {
    width: 71% !important; }
  .spW72per {
    width: 72% !important; }
  .spW73per {
    width: 73% !important; }
  .spW74per {
    width: 74% !important; }
  .spW75per {
    width: 75% !important; }
  .spW76per {
    width: 76% !important; }
  .spW77per {
    width: 77% !important; }
  .spW78per {
    width: 78% !important; }
  .spW79per {
    width: 79% !important; }
  .spW80per {
    width: 80% !important; }
  .spW81per {
    width: 81% !important; }
  .spW82per {
    width: 82% !important; }
  .spW83per {
    width: 83% !important; }
  .spW84per {
    width: 84% !important; }
  .spW85per {
    width: 85% !important; }
  .spW86per {
    width: 86% !important; }
  .spW87per {
    width: 87% !important; }
  .spW88per {
    width: 88% !important; }
  .spW89per {
    width: 89% !important; }
  .spW90per {
    width: 90% !important; }
  .spW91per {
    width: 91% !important; }
  .spW92per {
    width: 92% !important; }
  .spW93per {
    width: 93% !important; }
  .spW94per {
    width: 94% !important; }
  .spW95per {
    width: 95% !important; }
  .spW96per {
    width: 96% !important; }
  .spW97per {
    width: 97% !important; }
  .spW98per {
    width: 98% !important; }
  .spW99per {
    width: 99% !important; }
  .spWFull {
    width: 100% !important; }
  .spWAuto {
    width: auto !important; }
  .spW1-3rd {
    width: 33.33% !important; }
  .spW2-3rd {
    width: 66.66% !important; }
  .spW1-6th {
    width: 16.66% !important; }
  .spW1-7th {
    width: 14.28% !important; }
  .spW1-8th {
    width: 12.5%  !important; }
  .spW1-9th {
    width: 11.11% !important; }
  /*----- flex -----*/
  .sp_flex-block {
    display: flex;
    display: -webkit-flex; }
  .sp_flex-inline {
    display: inline-flex;
    display: -webkit-inline-flex; }
  .sp_flex-direction-row {
    flex-direction: row; }
  .sp_flex-direction-row-reverse {
    flex-direction: row-reverse; }
  .sp_flex-direction-column {
    flex-direction: column; }
  .sp_flex-direction-column-reverse {
    flex-direction: column-reverse; }
  .sp_flex-wrap-nowrap {
    flex-wrap: nowrap; }
  .sp_flex-wrap-wrap {
    flex-wrap: wrap; }
  .sp_flex-wrap-wrap-reverse {
    flex-wrap: wrap-reverse; }
  .sp_flex-flow-row-wrap {
    flex-flow: row wrap; }
  .sp_flex-flow-row-nowrap {
    flex-flow: row nowrap; }
  .sp_flex-flow-row-reverse-wrap {
    flex-flow: row-reverse wrap; }
  .sp_flex-flow-row-reverse-nowrap {
    flex-flow: row-reverse nowrap; }
  .sp_justify-start {
    justify-content: flex-start; }
  .sp_justify-end {
    justify-content: flex-end; }
  .sp_justify-space-between {
    justify-content: space-between; }
  .sp_justify-space-around {
    justify-content: space-around; }
  .sp_align-items-stretch {
    align-items: stretch; }
  .sp_align-items-flex-start {
    align-items: flex-start; }
  .sp_align-items-flex-end {
    align-items: flex-end; }
  .sp_align-items-center {
    align-items: center; }
  .sp_align-items-baseline {
    align-items: baseline; }
  .sp_align-content-stretch {
    align-content: stretch; }
  .sp_align-content-flex-start {
    align-content: flex-start; }
  .sp_align-content-flex-end {
    align-content: flex-end; }
  .sp_align-content-center {
    align-content: center; }
  .sp_align-content-space-between {
    align-content: space-between; }
  .sp_align-content-space-around {
    align-content: space-around; }
  .sp_align-self-auto {
    align-self: auto; }
  .sp_align-self-flex-start {
    align-self: flex-start; }
  .sp_align-self-flex-end {
    align-self: flex-end; }
  .sp_align-self-center {
    align-self: center; }
  .sp_align-self-stretch {
    align-self: stretch; }
  .sp_align-self-baseline {
    align-self: baseline; } 
  #map .mapGuide{
    font-size: 1.1rem;
    width: 130px;
  }}
  @media screen and (max-width: 374px) {
  body {
    font-size: 1.2rem; } }
  @media (max-width: 350px) {
    .wrap {
      max-width: 350px; }
  #hero .hero-txt-box {
    right: 3%;
    width: 94%; }
  #hero .hero-txt img {
    width: 45%; }
  #hero .hero-txt .bold {
    font-size: 6.0vw; } }
  @media (max-width: 766px) {
    .wrap {
      max-width: 567px; }
    .wrap .inner {
      margin: 0 5%; }
    .table04 {
      border: 0;
      width: 90%; }
      .table04 thead tr:last-child {
        border: none; }
        .table04 thead tr:last-child th, .table04 thead tr:last-child td {
          background: transparent !important;
          font-size: 2rem; }
      .table04 thead td {
        border: none !important;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
      .table04 tr {
        display: flex;
        flex-flow: row wrap;
        align-items: stretch;
        padding-top: 0;
        justify-content: space-around; }
        .table04 tr:last-child {
          border-bottom: 1px dotted #0069c7; }
      .table04 th {
        flex: 1 1 50%;
        padding: 1.3rem 10px 1.3rem 10px; }
      .table04 td {
        flex-grow: 1;
        border-bottom: 1px solid #0069c7;
        display: block;
        text-align: right;
        position: relative;
        padding: 1rem 0.5em 1rem 2em;
        border-right: none;
        font-size: 2rem; }
      .table04 th.ttl {
        display: block;
        flex: 1 0 100%;
        border-right: none;
        border-bottom: 2px solid #0069c7;
        padding-bottom: .625em;
        margin-top: 3em; }
      .table04 td::before {
        content: attr(data-label);
        font-weight: 700;
        font-size: 1.6rem;
        height: 1.6rem;
        line-height: 1;
        position: absolute;
        left: 10px;
        top: 0;
        bottom: 0;
        margin: auto;
        color: #000;
        width: 60%;
        text-align: center; }
      .table04 td:last-child {
        border-bottom: 0; } 
      .ttl1-1{font-size: 2.3rem;}
}
  @media (min-width: 567px) and (max-width: 766px) {
    .wrap {
      max-width: 567px; }
    .wrap .inner {
      margin: 0 0; } }
  @media (min-width: 767px) and (max-width: 999px) {
    .wrap {
      max-width: 767px; }
    .wrap .inner {
      margin: 0 2rem; } }
  @media (min-width: 767px) {
    .wrap {
      width: 767px; }
    .ttl1-1 {
      font-size: 4rem; }
      .ttl1-1 span {
        font-size: 2.2rem; }
    .ttl3-1 {
      font-size: 1.6rem; }
    #main {
      padding-top: 40px; }
    #header {
      height: 40px;
      font-size: 12px; }
      #header #nav {
        height: 40px; }
        #header #nav .translate {
          display: block;
          margin-right: 1rem; }
      #header .navList {
        top: 40px; }
  body.noTop #header {
    height: 30px; }
    body.noTop #header #logo {
      width: 128px;
      height: 24px; }
    body.noTop #header #nav {
      height: 30px; }
      body.noTop #header #nav .lineBlock .text {
        font-size: 10px; }
      body.noTop #header #nav .lineBlock .lines {
        width: 24px;
        height: 24px; }
        body.noTop #header #nav .lineBlock .lines .line1 {
          -webkit-transform: translateY(-7px);
                  transform: translateY(-7px); }
        body.noTop #header #nav .lineBlock .lines .line2 {
          -webkit-transform: translateY(7px);
                  transform: translateY(7px); }
    body.noTop #header .navList {
      top: 30px; }
  #hero .hero-txt-box {
    top: 0;
    left: auto;
    right: 7%;
    bottom: 0;
    margin: auto;
    width: 40%;
    display: flex;
    align-items: center; }
  #hero .hero-txt {
    height: auto;
    position: static;
    min-width: 40vw; }
    #hero .hero-txt img {
      position: static;
      display: block;
      margin: 0 0 0 auto;
      width: 100%; }
    #hero .hero-txt .bold {
      position: static;
      margin: 15px auto 0;
      font-size: 4.2vw; }
    .hero-band .band01 {
      -webkit-transform: translate(-30%, -70%) rotate(-33deg);
              transform: translate(-30%, -70%) rotate(-33deg); }
    .hero-band .band02 {
      -webkit-transform: translate(45%, -30%) rotate(70deg);
              transform: translate(45%, -30%) rotate(70deg); }
    .hero-band .band03 {
      -webkit-transform: translate(-10%, 85%) rotate(3deg);
              transform: translate(-10%, 85%) rotate(3deg); }
    .theme01 {
      display: flex;
      flex-flow: row wrap; }
      .theme01 .ttl2-1 {
        flex: 0 0 100%; }
      .theme01.l10 .leftCol {
        flex: 0 0 10%; }
      .theme01.l10 .rightCol {
        flex: 0 0 90%; }
      .theme01.l20 .leftCol {
        flex: 0 0 20%; }
      .theme01.l20 .rightCol {
        flex: 0 0 80%; }
      .theme01.l30 .leftCol {
        flex: 0 0 30%; }
      .theme01.l30 .rightCol {
        flex: 0 0 70%; }
      .theme01.l40 .leftCol {
        flex: 0 0 40%; }
      .theme01.l40 .rightCol {
        flex: 0 0 60%; }
      .theme01.l50 .leftCol {
        flex: 0 0 50%; }
      .theme01.l50 .rightCol {
        flex: 0 0 50%; }
      .theme01.l60 .leftCol {
        flex: 0 0 60%; }
      .theme01.l60 .rightCol {
        flex: 0 0 40%; }
      .theme01.l70 .leftCol {
        flex: 0 0 70%; }
      .theme01.l70 .rightCol {
        flex: 0 0 30%; }
      .theme01.l80 .leftCol {
        flex: 0 0 80%; }
      .theme01.l80 .rightCol {
        flex: 0 0 20%; }
      .theme01.l90 .leftCol {
        flex: 0 0 90%; }
      .theme01.l90 .rightCol {
        flex: 0 0 10%; }
      .theme01 .leftCol {
        flex: 0 0 50%; }
        .theme01 .leftCol > div {
          padding: 0 2em 1em 0; }
      .theme01 .rightCol {
        flex: 0 0 50%; }
  #preFullService {
    overflow: hidden;
    zoom: 1; }
    #preFullService .box-01 {
      text-align: left;
      width: 50%;
      position: absolute;
      right: 0; }
      #preFullService .box-01 .txt {
        text-align: left;
        margin-top: 1rem;
        font-size: 1.3rem;
        -webkit-font-feature-settings: "pwid" 1;
                font-feature-settings: "pwid" 1; }
    #preFullService .box-02 {
      position: absolute;
      right: 5%;
      bottom: 20%; }
      #preFullService .box-02 .btn-01 {
        position: static;
        float: right; }
    #preFullService .box-03 {
      position: static;
      display: block;
      margin: 11rem auto 0;
      clear: both; }
      #preFullService .box-03 .bg-img {
        text-align: center; }
  #concept .conceptContents {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center; }
    #concept .conceptContents .leftCol {
      flex: 0 0 25%;
      width: auto;
      margin: 0;
      align-self: center; }
      #concept .conceptContents .leftCol .logo {
        margin: 0; }
        #concept .conceptContents .leftCol .logo img {
          display: block; }
    #concept .conceptContents .rightCol {
      flex: 0 0 70%; }
    #concept .conceptContents .ttl {
      text-align: left;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      align-items: center; }
      #concept .conceptContents .ttl .lead {
        flex: 0 0 100%; }
      #concept .conceptContents .ttl .ttl3-1 {
        flex: 0 0 40%; }
      #concept .conceptContents .ttl .gradient {
        flex: 0 0 50%;
        margin: auto 0;
        width: 100%; }
    #concept .conceptContents .rightCol .item:first-child .ttl {
      margin-top: 0; }
    #merit .meritContents {
      flex-flow: row nowrap; }
      #merit .meritContents .item {
        flex: 0 0 25%; }
      #map #mapCaution {
        width: auto; }
    #map #mapCanvas {
      height: auto; }
      #map #mapCanvas .img img {
        height: auto; }
    #map #mapNav {
      bottom: 20px;
      left: 20px; }
      #map #mapNav > .item {
        margin: 15px 0 0 0;
        line-height: 1.4; }
        #map #mapNav > .item label {
          font-size: 1.4rem;
          padding: .5em 2.5rem .5em 1em; }
    #map #mapLabel {
      right: 20px;
      top: -30px;
      padding: 2.5rem 2rem; }
      #map #mapLabel .ttl {
        font-size: 2.6rem;
        margin-bottom: 10px;
        padding-bottom: 13px; }
      #map #mapLabel .item {
        font-size: 1.8rem; }
    #map .mapGuide {
      position: static; }
      #map .mapGuide > .item {
        margin: 0; }
  #platform .accordion-block .accordion-inner .accordion-content {
    display: flex;
    justify-content: space-between; }
    #platform .accordion-block .accordion-inner .accordion-content .item {
      flex: 0 1 50%;
      flex: 0 1 47% \0; }
    #vehiclesAndFacilities .vehiclesAndFacilitiesContents a {
      height: 250px; }
      #vehiclesAndFacilities .vehiclesAndFacilitiesContents a img {
        width: 100%;
        height: 100%; }
    #vehiclesAndFacilities .vehiclesAndFacilitiesContents .item-1 {
      margin-bottom: 10px; }
  #modal-image3 .col {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-start; }
    #modal-image3 .col .img {
      align-self: center; }
    #modal-image3 .col .txt {
      margin: 0 0 0 10px;
      white-space: nowrap; }
    #companyInformation .item {
      flex: 0 1 31%; }
    #footer .row {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      align-items: flex-start; }
      #footer .row .col {
        flex: 1 1 100%; }
        #footer .row .col .col + .col {
          border-top: none;
          margin-top: 0;
          padding-top: 0; }
    #footer .addr .btn-keiseiBus,
    #footer .addr .btn-googleMap {
      width: 80%;
      max-width: 300px; }
    #footer .snsLink {
      margin-top: 0; }
  #plan .poster {
    width: 40%; }
  #plan .ttl-sp {
    text-align: left; } }
  @media (min-width: 1000px) {
    .wrap {
      width: 1000px; }
    .wrap .inner {
      margin: 0 2rem; }
    .ttl1-1 {
      font-size: 5rem; }
      .ttl1-1 span {
        font-size: 3rem; }
    .table04 {
      max-width: 600px; }
    #modalViewport .modal {
      max-width: 800px; }
    #main {
      padding: 70px 0 30px; }
    #header {
      height: 70px;
      font-size: 14px; }
      #header #logo {
        width: 246px;
        height: 50px; }
      #header .translate {
        display: inline-block;
        vertical-align: middle; }
      #header #nav {
        height: 70px;
        margin: auto 2rem auto auto; }
        #header #nav .translate {
          display: block;
          margin-right: 1rem; }
        #header #nav .lineBlock .text {
          padding-right: 8px; }
        #header #nav .lineBlock .lines {
          width: 30px;
          height: 30px; }
          #header #nav .lineBlock .lines span {
            height: 3px; }
            #header #nav .lineBlock .lines span.line1 {
              -webkit-transform: translateY(-13px);
                      transform: translateY(-13px); }
            #header #nav .lineBlock .lines span.line2 {
              -webkit-transform: translateY(13px);
                      transform: translateY(13px); }
        #header #nav .lineBlock:hover .lines span {
          height: 4px;
          box-shadow: 0 0 8px #fff; }
      #header .navList {
        top: 70px; }
  body.noTop #header {
    height: 50px; }
    body.noTop #header #logo {
      width: 160px;
      height: 30px; }
    body.noTop #header #nav {
      height: 50px; }
      body.noTop #header #nav .lineBlock .text {
        font-size: 12px; }
      body.noTop #header #nav .lineBlock .lines {
        width: 24px;
        height: 24px; }
        body.noTop #header #nav .lineBlock .lines .line1 {
          -webkit-transform: translateY(-8px);
                  transform: translateY(-8px); }
        body.noTop #header #nav .lineBlock .lines .line2 {
          -webkit-transform: translateY(8px);
                  transform: translateY(8px); }
    body.noTop #header .navList {
      top: 50px; }
  #hero .hero-txt-box {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
    -webkit-transform: translateX(50%);
            transform: translateX(50%); }
  #hero .hero-txt {
    height: auto;
    width: 500px; }
    #hero .hero-txt img {
      display: block;
      margin: 0 0 0 auto;
      width: 100%; }
    #hero .hero-txt .bold {
      position: static;
      margin: 20px auto 0;
      font-size: 4.2vw; }
    .hero-band .band01 {
      -webkit-transform: translate(-30%, -50%) rotate(-33deg);
              transform: translate(-30%, -50%) rotate(-33deg); }
    .hero-band .band02 {
      -webkit-transform: translate(45%, -30%) rotate(70deg);
              transform: translate(45%, -30%) rotate(70deg); }
    .hero-band .band03 {
      -webkit-transform: translate(-10%, 60%) rotate(3deg);
              transform: translate(-10%, 60%) rotate(3deg); }
    #headLine .ttl1-1 {
      padding: 3rem 0; }
    .theme01 {
      display: flex;
      flex-flow: row wrap; }
  #preFullService .box-02 {
    right: 10%;
    bottom: 30%; }
    #preFullService .box-02 .btn-01 {
      width: 120px;
      height: 120px;
      border-radius: 120px; }
      #preFullService .box-02 .btn-01 p {
        font-size: 2rem; }
  #concept .conceptContents {
    align-items: center; }
    #concept .conceptContents .leftCol {
      flex: 0 0 20%; }
    #concept .conceptContents .rightCol {
      flex: 0 0 75%; }
    #merit .meritContents .item a {
      height: 200px;
      width: 200px;
      border-radius: 200px; }
      #merit .meritContents .item a img {
        height: 200px;
        width: 200px;
        border-radius: 200px; }
      #merit .meritContents .item a .cap {
        bottom: 40px;
        font-size: 1.6rem; }
      #map #mapCaution {
        right: 20px;
        bottom: 20px; }
    #map #mapCanvas {
      height: auto; }
      #map #mapCanvas .img img {
        height: auto; }
    #map #mapNav {
      bottom: 30px;
      left: 30px; }
      #map #mapNav > .item {
        margin: 15px 0 0 0;
        line-height: 1.5; }
        #map #mapNav > .item label {
          font-size: 1.6rem;
          padding: .5em 2.5rem .5em 1em; }
    #map .mapGuide > .item {
      margin: 0; }
  #platform .accordion-block .accordion-inner .accordion-content {
    display: flex;
    justify-content: flex-start; }
    #platform .accordion-block .accordion-inner .accordion-content .item {
      flex: 0 1 33.33%;
      flex: 0 1 31% \0; }
    #companyInformation .item {
      flex: 0 1 23%; }
    #footer .row {
      display: flex;
      flex-flow: row nowrap;
      justify-content: space-between;
      align-items: flex-start; }
      #footer .row .col {
        flex-shrink: 1;
        flex-grow: 1;
        flex-basis: auto;
        margin: 0 0 2rem; }
      #footer .row .col + .col {
        border-top: none;
        margin-top: 0;
        padding-top: 0; }
  #plan .row {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center; }
    #plan .row .col {
      margin: 20px; }
  #plan .poster {
    width: 300px; }
  #plan .qr {
    width: 150px;
    margin: 0 auto; } }
  @media (min-width: 1300px) {
    .wrap {
      width: 1300px; }
    .wrap .inner {
      margin: 0 2rem; }
  #hero .hero-txt .bold {
    font-size: 4.2vw; }
    #map .mapGuide > .item {
      margin: 0; }
    #vehiclesAndFacilities .vehiclesAndFacilitiesContents a {
      height: 300px; }
      #vehiclesAndFacilities .vehiclesAndFacilitiesContents a img {
        width: 100%;
        height: 100%; }
    #vehiclesAndFacilities .vehiclesAndFacilitiesContents .item-1 {
      margin-bottom: 20px; } }
  @media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, #map #mapCanvas .img img {
    object-fit: none; }
  *::-ms-backdrop, #map #mapCanvas {
    max-height: 800px; } }

/* chart */
.flowchart-container{
  padding: 1em 0;
}
/* arrow container */
.arrow {
  display: flex;
  height: 50px;
  position: relative;
  width: 100%;

}

.arrow.ver {
  align-content: center;
  justify-content: center;
}
/* end arrow container */

/* lines */
.arrow .line {
  background-color: #425464;
  display: block;
}

.arrow .line.top-to-bottom {
  height: auto;
  width: 2px;
}

.arrow .line.left-to-right,
.arrow .line.right-to-left {
  height: 2px;
  width: 100%;
}
/* end lines */


/* arrows */
.arrow .line.top-to-bottom::after {
  border-right: 10px solid transparent;
  border-top: 20px solid #425464;
  border-left: 10px solid transparent;
  content: "";
  height: 0;
  left: 0;
  right: 0;
  position: absolute;
  top: 15px;
  width: 0;
  margin: auto;
}

.arrow .line.left-to-right::after {
  border-top: 5px solid transparent;
  border-left: 30px solid #425464;
  border-bottom: 5px solid transparent;
  content: "";
  height: 0;
  position: absolute;
  right: 20px;
  top: 45px;
  width: 0;
}

.arrow .line.right-to-left::after {
  border-top: 5px solid transparent;
  border-right: 30px solid #425464;
  border-bottom: 5px solid transparent;
  content: "";
  height: 0;
  left: 20px;
  position: absolute;
  top: 45px;
  width: 0;
}
/* end arrow */

/* elements */
.element {
  align-items: center;
  display: flex;
  justify-content: center;
}

.element .rectangle {
  align-items: center;
  border-radius: 5px;
  border-width: 2px;
  border-style: solid;
  border-color: #425464;
  display: flex;
  justify-content: center;
  padding: 1rem 2rem;
  width: 100%;
  background: #fff;
}


.element .label {
  align-items: center;
  border-radius: 25px;
  border-width: 2px;
  border-style: solid;
  border-color: #81bc00;
  display: flex;
  justify-content: center;
  padding: 1rem 2rem;
  width: 100%;
  background: #fff;
}
.element .content{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
.element .content > .left{
  flex: 0 0 30%;
  font-weight: bold;
  text-align: center;
}
.element .content > .right{
  flex: 1 1 auto;
  margin-left: 1em;
  padding-left: 1em;
  border-left: 1px dotted #425464;
}
.v-top{
  vertical-align: top;
}
@media screen and (max-width: 767px){
  .element .content{
    display: block;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
  }
  .element .content > .left{
    flex: 0 0 30%;
    font-weight: bold;
    text-align: center;


  }
  .element .content > .right{
    flex: 1 1 auto;
    margin-left: 0;
    padding-left: 0;
    border-left: none;
    border-top: 1px dotted #425464;
    margin-top: 0.5em;
    padding-top: 0.5em;
  }
  .list-route a.sta{
    font-size: 1.48rem;
  }
}

.floating{
    position: fixed;
    bottom: 100px;
    left: auto;
    right: 0px;
    z-index: 1;
    margin: 0;
    background-color: rgba(999, 999, 999, 0.8);
    padding: 1em;
    line-height: 1.5;
    text-align: center;
    border-radius: 5px 0 0 5px;
    border: none;
    box-shadow: 0 2px 4px #999;
}
.floating .btn-block {
    display: flex;
    margin: 0 0 0.5em 0;
    flex-flow: nowrap;
    align-items: center;
    justify-content: center;
}
.floating .tellApplication .tx-red{
    /*margin-left: -25px;*/
}
@media screen and (max-width: 767px){
  .floating{
      position: fixed;
      bottom: 10px;
      left: 0;
      right: auto;
      z-index: 1;
      margin: 0;
      background-color: rgba(999, 999, 999);
      padding: 0.7em 1em;
      line-height: 1.5;
      text-align: center;
      border-radius: 0 5px 5px 0;
      border: none;
      box-shadow: 0 1px 2px #888; 
      font-size: 0.7em;
  }
  .floating .btn-block{
      width: 100%;
  }
  .floating .btn-block .btn{
      padding: 0.6em 3em;
  }
  .floating .tellApplication{
      /*margin-right: 7px;*/
      font-size: 1.3em;
      text-decoration: none;
  }
  .floating .tellApplication .tx-red{
      /*margin-left: -30px;*/
  }
}

.bus-flier-comment{
  color: #DD344D;
  font-size: 1.6rem;
}

.youtube-base{
  margin: 40px 0 20px;
  padding: 0;
  max-width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  box-sizing: border-box;
}

.youtube-base .movie {
  margin: 0;
  padding: 0;
  width: 47%;
}

@media screen and (max-width: 767px){
.youtube-base{
  margin: 30px 0;
  padding: 0;
  max-width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  box-sizing: border-box;
}

.youtube-base .movie {
  margin: 0 ;
  padding: 0;
  width: 100%;
}

.youtube-base .movie:nth-of-type(2) {
  margin: 20px 0 0;
  padding: 0;
  width: 100%;
}

}


