/*@import 'base/_normalize.css';*/
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}


/*@import 'base/_color.css';*/
:root {

  --color-white: #ffffff;


  --color-primary-1    : #e60000;
  --color-secondary    : #1c1c1e;
  --color-secondary-2  : #e1e3e7;
  --color-secondary-300: #5a5a5a;
  --color-secondary-200: #c7c7cc;
  --color-secondary-100: #e5e5ea;


  --color-front-default: #1c1c1e;
  --color-front-notice : #6a6a6a;
  --color-front-disable: #1c1c1e59;
  --color-front-link   : #0d71ab;
  --color-front-alert  : #e60005;
  --color-front-gold   : #8e7314;


  --color-bg-default: #f7f7fb;
  --color-bg-dark   : #efeff5;
  --color-bg-alert  : #ffe7e7;
  --color-bg-disable: #c7c7cc;
  --color-bg-tips   : #1c1c1ed9;
  --color-bg-gold   : #eee6ca;


  --color-line-default: #e5e5ea;
  --color-line-table  : #c7c7cc;
  --color-line-button : #1c1c1e;
  --color-line-gold   : #b79b37;


  --color-blue-base : #dfeef6;
  --color-green-base: #ebf5ea;
  --color-green     : #55b358;
}


/*@import 'base/_typography.css';*/
:root {
  --ff-en: 'Inter';
  --ff-jp: 'Noto Sans JP',
  -apple-system, BlinkMacSystemFont,
  'Helvetica Neue', 'Hiragino Kaku Gothic ProN', Meiryo,sans-serif;

  --fz-h1:     32px;
  --fz-h2:     28px;
  --fz-h3:     24px;
  --fz-h4:     20px;
  --fz-h5:     18px;
  --fz-p:      16px;
  --fz-body:   16px;
  --fz-sub:    14px;
  --fz-notice: 12px;


  --fw-regular: 400;
  --fw-bold:    700;
}


html {
  color: var(--color-front-default);
  background: var(--color-bg-default);
  font-family: var(--ff-jp);
  font-weight: var(--fw-regular);
  font-size: var(--fz-body);
}


body {
  line-height: 1.5;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
}


h1 { font-size: var(--fz-h3);  }
h2 { font-size: var(--fz-h4);  }
h3 { font-size: var(--fz-h5);  }
h4 { font-size: var(--fz-p);   }
h5 { font-size: var(--fz-sub); }


p { font-size: var(--fz-p); }


h1,
h2,
h3,
h4,
h5,
p {
  margin: 0;
}


a {
  font-size: var(--fz-sub);
  color: var(--color-front-link);
  text-decoration-line: underline;
}


/*@import 'base/_size.css';*/
*,
*::before,
*::after {
  box-sizing: border-box;
}


:root {

  --width-base-sp: 390px;
  --width-base-pc: 1440px;


  --width-main-sp: 358px;
  --width-main-pc: 980px;


  --width-menu-pc: 230px;


  --width-content-pc: calc(var(--width-main-pc) - var(--width-menu-pc));


  --width-component-pc: 480px;


  --width-modal-sp: 358px;
  --width-modal-pc: 640px;
}


/*@import 'layout/_breadcrumbs.css';*/
.breadcrumbs {
  align-items: center;
  display: inline-flex;
  flex-shrink: 0;
  gap: 4px;
  padding: 8px;
}


/*@import 'layout/_footer.css';*/
.footer {
  width: 100%;
}


.global-footer {
  background: var(--color-secondary);
  color: var(--color-white);
}


.global-footer__pagetop {
  font-size: var(--fz-body);
  background: var(--color-bg-dark);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 32px;
  text-align: center;
  height: 58px;
}


.global-footer__pagetop-link {
  display: inline-flex;
  align-items: center;
  color: var(--color-front-default);
  font-weight: var(--fw-bold);
  text-decoration: none;
}


.global-footer__pagetop-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 4px;
}


.global-footer__legalinfo {
  max-width: var(--width-main-pc);
  font-size: var(--fz-sub);
  margin: 0 auto;
  padding: 16px 0px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}


.global-footer__copyright {
  margin: 0;
  text-align: left;
}


.global-footer__policy-link {
  color: var(--color-white);
  font-size: var(--fz-body);
  text-decoration: underline;
  text-align: right;
  margin-left: auto;
  white-space: nowrap;
}


@media (max-device-width: 767px) {


  .global-footer__legalinfo {
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }


  .global-footer__copyright {
    text-align: center;
  }


  .global-footer__policy-link {
    text-align: center;
    margin-left: 0;
  }
}


/*@import 'layout/_header.css';*/
.header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
}

.global-header {
  align-items: center;
  border-bottom: 1px solid var(--color-line-default);
  background: var(--color-white);
  height: 80px;
  display: flex;
}

.global-header__inner {
  width: 100%;
  max-width: var(--width-main-pc);
  margin: 0 auto;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.global-header__logo {
  display: flex;
  align-items: center;
  line-height: 1;
  white-space: nowrap;
}

.global-header__logo-img {
  width: auto;
  height: auto;
  max-height: 32px;
  max-width: 100%;
  display: block;
}

.global-header__util {
  display: none;
  align-items: center;
  gap: 8px;
  padding-left: 8px;
  margin-left: auto;
  flex-shrink: 0;
}

.global-header__util a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: none;
}

.global-header__util-icon {
  width: 100%;
  height: 100%;
}


