@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
*/
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, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, 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;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

address {
  font-style: normal; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
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;
  cursor: help; }

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/*
Zarigani Design Office Drawer Menu
Copyright 2018 Zarigani Design Office

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* === Hambuerger Button's Style Paste Here === */
/*+++ Reset +++*/
.zdo_drawer_button * {
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-align: left;
  text-decoration: none;
  list-style: none; }

.zdo_drawer_button {
  display: block;
  padding: 0;
  width: 40px;
  height: 38px;
  position: relative;
  background: none;
  border: none;
  text-align: center;
  letter-spacing: 0.1em;
  cursor: pointer;
  outline: none; }
  @media screen and (max-width: 800px) {
    .zdo_drawer_button {
      width: 30px;
      height: 28px; } }

.zdo_drawer_button .zdo_drawer_bar {
  display: block;
  width: 40px;
  height: 5px;
  transition: all 0.2s;
  transform-origin: 0% 0%;
  transform: translateY(-50%);
  position: absolute;
  left: 0; }
  @media screen and (max-width: 800px) {
    .zdo_drawer_button .zdo_drawer_bar {
      height: 3px;
      width: 30px; } }

.zdo_drawer_button .zdo_drawer_bar1 {
  top: 0; }

.zdo_drawer_button .zdo_drawer_bar2 {
  top: calc(50% - 2.5px); }
  @media screen and (max-width: 800px) {
    .zdo_drawer_button .zdo_drawer_bar2 {
      top: calc(50% - 1.5px); } }

.zdo_drawer_button .zdo_drawer_bar3 {
  top: auto;
  bottom: 0; }

.zdo_drawer_button.active .zdo_drawer_bar {
  width: 38px;
  left: 6px; }
  @media screen and (max-width: 800px) {
    .zdo_drawer_button.active .zdo_drawer_bar {
      width: 28px; } }

.zdo_drawer_button.active .zdo_drawer_bar1 {
  transform: rotate(0.7853981634rad) translateY(-50%);
  top: 6px; }
  @media screen and (max-width: 800px) {
    .zdo_drawer_button.active .zdo_drawer_bar1 {
      top: 1px; } }

.zdo_drawer_button.active .zdo_drawer_bar2 {
  opacity: 0; }

.zdo_drawer_button.active .zdo_drawer_bar3 {
  transform: rotate(-0.7853981634rad) translateY(-50%);
  top: 33px; }
  @media screen and (max-width: 800px) {
    .zdo_drawer_button.active .zdo_drawer_bar3 {
      top: 21px; } }

.zdo_drawer_button.active .zdo_drawer_menu_text {
  display: none; }

.zdo_drawer_button.active .zdo_drawer_close {
  display: block; }

.zdo_drawer_text {
  width: 100%;
  position: absolute;
  bottom: -20px;
  left: 0;
  text-align: center;
  font-size: 10px; }

.zdo_drawer_close {
  letter-spacing: 0.08em;
  display: none; }

