@charset "utf-8";

/*----------------------------------------------------
	共通
----------------------------------------------------*/
html {
  overflow-x: hidden;
  scroll-behavior: smooth;
  font-size: 62.5%;
}
body {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; /* 端末を横にしても文字サイズを拡大させない */
  line-height: 1.0;
  font-family: YuGothic, Yu Gothic, sans-serif;
  animation: fadein .5s forwards;
}

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: 768px) { /* 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: 768px) { /* 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; }

.point { var(--mainColor); }

/* 上方向の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: 767px) { /* 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: 768px) { /* PC */
.telLink { pointer-events: none; } /*PCで電話番号をリンクさせない*/ }

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

@media (max-width: 1099px){ .pcOnlyL { display:none; }}
@media (min-width: 1100px){ .spOnlyL { display:none; }}
