@charset "UTF-8";
/*!
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags:
*/
/**
 # Foundation
 */
/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/
@import url("https://fonts.googleapis.com/css?family=Roboto");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700&display=swap&subset=japanese");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

main {
  display: block;
}

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  color: #333333;
  text-align: left;
  background-color: #F5F5F5;
  font-size: 1.6rem;
  font-weight: 400;
  overflow-x: hidden;
}

.transition {
  transition: all 0.3s ease;
}

.hover:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}

.clearfix {
  zoom: 1;
}

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

.clearfix:after {
  clear: both;
}

.pc {
  display: block !important;
}
@media screen and (max-width: 640px) {
  .pc {
    display: none !important;
  }
}

.smp {
  display: none !important;
}
@media screen and (max-width: 640px) {
  .smp {
    display: block !important;
  }
}

/**
 # Vendor CSS
 */
/**
 # Layout
 */
/**
 # Objects -  Compornent -
 */
/**
 # Objects -  project -
 */
/**
 # Objects -  pages -
 */
/*--------------------------------------------------------------
    # _home.scss
--------------------------------------------------------------*/
/*     Config
--------------------------------------------------------------*/
.l--wrapper {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 961px) {
  .l--wrapper {
    padding-top: 92px;
  }
}
.l--container {
  max-width: 640px;
  margin: 0 auto 30px;
  padding: 0 32px;
  background-color: #f6f8fb;
  box-sizing: border-box;
}
.l--section {
  margin: 0 0 30px;
}
.l--section__inner {
  padding: 45px 38px;
  background-color: #fff;
}
.l--section p {
  font-size: 2.3rem;
  line-height: 1.6;
  font-weight: 400;
  font-feature-settings: "palt";
  margin: 0 0 35px;
}
.l--section p:last-child {
  margin: 0;
}

.m--cmn__box {
  box-sizing: border-box;
  margin: 0 0 80px;
  position: relative;
}
.m--cmn__box:last-child {
  margin: 0;
}
.s--cmn__box-button {
  box-shadow: 0px 5px 7px 0px #ededed;
  margin: 0 0 20px;
  display: block;
  transition: all 0.6s ease;
}
.s--cmn__box-button:hover {
  opacity: 0.65;
}

.s--cmn__box-button01 {
  display: block;
  margin: 0 0 20px;
  transition: all 0.6s ease;
}
.s--cmn__box-button01:hover {
  opacity: 0.65;
}
.s--cmn__box-button01 img {
  width: 100%;
  height: auto;
}

.s--cmn__box-caution {
  font-size: 1.8rem;
  line-height: 1.6;
}