/*+++ Default Button Color +++*/
.zdo_drawer_button {
  color: #FFF; }

.zdo_drawer_button .zdo_drawer_bar {
  background-color: #FFF; }

/* === Hambuerger Button's Style End === */
.zdo_drawer_menu .zdo_drawer_button {
  /*+++ Hamburger Button Position +++*/
  position: fixed;
  top: 32px;
  right: 32px;
  z-index: 1001; }
  @media screen and (max-width: 800px) {
    .zdo_drawer_menu .zdo_drawer_button {
      top: 18px;
      right: 20px; } }
.zdo_drawer_menu a:visited {
  color: inherit; }
.zdo_drawer_menu .zdo_drawer_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 999;
  display: none;
  top: 0;
  left: 0; }
.zdo_drawer_menu .zdo_drawer_nav_wrapper {
  width: 525px;
  height: 100%;
  transition: all 0.2s;
  transform: translate(525px);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  background-color: #000;
  overflow: scroll; }
  @media screen and (max-width: 800px) {
    .zdo_drawer_menu .zdo_drawer_nav_wrapper {
      width: 100%;
      transform: translate(100%); } }
  .zdo_drawer_menu .zdo_drawer_nav_wrapper.open {
    transform: translate(0); }
.zdo_drawer_menu.left .zdo_drawer_button {
  right: auto;
  left: 32px; }
.zdo_drawer_menu.left .zdo_drawer_nav_wrapper {
  transform: translate(-525px);
  right: auto;
  left: 0; }
  @media screen and (max-width: 800px) {
    .zdo_drawer_menu.left .zdo_drawer_nav_wrapper {
      transform: translate(-100%); } }
  .zdo_drawer_menu.left .zdo_drawer_nav_wrapper.open {
    transform: translate(0); }

/*+++ Default Navigation CSS +++*/
.zdo_drawer_menu .zdo_drawer_nav {
  padding: 115px 65px 20px; }
  @media screen and (max-width: 800px) {
    .zdo_drawer_menu .zdo_drawer_nav {
      padding: 60px 30px 30px; } }

.zdo_drawer_menu a:visited {
  color: #FFF !important; }

/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* ==========================================================================
   Remodal's default mobile first theme
   ========================================================================== */
/* Default theme styles for the background */
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  -webkit-filter: blur(3px);
  filter: blur(3px); }

/* Default theme styles of the overlay */
.remodal-overlay {
  background: rgba(43, 46, 56, 0.9); }

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

.remodal-overlay.remodal-is-opening {
  -webkit-animation-name: remodal-overlay-opening-keyframes;
  animation-name: remodal-overlay-opening-keyframes; }

.remodal-overlay.remodal-is-closing {
  -webkit-animation-name: remodal-overlay-closing-keyframes;
  animation-name: remodal-overlay-closing-keyframes; }

/* Default theme styles of the wrapper */
.remodal-wrapper {
  padding: 10px 10px 0; }

/* Default theme styles of the modal dialog */
.remodal {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 10px;
  padding: 35px;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  color: #2b2e38;
  background: #fff; }

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

.remodal.remodal-is-opening {
  -webkit-animation-name: remodal-opening-keyframes;
  animation-name: remodal-opening-keyframes; }

.remodal.remodal-is-closing {
  -webkit-animation-name: remodal-closing-keyframes;
  animation-name: remodal-closing-keyframes; }

/* Vertical align of the modal dialog */
.remodal,
.remodal-wrapper:after {
  vertical-align: middle; }

/* Close button */
.remodal-close {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  overflow: visible;
  width: 35px;
  height: 35px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  text-decoration: none;
  color: #95979c;
  border: 0;
  outline: 0;
  background: transparent; }

.remodal-close:hover,
.remodal-close:focus {
  color: #2b2e38; }

.remodal-close:before {
  font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
  font-size: 25px;
  line-height: 35px;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 35px;
  content: "\00d7";
  text-align: center; }

/* Dialog buttons */
.remodal-confirm,
.remodal-cancel {
  font: inherit;
  display: inline-block;
  overflow: visible;
  min-width: 110px;
  margin: 0;
  padding: 12px 0;
  cursor: pointer;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  outline: 0; }

.remodal-confirm {
  color: #fff;
  background: #81c784; }

.remodal-confirm:hover,
.remodal-confirm:focus {
  background: #66bb6a; }

.remodal-cancel {
  color: #fff;
  background: #e57373; }

.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350; }

/* Remove inner padding and border in Firefox 4+ for the button tag. */
.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;
  border: 0; }

/* Keyframes
   ========================================================================== */
@-webkit-keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0); } }
@keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0); } }
@-webkit-keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0); } }
@keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0); } }
@-webkit-keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@-webkit-keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }
@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }
/* Media queries
   ========================================================================== */
@media only screen and (min-width: 641px) {
  .remodal {
    max-width: 700px; } }
/* IE8
   ========================================================================== */
.lt-ie9 .remodal-overlay {
  background: #2b2e38; }

.lt-ie9 .remodal {
  width: 700px; }

/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */
/* Hide scroll bar */
html.remodal-is-locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none; }

/* Anti FOUC */
.remodal,
[data-remodal-id] {
  display: none; }

/* Necessary styles of the overlay */
.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;
  display: none; }

/* Necessary styles of the wrapper */
.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow: auto;
  text-align: center;
  -webkit-overflow-scrolling: touch; }

