html {
  cursor: default;
  /* 1 */
  line-height: 1.5;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  tab-size: 4;
  /* 3 */
  -webkit-tap-highlight-color: transparent /* 4 */;
  -ms-text-size-adjust: 100%;
  /* 5 */
  -webkit-text-size-adjust: 100%;
  /* 5 */
  word-break: break-word;
  /* 6 */
}

/* Sections
   * ========================================================================== */

/**
   * Remove the margin in all browsers (opinionated).
   */

body {
  margin: 0;
  color: #3b4043;
  background-color: #f6f6f6;
  font-size: 14px;
  font-family: "Noto Sans JP", YuGothic, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "HiraKakuPro-W3", "メイリオ", Meiryo,
    "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, sans-serif;
}

/**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Edge, Firefox, and Safari.
   */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* iosリセット */

input,
select {
  -webkit-appearance: none;
  appearance: none;
}

/* Grouping content
   * ========================================================================== */

/**
   * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
   */

dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
   * Remove the margin on nested lists in Edge 18- and IE.
   */

ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

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

body {
  --bottom-navigation-height: 0px;
  --global-footer-height: 0px;
  --waves-position: 320px;
  --scroll-position: 0;
  position: relative;
  box-sizing: border-box;
  min-height: 100vh;
  padding: 42px calc(50vw - 320px) 0;
  background-color: #f6f6f6;
}

.global-header {
  position: relative;
  /* top: 0;
    right: 0;
    left: 0;
    z-index: 10000;
    transition: transform .3s; */
  height: 42px;
  padding: 0 14px;
}

.global-header img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.apply-re .global-header{
  height:auto;
}

.apply-re .global-header img {
  height:auto;
}

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

.a-page-heading {
  position: relative;
  padding: 32px 24px 0;
  margin-bottom: 42px;
}

.a-page-heading__text {
  display: inline;
  font-family: sans-serif;
  font-size: 24px;
  font-weight: 100;
  line-height: 40px;
  color: #000;
}

.a-page-heading__arcs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.a-page-heading__text {
  display: inline;
  font-family: sans-serif;
  font-size: 24px;
  font-weight: 100;
  line-height: 40px;
  color: #000;
}

.a-page-heading__arcs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.a-page-heading__arcs > li:first-child {
  left: var(--left, 0);
  width: calc(var(--width, 0) + 25px);
}

.a-section-sub-heading {
  margin: 32px 24px -14px;
}

.a-section-sub-heading__text {
  position: relative;
  display: inline;
  padding: 0 2px 3px;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  color: #3b4043;
background-image: linear-gradient(90deg, #b7d3ff, #83f4ff);
  background-repeat: no-repeat;
  background-position: 0 13.5px;
  background-size: 100% 8px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.m-fieldrow__main > * {
  flex: 0 0 calc(100% - 13px);
  margin: 0 0 0 5px;
}

.a-radio__indicator {
  position: absolute;
  top: 50%;
  left: 16px;
  width: 16px;
  height: 16px;
  overflow: hidden;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 50%;
  transform: translateY(-50%);
}

.a-radio__input {
  position: absolute;
  pointer-events: none;
  opacity: 0;
}

.a-radio__body {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  min-height: 56px;
  padding: 14px 16px 14px 40px;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #f1f0ec;
  border-radius: 6px;
  outline: none;
  margin: 0 12px -12px 12px;
}

.a-radio__label {
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
}

.campaign {
  padding-left: 15px;
  font-size: 0.8em;
  font-weight: 700;
  color: red;
}

.a-radio__label .a-radio__description {
  display: block;
  margin-top: 4px;
  font-size: 12px;
}

.a-radio:not(.a-radio--colorpicker):not(.a-radio--filled)
  .a-radio__input:checked
  + .a-radio__body
  .a-radio__indicator {
  border-color: var(--theme-color, #01b5d0);
}

.a-radio__input:checked:not(:disabled) + .a-radio__body {
      border-color: var(--theme-color, #01b5d0);
            background: #1d4276;
        color: #FFF;
}

.a-radio__input:checked:not(:disabled) + .a-radio__body .a-radio__label {
  font-weight: bold;
}

.a-product-thumbnail-checkbox__input:checked
  ~ .a-product-thumbnail-checkbox__field
  .a-product-thumbnail-checkbox__name-content,
.a-product-thumbnail-checkbox__input:checked
  ~ .a-product-thumbnail-checkbox__field
  .a-product-thumbnail-checkbox__price-content
  .a-price-amount,
.a-product-thumbnail-checkbox__input:checked
  ~ .a-product-thumbnail-checkbox__field
  .a-product-thumbnail-checkbox__price-content
  .a-price-amount__unit {
  font-weight: bold;
}

.a-radio:not(.a-radio--colorpicker):not(.a-radio--filled)
  .a-radio__input:checked
  + .a-radio__body
  .a-radio__indicator:before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  background-color: var(--theme-color, #01b5d0);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.m-button-container {
  margin-top: 60px;
  margin-bottom: 60px;
}

button {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
}

button.learn-more {
  width: 16rem;
  height: auto;
  display: block;
  margin: 0 auto;
}

button.learn-more:disabled {
  pointer-events: none;
}

button.learn-more .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 3rem;
  height: 3rem;
  background: #01b5d0;
  border-radius: 1.625rem;
}

button.learn-more:disabled .circle {
  background: #bbb;
}

button.learn-more .circle .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}

button.learn-more .circle .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 0.625rem;
  width: 1.125rem;
  height: 0.125rem;
  background: none;
}

button.learn-more .circle .icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.25rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #fff;
  border-right: 0.125rem solid #fff;
  transform: rotate(45deg);
}