@media (max-width: 767px) {
.global-header__inner {
    padding: 16px;
    flex-wrap: nowrap;
  }

  .global-header__util {
    display: flex;
  }
}

.customer-header {
  background: var(--color-secondary-100);
  border-top: none;
  display: flex;
  align-items: center;
  font-size: var(--fz-sub);
  min-height: 60px;
}

.customer-header__inner {
  width: 100%;
  max-width: var(--width-main-pc);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  padding: 8px 16px;
}

.customer-header__row {
  align-items: center;
  column-gap: 8px;
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
  row-gap: 4px;
}

.customer-header__corp {
  color: var(--color-front-default);
  flex-basis: 100%;
}

@media (max-device-width: 767px) {
	.customer-header__corp.sp-none {
		display: none;
	}
}

.text-right {
	text-align: right;
}

.customer-header__name {
  color: var(--color-front-default);
  font-weight: var(--fw-bold);
  font-size: var(--fz-body);
  margin-right: auto;
  flex: 1 1 auto;
  min-width: 0;
}

.customer-header__honorific {
  display: inline-block;
  color: var(--color-front-default);
  font-size: var(--fz-sub);
  font-weight: var(--fw-regular);
}

.customer-header__lastlogin {
  color: var(--color-front-notice);
  flex-shrink: 0;
  margin-left: auto;
  white-space: nowrap;
  align-self: baseline;
  line-height: 1;
}


/*@import 'layout/_main.css';*/
.main {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  margin: 0 auto;
  max-width: var(--width-main-pc);
  width: 100%;
}


.main__paragraph {
  padding: 64px 20px;
}


.main__container {
  margin: 0 auto 0;
  max-width: var(--width-main-pc);
}


.main__heading {
  font-size: var(--fz-h3);
  font-weight: var(--fw-bold);
  margin-bottom: 40px;
  text-align: left;
}


.main__heading::after {
  background: var(--color-line-button);
  content: '';
  display: block;
  height: 1px;
  margin-bottom: 16px;
  margin-top: 16px;
  width: 100%;
}


.main__text {
  line-height: 1.7;
}


.main__body {
  display: flex;
  flex: 1;
  gap: 16px;
  padding: 8px;
}


.main__content {
  flex: 1;
  max-width: var(--width-content-pc);
  min-width: 0;
  padding: 0;
  width: 100%;
}


@media (min-width: 768px) {
  .main__menu {
    position: sticky;
    top: 140px;
    align-self: flex-start;
    z-index: 900;
    height: calc(100vh - 140px);
    overflow-y: hidden;
  }


  .main__menu:hover,
  .main__menu:focus-within {
    overflow-y: auto;
  }
}


.main--full {
  max-width: none;
}


.main__heading--nomargin {
  margin-bottom: 0px;
}


@media (max-width: 767px) {

  .main__body {
    flex-direction: column;
  }


  .main__menu {
    display: none;
  }


  .main__content {
    max-width: 100%;
  }
}


/*@import 'layout/_menu.css';*/
.menu {
  background: var(--color-white);
  border-radius: 8px;
  box-shadow: 0 4px 8px var(--color-secondary);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.menu__link {
  align-items: center;
  color: var(--color-front-default);
  display: flex;
  font-size: var(--fz-body);
  gap: 8px;
  line-height: 1.4;
  padding: 12px 24px;
  text-decoration: none;
  white-space: nowrap;
}

.menu__link.sp-icon::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(../images/icon/smartphone.png) center / contain no-repeat;
    order: 1;
}

.menu__link:is(:hover, :focus) {
  background: var(--color-bg-dark);
  border-radius: 4px;
}

.menu__link.is-active,
.menu__link[aria-current='page'] {
  font-weight: var(--fw-bold);
  position: relative;
}

.menu__link.is-active::after,
.menu__link[aria-current='page']::after {
  background: url(../images/icon/arrow_right.svg) center / 20px 20px no-repeat;
  content: '';
  height: 20px;
  margin-left: auto;
  width: 20px;
  order: 99;
}

.menu__section {
  border-radius: 6px;
  padding: 0 16px;
}

.menu__section[open]>.menu__submenu {
  display: block;
}

.menu__section[open]>.menu__title::after {
  background: url(../images/icon/arrow-up.svg) center / 20px 20px no-repeat;
}

.menu__title {
  align-items: center;
  background: var(--color-bg-default);
  border-radius: 6px;
  color: var(--color-front-default);
  cursor: pointer;
  display: flex;
  font-size: var(--fz-sub);
  font-weight: var(--fw-bold);
  gap: 8px;
  line-height: 1.4;
  padding: 8px;
  position: relative;
  white-space: nowrap;
}

.menu__title::after {
  background: url(../images/icon/arrow-down.svg) center / 20px 20px no-repeat;
  content: '';
  height: 24px;
  margin-left: auto;
  transition: background-image 0.2s;
  width: 24px;
}

.menu__submenu {
  display: none;
  list-style: none;
  margin: 0;
  padding: 4px 0;
}

.menu--pc {
  padding: 8px 0 0;
  width: var(--width-menu-pc);
  max-height: 100%;
  overflow-y: auto;
}

.menu--sp {
  width: 100%;
}

.menu__link--home {
  font-weight: var(--fw-bold);
}

.menu__link--logout {
  border-top: 1px solid var(--color-bg-dark);
  color: var(--color-front-notice);
  font-size: var(--fz-sub);
  margin: 0 16px;
  padding: 12px 16px;
}