.remodal-wrapper:after {
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  content: ""; }

/* Fix iPad, iPhone glitches */
.remodal-overlay,
.remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/* Necessary styles of the modal dialog */
.remodal {
  position: relative;
  outline: none;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%; }

.remodal-is-initialized {
  /* Disable Anti-FOUC */
  display: inline-block; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* wrap */
.row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap; }
  @media screen and (max-width: 1000px) {
    .row {
      display: block; } }

/*	common
---------------------------------*/
body {
  background: #0A0A0A;
  color: #999999;
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 14px; }

/* link */
a {
  color: #0A0A0A;
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

a:active, a:focus {
  outline: none; }

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

/* heading */
/* text */
p {
  text-align: justify; }

a {
  transition: .4s; }
  a:hover {
    transition: .4s;
    text-decoration: none; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* fadein */
.fadein {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 1s;
  transition: all 1s; }

/*	clearfix
---------------------------------*/
/* add parent object */
.cl:before, .cl:after {
  content: " ";
  display: table; }

.cl:after {
  clear: both; }

.cl {
  *zoom: 1;
  display: block; }

.block_p {
  display: block; }
  @media screen and (max-width: 1000px) {
    .block_p {
      display: none; } }

.block_s {
  display: none; }
  @media screen and (max-width: 1000px) {
    .block_s {
      display: block; } }

.inline_p {
  display: inline; }
  @media screen and (max-width: 1000px) {
    .inline_p {
      display: none; } }

.inline_s {
  display: none; }
  @media screen and (max-width: 1000px) {
    .inline_s {
      display: inline; } }

.wrapper {
  overflow: hidden;
  position: relative;
  background: #0A0A0A; }

/*========= ローディング画面のためのCSS ===============*/
#splash {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #0A0A0A;
  z-index: 9999999;
  text-align: center;
  color: #fff; }

.splashLogo {
  width: 200px;
  display: block; }

#splash-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

/*========= 画面遷移のためのCSS ===============*/
body {
  background: #0A0A0A;
  /*遷移アニメーションと同じ色を指定*/ }

body.appear {
  background: #fff;
  /*画面を開いた後の背景色を指定*/ }

/*画面遷移アニメーション*/
.splashbg1,
.splashbg2 {
  display: none; }

/*bodyにappearクラスがついたら出現*/
body.appear .splashbg1,
body.appear .splashbg2 {
  display: block; }

/*右に消えるエリア*/
body.appear .splashbg1 {
  animation-name: PageAnime;
  animation-duration: 1.2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 50%;
  transform: scaleX(1);
  background-color: #0A0A0A;
  /*伸びる背景色の設定*/ }

@keyframes PageAnime {
  0% {
    transform-origin: left;
    transform: scaleX(1); }
  50% {
    transform-origin: right; }
  100% {
    transform-origin: right;
    transform: scaleX(0); } }
/*左に消えるエリア*/
body.appear .splashbg2 {
  animation-name: PageAnime2;
  animation-duration: 1.2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  right: 50%;
  transform: scaleX(1);
  background-color: #0A0A0A;
  /*伸びる背景色の設定*/ }

@keyframes PageAnime2 {
  0% {
    transform-origin: right;
    transform: scaleX(1); }
  50% {
    transform-origin: left; }
  100% {
    transform-origin: left;
    transform: scaleX(0); } }
/*画面遷移の後現れるコンテンツ設定*/
#container {
  opacity: 0;
  /*はじめは透過0に*/ }

/*bodyにappearクラスがついたら出現*/
body.appear #container {
  animation-name: PageAnimeAppear;
  animation-duration: 1s;
  animation-delay: 0.2s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes PageAnimeAppear {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
#container {
  opacity: 0; }

.bgextend {
  animation-name: bgextendAnimeBase;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
  /*　はみ出た色要素を隠す　*/
  opacity: 0;
  display: block; }

@keyframes bgextendAnimeBase {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
/*中の要素*/
.bgappear {
  animation-name: bgextendAnimeSecond;
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0;
  display: block; }

@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*左から右*/
.bgLRextend::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #585858;
  /*伸びる背景色の設定*/
  display: block; }

@keyframes bgLRextendAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0); }
  50% {
    transform-origin: left;
    transform: scaleX(1); }
  50.001% {
    transform-origin: right; }
  100% {
    transform-origin: right;
    transform: scaleX(0); } }
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgLRextendTrigger {
  opacity: 0;
  display: block; }

