@charset "UTF-8";

/*///////////////////////////////////////////////////
//
//            ▼ ベース設定 ▼
//
///////////////////////////////////////////////////*/
body {
  -webkit-text-size-adjust: 100%;
}

html {
  color: #303030;
  font-size: 3.846vw;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
}

@media screen and (min-width: 420px) {
  html {
    font-size: 18px;
  }
}

a {
  color: #3C60AE;
  display: block;
}

.en {
  font-family: "Oswald", sans-serif;
}

#wrapper {
  width: 100%;
  height: 100%;
}

section,
.section {
  width: 100%;
  height: auto;
  position: relative;
}

.l_container {
  width: 100%;
  padding: 0 1rem;
}

.container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.m_container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.s_container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.is_pc {
  display: none;
}

.is_hidden_tab {
  display: none;
}

.objectCover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover;object-position: 50% 50%;";
}

.objectContain {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
  font-family: "object-fit: contain;object-position: 50% 50%;";
}

.point_reader {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.inertia {
  -webkit-overflow-scrolling: touch;
}

.preload * {
  transition: none;
}

/*///////////////////////////////////////////////////
//
//            ▼ ナビ ▼
//
///////////////////////////////////////////////////*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50000;
  background: #fff;
}

header .header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
  padding: 1rem 0;
}

header .header_inner .logo {
  line-height: 1;
  width: 51.2820512821%;
  display: flex;
  align-items: center;
  margin: 0 0 0 1rem;
}

header .header_inner .logo a {
  width: 100%;
}

header .header_inner .logo a img {
  display: block;
  width: 100%;
  height: auto;
}

header .header_inner nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
  background: linear-gradient(180deg, #085D99 0%, #51A4DD 100%);
  transition: 0.3s;
}

header .header_inner nav.active {
  right: 0;
}

header .header_inner nav .logo {
  line-height: 1;
  width: 51.2820512821%;
  display: flex;
  align-items: center;
  margin: 1rem 0 0 1rem;
}

header .header_inner nav ul {
  margin: 2.1333333333rem 0 0;
  padding: 0 1rem;
}

header .header_inner nav ul li a {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.01em;
  text-align: center;
  color: #fff;
  width: 100%;
  padding: 1.4rem 1rem;
}

header .header_inner nav .contact_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1.9333333333rem 0 0;
  padding: 0 1rem;
}

header .header_inner nav .contact_box .btn,
header .header_inner nav .contact_box .tel {
  display: block;
  width: 100%;
}

header .header_inner nav .contact_box .btn a,
header .header_inner nav .contact_box .tel a {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 43.3333333333rem;
  background: #fff;
  padding: 1.6rem 1rem;
}

header .header_inner nav .contact_box .btn a span,
header .header_inner nav .contact_box .tel a span {
  font-size: 1.0666666667rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #085d99;
}

header .header_inner nav .contact_box .btn {
  order: 1;
}

header .header_inner nav .contact_box .tel {
  order: 2;
  margin: 1.3333333333rem 0 0;
}

header .header_inner nav .contact_box .tel a {
  color: #085d99;
}

header .header_inner nav .contact_box .tel a svg {
  font-weight: 900;
  letter-spacing: unset;
  line-height: 1;
  color: #085d99;
  margin-right: 0.5333333333rem;
}

header .header_inner nav .contact_box .tel .txt {
  display: block;
  font-size: 0.9333333333rem;
  font-weight: 400;
  text-align: center;
  color: #fff;
  margin: 0.5333333333rem 0 0;
}

header .header_inner nav .contact_box .lang {
  order: 3;
  margin: 2.2rem 0 0;
}

header .header_inner nav .contact_box .lang .lang_list .lang_list_in {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.3333333333rem;
}

header .header_inner nav .contact_box .lang .lang_list .lang_list_in p {
  color: #085d99;
  opacity: 0.7;
}

header .header_inner nav .contact_box .lang .lang_list .lang_list_in p,
header .header_inner nav .contact_box .lang .lang_list .lang_list_in a {
  width: fit-content;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
}

header .header_inner nav .contact_box .lang .lang_list .lang_list_in p,
header .header_inner nav .contact_box .lang .lang_list .lang_list_in a:not(:last-of-type) {
  position: relative;
}

header .header_inner nav .contact_box .lang .lang_list .lang_list_in p::after,
header .header_inner nav .contact_box .lang .lang_list .lang_list_in a:not(:last-of-type)::after {
  content: "/";
  position: absolute;
  top: 50%;
  right: -0.6666666667rem;
  transform: translateY(-50%);
}

header .header_inner .menu_open {
  width: 3.6rem;
  height: 2rem;
  position: relative;
}

header .header_inner .menu_open span {
  position: absolute;
  top: 50%;
  left: 50%;
  background: #085d99;
  width: 40%;
  height: 2px;
  transition: 0.3s;
}

header .header_inner .menu_open span:nth-of-type(1) {
  transform: translate(-50%, -50%) translateY(7px);
}

header .header_inner .menu_open span:nth-of-type(2) {
  transform: translate(-50%, -50%);
}

header .header_inner .menu_open span:nth-of-type(3) {
  transform: translate(-50%, -50%) translateY(-7px);
}

header .header_inner .menu_open.active span {
  background: #fff;
}

header .header_inner .menu_open.active span:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}

header .header_inner .menu_open.active span:nth-of-type(2) {
  opacity: 0;
}

header .header_inner .menu_open.active span:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/*///////////////////////////////////////////////////
//
//            ▼ ナビ【英語・ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
header .header_inner.header_inner_en nav .contact_box .tel .txt .small,
header .header_inner.header_inner_vn nav .contact_box .tel .txt .small {
  display: block;
  line-height: 1;
}

/*///////////////////////////////////////////////////
//
//            ▼ ナビ【ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
header .header_inner.header_inner_vn nav .contact_box .lang .lang_list .lang_list_in a {
  position: relative;
}

header .header_inner.header_inner_vn nav .contact_box .lang .lang_list .lang_list_in a::after {
  content: "/";
  position: absolute;
  top: 50%;
  right: -0.6666666667rem;
  transform: translateY(-50%);
}

header .header_inner.header_inner_vn nav .contact_box .lang .lang_list .lang_list_in p::after {
  content: none;
}

/*///////////////////////////////////////////////////
//
//            ▼ フッター ▼
//
///////////////////////////////////////////////////*/
footer {
  padding: 4.6666666667rem 0 0.6666666667rem;
  background: #03406B;
  position: relative;
}

footer::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  background: url(../images/common/footer_bg_sp.png) no-repeat;
  background-size: cover;
  width: 88.4615384615%;
  height: 21.3333333333rem;
}

footer .footer_in {
  position: relative;
  z-index: 1;
}

footer .footer_in .left .logo {
  width: 73.6111111111%;
}

footer .footer_in .left .logo a img {
  width: 100%;
}

footer .footer_in .left .left_in {
  display: flex;
  align-items: center;
  margin: 1.6rem 0 0;
}

footer .footer_in .left .left_in .left_txt {
  width: fit-content;
  margin: 0 2.1333333333rem 0 0;
}

footer .footer_in .left .left_in .left_txt p {
  font-size: 0.9333333333rem;
  font-weight: 700;
  line-height: 1.4285714286;
  color: #fff;
}

footer .footer_in .left .left_in .left_txt p:last-of-type {
  margin-top: 0.9333333333rem;
}

footer .footer_in .left .left_in .iso {
  width: 15.5555555556%;
}

footer .footer_in .right {
  margin: 3.2rem 0 0;
}

footer .footer_in .right ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 2.4rem;
  row-gap: 1.0666666667rem;
  width: 60%;
  margin: 0 auto 0 0;
}

footer .footer_in .right ul li {
  width: fit-content;
  min-width: 5.3333333333rem;
}

footer .footer_in .right ul li a {
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: #fff;
}

footer .footer_in .link_box {
  display: flex;
  align-items: center;
  margin: 3rem 0 0;
  gap: 1.7333333333rem;
}

footer .footer_in .link_box a {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.4166666667;
  color: #fff;
}

footer .footer_in .link_box a svg {
  font-weight: 300;
  margin-left: 0.4rem;
}

footer .copyright {
  margin: 6.2666666667rem 0 0;
}

footer .copyright p {
  font-size: 0.6666666667rem;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  color: #fff;
}

