/* Settings
=============================================== */
:root{
  --main-color: #cc4926;
  --sub-color: #496c68;
  --accent-color: #DC9337;
  --link-color: #0050a8;
  --font-color: #121212;
  --gray-color: #e8e8e8;

  --width-max: 1920px;
  --width-lg: 1536px;
  --width-md: 1280px;
  --width-sm: 960px;

  --header-bg-color: var(--main-color);

  --footer-width-max: 1440px;
  --footer-bg-color: #fff;
  --footer-font-color: #121212;
  --footer-link-color: var(--footer-font-color);
  --copyright-bg-color: var(--footer-bg-color);
  --copyright-font-color: #ababab;
}

html,body{overflow-x: hidden; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: 70px;
}
body {
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: var(--font-color);
  background-color: #fff;
  padding: 0;
  margin: 0;
  @media (max-width: 767px) {
    line-height: 1.5;
  }
}

header,main,footer,nav,div,section,article,figure {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}
ul,ol,dl { box-sizing: border-box; margin-top: 0; }
p { margin-top: 0; }
img {
  border-style: none;
  vertical-align: bottom;
}
table { border-collapse: collapse; border-spacing: 0; }

a { text-decoration: none; }
a:link    { color: var(--link-color); }
a:visited { color: var(--link-color); }
a:hover   { color: var(--link-color); text-decoration: underline; }
a:active  { color: var(--link-color); }

/* PC */
@media (min-width: 961px) {
  a[href^="tel:"] { pointer-events: none; }
  .BrSp,.SpBr,.PcNone { display: none; }
}
/* SP */
@media (max-width: 960px) {
  .BrPc,.PcBr,.SpNone { display: none; }
}

/* reset系追加予定 */
/* Reset box-model and set borders */
/* ============================================ */

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Text-level semantics */
/* ============================================ */

b,
strong {
  font-weight: bolder;
}

img {
  border-style: none;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

/* Component系追加予定 */
/* ============================================ */
/* PC */
@media (min-width: 768px) {
  .c-br--sp { display: none; }
}
/* SP */
@media (max-width: 767px) {
  .c-br--pc { display: none; }
}

/* Utility系追加予定 */
/* ============================================ */
/* liststyle */
/* ============================================ */
.u-list-reset {
  margin: 0;
  padding: 0;
  list-style: none;
}
/* Lists (definition) */
/* ============================================ */
.u-dl-reset,
.u-dl-reset dt,
.u-dl-reset dd {
  margin: 0;
  padding: 0;
}