.menu__link--submenu {
  font-size: 14px;
}

.menu__link--logout.no-divider {
  border-top: none;
}

.menu__header--sp {
  align-items: center;
  border-bottom: 1px solid var(--color-bg-dark);
  display: flex;
  height: 80px;
  justify-content: flex-end;
}

.menu__headerbutton--sp {
  appearance: none;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 16px 32px;
}

.hidden {
    display: none;
}

@media (max-device-width: 767px) {
  .menu--sp .menu__link--logout {
    justify-content: center;
    margin: 0 16px;
    text-align: center;
  }
}


/*@import 'layout/_notice-bar.css';*/
.notice-bar {
  background: var(--color-bg-tips);
  color: var(--color-white);
  text-align: center;
}


.notice-bar__container {
  align-items: center;
  display: inline-flex;
  flex-direction: row;
  flex-wrap: wrap;
  font-size: var(--fz-notice);
  gap: 8px;
  justify-content: flex-start;
  line-height: 1.4;
  padding: 8px 32px;
}


.notice-bar__label {
  background: transparent;
  border: 1px solid var(--color-white);
  border-radius: 4px;
  color: var(--color-white);
  display: inline-block;
  font-size: var(--fz-notice);
  font-weight: var(--fw-bold);
  padding: 4px 12px;
}


.notice-bar__text {
  display: inline-block;
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  text-align: left;
}


.notice-bar--transparent {
  background: transparent
}



/*@import 'module/_attrs.css';*/
.attrs {
  background: var(--color-white);
  border-radius: 8px;
  column-gap: 16px;
  display: grid;
  grid-template-columns: auto 1fr auto 1fr;
  overflow: hidden;
  width: 100%;
}


.attrs__kv {
  border-bottom: 2px solid var(--color-line-default);
  column-gap: 16px;
  display: grid;
  grid-column: span 2;
  grid-template-columns: auto 1fr;
  padding: 16px 0;
}


.attrs__key,
.attrs__value {
  align-items: center;
  display: flex;
  font-size: var(--fz-body);
}


.attrs__key {
  color: var(--color-secondary);
  font-weight: var(--fw-bold);
  justify-content: flex-start;
  white-space: nowrap;
}


.attrs__value {
  color: var(--color-front-default);
  justify-content: flex-end;
  text-align: right;
}


.attrs__value--multiline {
  display: block;
  height: auto;
  line-height: 1.4;
}


.attrs__kv--no-underline {
  border-bottom: 0;
}


.attrs__kv--address {
  column-gap: 16px;
  display: flex;
}

.attrs__kv--address > .attrs__key {
  flex: 0 0 120px;
  text-align: right;
}

.attrs__kv--address > .attrs__value {
  display: block;
  flex: 1 1 auto;
}


.attrs--1col {
  grid-template-columns: auto;
}


.attrs__value--status {
 padding-right: 54px;
}


@media (max-device-width: 767px) {
  .attrs {
    column-gap: 0;
    grid-template-columns: auto 1fr;
  }
}


/*@import 'module/_authform.css';*/
.authform {
  padding: 24px 0;
}


.authform__container {
  border-radius: 8px;
  margin: 0 auto;
  max-width: 680px;
  padding: 32px;
}


.authform__title {
  font-size: var(--fz-body);
  font-weight: var(--fw-bold);
  margin-bottom: 12px;
  text-align: left;
}


.authform__row {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}


.authform__field {
  flex: 1 1 0;
}


.authform__label {
  color: var(--color-front-default);
  display: block;
  font-size: var(--fz-sub);
  margin-bottom: 4px;
}


.authform__actions {
  display: flex;
  justify-content: center;
  margin: 24px 0 16px;
}


.authform__links {
  gap: 16px;
  text-align: center;
}


.authform__note {
  text-align: center;
  white-space: normal;
}


.authform__container--full {
  margin: 0 auto;
  max-width: var(--width-main-pc);
}


.authform__label--password {
  color: var(--color-front-default);
  display: block;
  font-size: var(--fz-body);
  font-weight: var(--fw-bold);
  margin-bottom: 4px;
}


.authform__field--half {
  flex: 1 1 0;
}


.authform__field--password {
  flex: 1 1 0;
}


.authform__actions--column {
  align-items: center;
  flex-direction: column;
  gap: 16px;
}


@media (max-device-width: 767px) {

  .authform__container {
    margin: 0 24px;
  }


  .authform__row {

    flex-direction: column;
  }
}


/*@import 'module/_badge.css';*/
.badge-s {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 22px;
	border-radius: 40px;
	padding: 2px 8px;
	gap: 10px;
	font-size: var(--fz-notice);
	color: var(--color-white);
	line-height: 1;
	white-space: nowrap; /* sh~ */
}


.badge-s__container {
	flex: 1 1 0;
}


.badge-s--option {
	background: var(--color-front-disable);
}


.badge-s--required {
	font-weight: var(--fw-bold);
	background: var(--color-front-alert);
}


.badge-m {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 71px;
	height: 26px;
	border-radius: 40px;
	padding: 2px 8px;
	gap: 10px;
	font-size: var(--fz-notice);
	color: var(--color-front-default);
	line-height: 1;
}


.badge-m__container {
	flex: 1 1 0;
}


.badge-m--unapproved {
	font-weight: var(--fw-bold);
	background: var(--color-blue-base);
}


.badge-m--success {
	font-weight: var(--fw-bold);
	background: var(--color-green-base);
}


