@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Sans+Mongolian&family=Noto+Sans+SC:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');
body {
  font-family: 'Noto Sans', sans-serif;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
.gpass-ios,
.gpass-ios * {
  box-sizing: border-box;
}
.gpass-ios {
  background: var(--surface-primay, #ffffff);
  display: flex;
  flex-direction: column;
  gap: 0px;
  align-items: center;
  justify-content: space-between;
  width: fit-content;
  min-width: 100vw;
  position: relative;
}
.frame-625014 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  align-self: stretch;
  flex: 1;
  position: relative;
}
.contents {
  align-self: stretch;
  align-items: center;
  flex-shrink: 0;
  position: relative;
}
.paragraph {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  justify-content: flex-start;
  width: 343px;
  margin: 0 auto;
  top: 20px;
}
.navigation-top {
  background: var(--surface-primary, #ffffff);
  flex-shrink: 0;
  width: 375px;
  height: 48px;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}
.right-action-group {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  position: absolute;
  right: 12px;
  top: 50%;
  translate: 0 -50%;
}
.right-action-globe {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.action {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  position: relative;
  overflow: hidden;
}
.globe {
  width: 26px;
  height: 26px;
  position: absolute;
  left: 5px;
  top: 5px;
  overflow: visible;
}
.title {
  color: var(--text-primary, #2c302e);
  text-align: left;
  font-size: var(--display-m-font-size, 26px);
  line-height: var(--display-m-line-height, 150%);
  letter-spacing: var(--display-m-letter-spacing, 0.02em);
  font-weight: 700;
  position: relative;
  align-self: stretch;
}
.section {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  width: 343px;
  margin: 0 auto;
  gap: 16px;
}
.step-2 {
  background: var(--primary-fpass-pale, #e8ecfb);
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.frame-625010 {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.frame-6250102 {
  background: var(--primary-base, #1942d7);
  border-radius: 13px;
  padding: 0px 8px 2px 8px;
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  position: relative;
}
._1 {
  color: var(--text-contrast, #ffffff);
  text-align: left;
  font-size: var(--heading-h2-font-size, 16px);
  line-height: var(--heading-h2-line-height, 150%);
  letter-spacing: var(--heading-h2-letter-spacing, 0.005em);
  font-weight: 700;
  position: relative;
}
.gpass {
  color: var(--primary-base, #1942d7);
  text-align: left;
  font-size: var(--heading-h2-font-size, 16px);
  line-height: var(--heading-h2-line-height, 150%);
  letter-spacing: var(--heading-h2-letter-spacing, 0.005em);
  font-weight: 700;
  position: relative;
  flex: 1;
}
.frame-625013 {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.illust {
  padding: 4px;
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  height: 74px;
  position: relative;
  overflow: hidden;
}
.frame-625011 {
  flex-shrink: 0;
  width: 300px;
  height: 100px;
  position: relative;
  overflow: hidden;
}
.mobile {
  width: 100%;
  height: 100%;
  position: absolute;
  right: 1.72%;
  left: 2.83%;
  bottom: -50%;
  top: 0%;
  overflow: visible;
}
.frame-625008 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.text {
  color: var(--text-secondary, #545454);
  text-align: left;
  font-size: var(--m-body-font-size, 14px);
  line-height: var(--m-body-line-height, 150%);
  font-weight: 400;
  position: relative;
  align-self: stretch;
}
._2 {
  color: var(--text-contrast, #ffffff);
  text-align: left;
  font-size: var(--heading-h2-font-size, 16px);
  line-height: var(--heading-h2-line-height, 150%);
  letter-spacing: var(--heading-h2-letter-spacing, 0.005em);
  font-weight: 700;
  position: relative;
}
.illust2 {
  padding: 4px;
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.app-store-icon {
  border-radius: 12.12px;
  flex-shrink: 0;
  width: 300px;
  height: 100px;
  position: relative;
  overflow: hidden;
}
.fpass-ios-icon-app-60-2-x {
  background: #ffffff;
  width: 55.93px;
  height: 55.93px;
  position: absolute;
  left: -0.47px;
  top: -0.47px;
  overflow: hidden;
}
.gpass-icon-background {
  background: #0a3df5;
  width: 55.93px;
  height: 55.93px;
  position: absolute;
  left: 50%;
  translate: -50% -50%;
  top: 50%;
  overflow: hidden;
}
.gpass-icon-logo-ios {
  width: 55.93px;
  height: 55.93px;
  position: absolute;
  left: 50%;
  translate: -50% -50%;
  top: 50%;
  overflow: visible;
}
.frame-625012 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: 343px;
  margin: 0 auto;
}
.button-primary {
  background: var(--primary-base, #1942d7);
  border-radius: 10px;
  padding: 16px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  height: 48px;
  position: relative;
}
.div {
  color: var(--body-contrast, #ffffff);
  text-align: center;
  font-size: var(--button-font-size, 16px);
  line-height: var(--button-line-height, 150%);
  letter-spacing: var(--button-letter-spacing, 0.015em);
  font-weight: 700;
  position: relative;
  align-self: stretch;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tab-bar-safari {
  background: var(--ios-systemcolor-ffffff-80, rgba(255, 255, 255, 0.8));
  padding: 10px 0px 0px 0px;
  display: flex;
  flex-direction: column;
  gap: 0px;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
  width: 375px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
}
.tabs {
  align-self: stretch;
  flex-shrink: 0;
  height: 49px;
  position: relative;
  overflow: hidden;
}
.tab-bar-item {
  width: 75px;
  height: 49px;
  position: absolute;
  left: calc(50% - 187.5px);
  top: 0px;
  overflow: visible;
}
.tab-bar-item2 {
  width: 75px;
  height: 49px;
  position: absolute;
  left: calc(50% - 112.5px);
  top: 0px;
  overflow: visible;
}
.tab-bar-item3 {
  width: 75px;
  height: 49px;
  position: absolute;
  left: 50%;
  translate: -50%;
  top: 0px;
  overflow: visible;
}
.tab-bar-item4 {
  width: 75px;
  height: 49px;
  position: absolute;
  left: calc(50% - -37.5px);
  top: 0px;
  overflow: visible;
}
.tab-bar-item5 {
  width: 75px;
  height: 49px;
  position: absolute;
  left: calc(50% - -112.5px);
  top: 0px;
  overflow: visible;
}
.home-indicator {
  align-self: stretch;
  flex-shrink: 0;
  height: 34px;
  position: relative;
}
.home-indicator2 {
  background: var(--ios-systemcolor-000000, #000000);
  border-radius: 100px;
  width: 134px;
  height: 5px;
  position: absolute;
  left: 50%;
  translate: -50%;
  bottom: 8px;
}
.text2 {
  color: var(--text-caption, #888888);
  text-align: center;
  font-size: var(--s-body-font-size, 12px);
  line-height: var(--s-body-line-height, 150%);
  font-weight: 400;
  position: relative;
  align-self: stretch;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.white-space {
  height: 20px;
}
.white-space2 {
  height: 10px;
}
.radio-group-wrapper {
  display: flex;
  justify-content: center;
  width: fit-content;
  position: relative;
  left: 40px;
  right: 40px;
}
.radio-group {
  display: inline-block;
  text-align: left;
}
.radio-item {
  height: 40px;
}