.header {
  height: 60px;
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10; }
  .header__logo {
    display: block;
    width: 131px;
    margin: 20px 0 0 30px; }
    @media screen and (max-width: 1000px) {
      .header__logo {
        margin: 15px 0 0px 17px; } }
  .header__contact {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 34px;
    color: #999999;
    border: 1px solid #999999;
    position: absolute;
    right: 100px;
    top: 26px; }
    @media screen and (max-width: 1000px) {
      .header__contact {
        display: none; } }
    .header__contact:hover {
      background: #FFF;
      color: #0A0A0A; }
      .header__contact:hover span:before {
        content: "";
        background: url("../img/icon_line2.svg") left center no-repeat;
        background-size: 14px; }
    .header__contact span {
      font-size: 11px;
      position: relative;
      letter-spacing: 0.5px;
      right: -5px; }
      .header__contact span:before {
        content: "";
        background: url("../img/icon_line.svg") left center no-repeat;
        width: 14px;
        background-size: 14px;
        height: 14px;
        position: absolute;
        left: -18px;
        top: -2px; }
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0; }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0; }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%; }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%; } }
  .header .zdo_drawer_button {
    width: 34px;
    height: 20px;
    background: url("../img/open.svg");
    background-size: 34px;
    right: 30px;
    top: 34px; }
    @media screen and (max-width: 1000px) {
      .header .zdo_drawer_button {
        right: 20px;
        top: 24px; } }
  .header .zdo_drawer_button.active {
    background: url("../img/close.svg");
    background-size: 34px; }
  .header .zdo_drawer_nav li {
    margin-bottom: 20px; }
  .header .zdo_drawer_nav a {
    color: #FFF;
    letter-spacing: 2px;
    font-size: 20px; }

.mv {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  /* overlay */ }
  @media screen and (max-width: 1000px) {
    .mv {
      height: 100svh;
      margin-bottom: 80px; } }
  @media screen and (max-width: 1000px) {
    .mv:before {
      content: "";
      position: absolute;
      height: 110px;
      width: 100%;
      left: 0;
      bottom: 0;
      z-index: 1; } }
  .mv .video-box {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh; }
    @media screen and (max-width: 1000px) {
      .mv .video-box {
        height: 100svh; } }
  .mv .video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .mv .overlay::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: ""; }
  .mv__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: mainvisual 15s forwards;
    background: url("../img/mv.png") center no-repeat;
    background-size: cover; }
    @media screen and (max-width: 1000px) {
      .mv__inner {
        height: calc(100% - 100px); } }
@keyframes mainvisual {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.15); } }
  .mv__scroll {
    display: inline-block;
    position: relative;
    z-index: 2;
    overflow: hidden;
    height: 32px;
    width: 1px;
    background: url("../img/dot.png") no-repeat;
    background-size: 100%; }
    .mv__scroll:after {
      content: "";
      position: absolute;
      bottom: 0px;
      left: 50%;
      width: 1px;
      height: 32px;
      background: #fff;
      animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite; }
  .mv__arrow {
    width: 9px;
    bottom: 20px;
    left: calc(50% - 4.5px);
    position: absolute;
    z-index: 2; }
  .mv__catch {
    text-align: center;
    color: #FFF;
    width: 100%;
    position: absolute;
    bottom: 32px;
    z-index: 2; }
  .mv__enttl {
    text-align: center;
    font-size: 56px; }
    @media screen and (max-width: 1000px) {
      .mv__enttl {
        font-size: 30px; } }
  .mv__ttl {
    font-size: 28px;
    font-weight: 400;
    margin: 40px 0;
    letter-spacing: 1px; }
    @media screen and (max-width: 1000px) {
      .mv__ttl {
        font-size: 16px;
        margin: 20px 0; } }
  .mv__lead {
    text-align: center;
    font-size: 15px;
    line-height: 2;
    letter-spacing: 1px;
    margin-bottom: 20px; }
    @media screen and (max-width: 1000px) {
      .mv__lead {
        font-size: 9px; } }

