@charset "UTF-8";

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,
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,
input,
button,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

sup {
  position: relative;
  top: -0.1em;
  font-size: 70%;
  vertical-align: top;
}

sub {
  position: relative;
  font-size: 70%;
  vertical-align: bottom;
}

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

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

*::-moz-selection {
  background: #005ad5;
  color: #fff;
}

*::selection {
  background: #005ad5;
  color: #fff;
}

html {
  scroll-padding-top: var(--headerHeight);
  font-size: 62.5%;
}

html:lang(en) {
  word-wrap: break-word;
}

body {
  -webkit-font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  visibility: hidden;
  color: #444;
  font-family: YakuHanJP, 'Noto Sans JP', "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Lucida Grande", "Osaka","Verdana", "ＭＳ Ｐゴシック", sans-serif;
  font-feature-settings: "palt";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  text-align: left;
}

body.is-overflow {
  overflow-x: hidden;
}

main {
  padding-top: 0 !important;
}

a {
  color: #444;
  text-decoration: none;
  -webkit-transition: opacity 0.45s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.45s cubic-bezier(0.215, 0.61, 0.355, 1);
}

img {
  -webkit-backface-visibility: hidden;
  max-width: 100%;
}

button {
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}

input:focus,
textarea:focus,
select:focus {
  outline-color: #005ad5;
}

@font-face {
  src: url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Regular.eot");
  src: url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Regular.woff2") format("woff2"), url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Regular.woff") format("woff");
  font-display: swap;
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 400;
}

@font-face {
  src: url("/font/template-iconfont.eot");
  src: url("/font/template-iconfont.eot?#iefix") format("eot"), url("/font/template-iconfont.woff") format("woff"), url("/font/template-iconfont.ttf") format("truetype"), url("/font/template-iconfont.svg#template-iconfont") format("svg");
  font-family: "template-iconfont";
  font-style: normal;
  font-weight: normal;
}

@media screen and (max-width: 77.5em) {
  /*! tihs is tablet */
  html {
    font-size: clamp(54.68%, 0.8vw, 62.5%);
  }
}

@media screen and (max-width: 56.5em) {
  /*! tihs is smallTablet */
}

@media screen and (max-width: 48em) {
  /*! tihs is nomalbreakpoint */
  body {
    min-width: 0;
    font-size: 1.4rem;
    letter-spacing: 0em;
  }
}

@media screen and (max-width: 37.5em) {
  /*! tihs is mobile */
}

@media (hover: hover) {
  a:hover {
    opacity: .5;
  }
}