.badge-square {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}


.badge-square--s {
  font-weight: var(--fw-bold);
  background: var(--color-secondary);
  border: 0;
  border-radius: 8px;
  color: var(--color-white);
  font-size: var(--fz-notice);
  gap: 2px;
  height: 33px;
  max-width: 358px;
  min-height: 33px;
  padding: 8px;
  width: auto;
}


/*@import 'module/_button.css';*/
.btn {
  align-items: center;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}


.btn--round-m {
  background: var(--color-secondary);
  border: 0;
  border-radius: 30px;
  color: var(--color-white);
  font-size: var(--fz-body);
  font-weight: var(--fw-bold);
  gap: 10px;
  height: 58px;
  max-width: 345px;
  padding: 16px 24px;
}


.btn--round-s {
  background: var(--color-secondary);
  border: 0;
  border-radius: 30px;
  color: var(--color-white);
  font-size: var(--fz-body);
  font-weight: var(--fw-bold);
  gap: 10px;
  height: 46px;
  max-width: 345px;
  padding: 12px 24px;
}


.btn--square-m {
  background: var(--color-secondary);
  border: 0;
  border-radius: 8px;
  color: var(--color-white);
  font-size: var(--fz-body);
  gap: 10px;
  height: 48px;
  max-width: 358px;
  min-height: 48px;
  padding: 8px 12px;
}


.btn--square-s {
  background: var(--color-secondary);
  border: 0;
  border-radius: 8px;
  color: var(--color-white);
  font-size: var(--fz-notice);
  gap: 2px;
  height: 33px;
  max-width: 358px;
  min-height: 33px;
  padding: 8px;
  width: auto;
}


.btn--nowrap {
  white-space: nowrap;
}


.btn--content {
  flex: 0 0 auto;
  min-width: 56px;
  width: max-content;
}

.btn--arrow-right {
  padding-right: 26px;
  background: url("../images/icon/arrow-right-default.svg") no-repeat right 8px center;
  background-size: 16px 16px;
  background-color: var(--color-white);
  
  color: var(--color-secondary);
  border: 1.5px solid var(--color-line-button);
}


@media (max-device-width: 767px) {

  .btn--content {
    max-width: 767px;
    width: 100%;
  }
}


/*@import 'module/_card.css';*/
.card {
  background: var(--color-white);
  border-radius: 8px;
  color: inherit;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  text-decoration: none;
}


.card__container {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}


.card__title {
  font-size: var(--fz-body);
  font-weight: var(--fw-bold);
  margin-bottom: 12px;
  text-align: center;
}


.card__text {
  flex: 1;
  font-size: var(--fz-sub);
  line-height: 1.6;
}


.card__container--col1 .card { flex: 1 1 calc(100% - 16px);    }
.card__container--col2 .card { flex: 1 1 calc(50% - 16px);     }
.card__container--col3 .card { flex: 1 1 calc(33.333% - 16px); }
.card__container--col4 .card { flex: 1 1 calc(25% - 16px);     }
.card__container--col5 .card { flex: 1 1 calc(20% - 16px);     }
.card__container--col6 .card { flex: 1 1 calc(16.666% - 16px); }


@media (max-device-width: 767px) {

  .card__container .card {
    flex: 1 1 100%;
  }
}


/*@import 'module/_checkbox.css';*/
.checkbox {
  align-items: center;
  display: flex;
  gap: 8px;
}


.checkbox__box {
  accent-color: var(--color-primary-1);
  border: 1.5px solid var(--color-secondary-200);
  border-radius: 4px;
  cursor: pointer;
  min-height: 20px;
  min-width: 20px;
}


.checkbox__label {
  align-items: center;
  color: var(--color-front-default);
  display: flex;
  font-size: var(--fz-sub);
  font-weight: var(--fw-bold);
  gap: 4px;
}


/*@import 'module/_component.css';*/
.comp {
  border-radius: 12px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 8px 0;
}


.comp__container {
  background: var(--color-white);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 20px;
}


.comp__group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}


.comp__row {
  align-items: center;
  column-gap: 8px;
  display: flex;
  flex-wrap: wrap;
  max-width: var(--width-component-pc);
  row-gap: 4px;
}


.comp__column {
  column-gap: 8px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-width: var(--width-component-pc);
  row-gap: 4px;
}


.comp__banner {
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  padding: 16px;
  width: 100%;
}


.comp__cond {
  color: var(--color-front-notice);
  flex: 0 0 auto;
  font-size: var(--fz-notice);
  margin-left: auto;
  text-align: right;
}


.comp__value {
  font-size: var(--fz-body);
}


.comp__note {
  color: var(--color-front-notice);
  font-size: var(--fz-notice);
}


.comp__alert {
  color: var(--color-front-alert);
  font-size: var(--fz-sub);
}


.comp__container--no-padding {
  padding: 0;
}


.comp__banner--half {
  width: 48%;
}


.comp__banner--center {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}


.comp__row--noflex {
  display: block;
}


.comp__row--wrap {
  flex-wrap: wrap;
  row-gap: 4px;
}


.comp__row--nowrap {
  flex-wrap: nowrap;
}


.comp__row--top {
  align-items: flex-start;
}


.comp__row--bottom {
  align-items: flex-end;
}


.comp__row--center {
  justify-content: center;
}


.comp__row--full,
.comp__column--full {
  max-width: 100%;
}


.comp__row--button {
  flex-direction: row;
  gap: 16px;
  justify-content: center;
}


