@charset "UTF-8";
html {
  font-size: 1.0666666667vw;
}
@media (min-width: 1250px) and (max-width: 1500px) {
  html {
    font-size: 16px;
  }
}
@media (min-width: 768px) and (max-width: 1250px) {
  html {
    font-size: 1.0666666667vw;
  }
}
@media (min-width: 390px) and (max-width: 768px) {
  html {
    font-size: 14px;
  }
}
@media (max-width: 389.98px) {
  html {
    font-size: 3.5897435897vw;
  }
}

@media (max-width: 768px) {
  .sp_none {
    display: none;
  }
}

@media (min-width: 768px) {
  .pc_none {
    display: none;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #000;
}
@media (max-width: 1300px) {
  body {
    overflow-x: hidden;
  }
}
@media (max-width: 768px) {
  body {
    font-size: 1.1428571429rem;
  }
}

:target {
  scroll-margin-top: 100px;
}
@media (max-width: 1300px) {
  :target {
    scroll-margin-top: 70px;
  }
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

img {
  display: block;
  width: 100%;
}

a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}
@media (max-width: 768px) {
  a[href*="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
}

@media (max-width: 768px) {
  a.fax[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

.inner {
  position: relative;
  width: 100%;
  max-width: 81.25rem;
  padding: 0 1.5625rem;
  margin: auto;
}
@media (max-width: 768px) {
  .inner {
    max-width: 42.8571428571rem;
    padding: 0 1.1428571429rem;
  }
}

.btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 21.875rem;
  width: 100%;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 100%;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2rem 2.3125rem;
  border-radius: 3.125rem;
  background-color: #FF3C40;
}
@media (max-width: 768px) {
  .btn {
    max-width: 17.8571428571rem;
    font-size: 1rem;
    padding: 1.4285714286rem;
  }
}

@media (min-width: 768px) {
  .btn:hover {
    background-color: #0098DF;
  }
}

.btn::after {
  content: "";
  position: absolute;
  display: block;
  width: 0.5625rem;
  height: 1rem;
  background: url(../images/common/btn_arrow_rightWhite.webp) no-repeat center center/contain;
  -webkit-transition: 0.35s;
  transition: 0.35s;
  top: 0;
  right: 1.5rem;
  bottom: 0;
  margin: auto 0;
}
@media (max-width: 768px) {
  .btn::after {
    width: 2rem;
    height: 0.4285714286rem;
  }
}

@media (min-width: 768px) {
  .btn:hover::after {
    right: 1.1875rem;
  }
}

.btn span {
  position: relative;
  z-index: 1;
}

.btn_center .btn {
  margin: 0 auto;
}

.text_link {
  display: inline-block;
}

.text_link::after {
  content: "";
  display: block;
  width: 0;
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
  border-bottom: 1px solid #0098DF;
  margin: auto;
}

@media (min-width: 768px) {
  .text_link:hover::after {
    width: 100%;
  }
}

.body.is_open {
  overflow: hidden;
}

/* Fade Up Animation（共通・使い回し用）
   単体: 要素に "js-fade_up" を付けるとその要素単体が画面内でフェードアップ
   グループ: 親に "js-fade_up_group"、子に "js-fade_up_item" を付けると
             子要素が順番にフェードアップ（transition-delayで最大5個まで対応）
------------------------------ */
.js-fade_up,
.js-fade_up_item {
  opacity: 0;
  -webkit-transform: translateY(1.875rem);
          transform: translateY(1.875rem);
  -webkit-transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out;
}

.js-fade_up.is_view {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.js-fade_up_group.is_view .js-fade_up_item {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.js-fade_up_group.is_view .js-fade_up_item:nth-child(2) {
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}

.js-fade_up_group.is_view .js-fade_up_item:nth-child(3) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.js-fade_up_group.is_view .js-fade_up_item:nth-child(4) {
  -webkit-transition-delay: 0.45s;
          transition-delay: 0.45s;
}

.js-fade_up_group.is_view .js-fade_up_item:nth-child(5) {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

/* Header
------------------------------ */
.header {
  position: fixed;
  width: 100%;
  min-height: 8.125rem;
  z-index: 11;
  top: 0;
}
@media (max-width: 1300px) {
  .header {
    min-height: 6.25rem;
  }
}
@media (max-width: 768px) {
  .header {
    min-height: unset;
  }
}

@media (min-width: 768px) {
  .customize-support .header {
    top: 32px;
  }
}
@media (max-width: 768px) {
  .customize-support .header {
    top: 46px;
  }
}

@media (min-width: 768px) {
  .header_inner {
    max-width: unset;
  }
}
@media (max-width: 768px) {
  .header_inner {
    max-width: unset;
  }
}

/* //header_list_modal */
.header_hamburger {
  position: fixed;
  display: block;
  right: 2rem;
  top: 2rem;
  z-index: 999;
  width: 6.875rem;
  height: 6.875rem;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 50%;
  background-color: #fff;
  -webkit-box-shadow: 0 0 0.9375rem rgba(0, 152, 223, 0.8);
          box-shadow: 0 0 0.9375rem rgba(0, 152, 223, 0.8);
  -webkit-animation: HMEnter 0.3s ease-out 3.5s forwards;
          animation: HMEnter 0.3s ease-out 3.5s forwards;
  opacity: 0;
}
@media (max-width: 768px) {
  .header_hamburger {
    width: 4.2857142857rem;
    height: 4.2857142857rem;
    top: 1.1428571429rem;
    right: 1.1428571429rem;
  }
}

@media (min-width: 768px) {
  .customize-support .header_hamburger {
    top: 4rem;
  }
}

.header_hamburger_bar {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 2.6875rem;
  height: 0.1875rem;
  background-color: #0098DF;
  border-radius: 0.1875rem;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (max-width: 768px) {
  .header_hamburger_bar {
    width: 25px;
    height: 2px;
  }
}

.header_hamburger_bar:nth-of-type(1) {
  top: -1rem;
}
@media (max-width: 768px) {
  .header_hamburger_bar:nth-of-type(1) {
    top: -0.5714285714rem;
  }
}

.header_hamburger_bar:nth-of-type(2) {
  top: -0.375rem;
}
@media (max-width: 768px) {
  .header_hamburger_bar:nth-of-type(2) {
    top: -0.1428571429rem;
  }
}

.header_hamburger_bar:nth-of-type(3) {
  top: 0.25rem;
}
@media (max-width: 768px) {
  .header_hamburger_bar:nth-of-type(3) {
    top: 0.2142857143rem;
  }
}

.header_hamburger.is_open .header_hamburger_bar:nth-of-type(1) {
  top: -0.25rem;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}
@media (max-width: 768px) {
  .header_hamburger.is_open .header_hamburger_bar:nth-of-type(1) {
    top: -0.3571428571rem;
  }
}

.header_hamburger.is_open .header_hamburger_bar:nth-of-type(2) {
  opacity: 0;
}

.header_hamburger.is_open .header_hamburger_bar:nth-of-type(3) {
  top: -0.75rem;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}

.header_hamburger_name {
  position: absolute;
  width: 100%;
  color: #0098DF;
  font-size: 1.5rem;
  font-family: "Grape Nuts", sans-serif;
  text-align: center;
  line-height: 100%;
  left: 0;
  right: 0;
  bottom: 1rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .header_hamburger_name {
    font-size: 1.2857142857rem;
    bottom: 0.5714285714rem;
  }
}

.header_drawer {
  padding: 70px 0 30px;
  display: none;
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  scrollbar-width: none;
  background-color: rgba(255, 255, 255, 0.5);
}

.header_drawer::-webkit-scrollbar {
  display: none;
}

@media (max-width: 768px) {
  .header_fixed .header_drawer {
    top: 4.2857142857rem;
  }
}

.header_drawer_nav {
  position: absolute;
  display: block;
  padding: 5% 10% 5% 5%;
  width: 75%;
  height: 100vh;
  top: 0;
  right: 0;
  background-color: #E3F8FF;
  overflow-y: scroll;
}
@media (max-width: 768px) {
  .header_drawer_nav {
    padding-top: 7.1428571429rem;
  }
}

.header_drawer_list {
  position: relative;
}

.header_drawer_list_link {
  color: #767676;
  font-size: 1.375rem;
  font-family: "Zen Maru Gothic", sans-serif;
  padding: 1rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1rem;
  font-weight: 700;
  line-height: 1;
  border-bottom: 1px solid #0098DF;
}
@media (max-width: 768px) {
  .header_drawer_list_link {
    font-size: 1.0714285714rem;
    padding: 1.0714285714rem 0.7142857143rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media (min-width: 768px) {
  .header_drawer_list_link:hover {
    color: #000;
  }
}

.header_drawer_list_link_en {
  color: #0098DF;
  font-size: 1.25rem;
  font-family: "Grape Nuts", sans-serif;
}
@media (max-width: 768px) {
  .header_drawer_list_link_en {
    display: none;
  }
}

.header_drawer_list_link_toggle {
  position: absolute;
  color: #0098DF;
  width: 3.125rem;
  height: 3.125rem;
  top: 0.625rem;
  right: 0;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}
@media (max-width: 768px) {
  .header_drawer_list_link_toggle {
    width: 3.5714285714rem;
    height: 3.5714285714rem;
  }
}

.header_drawer_list_link_toggle::before,
.header_drawer_list_link_toggle::after {
  content: "";
  position: absolute;
  width: 1.5625rem;
  height: 0.25rem;
  background-color: #0098DF;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
@media (max-width: 768px) {
  .header_drawer_list_link_toggle::before,
  .header_drawer_list_link_toggle::after {
    width: 1.7857142857rem;
    height: 0.2857142857rem;
  }
}

.header_drawer_list_link_toggle::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.header_drawer_list_link.is_open .header_drawer_list_link_toggle {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

@media (max-width: 1300px) {
  .header_drawer_list_menus {
    display: none;
  }
}
@media (max-width: 768px) {
  .header_drawer_list_menus {
    display: none;
    padding: 10px 0;
  }
}

.header_drawer_list_menu a {
  display: inline-block;
  font-weight: 700;
  line-height: 1;
  padding: 15px 10px;
}
@media (max-width: 768px) {
  .header_drawer_list_menu a {
    padding: 7px 1em;
  }
}

.header_drawer_logo {
  position: relative;
  max-width: 37.5625rem;
  width: 100%;
  margin: 2rem auto 0;
}

.header_hamburger_icon {
  position: absolute;
  width: 60px;
  top: 10px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .header_hamburger_icon {
    width: 29px;
  }
}

.header_fixed .header_lists {
  gap: 0;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.header_fixed .header_list {
  margin-right: 1.25rem;
}

.header_fixed .header_wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header_fixed .header_lead,
.header_fixed .header_inquiry_wrapper {
  display: none;
}

.header_fixed .header_logo {
  margin-top: 0;
}
@media (max-width: 1300px) {
  .header_fixed .header_logo {
    margin-top: 1.5rem;
  }
}
@media (max-width: 768px) {
  .header_fixed .header_logo {
    margin-top: 0.7142857143rem;
  }
}

.header_fixed .mega_menu {
  top: 3.5rem;
  z-index: 10;
}

.header_fixed .header_list_fixed_menu {
  display: block;
  margin-right: 0;
}

.header_list_fixed_menu a {
  position: relative;
  display: block;
  min-width: 8.125rem;
  color: #fff;
  text-align: center;
}

@media (min-width: 768px) {
  .header_list_fixed_menu a:hover {
    color: #000;
  }
}

.header_fixed_menu_line {
  background-color: #77CD61;
}

@media (min-width: 768px) {
  .header_fixed_menu_line:hover {
    background-color: #FDE87C;
  }
}

.header_fixed_menu_mail {
  background-color: #0BB883;
}

@media (min-width: 768px) {
  .header_fixed_menu_mail:hover {
    background-color: #51C5E8;
  }
}

.header_list_fixed_menu a::before {
  content: "";
  position: relative;
  display: block;
  height: 1.75rem;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  margin: 0 auto 0.625rem;
  top: 0;
  -webkit-transition: 0.35s;
  transition: 0.35s;
}

.header_fixed_menu_line::before {
  width: 1.8125rem;
  background-image: url(../images/common/icon_lineGreen.svg);
}

.header_fixed_menu_mail::before {
  width: 1.9375rem;
  background-image: url(../images/common/icon_mailWhite.svg);
}

@media (min-width: 768px) {
  .header_list_fixed_menu a:hover::before {
    top: -0.3125rem;
  }
}

@media (min-width: 768px) {
  .header_fixed_menu_mail:hover::before {
    background-image: url(../images/common/icon_mailBlack.svg);
  }
}

.header_fixed .inner {
  max-width: unset;
}

/* top - common
------------------------------ */
main {
  overflow-x: hidden;
}

.top_section_title_en {
  position: relative;
  color: #0098DF;
  font-size: 2.5rem;
  font-family: "Grape Nuts", sans-serif;
  line-height: 150%;
  text-align: center;
}
@media (max-width: 768px) {
  .top_section_title_en {
    font-size: 1.7142857143rem;
  }
}

.top_section_title_ja {
  position: relative;
  color: #0D578C;
  font-size: 3rem;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 150%;
  letter-spacing: 0.06em;
  text-align: center;
  margin-top: 1.5rem;
}
@media (max-width: 768px) {
  .top_section_title_ja {
    font-size: 1.4285714286rem;
    margin-top: 1.1428571429rem;
  }
}

/* top - top_mw
------------------------------ */
.top_mw {
  position: relative;
  min-height: 51.0625rem;
  background: url(../images/top/top_mw_bg.webp) no-repeat center bottom/cover;
  opacity: 0;
  z-index: 1;
}
@media (max-width: 768px) {
  .top_mw {
    min-height: 44.8571428571rem;
    background-image: url(../images/top/top_mw_bgSP.webp);
  }
}

.is_loaded .top_mw {
  -webkit-animation: topMwBgReveal 0.6s ease-out forwards;
          animation: topMwBgReveal 0.6s ease-out forwards;
}

.top_mw_title {
  position: relative;
  max-width: 47.4375rem;
  width: 100%;
  margin: 0 auto;
  padding-top: 6.5625rem;
  opacity: 0;
}
@media (max-width: 768px) {
  .top_mw_title {
    max-width: 29.2857142857rem;
    padding: 7rem 0 10.7142857143rem;
  }
}

.is_loaded .top_mw_title {
  -webkit-animation: topMwTitleEnter 0.5s ease-out 1.8s forwards;
          animation: topMwTitleEnter 0.5s ease-out 1.8s forwards;
}

.top_mw_cloud {
  position: absolute;
  display: block;
  width: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
}

.top_mw_cloud img {
  display: block;
  width: 100%;
}

.top_mw_cloud_left {
  max-width: 33.75rem;
  bottom: -3.4375rem;
}
@media (max-width: 768px) {
  .top_mw_cloud_left {
    max-width: 17.1428571429rem;
    left: -4.7857142857rem;
    bottom: -1.7142857143rem;
  }
}

.top_mw_cloud_right {
  max-width: 33.4375rem;
  right: 0;
  bottom: -0.75rem;
}
@media (max-width: 768px) {
  .top_mw_cloud_right {
    max-width: 15rem;
    right: -5.3571428571rem;
    bottom: 0;
  }
}

.is_loaded .top_mw_cloud_left {
  -webkit-animation: topMwCloudEnterLeft 0.5s ease-out 1s forwards;
          animation: topMwCloudEnterLeft 0.5s ease-out 1s forwards;
}

.is_loaded .top_mw_cloud_right {
  -webkit-animation: topMwCloudEnterRight 0.5s ease-out 1s forwards;
          animation: topMwCloudEnterRight 0.5s ease-out 1s forwards;
}

.top_mw_cloud_left img {
  -webkit-animation: topMwCloudFloat 6s ease-in-out infinite;
          animation: topMwCloudFloat 6s ease-in-out infinite;
}

.top_mw_cloud_right img {
  -webkit-animation: topMwCloudFloat 7s ease-in-out infinite -3s;
          animation: topMwCloudFloat 7s ease-in-out infinite -3s;
}

@-webkit-keyframes topMwCloudFloat {
  0%, 100% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
  33% {
    -webkit-transform: translateY(-0.4375rem) rotate(1deg);
            transform: translateY(-0.4375rem) rotate(1deg);
  }
  66% {
    -webkit-transform: translateY(0.25rem) rotate(-1deg);
            transform: translateY(0.25rem) rotate(-1deg);
  }
}

@keyframes topMwCloudFloat {
  0%, 100% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
  33% {
    -webkit-transform: translateY(-0.4375rem) rotate(1deg);
            transform: translateY(-0.4375rem) rotate(1deg);
  }
  66% {
    -webkit-transform: translateY(0.25rem) rotate(-1deg);
            transform: translateY(0.25rem) rotate(-1deg);
  }
}
@-webkit-keyframes topMwBgReveal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes topMwBgReveal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes topMwTitleEnter {
  from {
    opacity: 0;
    -webkit-transform: translateY(1.875rem);
            transform: translateY(1.875rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes topMwTitleEnter {
  from {
    opacity: 0;
    -webkit-transform: translateY(1.875rem);
            transform: translateY(1.875rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes HMEnter {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes HMEnter {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes topMwCloudEnterLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-20%);
            transform: translateX(-20%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes topMwCloudEnterLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-20%);
            transform: translateX(-20%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes topMwCloudEnterRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(20%);
            transform: translateX(20%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes topMwCloudEnterRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(20%);
            transform: translateX(20%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.top_mw_flight {
  position: absolute;
  top: 13.9375rem;
  left: -3.4375rem;
  width: 9.9375rem;
  aspect-ratio: 0.8594594595;
}
@media (max-width: 768px) {
  .top_mw_flight {
    top: 1.1428571429rem;
    left: 1.7142857143rem;
    width: 6.5rem;
    aspect-ratio: 0.858490566;
  }
}

.top_about {
  position: relative;
  margin-top: -1.5rem;
  padding: 8.4375rem 0 18.75rem;
  background-color: var(--about_bg, rgba(241, 252, 255, 0.34));
  background-image: url(../images/top/top_about_bg_texture.webp);
  background-repeat: repeat;
  background-position: top center;
  background-size: contain;
}
@media (max-width: 768px) {
  .top_about {
    padding: 4.5714285714rem 0 14.2857142857rem;
  }
}

.top_about::before,
.top_guideline::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 2rem;
  background-color: #fff;
  left: 0;
  bottom: 0;
}
@media (max-width: 768px) {
  .top_about::before,
  .top_guideline::before {
    height: 5.7142857143rem;
    bottom: -0.0714285714rem;
  }
}

.top_about::after {
  content: "";
  position: absolute;
  display: block;
  width: 42.0625rem;
  height: 16.3125rem;
  background: url(../images/top/top_concept_bg_plane.webp) no-repeat center center/contain;
  top: 4.5rem;
  right: 0;
}
@media (max-width: 768px) {
  .top_about::after {
    width: 10.9285714286rem;
    height: 4.7142857143rem;
    top: 1.7142857143rem;
  }
}

.top_about_photo01 {
  position: absolute;
  max-width: 13.75rem;
  width: 100%;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  top: -2.5rem;
  left: 3.5rem;
}
@media (max-width: 768px) {
  .top_about_photo01 {
    max-width: 8.2857142857rem;
    top: -3rem;
    left: 1.1428571429rem;
  }
}

.top_about_photo02 {
  position: absolute;
  max-width: 21.1875rem;
  width: 100%;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  top: 11.125rem;
  right: -2.875rem;
}
@media (max-width: 768px) {
  .top_about_photo02 {
    max-width: 9.2857142857rem;
    top: 21.6428571429rem;
    right: 1.1428571429rem;
  }
}

.top_about_photo03 {
  position: absolute;
  max-width: 21.1875rem;
  width: 100%;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  top: 25rem;
  left: -3.75rem;
}
@media (max-width: 768px) {
  .top_about_photo03 {
    max-width: 9.2857142857rem;
    top: 23.1428571429rem;
    left: 1.7142857143rem;
  }
}

.top_about_photos.is_view .top_about_photo01 {
  -webkit-animation: topAboutPhotoSway 1s ease-in-out 1;
          animation: topAboutPhotoSway 1s ease-in-out 1;
}

.top_about_photos.is_view .top_about_photo02 {
  -webkit-animation: topAboutPhotoSway 0.9s ease-in-out 1 0.2s;
          animation: topAboutPhotoSway 0.9s ease-in-out 1 0.2s;
}

.top_about_photos.is_view .top_about_photo03 {
  -webkit-animation: topAboutPhotoSway 1.1s ease-in-out 1 0.35s;
          animation: topAboutPhotoSway 1.1s ease-in-out 1 0.35s;
}

@-webkit-keyframes topAboutPhotoSway {
  0%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  10% {
    -webkit-transform: rotate(9deg);
            transform: rotate(9deg);
  }
  30% {
    -webkit-transform: rotate(-8deg);
            transform: rotate(-8deg);
  }
  50% {
    -webkit-transform: rotate(6deg);
            transform: rotate(6deg);
  }
  70% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  90% {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg);
  }
}

@keyframes topAboutPhotoSway {
  0%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  10% {
    -webkit-transform: rotate(9deg);
            transform: rotate(9deg);
  }
  30% {
    -webkit-transform: rotate(-8deg);
            transform: rotate(-8deg);
  }
  50% {
    -webkit-transform: rotate(6deg);
            transform: rotate(6deg);
  }
  70% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  90% {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg);
  }
}
.top_about_title_ja {
  letter-spacing: 0.04em;
  margin-top: 2.5rem;
}
@media (max-width: 768px) {
  .top_about_title_ja {
    margin-top: 1.1428571429rem;
  }
}

.top_about_title_ja span {
  position: relative;
  display: block;
  font-size: 1.5rem;
  line-height: 150%;
}
@media (max-width: 768px) {
  .top_about_title_ja span {
    font-size: 1.1428571429rem;
  }
}

.top_about_outline {
  position: relative;
  margin-top: 4rem;
}
@media (max-width: 768px) {
  .top_about_outline {
    margin-top: 1.7142857143rem;
  }
}

.top_about_outline_text {
  position: relative;
  font-size: 1.25rem;
  line-height: 200%;
  letter-spacing: 0.04em;
  text-align: center;
}
@media (max-width: 768px) {
  .top_about_outline_text {
    font-size: 1rem;
    line-height: 180%;
  }
}

.top_about_outline_text + .top_about_outline_text {
  margin-top: 2rem;
}
@media (max-width: 768px) {
  .top_about_outline_text + .top_about_outline_text {
    margin-top: 0.5714285714rem;
  }
}

.top_about_outline_illust {
  position: absolute;
  display: block;
  max-width: 18.5625rem;
  width: 100%;
  right: 3.8125rem;
  bottom: -8.5625rem;
}
@media (max-width: 768px) {
  .top_about_outline_illust {
    max-width: 7.8571428571rem;
    right: 5.3571428571rem;
    bottom: -12.7142857143rem;
  }
}

.top_about_outline_illust img {
  -webkit-transform: rotate(1deg);
          transform: rotate(1deg);
  -webkit-animation: topSpotsBirdsShake 1s steps(2) infinite;
          animation: topSpotsBirdsShake 1s steps(2) infinite;
}

.top_about_items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125rem;
  margin-top: 11.25rem;
}
@media (max-width: 768px) {
  .top_about_items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 13.9285714286rem;
    gap: 3.9285714286rem;
  }
}

.top_about_item {
  position: relative;
  display: block;
}

.top_about_item:nth-child(2)::before {
  content: "";
  position: absolute;
  display: block;
  width: 10.875rem;
  height: 5.75rem;
  background: url(../images/top/top_concept_item_tapeYellow.webp) no-repeat center center/contain;
  top: -3.4375rem;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.top_about_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5rem;
  margin-top: 4.625rem;
}
@media (max-width: 768px) {
  .top_about_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.1428571429rem;
    margin-top: 1.7142857143rem;
  }
}

.top_about_pict {
  position: relative;
  max-width: 22.0625rem;
  width: 100%;
}
@media (max-width: 768px) {
  .top_about_pict {
    max-width: 17.4285714286rem;
  }
}

.top_about_item:first-child .top_about_item_pict::before {
  content: "";
  position: absolute;
  display: block;
  max-width: 16.125rem;
  width: 100%;
  height: 11.375rem;
  background: url(../images/top/top_concept_item_stamp.webp) no-repeat center center/contain;
  top: -3.9375rem;
  left: -2.625rem;
}
@media (max-width: 768px) {
  .top_about_item:first-child .top_about_item_pict::before {
    max-width: 9.7857142857rem;
    height: 6rem;
    top: -2.2857142857rem;
    left: -1.7142857143rem;
  }
}

.top_about_content_name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .top_about_content_name {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.1428571429rem;
  }
}

.top_about_content_name_tag {
  position: relative;
  color: #fff;
  font-size: 1.5rem;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 150%;
  letter-spacing: 0.06em;
  padding: 0.1875rem 1.5rem 0.3125rem;
  background-color: #0D578C;
  border-radius: 2.5rem;
}
@media (max-width: 768px) {
  .top_about_content_name_tag {
    font-size: 1.4285714286rem;
    padding: 0.2857142857rem 1.7142857143rem;
  }
}

.top_about_content_name_ja {
  position: relative;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .top_about_content_name_ja {
    font-size: 1.1428571429rem;
  }
}

.top_about_content_name_ja span {
  font-size: 2rem;
}
@media (max-width: 768px) {
  .top_about_content_name_ja span {
    font-size: 1.7142857143rem;
  }
}

.top_about_content_text {
  position: relative;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0;
  margin-top: 2.125rem;
}
@media (max-width: 768px) {
  .top_about_content_text {
    line-height: 180%;
    margin-top: 1.1428571429rem;
  }
}

.top_spots {
  position: relative;
  padding: 7.5rem 0;
}
@media (max-width: 768px) {
  .top_spots {
    padding: 0 0 4.5714285714rem;
  }
}

.top_spots_parallax {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  max-height: 16.25rem;
  padding-bottom: 4%;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media (max-width: 768px) {
  .top_spots_parallax {
    max-height: 18.5714285714rem;
    padding-bottom: 0;
  }
}

.top_spots_parallax img {
  position: absolute;
  top: -10%;
  left: 50%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  will-change: transform;
}
@media (max-width: 768px) {
  .top_spots_parallax img {
    max-height: 9.8571428571rem;
    top: 15%;
  }
}

.top_spots_inner {
  position: relative;
  z-index: 1;
}

.top_spots_pict_birds {
  position: absolute;
  display: block;
  max-width: 13.125rem;
  width: 100%;
  top: -4.1875rem;
  right: 4.875rem;
}
@media (max-width: 768px) {
  .top_spots_pict_birds {
    max-width: 7.5rem;
    top: -5.7142857143rem;
    right: 1.7142857143rem;
  }
}

.top_spots_pict_birds img {
  -webkit-transform: rotate(1deg);
          transform: rotate(1deg);
  -webkit-animation: topSpotsBirdsShake 1s steps(2) infinite;
          animation: topSpotsBirdsShake 1s steps(2) infinite;
}

.top_spots_pict_clouds {
  position: absolute;
  display: block;
  max-width: 15.375rem;
  width: 100%;
  top: 1.0625rem;
  left: -1.8125rem;
}
@media (max-width: 768px) {
  .top_spots_pict_clouds {
    max-width: 8.7857142857rem;
    top: -1.1428571429rem;
    left: -1.7142857143rem;
  }
}

.top_spots_illust_clouds_right {
  position: absolute;
  display: block;
  max-width: 15.75rem;
  width: 100%;
  right: -0.875rem;
}
@media (max-width: 768px) {
  .top_spots_illust_clouds_right {
    max-width: 9rem;
    right: -1.1428571429rem;
  }
}

.top_spots_illust_clouds_left {
  position: absolute;
  display: block;
  max-width: 13.9375rem;
  width: 100%;
  left: -4.375rem;
  bottom: -16.6875rem;
}
@media (max-width: 768px) {
  .top_spots_illust_clouds_left {
    max-width: 8rem;
    left: -2.5rem;
    bottom: -9.5714285714rem;
  }
}

.top_spots_illust_clouds_bottom {
  position: absolute;
  display: block;
  max-width: 18.3125rem;
  width: 100%;
  right: -1.5rem;
  top: -12.1875rem;
}
@media (max-width: 768px) {
  .top_spots_illust_clouds_bottom {
    max-width: 10.5rem;
    top: -5.9285714286rem;
    right: -1.1428571429rem;
  }
}

.top_spots_outline {
  position: relative;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: 4rem;
}
@media (max-width: 768px) {
  .top_spots_outline {
    font-size: 1rem;
    line-height: 180%;
    margin-top: 1.1428571429rem;
  }
}

@media (max-width: 768px) {
  .top_spots_map_wrapper {
    position: relative;
    display: block;
    width: 100%;
    overflow: scroll;
  }
}

.top_spots_map {
  position: relative;
  max-width: 70.875rem;
  width: 100%;
  min-height: 64.5625rem;
  height: 100%;
  background: url(../images/top/top_spots_mapColor.webp) no-repeat center top 1.625rem;
  background-size: 51.125rem auto;
  margin: 6.0625rem auto 0;
}
@media (max-width: 768px) {
  .top_spots_map {
    width: 43.75rem;
    min-height: unset;
    height: 50rem;
    background-size: 42.8571428571rem auto;
  }
}

@-webkit-keyframes topSpotsBirdsShake {
  to {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
}

@keyframes topSpotsBirdsShake {
  to {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
}
.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 12;
}

.modal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
}

.modal__content {
  position: absolute;
  max-width: 38.125rem;
  width: 100%;
  top: 50%;
  left: 50%;
  padding: 2.5rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #fff;
}
@media (max-width: 768px) {
  .modal__content {
    max-width: 43.5714285714rem;
    width: 90%;
    padding: 2.2857142857rem;
  }
}

.modal__content .js-modal-close {
  position: absolute;
  font-size: 0;
  top: 0.5rem;
  right: 0.5rem;
}

.modal__content .js-modal-close::before {
  content: "";
  position: relative;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: url(../images/common/icon_closeBlack.webp) no-repeat center center/contain;
}

.top_spots_modal_title {
  position: relative;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
  text-align: center;
  margin-top: 2rem;
}
@media (max-width: 768px) {
  .top_spots_modal_title {
    font-size: 1.7142857143rem;
    margin-top: 1.7142857143rem;
  }
}

.top_spots_modal_text {
  position: relative;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 160%;
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .top_spots_modal_text {
    font-size: 1.1428571429rem;
    margin-top: 1.1428571429rem;
  }
}

.js-modal-open {
  position: absolute;
  display: block;
  width: 14.375rem;
  height: 14.375rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
  text-align: center;
  text-shadow: 0 0 0.3125rem rgba(0, 84, 136, 0.8);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media (max-width: 768px) {
  .js-modal-open {
    width: 11.4285714286rem;
    height: 11.4285714286rem;
    font-size: 1.1428571429rem;
  }
}

.js-modal-open::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #0098DF;
  border-radius: 50%;
  opacity: 0.5;
  top: 0;
  left: 0;
  -webkit-transition: 0.35s;
  transition: 0.35s;
}

.js-modal-open:hover::before {
  opacity: 0;
}

.map_link_mizube {
  background-image: url(../images/top/top_spots_mizubenosato.webp);
  top: 0;
  left: 8.875rem;
}
@media (max-width: 768px) {
  .map_link_mizube {
    top: 2.1428571429rem;
    left: 1.7142857143rem;
  }
}

.js-modal-open span {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1;
}

@media (min-width: 768px) {
  .js-modal-open span.sp_none {
    display: inline;
    height: auto;
  }
}
@media (max-width: 768px) {
  .js-modal-open span.sp_none {
    display: none;
  }
}

.map_link_soranoyu {
  background-image: url(../images/top/top_spots_soranoyu.webp);
  top: 0;
  right: 11.25rem;
}
@media (max-width: 768px) {
  .map_link_soranoyu {
    top: 1.7142857143rem;
    right: 2.8571428571rem;
  }
}

.map_link_hikoukinooka {
  background-image: url(../images/top/top_spots_hikoukinooka.webp);
  top: 17.1875rem;
  left: 0;
}
@media (max-width: 768px) {
  .map_link_hikoukinooka {
    top: 14.2857142857rem;
  }
}

.map_link_aeromuseum {
  background-image: url(../images/top/top_spots_aeromuseum.webp);
  top: 17.1875rem;
  right: 0;
}
@media (max-width: 768px) {
  .map_link_aeromuseum {
    top: 14.2857142857rem;
  }
}

.map_link_fuwari {
  background-image: url(../images/top/top_spots_fuwari.webp);
  left: 0;
  bottom: 15.625rem;
}
@media (max-width: 768px) {
  .map_link_fuwari {
    bottom: 11.4285714286rem;
  }
}

.map_link_soramana {
  background-image: url(../images/top/top_spots_soramana.webp);
  right: 0;
  bottom: 15.625rem;
}
@media (max-width: 768px) {
  .map_link_soramana {
    bottom: 11.4285714286rem;
  }
}

.map_link_agripark {
  background-image: url(../images/top/top_spots_agripark.webp);
  left: 14.375rem;
  bottom: 0;
}
@media (max-width: 768px) {
  .map_link_agripark {
    left: 8.5714285714rem;
  }
}

.map_link_satellite {
  background-image: url(../images/top/top_spots_satellite.webp);
  right: 17.5rem;
  bottom: 0;
}
@media (max-width: 768px) {
  .map_link_satellite {
    right: 10rem;
  }
}

.top_spots_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 7.5rem;
}

.top_spots_airplane {
  position: absolute;
  display: block;
  max-width: 21.8125rem;
  width: 100%;
  left: -3.125rem;
  bottom: 3.9375rem;
}
@media (max-width: 768px) {
  .top_spots_airplane {
    max-width: 12.5rem;
    left: 1.1428571429rem;
    bottom: 4.5714285714rem;
  }
}

/* top_howto
------------------------------------------------------------ */
.top_howto {
  position: relative;
  display: block;
  padding: 7.5rem 0 15.25rem;
  border-radius: 5rem 5rem 0 0;
  background-color: #E3F8FF;
}
@media (max-width: 768px) {
  .top_howto {
    padding: 4.5714285714rem 0 8.5714285714rem;
    border-radius: 2.8571428571rem 2.8571428571rem 0 0;
  }
}

.top_howto_clouds {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
  z-index: 10;
}

.top_howto_cloud_num01, .top_howto_cloud_num02,
.top_howto_cloud_num03, .top_howto_cloud_num04 {
  position: absolute;
  display: block;
  width: 100%;
  will-change: transform;
}

.top_howto_cloud_num01 {
  max-width: 30.8125rem;
  top: 7.25rem;
  left: 0;
}
@media (max-width: 768px) {
  .top_howto_cloud_num01 {
    max-width: 17.6428571429rem;
    top: 4.4285714286rem;
  }
}

.top_howto_cloud_num02 {
  max-width: 21.5rem;
  top: 17.5rem;
  right: 0;
}
@media (max-width: 768px) {
  .top_howto_cloud_num02 {
    max-width: 12.2857142857rem;
    top: 10rem;
  }
}

.top_howto_cloud_num03 {
  max-width: 17rem;
  bottom: 6rem;
  left: 0;
}
@media (max-width: 768px) {
  .top_howto_cloud_num03 {
    max-width: 9.7142857143rem;
    bottom: 4.2857142857rem;
  }
}

.top_howto_cloud_num04 {
  max-width: 17.8125rem;
  bottom: 24.375rem;
  right: 0;
}
@media (max-width: 768px) {
  .top_howto_cloud_num04 {
    max-width: 10.2142857143rem;
    bottom: 13.9285714286rem;
  }
}

.top_howto_inner {
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .top_howto_inner {
    z-index: 10;
  }
}

.top_howto_people {
  position: absolute;
  display: block;
  max-width: 20.8125rem;
  width: 100%;
  top: -15.0625rem;
  right: 1.1875rem;
}
@media (max-width: 768px) {
  .top_howto_people {
    max-width: 11.9285714286rem;
    top: -7.1428571429rem;
    right: 0.5714285714rem;
  }
}

.top_howto_people img {
  display: block;
  width: 100%;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  -webkit-animation: topHowtoPeopleBounce 2.2s ease-in-out infinite;
          animation: topHowtoPeopleBounce 2.2s ease-in-out infinite;
}

@-webkit-keyframes topHowtoPeopleBounce {
  0%, 16%, 32%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  8%, 24% {
    -webkit-transform: translateY(-0.625rem);
            transform: translateY(-0.625rem);
  }
}

@keyframes topHowtoPeopleBounce {
  0%, 16%, 32%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  8%, 24% {
    -webkit-transform: translateY(-0.625rem);
            transform: translateY(-0.625rem);
  }
}
.top_howto_outline {
  position: relative;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: 4rem;
}
@media (max-width: 768px) {
  .top_howto_outline {
    font-size: 1rem;
    line-height: 180%;
    margin-top: 1.1428571429rem;
  }
}

.top_howto_flow {
  position: relative;
  margin-top: 5.375rem;
}
@media (max-width: 768px) {
  .top_howto_flow {
    margin-top: 3rem;
  }
}

.top_howto_flow + .top_howto_flow {
  margin-top: 5rem;
}
@media (max-width: 768px) {
  .top_howto_flow + .top_howto_flow {
    margin-top: 4rem;
  }
}

.top_howto_flow_title_ja {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #0D578C;
  font-size: 1.75rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.04em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
}
@media (max-width: 768px) {
  .top_howto_flow_title_ja {
    font-size: 1.7142857143rem;
    gap: 0.5714285714rem;
  }
}

.top_howto_flow_title_insta::before {
  content: "";
  position: relative;
  display: block;
  width: 1.875rem;
  height: 1.875rem;
  background: url(../images/common/icon_instaNavy.webp) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .top_howto_flow_title_insta::before {
    width: 1.7142857143rem;
    height: 1.7142857143rem;
  }
}

.top_howto_flow_title_form::before {
  content: "";
  position: relative;
  display: block;
  width: 2.3125rem;
  height: 1.875rem;
  background: url(../images/common/icon_formNavy.webp) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .top_howto_flow_title_form::before {
    width: 2.1428571429rem;
    height: 1.7142857143rem;
  }
}

.top_howto_flow_lists {
  display: grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-top: 3.875rem;
}
@media (max-width: 768px) {
  .top_howto_flow_lists {
    grid-template-columns: 1fr;
    gap: 4rem;
    margin-top: 4rem;
  }
}

.top_howto_flow_list {
  position: relative;
  display: block;
  padding-bottom: 2rem;
  border-radius: 1rem;
  background-color: #fff;
}
@media (max-width: 768px) {
  .top_howto_flow_list {
    padding-bottom: 2.2857142857rem;
    border-radius: 1.1428571429rem;
  }
}

.top_howto_flow_list:nth-child(2) {
  margin-top: 2.375rem;
  padding-bottom: 4.25rem;
}
@media (max-width: 768px) {
  .top_howto_flow_list:nth-child(2) {
    margin-top: 0;
    padding-bottom: 2.2857142857rem;
  }
}

.top_howto_flow_list_step {
  position: relative;
  max-width: 9.9375rem;
  width: 100%;
  margin: -4.5rem auto 0;
}
@media (max-width: 768px) {
  .top_howto_flow_list_step {
    max-width: 5.7142857143rem;
    margin-top: -2.8571428571rem;
  }
}

.top_howto_flow_list_pict {
  position: relative;
  max-width: 17.75rem;
  width: 100%;
  margin: 0.5rem auto 0;
}
@media (max-width: 768px) {
  .top_howto_flow_list_pict {
    max-width: 20.2857142857rem;
    margin-top: 0.5714285714rem;
  }
}

.top_howto_flow_list:nth-child(2) .top_howto_flow_list_pict {
  max-width: 18.5625rem;
  margin-top: 1.3125rem;
}
@media (max-width: 768px) {
  .top_howto_flow_list:nth-child(2) .top_howto_flow_list_pict {
    max-width: 21.2142857143rem;
    margin-top: 1.7142857143rem;
  }
}

.top_howto_flow_list:nth-child(3) .top_howto_flow_list_pict {
  max-width: 16.375rem;
  margin-top: -0.5rem;
}
@media (max-width: 768px) {
  .top_howto_flow_list:nth-child(3) .top_howto_flow_list_pict {
    max-width: 18.7142857143rem;
    margin-top: -0.5714285714rem;
  }
}

.top_howto_flow_list_tags {
  position: relative;
  max-width: 13rem;
  width: 100%;
  margin: 1.5rem auto 0;
}

.top_howto_flow_list_tag {
  position: relative;
  display: inline-block;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0;
  padding: 0 0.5rem;
  background-color: #CBEEFF;
}

.top_howto_flow_list_tag + .top_howto_flow_list_tag {
  margin-top: 0.1875rem;
}

.top_howto_flow_list_text {
  position: relative;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0;
  text-align: center;
  margin-top: 2rem;
}

.top_howto_flow_list:nth-child(3) .top_howto_flow_list_text {
  margin-top: 0.625rem;
}

.top_howto_flow_list_text a {
  color: #0098DF;
}

.top_howto_flow_list_btn {
  position: relative;
  max-width: 14.6875rem;
  width: 100%;
  margin: 3.0625rem auto 0;
}

.top_howto_flow_list_btn .btn {
  position: relative;
  display: block;
  color: #000;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  padding: 0.8125rem 0 0.875rem;
  border: 1px solid #000;
  background-color: #fff;
  border-radius: 0.5rem;
  -webkit-transition: 0.35s;
  transition: 0.35s;
}

.top_howto_flow_list_btn .btn::after {
  display: none;
}

@media (min-width: 768px) {
  .top_howto_flow_list_btn .btn:hover {
    color: #fff;
    background-color: #0098DF;
    border-color: #0098DF;
  }
}

.top_howto_flow_list_copy_tags {
  font-size: 1rem;
  font-weight: 700;
  line-height: 160%;
  color: #0098DF;
}
@media (max-width: 768px) {
  .top_howto_flow_list_copy_tags {
    font-size: 1rem;
  }
}

.top_howto_flow_list_copy {
  margin-top: 1.375rem;
}

.top_howto_flow_list_copy_message {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: #0098DF;
  font-weight: 700;
  text-align: center;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (max-width: 768px) {
  .top_howto_flow_list_copy_message {
    margin-top: 0.5714285714rem;
    font-size: 0.8571428571rem;
  }
}

.top_howto_flow_list_copy_message.is_show {
  opacity: 1;
}

.top_howto_flow_inner {
  position: relative;
  margin-top: 2.5rem;
  padding: 2.5rem 0;
  border-radius: 1.5625rem;
  background-color: #fff;
}

.top_howto_flow_inner_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.5rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.9375rem;
}

.top_howto_flow_inner_title::before,
.top_howto_flow_inner_title::after {
  content: "";
  position: relative;
  display: block;
  width: 1.125rem;
  height: 1.25rem;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.top_howto_flow_inner_title::before {
  background-image: url(../images/top/top_howto_form_titleLeft.webp);
}

.top_howto_flow_inner_title::after {
  background-image: url(../images/top/top_howto_form_titleRight.webp);
}

.top_howto_flow_inner_text {
  position: relative;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0;
  text-align: center;
  margin-top: 1.6875rem;
}
@media (max-width: 768px) {
  .top_howto_flow_inner_text {
    margin-top: 1.1428571429rem;
  }
}

.top_howto_flow_inner_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 2.1875rem;
}
@media (max-width: 768px) {
  .top_howto_flow_inner_btn {
    margin-top: 1.7142857143rem;
  }
}

.top_howto_flow_inner_btn .btn {
  max-width: 18.125rem;
  padding: 1.125rem 2.3125rem;
}

/* top_guideline
------------------------------------------------------------ */
.top_guideline {
  position: relative;
  padding: 7.5rem 0 20rem;
  background-color: #C3E7FF;
  border-radius: 5rem 5rem 0 0;
  margin-top: -5.75rem;
}
@media (max-width: 768px) {
  .top_guideline {
    padding: 4.5714285714rem 0 17.1428571429rem;
    border-radius: 2.8571428571rem 2.8571428571rem 0 0;
    margin-top: -4rem;
  }
}

.top_guidelines_clouds {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
}

.top_guidelines_cloud_num01, .top_guidelines_cloud_num02,
.top_guidelines_cloud_num03 {
  position: absolute;
  display: block;
  width: 100%;
  will-change: transform;
}

.top_guidelines_cloud_num01 {
  max-width: 17.8125rem;
  top: 8.625rem;
  right: 0;
}

.top_guidelines_cloud_num02 {
  max-width: 30.8125rem;
  top: 28.375rem;
  left: 0;
}

.top_guidelines_cloud_num03 {
  max-width: 20.6875rem;
  bottom: 24.625rem;
  right: 0;
}

.top_guideline_inner {
  position: relative;
  z-index: 1;
}

.top_guideline_detail_contents {
  position: relative;
  max-width: 71.25rem;
  margin: 5rem auto 0;
  padding: 3.125rem 3.125rem 5.375rem;
  border-radius: 1.5625rem;
  background-color: #fff;
}
@media (max-width: 768px) {
  .top_guideline_detail_contents {
    max-width: 81.4285714286rem;
    margin: 2.2857142857rem auto 0;
    padding: 2.2857142857rem 2.2857142857rem 4.5714285714rem;
    border-radius: 1.1428571429rem;
  }
}

.top_guideline_detail_text {
  font-weight: 400;
}

.top_guideline_detail_box {
  position: relative;
  margin-top: 1.5rem;
}

.top_guideline_detail_box:first-of-type {
  margin-top: 2rem;
}

.top_guideline_detail_box_title {
  position: relative;
  color: #FF3C40;
  font-weight: 700;
  line-height: 180%;
  letter-spacing: 0;
}

.top_guideline_detail_box_text {
  position: relative;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0;
  margin-top: 0.1875rem;
}

.top_guideline_detail_box_text span {
  position: relative;
  display: block;
  padding-left: 3em;
  text-indent: -3em;
}

.top_guideline_detail_box_text .top_guideline_detail_box_text_last {
  padding-left: 8em;
  text-indent: -8em;
}

.top_guideline_detail_box_text .top_guideline_detail_box_text_caution {
  padding-left: 1em;
  text-indent: -1em;
}

.top_guideline_detail_box_add {
  position: relative;
  margin-top: 1em;
}

.top_guideline_detail_box_add span {
  position: relative;
  display: block;
  font-weight: 700;
}

.top_guideline_detail_accordion {
  position: relative;
  margin-top: 3rem;
  border: 1px solid #000;
  border-radius: 0.75rem;
}
@media (max-width: 768px) {
  .top_guideline_detail_accordion {
    margin-top: 2.2857142857rem;
    border-radius: 0.5714285714rem;
  }
}

.top_guideline_detail_accordion_title {
  position: relative;
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 1.25rem 2.5rem;
  cursor: pointer;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .top_guideline_detail_accordion_title {
    font-size: 1.1428571429rem;
    padding: 1.7142857143rem 1.1428571429rem;
  }
}

.top_guideline_detail_accordion_title::before,
.top_guideline_detail_accordion_title::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1.625rem;
  height: 0.1875rem;
  background-color: #000;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  right: 2.5rem;
}
@media (max-width: 768px) {
  .top_guideline_detail_accordion_title::before,
  .top_guideline_detail_accordion_title::after {
    width: 1.1428571429rem;
    height: 0.2142857143rem;
    right: 1.1428571429rem;
  }
}

.top_guideline_detail_accordion_title::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

@media (min-width: 768px) {
  .top_guideline_detail_accordion.is_open .top_guideline_detail_accordion_title::after {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

.top_guideline_detail_accordion_inner {
  display: none;
  margin-top: 1rem;
  padding: 0 2.5rem 2rem;
  text-align: left;
}
@media (max-width: 768px) {
  .top_guideline_detail_accordion_inner {
    margin-top: 0.5714285714rem;
    padding: 0 1.7142857143rem 1.1428571429rem;
  }
}

.top_guideline_detail_accordion_inner_text {
  position: relative;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0;
  padding-left: 3em;
  text-indent: -3em;
  margin-top: 0.5rem;
}

.top_guideline_detail_accordion_inner_text:first-of-type {
  margin-top: 0;
}

.top_guideline_detail_accordion_inner_caution {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0.5rem;
}

/* top_gallery
------------------------------------------------------------ */
.top_gallery {
  position: relative;
  display: block;
  padding: 5rem 0 10rem;
}
@media (max-width: 768px) {
  .top_gallery {
    padding: 1.1428571429rem 0 5.7142857143rem;
  }
}

.top_gallery::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  min-height: 2.6875rem;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 93.75rem 2.6875rem;
  border-bottom-left-radius: 93.75rem 2.6875rem;
  background-color: #fff;
  bottom: -2.6875rem;
  z-index: 1;
}

.top_gallery_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  .top_gallery_wrapper {
    display: contents;
  }
}

@media (max-width: 768px) {
  .top_gallery_title {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.top_gallery_title_en {
  text-align: left;
}
@media (max-width: 768px) {
  .top_gallery_title_en {
    text-align: center;
  }
}

.top_gallery_title_ja {
  text-align: left;
}
@media (max-width: 768px) {
  .top_gallery_title_ja {
    text-align: center;
  }
}

.top_gallery_btn {
  position: relative;
  max-width: 18.125rem;
  width: 100%;
}
@media (max-width: 768px) {
  .top_gallery_btn {
    margin: 1.1428571429rem auto 0;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

.top_gallery_btn .btn {
  padding: 1.125rem 1.5625rem;
}

.top_gallery_timeline {
  margin-top: 2rem;
}

/* top_form
------------------------------------------------------------ */
.top_form {
  position: relative;
  padding: 9.5rem 0 15rem;
  background-color: var(--about_bg, rgba(241, 252, 255, 0.34));
}
@media (max-width: 768px) {
  .top_form {
    padding: 5.7142857143rem 0 4.5714285714rem;
  }
}

.top_form_title {
  position: relative;
  z-index: 1;
}

.top_form_title::before {
  content: "";
  position: absolute;
  display: block;
  width: 11.3125rem;
  height: 13.125rem;
  background: url(../images/top/top_form_airplane.webp) no-repeat center center/contain;
  top: -10.0625rem;
  left: 15.625rem;
  z-index: 1;
}
@media (max-width: 768px) {
  .top_form_title::before {
    width: 6.4285714286rem;
    height: 7.5rem;
    top: -5.7142857143rem;
    left: 0.5714285714rem;
  }
}

.top_form_contents {
  position: relative;
  max-width: 71.25rem;
  margin: 5rem auto 0;
  padding: 3.5rem 3.125rem 5rem;
  border-radius: 1.5625rem;
  background-color: #fff;
}
@media (max-width: 768px) {
  .top_form_contents {
    max-width: 81.4285714286rem;
    margin: 2.2857142857rem auto 0;
    padding: 2.2857142857rem 1.7142857143rem 4rem;
  }
}

.top_form_outline {
  position: relative;
  font-weight: 400;
}

.top_form_contents_title {
  position: relative;
  font-weight: 700;
  margin-top: 2.5rem;
}

.entry_form_inner {
  position: relative;
  margin-top: 0.75rem;
}

.form_row {
  display: grid;
  grid-template-columns: 17.9375rem 1fr;
  border-top: 1px solid #53C9FF;
}
@media (max-width: 768px) {
  .form_row {
    grid-template-columns: 1fr;
  }
}

.contact_form_title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
  line-height: 100%;
  letter-spacing: 0.04em;
  padding: 1.75rem 0.9375rem 2.0625rem 1.25rem;
  background-color: #53C9FF;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-bottom: 1px solid #fff;
}
@media (max-width: 768px) {
  .contact_form_title {
    padding: 1.1428571429rem 1.1428571429rem;
  }
}

.contact_form_title:nth-last-child(2) {
  border-bottom-color: #53C9FF;
}

.contact_form_title p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.contact_form_title_must {
  position: relative;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.1875rem 0.3125rem;
  background-color: #FF3C40;
  border-radius: 0.1875rem;
}

.contact_form_input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.25rem;
  border-bottom: 1px solid #53C9FF;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.contact_form_input input {
  max-width: 37.5rem;
  width: 100%;
  height: 2.75rem;
  padding: 0.5rem;
  background-color: #F4F4F4;
}
@media (max-width: 768px) {
  .contact_form_input input {
    max-width: unset;
    height: 2.2857142857rem;
  }
}

.contact_form_input select {
  max-width: 8.1875rem;
  width: 100%;
  height: 2.0625rem;
  font-size: 0.8125rem;
  padding: 0 0.3125rem;
  border: 1px solid #767676;
  background-color: #F4F4F4;
}
@media (max-width: 768px) {
  .contact_form_input select {
    max-width: 17.1428571429rem;
    height: 2.8571428571rem;
    font-size: 1rem;
    padding: 0.5714285714rem;
  }
}

.contact_form_input textarea {
  position: relative;
  min-width: 44.5625rem;
  max-width: 44.5625rem;
  width: 100%;
  min-height: 8.75rem;
  background-color: #F4F4F4;
  padding: 1rem;
}
@media (max-width: 768px) {
  .contact_form_input textarea {
    min-width: unset;
    max-width: 50.9285714286rem;
    min-height: 10rem;
    padding: 1.1428571429rem;
  }
}

.contact_form_input_pict input {
  background: transparent;
}
@media (max-width: 768px) {
  .contact_form_input_pict input {
    height: unset;
  }
}

.top_form .contact_form_title_must {
  color: #fff;
  margin-left: 1rem;
}

.entry_form_accept {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1rem;
}

.entry_form_accept input {
  display: none;
}

.entry_form_accept input + span {
  cursor: pointer;
  display: inline-block;
  padding: 0.3125rem 0 0.3125rem 2.625rem;
  position: relative;
  line-height: 140%;
}
@media (max-width: 768px) {
  .entry_form_accept input + span {
    padding: 0 0 0 2.2857142857rem;
  }
}

.entry_form_accept input + span::before {
  display: block;
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.5rem;
  height: 1.5rem;
  background-color: #E3F8FF;
}
@media (max-width: 768px) {
  .entry_form_accept input + span::before {
    width: 1.1428571429rem;
    height: 1.1428571429rem;
  }
}

.entry_form_accept input + span::after {
  position: absolute;
  content: "";
  top: 45%;
  left: 0.375rem;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  display: block;
  width: 0.875rem;
  height: 0.4375rem;
  border-bottom: 0.125rem solid #0098DF;
  border-left: 0.125rem solid #0098DF;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}
@media (max-width: 768px) {
  .entry_form_accept input + span::after {
    width: 0.8571428571rem;
    height: 0.3571428571rem;
    left: 0.1428571429rem;
    border-bottom-width: 0.1428571429rem;
    border-left-width: 0.1428571429rem;
  }
}

.entry_form_accept input:checked ~ span::after {
  opacity: 1;
}

.form_btn_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
  margin-top: 4rem;
}
@media (max-width: 768px) {
  .form_btn_wrapper {
    margin-top: 2.2857142857rem;
  }
}

.form_btn {
  position: relative;
  display: block;
  max-width: 18.125rem;
  width: 100%;
}

.form_confirm_btn,
.wpcf7-submit {
  position: relative;
  display: block;
  width: 100%;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 100%;
  text-align: center;
  padding: 1.125rem;
  background-color: #FF3C40;
  border-radius: 1.875rem;
  -webkit-transition: 0.35s;
  transition: 0.35s;
}

.form_confirm_btn::after {
  content: "";
  position: absolute;
  display: block;
  width: 0.5625rem;
  height: 1rem;
  background: url(../images/common/btn_arrow_rightWhite.webp) no-repeat center center/contain;
  top: 0;
  right: 1.5625rem;
  bottom: 0;
  margin: auto 0;
  -webkit-transition: 0.35s;
  transition: 0.35s;
}

@media (min-width: 768px) {
  .form_confirm_btn:hover {
    background-color: #0098DF;
  }
}

@media (min-width: 768px) {
  .form_confirm_btn:hover::after {
    right: 1.3125rem;
  }
}

.form_back_btn {
  position: relative;
  display: block;
  width: 100%;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 100%;
  text-align: center;
  padding: 1.125rem;
  background-color: #767676;
  border-radius: 1.875rem;
}

/* ---------------------------------------------------------
 * 確認モーダル
 * --------------------------------------------------------- */
.form_confirm_area {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
}

.form_confirm_area.is_open {
  display: block;
}

.form_confirm_area[hidden] {
  display: none !important;
}

body.is_confirm_open {
  overflow: hidden;
}

.form_confirm_overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

.form_confirm_modal {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: min(92%, 45rem);
  max-height: 86vh;
  max-height: 86dvh;
  overflow-y: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  padding: 2.5rem;
  background-color: #fff;
}
@media (max-width: 768px) {
  .form_confirm_modal {
    padding: 1.7142857143rem 1.1428571429rem;
  }
}

.form_confirm_modal:focus {
  outline: none;
}

.form_confirm_lead {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  color: #0BB883;
}
@media (max-width: 768px) {
  .form_confirm_lead {
    font-size: 1.2857142857rem;
  }
}

.form_confirm_sub {
  font-weight: 700;
  text-align: center;
  margin-top: 0.5rem;
}

.form_confirm_area .form_row {
  grid-template-columns: auto 1fr;
  margin-top: 1.5rem;
}
@media (max-width: 768px) {
  .form_confirm_area .form_row {
    grid-template-columns: 1fr;
    margin-top: 1.1428571429rem;
  }
}

.form_confirm_area [data-confirm] {
  white-space: pre-wrap;
}

.form_main.is_sending [type=submit],
.form_main.is_sending .form_back_btn {
  opacity: 0.5;
  pointer-events: none;
}

.form_btn_inner input {
  -webkit-transition: 0.35s;
  transition: 0.35s;
}

.form_btn_inner p {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 17.375rem;
  width: 100%;
  margin: 3.75rem auto 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}

.form_btn_inner p::after {
  content: "";
  position: absolute;
  display: block;
  width: 0.625rem;
  height: 1.0625rem;
  background: url(../images/common/arrow_rightWhite.svg) no-repeat center center/contain;
  top: 1.6875rem;
  right: 2rem;
  -webkit-transition: 0.35s;
  transition: 0.35s;
}

@media (min-width: 768px) {
  .form_btn_inner p:hover::after {
    right: 1.6875rem;
  }
}

/* contact - thanks
------------------------------ */
.contact_thanks {
  position: relative;
  padding-top: 7.5rem;
}
@media (max-width: 768px) {
  .contact_thanks {
    padding-top: 4.2857142857rem;
  }
}

.contact_thanks_main_text {
  position: relative;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 190%;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 3.75rem;
}
@media (max-width: 768px) {
  .contact_thanks_main_text {
    font-size: 1.1428571429rem;
    margin-top: 2.2857142857rem;
  }
}

.contact_thanks_main_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 3.75rem;
}

.thanks_cta01 {
  margin-top: 7.5rem;
}

/* footer
------------------------------ */
.footer {
  position: relative;
  padding-top: 5rem;
}
@media (max-width: 768px) {
  .footer {
    padding-top: 2.8571428571rem;
  }
}

.footer::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 9.375rem;
  background: url(../images/common/separator_town.webp) no-repeat center bottom/cover;
  top: -9.375rem;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .footer::before {
    background-size: contain;
  }
}

.footer_bnr_lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 768px) {
  .footer_bnr_lists {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.1428571429rem;
  }
}

.footer_bnr_list_link {
  position: relative;
  display: block;
  max-width: 16.6875rem;
  width: 100%;
}
@media (max-width: 768px) {
  .footer_bnr_list_link {
    max-width: 12.1428571429rem;
  }
}

@media (min-width: 768px) {
  .footer_bnr_list_link:hover {
    opacity: 0.8;
  }
}

.footer_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10rem;
  margin-top: 6rem;
}
@media (max-width: 768px) {
  .footer_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.2857142857rem;
    margin-top: 2.2857142857rem;
  }
}

.footer_contact_title_en {
  position: relative;
  display: block;
  color: #0098DF;
  font-size: 2.5rem;
  font-family: "Grape Nuts", sans-serif;
  line-height: 150%;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 768px) {
  .footer_contact_title_en {
    font-size: 1.7142857143rem;
  }
}

.footer_contact_title_ja {
  position: relative;
  display: block;
  color: #0D578C;
  font-size: 3rem;
  font-weight: 700;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.06em;
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .footer_contact_title_ja {
    font-size: 2.2857142857rem;
    margin-top: 0;
  }
}

.footer_contact_info {
  position: relative;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.06em;
}

.footer_copyright {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-align: center;
  margin-top: 7.5rem;
  padding-bottom: 3.5rem;
}
@media (max-width: 768px) {
  .footer_copyright {
    margin-top: 5.7142857143rem;
    padding-bottom: 5.7142857143rem;
  }
}

/* page_top
------------------------------ */
.page_top {
  position: fixed;
  width: 6.25rem;
  height: 6.25rem;
  right: 3.125rem;
  bottom: 3.125rem;
  background-image: url(../images/common/pagetop_planeColor.webp);
  background-repeat: no-repeat;
  background-position: top 30% center;
  background-size: 50%;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 11;
}
@media (max-width: 768px) {
  .page_top {
    width: 5rem;
    height: 5rem;
    background-size: top 20% center;
    right: 1.7857142857rem;
    bottom: 1.7857142857rem;
  }
}

.page_top_en {
  position: absolute;
  color: #0098DF;
  font-size: 1.25rem;
  font-family: "Grape Nuts", sans-serif;
  text-align: center;
  left: 0;
  right: 0;
  bottom: 0.5rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .page_top_en {
    font-size: 1.1428571429rem;
  }
}

@media (min-width: 768px) {
  .page_top:hover {
    opacity: 0.8;
    bottom: 3.75rem;
  }
}

@media (min-width: 768px) {
  .page_top:hover::before {
    background-image: url(../images/common/arrow_rightWhite.svg);
  }
}

/* foot_menu
------------------------------ */
.foot_menu {
  position: fixed;
  display: none;
  width: 100%;
  z-index: 10;
  left: 0;
  bottom: 0;
}
@media (min-width: 768px) {
  .foot_menu {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .foot_menu {
    display: block;
  }
}

.foot_menu_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}