/*///////////////////////////////////////////////////
//
//            ▼ フッター【英語・ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
footer .footer_in.footer_in_en .right ul li:last-of-type a,
footer .footer_in.footer_in_vn .right ul li:last-of-type a {
  white-space: nowrap;
}

/*///////////////////////////////////////////////////
//
//            ▼ 共通 ▼
//
///////////////////////////////////////////////////*/
.common_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 24rem;
  border: solid 1px #085d99;
  padding: 1.6rem 1rem;
  margin: 0 auto;
}

.common_btn a span {
  font-size: 1.0666666667rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #085d99;
}

.common_btn.white a {
  border: solid 1px #fff;
}

.common_btn.white a span {
  color: #fff;
}

.common_btn.white a::before {
  background: #fff;
}

.common_btn.blue a {
  background: #085d99;
}

.common_btn.blue a::before {
  background: #fff;
}

.common_btn.blue a span {
  color: #fff;
}

.section_ttl span {
  font-size: 2.1333333333rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.016em;
  color: #085d99;
}

.section_ttl .ttl_txt {
  font-size: 0.9333333333rem;
  font-weight: 700;
  line-height: 1;
  color: #085d99;
  margin: 0.6666666667rem 0 0;
}

.section_ttl.white span,
.section_ttl.white .ttl_txt {
  color: #fff;
}

.fadein,
.fadein02,
.fadein03 {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: ease-in-out 0.3s;
}

.fadein.active,
.fadein02.active,
.fadein03.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ01 ▼
//
///////////////////////////////////////////////////*/
.top01 {
  margin: 4rem 0 0;
}

.top01 .mv {
  padding: 0 0 4.3333333333rem;
  position: relative;
}

.top01 .mv::before {
  content: "";
  position: absolute;
  top: 0%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(94deg, #085D99 12.95%, #085D99 50.77%, #51A4DD 80.92%);
  clip-path: polygon(0% 30%, 0% 30%, 0% 69%, 0% 69%);
  z-index: -1;
  transition: ease-in 0.25s;
}

.top01 .mv.anime::before {
  clip-path: polygon(0% 30%, 100% 57%, 100% 96%, 0% 69%);
}

.top01 .mv .mv_txt {
  position: absolute;
  top: 59%;
  left: 3.8461538462%;
  transform: translateY(-50%);
  z-index: 2;
}

.top01 .mv .mv_txt span,
.top01 .mv .mv_txt h2 {
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-shadow: 4px 4px 10px rgba(71, 88, 100, 0.8);
  white-space: nowrap;
  overflow: hidden;
  width: 0%;
}

.top01 .mv .mv_txt span {
  display: block;
  font-size: 3.2rem;
  letter-spacing: 0.024em;
}

.top01 .mv .mv_txt h2 {
  font-size: 0.9333333333rem;
  margin: 1rem 0 0;
}

.top01 .mv .mv_txt.anime03 span,
.top01 .mv .mv_txt.anime03 h2 {
  animation: flowing_ttl 0.3s forwards linear;
  width: 0%;
}

.top01 .mv .mv_txt.anime03 h2 {
  animation-delay: 0.3s;
}

@keyframes flowing_ttl {
  0% {
    width: 0%;
  }

  100% {
    width: 100%;
  }
}

.top01 .mv .swiper {
  width: 82.8205128205%;
  margin: 0 0 0 auto;
  opacity: 0;
  transition: 0.3s;
}

.top01 .mv .swiper .swiper-container .swiper-wrapper .swiper-slide {
  display: block;
}

.top01 .mv .swiper .swiper-container .swiper-wrapper .swiper-slide picture img {
  width: 100%;
  height: auto;
}

.top01 .mv .swiper .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active picture img,
.top01 .mv .swiper .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-duplicate-active picture img,
.top01 .mv .swiper .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-prev picture img {
  width: 100%;
  height: auto;
  animation: zoomUp 8s linear 0s normal both;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.1);
  }
}

.top01 .mv .swiper::after {
  content: "";
  position: absolute;
  bottom: 15.4666666667rem;
  left: 3.8461538462%;
  transform: translateY(-50%);
  width: 45.1282051282%;
  height: 11.1333333333rem;
  background: url(../images/top/logo_bg.png) no-repeat;
  background-size: contain;
  opacity: 0.2;
  z-index: 2;
}

.top01 .mv .swiper.anime02 {
  opacity: 1;
}

.top01 .mv .mv_topic {
  background: #fff;
  box-shadow: 4px 4px 10px 0px rgba(21, 38, 51, 0.1);
  margin: 5.9333333333rem 0 0 1.6rem;
  padding: 1.3333333333rem 1.6rem;
  position: relative;
  z-index: 1;
  opacity: 0;
  transition: 0.3s;
}

.top01 .mv .mv_topic .news {
  width: fit-content;
  font-size: 1.4666666667rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  color: #085d99;
  position: relative;
}

.top01 .mv .mv_topic .news::before {
  content: "/";
  position: absolute;
  top: 50%;
  right: -1.0666666667rem;
  transform: translateY(-50%);
  font-size: 1.2rem;
  font-weight: 400;
  color: #085d99;
}

.top01 .mv .mv_topic .topic .date {
  font-size: 0.8rem;
  font-weight: 700;
  color: #085d99;
}

.top01 .mv .mv_topic .topic .ttl_txt {
  font-size: 0.9333333333rem;
  font-weight: 400;
  color: #085d99;
}

