@charset "UTF-8";
:root {--easing: cubic-bezier(0.445, 0.05, 0.55, 0.95);--grad-blue: linear-gradient(90deg, rgba(0,78,162,1) 0%, rgba(0,151,225,1) 100%);--yell-blue: rgb(0,78,162);--yell-sax: rgb(0,115,187);}
/* ---------------------------------------------------------------------------------------------------- */
/* Reset */
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, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, nav, section, article, aside, figure, figcaption, hgroup, footer, header, audio, video, canvas { margin:0; padding:0; border:0; outline:0; font-weight:400; font-style:inherit; font-family:inherit; vertical-align:baseline; }
:focus { outline:0; }
body { line-height:1; }
ol, ul { list-style:none; }
table { border-collapse:separate; border-spacing:0; }
caption, th, td { text-align:left; font-weight:normal; }
blockquote:before, blockquote:after, q:before, q:after { content:''; }
blockquote, q { quotes:'' ''; }
span,strong {font-weight: inherit;}

/* ---------------------------------------------------------------------------------------------------- */
/* Base */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('../fonts/Jost/Jost-400-Book.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/Jost/Jost-400-Book.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  src: local(''),
       url('../fonts/Jost/Jost-500-Medium.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/Jost/Jost-500-Medium.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  src: local(''),
       url('../fonts/Jost/Jost-600-Semi.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/Jost/Jost-600-Semi.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('../fonts/Jost/Jost-700-Bold.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/Jost/Jost-700-Bold.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP/NotoSansJP-Bold.woff2") format("woff2"), url("../fonts/NotoSansJP/NotoSansJP-Bold.woff") format("woff"), url("../fonts/NotoSansJP/NotoSansJP-Bold.otf") format("otf");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP/NotoSansJP-Medium.woff2") format("woff2"), url("../fonts/NotoSansJP/NotoSansJP-Medium.woff") format("woff"), url("../fonts/NotoSansJP/NotoSansJP-Medium.otf") format("otf");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP/NotoSansJP-Regular.woff2") format("woff2"), url("../fonts/NotoSansJP/NotoSansJP-Regular.woff") format("woff"), url("../fonts/NotoSansJP/NotoSansJP-Regular.otf") format("otf");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP/NotoSansJP-Light.woff2") format("woff2"), url("../fonts/NotoSansJP/NotoSansJP-Light.woff") format("woff"), url("../fonts/NotoSansJP/NotoSansJP-Light.otf") format("otf");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: 'Jost', 'Noto Sans JP', sans-serif;
  font-size:100%;
  font-weight: 500;
  line-height:1.7;
  letter-spacing: 0.06em;
  color:#333;
  font-feature-settings: "palt";
}
em {font-style:italic;}
strong {font-weight:bold;}
sup {font-size: 10px;vertical-align: super;}
a {text-decoration:underline; color: var(--yell-sax);}
p, ul, ol, li, dl, dd, table {margin-bottom: 1em;}
* > *:last-child {margin-bottom: 0;}
a.btn {display: block;text-decoration: none;}
body.pc a[href^="tel:"] {pointer-events: none;}
body.pc a.btn {transition: opacity var(--easing) 200ms;cursor: pointer;}
body.pc a.btn:hover {opacity: 0.75;}
@media only screen and (max-width:1024px) {
  body {font-size: 1.56vw;}
}
@media only screen and (max-width: 768px) {
  body{font-size: 4.2vw;}
}
@-ms-viewport {
  width:auto;
}
html {
  -ms-overflow-style:scrollbar;
}
