@charset "utf-8";
/* ==================================================
grobal pc用
================================================== */
:root {
  /* コンテンツ幅、余白 */
  --contentWidth: 1080px;
  --contentPaddingX: 20px;
  --contentPaddingXDouble: calc(var(--contentPaddingX) * 2);
  --contentMaxWidth: calc(var(--contentWidth) + var(--contentPaddingXDouble));
  /* 文字系 */
  --defaultFontSize: 16px;
  --smallFontSize: 14px;
  --largeFontSize: 18px;
  --fontSizeH2: 36px;
  --fontSizeH3: 32px;
  --fontSizeH4: 28px;
  --calcWideCont: calc(50% - 50vw + (var(--scrollbarW, 0px) * .5));
  --calcWideContP: calc(50vw - 50% - (var(--scrollbarW, 0px) * .5));
  /* 余白系 */
  --spaceLarge: 64px;
  --spaceMedium: 48px;
}

/* ==================================================
Footer
================================================== */
footer.footer {
  --contentWidth: 1180px;
  width: 100%;
  overflow: hidden;
  color: var(--defaultColor);
  font-size: var(--defaultFontSize);
  font-family: var(--defaultFontFamily);
  line-height: 1.625;
  font-weight: var(--defaultFontWeight);
  letter-spacing: var(--defaultLetterSpacing);
  text-align: left;
}
.footer_inner {
  width: calc(var(--contentWidth) + var(--contentPaddingXDouble));
  max-width: 100%;
  margin: auto;
  padding: 0 var(--contentPaddingX);
}
/* ----- コピーライト ----- */
.footer_copy {
  color: #fff;
  line-height: 1;
  background: var(--defaultColor);
  margin: 0 var(--calcWideCont);
  padding: 24px var(--calcWideContP) 16px;
  text-align: center;
}
.footer_copy_head {
  font-size: 16px;
  line-height: 1.5;
}
.footer_copy_head_txt {
  margin-top: 8px;
}
.footer_copy_head_txt:first-child { margin-top: 0; }
.footer_copy_codes {
  font-size: 12px;
  margin-top: 12px;
}
/* ----- ページトップボタン ----- */
.btnPageTop {
  display: flex;
  justify-content: flex-end;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  z-index: 9998;
}
.btnPageTop_trigger {
  width: 64px;
  aspect-ratio: 1 / 1;
  position: absolute;
  bottom: 16px;
  right: var(--contentPaddingX);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  cursor: pointer;
}


/* ==================================================
現行スタイル上書き
================================================== */
body > .wrap > .inner {
  width: 760px;
}
