@charset "UTF-8";
/* ルール */
/* --------------------------------
	WEB FONT
-------------------------------- */
/*  英語筆記 */
@import url("https://fonts.googleapis.com/css?family=Pinyon+Script");
@import url("https://fonts.googleapis.com/css?family=Roboto");
.pinyon {
  font-family: 'Pinyon Script', cursive; }

/* 英語ふと文字ゴシック */
.roboto {
  font-family: 'Roboto', sans-serif; }

/* 通常文字 mp1p */
.wf-mplus1p {
  font-family: "Mplus 1p"; }

.fw200 {
  font-weight: 200; }

.fw300 {
  font-weight: 300; }

.fw400 {
  font-weight: 400; }

.fw500 {
  font-weight: 500; }

.fw600 {
  font-weight: 600; }

.fw700 {
  font-weight: 700; }

.fw800 {
  font-weight: 800; }

/* 明朝体p */
.wf-sawarabimincho {
  font-family: "Sawarabi Mincho"; }

/* --------------------------------
	RESET
-------------------------------- */
body, h1, h2, h3, h4, h5, h6, blockquote, dl, dd, figure, ol, ul, p, pre {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-size: 100%; }

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box; }

article, aside, details, figure, figcaption, footer, header, main, nav, section {
  display: block; }

ol, ul {
  list-style-type: none;
  padding: 0; }

