@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
html {
  width: 100%;
  font-size: 100%;
  touch-action: manipulation;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  line-height: 1.5;
  color: #2C2A29;
}

body,
button,
input,
optgroup,
select,
textarea {
  font-family: "Noto Sans JP", sans-serif;
}

input,
select {
  background: none;
  padding: 0;
  border: none;
  border-radius: 0;
  margin: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select {
  cursor: pointer;
}

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

img {
  max-width: 100%;
  vertical-align: bottom;
}

.u-text-align-center {
  text-align: center !important;
}

.u-text-align-left {
  text-align: left !important;
}

.u-text-align-right {
  text-align: right !important;
}

.u-text-weight-bold {
  font-weight: bold !important;
}

.u-text-weight-normal {
  font-weight: normal !important;
}

.u-text-color-red {
  color: #DF0D00 !important;
}

@media print, screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}
@media not all and (min-width: 768px) {
  .pc-only {
    display: none;
  }
}
.section {
  width: 100%;
  background-color: #F0F7FF;
  background-image: url("../images/top/dot.png");
}
.section--bg-blue {
  background-color: #0056D7;
  background-image: none;
}
@media not all and (min-width: 768px) {
  .section--bg-blue {
    padding-bottom: 64px;
  }
}
@media print, screen and (min-width: 768px) {
  .section--bg-blue {
    padding-bottom: 120px;
  }
}
.section--bg-blue .section__heading {
  color: #ffffff;
}
@media not all and (min-width: 768px) {
  .section {
    padding-top: 64px;
  }
}
@media print, screen and (min-width: 768px) {
  .section {
    padding-top: 120px;
  }
}
@media not all and (min-width: 768px) {
  .section--pd-bottom {
    padding-bottom: 64px;
  }
}
@media print, screen and (min-width: 768px) {
  .section--pd-bottom {
    padding-bottom: 120px;
  }
}
@media not all and (min-width: 768px) {
  .section__inner {
    padding-inline: 5.3333333333%;
  }
}
@media print, screen and (min-width: 768px) {
  .section__inner {
    max-width: 1144px;
    padding-inline: 20px;
    margin-inline: auto;
  }
}
.section__heading {
  display: grid;
  row-gap: 8px;
  text-align: center;
  line-height: 1.3;
  font-weight: bold;
  color: #1F9DFF;
}
@media not all and (min-width: 768px) {
  .section__heading {
    font-size: 1.5rem;
  }
}
@media print, screen and (min-width: 768px) {
  .section__heading {
    font-size: 2rem;
  }
}
.section__heading + .section__contents {
  margin-top: 40px;
}
.section__heading span {
  display: block;
  font-size: 0.875rem;
}

