@charset "UTF-8";
:root {
  --text: #3e3a39;
  --text-blue: #00579a;
  --text-gray: #898989;
  --text-gray2: #595757;
  --border: #c9caca;
  --body: #ecf0f3;
  --footer: #00579a;
  --main-blue: #00579a;
  --sub-red: #d7000f;
  --selection: #d7edff;
}

/* z-index */
:root {
  --z-index-screensaver: 55555;
  --z-index-skip: 1000;
  --z-index-loading: 400;
  --z-index-header: 300;
  --z-index-drawer: 200;
  --z-index-aside: 100;
}

/* cubic-bezier */
:root {
  --cubic-bezier-hover: cubic-bezier(0.61, 0.37, 0.51, 0.91);
  --cubic-bezier-btn: cubic-bezier(0.61, 0.37, 0.51, 0.91);
  --cubic-bezier-btn-arrow: cubic-bezier(0.21, 0.56, 0.55, 1.45);
  --cubic-bezier-header: cubic-bezier(0.15, 0.31, 0.43, 1.12);
}

/* font-family */
:root {
  --basefont: YakuHanJP, 'A+mfCv-TPゴシック M StdN', sans-serif;
  --googlefont-Inter: "Inter", sans-serif; /* 100 to 900 */
  /* --Inter-TPGothic-B: "Inter", YakuHanJP, 'A+mfCv-TPゴシック B StdN',  sans-serif; 100 to 900 */
  /* ●TPゴシック B StdN　700 */
  --TPGothic-B: YakuHanJP, 'A+mfCv-TPゴシック B StdN', sans-serif;
  /* ●TPゴシック M StdN　500　 */
  --TPGothic-M: YakuHanJP, 'A+mfCv-TPゴシック M StdN', sans-serif;
  /* ●TPゴシック R StdN　400 */
  --TPGothic-R: YakuHanJP, 'A+mfCv-TPゴシック R StdN', sans-serif;
  /* ●TPゴシック L StdN　300 */
  --TPGothic-L: YakuHanJP, 'A+mfCv-TPゴシック L StdN', sans-serif;
}

/* //breakpoint
$vwclamp: 1440; // vwclamp compsize
$comp: 1599.98px; // comp 1600px
$wide: 1399.98px; // wide 1400px
$padpro: 1365.98px; // PC 1366px
$xl: 1199.98px; // PC 1200px
$pc: 1023.98px; // PC 1024px
$lg: 991.98px; // large 992px
$tab: 767.98px; // タブレット768px
$mb: 693.98px; // breakpoint ipad pro split 以下694px
$sm: 575.98px; // small 576px
$sp: 479.98px; // スマホ 480px
$ssp: 369.98px; // スマホ狭 370px */

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

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}
/* html:focus-within {
  scroll-behavior: smooth;
} */
html {
  font-size: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  font-family: sans-serif;
}
body {
  min-height: 100vh;
  background-color: #fff;
  color: #222;
  font-size: 1em;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
main {
  display: block;
}
a:not([class]) {
  text-decoration-skip-ink: auto;
}
/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  height: auto;
  display: block;
}
svg {
  max-width: 100%;
  display: block;
}
/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}
/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role="list"],
ol[role="list"] {
  list-style: none;
}
ul {
  padding-inline-start: 0;
}
nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}
dl,
menu,
ol,
ul {
  margin: 0 0;
}
dd {
  margin: 0 0 0 0px;
}
li {
  list-style: none;
}
address {
  font-style: normal;
}