.comp--scrollable {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
}


.comp__value--wrap {
  overflow-wrap: anywhere;
}


@media (max-device-width: 767px) {
  .comp__banner--half {
    width: 48%;
  }
  .comp__banner--half:only-child {
    width: 100%;
  }
}

@media (max-device-width: 980px) {

  .comp__row--button {

    align-items: center;
    flex-direction: column-reverse;
  }
}


/*@import 'module/_form.css';*/
.input {
  border: 1.5px solid var(--color-secondary-100);
  border-radius: 8px;
  box-sizing: border-box;
  color: var(--color-secondary);
  font-weight: var(--fw-regular);
  gap: 8px;
  min-height: 48px;
  padding: 8px 16px;
  width: 100%;
  line-height: normal;
}


.input:not(.is-disabled):focus,
.input:not(.is-disabled):focus-visible {
  background: var(--color-bg-default);
}


.input:not(.is-disabled):not(:placeholder-shown) {
  border: 1.5px solid var(--color-secondary);
}


.input--select {
  -webkit-appearance: none;
  appearance: none;
  background: var(--color-white) url('../../img/icon/arrow-down.svg') no-repeat right 16px center/20px 20px;
  cursor: pointer;
  max-width: 100%;
  padding-right: 48px;
  width: 100%;
}


.input--select-s {
  width: auto;
  min-width: 230px;
}


.input--full {
  max-width: 100%;
}


.input-regist {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}


.input-regist__label {
  color: var(--color-secondary);
  font-size: var(--fz-body);
  white-space: nowrap;
}


.form__input-m {
  font-size: var(--fz-body);
}


.form__input-s {
  font-size: var(--fz-sub);
}


.form__input-m--short {
  max-width: 280px;
}


.select {
  --select-gap: 8px;
  --select-width: 480px;
  display: flex;
  flex-wrap: nowrap;
  gap: var(--select-gap);
  max-width: var(--select-width);
  width: 100%;
}


.select__option {
  position: relative;
}


.select__radio {
  opacity: 0;
  position: absolute;
}


.select__label {
  align-items: center;
  background-color: var(--color-white);
  border: 1.5px solid var(--color-line-default);
  border-radius: 8px;
  color: var(--color-front-disable);
  cursor: pointer;
  display: inline-flex;
  font-size: var(--fz-body);
  font-weight: var(--fw-regular);
  gap: 10px;
  height: 48px;
  justify-content: center;
  padding: 8px 16px;
}


.select__radio:checked + .select__label {
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}


.select--2col .select__option {
  flex: 0 0 calc((100% - var(--select-gap)) / 2);
}

.select--2col .select__label {
  width: 100%;
}


.select--3col .select__option {
  flex: 0 0 calc((100% - var(--select-gap)) / 3);
}

.select--3col .select__label {
  width: 100%;
}


.date-input {
  align-items: center;
  align-self: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  display: inline-flex;
  width: auto;
}

@media (max-device-width: 379px) {
    .date-input {
      gap: 5px;
    }
}
@media (max-device-width: 362px) {
    .date-input {
      gap: 3px;
    }
}

.date-input__label {
  color: var(--color-secondary);
  font-size: var(--fz-sub);
}


.date-input__field {
  border: 1.5px solid var(--color-line-default);
  border-radius: 8px;
  color: var(--color-front-disable);
  font-size: var(--fz-body);
  font-weight: var(--fw-regular);
  height: 48px;
  padding: 8px 16px;
}


.date-input__field:not(:placeholder-shown) {
  border: 1.5px solid var(--color-secondary);
  color: var(--color-secondary);
}


.date-input__field::-webkit-inner-spin-button,
.date-input__field::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}


.date-input__field--year {
  width: 70px;
}


.date-input__field--month {
  width: 52px;
}


.date-input__field--day {
  width: 52px;
}


.tel-input {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 480px;
  width: 100%;
}


.tel-input__field {
  border: 1.5px solid var(--color-line-default);
  border-radius: 8px;
  color: var(--color-front-disable);
  font-size: var(--fz-body);
  font-weight: var(--fw-regular);
  height: 48px;
  padding: 8px 16px;
  width: 90px;
  text-align: center;
}


.tel-input__field:not(:placeholder-shown) {
  border: 1.5px solid var(--color-secondary);
  color: var(--color-secondary);
}


.tel-input__field::-webkit-inner-spin-button,
.tel-input__field::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}


.textarea-group {
  max-width: 480px;
  position: relative;
  width: 100%;
}


.textarea-group__field {
  border: 1.5px solid var(--color-secondary-100);
  border-radius: 8px;
  box-sizing: border-box;
  color: var(--color-secondary);
  font-size: var(--fz-body);
  font-weight: var(--fw-regular);
  min-height: 120px;
  padding: 8px 16px;
  resize: vertical;
  width: 100%;
}


.textarea-group__field:not(.is-disabled):focus,
.textarea-group__field:not(.is-disabled):focus-visible {
  background: var(--color-bg-default);
}


.textarea-group__field:not(.is-disabled):not(:placeholder-shown) {
  border: 1.5px solid var(--color-secondary);
}


.textarea-group__counter {
  bottom: 8px;
  color: var(--color-front-disable);
  font-size: var(--fz-sub);
  pointer-events: none;
  position: absolute;
  right: 16px;
}


.input-unit {
  align-items: center;
  display: flex;
  gap: 8px;
  max-width: 480px;
  width: 100%;
}