.about {
  margin-top: 90px; }
  @media screen and (max-width: 1000px) {
    .about {
      margin-top: 20px; } }
  .about__pics {
    width: calc(100%/2);
    position: relative; }
    @media screen and (max-width: 1000px) {
      .about__pics {
        width: 100%;
        margin-bottom: -125px; } }
  .about__box {
    padding-left: 50px;
    padding-right: 130px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-top: 200px; }
    @media screen and (max-width: 1000px) {
      .about__box {
        padding-top: 0;
        position: relative;
        z-index: 1;
        padding: 0 30px;
        max-width: 100%; } }
  .about__ttl {
    font-size: 30px;
    color: #FFF;
    line-height: 1.6;
    font-weight: 400;
    margin-bottom: 20px;
    letter-spacing: 1px; }
    @media screen and (max-width: 1000px) {
      .about__ttl {
        font-size: 22px; } }
  .about__txt {
    line-height: 1.6; }
    @media screen and (max-width: 1000px) {
      .about__txt {
        font-size: 14px; } }
  .about__pic1 {
    padding-right: 100px;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 1000px) {
      .about__pic1 {
        padding-right: 60px; } }
  .about__pic1Inner {
    background: url("../img/img1.png") center no-repeat;
    background-size: cover;
    height: 420px; }
    @media screen and (max-width: 1000px) {
      .about__pic1Inner {
        height: 230px; } }
  .about__pic2 {
    padding-left: 200px;
    margin-top: -85px; }
    @media screen and (max-width: 1000px) {
      .about__pic2 {
        margin-top: -50px; } }
  .about__pic2Inner {
    background: url("../img/img2.png") center no-repeat;
    background-size: cover;
    height: 365px; }
    @media screen and (max-width: 1000px) {
      .about__pic2Inner {
        height: 155px; } }
  .about__enTxt {
    font-size: 16px;
    position: absolute;
    right: 40px;
    top: 60px; }
    @media screen and (max-width: 1000px) {
      .about__enTxt {
        top: 25px; } }

.verticalTxt {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: #FFF;
  letter-spacing: 1.5px; }
  @media screen and (max-width: 1000px) {
    .verticalTxt {
      font-size: 10px; } }

.hide {
  overflow: hidden; }

