@charset "utf-8";

/*----------------------------------------------------
	共通
----------------------------------------------------*/
html {
 font-size: 62.5%;
 overflow-x: hidden;
 scroll-behavior: smooth;
}
body {
 -webkit-text-size-adjust: 100%; /* 端末を横にしても文字サイズを拡大させない */
 font-size: 1.6em;
 line-height: 1.0;
 font-family: YuMincho, Yu Mincho, serif; 
}

img { border: 0; vertical-align: bottom; width: auto; max-width: 100%; height: auto; -webkit-backface-visibility: hidden; }
ul { padding: 0; }
iframe { vertical-align: bottom; }

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

/*----------------------------------------------------
	調整用
----------------------------------------------------*/
.tC { text-align: center; }
.tR { text-align: right; }
.tL { text-align: left; }
.tRC { text-align: center; }
.tLC { text-align: center; }
.tCR { text-align: right; }
.tCL { text-align: left; }
@media (min-width:576px) { /* PC */
.tRC { text-align: right; }
.tLC { text-align: left; }
.tCR { text-align: center; }
.tCL { text-align: center; }
}

.alignC { display: block; margin: 0 auto; }
.alignL,
.alignR { float: none; text-align: center; }
@media (min-width:576px) { /* PC */
.alignR { float: right; margin: 0 0 2em 2em; }
.alignL { float: left; margin: 0 2em 2em 0; }
}

.tB { font-weight: bold; }
.tGo { font-family: YuGothic, Yu Gothic, sans-serif; }
.tMin { font-family: YuMincho, Yu Mincho, serif; }
.tMaru { font-family: Hiragino Maru Gothic Pro, Meiryo, sans-serif; }
.tMono { font-family: Osaka-mono, MS Gothic, monospace; }

.hS { line-height: 1.5; }

/* 上方向のmargin */
.mt0 { margin-top: 0; }
.mt1 { margin-top: 1rem; }
.mt2 { margin-top: 2rem; }
.mt3 { margin-top: 3rem; }
.mt4 { margin-top: 4rem; }
.mt5 { margin-top: 5rem; }
.mt6 { margin-top: 6rem; }
.mt7 { margin-top: 7rem; }
.mt8 { margin-top: 8rem; }
.mt9 { margin-top: 9rem; }

/* 下方向のmargin */
.mb0 { margin-bottom: 0; }
.mb1 { margin-bottom: 1rem; }
.mb2 { margin-bottom: 2rem; }
.mb3 { margin-bottom: 3rem; }
.mb4 { margin-bottom: 4rem; }
.mb5 { margin-bottom: 5rem; }
.mb6 { margin-bottom: 6rem; }
.mb7 { margin-bottom: 7rem; }
.mb8 { margin-bottom: 8rem; }
.mb9 { margin-bottom: 9rem; }

/* 上方向のpadding */
.pt0 { padding-top: 0; }
.pt1 { padding-top: 1rem; }
.pt2 { padding-top: 2rem; }
.pt3 { padding-top: 3rem; }
.pt4 { padding-top: 4rem; }
.pt5 { padding-top: 5rem; }
.pt6 { padding-top: 6rem; }
.pt7 { padding-top: 7rem; }
.pt8 { padding-top: 8rem; }
.pt9 { padding-top: 9rem; }

/* 下方向のpadding */
.pb0 { padding-bottom: 0; }
.pb1 { padding-bottom: 1rem; }
.pb2 { padding-bottom: 2rem; }
.pb3 { padding-bottom: 3rem; }
.pb4 { padding-bottom: 4rem; }
.pb5 { padding-bottom: 5rem; }
.pb6 { padding-bottom: 6rem; }
.pb7 { padding-bottom: 7rem; }
.pb8 { padding-bottom: 8rem; }
.pb9 { padding-bottom: 9rem; }

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

/* Facebook */
.fbContainer { width: 100%; }

/* Google Map */
@media (max-width:575px) { /* SP */
.ggContainer { width: 100%; padding-bottom: 56.25%; height:0px; position: relative; }
.ggContainer iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
}

/* YouTube */
.ytContainer { width: 100%; padding-bottom: 56.25%; height:0px; position: relative; }
.ytContainer iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media (min-width:576px) { /* PC */
.telLink { pointer-events: none; } /*PCで電話番号をリンクさせない*/ }

/* PCとSPで出し分け */
@media (max-width: 575px){ .pcOnly { display:none; }}
@media (min-width: 576px){ .spOnly { display:none; }}

/*----------------------------------------------------
	ローディング画面
----------------------------------------------------*/
/* Loading背景画面設定　*/
/*fixedで全面に固定*/
.loading { position: fixed; width: 100%; height: 100%; z-index: 999; background: #fff; text-align: center; }
/* Loading画像中央配置　*/
.loading__logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
/* Loading アイコンの大きさ設定　*/
.loading__logo img { width: 260px; }
/* fadeUpをするアイコンの動き */
.fadeUp { animation-name: fadeUpAnime; animation-duration: 0.5s; animation-fill-mode: forwards; opacity: 0; }

@keyframes fadeUpAnime {
  from { opacity: 0; transform: translateY(100px); }
  to { opacity: 1; transform: translateY(0); }
}

/*割れる画面のアニメーション*/
.loader_cover { width: 100%; height: 50%; background-color: #333; transition: all .2s cubic-bezier(.04, .435, .315, .9); transform: scaleY(1); }
/*上の画面*/
.loader_cover-up { transform-origin: center top; }
/*下の画面*/
.loader_cover-down { position: absolute; bottom: 0; transform-origin: center bottom; }
/*クラス名がついたらY軸方向に0*/
.coveranime { transform: scaleY(0); }