.top01 .mv .mv_topic.anime04 {
  opacity: 1;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ01【英語・ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
.top01.en01 .mv .mv_txt .en,
.top01.vn01 .mv .mv_txt .en {
  padding-bottom: 0.4rem;
}

.top01.en01 .mv .mv_txt h2,
.top01.vn01 .mv .mv_txt h2 {
  line-height: 1.65;
  padding-bottom: 0.4rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ01【ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
.top01.vn01 .mv .mv_txt {
  top: 57%;
}

.top01.vn01 .mv .mv_txt .en {
  line-height: 1.25;
}

.top01.vn01 .mv .mv_topic .topic .ttl_txt {
  line-height: 1.65;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ02 ▼
//
///////////////////////////////////////////////////*/
.top02 .top02_ttl {
  display: flex;
  align-items: center;
}

.top02 .top02_ttl span,
.top02 .top02_ttl p {
  font-size: 0.6666666667rem;
  line-height: 1.4;
  color: #085d99;
}

.top02 .top02_ttl span {
  font-weight: 700;
  letter-spacing: 0.05em;
}

.top02 .top02_ttl p {
  font-weight: 400;
  margin: 0 0 0 0.5333333333rem;
  position: relative;
}

.top02 .top02_ttl p::before {
  content: "-";
  position: absolute;
  top: 50%;
  left: -0.2666666667rem;
  transform: translateY(-50%);
}

.top02 figure:first-of-type {
  margin: 1.7333333333rem 0 0;
}

.top02 figure:last-of-type {
  margin: -2rem 0 0;
}

.top02 figure:last-of-type img {
  width: 100%;
}

.top02 .common_btn {
  position: relative;
  z-index: 1;
}

.top02 .common_btn a {
  background: #085d99;
}

.top02 .common_btn a::before {
  background: #fff;
}

.top02 .common_btn a span {
  color: #fff;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ03 ▼
//
///////////////////////////////////////////////////*/
.top03 {
  padding: 6.3333333333rem 0 0;
  position: relative;
}

.top03::before {
  content: "";
  position: absolute;
  top: -1%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(94deg, #085D99 50.77%, #51A4DD 80.92%);
  clip-path: polygon(100% 0%, 100% 0%, 100% 42%, 100% 42%);
  transition: ease-in 0.3s;
}

.top03.bg_ribbon.anime::before {
  clip-path: polygon(0% 10%, 100% 0%, 100% 42%, 0% 52%);
}

.top03 .l_container {
  position: relative;
  z-index: 2;
}

.top03 .l_container .section_ttl span,
.top03 .l_container .section_ttl .ttl_txt {
  color: #fff;
}

.top03 .l_container .top03_in {
  margin: 2.1333333333rem 0 0;
}

.top03 .l_container .top03_in .item {
  box-shadow: 4px 4px 10px 0px rgba(21, 38, 51, 0.1);
  position: relative;
  margin: 1.3333333333rem 0 0;
}

.top03 .l_container .top03_in .item figure {
  width: 100%;
  position: relative;
}

.top03 .l_container .top03_in .item figure::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(5, 35, 56, 0.42);
}

.top03 .l_container .top03_in .item .txt_box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95%;
  z-index: 2;
}

.top03 .l_container .top03_in .item .txt_box .txt_ttl {
  font-size: 0.6666666667rem;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  text-align: center;
}

.top03 .l_container .top03_in .item .txt_box .txt_ttl span {
  display: block;
  font-size: 1.8666666667rem;
  font-weight: 400;
  line-height: 1.4642857143;
  letter-spacing: 0.014em;
}

.top03 .l_container .top03_in .item .txt_box .txt {
  font-size: 0.9333333333rem;
  font-weight: 500;
  text-align: center;
  color: #fff;
  margin: 1.8666666667rem 0 0;
}

.top03 .l_container .top03_in .item:first-of-type {
  margin-top: 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ03【英語】 ▼
//
///////////////////////////////////////////////////*/
.top03.en03 .top03_in .item a .txt_box .txt_ttl span,
.top03.vn03 .top03_in .item a .txt_box .txt_ttl span {
  line-height: 1.65;
}

.top03.en03 .top03_in .item a .txt_box .txt,
.top03.vn03 .top03_in .item a .txt_box .txt {
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 1.6;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ04 ▼
//
///////////////////////////////////////////////////*/
.top04 {
  padding: 8rem 0 0;
  position: relative;
}

.top04::before {
  content: "";
  position: absolute;
  top: 83%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(94deg, #085D99 50.77%, #51A4DD 80.92%);
  opacity: 0.8;
  clip-path: polygon(0% 0%, 0% 0%, 0% 20%, 0% 20%);
  z-index: 1;
  transition: ease-in 0.3s;
}

.top04.bg_ribbon.anime::before {
  clip-path: polygon(0% 0%, 100% 8%, 100% 28%, 0% 20%);
}

.top04::after {
  content: "";
  position: absolute;
  top: -4%;
  right: 0;
  width: calc(100% - 2.4rem);
  height: 100%;
  background: url(../images/top/top04_img04_sp.png) no-repeat;
  background-size: contain;
  margin: 0 0 0 2.4rem;
}

.top04 .l_container {
  position: relative;
  z-index: 2;
}

.top04 .l_container .top04_ttl .sub_txt {
  font-size: 0.9333333333rem;
  font-weight: 400;
  color: #085d99;
  margin: 1.2rem 0 0 0;
}

.top04 .l_container .top04_in {
  display: flex;
  flex-direction: column;
  gap: 1.3333333333rem;
  margin: 2.1333333333rem 0 0;
}

.top04 .l_container .top04_in .item figure {
  box-shadow: 4px 4px 10px 0px rgba(21, 38, 51, 0.1);
}

.top04 .l_container .top04_in .item figure img {
  width: 100%;
}

.top04 .l_container .top04_in .item .capture {
  font-size: 0.9333333333rem;
  font-weight: 400;
  color: #085d99;
  text-align: right;
  margin: 0.5333333333rem 0 0;
}

.top04 .l_container .top04_in .item:last-of-type .capture {
  color: #fff;
}

.top04 .l_container .common_btn {
  margin: 1.8666666667rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ04【英語・ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
.top04.en04 {
  padding-bottom: 5.3333333333rem;
}

.top04.en04::before {
  top: 76%;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA ▼
//
///////////////////////////////////////////////////*/
.contact_cta {
  margin: -4.2666666667rem 0 0;
  position: relative;
}

.contact_cta .parallax_bg {
  animation: parallax-img-anim linear;
  animation-timeline: scroll();
  position: relative;
}

.contact_cta .parallax_bg .parallax_img {
  width: 100%;
}

.contact_cta .parallax_contact {
  position: absolute;
  bottom: 8%;
  left: 1rem;
  width: calc(100% - 2rem);
  background: #fff;
  box-shadow: 4px 4px 20px 0px rgba(0, 0, 0, 0.25);
  padding: 2.6666666667rem 2rem;
  margin: 0 auto;
  z-index: 2;
  animation: parallax-contact-anim linear;
  animation-timeline: scroll();
}

.contact_cta .parallax_contact .section_ttl {
  font-size: 0.9333333333rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: #085d99;
}

.contact_cta .parallax_contact .section_ttl span {
  display: block;
  font-size: 2.1333333333rem;
  font-weight: 400;
  letter-spacing: 0.016em;
  margin: 0 0 0.6666666667rem;
}

.contact_cta .parallax_contact p {
  font-size: 0.9333333333rem;
  font-weight: 400;
  text-align: center;
  color: #383838;
}

.contact_cta .parallax_contact p:first-of-type {
  margin: 1.2rem 0 0;
}

.contact_cta .parallax_contact p:nth-of-type(2),
.contact_cta .parallax_contact p:last-of-type {
  margin: 0.5333333333rem 0 0;
}

.contact_cta .parallax_contact .common_btn {
  display: block;
  max-width: 43.3333333333rem;
  margin: 1.3333333333rem auto 0;
}

.contact_cta .parallax_contact .common_btn.blue {
  margin-top: 2.1333333333rem;
}

.contact_cta .parallax_contact .common_btn:last-of-type a svg {
  font-size: 1.0666666667rem;
  font-weight: 900;
  line-height: 1;
  color: #085d99;
  margin-right: 0.5333333333rem;
}

.contact_cta .parallax_contact .common_btn:last-of-type a span {
  letter-spacing: normal;
}

@keyframes parallax-img-anim {
  from {
    transform: translateY(6.6666666667rem);
  }

  to {
    transform: translateY(2.6666666667rem);
  }
}

@keyframes parallax-contact-anim {
  from {
    transform: translateY(-10.6666666667rem);
  }

  to {
    transform: translateY(1.3333333333rem);
  }
}

.access_cta .txt_box {
  width: 100%;
  background: linear-gradient(120deg, rgba(76, 124, 157, 0.73) -24.71%, #085D99 39%);
  padding: 2.6666666667rem 1rem;
}

.access_cta .txt_box .section_ttl {
  text-align: center;
}

.access_cta .txt_box .section_ttl span,
.access_cta .txt_box .section_ttl .ttl_txt {
  color: #fff;
}

.access_cta .txt_box .txt {
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 0.9333333333rem;
  font-weight: 400;
  color: #fff;
  margin: 2.1333333333rem 0.9333333333rem 0 0;
}

.access_cta .txt_box .txt svg {
  font-size: 0.9333333333rem;
  font-weight: 900;
  margin-right: 0.5333333333rem;
}

.access_cta .txt_box .common_btn {
  margin: 1.7333333333rem 0 0;
}

.access_cta .txt_box .common_btn a {
  background: #fff;
}

.access_cta .txt_box .common_btn a span {
  color: #085d99;
}

.access_cta .map {
  width: 100%;
}

.access_cta .map iframe {
  aspect-ratio: 65/36;
  width: 100%;
  height: 100%;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA【英語】 ▼
//
///////////////////////////////////////////////////*/
.contact_cta.contact_cta_en .parallax_contact .flex .left p {
  line-height: 1.35;
}

.contact_cta.contact_cta_en .parallax_contact .flex .right p {
  line-height: 1.35;
}

.contact_cta.contact_cta_en .parallax_contact .flex .right p .small {
  font-size: 0.6666666667rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 下層共通 ▼
//
///////////////////////////////////////////////////*/
.lower_mv {
  margin: clamp(60px, 12.109375vw, 93px) 0 0;
}

.lower_mv .mv {
  position: relative;
  padding: 1rem 0;
}

.lower_mv .mv::before {
  position: absolute;
  content: "";
  z-index: -1;
  top: clamp(110px, 28.6458333333vw, 220px);
  left: 0;
  width: 100%;
  height: calc(72% + 4.1333333333rem);
  background: linear-gradient(94deg, #085D99 12.95%, #085D99 50.77%, #51A4DD 80.92%);
  clip-path: polygon(0 0, 0 0, 0 75%, 0 75%);
  transition: 0.3s ease-in;
}

@media screen and (max-width: 555px) {
  .lower_mv .mv::before {
    height: calc(64% + 6.2rem);
    clip-path: polygon(0 0, 0 0, 0 80%, 0 80%);
  }
}

.lower_mv .mv.anime::before {
  clip-path: polygon(0 0, 100% 25%, 100% 100%, 0 75%);
}

@media screen and (max-width: 550px) {
  .lower_mv .mv.anime::before {
    clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 80%);
  }
}

.lower_mv .mv .lower_mv_txt {
  position: absolute;
  z-index: 2;
  top: 35%;
  left: 12.0512820513%;
  transform: translateY(-50%);
}

.lower_mv .mv .lower_mv_txt .breadcramb {
  margin-bottom: 0.6666666667rem;
}

.lower_mv .mv .lower_mv_txt .breadcramb ul {
  display: flex;
  column-gap: 0.5333333333rem;
}

.lower_mv .mv .lower_mv_txt .breadcramb ul li {
  font-size: 0.6666666667rem;
  color: #fff;
  font-weight: 700;
}

.lower_mv .mv .lower_mv_txt .breadcramb ul li a {
  color: #fff;
  opacity: 0.7;
}

.lower_mv .mv .lower_mv_txt .lower_mv_ttl .en,
.lower_mv .mv .lower_mv_txt .lower_mv_ttl .ja {
  display: block;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  width: 0%;
}

.lower_mv .mv .lower_mv_txt .lower_mv_ttl .en {
  font-size: 2.5333333333rem;
}

.lower_mv .mv .lower_mv_txt .lower_mv_ttl .ja {
  font-size: 0.9333333333rem;
  margin-top: 0.6666666667rem;
}

.lower_mv .mv .lower_mv_txt .lower_mv_ttl.anime03 .en,
.lower_mv .mv .lower_mv_txt .lower_mv_ttl.anime03 .ja {
  animation: flowing_lower_ttl 0.28s forwards linear;
  width: 0%;
}

.lower_mv .mv .lower_mv_txt .lower_mv_ttl.anime03 .ja {
  animation-delay: 0.22s;
}

@keyframes flowing_lower_ttl {
  0% {
    width: 0%;
  }

  100% {
    width: 100%;
  }
}

.lower_mv .mv .mv_img {
  width: 96.1538461538%;
  margin-left: auto;
  opacity: 0;
  transition: 0.28s;
}

.lower_mv .mv .mv_img.anime02 {
  opacity: 1;
}

.lower_mv .mv .txt {
  width: 92.3076923077%;
  margin: 1.0666666667rem auto 0;
  opacity: 0;
  transition: 0.3s;
}

.lower_mv .mv .txt p {
  font-size: 0.8666666667rem;
  color: #fff;
}

.lower_mv .mv .txt.anime04 {
  opacity: 1;
}

.lower_mv02 {
  margin: clamp(60px, 12.109375vw, 93px) 0 0;
  margin: 4rem 0 0;
}

.lower_mv02 .mv {
  position: relative;
  padding: 1rem 0;
}

.lower_mv02 .mv::before {
  position: absolute;
  content: "";
  z-index: -1;
  top: clamp(110px, 28.6458333333vw, 220px);
  top: 1rem;
  left: 0;
  width: 100%;
  height: 21.8rem;
  background: linear-gradient(94deg, #085D99 12.95%, #085D99 50.77%, #51A4DD 80.92%);
  clip-path: polygon(0 0, 0 0, 0 75%, 0 75%);
  transition: 0.3s ease-in;
}

@media screen and (max-width: 555px) {
  .lower_mv02 .mv::before {
    clip-path: polygon(0 0, 0 0, 0 80%, 0 80%);
  }
}

.lower_mv02 .mv.anime::before {
  clip-path: polygon(0 0, 100% 25%, 100% 100%, 0 75%);
}

@media screen and (max-width: 550px) {
  .lower_mv02 .mv.anime::before {
    clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 80%);
  }
}

.lower_mv02 .mv .lower_mv_txt {
  padding: 18rem 0 0 12.0512820513%;
  transform: translateY(-50%);
}

.lower_mv02 .mv .lower_mv_txt .breadcramb {
  margin-bottom: 0.6666666667rem;
}

.lower_mv02 .mv .lower_mv_txt .breadcramb ul {
  display: flex;
  column-gap: 0.5333333333rem;
}

.lower_mv02 .mv .lower_mv_txt .breadcramb ul li {
  font-size: 0.6666666667rem;
  color: #fff;
  font-weight: 700;
}

.lower_mv02 .mv .lower_mv_txt .breadcramb ul li a {
  color: #fff;
  opacity: 0.7;
}

.lower_mv02 .mv .lower_mv_txt .lower_mv_ttl .en,
.lower_mv02 .mv .lower_mv_txt .lower_mv_ttl .ja {
  display: block;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  width: 0%;
}

.lower_mv02 .mv .lower_mv_txt .lower_mv_ttl .en {
  font-size: 2.5333333333rem;
}

.lower_mv02 .mv .lower_mv_txt .lower_mv_ttl .ja {
  font-size: 0.9333333333rem;
  margin-top: 0.6666666667rem;
}

.lower_mv02 .mv .lower_mv_txt .lower_mv_ttl.anime03 .en,
.lower_mv02 .mv .lower_mv_txt .lower_mv_ttl.anime03 .ja {
  animation: flowing_lower_ttl 0.28s forwards linear;
  width: 0%;
}

.lower_mv02 .mv .lower_mv_txt .lower_mv_ttl.anime03 .ja {
  animation-delay: 0.22s;
}

@keyframes flowing_lower_ttl {
  0% {
    width: 0%;
  }

  100% {
    width: 100%;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ 下層共通【英語・ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
.lower_mv.lower_mv_en .mv::before,
.lower_mv.lower_mv_vn .mv::before {
  height: calc(72% + 6rem);
}

.lower_mv.lower_mv_en .mv .lower_mv_txt .lower_mv_ttl span:last-of-type,
.lower_mv.lower_mv_vn .mv .lower_mv_txt .lower_mv_ttl span:last-of-type {
  font-size: 0.9333333333rem;
  margin-top: 0.9333333333rem;
}

.lower_mv.lower_mv_en .txt p,
.lower_mv.lower_mv_vn .txt p {
  line-height: 1.75;
}

.lower_mv02.lower_mv02_en .mv .lower_mv_txt .lower_mv_ttl .en:last-of-type,
.lower_mv02.lower_mv02_vn .mv .lower_mv_txt .lower_mv_ttl .en:last-of-type {
  font-size: 0.9333333333rem;
  margin-top: 0.9333333333rem;
  padding-bottom: 0.4rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 製品紹介02 ▼
//
///////////////////////////////////////////////////*/
.product02 {
  padding: 7.3333333333rem 0 2.6666666667rem;
}

.product02 .product02_in .txt {
  margin-top: 2.1333333333rem;
}

.product02 .product02_in .txt p {
  font-size: 0.9333333333rem;
}

.product02 .product02_in .product_box {
  margin-top: 2.1333333333rem;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: clamp(15px, 3.90625vw, 30px);
}

/*///////////////////////////////////////////////////
//
//            ▼ 製品紹介03 ▼
//
///////////////////////////////////////////////////*/
.product03 {
  padding: clamp(140px, 26.0416666667vw, 200px) 0 33.3333333333rem;
}

.product03::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(-120deg, #085D99 50.77%, #51A4DD 80.92%);
  clip-path: polygon(0 4%, 100% 0%, 100% 87%, 0 91%);
}

@media screen and (min-width: 551px) and (max-width: 767px) {
  .product03::before {
    clip-path: polygon(0 6%, 100% 0%, 100% 90%, 0 96%);
  }
}

.product03 .product03_in {
  position: relative;
  z-index: 2;
  color: #fff;
}

.product03 .product03_in h3 {
  position: relative;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  padding-left: 1.7333333333rem;
  margin-bottom: 1.3333333333rem;
}

.product03 .product03_in h3::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 1.2rem;
  height: 1.2rem;
  background: #fff;
}

.product03 .product03_in .box01 {
  margin-top: 4rem;
}

.product03 .product03_in .box01 .product_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6666666667rem;
}

@media screen and (max-width: 550px) {
  .product03 .product03_in .box01 .product_list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.product03 .product03_in .box01 .product_list li {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 2rem 2.3333333333rem;
}

@media screen and (min-width: 551px) and (max-width: 767px) {
  .product03 .product03_in .box01 .product_list li {
    padding: 2rem 0.9333333333rem;
  }
}

.product03 .product03_in .box01 .product_list li figure {
  width: clamp(80px, 13.0208333333vw, 100px);
  margin-inline: auto;
}

.product03 .product03_in .box01 .product_list li p {
  font-size: 0.9333333333rem;
  font-weight: 700;
  color: #085d99;
  margin-top: 0.8rem;
}

.product03 .product03_in .box02 {
  margin-top: 3.2rem;
}

.product03 .product03_in .box02 .table {
  width: 100%;
}

.product03 .product03_in .box02 .table+.table {
  margin-top: 2.1333333333rem;
}

.product03 .product03_in .box02 .table tr th,
.product03 .product03_in .box02 .table tr td {
  width: 50%;
  border: solid 2px #fff;
  font-weight: 700;
  line-height: 2;
  padding: 0.6666666667rem;
}

.product03 .product03_in .box02 .table tr th {
  font-size: 1.0666666667rem;
}

.product03 .product03_in .box02 .table tr th .left {
  width: fit-content;
  margin-inline: auto;
  text-align: left;
}

.product03 .product03_in .box02 .table tr td {
  font-size: 0.9333333333rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 製品紹介03【英語・ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
.product03.product_en03 .product03_in .box01 .product_list li,
.product03.product_vn03 .product03_in .box01 .product_list li {
  justify-content: flex-start;
}

.product03.product_en03 .product03_in .box01 .product_list li p,
.product03.product_vn03 .product03_in .box01 .product_list li p {
  text-align: center;
  line-height: 1.35;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA（製品紹介） ▼
//
///////////////////////////////////////////////////*/
#product .contact_cta {
  margin-top: calc(clamp(480px, 104.1666666667vw, 800px) * -1);
}

/*///////////////////////////////////////////////////
//
//            ▼ 工場設備02 ▼
//
///////////////////////////////////////////////////*/
.facility02 {
  padding: 6.6666666667rem 0 0;
}

.facility02 .facility02_in h3 {
  position: relative;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1;
  padding: 0 0 0.6666666667rem 1.3333333333rem;
  margin-bottom: 0.8rem;
  color: #085d99;
  border-bottom: solid 1px #085d99;
}

.facility02 .facility02_in h3::before {
  position: absolute;
  content: "";
  top: 0.1333333333rem;
  left: 0;
  width: 0.8rem;
  height: 0.8rem;
  background: #085d99;
}

.facility02 .facility02_in .box {
  margin-top: 1.3333333333rem;
}

.facility02 .facility02_in .box.box01 {
  margin-top: 2.1333333333rem;
}

.facility02 .facility02_in .box .item .machine_list li {
  font-size: 0.9333333333rem;
  font-weight: 700;
  color: #085d99;
}

.facility02 .facility02_in .box .item .machine_list li+li {
  margin-top: 0.5333333333rem;
}

.facility02 .facility02_in .box .item figure {
  margin-top: 1.3333333333rem;
}

.facility02 .facility02_in .box .item figure img {
  width: 100%;
  height: auto;
}

.facility02 .facility02_in .box .item .spec {
  margin-top: 1.3333333333rem;
}

.facility02 .facility02_in .box .item .spec h4 {
  font-size: 0.9333333333rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #085d99;
  text-align: center;
  padding: 1.0666666667rem;
}

.facility02 .facility02_in .box .item .spec dl {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 0.3333333333rem;
  margin-top: 0.6666666667rem;
}

.facility02 .facility02_in .box .item .spec dl dt,
.facility02 .facility02_in .box .item .spec dl dd {
  font-size: 0.9333333333rem;
  line-height: 1;
  color: #085d99;
  text-align: center;
  padding: 1.3333333333rem 1rem;
  border: solid 1px #085d99;
}

.facility02 .facility02_in .box04 {
  margin-top: 1.3333333333rem;
}

.facility02 .facility02_in .box04 dl .item {
  border-bottom: solid 1px #085d99;
}

.facility02 .facility02_in .box04 dl .item+.item {
  margin-top: 1.3333333333rem;
}

.facility02 .facility02_in .box04 dl .item dt,
.facility02 .facility02_in .box04 dl .item dd {
  font-weight: 700;
  color: #085d99;
}

.facility02 .facility02_in .box04 dl .item dt {
  position: relative;
  font-size: 1.0666666667rem;
  line-height: 1;
  padding-left: 1.3333333333rem;
  margin-bottom: 1.3333333333rem;
}

.facility02 .facility02_in .box04 dl .item dt::before {
  position: absolute;
  content: "";
  top: 0.1333333333rem;
  left: 0;
  width: 0.8rem;
  height: 0.8rem;
  background: #085d99;
}

.facility02 .facility02_in .box04 dl .item dd {
  font-size: 0.9333333333rem;
  padding-bottom: 0.6666666667rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 工場設備02【英語】 ▼
//
///////////////////////////////////////////////////*/
.facility02.facility_en02 .box .item .machine_list li {
  line-height: 1.65;
}

.facility02.facility_en02 .box .item .spec dl dt {
  line-height: 1.35;
}

.facility02.facility_en02 .box .item .spec dl dd {
  display: flex;
  justify-content: center;
  align-items: center;
}

/*///////////////////////////////////////////////////
//
//            ▼ 工場設備02【ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
.facility02.facility_vn02 .box .item .spac dl dt {
  line-height: 1.35;
}

.facility02.facility_vn02 .box .item .spac dl dd {
  display: flex;
  justify-content: center;
  align-items: center;
}

.facility02.facility_vn02 .box02 .item .spec dl,
.facility02.facility_vn02 .box03 .item .spec dl {
  grid-template-columns: 1.76fr 2fr;
}

/*///////////////////////////////////////////////////
//
//            ▼ 工場設備03 ▼
//
///////////////////////////////////////////////////*/
.facility03 {
  margin-top: 6rem;
  padding: 0 0 8rem;
}

.facility03::before {
  position: absolute;
  content: "";
  top: 52%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(-94deg, #085d99 50.77%, rgba(8, 93, 153, 0.8) 88.05%);
  clip-path: polygon(0 22%, 100% 0%, 100% 58%, 0 77%);
}

.facility03 .swiper {
  margin-top: 2.1333333333rem;
}

.facility03 .swiper .swiper-container {
  padding-bottom: 3.2rem;
}

.facility03 .swiper .swiper-container .swiper-slide video {
  aspect-ratio: 4/3;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.facility03 .swiper .swiper-container .swiper-pagination-bullet {
  background: #fff;
  opacity: 1;
}

.facility03 .swiper .swiper-container .swiper-pagination-bullet-active {
  background: #999;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA（工場設備） ▼
//
///////////////////////////////////////////////////*/
@media screen and (min-width: 551px) and (max-width: 767px) {
  #facility .contact_cta {
    margin-top: -14.6666666667rem;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介02 ▼
//
///////////////////////////////////////////////////*/
.service02 {
  padding: 6.6666666667rem 0 0;
}

.service02 .service02_in {
  display: flex;
  flex-direction: column;
  gap: 1.3333333333rem;
  margin: 2.1333333333rem 0 0;
}

.service02 .service02_in .item {
  width: 100%;
  min-height: 390px;
  background: #fff;
  box-shadow: 0px 0px 15px 0px rgba(21, 38, 51, 0.08);
  padding: 1.6rem;
}

.service02 .service02_in .item figure img {
  width: 100%;
}

.service02 .service02_in .item .txt_box {
  margin: 2.1333333333rem 0 0;
}

.service02 .service02_in .item .txt_box h3 {
  font-size: 0.8rem;
  font-weight: 500;
  color: #d0d0d0;
}

.service02 .service02_in .item .txt_box h3 span {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.012em;
  color: #085d99;
  margin: 0 0.5333333333rem 0 0;
}

.service02 .service02_in .item .txt_box .txt {
  font-size: 0.9333333333rem;
  font-weight: 400;
  margin: 0.6666666667rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介02【ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
.service02.service_vn02 .service02_in .item .txt_box h3 .en {
  display: block;
  margin-bottom: 0.2666666667rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介03 ▼
//
///////////////////////////////////////////////////*/
.service03 {
  padding: 5.0666666667rem 0 20rem;
  position: relative;
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {
  .service03 {
    padding: 5.0666666667rem 0 18.6666666667rem;
  }
}

.service03::before {
  content: "";
  position: absolute;
  top: -2.5%;
  left: 0;
  width: 100%;
  height: 102.5%;
  background: linear-gradient(-100deg, #085D99 50.77%, rgba(8, 93, 153, 0.8) 80.92%);
  clip-path: polygon(0 4%, 100% 0%, 100% 96%, 0 100%);
  z-index: -1;
}

.service03 figure {
  width: 100%;
  margin: 2.1333333333rem 0 0;
}

.service03 figure img {
  width: 100%;
}

.service03 .service03_in {
  position: absolute;
  top: 5.0666666667rem;
  left: 50%;
  transform: translateX(-50%);
  width: 92.3076923077%;
  max-width: 650px;
  height: 100%;
}

.service03 .service03_in .item {
  position: absolute;
  width: 100%;
  pointer-events: none;
}

.service03 .service03_in .item h3 {
  width: fit-content;
  font-size: 0.9333333333rem;
  font-weight: 700;
  line-height: 1;
  color: #085d99;
  background: #fff;
  border-radius: 0.5333333333rem;
  padding: 1.0666666667rem 1.2rem;
  position: relative;
  top: 0;
  pointer-events: auto;
  transition: 0.3s;
}

.service03 .service03_in .item h3::before {
  content: "";
  position: absolute;
  width: 0.9333333333rem;
  height: 0.4666666667rem;
  background: #fff;
  clip-path: polygon(40% 0%, 100% 0%, 0% 100%, 0% 100%);
}

.service03 .service03_in .item h3::after {
  content: "クリックして詳細を見る";
  position: absolute;
  bottom: calc(-1em - 8px);
  left: 0;
  width: 11.5em;
  height: 1em;
  font-size: 0.6666666667rem;
  font-weight: 400;
  line-height: 1;
  color: #fff;
  transition: 0.3s;
}

.service03 .service03_in .item .txt_part {
  width: 97.2222222222%;
  max-width: 650px;
  background: #085d99;
  border: solid 1px #fff;
  border-radius: 0.6666666667rem;
  padding: 1.3333333333rem;
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
  position: absolute;
  z-index: -1;
}

.service03 .service03_in .item .txt_part .txt {
  font-size: 0.9333333333rem;
  font-weight: 400;
  color: #fff;
}

.service03 .service03_in .item .txt_part .txt:nth-of-type(n+2) {
  margin-top: 0.6666666667rem;
}

.service03 .service03_in .item .txt_part .txt span {
  font-weight: 700;
}

.service03 .service03_in .item.item01 {
  top: 6%;
  left: 0;
}

.service03 .service03_in .item.item01 h3 {
  left: 12%;
}

.service03 .service03_in .item.item01 h3::before {
  bottom: -0.4333333333rem;
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(0% 0%, 60% 0%, 100% 100%, 100% 100%);
}

.service03 .service03_in .item.item01 h3::after {
  content: none;
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {
  .service03 .service03_in .item.item01 {
    top: 6%;
  }

  .service03 .service03_in .item.item01 h3 {
    left: 20%;
  }
}

.service03 .service03_in .item.item02 {
  top: 36.5%;
  z-index: 1;
}

.service03 .service03_in .item.item02 h3 {
  left: calc(52% - 5.201rem);
}

.service03 .service03_in .item.item02 h3::before {
  top: -0.4333333333rem;
  left: 18%;
  clip-path: polygon(0% 0%, 0% 0%, 100% 100%, 40% 100%);
}

.service03 .service03_in .item.item02 .txt_part {
  top: 2.2666666667rem;
  left: 50%;
  transform: translate(-50%);
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {
  .service03 .service03_in .item.item02 {
    top: 37%;
  }
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {
  .service03 .service03_in .item.item02 {
    top: 38%;
  }
}

.service03 .service03_in .item.item03 {
  top: 23.5%;
}

.service03 .service03_in .item.item03 h3 {
  left: calc(100% - 12.2666666667rem);
}

.service03 .service03_in .item.item03 h3::before {
  bottom: -0.4333333333rem;
  left: 74%;
}

.service03 .service03_in .item.item03 h3::after {
  top: calc(-1em - 8px);
  left: calc(100% - 11em);
}

.service03 .service03_in .item.item03 .txt_part {
  bottom: 1.8666666667rem;
  left: 0;
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {
  .service03 .service03_in .item.item03 {
    top: 24.2%;
  }
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {
  .service03 .service03_in .item.item03 {
    top: 24.8%;
  }
}

.service03 .service03_in .item.item04 {
  top: 62.5%;
}

.service03 .service03_in .item.item04 h3 {
  left: 0;
}

.service03 .service03_in .item.item04 h3::before {
  top: -0.4333333333rem;
  left: 50%;
  clip-path: polygon(0% 100%, 100% 0%, 60% 100%, 0% 100%);
}

.service03 .service03_in .item.item04 .txt_part {
  top: calc(100% - 0.8rem);
  right: 0;
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {
  .service03 .service03_in .item.item04 {
    top: 64.5%;
  }
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {
  .service03 .service03_in .item.item04 {
    top: 66%;
  }
}

.service03 .service03_in .item.item05 {
  top: 52%;
}

.service03 .service03_in .item.item05 h3 {
  left: calc(100% - 15.0926666667rem);
}

.service03 .service03_in .item.item05 h3::before {
  top: -0.4333333333rem;
  left: 32%;
  clip-path: polygon(0% 100%, 100% 0%, 60% 100%, 0% 100%);
}

.service03 .service03_in .item.item05 h3::after {
  left: calc(100% - 11em);
}

.service03 .service03_in .item.item05 .txt_part {
  top: calc(100% - 0.8rem);
  left: 0;
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {
  .service03 .service03_in .item.item05 {
    top: 53%;
  }
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {
  .service03 .service03_in .item.item05 {
    top: 54.5%;
  }
}

.service03 .service03_in .item.open h3::after {
  transform: translateY(-20px);
  opacity: 0;
}

.service03 .service03_in .item.open .txt_part {
  opacity: 1;
  visibility: visible;
}

.service03 .service03_in .item.open.item03 h3::after {
  transform: translateY(20px);
  opacity: 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介03【英語・ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
.service03.service_en03 .service03_in .item .txt_part .txt,
.service03.service_vn03 .service03_in .item .txt_part .txt {
  font-size: 0.8rem;
  line-height: 1.6;
}

.service03.service_en03 .service03_in .item.item01,
.service03.service_vn03 .service03_in .item.item01 {
  top: 7%;
}

.service03.service_en03 .service03_in .item.item01 h3,
.service03.service_vn03 .service03_in .item.item01 h3 {
  left: 8%;
}

.service03.service_en03 .service03_in .item.item01 h3::after,
.service03.service_vn03 .service03_in .item.item01 h3::after {
  content: none;
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {

  .service03.service_en03 .service03_in .item.item01,
  .service03.service_vn03 .service03_in .item.item01 {
    top: 7%;
  }

  .service03.service_en03 .service03_in .item.item01 h3,
  .service03.service_vn03 .service03_in .item.item01 h3 {
    left: 15%;
  }
}

.service03.service_en03 .service03_in .item.item02,
.service03.service_vn03 .service03_in .item.item02 {
  top: 36.5%;
}

.service03.service_en03 .service03_in .item.item02 h3,
.service03.service_vn03 .service03_in .item.item02 h3 {
  left: calc(52% - 8.0453333333rem);
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {

  .service03.service_en03 .service03_in .item.item02,
  .service03.service_vn03 .service03_in .item.item02 {
    top: 37.5%;
  }
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {

  .service03.service_en03 .service03_in .item.item02,
  .service03.service_vn03 .service03_in .item.item02 {
    top: 39.5%;
  }
}

.service03.service_en03 .service03_in .item.item03,
.service03.service_vn03 .service03_in .item.item03 {
  top: 23%;
}

.service03.service_en03 .service03_in .item.item03 h3,
.service03.service_vn03 .service03_in .item.item03 h3 {
  left: calc(100% - 16rem);
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {

  .service03.service_en03 .service03_in .item.item03,
  .service03.service_vn03 .service03_in .item.item03 {
    top: 24.2%;
  }
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {

  .service03.service_en03 .service03_in .item.item03,
  .service03.service_vn03 .service03_in .item.item03 {
    top: 25.5%;
  }
}

.service03.service_en03 .service03_in .item.item04,
.service03.service_vn03 .service03_in .item.item04 {
  top: 62%;
}

.service03.service_en03 .service03_in .item.item04 h3,
.service03.service_vn03 .service03_in .item.item04 h3 {
  left: 0;
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {

  .service03.service_en03 .service03_in .item.item04,
  .service03.service_vn03 .service03_in .item.item04 {
    top: 65%;
  }
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {

  .service03.service_en03 .service03_in .item.item04,
  .service03.service_vn03 .service03_in .item.item04 {
    top: 68.5%;
  }
}

.service03.service_en03 .service03_in .item.item05,
.service03.service_vn03 .service03_in .item.item05 {
  top: 51.5%;
}

.service03.service_en03 .service03_in .item.item05 h3,
.service03.service_vn03 .service03_in .item.item05 h3 {
  left: calc(100% - 17.1626666667rem);
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {

  .service03.service_en03 .service03_in .item.item05,
  .service03.service_vn03 .service03_in .item.item05 {
    top: 53.8%;
  }
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {

  .service03.service_en03 .service03_in .item.item05,
  .service03.service_vn03 .service03_in .item.item05 {
    top: 57.5%;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介03【英語】 ▼
//
///////////////////////////////////////////////////*/
.service03.service_en03 {
  padding-bottom: 32rem;
}

.service03.service_en03 .service03_in .item h3::after {
  content: "Click for details";
  width: 9.5em;
  left: calc(100% - 9.5em);
  font-size: min(0.7333333333rem, 12px);
  letter-spacing: 0.1em;
}

/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介03【ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
.service03.service_vn03 {
  padding-bottom: 32.6666666667rem;
}

.service03.service_vn03 .service03_in .item h3 {
  font-size: min(0.8333333333rem, 13px);
}

.service03.service_vn03 .service03_in .item h3::after {
  content: "Bấm vào để xem chi tiết";
  left: calc(100% - 14em);
  width: 14em;
  font-size: min(0.7333333333rem, 12px);
  letter-spacing: 0.1em;
}

.service03.service_vn03 .service03_in .item.item02 h3 {
  left: calc(52% - 11.642rem);
}

.service03.service_vn03 .service03_in .item.item02 h3::before {
  left: 30%;
}

@media screen and (min-width: 420px) and (max-width: 459.999px) {
  .service03.service_vn03 .service03_in .item.item02 h3 {
    left: calc(55% - 11.642rem);
  }
}

@media screen and (min-width: 420px) and (max-width: 459.999px) {
  .service03.service_vn03 .service03_in .item.item02 {
    top: 35%;
  }
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {
  .service03.service_vn03 .service03_in .item.item02 {
    top: 38%;
  }
}

.service03.service_vn03 .service03_in .item.item03 h3 {
  left: calc(100% - 15.9153333333rem);
}

.service03.service_vn03 .service03_in .item.item04 h3 {
  left: 0;
}

@media screen and (min-width: 420px) and (max-width: 459.999px) {
  .service03.service_vn03 .service03_in .item.item04 {
    top: 59%;
  }
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {
  .service03.service_vn03 .service03_in .item.item04 {
    top: 67.5%;
  }
}

.service03.service_vn03 .service03_in .item.item05 h3 {
  left: calc(100% - 24rem);
}

.service03.service_vn03 .service03_in .item.item05 h3::before {
  left: 30%;
}

@media screen and (min-width: 420px) and (max-width: 459.999px) {
  .service03.service_vn03 .service03_in .item.item05 h3 {
    left: 0;
  }
}

@media screen and (min-width: 420px) and (max-width: 459.999px) {
  .service03.service_vn03 .service03_in .item.item05 {
    top: 49%;
  }
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {
  .service03.service_vn03 .service03_in .item.item05 {
    top: 56%;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA（サービス紹介） ▼
//
///////////////////////////////////////////////////*/
#service .contact_cta {
  margin-top: calc(clamp(280px, 62.5vw, 480px) * -1);
}

@media screen and (min-width: 420px) and (max-width: 459.999px) {
  #service .contact_cta {
    margin-top: -10.6666666667rem;
  }
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {
  #service .contact_cta {
    margin-top: -29.3333333333rem;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ 企業情報02 ▼
//
///////////////////////////////////////////////////*/
.company02 {
  padding: 7.3333333333rem 0 2.6666666667rem;
}

.company02 .company02_in .box .profile_table tr th,
.company02 .company02_in .box .profile_table tr td {
  font-size: 0.9333333333rem;
}

.company02 .company02_in .box .profile_table tr th {
  font-weight: 700;
  text-align: left;
  vertical-align: top;
  border-bottom: solid 1px #085d99;
  padding: 0.6666666667rem 0.4rem 0.8rem;
  width: 5.6666666667rem;
}

.company02 .company02_in .box .profile_table tr td {
  font-weight: 500;
  padding: 0.6666666667rem 0 0.8rem 0.6666666667rem;
  border-bottom: 1px solid #d0d0d0;
  width: calc(100% - 5.6666666667rem);
}

.company02 .company02_in .box .profile_table tr td a {
  color: #303030;
}

.company02 .company02_in .box .profile_table tr td a .icon {
  color: #085d99;
  margin-left: 0.2666666667rem;
}

.company02 .company02_in .box .profile_table tr td .gmap {
  margin-top: 0.6666666667rem;
}

.company02 .company02_in .box .profile_table tr td .gmap iframe {
  aspect-ratio: 265/184;
  width: 100%;
  height: auto;
}

/*///////////////////////////////////////////////////
//
//            ▼ 企業情報02【英語】 ▼
//
///////////////////////////////////////////////////*/
.company02.company_en02 .company02_in .box .profile_table tr th {
  width: 8rem;
  min-width: 120px;
  line-height: 1.65;
}

@media screen and (min-width: 600px) and (max-width: 767.999px) {
  .company02.company_en02 .company02_in .box .profile_table tr th {
    min-width: 148px;
  }
}

.company02.company_en02 .company02_in .box .profile_table tr td {
  width: calc(100% - 8rem);
  line-height: 1.65;
}

/*///////////////////////////////////////////////////
//
//            ▼ 企業情報03 ▼
//
///////////////////////////////////////////////////*/
.company03 {
  padding: clamp(140px, 26.0416666667vw, 200px) 0 clamp(120px, 52.0833333333vw, 400px);
}

.company03::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(-120deg, #085D99 50.77%, #51A4DD 80.92%);
  clip-path: polygon(0 2.5%, 100% 0%, 100% 97.5%, 0 100%);
}

@media screen and (min-width: 551px) and (max-width: 767px) {
  .company03::before {
    clip-path: polygon(0 3.5%, 100% 0%, 100% 96.5%, 0 100%);
  }
}

.company03 .company03_in {
  position: relative;
  z-index: 2;
}

.company03 .company03_in .txt {
  margin-top: 2.1333333333rem;
}

.company03 .company03_in .txt p {
  font-size: 0.9333333333rem;
  color: #fff;
}

.company03 .company03_in .box {
  margin-top: 3.3333333333rem;
  color: #fff;
}

.company03 .company03_in .box .item+.item {
  margin-top: 3.2rem;
}

.company03 .company03_in .box .item .sub_ttl {
  color: #fff;
  border-bottom: solid 1px #fff;
  padding-bottom: 0.5333333333rem;
  margin-bottom: 0.9333333333rem;
}

.company03 .company03_in .box .item .sub_ttl h3 {
  position: relative;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  padding-left: 1.3333333333rem;
}

.company03 .company03_in .box .item .sub_ttl h3::before {
  position: absolute;
  content: "";
  top: 0.1333333333rem;
  left: 0;
  width: 0.8rem;
  height: 0.8rem;
  background: #fff;
}

.company03 .company03_in .box .item .sub_ttl p {
  margin-top: 0.4rem;
  font-size: 0.8rem;
  font-weight: 400;
  white-space: nowrap;
}

.company03 .company03_in .box .item table {
  width: 100%;
}

.company03 .company03_in .box .item table tr th,
.company03 .company03_in .box .item table tr td {
  display: block;
  font-size: 0.9333333333rem;
}

.company03 .company03_in .box .item table tr th {
  font-weight: 700;
  text-align: left;
  vertical-align: top;
}

.company03 .company03_in .box .item table tr td {
  padding-bottom: 0.6666666667rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 企業情報03【英語】 ▼
//
///////////////////////////////////////////////////*/
.company03.company_en03 .company03_in .box .item table tr th,
.company03.company_en03 .company03_in .box .item table tr td {
  line-height: 1.65;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA（企業情報） ▼
//
///////////////////////////////////////////////////*/
#company .contact_cta {
  margin-top: calc(clamp(120px, 71.7948717949vw, 280px) * -1);
}

@media screen and (min-width: 420px) and (max-width: 459.999px) {
  #company .contact_cta {
    margin-top: -13.3333333333rem;
  }
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {
  #company .contact_cta {
    margin-top: -21.3333333333rem;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ 投稿エリア ▼
//
///////////////////////////////////////////////////*/
.post_area {
  letter-spacing: 0.15rem;
}

.post_area p {
  margin: 1.5rem 0;
}

.post_area h2 {
  font-size: 1.5rem;
  margin: 3rem 0 2rem;
}

.post_area h3 {
  font-size: 1.3rem;
  margin: 2rem 0;
}

.post_area h4 {
  font-size: 1.2rem;
  margin: 1.5rem 0;
}

.post_area h5 {
  font-size: 1.1rem;
  margin: 1rem 0;
}

.post_area h6 {
  font-size: 1rem;
  margin: 1rem 0;
}

.post_area ul {
  margin: 1rem 0 1rem 1.5rem;
}

.post_area ul.blocks-gallery-grid {
  margin: 2rem 0 0;
}

.post_area ul li {
  list-style: disc;
}

.post_area ol {
  margin: 1rem 0 1rem 1.5rem;
}

.post_area ol li {
  list-style: decimal;
}

.post_area strong {
  font-weight: bold;
}

.post_area blockquote {
  background: #eee;
  padding: 1rem;
  position: relative;
}

.post_area blockquote::before,
.post_area blockquote::after {
  position: absolute;
  content: "“";
  font-size: 2rem;
}

.post_area blockquote::before {
  top: 0;
  left: 0;
}

.post_area blockquote::after {
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}

.post_area blockquote cite {
  font-size: 0.8rem;
  color: #999;
}

.post_area a {
  display: inline;
  color: #aaa;
}

.post_area img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 2rem auto 1.5rem;
}

.post_area table {
  width: 100%;
  margin: 1rem 0 1.5rem;
}

.post_area table th,
.post_area table td {
  border: solid 1px #e2e2e2;
  padding: 0.15rem 0.5rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ contact02 ▼
//
///////////////////////////////////////////////////*/
.contact02 {
  padding: 0 0 15rem;
}

.contact02::before {
  position: absolute;
  content: "";
  bottom: -13rem;
  left: 0;
  width: 100%;
  height: 25.4666666667rem;
  background: linear-gradient(-94deg, #085d99 50.77%, rgba(8, 93, 153, 0.8) 88.05%);
  clip-path: polygon(0 26%, 100% 0%, 100% 74%, 0 100%);
}

.contact02 .contact_ttl_box p {
  margin: 2rem 0 0;
  font-size: 0.9333333333rem;
}

.contact02 .contact_ttl_box p span {
  color: #085d99;
}

.contact02 .att_box {
  margin: 2rem 0 0;
}

.contact02 .att_box p {
  margin: 0;
  font-size: 0.8rem;
}

.contact02 .att_box p a {
  display: inline-block;
  font-weight: bold;
  border-bottom: 1px solid #085d99;
  line-height: 1.2;
  transition: .3s;
}

.contact02 .att_box p a:hover {
  border-bottom: 1px solid transparent;
}

.contact02 .box {
  margin: 3.3333333333rem 0 0;
}

.contact02 .box .item .inner:first-of-type {
  font-weight: bold;
  margin: 1.0666666667rem 0 0.2rem;
}

.contact02 .box .item .inner:first-of-type span {
  color: #085d99;
}

.contact02 .box .item .inner:last-of-type input,
.contact02 .box .item .inner:last-of-type textarea {
  width: 100%;
  background: #ededed;
  border: none;
  padding: 0.6666666667rem 2rem;
  line-height: 2;
  font-size: 16px;
}

.contact02 .box .item .inner:last-of-type input::placeholder,
.contact02 .box .item .inner:last-of-type textarea::placeholder {
  color: #888;
}

.contact02 .acceptance {
  margin: 1.3333333333rem 0 1.3333333333rem;
}

.contact02 .acceptance .inner {
  margin: 0 auto;
  text-align: center;
}

.contact02 .acceptance .inner input {
  opacity: 0;
}

.contact02 .acceptance .inner input:checked+label::after {
  opacity: 1;
  transition: 0.3s;
}

.contact02 .acceptance .inner label {
  position: relative;
  cursor: pointer;
  padding: 0 0 0 1rem;
}

.contact02 .acceptance .inner label::before {
  position: absolute;
  top: 55%;
  right: 100%;
  transform: translate(8%, -45%);
  width: 1.4666666667rem;
  height: 1.4666666667rem;
  border: 2px solid #000;
  content: "";
}

.contact02 .acceptance .inner label::after {
  position: absolute;
  top: 25%;
  right: 98%;
  transform: translate(8%, -45%) rotate(-45deg);
  width: 1.2rem;
  height: 0.6666666667rem;
  border-left: 3px solid #085d99;
  border-bottom: 3px solid #085d99;
  content: "";
  opacity: 0;
}

.contact02 .acceptance .inner label a {
  display: inline;
  font-weight: bold;
  border-bottom: 1px solid #085d99;
  transition: 0.3s;
}

.contact02 .acceptance .inner label a:hover {
  border-bottom: 1px solid transparent;
}

.contact02 .submit {
  max-width: 24rem;
  margin: 0 auto;
}

.contact02 .submit button {
  width: 100%;
  padding: 1.6rem 1rem;
  margin: 0 auto;
  background: #085d99;
  color: #fff;
  text-align: center;
  border: 2px solid #085D99;
  font-weight: 400;
  cursor: pointer;
  line-height: 1;
  letter-spacing: 0.08em;
  font-size: 1rem;
}

.contact02 .submit button:hover {
  color: #fff;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA（contact） ▼
//
///////////////////////////////////////////////////*/
#contact .contact_cta {
  margin-top: -1.3333333333rem;
}

@media screen and (min-width: 420px) and (max-width: 459.999px) {
  #contact .contact_cta {
    margin-top: 0;
  }
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {
  #contact .contact_cta {
    margin-top: -6.6666666667rem;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ thanks02 ▼
//
///////////////////////////////////////////////////*/
.thanks02 {
  padding: 0 0 15rem;
  color: #085d99;
}

.thanks02::before {
  position: absolute;
  content: "";
  bottom: -13rem;
  left: 0;
  width: 100%;
  height: 25.4666666667rem;
  background: linear-gradient(94deg, #085d99 50.77%, rgba(8, 93, 153, 0.8) 88.05%);
  clip-path: polygon(0 26%, 100% 0%, 100% 74%, 0 100%);
}

.thanks02 h2 {
  font-size: 1.4666666667rem;
}

.thanks02 p {
  margin: 1rem 0 1.5rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ プライバシーポリシー ▼
//
///////////////////////////////////////////////////*/
.privacypolicy02 {
  padding: 0 0 15rem;
}

.privacypolicy02 .box {
  margin: 0 auto;
}

.privacypolicy02 .box h2 {
  font-size: 1rem;
  margin: 2.5rem 0 0.75rem;
  color: #085d99;
}

.privacypolicy02 .box ul {
  margin: 1rem 0 1rem 1rem;
}

.privacypolicy02 .box ul li {
  list-style: disc;
  font-size: 0.9333333333rem;
}

.privacypolicy02 .box p {
  font-size: 0.9333333333rem;
  margin: 0.5rem 0;
}

.privacypolicy02::before {
  position: absolute;
  content: "";
  bottom: -13rem;
  left: 0;
  width: 100%;
  height: 25.4666666667rem;
  background: linear-gradient(94deg, #085d99 50.77%, rgba(8, 93, 153, 0.8) 88.05%);
  clip-path: polygon(0 26%, 100% 0%, 100% 74%, 0 100%);
}

/*///////////////////////////////////////////////////
//
//            ▼ プライバシーポリシー【英語】 ▼
//
///////////////////////////////////////////////////*/
.privacypolicy02.privacypolicy_en02 .box p,
.privacypolicy02.privacypolicy_vn02 .box p {
  line-height: 1.75;
}

.privacypolicy02.privacypolicy_en02 .box ul li,
.privacypolicy02.privacypolicy_vn02 .box ul li {
  line-height: 1.75;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA（プライバシーポリシー） ▼
//
///////////////////////////////////////////////////*/
#privacypolicy .contact_cta {
  margin-top: -1.3333333333rem;
}

@media screen and (min-width: 420px) and (max-width: 459.999px) {
  #privacypolicy .contact_cta {
    margin-top: 0;
  }
}

@media screen and (min-width: 540px) and (max-width: 599.999px) {
  #privacypolicy .contact_cta {
    margin-top: -6.6666666667rem;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ 404 ▼
//
///////////////////////////////////////////////////*/
.page404 .catch_copy {
  height: 100vh;
  min-height: 650px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.page404 .catch_copy .ttl {
  font-size: 1.8rem;
  margin-bottom: 0.25rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 検索フォーム ▼
//
///////////////////////////////////////////////////*/
.search {
  width: 100%;
  border: 1px solid #ddd;
}

.search form .search_inner {
  display: flex;
  justify-content: space-between;
  height: 3rem;
  align-items: center;
}

.search form .search_inner .input {
  width: calc(100% - 3rem);
  height: 100%;
}

.search form .search_inner .input input {
  border: none;
  padding: 0 1rem;
  width: 100%;
  height: 100%;
  font-size: 16px;
}

.search form .search_inner .submit {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  width: 3rem;
  height: 3rem;
  color: #000;
}

.search form .search_inner .submit span {
  font-size: 1.2rem;
}

.post_none {
  text-align: center;
}

@media screen and (orientation: portrait) {
  /* 縦向き */
}

@media screen and (orientation: landscape) {
  /* 横向き */
}

/*# sourceMappingURL=smart.css.map */