.spec {
  margin-top: 80px; }
  .spec__enTtl {
    font-size: 28px;
    color: #FFF; }
    @media screen and (max-width: 1000px) {
      .spec__enTtl {
        font-size: 20px; } }
  .spec__ttl {
    font-size: 14px;
    margin: 10px 0 20px;
    font-weight: normal; }
  .spec__dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px;
    line-height: 1.8; }
    @media screen and (max-width: 1000px) {
      .spec__dl {
        font-size: 12px; } }
  .spec__dt {
    width: 30px; }
  .spec__dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-left: 10px;
    color: #999999; }
    .spec__dd a {
      color: #999999; }
  .spec__txt {
    line-height: 1.8; }
    @media screen and (max-width: 1000px) {
      .spec__txt {
        font-size: 12px; } }

.spec1__pic {
  max-width: 810px;
  width: calc(50% + 120px);
  height: 510px;
  padding-bottom: 50px;
  box-sizing: border-box;
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 1000px) {
    .spec1__pic {
      height: 250px;
      padding-bottom: 0;
      width: calc(100% - 60px); } }
.spec1__picInner {
  background: url("../img/gym01.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec1__picInner {
      height: 250px; } }
.spec1 .slide2 {
  background: url("../img/gym02.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec1 .slide2 {
      height: 250px; } }
.spec1 .slide3 {
  background: url("../img/gym03.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec1 .slide3 {
      height: 250px; } }
.spec1 .slide4 {
  background: url("../img/gym04.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec1 .slide4 {
      height: 250px; } }
.spec1 .slide5 {
  background: url("../img/gym05.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec1 .slide5 {
      height: 250px; } }
.spec1 .slide6 {
  background: url("../img/gym06.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec1 .slide6 {
      height: 250px; } }
.spec1 .slide7 {
  background: url("../img/gym07.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec1 .slide7 {
      height: 250px; } }
.spec1__detail {
  padding-right: 100px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end; }
  @media screen and (max-width: 1000px) {
    .spec1__detail {
      padding: 0 35px; } }
.spec1__detailInner {
  background: #141414;
  width: 100%;
  position: relative;
  padding: 60px 50px 60px 50px; }
  @media screen and (max-width: 1000px) {
    .spec1__detailInner {
      padding: 20px; } }
  .spec1__detailInner:before {
    content: "";
    width: 25px;
    height: 100%;
    position: absolute;
    left: -25px;
    background: #141414;
    top: 0; }
    @media screen and (max-width: 1000px) {
      .spec1__detailInner:before {
        left: 0;
        top: -40px;
        width: 100%;
        height: 40px; } }
.spec1__enTxt {
  position: absolute;
  right: -25px;
  top: 40px;
  z-index: 1; }
  @media screen and (max-width: 1000px) {
    .spec1__enTxt {
      top: calc(50% - 35px);
      right: -30px; } }

.spec2 .row {
  flex-direction: row-reverse; }
.spec2__pic {
  max-width: 810px;
  width: calc(50% + 120px);
  height: 510px;
  padding-bottom: 50px;
  box-sizing: border-box;
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 1000px) {
    .spec2__pic {
      width: calc(100% - 60px);
      height: 250px;
      right: -60px; } }
.spec2__picInner {
  background: url("../img/sauna01.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec2__picInner {
      height: 250px; } }
.spec2 .slide2_2 {
  background: url("../img/sauna02.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec2 .slide2_2 {
      height: 250px; } }
.spec2 .slide2_3 {
  background: url("../img/sauna03.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec2 .slide2_3 {
      height: 250px; } }
.spec2 .slide2_4 {
  background: url("../img/sauna04.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec2 .slide2_4 {
      height: 250px; } }
.spec2 .slide2_5 {
  background: url("../img/sauna05.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec2 .slide2_5 {
      height: 250px; } }
.spec2 .slide2_6 {
  background: url("../img/sauna06.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec2 .slide2_6 {
      height: 250px; } }
.spec2 .slide2_7 {
  background: url("../img/sauna07.png") center no-repeat;
  background-size: cover;
  height: 460px; }
  @media screen and (max-width: 1000px) {
    .spec2 .slide2_7 {
      height: 250px; } }
.spec2__detail {
  padding-left: 100px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end; }
  @media screen and (max-width: 1000px) {
    .spec2__detail {
      padding: 0 35px; } }
.spec2__detailInner {
  background: #141414;
  width: 100%;
  position: relative;
  padding: 60px 50px 60px 50px; }
  @media screen and (max-width: 1000px) {
    .spec2__detailInner {
      padding: 20px; } }
  .spec2__detailInner:before {
    content: "";
    width: 25px;
    height: 100%;
    position: absolute;
    right: -25px;
    background: #141414;
    top: 0; }
    @media screen and (max-width: 1000px) {
      .spec2__detailInner:before {
        left: 0;
        top: -40px;
        width: 100%;
        height: 40px; } }
.spec2__enTxt {
  position: absolute;
  left: -25px;
  top: 40px;
  z-index: 1; }
  @media screen and (max-width: 1000px) {
    .spec2__enTxt {
      top: calc(50% - 40px);
      left: -35px; } }

.price {
  padding: 80px 0;
  background: #141414;
  margin-top: 80px; }
  @media screen and (max-width: 1000px) {
    .price {
      padding: 50px 0;
      margin-top: 50px; } }
  .price__inner {
    max-width: 1000px;
    padding: 0 40px;
    margin: auto; }
  .price__wrap {
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between; }
  .price__pic img {
    display: block; }
  .price__pic, .price__detail {
    width: calc(100%/2 - 20px); }
    @media screen and (max-width: 1000px) {
      .price__pic, .price__detail {
        width: 100%; } }
  .price__box {
    background: #1A1A1A;
    padding: 30px;
    box-sizing: border-box; }
    @media screen and (max-width: 1000px) {
      .price__box {
        background: #000;
        padding: 20px; } }
  .price__price {
    color: #FFF;
    font-size: 16px; }
    @media screen and (max-width: 1000px) {
      .price__price {
        font-size: 13px; } }
    .price__price span {
      font-size: 21px; }
      @media screen and (max-width: 1000px) {
        .price__price span {
          font-size: 16px; } }
  .price__subTtl {
    font-size: 18px;
    margin: 40px 0 20px;
    font-weight: 400; }
    @media screen and (max-width: 1000px) {
      .price__subTtl {
        font-size: 16px;
        margin: 30px 0 15px; } }
  .price__li {
    font-size: 14px;
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 10px; }
    @media screen and (max-width: 1000px) {
      .price__li {
        font-size: 12px; } }
    .price__li > ul {
      margin: 10px 0 0 20px; }
      .price__li > ul li {
        margin: 0 0 8px; }

.staff {
  margin: 80px 0; }
  @media screen and (max-width: 1000px) {
    .staff {
      margin: 30px 0 50px; } }
  .staff__box {
    width: calc(100%/3);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    color: #FFF;
    position: relative;
    min-height: 300px; }
    @media screen and (max-width: 1000px) {
      .staff__box {
        width: 100%; } }
    .staff__box:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      background: #000;
      opacity: 0.4;
      transition: .4s; }
    .staff__box:hover:before {
      opacity: 0;
      transition: .4s; }
  .staff__subTtl {
    font-size: 12px;
    position: relative;
    padding: 0 0 10px;
    display: block;
    text-align: center;
    letter-spacing: 2px; }
    .staff__subTtl:after {
      content: "";
      position: absolute;
      bottom: 0px;
      width: 50px;
      left: calc(50% - 25px);
      height: 1px;
      background: #FFF; }
  .staff__enTtl {
    font-size: 20px;
    text-align: center;
    margin: 10px 0; }
  .staff__ttl {
    text-align: center;
    font-size: 14px; }
  .staff__box1 {
    background: url("../img/img_staff1.png") center no-repeat;
    background-size: cover; }
  .staff__box2 {
    background: url("../img/img_staff2.png") center no-repeat;
    background-size: cover; }
  .staff__box3 {
    background: url("../img/img_staff3.png") center no-repeat;
    background-size: cover; }
  .staff__box4 {
    background: url("../img/img_staff4.png") center no-repeat;
    background-size: cover; }
  .staff__box5 {
    background: url("../img/img_staff5.png") center no-repeat;
    background-size: cover; }
  .staff__boxInner {
    position: relative;
    z-index: 1; }
  .staff .row {
    justify-content: center; }
  @media screen and (max-width: 1000px) {
    .staff .common__ttl,
    .staff .common__enTtl {
      text-align: left;
      margin-left: 20px;
      display: inline-block; } }
  @media screen and (max-width: 1000px) {
    .staff .common__ttl {
      margin-left: 10px; } }

.common__ttl {
  font-size: 16px;
  text-align: center;
  font-weight: 400;
  margin-top: 10px;
  margin-bottom: 40px; }
  @media screen and (max-width: 1000px) {
    .common__ttl {
      font-size: 14px;
      letter-spacing: 1px; } }
.common__enTtl {
  font-size: 38px;
  color: #FFF;
  text-align: center;
  letter-spacing: 1px; }
  @media screen and (max-width: 1000px) {
    .common__enTtl {
      font-size: 24px; } }

.access .spec1__picInner.on {
  animation: none; }
.access .spec__dt {
  width: 100px; }
  @media screen and (max-width: 1000px) {
    .access .spec__dt {
      display: block;
      width: 100%; } }
@media screen and (max-width: 1000px) {
  .access .spec__dd {
    padding: 0; } }
.access .spec1__pic1Inner {
  background: none; }
  .access .spec1__pic1Inner iframe {
    width: 100%;
    height: 100%;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%); }
