@charset "UTF-8";
/* noto-serif-jp-500 - latin */
@font-face {
  font-family: "Noto Serif JP";
  font-style: Medium;
  font-weight: 500;
  src: url("../font/noto-serif-jp-medium.woff") format("woff"), url("../font/noto-serif-jp-medium.woff2") format("woff2"), url("../font/noto-serif-jp-medium.ttf") format("truetype"); /* Safari, Android, iOS */
}
/* noto-sans-jp-500 - latin */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: normal;
  src: url("../font/noto-sans-jp-v28-latin_japanese-500.woff2") format("woff2"), url("../font/noto-sans-jp-v28-latin_japanese-500.woff") format("woff"), url("../font/noto-sans-jp-v28-latin_japanese-500.ttf") format("truetype"), url("../font/noto-sans-jp-v28-latin_japanese-500.svg#NotoSansJP") format("svg"); /* Legacy iOS */
}
/* noto-sans-jp-700 - latin */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: bold;
  src: url("../font/noto-sans-jp-v28-latin_japanese-700.woff2") format("woff2"), url("../font/noto-sans-jp-v28-latin_japanese-700.woff") format("woff"), url("../font/noto-sans-jp-v28-latin_japanese-700.ttf") format("truetype"), url("../font/noto-sans-jp-v28-latin_japanese-700.svg#NotoSansJP") format("svg"); /* Legacy iOS */
}
/* noto-sans-jp-900 - latin */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  src: url("../font/noto-sans-jp-v36-latin_japanese-900.woff2") format("woff2"), url("../font/noto-sans-jp-v36-latin_japanese-900.woff") format("woff"), url("../font/noto-sans-jp-v36-latin_japanese-900.ttf") format("truetype"), url("../font/noto-sans-jp-v36-latin_japanese-900.svg#NotoSansJP") format("svg"); /* Legacy iOS */
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

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

a[href^="tel:"] {
  cursor: default;
}

html {
  font-size: 10px;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 62.5%;
}

html.fontS {
  font-size: 62.5%;
}

html.fontM {
  font-size: 71%;
}

html.fontL {
  font-size: 80%;
}

html.fontS.tablet {
  font-size: 71%;
}

html.fontM.tablet {
  font-size: 80%;
}

html.fontL.tablet {
  font-size: 88%;
}

body {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", "Meiryo", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", Helvetica, Arial, sans-serif;
  font-weight: Medium;
  background-color: #fff;
  overflow-x: hidden;
}

body * {
  min-height: 0%;
  min-width: 0%;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Noto Serif JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", Helvetica, Arial, serif;
  font-weight: 500;
  font-display: optional;
}

@media screen and (max-width: 767px) {
  body {
    width: 100%;
    font-size: 1.4rem;
  }
}
p, div, h1, h2, h3, h4, h5, h6, li, dt, dd, th, td, address, pre, blockquote, span {
  line-height: inherit;
}

a {
  text-decoration: none;
  transition: 0.2s ease-in-out;
  color: #000;
}
a:hover, a:focus {
  text-decoration: underline;
}

ul, ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

th, td {
  text-align: left;
}

strong, em, b {
  font-weight: bold;
}

hr {
  border: none;
}

label, input, button, textarea, select, option {
  font-size: 100%;
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
}

input::-ms-clear {
  visibility: hidden;
}

input::-moz-focus-inner, button::-moz-focus-inner {
  border: 0;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

button {
  border: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

img {
  max-width: 100%;
  height: auto;
  border: none;
  vertical-align: top;
}

svg {
  max-width: 100%;
  height: auto;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* ==================================================
	print
================================================== */
@media print {
  body {
    min-width: 1150px;
    transform: scale(0.9);
    transform-origin: 0 0;
    overflow-y: visible !important;
  }
  .scroll-fade-side {
    opacity: 1;
    transform: translate(0, 0);
  }
  @page {
    margin: 8mm;
    margin: 10mm 8mm 10mm 8mm;
  }
  [data-no-print] {
    display: none !important;
  }
}