*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html, body {
  height: 100%;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img {
  image-rendering: -webkit-optimize-contrast;
}

img, video, canvas, svg {
  display: block;
  height: auto;
  max-width: 100%;
}

input,
button,
select,
textarea {
  font: inherit;
  text-transform: none;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

ol,
ul {
    list-style: none;
  padding: 0;
}

table,
thead th,
thead td,
tbody th,
tbody td,
tfoot th,
tfoot td {
  color: inherit;
  background: transparent;
  border: none;
}

#root, #__next {
  isolation: isolate;
}

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W0);
  font-weight: 100;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W1);
  font-weight: 200;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W2);
  font-weight: 300;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W3);
  font-weight: 400;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W4);
  font-weight: 500;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W5);
  font-weight: 600;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W6);
  font-weight: 700;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W7);
  font-weight: 800;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W8);
  font-weight: 900;
}
@font-face {
  font-family: "Hiragino Sans W9";
  src: local(HiraginoSans-W9);
  font-weight: 900;
}
:root {
  --vh: 1vh;
}

html:lang(auto) *:lang(en),
html:lang(auto) *:lang(th),
html:lang(ja) *:lang(en),
html:lang(ja) *:lang(th),
html:lang(en) *:lang(ja),
html:lang(en) *:lang(th),
html:lang(th) *:lang(ja),
html:lang(th) *:lang(en) {
  display: none;
}

body {
  width: 100%;
  max-width: 100vw;
  color: #181818;
    font-size: 15px;
  line-height: 1.75;
  font-family: 'IBM Plex Sans JP','Noto Sans JP','Hiragino Sans','Hiragino Kaku Gothic ProN',sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  -webkit-text-size-adjust: 100%;
  letter-spacing: .01em;
  overflow-x: clip;
}

a,
button {
  color: #181818;
  text-decoration: none;
  transition: .3s ease;
  transition-property: color, background-color, opacity, filter, -webkit-text-decoration;
  transition-property: color, background-color, opacity, filter, text-decoration;
  transition-property: color, background-color, opacity, filter, text-decoration, -webkit-text-decoration;
}
@media (hover: hover) and (pointer: fine) {
  a:hover,
  button:hover {
    text-decoration: none;
  }
    a:hover {
        opacity: .7;
    }
}
a:active,
button:active {
  text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
  a[href^=tel] {
    pointer-events: none;
  }
}

input {
  accent-color: #6C4598;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

input,
textarea,
select {
  position: relative;
  color: inherit;
  border-radius: 0;
  outline: transparent 2px solid;
  outline-offset: -2px;
  transition: .3s ease;
}

input:-webkit-autofill {
  box-shadow: 0 0 0px 1000px #fff inset;
}

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

::-webkit-calendar-picker-indicator,
::-webkit-calendar-picker-indicator {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

input[type="submit"],
button,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
}

sup,
sub {
  display: inline-block;
  margin: 0 clamp(.1rem, .1em, .2rem);
  font-size: clamp(1rem, .7em, 1.4rem);
  line-height: 1;
}

input[type=submit]:focus-visible,
input[type=button]:focus-visible,
button:focus-visible {
    opacity: .8;
}

:focus-visible {
  outline-color: #FFA01F;
}

:-moz-placeholder {
  color: #C1C1C1;
}

::-moz-placeholder {
  color: #C1C1C1;
}

::-webkit-input-placeholder {
  color: #C1C1C1;
}

/* 印刷用 */
@media print {
  html {
    width: 100%;
    min-width: 1300px;
  }
  body {
    width: 100%;
    max-width: 1300px;
    -webkit-print-color-adjust: exact;
  }
}