@charset "UTF-8";
body {
  font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-style: normal;
  font-size: var(--s);
  color: var(--color-black);
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 60px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}
@media (min-width: 1024px) {
  body {
    padding-top: 96px;
  }
}
body.is-fixed {
  position: fixed;
}

main {
  overflow: hidden;
}

a {
  text-decoration: none;
  transition: color 0.2s ease-out;
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: var(--color-navy);
  }
}

img {
  width: 100%;
}

summary {
  cursor: pointer;
}

input:focus,
select:focus,
textarea:focus {
  outline: 3px solid var(--color-green);
}

:root {
  --color-white: #fff;
  --color-black: #121212;
  --color-primary: #1a005d;
  --color-green: #8ec300;
  --color-green02: #f6faec;
  --color-green03: #709a00;
  --color-yellow: #f7d307;
  --color-yellow02: #ffeb7c;
  --color-red: #cc1a03;
  --color-navy: #453679;
  --color-navy02: #47327d;
  --color-navy03: #1e006c;
  --color-gray: #f2f2f2;
  --color-gray02: #f5f5f5;
  --color-gray03: #e2e2e2;
  --color-gray04: #666666;
  --color-gray05: #efecf7;
  --color-gray06: #f7f8fa;
  --color-gray07: #bab5c8;
  --color-gray08: #a2a2a2;
  --color-gray09: #f2f4f7;
  --color-gray10: #d0d0d0;
  --color-purple: #faf5fc;
  --color-purple02: #e8e2eb;
  --color-purple03: #f9f2fc;
  --color-purple04: #cbc7da;
  --color-purple05: #e6d8ed;
  --color-purple06: #e4dff2;
  --s: 1rem;
  --font-size-84: calc(var(--s) * 84 / 16);
  --font-size-71: calc(var(--s) * 71 / 16);
  --font-size-68: calc(var(--s) * 68 / 16);
  --font-size-64: calc(var(--s) * 64 / 16);
  --font-size-60: calc(var(--s) * 60 / 16);
  --font-size-48: calc(var(--s) * 48 / 16);
  --font-size-44: calc(var(--s) * 44 / 16);
  --font-size-40: calc(var(--s) * 40 / 16);
  --font-size-37: calc(var(--s) * 37 / 16);
  --font-size-36: calc(var(--s) * 36 / 16);
  --font-size-32: calc(var(--s) * 32 / 16);
  --font-size-29: calc(var(--s) * 29 / 16);
  --font-size-28: calc(var(--s) * 28 / 16);
  --font-size-26: calc(var(--s) * 26 / 16);
  --font-size-24: calc(var(--s) * 24 / 16);
  --font-size-22: calc(var(--s) * 22 / 16);
  --font-size-21: calc(var(--s) * 21 / 16);
  --font-size-20: calc(var(--s) * 20 / 16);
  --font-size-19: calc(var(--s) * 19 / 16);
  --font-size-18: calc(var(--s) * 18 / 16);
  --font-size-17: calc(var(--s) * 17 / 16);
  --font-size-16: calc(var(--s) * 16 / 16);
  --font-size-15: calc(var(--s) * 15 / 16);
  --font-size-14: calc(var(--s) * 14 / 16);
  --font-size-13: calc(var(--s) * 13 / 16);
  --font-size-12: calc(var(--s) * 12 / 16);
  --font-size-11: calc(var(--s) * 11 / 16);
  --font-size-10: calc(var(--s) * 10 / 16);
  --z-1100: 1100;
  --z-1000: 1000;
  --z-900: 900;
  --z-875: 875;
  --z-850: 850;
  --z-800: 800;
  --z-700: 700;
}
@media (max-width: 375px) {
  :root {
    --s: min(4.45vw, 1rem);
  }
}

html,
body {
  height: 100%;
}

*,
*::after,
*::before {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}

pre,
textarea {
  overflow: auto;
}

[hidden],
template {
  display: none;
}

details,
main,
summary {
  display: block;
}

summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

input[type=number] {
  width: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

progress {
  display: inline-block;
}

small {
  font-size: 75%;
}

sub,
sup {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

textarea {
  resize: vertical;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

audio:not([controls]) {
  display: none;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

button,
input,
select,
textarea {
  min-height: 1.5em;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-style: inherit;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

input {
  line-height: normal;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  border-style: none;
  cursor: pointer;
  background-color: transparent;
  -webkit-appearance: button;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace;
}

ol,
ul {
  list-style: none;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

fieldset {
  border: 0;
}

.hp_br_sm {
  display: block;
}
@media (min-width: 768px) {
  .hp_br_sm {
    display: none;
  }
}

.hp_br_md {
  display: none;
}
@media (min-width: 768px) {
  .hp_br_md {
    display: block;
  }
}

.utility-br_md {
  display: none;
}
@media (min-width: 768px) {
  .utility-br_md {
    display: block;
  }
}

.utility-br_sm {
  display: block;
}
@media (min-width: 768px) {
  .utility-br_sm {
    display: none;
  }
}