.input-unit__field {
  flex: 1 1 0;
}


.input-unit__label {
  color: var(--color-secondary);
  font-size: var(--fz-body);
  white-space: nowrap;
}


.input-unit__field--full {
  flex-direction: row;
  max-width: 100%;
}


@media (max-device-width: 767px) {
  .input-unit__field--full {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }
}


.input-icon,
.password-field {
  align-items: center;
  display: flex;
  position: relative;
  width: 100%;
}


.input-icon__field {
  align-items: center;
  background: transparent;
  border: none;
  display: flex;
  height: 28px;
  justify-content: center;
  left: 12px;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
}


.input-icon__right {
  max-width: 960px;
  padding-right: 44px;
}


.input-icon__left {
  max-width: 960px;
  padding-left: 44px;
}


.input-icon__size {
  height: 24px;
  width: 24px;
}


/*@import 'module/_frame.css';*/
.frame {
	border: 0;
	display: block;
	overflow: hidden;
}


.frame--global-header {
	height: 80px;
	width: 100%;
}


.frame--customer-header {
	height: 61px;
	width: 100%;
}


.frame--notice-bar {
	height: 50px;
	width: 100%;
}


.frame--menu {
	box-shadow: 0 4px 8px var(--color-secondary-100);
	border-radius: 8px;
	height: 100%;
	width: var(--width-menu-pc);
}


.frame--global-footer {
	height: 116px;
	width: 100%;
}


.frame--global-footer-return {
	height: 60px;
	width: 100%;
}


/*@import 'module/_heading.css';*/
.heading {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-weight: var(--fw-bold);
  gap: 8px;
  margin: 0;
  position: relative;
}


.heading--leftline-b,
.heading--leftline-r {
  padding: 4px 4px 4px 16px;
}


.heading--leftline-b::before,
.heading--leftline-r::before {

  content: '';
  height: calc(100% - 8px);
  left: 0;
  position: absolute;
}


.heading--leftline-b::before {
  border-radius: 999px;
  width: 5px;
}


.heading--leftline-r::before {
  border-radius: 99px;
  width: 4px;
}


.heading--underline {
  width: 100%;
  padding: 8px 0;
}


.heading--underline::before {

  background: var(--color-line-default);
  bottom: 0;
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}


.heading--underline::after {

  background: var(--color-secondary-200);
  bottom: 0;
  border-radius: 99px;
  content: '';
  height: 3px;
  left: 0;
  position: absolute;
  width: 64px;
}


.heading--linecolor-primary-1::before {
  background: var(--color-primary-1);
}


.heading--linecolor-secondary-200::before {
  background: var(--color-secondary-200);
}


/*@import 'module/_icon.css';*/
.icon {
  display: block;
  height: auto;
  max-width: 100%;
}


.icon--inline {
  display: inline-block;
  vertical-align: middle;
}


.icon--8 {
  height: 8px;
  width: 8px;
}


.icon--16 {
  height: 16px;
  width: 16px;
}


.icon--20 {
  height: 20px;
  width: 20px;
}


.icon--24 {
  height: 24px;
  width: 24px;
}


.icon--fit {
  width: auto;
}


.icon--circle {
  align-items: center;
  background: var(--color-white);
  border-radius: 50%;
  box-sizing: content-box;
  display: inline-flex;
  justify-content: center;
  padding: 8px;
}


/*@import 'module/_link.css';*/
.link {
  font-size: var(--fz-sub);
  color: var(--color-front-link);
  text-decoration: underline;
}


.link--p {
  font-size: var(--fz-p);
}


.link--no-underline {
  text-decoration: none;
}


/*@import 'module/_linkbanner.css';*/
.linkbanner {
  align-items: center;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 4px;
  padding: 8px;
  text-decoration: none;
}


.linkbanner__container {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
}


.linkbanner__banner {
  flex: 1 1 0;
  min-width: 320px;
}


.linkbanner__textfield {
  display: inline-block;
  font-size: var(--fz-sub);
  padding: 4px 16px;
}


.linkbanner--mumss {
  background: var(--color-bg-gold);
  border: 2px solid var(--color-line-gold);
  color: var(--color-secondary);
  min-height: 80px;
  height: auto;
  flex: 1 1 0;
}


.linkbanner--muess {
  background: var(--color-white);
  border: 1px solid var(--color-secondary-200);
  height: 80px;
  justify-content: center;
  flex: 1 1 0;
}


.linkbanner__textfield--mumss {
  background: var(--color-white);
  border-radius: 9999px;
  color: var(--color-front-gold);
  display: block;
  font-weight: var(--fw-bold);
  white-space: normal;
  text-align: center;
  line-height: 1.4;
  padding: 4px 14px 6px 14px;
}


.linkbanner__title--mumss {
  color: var(--color-front-default);
  display: block;
  font-size: var(--fz-p);
  font-weight: var(--fw-bold);
}


