@charset "UTF-8";
/*!
  Reset Stylesheet
  Author: yama-dev - https://github.com/yama-dev
  */
html, body, div, span, object, iframe, embed, main,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, u, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, tbody, tfoot, thead, tr, th, td, caption,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, source {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: middle;
  background: transparent;
  box-sizing: border-box;
}

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

blockquote, q {
  quotes: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

ol, ul {
  list-style: none;
}

button, input, select, textarea, datalist {
  vertical-align: middle;
  min-height: 1.5em;
  background-color: transparent;
}

input[type=submit], input[type=reset] {
  cursor: pointer;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px transparent inset;
}

a[href^=tel] {
  display: inline-block;
  color: inherit;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

iframe {
  border: none;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0;
}

[role=button] {
  cursor: pointer;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

body {
  line-height: 1;
}

body, button, input, select, textarea, datalist {
  font-family: YakuHanJP, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  word-wrap: break-word;
}

:root {
  --in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  --in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  --in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --in-out-expo: cubic-bezier(1, 0, 0, 1);
  --in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
  --in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --font-en: "Playfair Display";
  --font-jp: "IBM Plex Sans JP";
  --font-mincho: "Shippori Mincho";
  --white: white;
  --black: black;
  --gray: #d8d8d8;
  --darkgray: #2d2d2d;
  --lightgray: #f5f5f5;
  --color-tc: #0969b3;
  --color-mr: #26a786;
  --color-line: #06c755;
  --color-inactive: #d1d1d1;
  --color-disabled: #aeaeae;
  --grad-lr: linear-gradient(to right, var(--color-tc), var(--color-mr));
  --font-size-reg: 14px;
  --font-size-nav: 14px;
  --kv: 50%;
  --content: 400px;
}
@media screen and (min-width: 1401px) {
  :root {
    --kv: calc(100% - var(--content) - 295px);
    --content: min(500px, 28.57vw);
  }
}
@media screen and (min-width: 768px) {
  :root {
    --font-size-reg: 15.3px;
  }
}
@media screen and (max-width: 1300px) {
  :root {
    --content: 400px;
    --font-size-reg: 15.3px;
    --font-size-nav: 12px;
  }
}
@media screen and (max-width: 1220px) {
  :root {
    --kv: calc(100% - 350px);
    --content: 350px;
    --font-size-reg: 13px;
    --font-size-nav: 12px;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --font-size-reg: max(14px, 3.733vw);
    --font-size-nav: 14px;
  }
}

body {
  font-size: var(--font-size-reg);
  font-family: var(--font-jp);
}

img {
  width: 100%;
  max-width: 100%;
  display: block;
  vertical-align: middle;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  border: none;
  width: 100%;
  height: 100%;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: inherit;
}

@media screen and (min-width: 768px) {
  .is-pc {
    display: block;
  }
  .is-sp {
    display: none;
  }
  .is-pc-inline {
    display: inline-block;
  }
  .is-sp-inline {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .is-pc {
    display: none !important;
  }
  .is-sp {
    display: block;
  }
  .is-pc-inline {
    display: none;
  }
  .is-sp-inline {
    display: inline-block;
  }
}