button.learn-more .button-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.75rem 0;
  margin: 0 0 0 1.85rem;
  color: #01b5d0;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}

button.learn-more:disabled .button-text {
  color: #bbb;
}

button:hover .circle,
button.hover .circle {
  width: 100%;
}

button:hover .circle,
button.hover .circle {
  width: 100%;
}

button:hover .circle .icon.arrow,
button.hover .circle .icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}

button:hover .button-text,
button.hover .button-text {
  color: #fff;
}

.m-fieldrow__main {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin: -11px 0 0 -13px;
}

.m-fieldrow__main > * {
  flex: 0 0 calc(100% - 13px);
  margin: 11px 0 0 13px;
  height: auto;
}

.m-fieldrow {
  position: relative;
  padding: 10px 14px 0px;
}

.a-product-thumbnail-checkbox {
  position: relative;
  display: block;
  overflow: hidden;
}

.a-product-thumbnail-checkbox__input {
  position: absolute;
  width: 0;
  height: 0;
  cursor: pointer;
  opacity: 0;
}

.a-product-thumbnail-checkbox__field {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 13.5px 16px;
  font-size: 12px;
  font-weight: 350;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  background-color: #fff;
  border: 1px solid #f1f0ec;
  border-radius: 5px;
}

figcaption.a-product-thumbnail-checkbox__figcaption {
  width: 100%;
  padding-left: 10px;
}

.a-product-thumbnail-checkbox__figure {
  display: flex;
  align-items: center;
  margin: 0 0 0 10px;
}

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

.a-product-thumbnail-checkbox__icon {
  position: relative;
  display: block;
  flex: 0 0 16px;
  height: 16px;
  font-size: 10px;
  text-align: center;
  border: 1px solid #e8e8e8;
  border-radius: 16px;
}

span.a-product-thumbnail-checkbox__icon::after {
  content: "✓";
  color: #fff;
}

.a-product-thumbnail-checkbox__input:checked
  ~ .a-product-thumbnail-checkbox__field {
  border-color: #01b5d0;
}

.a-product-thumbnail-checkbox__input:checked
  ~ .a-product-thumbnail-checkbox__field
  .a-product-thumbnail-checkbox__icon {
  background-color: #01b5d0;
  border-color: #01b5d0;
}

.a-product-thumbnail-checkbox__thumbnail > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.a-section-sub-heading + .m-fieldrow {
  margin-top: 16px;
}

.a-product-thumbnail-checkbox__figcaption {
  font-size: 14px;
}

dt.m-receipt__item-title {
  margin-bottom: 9px;
}

dd {
  text-align: right;
}

