@charset "UTF-8";
/* ---------------------------------------- */
/* Reset & Base Style */
/* ---------------------------------------- */
/* ---------------------------------------- */
/* Reset Style */
/* ---------------------------------------- */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
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.6;
  font-family: sans-serif; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

ul,
ul li {
  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; }

/* 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; }

img {
  vertical-align: bottom; }

input, select {
  vertical-align: middle; }

/* clearfix */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  line-height: 0;
  font-size: 0; }

.clearfix {
  /* display: inline-block; */
  min-height: 1%; }

/* ---------------------------------------- */
/* Base Style */
/* ---------------------------------------- */
html, body, th, td {
  font-size: 15px;
  color: #111;
  background: #fff;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Sans",Helvetica, Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'palt';
  letter-spacing: 0.1em; }

p {
  margin: 0 0 1.5em;
  line-height: 1.8; }

a:hover img {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1; }

a:link {
  color: #333;
  text-decoration: underline; }

a:visited {
  color: #333; }

a:hover {
  color: #333;
  text-decoration: none; }

a:active {
  color: #333; }

strong {
  font-weight: bold; }

/* clear */
.clear {
  clear: both; }

/* clearfix */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  line-height: 0;
  font-size: 0; }

.clearfix {
  /* display: inline-block; */
  min-height: 1%; }

/* paragraph align */
.align-r {
  clear: both;
  text-align: right; }

.align-c {
  clear: both;
  text-align: center; }

/* img float left */
img.img-l {
  float: left;
  margin-right: 21px;
  margin-bottom: 28px; }

/* img float right */
img.img-r {
  float: right;
  margin-left: 21px;
  margin-bottom: 28px; }

/* important color */
em {
  color: #CC0000; }

.important {
  color: #CC0000; }

/* note */
.note {
  margin: -5px 0 10px;
  color: #aaa;
  font-size: 13px;
  line-height: 1.5; }

/* grid2col */
div.grid2col {
  overflow: hidden; }

div.grid2col .col {
  float: left; }

/* Icon New Win */
/*
.newwin{
padding: 2px 22px 1px 0;
background: url(../images/icn_newwin.png) no-repeat right center;
}
*/
a.elem-over {
  -webkit-transition: opacity 0.4s ease-out;
  -moz-transition: opacity 0.4s ease-out;
  transition: opacity 0.4s ease-out; }

a.elem-over:hover {
  opacity: 0.6;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }

/* wave dash */
span.wd {
  display: inline-block;
  padding: 0 1px;
  transform: scale(0.9, 1); }

/* Show Small View */
.show-sml {
  display: none; }

/* Hide Small View */
.hide-sml {
  display: block; }

.hide-sml.inline {
  display: inline; }

/*
Animation  -lazyfade  */
/*
.-lazyfade {
  -webkit-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
*/
/* ---------------------------------------- */
/* COMMON Styles */
/* ---------------------------------------- */
/* ---------------------------------------- */
/* ---------------------------------------- */
h1, h2 {
  margin: 0;
  padding: 0;
  font-style: normal;
  font-size: 32px;
  text-align: center; }
  @media screen and (max-width: 768px) {
    h1, h2 {
      font-size: 28px; } }

h2 {
  margin-bottom: 60px;
  font-size: 24px; }
  @media screen and (max-width: 768px) {
    h2 {
      font-size: 20px; } }

h3 {
  margin-bottom: 20px;
  font-size: 21px; }
  @media screen and (max-width: 768px) {
    h3 {
      font-size: 18px; } }

h4 {
  margin-bottom: 15px;
  font-size: 18px; }
  @media screen and (max-width: 768px) {
    h4 {
      font-size: 16px; } }

@media screen and (max-width: 768px) {
  h5 {
    font-size: 16px; } }

/* ---------------------------------------- */
p {
  margin-bottom: 1.3em; }

dl {
  margin-bottom: 1.3em; }

dt {
  font-weight: bold;
  margin: 2em 0 1.2em;
  line-height: 1.6; }

dd {
  margin-bottom: 1.2em;
  line-height: 1.6; }

body.modal-active {
  overflow: hidden; }

/* Layout */
/* ---------------------------------------- */
section {
  margin-bottom: 80px;
  padding-top: 40px; }
  @media screen and (max-width: 768px) {
    section {
      padding: 0 24px; } }

section .sec-inner {
  margin: 0 auto; }

/* ---------------------------------------- */
.l-grid {
  display: flex; }

/* ---------------------------------------- */
.c-card {
  margin-bottom: 40px;
  padding: 28px 28px 28px;
  background: #131314;
  border: 1px solid #363636;
  border-radius: 4px; }

/* ---------------------------------------- */
.modal-area {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: #222;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  -moz-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  overflow-y: auto; }
  .modal-area .modal-area-inner {
    margin: 60px 40px 60px; }
  .modal-area .modal-area-cont {
    max-width: 960px;
    margin: 0 auto 40px; }
  .modal-area .modal-ui-close {
    text-align: center; }
    .modal-area .modal-ui-close a {
      display: inline-block;
      padding: 5px 10px;
      border-radius: 8px;
      border: 1px solid #EEE;
      text-decoration: none; }
    .modal-area .modal-ui-close a:hover {
      opacity: 0.6; }

.modal-active .modal-area {
  opacity: 1;
  pointer-events: auto; }

/* ---------------------------------------- */
.maps {
  margin-bottom: 40px;
  padding-top: 0; }
  .maps .gmaps iframe {
    filter: grayscale(100%); }
  .maps .movetogmaps {
    display: block;
    text-align: right;
    margin-top: 10px;
    margin-right: 32px; }
    .maps .movetogmaps a {
      display: inline-block;
      width: 120px;
      padding: 4px 10px;
      color: #000;
      border: 1px solid #000;
      border-radius: 20px;
      font-size: 12px;
      text-align: center;
      text-decoration: none; }

/* ---------------------------------------- */
.contents-box {
  display: none; }
  .contents-box .modal-area-cont {
    max-width: 960px;
    margin: 0 auto; }

/* ---------------------------------------- */
.attention-covid19 {
  font-size: 13px; }
  .attention-covid19 h3 {
    font-size: 16px; }

/* ---------------------------------------- */
/* header.scss */
/* ---------------------------------------- */
/* ---------------------------------------- */
/* footer.scss */
/* ---------------------------------------- */
footer .inner {
  position: relative;
  padding: 0 40px 52px;
  font-size: 13px; }
  footer .inner dl.info {
    margin: 0; }
    footer .inner dl.info dt {
      margin-bottom: 6px; }
      footer .inner dl.info dt:first-child {
        margin-top: 0; }
    footer .inner dl.info dd.-adjust {
      margin-bottom: 0; }
  footer .inner .img-glass {
    position: absolute;
    bottom: 96px;
    right: 40px;
    margin: 0; }
  footer .inner .cr {
    position: absolute;
    bottom: 52px;
    right: 38px;
    margin: 0; }

/* Home Hero */
/* ---------------------------------------- */
.home .hero {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-align: center; }
  .home .hero .hero-inner h1 {
    margin-bottom: 24px; }
  .home .hero .hero-inner .outlien-unit {
    font-family: 'Rubik', sans-serif; }
    .home .hero .hero-inner .outlien-unit ul {
      line-height: 1.8; }
    .home .hero .hero-inner .outlien-unit ul li a {
      font-size: 13px;
      text-decoration: none;
      border-bottom: 1px solid #d8d8d8; }
    .home .hero .hero-inner .outlien-unit ul li a:hover {
      border-bottom: none; }

/*

124
1340
1380

1216

*/