.main .attract {
  font-weight: 700;
  display: inline-block;
  color: #00b7ed;
}
.main .attract.withLine {
  background: linear-gradient(transparent 70%, #FFFF00 0%);
}
.main .title-primary {
  text-align: center;
  font-weight: 700;
  color: #00b7ed;
  font-size: 3.1rem;
  line-height: 1.5;
  margin: 0 -38px 1.5em;
}
.main .title-primary:before {
  content: "";
  display: block;
  margin: 0 auto 0.75em;
  width: 70px;
  height: 1px;
  background-color: #00b7ed;
}
.main .title-primary .bb {
  background: linear-gradient(transparent 70%, #FFFF00 0%);
}

@media screen and (max-width: 640px) {
  .l--wrapper {
    width: auto;
    padding-top: 0;
  }
  .l--container {
    max-width: initial;
    margin: 0;
    padding: 0 5vw;
  }
  .l--section {
    margin: 0 0 4.6875vw;
  }
  .l--section__inner {
    padding: 7.03125vw 5.9375vw;
  }
  .l--section p {
    font-size: 3.59375vw;
    margin: 0 0 5.46875vw;
  }
  .m--cmn__box {
    margin: 0 0 12.5vw;
  }
  .s--cmn__box-button {
    margin: 0 0 3.125vw;
  }
  .s--cmn__box-button img {
    width: 100%;
    vertical-align: bottom;
  }
  .s--cmn__box-button01 {
    margin: 0 0 3.125vw;
  }
  .s--cmn__box-button01 img {
    width: 100%;
    vertical-align: bottom;
  }
  .s--cmn__box-caution {
    font-size: 2.8125vw;
  }
  .main .title-primary {
    font-size: 4.84375vw;
    margin: 0 -5.9375vw 1.5em;
  }
  .main .title-primary:before {
    width: 10.9375vw;
  }
}
/*     Mainvisual
--------------------------------------------------------------*/
.l--mainVisual {
  background: url(../images/home/main.png);
  background-repeat: no-repeat;
  background-position: center 165px;
  background-size: 100% auto;
  position: relative;
  margin: 0 -32px;
}
.l--mainVisual-title {
  margin-bottom: 420px;
}
.l--mainVisual-title img {
  width: 100%;
  height: auto;
}
.l--mainVisual .catch {
  margin-bottom: 10px;
}
.l--mainVisual .catch img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 640px) {
  .l--mainVisual {
    margin: 0 -5vw;
    background-position: center 25.78125vw;
  }
  .l--mainVisual-title {
    margin-bottom: 65.625vw;
  }
  .l--mainVisual .catch {
    margin-bottom: 1.5625vw;
  }
}
/*     Section [s--intro]
--------------------------------------------------------------*/
.s--intro {
  margin: 0 32px 55px;
  background-color: #fff;
  padding: 40px 0;
  text-align: center;
  position: relative;
}
.s--intro:after {
  content: "";
  display: block;
  width: 50px;
  height: 27px;
  background: url(../images/home/arrow.png) center no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -44px;
  transform: translateX(-50%);
}
.s--intro-title {
  font-size: 2.8rem;
  margin: 0 0 1.5em;
  letter-spacing: 0.1em;
  line-height: 1.8;
  font-weight: normal;
}
.s--intro-title span {
  font-weight: 700;
  background: linear-gradient(transparent 70%, #FFFF00 0%);
}
.s--intro .introList {
  display: flex;
  flex-wrap: wrap;
  padding: 0 38px;
}
.s--intro .introList .num {
  width: 46.5%;
  margin-bottom: 40px;
  background-color: #f6f8fb;
  padding-top: 40px;
  position: relative;
}
.s--intro .introList .num:before {
  content: "";
  display: block;
  width: 44px;
  height: 44px;
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
}
.s--intro .introList .num01:before {
  background: url(../images/home/sec02_icon01.png) center no-repeat;
  background-size: contain;
}
.s--intro .introList .num02:before {
  background: url(../images/home/sec02_icon02.png) center no-repeat;
  background-size: contain;
}
.s--intro .introList .num03:before {
  background: url(../images/home/sec02_icon03.png) center no-repeat;
  background-size: contain;
}
.s--intro .introList .num04:before {
  background: url(../images/home/sec02_icon04.png) center no-repeat;
  background-size: contain;
}
.s--intro .introList .num .txt {
  font-size: 2.7rem;
  font-weight: 700;
  display: block;
  margin-bottom: 1em;
}
.s--intro .introList .num:nth-child(odd) {
  margin-right: 7%;
}
.s--intro .introList .num img {
  width: 100%;
  height: auto;
}
.s--intro .txt02 {
  font-size: 2.8rem;
  line-height: 1.7;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 640px) {
  .s--intro {
    margin: 0 5vw 8.59375vw;
    padding: 6.25vw 0;
  }
  .s--intro:after {
    content: "";
    display: block;
    width: 7.8125vw;
    height: 4.21875vw;
    background-size: contain;
    bottom: -6.875vw;
  }
  .s--intro-title {
    font-size: 4.375vw;
  }
  .s--intro .introList {
    padding: 0 5.9375vw;
  }
  .s--intro .introList .num {
    padding-top: 6.25vw;
    margin-bottom: 6.25vw;
  }
  .s--intro .introList .num:before {
    width: 6.875vw;
    height: 6.875vw;
    background-size: 6.875vw;
    top: -3.4375vw;
  }
  .s--intro .introList .num .txt {
    font-size: 4.21875vw;
  }
  .s--intro .txt02 {
    font-size: 4.375vw;
  }
}
/*     Section [s--feature]
--------------------------------------------------------------*/
.s--feature .l--section__inner {
  background-color: transparent;
  padding: 0;
}
.s--feature .m--cmn__box {
  margin-bottom: 30px;
}
.s--feature .m--cmn__box__inner {
  background-color: #fff;
  padding: 25px 38px;
}
.s--feature-title {
  display: block;
  text-align: center;
  color: #fff;
  background-color: #00b7ed;
  font-size: 2.8rem;
  font-weight: normal;
  margin: 0 -32px 30px;
  line-height: 1.45;
  padding: 1em 0;
}
.s--feature-title span {
  font-size: 4.6rem;
  color: #ffff00;
}
.s--feature__box-title {
  font-size: 3.4rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.45;
}
.s--feature__box-title.num:before {
  width: 61px;
  height: 61px;
  content: "";
  display: block;
  margin: 0 auto 10px;
}
.s--feature__box-title.num01:before {
  background: url(../images/home/sec02_icon01.png) no-repeat;
  background-size: contain;
}
.s--feature__box-title.num02:before {
  background: url(../images/home/sec02_icon02.png) no-repeat;
  background-size: contain;
}
.s--feature__box-title.num03:before {
  background: url(../images/home/sec02_icon03.png) no-repeat;
  background-size: contain;
}
.s--feature__box-title.num04:before {
  background: url(../images/home/sec02_icon04.png) no-repeat;
  background-size: contain;
}
.s--feature__box-titleBox {
  padding: 0 0 30px;
}
.s--feature__box-titleBox img {
  display: block;
  margin: 30px 0 0;
}
.s--feature__box-text .fontS {
  font-size: 1.7rem;
}
.s--feature__box-images {
  margin: 0 0 35px;
}

@media screen and (max-width: 640px) {
  .s--feature .m--cmn__box {
    margin-bottom: 4.6875vw;
  }
  .s--feature .m--cmn__box__inner {
    padding: 3.90625vw 5.9375vw;
  }
  .s--feature-title {
    font-size: 4.375vw;
    margin: 0 -5vw 4.6875vw;
  }
  .s--feature-title span {
    font-size: 7.1875vw;
  }
  .s--feature__box-title {
    font-size: 5.3125vw;
  }
  .s--feature__box-title.num:before {
    width: 9.53125vw;
    height: 9.53125vw;
    margin: 0 auto 1.5625vw;
  }
  .s--feature__box-titleBox {
    padding: 0 0 4.6875vw;
  }
  .s--feature__box-titleBox img {
    display: block;
    margin: 4.6875vw 0 0;
    max-width: 100%;
  }
  .s--feature__box-text .fontS {
    font-size: 2.65625vw;
  }
  .s--feature__box-images {
    margin: 0 0 5.46875vw;
    max-width: 100%;
  }
}
/*     Section [s--haveTried]
--------------------------------------------------------------*/
.s--haveTried-title {
  font-weight: 700;
  color: #00b7ed;
  text-align: center;
  font-size: 3.3rem;
  line-height: 1.45;
  border-top: 1px solid #00b7ed;
  border-bottom: 1px solid #00b7ed;
  position: relative;
  display: block;
  padding: 1.25em 0 0.8em;
  margin-bottom: 1em;
}
.s--haveTried-title:before {
  content: "";
  display: block;
  width: 84px;
  height: 76px;
  background: url(../images/home/havetried_ttl.png) center no-repeat;
  background-size: cover;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -38px;
}

@media screen and (max-width: 640px) {
  .s--haveTried-title {
    font-size: 5.15625vw;
  }
  .s--haveTried-title:before {
    width: 13.125vw;
    height: 11.875vw;
    background-size: cover;
    top: -5.9375vw;
  }
}
/*     Section [s--movie]
--------------------------------------------------------------*/
.s--movie {
  background-color: #fff;
  margin-left: -32px;
  margin-right: -32px;
  padding-bottom: 15px;
}
.s--movie-title {
  display: block;
  background-color: #00b7ed;
  color: #fff;
  text-align: center;
  font-weight: normal;
  font-size: 2.3rem;
  padding: 1.25em 0 1em;
  line-height: 1.7;
  margin-bottom: 20px;
}
.s--movie-title .subTtl {
  font-size: 3.5rem;
  display: inline-block;
}
.s--movie-title .subTtl span {
  color: #ffff00;
}
.s--movie-title .subTtl:before, .s--movie-title .subTtl:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 2px;
  height: 1.5em;
  background-color: #fff;
}
.s--movie-title .subTtl:before {
  margin-right: 0.5em;
  transform: skewX(25deg);
}
.s--movie-title .subTtl:after {
  margin-left: 0.5em;
  transform: skewX(-25deg);
}
.s--movie .movieArea {
  position: relative;
  padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}
.s--movie .movieAreaWrap {
  padding: 15px;
}
.s--movie .movieArea iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 640px) {
  .s--movie {
    margin-left: -5vw;
    margin-right: -5vw;
    padding-bottom: 2.34375vw;
  }
  .s--movie-title {
    font-size: 3.59375vw;
    margin-bottom: 3.125vw;
  }
  .s--movie-title .subTtl {
    font-size: 5.15625vw;
  }
  .s--movie .movieAreaWrap {
    padding: 0 2.34375vw;
  }
}
/*     Section [s--mission]
--------------------------------------------------------------*/
.s--mission-title {
  margin: 0 0 45px;
}
.s--mission-images {
  margin: 0 0 35px;
}
.s--mission-access {
  margin: 0 -32px 30px;
  padding: 0 0 30px;
  background-color: #fff;
}
.s--mission-access-title {
  background-color: #00b7ed;
  color: #FFF;
  padding: 1em 0;
  text-align: center;
  font-size: 2.8rem;
  margin: 0 0 1em;
  font-weight: normal;
  position: relative;
}
.s--mission-access-title:before, .s--mission-access-title:after {
  content: "";
  display: block;
  width: 42px;
  height: 36px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-size: cover;
}
.s--mission-access-title:before {
  background: url(../images/home/access_obj_l.png) center no-repeat;
  left: 15px;
}
.s--mission-access-title:after {
  background: url(../images/home/access_obj_r.png) center no-repeat;
  right: 15px;
}
.s--mission-access-list {
  margin: 0 0 15px;
  text-align: center;
}
.s--mission-access-list li {
  display: inline-block;
  font-size: 2.4rem;
  margin: 0 10px 15px 0;
  padding: 0 0 0 22px;
  position: relative;
}
.s--mission-access-list li:before {
  position: absolute;
  width: 16px;
  height: 16px;
  content: "";
  background-color: #00b7ed;
  border-radius: 50%;
  left: 0;
  top: 5px;
}
.s--mission-access-listBox__wrapper {
  overflow-x: scroll;
  overflow-y: hidden;
  padding: 0 15px;
}
.s--mission-access-listBox {
  width: 196%;
}
.s--mission-access-listBox li {
  float: left;
  margin: 0 6px 0 0;
}
.s--mission-access-listBox li img {
  width: 100%;
  vertical-align: bottom;
}
.s--mission-access-listBox li span {
  display: block;
  background-color: #00b7ed;
  font-weight: 500;
  color: #FFF;
  font-size: 2.2rem;
  padding: 10px 0;
  text-align: center;
}
.s--mission-exp-banner {
  margin: 30px 0;
}
.s--mission-exp-banner figcaption {
  display: block;
  color: #fff;
  text-align: center;
  background-color: #00B7ED;
  font-size: 2.1rem;
  line-height: 1.6;
  padding: 1em 0;
}
.s--mission-exp-banner.mb0 {
  margin-bottom: 0;
}
.s--mission-demerit-title {
  background-color: #009ced;
  padding: 40px 0;
  text-align: center;
  color: #FFF;
  font-size: 3.2rem;
  position: relative;
  margin: 70px -28px 40px;
  font-weight: 500;
}
.s--mission-demerit-title:before {
  background: url(../images/home/sec03_obj.png) no-repeat;
  background-size: cover;
  background-position: center center;
  content: "";
  width: 145px;
  height: 61px;
  position: absolute;
  left: 20px;
  top: -30px;
}
.s--mission-demerit-photo {
  margin: 0 0 35px;
}

