/* default settings */
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
/* CUSTOM STYLES */
/* =================================================================== */
.kv {
  width: 100%;
  position: relative;
  background-color: #38b0eb;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
}
@media (min-width: 769px) {
  .kv {
    height: 100dvh;
  }
  .kv .kv_img {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .kv .kv_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .kv .kv_img_inner {
    width: 100vw;
    height: 100dvh;
    position: relative;
  }
}
@media (max-width: 768px) {
  .kv {
    height: 39.375rem;
  }
}
.kv::after {
  content: "";
  position: absolute;
  bottom: -25vw;
  left: 50%;
  width: 125vw;
  height: 45.534vw;
  -webkit-transform: translateX(-50%) rotate(-1.5deg);
          transform: translateX(-50%) rotate(-1.5deg);
  background-color: #fff;
  border-radius: 100%;
  z-index: 0;
}
@media (max-width: 768px) {
  .kv::after {
    width: 102rem;
    height: 46.0625rem;
    bottom: -35.1875rem;
  }
}
.kv_logo_top {
  width: 100%;
}
@media (min-width: 769px) {
  .kv_logo_top {
    height: 50dvh;
    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;
  }
}
.kv_logo_top img {
  margin: 0 auto;
  width: 100%;
  max-width: 1366px;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
}
@media (min-width: 769px) {
  .kv_logo_top img {
    margin-top: -1.5625rem;
  }
}
@media screen and (min-width: 769px) and (max-height: 769px) {
  .kv_logo_top img {
    width: auto;
    max-width: 100%;
    max-height: 100%;
    height: 47dvh;
  }
}
@media screen and (min-width: 769px) and (max-height: 769px) and (max-width: 10249px) {
  .kv_logo_top img {
    height: auto;
  }
}
@media (max-width: 768px) {
  .kv_logo_top img {
    width: 100%;
  }
}
.kv_logo {
  position: absolute;
  bottom: 1dvh;
  right: 0.875rem;
  width: 21.3125rem;
  height: 2.3125rem;
  z-index: 1;
}
@media (max-width: 768px) {
  .kv_logo {
    bottom: 0.3125rem;
    right: 0.75rem;
    width: 13.0625rem;
    height: auto;
  }
}
.kv_img_inner {
  width: 100%;
  height: 100%;
  position: relative;
}
@media (max-width: 768px) {
  .kv_img_inner {
    padding-top: 5.5625rem;
  }
}
.kv .cat {
  position: absolute;
  bottom: 5.974dvh;
  left: 50.5%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 25.622vw;
  height: 30.3vw;
  z-index: 2;
}
@media (max-width: 768px) {
  .kv .cat {
    bottom: 1.75rem;
    width: 14rem;
    height: auto;
  }
}
.kv .vase_list {
  position: absolute;
  bottom: 6vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 500%;
  height: 18.521vw;
  z-index: 1;
  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: 32.869vw;
}
@media (max-width: 768px) {
  .kv .vase_list {
    bottom: 3.125rem;
    width: 500%;
    height: 10rem;
    gap: 15rem;
  }
}
.kv .vase_list img {
  width: 10.688vw;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
@media (max-width: 768px) {
  .kv .vase_list img {
    width: 5.9375rem;
  }
}
.kv .vase_list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.294vw;
}
.kv .vase_left {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.kv.animated {
  opacity: 1;
}
.kv.animated .vase_list .vase_left li img,
.kv.animated .vase_list .vase_right li img {
  opacity: 1;
}
.kv.animated .vase_list .vase_left li:nth-child(1) img,
.kv.animated .vase_list .vase_right li:nth-child(1) img {
  -webkit-transition-delay: 0.45s;
          transition-delay: 0.45s;
}
.kv.animated .vase_list .vase_left li:nth-child(2) img,
.kv.animated .vase_list .vase_right li:nth-child(2) img {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}
.kv.animated .vase_list .vase_left li:nth-child(3) img,
.kv.animated .vase_list .vase_right li:nth-child(3) img {
  -webkit-transition-delay: 1.35s;
          transition-delay: 1.35s;
}
.kv.animated .vase_list .vase_left li:nth-child(4) img,
.kv.animated .vase_list .vase_right li:nth-child(4) img {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}
.kv.animated .vase_list .vase_left li:nth-child(5) img,
.kv.animated .vase_list .vase_right li:nth-child(5) img {
  -webkit-transition-delay: 2.25s;
          transition-delay: 2.25s;
}
.kv.animated .vase_list .vase_left li:nth-child(6) img,
.kv.animated .vase_list .vase_right li:nth-child(6) img {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}
.kv.animated .vase_list .vase_left li:nth-child(7) img,
.kv.animated .vase_list .vase_right li:nth-child(7) img {
  -webkit-transition-delay: 3.15s;
          transition-delay: 3.15s;
}
.kv.animated .vase_list .vase_left li:nth-child(8) img,
.kv.animated .vase_list .vase_right li:nth-child(8) img {
  -webkit-transition-delay: 3.6s;
          transition-delay: 3.6s;
}
.kv.animated .vase_list .vase_left li:nth-child(9) img,
.kv.animated .vase_list .vase_right li:nth-child(9) img {
  -webkit-transition-delay: 4.05s;
          transition-delay: 4.05s;
}
.kv.animated .vase_list .vase_left li:nth-child(10) img,
.kv.animated .vase_list .vase_right li:nth-child(10) img {
  -webkit-transition-delay: 4.5s;
          transition-delay: 4.5s;
}
.kv.animated .kv_logo_top img {
  opacity: 1;
  -webkit-transition-delay: 1.75s;
          transition-delay: 1.75s;
}
@media (max-width: 768px) {
  .kv.animated .kv_logo_top img {
    -webkit-transition-delay: 1s;
            transition-delay: 1s;
  }
}

.statement {
  padding: 5rem 0 5rem;
  background-color: #05A8E9;
  color: #fff;
  height: 33.375rem;
}
@media (max-width: 768px) {
  .statement {
    padding: 3.75rem 0 3.75rem;
    height: 46.5625rem;
  }
}
.statement .wrapper {
  position: relative;
  height: 100%;
}
.statement_inner {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 55.625rem;
  width: 100%;
}
@media (max-width: 768px) {
  .statement_inner {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.statement_ttl {
  width: 27.875rem;
  font-size: 2.5rem;
  line-height: 1.725;
  font-weight: 600;
}
.statement_ttl img {
  width: 100%;
}
@media (max-width: 768px) {
  .statement_ttl img {
    margin-left: -0.1875rem;
    width: 21.4375rem;
  }
}
@media (max-width: 768px) {
  .statement_ttl {
    width: 100%;
    font-size: 2.6875rem;
    line-height: 1.1627906977;
  }
}
.statement_text {
  width: calc(100% - 27.875rem);
  font-size: 1.125rem;
  line-height: 1.5555555556;
  font-weight: 700;
}
@media (min-width: 769px) {
  .statement_text {
    padding-left: 3.9375rem;
  }
}
@media (max-width: 768px) {
  .statement_text {
    margin-top: 2.8125rem;
    width: 100%;
    font-size: 1rem;
    line-height: 1.625;
  }
}
.statement_text p + p {
  margin-top: 1.6875rem;
}
.statement_text_auth {
  margin-top: 2.0625rem !important;
  font-size: 1.375rem;
  line-height: 1.3636363636;
}
@media (max-width: 768px) {
  .statement_text_auth {
    margin-top: 1.9375rem !important;
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.statement_deco {
  position: absolute;
  bottom: -7.25rem;
  right: 3.125rem;
  width: 11.9375rem;
  height: 10.6875rem;
  z-index: 2;
}
@media (max-width: 768px) {
  .statement_deco {
    width: 9.375rem;
    height: 8.4375rem;
    right: 0.625rem;
    bottom: -5.5rem;
  }
}
.statement_deco img {
  width: 100%;
}

@media (min-width: 769px) {
  .lang-ja .statement_inner {
    padding-top: 1.375rem;
    height: 100%;
  }
}

.capsule {
  padding: 5rem 0 2.5625rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  .capsule {
    padding: 3.75rem 0 3.75rem;
  }
}

@media (max-width: 768px) {
  .step {
    padding: 0 1.25rem;
  }
}
.step_list {
  margin: 2.375rem auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 75rem;
  gap: 1.125rem;
}
@media (min-width: 769px) {
  .step_list.animated .step_item {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media (max-width: 768px) {
  .step_list {
    margin: 2.875rem auto 0.0625rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
  }
}
.step_item {
  width: 24.25rem;
  max-width: 100%;
  background-color: #fff;
  border-radius: 1.875rem;
  position: relative;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 768px) {
  .step_item {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .step_item--01 {
    padding: 0 1.875rem 7.5rem;
  }
}
@media (max-width: 768px) {
  .step_item--01 {
    padding: 0 1.875rem 2.25rem;
  }
  .step_item--01.animated {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .step_item--01 .step_num {
    margin-top: -0.8125rem;
  }
}
.step_item--01 .circle-wrapper .content img {
  margin-top: 0.3125rem;
  margin-left: 0.3125rem;
  width: 5.25rem;
  max-width: unset;
}
.step_item--01 .step_title img {
  width: 15.6875rem;
}
.step_item--02 {
  padding: 0 2.125rem 2.125rem;
}
@media (min-width: 769px) {
  .step_item--02 {
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
  }
  .step_item--02 .step_btn {
    margin-top: 1.0625rem;
  }
}
@media (max-width: 768px) {
  .step_item--02 {
    padding: 0 1.875rem 2.3125rem;
  }
  .step_item--02.animated {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .step_item--02 .step_num {
    margin-top: -0.8125rem;
  }
  .step_item--02 .step_img {
    margin-top: 1.1875rem;
  }
  .step_item--02 .step_txt {
    margin-top: 0.875rem;
  }
}
.step_item--02 .circle-wrapper .content img {
  margin-top: 1.5625rem;
  margin-left: -2rem;
  width: 7.1875rem;
  max-width: unset;
}
@media (min-width: 769px) {
  .step_item--02 .circle-wrapper.animated .right {
    -webkit-animation-delay: 0.75s;
            animation-delay: 0.75s;
  }
  .step_item--02 .circle-wrapper.animated .content {
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
  }
}
.step_item--02 .step_title img {
  width: 13.6875rem;
}
.step_item--03 {
  padding: 0 2.4375rem 3.0625rem;
}
@media (min-width: 769px) {
  .step_item--03 {
    -webkit-transition-delay: 1.25s;
            transition-delay: 1.25s;
  }
  .step_item--03 .step_img img {
    margin: 0 auto;
    width: 93%;
  }
  .step_item--03 .step_txt {
    margin-top: 1.25rem;
  }
}
@media (max-width: 768px) {
  .step_item--03 {
    padding: 0 1.875rem 1.875rem;
  }
  .step_item--03.animated {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .step_item--03 .step_title {
    margin-top: 1.25rem;
  }
  .step_item--03 .step_num {
    margin-top: -0.8125rem;
  }
  .step_item--03 .step_img {
    margin-top: 1.1875rem;
  }
  .step_item--03 .step_txt {
    margin-top: 1.5rem;
  }
}
.step_item--03 .circle-wrapper .content img {
  margin-top: 1.375rem;
  width: 5.25rem;
  max-width: unset;
}
@media (min-width: 769px) {
  .step_item--03 .circle-wrapper.animated .right {
    -webkit-animation-delay: 1.5s;
            animation-delay: 1.5s;
  }
  .step_item--03 .circle-wrapper.animated .content {
    -webkit-animation-delay: 1.75s;
            animation-delay: 1.75s;
  }
}
.step_item--03 .step_title img {
  width: 11.75rem;
}
.step_title {
  margin-top: 1.4375rem;
  text-align: center;
}
.step_title img {
  margin: 0 auto;
}
.step_img {
  margin-top: 1.5rem;
}
.step_txt {
  margin-top: 1.125rem;
  font-weight: 500;
  line-height: 1.6875;
}
@media (min-width: 769px) {
  .step_txt {
    margin-right: -0.625rem;
  }
}
@media (max-width: 768px) {
  .step_txt {
    margin-top: 1.3125rem;
  }
}
.step_txt a {
  color: #05A8E9;
  text-decoration: underline;
  text-underline-position: under;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
@media (min-width: 769px) and (hover: hover) {
  .step_txt a:hover {
    opacity: 0.7;
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
}
@media (min-width: 769px) {
  .step_btn {
    position: absolute;
    left: 50%;
    bottom: 2.25rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media (max-width: 768px) {
  .step_btn {
    margin-top: 1.125rem;
  }
}

.hello {
  padding: 3.5625rem 0 4.9375rem;
  overflow: hidden;
  position: relative;
}
@media (max-width: 768px) {
  .hello {
    padding: 3.8125rem 0 2.9375rem;
  }
}
.hello:before {
  content: "";
  width: 216%;
  height: 100%;
  background-color: #05A8E9;
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 0;
}
@media (max-width: 768px) {
  .hello:before {
    width: 494%;
  }
}
.hello .wrapper {
  position: relative;
  z-index: 1;
}
.hello_ttl {
  margin: 0 auto;
  text-align: center;
}
.hello_ttl img {
  margin: 0 auto;
  width: 21.1875rem;
}
.hello_ttl.animated {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-animation: clipIn 0.8s ease 0.2s forwards;
          animation: clipIn 0.8s ease 0.2s forwards;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
.hello_list {
  margin: 1rem auto 0;
  padding-left: 4.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5rem;
}
@media (max-width: 768px) {
  .hello_list {
    margin-top: 2.0625rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 0;
  }
}
.hello_item + .hello_item {
  margin-top: 10.1875rem;
}
@media (max-width: 768px) {
  .hello_item + .hello_item {
    margin-top: 0;
  }
}
.hello_txt {
  margin-top: 1.25rem;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 600;
  color: #fff;
}
.hello_txt + .hello_txt {
  margin-top: 1.6875rem;
}
@media (max-width: 768px) {
  .hello_txt + .hello_txt {
    margin-top: 1.75rem;
  }
}
@media (max-width: 768px) {
  .hello_txt {
    margin-top: 1rem;
  }
}
.hello_txt span {
  font-weight: 900;
  color: #FFEC00;
}

.access {
  padding: 5rem 0 5.8125rem;
  background-color: #E6F6FD;
  position: relative;
  overflow: hidden;
}
@media (min-width: 769px) {
  .access .access_bgd-01 {
    content: "";
    position: absolute;
    top: 3.125rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 94.5rem;
    height: 100%;
    background: url("../img/access_bgd.png") no-repeat 1.125rem top/94.5rem auto;
    z-index: 0;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  .access .access_bgd-02 {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 94.5rem;
    height: 100%;
    background: url("../img/access_bgd_02.png") no-repeat 1.125rem 80%/94.5rem auto;
    z-index: 0;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
}
@media (max-width: 768px) {
  .access {
    padding: 3.75rem 0 4.375rem;
  }
  .access:before {
    display: none;
  }
  .access .primary-title_sub {
    margin-top: 0.625rem;
  }
}
.access_inner {
  position: relative;
  z-index: 1;
}
.access_ttl {
  margin-bottom: 2.625rem;
}
.access_ttl_box {
  width: 9.5625rem;
  height: 4.0625rem;
}
@media (max-width: 768px) {
  .access_ttl_box {
    width: 9rem;
    height: 3.8125rem;
  }
}
.access_item {
  margin: 0 auto;
  padding: 1.75rem 2rem 2.1875rem;
  width: 37.5rem;
  max-width: 100%;
  background-color: #fff;
  border-radius: 1.875rem;
  -webkit-box-shadow: 0.625rem 0.625rem 0px #1FB1EB;
          box-shadow: 0.625rem 0.625rem 0px #1FB1EB;
}
@media (max-width: 768px) {
  .access_item {
    margin-left: 0;
    padding: 1.75rem 1.5625rem 2.6875rem;
    width: calc(100% - 0.625rem);
  }
}
.access_item + .access_item {
  margin-top: 3.375rem;
}
.access_item_inner {
  margin: 0 auto;
  width: 25.8125rem;
  max-width: 100%;
}
.access_item_date {
  text-align: center;
}
.access_item_date span {
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  color: #035475;
  line-height: 1;
  position: relative;
  z-index: 1;
}
.access_item_date span:after {
  content: "";
  position: absolute;
  left: -0.1875rem;
  bottom: -0.125rem;
  width: calc(100% + 0.3125rem);
  height: 0.875rem;
  background-color: #FFFB8B;
  -webkit-transform: rotate(-3deg);
          transform: rotate(-3deg);
  z-index: -1;
}
.access_item_date img {
  margin: 0 auto;
  width: auto;
  height: 2.3125rem;
}
.access_item_ttl {
  margin-top: 1.25rem;
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
}
.access_item_sub-ttl {
  margin-top: 0.875rem;
  font-size: 0.875rem;
  line-height: 1.875rem;
  font-weight: 500;
  text-align: center;
}
.access_item_sub-ttl .note {
  margin-top: -0.1875rem;
  display: block;
  font-size: 0.75rem;
}
.access_item_img {
  margin: 0.8125rem auto 0;
  width: 18.125rem;
}
.access_item_img img {
  width: 100%;
}
.access_item_desc {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: 500;
}
@media (min-width: 769px) {
  .access_item_desc {
    margin-left: auto;
    margin-right: auto;
    max-width: 18.125rem;
    text-align: left;
  }
}
.access_item_btn {
  margin-top: 1.25rem;
}
@media (max-width: 768px) {
  .access_item_btn {
    margin-left: 0.1875rem;
  }
}

.tips {
  padding: 4.875rem 0 5.5rem;
  background-color: #fff;
  position: relative;
}
@media (max-width: 768px) {
  .tips {
    padding: 3.75rem 0 4.4375rem;
  }
}
.tips_deco {
  position: absolute;
  top: -5rem;
  left: 50%;
  -webkit-transform: translateX(-24.625rem);
          transform: translateX(-24.625rem);
  width: 4.75rem;
  z-index: 2;
}
.tips_deco img {
  width: 100%;
}
.tips_ttl_box {
  width: 23.0625rem;
  height: 4.0625rem;
}
@media (max-width: 768px) {
  .tips_ttl_box {
    width: 19.25rem;
    height: 3.8125rem;
  }
}
.tips_list {
  margin: 2.375rem auto 0;
  padding: 1.3125rem 1.0625rem;
  width: 37.5rem;
  max-width: 100%;
  background-color: #E6F8FD;
  border-radius: 1.875rem;
  -webkit-box-shadow: 0.625rem 0.625rem 0px #1FB1EB;
          box-shadow: 0.625rem 0.625rem 0px #1FB1EB;
  position: relative;
  left: -0.25rem;
}
@media (max-width: 768px) {
  .tips_list {
    left: -0.25rem;
    padding: 0.625rem 1.25rem;
    width: calc(100% - 0.625rem);
  }
}
.tips_list_inner {
  margin: 0 auto;
  width: 80%;
}
@media (max-width: 768px) {
  .tips_list_inner {
    width: 100%;
  }
}
.tips_item {
  border-bottom: 1px solid #1FB1EB;
}
.tips_item:last-child {
  border: none;
}
.tips_item a {
  padding: 0 0.625rem;
  width: 100%;
  height: 3.6875rem;
  line-height: 3.75rem;
  position: relative;
  font-size: 1rem;
  font-weight: bold;
  display: block;
}
.tips_item a span {
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
.tips_item a:after {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  background: #1FB1EB url("../img/arrow_white.svg") no-repeat 50% center/0.4375rem;
  border-radius: 100%;
  position: absolute;
  right: 0;
  top: 0.625rem;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media (min-width: 769px) and (hover: hover) {
  .tips_item a:hover span {
    opacity: 0.6;
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .tips_item a:hover:after {
    background-color: #9A9A9A;
    background-position-x: 57%;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
}

.share {
  padding: 5.0625rem 0;
  background-color: #E6F7FD;
}
@media (max-width: 768px) {
  .share {
    padding: 3.75rem 0 3.75rem;
  }
}
.share_inner {
  margin: 0 auto;
  width: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  .share_inner {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.share_ttl_box {
  width: 17.375rem;
  height: 11.0625rem;
}
@media (max-width: 768px) {
  .share_ttl_box {
    width: 15.875rem;
    height: 10.0625rem;
  }
  .share_ttl_box img {
    width: auto;
    height: 100%;
  }
}
.share_ttl {
  padding-left: 0.375rem;
  width: 44%;
}
@media (max-width: 768px) {
  .share_ttl {
    width: 100%;
  }
}
.share_sub-ttl {
  margin-top: 2rem;
  font-size: 1.125rem;
  font-weight: 500;
}
@media (max-width: 768px) {
  .share_sub-ttl {
    margin-top: 1.8125rem;
    margin-left: -1.25rem;
    margin-right: -1.25rem;
    font-size: 1rem;
    line-height: 1.875;
  }
}
.share_img {
  margin-right: 1.75rem;
  width: 24rem;
  position: relative;
}
@media (max-width: 768px) {
  .share_img {
    margin-top: 3.6875rem;
    margin-right: 0;
    width: 100%;
  }
}
.share_btn a {
  width: 100%;
  height: 16.0625rem;
  position: absolute;
  left: 0;
  top: 4.625rem;
  z-index: 1;
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
}
@media (min-width: 769px) and (hover: hover) {
  .share_btn a:hover {
    background-color: rgba(255, 255, 255, 0.3);
    -webkit-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out;
  }
}
@media (max-width: 768px) {
  .share_btn a {
    height: 14.6875rem;
  }
}

.contact_share-sns {
  margin-top: 2.5rem;
  margin-left: -0.375rem;
}
@media (max-width: 768px) {
  .contact_share-sns {
    margin-top: 2.375rem;
    margin-left: -0.75rem;
  }
}
.contact_share-sns_ttl {
  color: #0AAFE8;
  font-size: 1.625rem;
  font-weight: 600;
  text-align: center;
}
.contact_share-sns ul {
  margin-top: 0.8125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
}
.contact_share-sns ul li a {
  display: block;
  width: 2.625rem;
  height: 2.625rem;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
@media (min-width: 769px) and (hover: hover) {
  .contact_share-sns ul li a:hover {
    opacity: 0.7;
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
}

.faq {
  padding: 4.8125rem 0 5.1875rem;
  background-color: #F1F1F1;
}
@media (max-width: 768px) {
  .faq {
    padding: 3.75rem 0 4rem;
  }
}
.faq_ttl_box {
  width: 6.8125rem;
  height: 4.0625rem;
}
@media (max-width: 768px) {
  .faq_ttl_box {
    width: 6.375rem;
    height: 3.8125rem;
  }
}
.faq_list {
  margin: 0 auto;
  margin-top: 1.9375rem;
  max-width: 56.25rem;
  width: 100%;
}
.faq_item {
  background-color: #fff;
}
.faq_item + .faq_item {
  margin-top: 0.625rem;
}
@media (max-width: 768px) {
  .faq_item + .faq_item {
    margin-top: 0.5625rem;
  }
}
.faq_item_head {
  font-size: 0.875rem;
  font-weight: bold;
  display: block;
  width: 100%;
  padding: 1.25rem 3.25rem;
  position: relative;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 768px) {
  .faq_item_head {
    padding: 1.3125rem 0.9375rem 1.25rem 3.25rem;
  }
}
.faq_item_head:before {
  content: "Q";
  position: absolute;
  top: 1.0625rem;
  left: 1.25rem;
  font-size: 1.625rem;
  font-weight: bold;
  color: #05A0E2;
  line-height: 1;
}
@media (min-width: 769px) and (hover: hover) {
  .faq_item_head:hover {
    opacity: 0.7;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
}
.faq_item_content {
  margin-top: -0.375rem;
  padding: 0 3.25rem 1.125rem;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  font-weight: 500;
}
@media (max-width: 768px) {
  .faq_item_content {
    padding: 0 2.5rem 1.125rem 3.25rem;
  }
}
.faq_btn {
  margin-top: 2.5rem;
}
.faq_btn a {
  width: 21.875rem;
  line-height: 1.375;
}
@media (max-width: 768px) {
  .faq_btn a {
    width: 100%;
    background-position-x: 94.5%;
  }
}

.contact {
  padding: 4.9375rem 0 7.375rem;
  background-color: #fff;
}
@media (max-width: 768px) {
  .contact {
    padding: 3.75rem 0 4.9375rem;
  }
}
.contact_ttl_box {
  width: 12.3125rem;
  height: 4.0625rem;
}
@media (max-width: 768px) {
  .contact_ttl_box {
    width: 11.5rem;
    height: 3.8125rem;
  }
}
.contact_info {
  margin-top: 1.875rem;
  text-align: center;
  font-weight: 500;
  line-height: 1.6875;
}
@media (max-width: 768px) {
  .contact_info {
    font-size: 0.875rem;
    line-height: 1.5714285714;
  }
}

.language-modal {
  position: fixed;
  inset: 0;
  background: #F1F1F1;
  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;
  z-index: 9999;
  display: none;
}
@media (max-width: 768px) {
  .language-modal {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    padding-bottom: 3.125rem;
  }
}
.language-modal-button-close {
  width: 3.375rem;
  height: 3.375rem;
  position: absolute;
  top: 3rem;
  right: 4.1875rem;
  z-index: 999;
  background: url("../common/img/btn_close_modal.png") no-repeat center center/100% 100%;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
@media (min-width: 769px) {
  .language-modal-button-close:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
}
@media (max-width: 768px) {
  .language-modal-button-close {
    top: 2.5625rem;
    right: 1.875rem;
    width: 2.5rem;
    height: 2.5rem;
  }
}
.language-modal .language-selector {
  margin-top: -3.6875rem;
}
@media (max-width: 768px) {
  .language-modal .language-selector {
    margin-top: 6.375rem;
  }
}
.language-modal .language-selector h3 {
  margin-bottom: 2.5rem;
  font-size: 1rem;
  line-height: 1.625;
  font-weight: bold;
  text-align: center;
}
.language-modal .language-selector .btn-select-lang {
  width: 20rem;
  height: 3.25rem;
  background-color: #fff;
  border: 1px solid #05A0E2;
  color: #05A0E2;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1;
  font-weight: bold;
  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;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.language-modal .language-selector .btn-select-lang + .btn-select-lang {
  margin-top: 0.625rem;
}
@media (min-width: 769px) and (hover: hover) {
  .language-modal .language-selector .btn-select-lang:hover {
    background-color: #05A0E2;
    color: #fff;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
}
@media (max-width: 768px) {
  .language-modal .language-selector .btn-select-lang {
    width: 18.125rem;
    height: 3.25rem;
  }
}