.note-box {
  background-color: #FFFCD5;
  padding: 16px;
}
.note-box__heading {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 0.875rem;
  font-weight: bold;
  color: #CF3700;
}
.note-box__heading::before {
  flex-shrink: 0;
  content: "";
  width: 16px;
  height: 16px;
  background-color: #F29423;
  -webkit-mask-image: url("../images/top/icon/info.svg");
  mask-image: url("../images/top/icon/info.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  margin-top: 2px;
}
.note-box__text, .note-box__list {
  font-size: 0.875rem;
  color: #CF3700;
  margin-top: 8px;
}
.note-box__link {
  color: #CF3700;
  text-decoration: underline;
  transition: all 0.3s;
}
@media (hover: hover) {
  .note-box__link:not(.is-disabled-hover):hover {
    opacity: 0.8;
    text-decoration: none;
  }
}
.note-box__item {
  text-indent: -1em;
  padding-left: 1em;
}
.note-box__item::before {
  content: "・";
  font-weight: bold;
}
.note-box--visa-application {
  padding: 0;
  background-color: transparent;
}
.note-box--visa-application .note-box__heading {
  color: #ffffff;
}
.note-box--visa-application .note-box__heading::before {
  background-color: #ffffff;
}
.note-box--visa-application .note-box__text {
  color: #ffffff;
}

.text-list__item {
  text-indent: -1rem;
  padding-left: 1rem;
}
.text-list__item::before {
  content: "・";
}
.text-list__item + .text-list__item {
  margin-top: 4px;
}

.select {
  background-color: #ffffff;
  border: 1px solid #939DAD;
  border-radius: 8px;
  position: relative;
  cursor: pointer;
}
.select::after {
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  background-color: #697180;
  -webkit-mask-image: url("../images/top/icon/caret-down.svg");
  mask-image: url("../images/top/icon/caret-down.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  pointer-events: none;
}
.select:has(.is-failed) {
  border-color: #DF0D00;
}
.select__field {
  width: 100%;
  height: 100%;
  color: #2C2A29;
  line-height: 1.5;
  padding: 14px 36px 14px 8px;
}
.select__field:has(option[disabled]:checked) {
  color: #939DAD;
}
@media not all and (min-width: 768px) {
  .select__field {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .select__field {
    font-size: 1rem;
  }
}
.select__field *:not([disabled]) {
  color: #2C2A29;
}

.input {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  border: 1px solid #939DAD;
  border-radius: 8px;
  position: relative;
  cursor: pointer;
}
.input:has(.is-failed) {
  border-color: #DF0D00;
}
.input__field {
  width: 100%;
  height: 100%;
  color: #2C2A29;
  padding: 14px 8px;
  cursor: pointer;
}
@media not all and (min-width: 768px) {
  .input__field {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .input__field {
    font-size: 1rem;
  }
}

.blue-pill-button {
  display: block;
  width: 100%;
  font-size: 1rem;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  border: 1px solid #10069F;
  border-radius: 100px;
  background-color: #10069F;
  padding: 11px 16px;
  cursor: pointer;
  transition: background-color 0.3s;
}
@media (hover: hover) {
  .blue-pill-button:not(.is-disabled-hover):hover {
    background-color: #140D77;
  }
}

.info-list__heading {
  font-weight: bold;
}
@media not all and (min-width: 768px) {
  .info-list__heading {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .info-list__heading {
    font-size: 1.25rem;
  }
}
.info-list__description {
  margin-top: 8px;
}
@media not all and (min-width: 768px) {
  .info-list__description {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .info-list__description {
    font-size: 1rem;
  }
}

body.is-fixed {
  overflow: hidden;
}

.modal {
  --width: 992px;
  position: fixed;
  background-color: #ffffff;
  width: var(--width);
  max-height: calc(100vh - 96px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: none;
  border-radius: 8px;
  padding: 0;
  margin: 0;
}
@media print, screen and (min-width: 768px) {
  .modal {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
@media not all and (min-width: 768px) {
  .modal {
    height: 100%;
  }
}
.modal__inner {
  height: 100%;
  overflow: auto;
}
.modal__head {
  display: grid;
  gap: 4px;
  align-items: center;
  grid-template-areas: ". heading close-button";
  grid-template-columns: 18px 1fr 18px;
  background-color: #ffffff;
  padding: 20px;
  position: sticky;
  top: 0;
  z-index: 10;
}
.modal__heading {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: heading;
  font-size: 1.125rem;
  color: #2c2a29;
  font-weight: bold;
  text-align: center;
}
.visa-application-checklist__item > .modal__heading {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.modal__close-button {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
  grid-area: close-button;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: none;
  background-color: transparent;
  padding: 0;
  margin-left: auto;
  cursor: pointer;
  transition: opacity 0.3s;
}
.modal__close-button::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-color: #2C2A29;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-image: url("../images/top/icon/close.svg");
  mask-image: url("../images/top/icon/close.svg");
}
@media (hover: hover) {
  .modal__close-button:not(.is-disabled-hover):hover {
    opacity: 0.8;
  }
}
.modal__close-button--without-head {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
}
.modal__body {
  padding: 0 20px 20px 20px;
}
.modal::-webkit-backdrop {
  background-color: #000;
  opacity: 0.4;
}
.modal::backdrop {
  background-color: #000;
  opacity: 0.4;
}

.mv {
  background: linear-gradient(0deg, #1F9DFF, #0056D7);
  padding-top: 38px;
  padding-bottom: 20px;
  position: relative;
}
@media not all and (min-width: 768px) {
  .mv {
    padding-inline: 5.3333333333%;
  }
}
@media print, screen and (min-width: 768px) {
  .mv {
    display: flex;
    justify-content: center;
    flex-direction: column;
    height: 640px;
    padding-inline: 20px;
  }
}
.mv::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(225, 225, 225, 0.25);
  -webkit-mask-image: url("../images/top/world-map.svg");
  mask-image: url("../images/top/world-map.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  position: absolute;
}
@media not all and (min-width: 768px) {
  .mv::before {
    max-height: 225px;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media print, screen and (min-width: 768px) {
  .mv::before {
    max-width: 1075px;
    max-height: 568px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.mv__sub-title {
  font-weight: bold;
  color: #ffffff;
  text-align: center;
}
@media not all and (min-width: 768px) {
  .mv__sub-title {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .mv__sub-title {
    font-size: 1.25rem;
  }
}
.mv__title {
  font-weight: bold;
  color: #ffffff;
  text-align: center;
  margin-top: 8px;
}
@media not all and (min-width: 768px) {
  .mv__title {
    font-size: 3rem;
  }
}
@media print, screen and (min-width: 768px) {
  .mv__title {
    font-size: 5rem;
  }
}
@media not all and (min-width: 768px) {
  .mv__title--small {
    font-size: 2rem;
  }
}
.mv__caption {
  color: #ffffff;
  text-align: center;
  margin-top: 8px;
}
@media not all and (min-width: 768px) {
  .mv__caption {
    font-size: 0.625rem;
  }
}
@media print, screen and (min-width: 768px) {
  .mv__caption {
    font-size: 0.875rem;
  }
}
.mv__search {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media not all and (min-width: 768px) {
  .mv__search {
    gap: 16px;
    flex-direction: column;
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  .mv__search {
    gap: 24px;
    flex-wrap: wrap;
    padding-inline: 180px;
    margin-top: 80px;
  }
}
.mv__select {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .mv__select {
    max-width: 520px;
  }
}
.mv__button {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
  max-width: 256px;
  font-size: 1rem;
  color: #ffffff;
  border: 2px solid #ffffff;
  border-radius: 100px;
  background-color: #10069F;
  padding: 16px 24px;
  cursor: pointer;
  transition: background-color 0.3s;
  position: relative;
  z-index: 1;
}
@media (hover: hover) {
  .mv__button:not(.is-disabled-hover):hover {
    background-color: #140D77;
  }
}
.mv__button span {
  display: block;
  width: 100%;
  text-align: center;
}
.mv__button::after {
  flex-shrink: 0;
  content: "";
  width: 16px;
  height: 16px;
  background-color: #ffffff;
  -webkit-mask-image: url("../images/top/icon/search.svg");
  mask-image: url("../images/top/icon/search.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.mv__anchor-link {
  text-decoration: none;
  border: 2px solid #ffffff;
  background-color: #0A3161;
  filter: drop-shadow(0 0 10px rgba(1, 88, 216, 0.25));
  transition: background-color 0.3s;
}
@media (hover: hover) {
  .mv__anchor-link:not(.is-disabled-hover):hover {
    background-color: #140D77;
  }
}
@media not all and (min-width: 768px) {
  .mv__anchor-link {
    display: grid;
    grid-template-areas: ". country arrow" ". guide arrow";
    grid-template-columns: 16px 1fr 16px;
    -moz-column-gap: 16px;
    column-gap: 16px;
    border-radius: 8px;
    padding: 8px;
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  .mv__anchor-link {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    position: absolute;
    bottom: 24px;
    right: 24px;
  }
}
.mv__anchor-link::after {
  flex-shrink: 0;
  display: block;
  content: "";
  background-color: #ffffff;
  -webkit-mask-image: url("../images/top/icon/caret-right.svg");
  mask-image: url("../images/top/icon/caret-right.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media not all and (min-width: 768px) {
  .mv__anchor-link::after {
    grid-area: arrow;
    align-self: center;
    width: 16px;
    height: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  .mv__anchor-link::after {
    width: 24px;
    height: 24px;
    margin-top: 8px;
  }
}
.mv__link-text {
  font-size: 1rem;
  color: #ffffff;
  text-align: center;
}
@media not all and (min-width: 768px) {
  .mv__link-text {
    grid-area: guide;
  }
}
.mv__link-text--small {
  font-size: 0.75rem;
}
@media not all and (min-width: 768px) {
  .mv__link-text--small {
    grid-area: country;
  }
}
@media not all and (min-width: 768px){
  .mv__anchor-link::after {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 5;
  }
  .mv__link-text {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .mv__link-text--small {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}
@media print, screen and (min-width: 768px) {
  .mv__link-text--small {
    margin-top: 34px;
  }
}

.page-anchor-wrap {
  height: var(--nav-height);
}
.page-anchor-wrap:has([data-scroll-type=before-nav]) {
  position: sticky;
  top: 0;
}

.page-anchor {
  background-color: #ffffff;
  filter: drop-shadow(0 0 8px rgba(31, 157, 255, 0.15));
}
.page-anchor[data-scroll-type] {
  width: 100%;
  top: 0;
  z-index: 100;
  transition: transform 0.6s;
}
.page-anchor[data-scroll-type=down] {
  position: fixed;
  transform: translateY(-100%);
}
.page-anchor[data-scroll-type=up] {
  position: fixed;
}
.page-anchor__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media not all and (min-width: 768px) {
  .page-anchor__items {
    padding: 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .page-anchor__items {
    padding: 16px 8px;
  }
}
.page-anchor__item {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 9px 4px;
}
.page-anchor__item + .page-anchor__item {
  position: relative;
}
.page-anchor__item + .page-anchor__item::before {
  display: block;
  content: "";
  width: 1px;
  height: 50px;
  background-color: #C0DBFF;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.page-anchor__link {
  display: flex;
  gap: 4px;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  color: #2C2A29;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.3s;
  cursor: pointer;
}
@media (hover: hover) {
  .page-anchor__link:not(.is-disabled-hover):hover {
    opacity: 0.8;
  }
}
@media not all and (min-width: 768px) {
  .page-anchor__link {
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .page-anchor__link {
    font-size: 1rem;
  }
}
.page-anchor__link::before {
  flex-shrink: 0;
  content: "";
  background-color: #1F9DFF;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media not all and (min-width: 768px) {
  .page-anchor__link::before {
    width: 24px;
    height: 24px;
  }
}
@media print, screen and (min-width: 768px) {
  .page-anchor__link::before {
    width: 32px;
    height: 32px;
  }
}
.page-anchor__link--country::before {
  -webkit-mask-image: url("../images/top/icon/public.svg");
  mask-image: url("../images/top/icon/public.svg");
}
.page-anchor__link--visa::before {
  -webkit-mask-image: url("../images/top/icon/visa.svg");
  mask-image: url("../images/top/icon/visa.svg");
}
.page-anchor__link--flow::before {
  -webkit-mask-image: url("../images/top/icon/flow.svg");
  mask-image: url("../images/top/icon/flow.svg");
}
.page-anchor__link--faq::before {
  -webkit-mask-image: url("../images/top/icon/question.svg");
  mask-image: url("../images/top/icon/question.svg");
}

.notice-list {
  width: 100%;
  max-width: 640px;
  margin-inline: auto;
}
.notice-list__item + .notice-list__item {
  margin-top: 36px;
}
.notice-list__heading {
  font-size: 1rem;
  font-weight: bold;
}
.notice-list__contents {
  margin-top: 16px;
}
.notice-list__date {
  color: #697180;
}
@media not all and (min-width: 768px) {
  .notice-list__date {
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .notice-list__date {
    font-size: 0.875rem;
  }
}
.notice-list__text {
  margin-top: 8px;
}
@media not all and (min-width: 768px) {
  .notice-list__text {
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .notice-list__text {
    font-size: 0.875rem;
  }
}
.notice-list__link {
  color: #2C2A29;
  text-decoration: underline;
  transition: all 0.3s;
}
@media not all and (min-width: 768px) {
  .notice-list__link {
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .notice-list__link {
    font-size: 0.875rem;
  }
}
@media (hover: hover) {
  .notice-list__link:not(.is-disabled-hover):hover {
    opacity: 0.8;
    text-decoration: none;
  }
}

@media not all and (min-width: 768px) {
  .about-handling-country__text {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .about-handling-country__text {
    font-size: 1rem;
    text-align: center;
  }
}
.about-handling-country__list-anchors {
  display: grid;
  margin-top: 24px;
}
@media not all and (min-width: 768px) {
  .about-handling-country__list-anchors {
    gap: 16px;
    flex-direction: column;
  }
}
@media print, screen and (min-width: 768px) {
  .about-handling-country__list-anchors {
    gap: 40px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.about-handling-country__note {
  margin-top: 24px;
}

.country-list-anchor {
  display: grid;
  gap: 16px;
  align-items: center;
  text-decoration: none;
  background-color: #ffffff;
  filter: drop-shadow(0 0 8px rgba(31, 157, 255, 0.15));
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .country-list-anchor:not(.is-disabled-hover):hover {
    opacity: 0.8;
  }
}
@media not all and (min-width: 768px) {
  .country-list-anchor {
    grid-template-columns: 27px 1fr 16px;
    padding: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  .country-list-anchor {
    grid-template-columns: 34px 1fr 16px;
    padding: 24px;
  }
}
.country-list-anchor::before {
  content: "";
  background-color: #23C9AB;
  -webkit-mask-image: url("../images/top/icon/circle.svg");
  mask-image: url("../images/top/icon/circle.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  margin-inline: auto;
}
@media not all and (min-width: 768px) {
  .country-list-anchor::before {
    width: 27px;
    height: 27px;
  }
}
@media print, screen and (min-width: 768px) {
  .country-list-anchor::before {
    width: 34px;
    height: 34px;
  }
}
.country-list-anchor::after {
  content: "";
  width: 16px;
  height: 16px;
  background-color: #697180;
  -webkit-mask-image: url("../images/top/icon/caret-down.svg");
  mask-image: url("../images/top/icon/caret-down.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.country-list-anchor--no-handled::before {
  background-color: #DF0D00;
  -webkit-mask-image: url("../images/top/icon/cross.svg");
  mask-image: url("../images/top/icon/cross.svg");
}
@media not all and (min-width: 768px) {
  .country-list-anchor--no-handled::before {
    width: 18px;
    height: 18px;
  }
}
@media print, screen and (min-width: 768px) {
  .country-list-anchor--no-handled::before {
    width: 22px;
    height: 22px;
  }
}
.country-list-anchor__text {
  font-weight: bold;
  color: #2C2A29;
}
@media not all and (min-width: 768px) {
  .country-list-anchor__text {
    font-size: 1.25rem;
  }
}
@media print, screen and (min-width: 768px) {
  .country-list-anchor__text {
    font-size: 1.5rem;
  }
}
.country-list-anchor__text span {
  display: block;
}
@media not all and (min-width: 768px) {
  .country-list-anchor__text span {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .country-list-anchor__text span {
    font-size: 1rem;
  }
}

.country-served__definition-list {
  margin-top: 40px;
}
.country-served__heading {
  line-height: 1.3;
  font-weight: bold;
  color: #2C2A29;
}
@media not all and (min-width: 768px) {
  .country-served__heading {
    font-size: 1.125rem;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served__heading {
    font-size: 1.625rem;
  }
}
.country-served__heading + * {
  margin-top: 24px;
}
.country-served__contents, .country-served__note {
  margin-top: 40px;
}
.country-served__accordion, .country-served__table {
  margin-top: 24px;
}
@media not all and (min-width: 768px) {
  .country-served__note-text {
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served__note-text {
    font-size: 0.875rem;
  }
}

.country-served-navi-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media not all and (min-width: 768px) {
  .country-served-navi-list {
    justify-content: flex-start;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-navi-list {
    justify-content: center;
  }
}
.country-served-navi-list__item {
  display: inline-flex;
}
.country-served-navi-list__button {
  text-decoration: none;
  padding: 8px 16px;
  color: #2C2A29;
  background-color: #ffffff;
  border: 1px solid #C0C5CC;
  line-height: 1;
  border-radius: 100px;
  transition: all 0.3s;
  cursor: pointer;
}
@media not all and (min-width: 768px) {
  .country-served-navi-list__button {
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-navi-list__button {
    font-size: 0.875rem;
  }
}
@media (hover: hover) {
  .country-served-navi-list__button:not(.is-disabled-hover):hover {
    color: #140D77;
    background-color: #F0F7FF;
    border-color: #99c4fd;
  }
}
.country-served-navi-list__button.is-disabled {
  font-weight: normal;
  color: #939DAD !important;
  background-color: rgba(233, 236, 242, 0.7) !important;
  border-color: rgba(192, 197, 204, 0.7) !important;
  pointer-events: none;
}

.visa-definition-list__row + .visa-definition-list__row {
  margin-top: 10px;
}
.visa-definition-list__term {
  font-size: 0.875rem;
  font-weight: bold;
}
.visa-definition-list__description {
  font-size: 0.875rem;
  margin-top: 6px;
}

.country-served-accordion:not(:first-of-type) {
  margin-top: 24px;
}
.country-served-accordion:has(.country-served-accordion__trigger[aria-expanded=true]) + .country-served-accordion {
  margin-top: 40px;
}
.country-served-accordion__trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 8px;
  column-gap: 8px;
  width: 100%;
  font-weight: bold;
  padding: 16px 20px;
  line-height: 1.3;
  color: #2C2A29;
  background-color: #ffffff;
  border: none;
  box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: all 0.3s;
}
@media not all and (min-width: 768px) {
  .country-served-accordion__trigger {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-accordion__trigger {
    font-size: 1.25rem;
  }
}
.country-served-accordion__trigger::after {
  content: "";
  flex-shrink: 0;
  background-color: #697180;
  -webkit-mask-image: url("../images//top/icon/caret-down.svg");
  mask-image: url("../images//top/icon/caret-down.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media not all and (min-width: 768px) {
  .country-served-accordion__trigger::after {
    width: 12px;
    height: 12px;
    margin-right: 9px;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-accordion__trigger::after {
    width: 16px;
    height: 16px;
    margin-right: 7px;
  }
}
.country-served-accordion__trigger[aria-expanded=true]::after {
  transform: rotate(180deg);
}
@media (hover: hover) {
  .country-served-accordion__trigger:not(.is-disabled-hover):hover {
    background-color: #F0F7FF;
    color: #10069F;
  }
  .country-served-accordion__trigger:not(.is-disabled-hover):hover::after {
    background-color: #140D77;
  }
}
.country-served-accordion__panel {
  display: none;
  margin-top: 24px;
}

.country-served-table {
  width: 100%;
}
.country-served-table__heading, .country-served-table__data {
  padding: 16px;
  border: 1px solid #C0C5CC;
}
.country-served-table__heading {
  font-weight: normal;
  text-align: center;
  background-color: #F5F7FA;
  font-size: 0.875rem;
}
@media not all and (min-width: 768px) {
  .country-served-table__heading:nth-of-type(1) {
    width: 75px;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-table__heading:nth-of-type(1) {
    width: 90px;
  }
}
@media not all and (min-width: 768px) {
  .country-served-table__heading:nth-of-type(2) {
    width: calc(100% - 75px);
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-table__heading:nth-of-type(2) {
    width: calc(100% - 90px);
  }
}
.country-served-table__data {
  background-color: #ffffff;
}
.country-served-table__data:has(.country-served-table__flag) {
  padding-inline: 8px;
}
.country-served-table__flag {
  margin: auto auto 0;
}
@media not all and (min-width: 768px) {
  .country-served-table__flag {
    width: 24px;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-table__flag {
    width: 36px;
  }
}
.country-served-table__flag img {
  height: auto;
}
.country-served-table__name {
  font-weight: bold;
  margin-bottom: auto;
  text-align: center;
}
@media not all and (min-width: 768px) {
  .country-served-table__name {
    margin-top: 8px;
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-table__name {
    margin-top: 10px;
    font-size: 1rem;
  }
}
.country-served-table__country-note {
  font-size: 0.75rem;
  color: #697180;
}
@media not all and (min-width: 768px) {
  .country-served-table__country-note {
    margin-top: 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-table__country-note {
    margin-top: 10px;
  }
}

.country-served-visa-type {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 8px;
  column-gap: 8px;
}
.country-served-visa-type__title {
  display: block;
  font-weight: bold;
}
@media not all and (min-width: 768px) {
  .country-served-visa-type__title {
    font-size: 1rem;
    line-height: 1.8;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-visa-type__title {
    font-size: 1.25rem;
    line-height: 1.3;
  }
}
.country-served-visa-type__price {
  display: inline-block;
}
@media not all and (min-width: 768px) {
  .country-served-visa-type__price {
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-visa-type__price {
    font-size: 0.875rem;
    margin-top: 4px;
  }
}
.country-served-visa-type__note {
  color: #697180;
  margin-top: 8px;
}
@media not all and (min-width: 768px) {
  .country-served-visa-type__note {
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-visa-type__note {
    font-size: 0.875rem;
  }
}
.country-served-visa-type__button {
  display: grid;
  place-items: center;
  position: relative;
  z-index: 0;
  flex-shrink: 0;
  text-decoration: none;
  border: none;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(315deg, #00a3ff 0%, #0056D7 100%);
}
.country-served-visa-type__button::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #140D77;
  opacity: 0;
  transition: all 0.3s;
}
@media not all and (min-width: 768px) {
  .country-served-visa-type__button {
    width: 40px;
    height: 40px;
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .country-served-visa-type__button {
    width: 64px;
    height: 64px;
    font-size: 1rem;
  }
}
@media (hover: hover) {
  .country-served-visa-type__button:not(.is-disabled-hover):hover::after {
    opacity: 1;
  }
}

.no-handling-country__note {
  margin-top: 24px;
}

.no-country-list {
  display: grid;
}
@media not all and (min-width: 768px) {
  .no-country-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media print, screen and (min-width: 768px) {
  .no-country-list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.no-country-list__item {
  display: flex;
  gap: 8px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  border-left: 1px solid #C0C5CC;
  border-top: 1px solid #C0C5CC;
  border-bottom: 1px solid #C0C5CC;
  padding: 16px;
}
@media not all and (min-width: 768px) {
  .no-country-list__item:nth-of-type(n + 4) {
    border-top: none;
  }
  .no-country-list__item:nth-of-type(3n) {
    border-right: 1px solid #C0C5CC;
  }
  .no-country-list__item:last-of-type {
    border-right: 1px solid #C0C5CC;
  }
}
@media print, screen and (min-width: 768px) {
  .no-country-list__item:nth-of-type(n + 5) {
    border-top: none;
  }
  .no-country-list__item:nth-of-type(4n) {
    border-right: 1px solid #C0C5CC;
  }
  .no-country-list__item:last-of-type {
    border-right: 1px solid #C0C5CC;
  }
}
.no-country-list__thumb {
  flex-shrink: 0;
}
@media not all and (min-width: 768px) {
  .no-country-list__thumb {
    width: 24px;
  }
}
@media print, screen and (min-width: 768px) {
  .no-country-list__thumb {
    width: 36px;
  }
}
.no-country-list__thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
.no-country-list__name {
  text-align: center;
}
@media not all and (min-width: 768px) {
  .no-country-list__name {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .no-country-list__name {
    font-size: 1rem;
  }
}

.about-visa__image {
  border-radius: 8px;
  overflow: hidden;
}
@media not all and (min-width: 768px) {
  .about-visa__image {
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .about-visa__image {
    width: 100%;
    height: 223px;
  }
  .about-visa__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center 67%;
    object-position: center 67%;
  }
}
.about-visa__description {
  margin-top: 40px;
}
@media not all and (min-width: 768px) {
  .about-visa__description {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .about-visa__description {
    font-size: 1rem;
  }
}
.about-visa__summary-site {
  margin-top: 40px;
}

.summary-site {
  max-width: 764px;
  margin-inline: auto;
}
.summary-site__link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 8px;
  overflow: hidden;
  margin-inline: auto;
  cursor: pointer;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .summary-site__link:not(.is-disabled-hover):hover {
    opacity: 0.8;
  }
}
.summary-site__banner {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.summary-site__description {
  font-size: 0.875rem;
  margin-top: 16px;
}

.flow-arrow-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  background-color: #ACB5BF;
  border-radius: 50%;
}
.flow-arrow-icon::before {
  content: "";
  width: 11px;
  height: 11px;
  background-color: #ffffff;
  -webkit-mask-image: url("../images/top/icon/arrow-down.svg");
  mask-image: url("../images/top/icon/arrow-down.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.flow-arrow-icon--right-lower::before {
  transform: rotate(-45deg);
}
.flow-arrow-icon--left-lower::before {
  transform: rotate(45deg);
}

.flow-table__title {
  font-weight: bold;
  background-color: #E9ECF2;
  padding: 16px;
}
@media not all and (min-width: 768px) {
  .flow-table__title {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .flow-table__title {
    font-size: 1.25rem;
  }
}
.flow-table__row {
  background-color: #F5F7FA;
  border: 1px solid #C0C5CC;
}
.flow-table__heading {
  font-weight: bold;
  padding: 16px;
  position: relative;
}
@media not all and (min-width: 768px) {
  .flow-table__heading {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .flow-table__heading {
    font-size: 1rem;
  }
}
.flow-table__heading:first-of-type {
  font-size: 0.875rem;
}
.flow-table__heading:nth-of-type(2) {
  color: #ffffff;
  background-color: #23C9AB;
}
.flow-table__heading:nth-of-type(3) {
  color: #ffffff;
  background-color: #10069F;
}
.flow-table__data {
  width: 50%;
  border-left: 1px solid #C0C5CC;
  padding: 16px;
  position: relative;
}
@media not all and (min-width: 768px) {
  .flow-table__data {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .flow-table__data {
    font-size: 1rem;
  }
}
.flow-table__data:not(:empty):first-of-type {
  background-color: #EAFFFA;
}
.flow-table__data:not(:empty):nth-of-type(2) {
  background-color: #E0EDFF;
}
.flow-table__arrow-icon {
  position: absolute;
  bottom: -13px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.flow-table__arrow-icon--right-lower {
  left: auto;
  right: -13px;
  transform: translateX(0);
}
.flow-table__arrow-icon--left-lower {
  left: -13px;
  transform: translateX(0);
}
.flow-table__link {
  color: #2C2A29;
  text-decoration: underline;
  transition: all 0.3s;
  cursor: pointer;
}
@media (hover: hover) {
  .flow-table__link:not(.is-disabled-hover):hover {
    text-decoration: none;
    opacity: 0.8;
  }
}

.visa-application__text {
  font-size: 1rem;
  color: #ffffff;
}
.visa-application__checklist {
  margin-top: 24px;
}
.visa-application__flow-tab {
  padding-top: 128px;
  position: relative;
}
.visa-application__flow-tab::before {
  display: block;
  content: "";
  width: 40px;
  height: 40px;
  background-color: #ffffff;
  -webkit-mask-image: url("../images/top/icon/arrow-down.svg");
  mask-image: url("../images/top/icon/arrow-down.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  position: absolute;
  top: 34px;
  left: 50%;
  transform: translateX(-50%);
}

.visa-application-checklist__item {
  display: grid;
  gap: 6px 16px;
  grid-template-areas: "number heading" "number text";
  grid-template-columns: auto 1fr;
  border: 1px solid #ffffff;
  padding: 16px;
}
.visa-application-checklist__item + .visa-application-checklist__item {
  margin-top: 16px;
}
.visa-application-checklist__item::before {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-area: number;
  align-self: center;
  content: "";
  background-color: #ffffff;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media not all and (min-width: 768px) {
  .visa-application-checklist__item::before {
    width: 32px;
    height: 32px;
  }
}
@media print, screen and (min-width: 768px) {
  .visa-application-checklist__item::before {
    width: 40px;
    height: 40px;
  }
}
.visa-application-checklist__item:first-of-type::before {
  -webkit-mask-image: url("../images/top/icon/counter_01.svg");
  mask-image: url("../images/top/icon/counter_01.svg");
}
.visa-application-checklist__item:nth-of-type(2):before {
  -webkit-mask-image: url("../images/top/icon/counter_02.svg");
  mask-image: url("../images/top/icon/counter_02.svg");
}
.visa-application-checklist__item:nth-of-type(3)::before {
  -webkit-mask-image: url("../images/top/icon/counter_03.svg");
  mask-image: url("../images/top/icon/counter_03.svg");
}
.visa-application-checklist__heading {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: heading;
  font-weight: bold;
  color: #ffffff;
}
.visa-application-checklist__item > .visa-application-checklist__heading {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
@media not all and (min-width: 768px) {
  .visa-application-checklist__heading {
    font-size: 1.25rem;
  }
}
@media print, screen and (min-width: 768px) {
  .visa-application-checklist__heading {
    font-size: 1.5rem;
  }
}
.visa-application-checklist__text {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: text;
  color: #ffffff;
}
@media not all and (min-width: 768px) {
  .visa-application-checklist__text {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .visa-application-checklist__text {
    font-size: 1rem;
  }
}
.visa-application-checklist__text--link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: underline;
  transition: all 0.3s;
  cursor: pointer;
}
@media (hover: hover) {
  .visa-application-checklist__text--link:not(.is-disabled-hover):hover {
    text-decoration: none;
    opacity: 0.8;
  }
}

.flow-tab-buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.flow-tab-buttons__button {
  color: #ffffff;
  font-weight: bold;
  background-color: transparent;
  border: none;
  border-bottom: 4px solid rgba(255, 255, 255, 0.5);
  transition: all 0.3s;
  cursor: pointer;
}
@media (hover: hover) {
  .flow-tab-buttons__button:not(.is-disabled-hover):hover {
    color: #140D77;
    border-color: rgba(224, 237, 255, 0.5);
  }
}
@media not all and (min-width: 768px) {
  .flow-tab-buttons__button {
    font-size: 0.875rem;
    padding-bottom: 26px;
  }
}
@media print, screen and (min-width: 768px) {
  .flow-tab-buttons__button {
    font-size: 1.125rem;
    padding-bottom: 13px;
  }
}
.flow-tab-buttons__button[aria-selected=true] {
  border-color: #ffffff;
  cursor: auto;
}
@media (hover: hover) {
  .flow-tab-buttons__button[aria-selected=true]:not(.is-disabled-hover):hover {
    color: #ffffff;
    border-color: #ffffff;
  }
}

.flow-tab-contents__item {
  display: none;
}
@media not all and (min-width: 768px) {
  .flow-tab-contents__item {
    margin-top: 24px;
  }
}
@media print, screen and (min-width: 768px) {
  .flow-tab-contents__item {
    margin-top: 40px;
  }
}
.flow-tab-contents__item[aria-hidden=false] {
  display: block;
}
.flow-tab-contents__heading {
  color: #ffffff;
  font-weight: bold;
  text-align: center;
}
@media not all and (min-width: 768px) {
  .flow-tab-contents__heading {
    font-size: 1.25rem;
  }
}
@media print, screen and (min-width: 768px) {
  .flow-tab-contents__heading {
    font-size: 1.5rem;
  }
}
@media not all and (min-width: 768px) {
  .flow-tab-contents__table {
    margin-top: 24px;
  }
}
@media print, screen and (min-width: 768px) {
  .flow-tab-contents__table {
    margin-top: 40px;
  }
}
@media not all and (min-width: 768px) {
  .flow-tab-contents__table + .flow-tab-contents__table {
    margin-top: 24px;
  }
}
@media print, screen and (min-width: 768px) {
  .flow-tab-contents__table + .flow-tab-contents__table {
    margin-top: 40px;
  }
}
.flow-tab-contents__note {
  margin-top: 24px;
}

.visa-center {
  display: grid;
}
@media not all and (min-width: 768px) {
  .visa-center {
    gap: 24px;
    grid-template-areas: "image" "info-list" "table";
  }
}
@media print, screen and (min-width: 768px) {
  .visa-center {
    gap: 40px;
    grid-template-areas: "image info-list" "table table";
    grid-template-columns: repeat(2, 1fr);
  }
}
.visa-center__image {
  grid-area: image;
  border-radius: 8px;
  overflow: hidden;
}
.visa-center__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
.visa-center__info-list {
  grid-area: info-list;
}
.visa-center__table {
  grid-area: table;
}
@media not all and (min-width: 768px){
  .visa-center__image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .visa-center__info-list {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .visa-center__table {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
}
@media print, screen and (min-width: 768px){
  .visa-center__image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .visa-center__info-list {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .visa-center__table {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}
@media not all and (min-width: 768px) {
  .visa-center__table {
    scroll-margin-top: 24px;
  }
}
@media print, screen and (min-width: 768px) {
  .visa-center__table {
    scroll-margin-top: 40px;
  }
}

.visa-center-table__row {
  border: 1px solid #C0C5CC;
}
.visa-center-table__heading {
  width: 100px;
  font-size: 0.875rem;
  font-weight: bold;
  background-color: #F5F7FA;
  padding: 16px;
}
.visa-center-table__data {
  font-size: 0.875rem;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  background-color: #ffffff;
  border-left: 1px solid #C0C5CC;
  padding: 16px;
}

.precautions__heading {
  font-weight: bold;
}
@media not all and (min-width: 768px) {
  .precautions__heading {
    line-height: 1.3;
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .precautions__heading {
    line-height: 1.8;
    font-size: 1.625rem;
  }
}
@media not all and (min-width: 768px) {
  .precautions__lead-text, .precautions__accordion-contents {
    margin-top: 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .precautions__lead-text, .precautions__accordion-contents {
    margin-top: 24px;
  }
}
.precautions__accordion-contents + .precautions__heading {
  margin-top: 40px;
}
.precautions__accordion-contents:last-of-type {
  padding-bottom: 10px;
}
.precautions__lead-text {
  font-size: 0.875rem;
}
.precautions__lead-text + .precautions__accordion-contents {
  margin-top: 24px;
}
.precautions__emphasis-text {
  font-weight: bold;
}

.precautions-accordion {
  box-shadow: 0 0 8px rgba(31, 157, 255, 0.15);
  border-radius: 8px;
  overflow: hidden;
}
.precautions-accordion + .precautions-accordion {
  margin-top: 16px;
}
.precautions-accordion__trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 8px;
  column-gap: 8px;
  width: 100%;
  line-height: 1.5;
  font-weight: bold;
  color: #2C2A29;
  text-align: left;
  padding: 16px;
  border: none;
  background-color: #ffffff;
  transition: all 0.3s;
  cursor: pointer;
}
.precautions-accordion__trigger[aria-expanded=true] {
  background-color: #E9ECF2;
}
@media not all and (min-width: 768px) {
  .precautions-accordion__trigger {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .precautions-accordion__trigger {
    font-size: 1.25rem;
  }
}
@media (hover: hover) {
  .precautions-accordion__trigger:not(.is-disabled-hover):hover {
    background-color: #F0F7FF;
    color: #10069F;
  }
  .precautions-accordion__trigger:not(.is-disabled-hover):hover::after {
    background-color: #140D77;
  }
}
.precautions-accordion__trigger::after {
  content: "";
  flex-shrink: 0;
  background-color: #697180;
  -webkit-mask-image: url("../images//top/icon/caret-down.svg");
  mask-image: url("../images//top/icon/caret-down.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color 0.3s;
}
@media not all and (min-width: 768px) {
  .precautions-accordion__trigger::after {
    width: 10px;
    height: 10px;
    margin-right: 5px;
  }
}
@media print, screen and (min-width: 768px) {
  .precautions-accordion__trigger::after {
    width: 12px;
    height: 12px;
    margin-right: 7px;
  }
}
.precautions-accordion__trigger[aria-expanded=true]::after {
  transform: rotate(180deg);
}
.precautions-accordion__panel {
  display: none;
  padding: 16px;
  background-color: #ffffff;
}
@media not all and (min-width: 768px) {
  .precautions-accordion__panel {
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .precautions-accordion__panel {
    font-size: 1rem;
  }
}

@media not all and (min-width: 768px) {
  .precautions-contents {
    line-height: 1.5;
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .precautions-contents {
    line-height: 1.8;
    font-size: 1rem;
  }
}
@media not all and (min-width: 768px) {
  .precautions-contents__text, .precautions-contents__item {
    margin-top: 1.5rem;
  }
}
@media print, screen and (min-width: 768px) {
  .precautions-contents__text, .precautions-contents__item {
    margin-top: 1.8rem;
  }
}
.precautions-contents__text:first-child, .precautions-contents__item:first-child {
  margin-top: 0;
}
.precautions-contents__text--bold {
  font-weight: bold;
}
.precautions-contents__link {
  color: #2C2A29;
  font-weight: bold;
  text-decoration: underline;
  transition: all 0.3s;
}
@media (hover: hover) {
  .precautions-contents__link:not(.is-disabled-hover):hover {
    opacity: 0.8;
    text-decoration: none;
  }
}
.precautions-contents__item {
  text-indent: -1rem;
  padding-left: 1rem;
}
.precautions-contents__item::before {
  content: "・";
}

.faq-list__row {
  margin-top: -8px;
}
@media not all and (min-width: 768px) {
  .faq-list__row + .faq-list__row {
    margin-top: 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .faq-list__row + .faq-list__row {
    margin-top: 12px;
  }
}
.faq-list__button {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  font-weight: bold;
  font-size: 1rem;
  padding-inline: 0;
  text-align: left;
  color: #2C2A29;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all 0.3s;
}
@media not all and (min-width: 768px) {
  .faq-list__button {
    padding-block: 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .faq-list__button {
    padding-block: 12px;
  }
}
@media (hover: hover) {
  .faq-list__button:not(.is-disabled-hover):hover {
    opacity: 0.7;
  }
}
.faq-list__button::before {
  flex-shrink: 0;
  content: "Q";
  color: #66A4F9;
  margin-top: -2px;
}
.faq-list__button::after {
  content: "";
  flex-shrink: 0;
  width: 12px;
  height: 18px;
  margin-left: auto;
  background-color: #697180;
  -webkit-mask-image: url("../images//top/icon/caret-down.svg");
  mask-image: url("../images//top/icon/caret-down.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color 0.3s;
}
@media not all and (min-width: 768px) {
  .faq-list__button::after {
    margin-right: 12px;
  }
}
@media print, screen and (min-width: 768px) {
  .faq-list__button::after {
    margin-right: 23px;
  }
}
.faq-list__button[aria-expanded=true]::after {
  transform: rotate(180deg);
}
.faq-list__description {
  display: none;
  font-size: 0.875rem;
  background-color: #ffffff;
  padding: 16px;
}

.related-services-list {
  display: grid;
  align-items: center;
}
@media not all and (min-width: 768px) {
  .related-services-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  .related-services-list {
    grid-template-columns: repeat(5, 1fr);
    gap: 24px;
  }
}
.related-services-list__link {
  text-decoration: none;
  display: flex;
  align-items: center;
  -moz-column-gap: 8px;
  column-gap: 8px;
}
@media (hover: hover) {
  .related-services-list__link:not(.is-disabled-hover):hover .related-services-list__image img {
    opacity: 0.7;
  }
  .related-services-list__link:not(.is-disabled-hover):hover .related-services-list__text {
    color: #140D77;
    text-decoration: underline;
  }
}
.related-services-list__image {
  flex-shrink: 0;
  width: 62px;
  height: 62px;
}
.related-services-list__image img {
  transition: opacity 0.3s;
}
.related-services-list__text {
  font-weight: bold;
  color: #2C2A29;
  transition: all 0.3s;
}
@media not all and (min-width: 768px) {
  .related-services-list__text {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .related-services-list__text {
    font-size: 1rem;
  }
}
@media not all and (min-width: 768px) {
  .related-services-list__sub-text {
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .related-services-list__sub-text {
    font-size: 0.875rem;
  }
}

.visa-page-top {
  display: none;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 200;
}
.visa-page-top__link {
  display: block;
}
@media not all and (min-width: 768px) {
  .visa-page-top__link {
    border-radius: 12px;
  }
}
@media print, screen and (min-width: 768px) {
  .visa-page-top__link {
    border-radius: 50%;
  }
}
.visa-page-top__image {
  display: inline-block;
  pointer-events: none;
}
@media not all and (min-width: 768px) {
  .visa-page-top__image {
    width: 54px;
    height: 49px;
  }
}
@media print, screen and (min-width: 768px) {
  .visa-page-top__image {
    width: 110px;
    height: 110px;
  }
}

.esta-application {
  max-width: 640px;
  margin-inline: auto;
}
@media print, screen and (min-width: 768px) {
  .esta-application__text {
    font-size: 0.875rem;
  }
}
@media not all and (min-width: 768px) {
  .esta-application__text {
    font-size: 0.75rem;
  }
}
.esta-application__text + .esta-application__item {
  margin-top: 24px;
}
.esta-application__item {
  border: 1px solid #C0C5CC;
  background-color: #ffffff;
  padding: 16px 24px;
}
.esta-application__item + .esta-application__item {
  margin-top: 16px;
}
.esta-application__heading {
  font-size: 0.875rem;
  font-weight: bold;
  text-align: center;
}
.esta-application__image {
  text-align: center;
  margin-top: 8px;
}
.esta-application__list {
  font-size: 1rem;
  font-weight: bold;
  margin-top: 8px;
}

.input-form__item + .input-form__item {
  margin-top: 8px;
}
@media print, screen and (min-width: 768px) {
  .input-form__item {
    max-width: 400px;
    margin-inline: auto;
  }
}
.input-form__heading {
  font-size: 0.875rem;
  font-weight: bold;
}
.input-form__heading--required {
  display: inline-flex;
  gap: 4px;
  align-items: center;
}
.input-form__heading--required::after {
  content: "必須";
  font-size: 0.75rem;
  color: #DF0D00;
  border-radius: 4px;
  background-color: #FFF7F7;
  padding: 2px 8px;
  line-height: 1;
}
.input-form__form {
  margin-top: 4px;
}
.input-form__button {
  max-width: 256px;
  margin: 16px auto 0;
}
@media print, screen and (min-width: 768px) {
  .input-form__button {
    margin-top: 30px;
  }
}
.input-form__button:disabled {
  opacity: 0.5;
  cursor: default;
}
.input-form__error-text {
  display: none;
  font-size: 0.875rem;
  color: #DF0D00;
}
.input-form__error-text.is-show {
  display: block;
}

@media print, screen and (min-width: 768px) {
  .calendar-modal {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    min-height: 346px;
  }
}

@media not all and (min-width: 768px) {
  .calendar ul button {
    display: none;
  }
}

.GFJU2szBYDH0c7_l5f6c.lMyS6Gjkb7jkzpcvVijI {
  pointer-events: none;
}

.application-confirm__total-price {
  margin-top: 24px;
}
.application-confirm__button {
  max-width: 256px;
  margin: 24px auto 0;
}
@media print, screen and (min-width: 768px) {
  .application-confirm__button {
    margin-top: 30px;
  }
}
.application-confirm__change-button {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 0.875rem;
  color: #2C2A29;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  border: 1px solid #939DAD;
  border-radius: 100px;
  background-color: #ffffff;
  padding: 11px 16px;
  margin: 40px auto 0;
  cursor: pointer;
  transition: all 0.3s;
}
@media (hover: hover) {
  .application-confirm__change-button:not(.is-disabled-hover):hover {
    color: #10069F;
    border-color: #9EC5F1;
    background-color: #F0F7FF;
  }
}

.application-confirm-table {
  width: 100%;
  border: 1px solid #C0C5CC;
}
.application-confirm-table__row + .application-confirm-table__row {
  border-top: 1px solid #C0C5CC;
}
.application-confirm-table__heading {
  width: 32.8358208955%;
  font-size: 0.875rem;
  font-weight: bold;
  background-color: #F5F7FA;
  padding: 8px;
}
.application-confirm-table__data {
  width: 67.1641791045%;
  font-size: 0.875rem;
  background-color: #ffffff;
  padding: 8px 16px;
}

.total-price__price {
  display: flex;
  gap: 4px;
  justify-content: flex-end;
  align-items: flex-end;
  font-size: 2rem;
  color: #DF0D00;
  font-weight: bold;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
.total-price__price::before, .total-price__price::after {
  flex-shrink: 0;
  font-size: 1rem;
  margin-bottom: 5px;
}
.total-price__price::before {
  content: "合計金額";
}
.total-price__price::after {
  content: "円";
}
.total-price__price-note {
  font-size: 0.75rem;
  color: #697180;
  text-align: right;
}