@media (max-device-width: 767px) {

  .linkbanner__container {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .linkbanner__banner {
    width: 100%;

    min-width: 0;
  }
}


/*@import 'module/_list.css';*/
.list-section {
  display: flex;
  flex-direction: column;
  max-width: 100%;
}


.list-section--expandable {
  display: flex;
  flex-direction: column;
  max-width: 100%;
}


.list {
  display: flex;
  flex-direction: column;
  height: auto;
  list-style: none;
  margin: 0;
  padding: 0;
}


.list__item {
  align-items: flex-start;
  border-top: 1px solid var(--color-line-default);
  column-gap: 16px;
  display: flex;
  font-size: var(--fz-p);
  word-break: break-all;
  line-height: 1.4;
  padding: 20px;
}

.list__item:first-child {
  border-top: none;
}

.list__date {
  color: var(--color-front-notice);
  flex: 0 0 80px;
  font-size: var(--fz-sub);
}

.list__message {
  font-size: var(--fz-p);
  color: var(--color-front-default);
  line-height: 1.4;
}

.list__code {
  align-items: center;
  background: var(--color-bg-dark);
  border-radius: 4px;
  box-sizing: border-box;
  color: var(--color-front-notice);
  display: flex;
  flex: 0 0 auto;
  margin-left: auto;
  align-self: center;
  font-size: var(--fz-sub);
  height: 25px;
  justify-content: center;
  padding: 4px 8px;
}

.list__expand {
  display: none;
}


.list--no-pad-h .list__item {
  padding-left: 0;
  padding-right: 0;
}


@media (max-device-width: 767px) {
  .list__item {
    flex-direction: column;
  }

  .list-section--expandable .list__item:nth-of-type(n + 2) {
    display: none;
  }

  .list__code {
    align-self: flex-end;
    margin-left: 0;
    margin-top: 8px;
  }

  .list__date {
    flex: 0 0 auto;
    margin-bottom: 4px;
  }

  .list__expand {
    align-items: center;
    border-top: 1px solid var(--color-line-default);
    display: flex;
    font-weight: var(--fw-bold);
    justify-content: center;
    padding: 16px 0;
    text-align: center;
    width: 100%;
    cursor: pointer;
  }

  .list__expand-icon {
    display: inline-block;
    height: 20px;
    margin-left: 4px;
    vertical-align: middle;
    width: 20px;
  }
}


/*@import 'module/_radio.css';*/
.radio {
  align-items: center;
  display: flex;
  gap: 8px;
  position: relative;
}


.radio__button {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}


.radio__label {
  color: var(--color-front-default);
  cursor: pointer;
  font-size: var(--fz-body);
  font-weight: var(--fw-regular);
  padding-left: 28px;
  position: relative;
}


.radio__label::before {
  background-color: var(--color-white);
  border: 1.5px solid var(--color-secondary-200);
  border-radius: 50%;
  box-sizing: border-box;
  content: '';
  height: 16px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
}


.radio__button:checked + .radio__label {
  font-weight: var(--fw-bold);
}


.radio__button:checked + .radio__label::before {
  background-color: var(--color-white);
  border: 4px solid var(--color-primary-1);
}


/*@import 'module/_table.css';*/
.table {
  background-color: var(--color-white);
  border: 1px solid var(--color-line-table);
  border-collapse: separate;
  border-radius: 8px;
  border-right: none;
  border-spacing: 0;
  font-size: var(--fz-notice);
  margin-bottom: 8px;
  overflow: hidden;
  width: 100%;
}


.table thead th,
.table tbody th {
  background-color: var(--color-bg-default);
  color: var(--color-secondary);
  text-align: center;
}


.table thead th {
  font-weight: var(--fw-bold);
}


.table tbody th {
  background-color: var(--color-bg-dark);
  font-weight: var(--fw-regular);
}


.table th,
.table td {
  border-bottom: 1px solid var(--color-line-table);
  border-right: 1px solid var(--color-line-table);
  line-height: 1.4;
  padding: 4px;
  vertical-align: middle;
  white-space: nowrap;
}


.table tbody tr:last-child th,
.table tbody tr:last-child td {
  border-bottom: none;
}


.table thead tr:first-child th:first-child { border-top-left-radius:     8px; }
.table thead tr:first-child th:last-child  { border-top-right-radius:    8px; }
.table tbody tr:last-child  td:first-child { border-bottom-left-radius:  8px; }
.table tbody tr:last-child  td:last-child  { border-bottom-right-radius: 8px; }


.table__container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}


.table__schedule {
  table-layout: auto;
  overflow: visible;
}


.table__schedule td,
.table__schedule th {
  text-align: center;
  vertical-align: middle;
}


.table__schedule th:first-child,
.table__schedule td:first-child {
  width: auto;
}


.table__schedule thead th:not(:first-child),
.table__schedule tbody td {
  min-width: 48px;
  width: auto;
}


.table__schedule--current {
  background-color: var(--color-green-base);
}


.table__schedule--sticky {
  left: 0;
  position: sticky;
  z-index: 5;
  border-left: 1px solid var(--color-line-table);
  background: var(--color-bg-dark);
  
}


.table.table__schedule {
  border-left: none;
}


/*@import 'module/_title.css';*/
.title {
  background: var(--color-bg-dark);
  border-radius: 8px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}


.title__headline {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between; 
  padding: 16px;
}


.title__wrapper {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}


.title__date {
  font-size: var(--fz-sub);
}


.title__notice {
  align-items: center;
  border-top: 1px solid var(--color-line-default);
  display: flex;
  gap: 4px;
  padding: 16px;
}


/*@import 'module/_tooltip.css';*/
.tooltip {
  background: var(--color-bg-tips);
  border-radius: 8px;
  box-sizing: border-box;
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  font-size: var(--fz-sub);
  gap: 8px;
  line-height: 1.4;
  padding: 8px 12px;
  position: relative;
  width: 230px;
}