.access .spec1__detail {
  padding-right: 110px; }
  @media screen and (max-width: 1000px) {
    .access .spec1__detail {
      padding: 30px; } }
.access .spec1__detailInner {
  background: none;
  padding: 60px 0px 60px 100px; }
  @media screen and (max-width: 1000px) {
    .access .spec1__detailInner {
      padding: 0px; } }
  .access .spec1__detailInner::before {
    content: none; }
@media screen and (max-width: 1000px) {
  .access .spec1__enTxt {
    top: calc(50% - 65px); } }

.contact {
  background: url("../img/bg_footer.png") center no-repeat;
  background-size: cover;
  padding: 80px 0 0; }
  @media screen and (max-width: 1000px) {
    .contact {
      padding: 50px 0 0; } }
  .contact__list {
    max-width: 310px;
    margin: auto; }
    @media screen and (max-width: 1000px) {
      .contact__list {
        max-width: 260px; } }
  .contact__li {
    margin-bottom: 20px; }
  .contact__link {
    color: #FFF;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border: 1px solid #FFFFFF;
    font-size: 14px;
    height: 50px; }
    .contact__link:hover {
      background: #FFF;
      color: #0A0A0A; }
    .contact__link span {
      position: relative; }
  .contact__link1:hover span:before {
    content: "";
    background: url("../img/footicon1_2.svg") no-repeat;
    background-size: 18px;
    height: 18px;
    width: 18px;
    position: absolute;
    left: -28px;
    top: -2px; }
  .contact__link1 span:before {
    content: "";
    background: url("../img/footicon1.svg") no-repeat;
    background-size: 18px;
    height: 18px;
    width: 18px;
    position: absolute;
    left: -28px;
    top: -2px; }
  .contact__link2:hover span:before {
    content: "";
    background: url("../img/footicon2_2.svg") no-repeat;
    background-size: 18px;
    height: 18px;
    width: 18px;
    position: absolute;
    left: -28px;
    top: 0px; }
  .contact__link2 span:before {
    content: "";
    background: url("../img/footicon2_1.svg") no-repeat;
    background-size: 18px;
    height: 18px;
    width: 18px;
    position: absolute;
    left: -28px;
    top: 0px; }
  .contact__link3:hover span:before {
    content: "";
    background: url("../img/footicon3_2.svg") no-repeat;
    background-size: 18px;
    height: 18px;
    width: 18px;
    position: absolute;
    left: -28px;
    top: -3px; }
  .contact__link3 span:before {
    content: "";
    background: url("../img/footicon3_1.svg") no-repeat;
    background-size: 18px;
    height: 18px;
    width: 18px;
    position: absolute;
    left: -28px;
    top: -3px; }
  .contact__ttl {
    text-align: center;
    color: #FFF;
    font-size: 28px;
    line-height: 1.6;
    margin: 0 0 30px;
    font-weight: 400; }
    @media screen and (max-width: 1000px) {
      .contact__ttl {
        font-size: 18px; } }

.footer {
  margin-top: 50px;
  border-top: 0.3px solid #FFF;
  padding: 10px 0; }
  @media screen and (max-width: 1000px) {
    .footer {
      margin-bottom: 120px; } }
  .footer__copy {
    font-size: 10px;
    text-align: center; }

.modal {
  line-height: 1.8; }
  .modal__wrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
  .modal__pic {
    max-width: 400px;
    margin: 0 auto 10px; }
  .modal__name {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-left: 30px;
    font-size: 20px; }
    @media screen and (max-width: 1000px) {
      .modal__name {
        padding-left: 0;
        margin-bottom: 20px;
        text-align: center; } }
    .modal__name span {
      font-size: 14px;
      display: block;
      position: relative;
      margin-bottom: 20px;
      padding-bottom: 20px; }
      .modal__name span:before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        height: 1px;
        width: 50px;
        background: #0A0A0A; }
        @media screen and (max-width: 1000px) {
          .modal__name span:before {
            left: calc(50% - 25px); } }
  .modal__box {
    margin: 20px 0 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #0A0A0A; }

.remodal {
  max-height: 600px;
  overflow: scroll; }
  @media screen and (max-width: 1000px) {
    .remodal {
      max-height: 450px;
      padding: 20px; } }

.remodal-overlay {
  background: rgba(0, 0, 0, 0.5) !important; }

.fixedBtn {
  border-top: 1px solid #999999;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  height: 60px;
  align-items: center;
  justify-content: center;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.9);
  z-index: 10;
  bottom: -61px;
  /* ボタンが画面外に隠れるように設定 */
  transition: bottom 0.3s ease;
  /* アニメーションを追加 */ }
  .fixedBtn img {
    display: block;
    margin: auto;
    max-width: 200px; }
