@charset "UTF-8";
/*------------------------------------------------------------
	デザイン幅
	PC : フレーム 1920 / コンテンツ 1400（左右260の余白）
	     1512px以上は 1rem=10px 固定・コンテンツ中央寄せ・背景のみ全幅
	SP : 375
------------------------------------------------------------*/
/*------------------------------------------------------------
	ブレイクポイント（896 / 897 の1点｜発注時の決めごと）
	SP : 〜896　 375幅をビューポートに比例
	PC : 897〜　1512幅を比例、1512以上は 1rem=10px 固定
------------------------------------------------------------*/
/* SPデザイン幅(375)未満：追加の個別調整用（html の rem は SP 帯全体で 375 スケール） */
/*------------------------------------------------------------
	flex
------------------------------------------------------------*/
/*------------------------------------------------------------
	コンテンツ幅（1512以上は中央寄せ・背景のみ全幅）
------------------------------------------------------------*/
/*------------------------------------------------------------
	フォント
	YuGothic                : 本文（システムフォント）
	Tsukushi A Round Gothic : 見出し → Zen Maru Gothic で代替
	Oswald / Abhaya Libre   : 数字・英字（Google Fonts）
	Antro Vectra            : 英字装飾見出し → 画像化して再現
------------------------------------------------------------*/
/*------------------------------------------------------------
	カラー
------------------------------------------------------------*/
/*------------------------------------------------------------
	点線・破線（Figmaの strokeDashes を再現）
	dot  : dashes[0,4] + round cap → 1pxの点を4px間隔
	dash : dashes[4,4]             → 4pxの線と4pxの空き
------------------------------------------------------------*/
/*------------------------------------------------------------
	端がフェードする帯（Figmaの横グラデーション実測値を再現）
------------------------------------------------------------*/
/*------------------------------------------------------------
	MV（メインビジュアル）専用スケール

	MVだけはFigmaのフレーム幅1920を前提に組まれており、
	6つの丸バッジ＋縦組みキャッチを実寸で並べると最低1630px必要。
	1512pxでは物理的に入り切らずバッジがキャッチに被るため、
	MVのオーバーレイ（リード／キャッチ／バッジ）はビューポート幅に比例させる。
	1920px以上でデザイン実寸に固定される（min/maxで頭打ち）。
------------------------------------------------------------*/
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figcaption, figure, section, footer, header, main, hgroup, menu, nav, summary {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  outline: 0;
  font-size: 1em;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

@media all and (min-width: 897px) and (max-width: 1512px) {
  html {
    font-size: calc(1000vw / 1512);
  }
}
@media all and (max-width: 896px) {
  html {
    font-size: calc(1000vw / 375);
  }
}
body, table, input, textarea, select, option {
  font-family: "YuGothic", "Yu Gothic", "游ゴシック体", "Hiragino Sans", "Hiragino Kaku Gothic ProN", meiryo, sans-serif;
}

.round {
  font-family: "Zen Maru Gothic", "YuGothic", "Yu Gothic", sans-serif;
}

.oswald {
  font-family: "Oswald", sans-serif;
}

.abhaya {
  font-family: "Abhaya Libre", serif;
}

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

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

chrome_annotation {
  border: none !important;
}

:focus {
  outline: 0;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

address {
  font-style: normal;
}

a {
  color: #505050;
  text-decoration: none;
  transition: 0.3s;
}
a:link {
  color: #505050;
}
a:visited {
  color: #505050;
}
a:active {
  color: #505050;
}
a:hover {
  color: #505050;
}
@media all and (max-width: 896px) {
  a:hover {
    opacity: 1 !important;
  }
  a:hover img {
    opacity: 1 !important;
  }
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
  color: #505050;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 400;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  background-color: #fff;
  /* Figmaのテキスト幅は palt 無しで算出されているため指定しない */
}
body.fixed {
  position: fixed;
  width: 100%;
  left: 0;
}
@media all and (min-width: 897px) {
  body.fixed {
    overflow-y: scroll;
  }
}
@media all and (max-width: 896px) {
  body {
    font-size: 1.4rem;
  }
  body.fixed {
    position: fixed;
    width: 100%;
  }
  body.fixed .comBtnList2 {
    box-shadow: none;
  }
}

#container {
  text-align: left;
  position: relative;
  overflow: hidden;
  word-break: break-word;
}

a[href^="tel:"] {
  cursor: default;
  pointer-events: none;
}

@media all and (min-width: 897px) {
  .sp {
    display: none !important;
  }
}
@media all and (max-width: 896px) {
  .pc {
    display: none !important;
  }
  a[href^="tel:"] {
    cursor: pointer;
    pointer-events: auto;
  }
}
.u-visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