.a-product-thumbnail-checkbox .ribbon {
  position: absolute;
  top: 0;
  right: -10.5%;
  width: 175px;
  height: 40px;
  line-height: 40px;
  background: linear-gradient(#ebff00 0%, #ebff00 100%);
  z-index: 999;
  color: red;
  font-size: 15px;
  text-align: center;
  -webkit-transform: rotate(45deg) translate(10px, 10px);
  -moz-transform: rotate(45deg) translate(10px, 10px);
  -ms-transform: rotate(45deg) translate(10px, 10px);
  -o-transform: rotate(45deg) translate(10px, 10px);
  transform: rotate(45deg) translate(10px, 10px);
}

.fieldrowheader {
  padding: 0 20px;
  display: flex;
}
.fieldrowtitle {
  display: inline;
  font-size: 12px;
  line-height: 22px;
  color: #3b4043;
  vertical-align: middle;
}
.a-captionlist {
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 10px;
  line-height: normal;
  color: #797979;
  padding-left: 24px;
}

.textfieldinput {
  box-sizing: border-box;
  display: block;
  width: calc(100% - 24px);
  padding: 10px 20px;
  margin: 12px 12px 12px 12px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 16px;
  color: #3b4043;
  background-color: #fff;
  border: 1px solid #f1f0ec;
  border-radius: 25px;
}
label.a-radio.js-change-link {
  margin-bottom: 10px;
}
.m-accordion,
.m-action-suggest-card,
.m-block-list {
  margin-top: 24px;
  margin-right: 14px;
  margin-left: 14px;
}
.m-accordion {
  padding: 0 18px;
  background-color: #fff;
  border: 1px solid #f1f0ec;
  border-radius: 24px;
}

.m-accordion__header {
  display: flex;
  align-items: center;
  height: 76px;
  padding: 0 16px;
  border-bottom: 1px solid #f1f0ec;
}
.a-card-notice-title__text {
  flex-grow: 1;
  margin-left: 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 22px;
}
.a-emphasize {
  padding: 0 2px 3px;
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
  color: #3b4043;
  background-image: linear-gradient(90deg, #ebff00, #ebff00);
  background-repeat: no-repeat;
  background-position: 0 10.5px;
  background-size: 100% 8px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.m-accordion__header + .m-accordion__body {
  padding-bottom: 30px;
}

ul,
li {
  list-style: none;
  padding-inline-start: 0px;
}
.m-accordion__item--opened .m-accordion__item-body {
  height: var(--body-height, auto);
}
.m-accordion__item-body {
  --body-height: auto;
  height: 0;
  padding: 0 16px;
  overflow: hidden;
  transition: height 0.2s ease-out;
}
.m-accordion__item-body:before {
  display: block;
  margin: 0 -16px 24px;
  content: "";
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}
.a-card-heading:first-child {
  margin-top: 0;
}
.a-card-heading {
  margin-top: 24px;
  margin-bottom: 24px;
}

.a-card-heading {
  position: relative;
  padding-left: 20px;
  margin: 24px 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
}
.a-card-heading:before {
  position: absolute;
  top: 4px;
  left: 0;
  width: 5px;
  height: 16px;
  content: "";
  background-color: var(--theme-color, #01b5d0);
  border-radius: 20px;
}
.m-accordion__item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 16px;
  font-size: 12px;
  cursor: pointer;
}

select#preferred1,
select#preferred2,
select#preferred3 {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  padding: 0 20px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 14px;
  font-weight: 800;
  color: #3b4043;
  cursor: pointer;
  background-color: #fff;
  border-radius: 20px;
  animation: a-button-mouseout-keyframes 0.38s;
  border: solid 1px;
}

.a-radio__input {
  position: absolute;
  pointer-events: none;
  opacity: 0;
}
.a-radio__body.hour-radio {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  min-height: 50px;
  padding: 14px 16px 14px 40px;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #f1f0ec;
  border-radius: 6px;
  outline: none;
  margin: 0 0px 10px 0px;
}

input:focus-visible {
  border-color: #01b5d0;
  border-color: var(--theme-color, #01b5d0);
}

.a-textfield.a-textfield--alphanumeric.a-textfield--invalid.birth-flex {
  display: flex;
}

input.textfieldinput.birthy {
  width: 20%;
}

input.textfieldinput.birthm {
  width: 20%;
}
input.textfieldinput.birthd {
  width: 20%;
}
.card-section {
  margin-top: 24px;
  margin-right: 14px;
  margin-left: 14px;
}

li.inline-li {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  color: inherit;
  width: 100%;
  justify-content: space-between;
  margin-bottom: 9px;
  font-weight: bold;
}

@media screen and (min-width: 641px) {
  .a-product-thumbnail-checkbox .ribbon {
    width: 200px;
  }
}

.m-receipt {
  margin-top: 40px;
}

.m-sticky-price-bar__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #3b4043;
}

.m-receipt__card {
  background-color: #fff;
  border: 1px solid #f1f0ec;
  border-radius: 24px;
  position: relative;
  padding: 36px 32px 40px;
}

.a-emphasized-value--narrow {
  height: 40px;
}

.a-emphasized-value--narrow .a-emphasized-value__number {
  font-size: 40px;
  line-height: 40px;
}

.a-emphasized-value {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: 48px;
  padding: 0 2px;
  background: linear-gradient(#ebff00 0%, #ebff00 100%) !important;
  background-repeat: no-repeat;
  background-size: 0 100%;
}

.a-emphasized-value--narrow .a-emphasized-value__title {
  margin-bottom: 4px;
}

.a-emphasized-value__title {
  flex: 0 0 auto;
  margin-bottom: 6px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: normal;
}

.a-emphasized-value--narrow .a-emphasized-value__content {
  margin-left: 12px;
}

.a-emphasized-value__content {
  display: flex;
  flex: 1 1 auto;
  align-items: flex-end;
  margin-left: 16px;
  font-family: Work Sans, noto-sans-cjk-jp, sans-serif;
}

.a-emphasized-value--narrow .a-emphasized-value__number {
  font-size: 40px;
  line-height: 40px;
}

.a-emphasized-value__number {
  flex: 1 1 auto;
  font-size: 60px;
  font-weight: 300;
  line-height: 56px;
  text-align: right;
}

.a-emphasized-value--narrow .a-emphasized-value__unit {
  margin-bottom: 2px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.a-emphasized-value__unit {
  flex: 0 0 auto;
  margin: 0 0 4px 4px;
  font-size: 18px;
  font-weight: 500;
  line-height: normal;
}

.m-receipt__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.m-receipt__item-detail {
  flex: 0 0 100%;
  margin-top: 6px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-weight: 300;
}

.m-receipt__item-amount {
  flex: 0 0 auto;
  padding-left: 12px;
  white-space: nowrap;
}

.m-receipt__category:nth-child(2) {
  padding-top: 20px;
  margin-top: 24px;
  border-top: 1px solid #f1f0ec;
}

.m-receipt__item-amount .a-price-amount {
  font-size: 20px;
}

.ctitle {
  width: auto;
}
.cdata {
  width: auto;
}

.cbox {
  display: flex;
}

.ctitle {
  width: 40%;
}
.box {
  width: 60%;
}
.basicinfo,
.planinfo {
  margin-bottom: 2em;
}

.ctitle {
  width: 40%;
  font-size: 12px;
}
.basicinfo > div {
  margin-bottom: 0.2em;
}
.planinfo > div {
  margin-bottom: 0.2em;
}

#kibou > div {
  margin-bottom: 0.2em;
}
.contactkibou > div {
  margin-bottom: 0.2em;
}

#planinfooption > div {
  margin-bottom: 0.2em;
}

button#back {
  width: 12rem;
  height: auto;
  display: block;
  margin: 0 auto 40px;
}

button#back:hover .button-text {
  color: #01b5d0;
  font-weight: bold;
}

:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
  outline-color: #01b5d0;
  outline-style: auto;
  outline-width: 1px;
}

p.caution-title {
  font-size: 10px;
}

@media screen and (max-width: 641px) {
  .cbox {
    display: block;
    margin-top: 1em;
  }
  .ctitle {
    width: 100%;
    font-size: 11px;
    border-bottom: solid 1px #ddd;
    padding-bottom: 0.4em;
  }

  .cdata {
    width: auto;
    padding-top: 0.3em;
    margin-bottom: 0.3em;
    font-size: 14px;
    font-weight: bold;
  }
}

.footer {
  padding: 90px 0 80px;
}
.footer_inner {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
.nav-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 20px 0 15px;
}

.nav-footer li:not(:last-child) {
  margin-right: 45px;
}
.copy-right {
  text-align: center;
  font-size: 12px;
  line-height: 1;
}
.nav-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 20px 0 15px;
}

@media screen and (max-width: 641px) {
  ul.nav-footer {
    display: none;
  }
}