li {
  vertical-align: top; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

tr {
  vertical-align: top; }

th, td {
  padding: 0; }

img {
  max-width: 100%;
  border: 0 none;
  vertical-align: bottom; }

html {
  height: 100%;
  overflow-y: scroll; }

/* --------------------------------
	グリッド
-------------------------------- */
.layout {
  width: 900px;
  margin: 0 auto; }
  @media screen and (max-width: 979px) {
    .layout {
      width: auto;
      padding: 0 40px; } }
  @media screen and (max-width: 767px) {
    .layout {
      width: auto;
      padding: 0 15px; } }

/* --------------------------------
	common keyframes
-------------------------------- */
@-webkit-keyframes ripple {
  0% {
    opacity: 1;
    transform: scale(1); }
  80% {
    opacity: 0;
    transform: scale(2.5); }
  100% {
    opacity: 0;
    transform: scale(1); } }
@keyframes ripple {
  0% {
    opacity: 1;
    transform: scale(1); }
  80% {
    opacity: 0;
    transform: scale(2.5); }
  100% {
    opacity: 0;
    transform: scale(1); } }
@-webkit-keyframes blinkNew {
  0% {
    background: #000; }
  50% {
    background: #f94b4b; }
  100% {
    background: #000; } }
@keyframes blinkNew {
  0% {
    background: #000; }
  50% {
    background: #f94b4b; }
  100% {
    background: #000; } }
/* --------------------------------
	アピアランス style
-------------------------------- */
::selection {
  background: #1d86c1;
  color: #fff; }

::-moz-selection {
  background: #1d86c1;
  color: #fff; }

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box; }

html {
  font-size: 62.5%; }

body {
  width: 100%;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-wrap: break-word;
  word-break: break-all;
  font-family: "Mplus 1p","メイリオ","Meiryo","Meiryo UI","Hiragino Kaku Gothic ProN",helvetica,sans-serif;
  font-weight: 300;
  font-size: 1.4rem;
  line-height: 1.7;
  color: #434343;
  border-right: 5px solid #e83f5d;
  border-left: 5px solid #9dce82; }
  body:before, body:after {
    content: "";
    position: fixed;
    width: 100%;
    height: 5px;
    background: #5db5e7;
    z-index: 90; }
  body:before {
    top: 0; }
  body:after {
    bottom: 0; }

a {
  transition: all 0.3s ease;
  color: #5db5e7;
  text-decoration: none;
  background-color: transparent;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.25);
  -moz-tap-highlight-color: rgba(0, 0, 0, 0.25); }
  a img {
    transition: all 0.3s ease; }
  a:hover, a:focus {
    color: #2095d8; }

.fixed {
  position: fixed;
  width: 100%;
  height: 100%; }

.inner {
  position: relative; }

.opa-0 {
  opacity: 0; }
.opa-1 {
  opacity: 1; }

.ab-30 {
  bottom: -30px; }

/* --------------------------------
	コンポーネント パーツ
-------------------------------- */
/* WEB ICON */
.fb:before {
  font-family: 'FontAwesome';
  padding-right: 5px; }
.fb-commenting-o:before {
  content: "\f27b"; }
.fb-arrow-right:before {
  content: "\f061"; }
.fb-arrow-left:before {
  content: "\f060"; }
.fb-chevron-left:before {
  content: "\f053"; }
.fb-chevron-right:before {
  content: "\f054"; }
.fb-search:before {
  content: "\f002"; }
.fb-phone:before {
  content: "\f095"; }
.fb-home:before {
  content: "\f015"; }
.fb-envelope:before {
  content: "\f0e0"; }
.fb-commenting:before {
  content: "\f27a"; }

/* ページャー */
.pager {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 35px 0; }
  .pager a,
  .pager span {
    transition: all 0.3s ease;
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    color: #5db5e7;
    margin: 0 5px 10px;
    vertical-align: middle;
    box-shadow: 0 2px 0 #f2f2f2;
    text-align: center;
    line-height: 40px;
    border: 1px solid #5db5e7; }
    .pager a:hover,
    .pager span:hover {
      background: #5db5e7;
      color: #fff; }
  .pager .disabled a,
  .pager .disabled span {
    background: #e1e1e1;
    color: #fff;
    cursor: default;
    border-color: transparent; }
  .pager .active a,
  .pager .active span {
    background: #5db5e7;
    color: #fff;
    cursor: default;
    border-color: #5db5e7; }

/* ボタン */
.btn-tel, .btn-mail {
  text-align: center; }
  .btn-tel a, .btn-mail a {
    color: #fff;
    display: block; }
    .btn-tel a span, .btn-mail a span {
      display: block; }
    .btn-tel a p, .btn-mail a p {
      position: relative; }
.btn-tel {
  background: #000; }
  .btn-tel a p:before {
    width: 20px;
    height: 20px; }
.btn-mail {
  background: #e1364a; }
.btn button,
.btn a {
  display: block;
  width: 300px;
  height: 66px;
  max-width: 100%;
  line-height: 66px;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 300;
  margin: 0 auto;
  color: #404040;
  border: 1px solid #999;
  background: #ececec;
  box-shadow: 6px 6px 0 #fff, 7px 7px 0 #ccc; }
  @media screen and (max-width: 767px) {
    .btn button,
    .btn a {
      width: 250px;
      height: 42px;
      line-height: 42px; } }
  .btn button:hover,
  .btn a:hover {
    color: #fff;
    border: 1px solid #404040;
    background: #404040;
    box-shadow: -6px -6px 0 #fff, -7px -7px 0 #ccc; }
.btn.line button,
.btn.line a {
  color: #50cd00;
  border-color: #50cd00;
  background: #c1ff9a;
  box-shadow: 6px 6px 0 #fff, 7px 7px 0 #c1ff9a; }
  .btn.line button:hover,
  .btn.line a:hover {
    color: #fff;
    border-color: #50cd00;
    background: #50cd00;
    box-shadow: -6px -6px 0 #fff, -7px -7px 0 #c1ff9a; }

/* --------------------------------
	ページ設計
-------------------------------- */
/* ローディング */
.loader {
  background: #5db5e7;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 200; }
  .loader-animation {
    height: 10px;
    left: 50%;
    margin: -5px 0 0 -5px;
    position: absolute;
    top: 50%;
    width: 10px;
    color: #aa24ef;
    text-indent: -9999em;
    font-size: 10px;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s; }
    .loader-animation, .loader-animation:before, .loader-animation:after {
      background: #aa24ef;
      -webkit-animation: load1 1s infinite ease-in-out;
      animation: load1 1s infinite ease-in-out;
      width: 1em;
      height: 4em; }
    .loader-animation:before, .loader-animation:after {
      position: absolute;
      top: 0;
      content: ''; }
    .loader-animation:before {
      left: -1.5em;
      -webkit-animation-delay: -0.32s;
      animation-delay: -0.32s; }
    .loader-animation:after {
      left: 1.5em; }

@-webkit-keyframes load1 {
  0%,
	80%,
	100% {
    box-shadow: 0 0;
    height: 4em; }
  40% {
    box-shadow: 0 -2em;
    height: 5em; } }
@keyframes load1 {
  0%,
	80%,
	100% {
    box-shadow: 0 0;
    height: 4em; }
  40% {
    box-shadow: 0 -2em;
    height: 5em; } }
/* ドロワー */
.drawer-hamburger {
  box-sizing: border-box;
  z-index: 120;
  width: 40px; }
  .drawer-hamburger-icon {
    z-index: 121; }
.drawer-nav {
  z-index: 119;
  background: #5db5e7; }
.drawer-overlay {
  height: 130%;
  z-index: 99;
  background-color: rgba(0, 0, 0, 0.65);
  cursor: url(../img/cros.svg), auto; }
.drawer-list {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 10px; }
  .drawer-list-item {
    font-size: 1.4rem; }
  .drawer-list li {
    width: 100%;
    margin-bottom: 4%;
    text-align: center;
    line-height: 1.5;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding-bottom: 4%; }
    .drawer-list li a {
      color: #fff;
      padding: 10px 5px;
      display: block; }
    .drawer-list li span {
      display: block; }
      .drawer-list li span:first-of-type {
        font-weight: 400;
        font-size: 1.4rem; }
      .drawer-list li span:last-of-type {
        font-weight: 300;
        font-size: 1.2rem;
        color: #ffee00; }
.drawer-list-sub {
  background: #f5f5f5;
  padding: 20px;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
.drawer.drawer-open {
  overflow: visible !important; }
  .drawer.drawer-open .drawer-hamburger-icon {
    background-color: transparent; }
.drawer-site {
  padding: 10px;
  background: #aa24ef; }
  .drawer-site-logo {
    max-width: 200px;
    margin: 0 auto 10px; }
    .drawer-site-logo a {
      display: block; }
  .drawer-site-tel a, .drawer-site-cont a {
    border: 1px solid #47abe4;
    box-shadow: 0 2px 0 #47abe4;
    border-radius: 4px; }
  .drawer-site-tel {
    text-align: center;
    color: #f0ff01;
    margin-bottom: 10px; }
    .drawer-site-tel a {
      display: block;
      color: #fff;
      padding: 10px;
      background: #000;
      font-size: 2.4rem; }
  .drawer-site-cont {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    text-align: center; }
    .drawer-site-cont a {
      display: block;
      width: 48%;
      color: #fff;
      padding: 5px;
      font-weight: 400; }
    .drawer-site-cont-reserve {
      line-height: 40px;
      background: #E91E63; }
    .drawer-site-cont-line {
      background: #00c601; }
      .drawer-site-cont-line span {
        display: block;
        font-size: 1.1rem; }

/* 新人女性 スワイプ */
.swiper-pagination-bullet-active {
  background: #5db5e7; }

/* -------------
 フッター
---------------- */
.foot {
  position: relative;
  z-index: 2; }
  .foot-bottom {
    text-align: center;
    padding: 25px 0;
    background: #2e2d2d;
    color: #fff;
    font-weight: 200; }

#pagetop {
  width: 50px;
  height: 50px;
  text-align: center;
  font-size: 2.0rem;
  color: #fff;
  position: fixed;
  display: block;
  right: 5px;
  z-index: 3;
  transition: all 0.3s ease; }
  #pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    background: #5db5e7;
    color: #fff; }