.tooltip__close {
  align-items: center;
  border: 0;
  border-radius: 40px;
  cursor: pointer;
  display: flex;
  height: 24px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: -8px;
  top: -8px;
  width: 24px;
}


.tooltip__close-icon {
  height: 24px;
  width: 24px;
}


/*@import '_state.css';*/
.btn.is-offed {
  background: var(--color-white);
  color: var(--color-front-disable);
  border: 1px solid var(--color-line-default);
}


.btn.is-bordered {
  background: var(--color-white);
  color: var(--color-secondary);
  border: 1.5px solid var(--color-line-button);
}


.btn.is-disabled {
  background: var(--color-secondary-200);
  color: var(--color-white);
  border: 0;
}


.btn.is-alerted {
  background: var(--color-white);
  color: var(--color-front-alert);
  border: 1.5px solid var(--color-front-alert);
}


.btn.is-noticed {
  background: var(--color-white);
  color: var(--color-front-notice);
  border: 1.5px solid var(--color-front-notice);
}


.input.is-alerted {
  background: var(--color-white);
  border: 1.5px solid var(--color-front-alert);
}


.input.is-alerted:not(:placeholder-shown) {
  border: 1.5px solid var(--color-front-alert)
}


.input.is-disabled {
  background: var(--color-secondary-100);
  border: 1.5px solid var(--color-line-default);
  color: var(--color-front-disable);
}


/*@import '_utility.css';*/
.u-text-left   { text-align: left;  }
.u-text-center { text-align: center;}
.u-text-right  { text-align: right; }


.u-ff-jp { font-family: var(--ff-jp); }
.u-ff-en { font-family: var(--ff-en); }
.u-ff-sf {
 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',
              Roboto, 'Hiragino Kaku Gothic ProN', 'Noto Sans JP',
              'Helvetica Neue' , Arial, sans-serif;
}


.u-fc-front-default { color: var(--color-front-default); }
.u-fc-front-notice  { color: var(--color-front-notice);  }
.u-fc-front-disable { color: var(--color-front-disable); }
.u-fc-front-link    { color: var(--color-front-link);    }
.u-fc-front-alert   { color: var(--color-front-alert);   }


.u-fz-h1     { font-size: var(--fz-h1);     }
.u-fz-h2     { font-size: var(--fz-h2);     }
.u-fz-h3     { font-size: var(--fz-h3);     }
.u-fz-h4     { font-size: var(--fz-h4);     }
.u-fz-h5     { font-size: var(--fz-h5);     }
.u-fz-notice { font-size: var(--fz-notice); }
.u-fz-sub    { font-size: var(--fz-sub);    }
.u-fz-p      { font-size: var(--fz-p);      }
.u-fz-body   { font-size: var(--fz-body);   }


.u-fw-regular { font-weight: var(--fw-regular); }
.u-fw-bold    { font-weight: var(--fw-bold);    }


.u-bg-white     { background: var(--color-white);      }
.u-bg-default   { background: var(--color-bg-default); }
.u-bg-dark      { background: var(--color-bg-dark);    }
.u-bg-alert     { background: var(--color-bg-alert);   }
.u-bg-disable   { background: var(--color-bg-disable); } 
.u-bg-tips      { background: var(--color-bg-tips);    }
.u-bg-primary-1 { background: var(--color-primary-1);  }


.u-bg-blue-decorate{
  display: inline-flex;
  padding: 8px 16px;
  background-color: var(--color-blue-base);
  border-radius: 2px;
}
.u-bg-blue-decorate:empty{
  padding: 0px;
}

.u-container-top    { align-items: flex-start;     } 
.u-container-bottom { align-items: flex-end;       } 
.u-container-left   { justify-content: flex-start; } 
.u-container-right  { justify-content: flex-end;   } 
.u-container-middle { align-items: center;         } 
.u-container-center { justify-content: center;     } 
.u-container-height-full { height: 100%; } 
.u-container-width-full  { width: 100%;  } 


.u-item-left   { margin-right: auto;      } 
.u-item-right  { margin-left:  auto;      } 
.u-item-top    { align-self:   flex-start;} 
.u-item-bottom { align-self:   baseline;  } 
.u-item-middle { align-self:   center;    } 


.u-item-center { 
  margin-left:  auto;
  margin-right: auto;
}


.u-show-sp { display: none;  } 
.u-hide-sp { display: block; } 
.u-show-zd { display: grid; } 
.u-hide-zd { display: contents; } 

@media (max-device-width: 767px) {
  .u-show-sp { display: block; } 
  .u-hide-sp { display: none;  } 
  .u-show-sp-zd { display: grid; } 
  .u-hide-sp-zd { display: contents; } 
}


.u-padding-28 { padding: 28px; }
.u-padding-24 { padding: 24px; }
.u-padding-20 { padding: 20px; }
.u-padding-16 { padding: 16px; }
.u-padding-12 { padding: 12px; }
.u-padding-8  { padding:  8px; }
.u-padding-4  { padding:  4px; }
.u-padding-2  { padding:  2px; }
.u-padding-0  { padding:  0px; }


.u-gap-28 { gap: 28px; }
.u-gap-24 { gap: 24px; }
.u-gap-20 { gap: 20px; }
.u-gap-16 { gap: 16px; }
.u-gap-12 { gap: 12px; }
.u-gap-8  { gap:  8px; }
.u-gap-4  { gap:  4px; }
.u-gap-2  { gap:  2px; }
.u-gap-0  { gap:  0px; }

