@charset "UTF-8";
/**************************************************
@ _base.scss

Discription: 基本設定
author: fujii

(c) ULM Co.,Ltd. - https://www.ulm-design.com
**************************************************/
/*
breakpoints
--------------------*/
/*
スマホデザイン作成時の横px
--------------------*/
/*
color
--------------------*/
/*
font
--------------------*/
/*
border
--------------------*/
/*
transition
--------------------*/
/*
custom
--------------------*/
/*----------------------------------------------------

スマホvw計算

----------------------------------------------------*/
/*----------------------------------------------------

mixin

----------------------------------------------------*/
/*reset*/
article, aside, details, figcaption, figure, footer, header, hgroup, hr, menu, nav, section {
  display: block;
}

a, hr {
  padding: 0;
}

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, html body, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0;
}

ins, mark {
  background-color: #ff9;
  color: #000;
}

body {
  line-height: 1;
}

li, ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

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

ins {
  text-decoration: none;
}

mark {
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

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

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

hr {
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
}

input, select {
  vertical-align: middle;
}

* {
  box-sizing: border-box;
}

*::before, *::after {
  box-sizing: border-box;
}

/**************************************************
@_common.scss

Discription: 共通設定

(c) ULM Co.,Ltd. - https://www.ulm-design.com
**************************************************/
html, html body {
  background: #eeeeee;
  color: #000;
  font-family: YakuHanJP_Noto, "Noto Sans", "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 15px;
  letter-spacing: 0px;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-feature-settings: 'pwid' 1;
  -webkit-text-size-adjust: 100%;
}

@media (max-width: 812px) {
  html body {
    overflow-x: hidden;
  }
}

/*-------------------------------

#wrapper

-------------------------------*/
/**************************************************
@_wrapper.scss

(c) ULM Co.,Ltd. - https://www.ulm-design.com
**************************************************/
#wrapper {
  width: 100%;
  min-width: 1440px;
  display: block;
  position: relative;
  z-index: 1;
}

@media (max-width: 812px) {
  #wrapper {
    min-width: 100%;
    overflow-x: hidden;
  }
}

/*-------------------------------

#main

-------------------------------*/
/**************************************************
@_main.scss

(c) ULM Co.,Ltd. - https://www.ulm-design.com
**************************************************/
#main {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 100vh;
}

@media (max-width: 812px) {
  #main {
    padding: 0;
    min-height: auto;
  }
}

/*--------------------------------------------------------------

@modules (使い回しのclassとか)

--------------------------------------------------------------*/
/**************************************************
@_modules.scss

(c) ULM Co.,Ltd. - https://www.ulm-design.com
**************************************************/
.inner1200 {
  width: 1200px;
  margin: 0 auto;
}

@media (max-width: 812px) {
  .inner1200 {
    width: 100%;
  }
}

.inner1080 {
  width: 1080px;
  margin: 0 auto;
}

@media (max-width: 812px) {
  .inner1080 {
    width: 100%;
  }
}

/*
.hover
-------------------------------*/
@media (min-width: 813px) {
  .hover {
    transition: opacity .3s ease;
    opacity: 1;
  }
  .hover:hover {
    opacity: .5;
  }
  .hover-img .img {
    transition: transform .3s ease;
  }
  .hover-img:hover .img {
    transform: scale(1.05);
  }
}