@media screen and (max-width: 640px) {
  .s--mission img {
    width: 100%;
    vertical-align: bottom;
  }
  .s--mission-title {
    margin: 0 0 7.03125vw;
  }
  .s--mission-title img {
    width: 100%;
    vertical-align: bottom;
  }
  .s--mission-images {
    margin: 0 0 5.46875vw;
  }
  .s--mission-access {
    margin: 0 -5vw 4.6875vw;
    padding: 0 0 4.6875vw;
  }
  .s--mission-access-title {
    font-size: 4.375vw;
  }
  .s--mission-access-title:before, .s--mission-access-title:after {
    width: 6.5625vw;
    height: 5.625vw;
    background-size: cover;
  }
  .s--mission-access-title:before {
    left: 2.34375vw;
  }
  .s--mission-access-title:after {
    right: 2.34375vw;
  }
  .s--mission-access-list {
    margin: 0 0 2.34375vw;
  }
  .s--mission-access-list li {
    font-size: 3.75vw;
    margin: 0 1.5625vw 2.34375vw 0;
    padding: 0 0 0 3.4375vw;
  }
  .s--mission-access-list li:before {
    width: 2.5vw;
    height: 2.5vw;
    top: 0.78125vw;
  }
  .s--mission-access-listBox__wrapper {
    padding: 0 2.34375vw;
  }
  .s--mission-access-listBox li {
    width: 30vw;
    margin: 0 0.9375vw 0 0;
  }
  .s--mission-access-listBox li span {
    font-size: 3.4375vw;
    padding: 1.5625vw 0;
  }
  .s--mission-exp-banner {
    margin: 4.6875vw 0;
  }
  .s--mission-exp-banner figcaption {
    font-size: 3.28125vw;
  }
  .s--mission-demerit-title {
    padding: 6.25vw 0;
    font-size: 5vw;
    margin: 10.9375vw -4.375vw 6.25vw;
  }
  .s--mission-demerit-title:before {
    width: 22.65625vw;
    height: 9.53125vw;
    position: absolute;
    left: 3.125vw;
    top: -4.6875vw;
  }
  .s--mission-demerit-photo {
    margin: 0 0 5.46875vw;
  }
}
/*     Section [s--about]
--------------------------------------------------------------*/
.s--about .m--cmn__box {
  padding-top: 90px;
  margin-bottom: 70px;
}
.s--about .m--cmn__box:last-child {
  margin-bottom: 0;
}
.s--about__box-title {
  text-align: center;
  font-size: 3.2rem;
  line-height: 1.45;
  position: relative;
}
.s--about__box-title:before {
  content: "";
  display: block;
  width: 70px;
  height: 70px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -70px;
}
.s--about__box-title.num01:before {
  background: url(../images/home/sec02_icon01.png) center no-repeat;
  background-size: contain;
}
.s--about__box-title.num02:before {
  background: url(../images/home/sec02_icon02.png) center no-repeat;
  background-size: contain;
}
.s--about__box-title.num03:before {
  background: url(../images/home/sec02_icon03.png) center no-repeat;
  background-size: contain;
}
.s--about__box-title.num04:before {
  background: url(../images/home/sec02_icon04.png) center no-repeat;
  background-size: contain;
}
.s--about__box-title.num05:before {
  background: url(../images/home/sec02_icon05.png) center no-repeat;
  background-size: contain;
}
.s--about__box-title.num06:before {
  background: url(../images/home/sec02_icon06.png) center no-repeat;
  background-size: contain;
}
.s--about__box-title.num07:before {
  background: url(../images/home/sec02_icon07.png) center no-repeat;
  background-size: contain;
}
.s--about__box-titleBox {
  display: block;
  background-color: #f6f8fb;
  border-bottom: 1px solid #00b7ed;
  border-top: 1px solid #00b7ed;
  padding: 1.75em 0 1em;
  margin-bottom: 30px;
  position: relative;
}
.s--about__box-titleBox:before {
  content: "";
  display: block;
  width: 100%;
  height: 59px;
  background: url(../images/home/about_title.png) center no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 0;
  top: -90px;
}
.s--about .fontS {
  font-size: 70%;
}
.s--about-img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 30px;
}
.s--about__box-text01 {
  margin-bottom: 3em !important;
}
.s--about__box-text02 {
  display: block;
  padding: 1em;
  color: #00b7ed;
  border: 1px solid #00b7ed;
}
.s--about__box-text02 span {
  background: linear-gradient(transparent 70%, #FFFF00 0%);
}

@media screen and (max-width: 640px) {
  .s--about .m--cmn__box {
    padding-top: 15vw;
    margin-bottom: 10.9375vw;
  }
  .s--about__box-title {
    font-size: 5vw;
  }
  .s--about__box-title:before {
    width: 10.9375vw;
    height: 10.9375vw;
    top: -12vw;
  }
  .s--about__box-titleBox {
    margin-bottom: 4.6875vw;
    padding-top: 1.5em;
  }
  .s--about__box-titleBox:before {
    height: 9.21875vw;
    top: -15vw;
  }
  .s--about-img {
    margin-bottom: 4.6875vw;
  }
}
/*     Section [s--flow]
--------------------------------------------------------------*/
.s--flow .m--cmn__box {
  margin: 0 0 100px;
  padding-top: 40px;
  border-top: 1px solid #00b7ed;
}
.s--flow .m--cmn__box:last-child {
  margin: 0;
}
.s--flow .m--cmn__box:last-child:before {
  display: none;
}
.s--flow-title {
  margin-bottom: 80px !important;
}
.s--flow__box-title {
  font-size: 2.8rem;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
  font-feature-settings: "palt";
  letter-spacing: -1px;
}
.s--flow__box-title span {
  display: block;
  font-size: 1.6rem;
  color: #00b7ed;
  letter-spacing: normal;
}
.s--flow__box-titleBox {
  margin: 0 0 40px;
}
.s--flow__box-titleBox.single {
  border: none;
  margin: 0;
  padding: 0;
}
.s--flow__box-text {
  font-feature-settings: "palt";
}
.s--flow__box-text strong {
  letter-spacing: -1px;
}
.s--flow__box-text em {
  color: #f35d84;
  font-style: normal;
}
.s--flow__box-text02 {
  display: block;
  padding: 1em;
  color: #00b7ed;
  border: 1px solid #00b7ed;
  margin-bottom: 45px;
}
.s--flow__box-text02 span {
  background: linear-gradient(transparent 70%, #FFFF00 0%);
}
.s--flow__box-images {
  margin: 0 0 10px;
  width: 100%;
  vertical-align: bottom;
}
.s--flow__box-images:last-child {
  margin: 0;
}
.s--flow-num:after {
  width: 80px;
  height: 80px;
  background-size: cover;
  content: "";
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}
.s--flow .num01:after {
  background: url(../images/home/step01.png) no-repeat;
}
.s--flow .num02:after {
  background: url(../images/home/step02.png) no-repeat;
}
.s--flow .num03:after {
  background: url(../images/home/step03.png) no-repeat;
}
.s--flow .num04:after {
  background: url(../images/home/step04.png) no-repeat;
}
.s--flow .num05:after {
  background: url(../images/home/step05.png) no-repeat;
}
.s--flow .num06:after {
  background: url(../images/home/step06.png) no-repeat;
}
.s--flow .num07:after {
  background: url(../images/home/step07.png) no-repeat;
}
.s--flow .num08:after {
  background: url(../images/home/step08.png) no-repeat;
}

@media screen and (max-width: 640px) {
  .s--flow .m--cmn__box {
    margin: 0 0 15.625vw;
  }
  .s--flow .m--cmn__box:last-child:before {
    display: none;
  }
  .s--flow-title {
    margin-bottom: 12.5vw !important;
  }
  .s--flow__box-title {
    font-size: 4.375vw;
  }
  .s--flow__box-title span {
    font-size: 2.5vw;
  }
  .s--flow__box-titleBox {
    margin: 0 0 6.25vw;
  }
  .s--flow__box-text02 {
    margin-bottom: 7.03125vw;
  }
  .s--flow__box-images {
    margin: 0 0 1.5625vw;
  }
  .s--flow-num:after {
    width: 12.5vw;
    height: 12.5vw;
    background-size: cover !important;
    content: "";
    position: absolute;
    top: -6.25vw;
  }
}
/*     Section [s--faq]
--------------------------------------------------------------*/
.s--faq-title {
  text-align: center;
  margin: 0 0 1.5em;
}
.s--faq-title img {
  display: block;
  margin: auto;
}
.s--faq-title span {
  font-size: 1.6rem;
}
.s--faq-title:before {
  content: "";
  display: block;
  margin: 0 auto 1em;
  width: 70px;
  height: 2px;
  background-color: #00b7ed;
}
.s--faq__cbox {
  padding: 0 0 45px;
}
.s--faq__cbox dt {
  padding: 1em 1em 1em 85px;
  font-weight: 700;
  font-size: 2.3rem;
  background: url(../images/home/sec05_icon01.png) no-repeat #f6f8fb;
  background-size: 85px auto;
  background-position: left 1.3em;
  margin: 0 0 1em;
  line-height: 1.5;
  border-top: 1px solid #74D6F4;
}
.s--faq__cbox dt.oneline {
  line-height: 63px;
}
.s--faq__cbox dd {
  padding: 0 1em 0 85px;
  font-weight: 400;
  font-size: 2.3rem;
  background: url(../images/home/sec05_icon02.png) no-repeat;
  background-size: 85px auto;
  background-position: top left;
  line-height: 1.5;
}

@media screen and (max-width: 640px) {
  .s--faq-title img {
    width: 14.84375vw;
    height: auto;
  }
  .s--faq-title span {
    font-size: 2.5vw;
  }
  .s--faq-title:before {
    width: 10.9375vw;
  }
  .s--faq__cbox {
    padding: 0 0 7.03125vw;
  }
  .s--faq__cbox dt {
    padding-left: 13.28125vw;
    font-size: 3.59375vw;
    background-size: 13.28125vw auto;
  }
  .s--faq__cbox dt.oneline {
    line-height: 9.84375vw;
  }
  .s--faq__cbox dd {
    padding: 0 1em 0 13.28125vw;
    font-weight: 400;
    font-size: 3.59375vw;
    background-size: 13.28125vw auto;
  }
}
/*     Section [s--finally]
--------------------------------------------------------------*/
.s--finally .m--cmn__box strong {
  color: #009ced;
}
.s--finally-title {
  margin: 0 0 30px;
}
.s--finally-list {
  margin: 0 0 40px;
  width: 110%;
}
.s--finally-list li {
  margin: 0 0 20px;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 3.1rem;
  font-feature-settings: "palt";
  letter-spacing: -1px;
  color: #00b7ed;
}
.s--finally-list li:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 15px;
  height: 15px;
  background-color: #ffff00;
  border-radius: 50%;
}
.s--finally-images {
  margin: 0 -38px 40px;
}
.s--finally-attention {
  font-weight: 700;
  display: inline-block;
  color: #00b7ed;
  background: linear-gradient(transparent 70%, #FFFF00 0%);
}

@media screen and (max-width: 640px) {
  .s--finally img {
    width: 100%;
    vertical-align: bottom;
  }
  .s--finally-title {
    margin: 0 0 4.6875vw;
  }
  .s--finally-title img {
    width: 100%;
    vertical-align: bottom;
  }
  .s--finally-list {
    margin: 0 0 6.25vw;
  }
  .s--finally-list li {
    margin: 0 0 3.125vw;
    font-size: 3.59375vw;
    line-height: 4.84375vw;
  }
  .s--finally-list li:before {
    width: 2.34375vw;
    height: 2.34375vw;
  }
  .s--finally-images {
    margin: 0 -5.9375vw 6.25vw;
  }
}
/*     Footer
--------------------------------------------------------------*/
.l--footer {
  background-color: #00b7ed;
  padding: 40px 28px;
  margin-bottom: 60px;
}
.l--footer-logo {
  display: block;
  text-align: center;
  margin: 0 0 30px;
}
.l--footer-copyright {
  display: block;
  color: #FFF;
  margin: 0 0 20px;
  font-size: 19px;
  text-align: center;
}
.l--footer-list {
  text-align: center;
}
.l--footer-list li {
  display: inline-block;
  padding: 0 5px 0 0;
  margin: 0 0 0 5px;
  border-right: 1px solid #6dcdff;
  font-size: 14px;
}
.l--footer-list li:last-child {
  border: none;
}
.l--footer-list a {
  transition: all 0.6s ease;
}
.l--footer-list a:link {
  color: #FFF;
  text-decoration: none;
}
.l--footer-list a:visited {
  color: #FFF;
  text-decoration: none;
}
.l--footer-list a:hover {
  color: #FFF;
  text-decoration: underline;
  opacity: 0.65;
}

@media screen and (max-width: 640px) {
  .l--footer {
    padding: 6.25vw 4.375vw;
    margin-bottom: 14.9vw;
  }
  .l--footer-logo {
    margin: 0 0 4.6875vw;
  }
  .l--footer-copyright {
    margin: 0 0 3.125vw;
    font-size: 2.96875vw;
  }
  .l--footer-list li {
    padding: 0 0.78125vw 0 0;
    margin: 0 0 0 0.78125vw;
    font-size: 2.1875vw;
  }
}
/*     page--top 
--------------------------------------------------------------*/
#page--top {
  position: fixed;
  right: 32px;
  bottom: 32px;
  width: 50px;
  height: 50px;
  z-index: 99999;
}
#page--top img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 640px) {
  #page--top {
    width: 7.8125vw;
    height: 7.8125vw;
    right: 0;
    bottom: 15vw;
  }
}
/*     top-menu 
--------------------------------------------------------------*/
.top-menu-sp {
  position: fixed;
  bottom: 0;
  z-index: 99998;
  width: 100%;
}
.top-menu-sp .nav-social {
  font-size: 0;
}
.top-menu-sp .nav-social .nav-item {
  display: inline-block;
  vertical-align: middle;
}
.top-menu-sp .nav-social .nav-item.link__contact {
  background-color: #32c332;
  width: 40%;
}
.top-menu-sp .nav-social .nav-item.link__reservation {
  background-image: linear-gradient(to right, #00b7ed, #53d3fa);
  width: 60%;
}
.top-menu-sp .nav-social .nav-item .nav-link {
  color: #fff;
  text-align: center;
  display: block;
  height: 60px;
  line-height: 60px;
  text-decoration: none;
  font-size: 2rem;
}
.top-menu-sp .nav-social .nav-item .nav-link span:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 30px;
  margin-right: 0.5em;
}
.top-menu-sp .nav-social .nav-item .nav-link span.forLine:before {
  background: url(../images/home/kireilign-icon-line.png) center no-repeat;
  background-size: 95% auto;
}
.top-menu-sp .nav-social .nav-item .nav-link span.forBook:before {
  background: url(../images/home/kirelign-icon-reservation.png) center no-repeat;
  background-size: contain;
}