@keyframes hoverAnime {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

/*
.click
-------------------------------*/
.click {
  transition: all .4s ease;
}

.click:active {
  transition: all .1s ease;
  transform: scale(0.95);
}

/*
flex
-------------------------------*/
.w100 {
  width: 100%;
  height: auto;
}

/*
pc/sp
-------------------------------*/
.pc {
  display: block;
}

@media (max-width: 812px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}

@media (max-width: 812px) {
  .sp {
    display: block;
  }
}

/*
img
-------------------------------*/
img {
  -webkit-user-drag: none;
  user-drag: none;
}

/*
object-fit
-------------------------------*/
.of-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.of-contain {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/*
.ls0
-------------------------------*/
.ls0 {
  letter-spacing: -.35em;
}

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

.flex-center {
  display: flex;
  justify-content: center;
}

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

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

.flex-wrap-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.flex-wrap-left {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.flex-wrap-right {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/*
@object-fit
-------------------------------*/
.obj-fit-cover {
  object-fit: cover;
}

.obj-fit-cover-center {
  object-fit: cover;
  object-position: center center;
}

.obj-fit-cover-top {
  object-fit: cover;
  object-position: center top;
}

.obj-fit-contain {
  object-fit: contain;
}

/*
align
-------------------------------*/
.align-right {
  text-align: right;
}

.align-left {
  text-align: left;
}

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

.align-justify {
  text-align: justify;
  text-justify: inter-ideograph;
  /* IE用 */
}

/*
font-weight
-------------------------------*/
.f-bold {
  font-weight: bold;
}

.f-black {
  font-weight: 900;
}

/*
font-style
-------------------------------*/
.italic {
  font-style: italic;
}

/*
display
-------------------------------*/
.none {
  display: none;
}

.block {
  display: block;
}

/*
position
-------------------------------*/
.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

/*
guard
-------------------------------*/
.guard {
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}

/*
clearfix
-------------------------------*/
.clearfix {
  overflow: hidden;
  zoom: 1;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/*
a
-------------------------------*/
a {
  text-decoration: none;
}

a.disable {
  pointer-events: none;
}

/*--------------------------------------------------
リマケタグの隙間対策 
--------------------------------------------------*/
iframe[name='google_conversion_frame'] {
  height: 0 !important;
  width: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  margin-top: -13px;
}

/**************************************************
@ _404.scss

author: fujii

(c) ULM Co.,Ltd. - https://www.ulm-design.com
**************************************************/
#maintenance {
  background: #eeeeee;
  min-height: 800px;
  height: 100vh;
  text-align: center;
  padding: 0;
}

@media (max-width: 812px) {
  #maintenance {
    padding: 40vw 0 13.33333vw !important;
    height: auto;
    min-height: auto;
  }
}

#maintenance #logo {
  width: 142px;
  position: absolute;
  z-index: 10;
  top: 17px;
  left: 21px;
}

#maintenance .maintenance-container {
  width: 840px;
  padding: 80px 0;
  background: #fff;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 812px) {
  #maintenance .maintenance-container {
    width: 89.33333vw;
    margin: 0 auto;
    padding: 13.33333vw 0 5.33333vw;
    position: relative;
    transform: none;
    top: auto;
    left: auto;
  }
}

#maintenance .maintenance-container .kinako-icon {
  width: 195px;
  position: absolute;
  z-index: 1;
  top: -86px;
  left: calc((100% - 195px)/2);
}

@media (max-width: 812px) {
  #maintenance .maintenance-container .kinako-icon {
    width: 40vw;
    top: -18.66667vw;
    left: calc((100% - 40vw)/2);
  }
}

#maintenance .maintenance-container .maintenance-ttl {
  font-size: 30px;
  border-bottom: 1px solid #000;
  border-image: linear-gradient(90deg, #4aecff, #effe0f) 1;
  margin: 0 auto 40px;
  padding: 0 30px 10px;
  display: table;
}

@media (max-width: 812px) {
  #maintenance .maintenance-container .maintenance-ttl {
    line-height: 1.8em;
    display: table;
    font-size: 5.33333vw;
    margin: 0 auto 9.33333vw;
    padding: 0 6.66667vw 1.33333vw;
  }
}

#maintenance .maintenance-container .maintenance-txt {
  font-size: 18px;
  line-height: 1.8em;
  color: #363636;
  margin: 0 0 35px;
}

@media (max-width: 812px) {
  #maintenance .maintenance-container .maintenance-txt {
    font-size: 4vw;
    margin: 0 0 9.33333vw;
  }
}

#maintenance .maintenance-container .maintenance-schedule {
  background: #363636;
  color: #fff;
  margin: 0 0 25px;
  padding: 35px 0;
  font-size: 18px;
}

@media (max-width: 812px) {
  #maintenance .maintenance-container .maintenance-schedule {
    font-size: 4vw;
    margin: 0 0 7.33333vw;
    padding: 8vw 0;
  }
}

#maintenance .maintenance-container .maintenance-schedule .maintenance-schedule-txt {
  margin: 0 0 25px;
}

@media (max-width: 812px) {
  #maintenance .maintenance-container .maintenance-schedule .maintenance-schedule-txt {
    margin: 0 0 5.33333vw;
  }
}

#maintenance .maintenance-container .maintenance-schedule .maintenance-schedule-main {
  font-weight: bold;
  line-height: 2em;
}

#maintenance .maintenance-container .maintenance-notes {
  font-size: 14px;
}

@media (max-width: 812px) {
  #maintenance .maintenance-container .maintenance-notes {
    font-size: 3.2vw;
  }
}

#maintenance #cc {
  font-size: 10px;
  display: table;
  position: absolute;
  z-index: 10;
  bottom: 10px;
  left: 0;
  width: 100%;
  text-align: center;
}

@media (max-width: 812px) {
  #maintenance #cc {
    position: initial;
    padding: 13.33333vw 0 2.66667vw;
  }
}

/* x */
a {
  text-decoration: underline;
}
#maintenance .maintenance-container .maintenance-txt {
  margin: 0;
}