@media screen and (max-width: 640px) {
  .top-menu {
    width: 100%;
    max-width: 640px;
  }
  .top-menu-sp .nav-social {
    font-size: 0;
  }
  .top-menu-sp .nav-social .nav-item {
    display: inline-block;
    vertical-align: middle;
  }
  .top-menu-sp .nav-social .nav-item.link__contact {
    background-color: #32c332;
    width: 40%;
  }
  .top-menu-sp .nav-social .nav-item.link__reservation {
    background-image: linear-gradient(to right, #00b7ed, #53d3fa);
    width: 60%;
  }
  .top-menu-sp .nav-social .nav-item .nav-link {
    color: #fff;
    text-align: center;
    display: block;
    height: 15vw;
    line-height: 15vw;
    text-decoration: none;
    font-size: 4.2vw;
  }
  .top-menu-sp .nav-social .nav-item .nav-link span:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 7vw;
    height: 7vw;
    margin-right: 0.5em;
  }
  .top-menu-sp .nav-social .nav-item .nav-link span.forLine:before {
    background: url(../images/home/kireilign-icon-line.png) center no-repeat;
    background-size: 95% auto;
  }
  .top-menu-sp .nav-social .nav-item .nav-link span.forBook:before {
    background: url(../images/home/kirelign-icon-reservation.png) center no-repeat;
    background-size: contain;
  }
}
.header-top {
  display: inline-block;
  width: 100%;
  position: fixed;
  z-index: 9999999;
  background: #fff;
  top: 0;
}
.header-top .site-header {
  padding: 0 0 0 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 92px;
  box-sizing: border-box;
}
.header-top .site-header.wrap {
  width: 100%;
  max-width: 1366px;
  margin: 0 auto;
}
.header-top .site-header.nav {
  margin-left: 0;
}
.header-top .site-header .kirelign-logo {
  width: 170px;
  position: relative;
  z-index: 100;
}
.header-top .site-header .kirelign-logo img {
  width: 100%;
  height: auto;
}
.header-top .site-header .nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.header-top .site-header .nav-item {
  margin-left: 20px;
}
@media screen and (min-width: 1251px) {
  .header-top .site-header .nav-item {
    margin-left: 32px;
  }
}
.header-top .site-header .nav-item:last-child {
  margin-left: 0;
}
.header-top .site-header .nav-item.row-2 img {
  padding: 0 0 10px;
}
.header-top .site-header .nav-item.row-2 a {
  line-height: 1;
  font-size: 10px;
}
.header-top .site-header .nav-item.row-2 span {
  display: block;
}
.header-top .site-header .nav-item__reservation {
  background-image: linear-gradient(to right, #00b7ed, #53d3fa);
}
@media screen and (min-width: 1251px) {
  .header-top .site-header .nav-item__reservation {
    margin-left: 10px;
  }
}
.header-top .site-header .nav-item__reservation a {
  font-size: 11px;
  padding: 7px;
  color: #fff;
}
@media screen and (min-width: 1251px) {
  .header-top .site-header .nav-item__reservation a {
    padding: 0 24px;
    font-size: 15px;
    line-height: 70px;
  }
}
.header-top .site-header .nav-item__reservation a img {
  width: 25px;
  margin-right: 5px;
  vertical-align: middle;
}
@media screen and (min-width: 1251px) {
  .header-top .site-header .nav-item__reservation a img {
    width: 35px;
    margin-right: 12px;
  }
}
.header-top .site-header .nav-item__menu a {
  color: #00b7ed;
  width: 75px;
}
.header-top .site-header .nav-item__menu a img {
  padding-bottom: 7px !important;
}
.header-top .site-header .nav-item__menu a span {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 10px;
}
.header-top .site-header .nav-item__menu.active {
  position: relative;
  z-index: 100;
}
.header-top .site-header .nav-item__menu.active:after {
  content: "CLOSE";
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: #fff url(https://kireilign.com/wp-content/themes/kireilign-theme-2022/images/kirelign-icon-close-pc.png) no-repeat 50% 3px;
  height: 100%;
  text-align: center;
  color: #00b7ed;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 1.1rem;
  padding: 28px 0 0;
  cursor: pointer;
}
.header-top .site-header .nav-link {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #444;
  line-height: 1.6;
  letter-spacing: 0.25px;
  font-size: 11px;
  color: #222;
  outline: 0;
  padding: 0;
  text-align: center;
  position: relative;
  display: block;
  line-height: 43px;
  text-decoration: none;
}
@media screen and (min-width: 1251px) {
  .header-top .site-header .nav-link {
    font-size: 13px;
  }
}
.header-top .site-header .nav-link .lazyloaded {
  opacity: 1;
  transition: opacity 0.3s;
}
.header-top .site-header .nav .link__contact {
  background: #32c332;
  padding: 0;
  display: inline-block;
  color: #fff !important;
}
.header-top .site-header .nav .link__contact img {
  width: 25px;
}
@media screen and (min-width: 1251px) {
  .header-top .site-header .nav .link__contact img {
    width: 31px;
  }
}
.header-top .site-header .nav .link__contact a, .header-top .site-header .nav .link__contact span {
  letter-spacing: 0.5px !important;
}
.header-top .site-header .nav .link__contact a {
  padding: 7px;
  color: #fff;
}
@media screen and (min-width: 1251px) {
  .header-top .site-header .nav .link__contact a {
    padding: 10px 13px;
  }
}
.header-top .site-header .nav .link__contact span {
  line-height: 1;
}
.header-top .site-header ul {
  padding: 0;
  align-items: center;
}
.header-top .site-header .submenu-header {
  position: absolute;
  z-index: 99;
  width: 100%;
  background: #fff;
  left: 0;
  top: 0;
  text-align: center;
  padding: 220px 0;
  display: none;
}
.header-top .site-header .submenu-header__wrap {
  display: inline-block;
  width: 560px;
  margin: 0 auto;
  max-width: 560px;
}
.header-top .site-header .submenu-header__left {
  width: 50% !important;
  border-right: 1px solid #ccc;
}
.header-top .site-header .submenu-header__left .nav-link {
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 43px;
  font-size: 1.3rem;
  margin-bottom: 16px;
}
.header-top .site-header .submenu-header .left {
  float: left !important;
}
.header-top .site-header .submenu-header .right {
  float: right !important;
  width: auto;
}
.header-top .site-header .submenu-header .nav {
  width: 240px;
  display: inline-block;
  margin: 0;
}
.header-top .site-header .submenu-header .nav .nav-item {
  display: block;
  margin-bottom: 16px;
}
.header-top .site-header .submenu-header .nav .nav-item a {
  text-align: left;
}
.header-top .site-header .submenu-header .nav .nav-item.text-small a {
  line-height: 1.7;
}
.header-top .site-header .submenu-header .nav .nav-item__reservation {
  margin-bottom: 30px;
}
.header-top .site-header .submenu-header .nav-item {
  margin-left: 0 !important;
}
.header-top .site-header .submenu-header .social-box {
  display: flex;
  align-items: center;
  margin-top: 20px;
}
.header-top .site-header .submenu-header .social-box a:not(.link__contact) {
  border-radius: 100%;
  background: #00b7ed;
  width: 40px;
  height: 40px;
  display: inline-block;
  text-align: center;
  line-height: 36px;
  color: #fff;
  font-size: 22px;
  margin-right: 15px;
}
.header-top .site-header .submenu-header .social-box a .svg-inline--fa {
  display: inline-block;
  font-size: inherit;
  height: 1em;
  overflow: visible;
  vertical-align: -0.125em;
  width: 1em;
  overflow: visible;
}
.header-top .site-header .submenu-header .link__contact img {
  vertical-align: middle;
  margin-right: 12px;
}

@media screen and (min-width: 961px) {
  .headerHome {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .header-top {
    display: none;
  }
  .headerHome {
    background-color: #fff;
    padding: 1.25vw 0;
  }
  .headerHome-logo {
    display: block;
    margin: auto;
    width: 29.375vw;
  }
  .headerHome-logo img {
    width: 100%;
    height: auto;
  }
}
/**
 # Objects -  utility -
 */
/*========== utility.scss ==========*/
.u-radius5 {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}

.u-radiusC {
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
}

.transition {
  transition: all 0.3s ease;
}

.hover:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}

.clearfix {
  zoom: 1;
}

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

.clearfix:after {
  clear: both;
}

.pc {
  display: block !important;
}
@media screen and (max-width: 640px) {
  .pc {
    display: none !important;
  }
}

.smp {
  display: none !important;
}
@media screen and (max-width: 640px) {
  .smp {
    display: block !important;
  }
}/*# sourceMappingURL=style.css.map */