@charset "UTF-8";

.pg-top :where(*, *::before, *::after) {
  box-sizing: border-box;
  line-height: 1;
}

.pg-top :where(img) {
  width: 100%;
  height: auto;
}

.pg-top .font-en {
  font-family: Lexend, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-optical-sizing: auto;
}

.pg-top .disp-pc {
  display: block;
}

.pg-top .disp-sp {
  display: none;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

@media screen and (width <= 767px) {
  .pg-top .disp-pc {
    display: none;
  }

  .pg-top .disp-sp {
    display: block;
  }

  .sp {
    display: block;
  }

  .pc {
    display: none;
  }
}

/* ==================================================
Component
==================================================== */
.pg-c-headline {
  color: #003872;
}

.pg-c-headline_en {
  display: block;
  font-size: 60px;
  line-height: 1;
  text-transform: uppercase;
}

.pg-c-headline_ja {
  display: block;
  margin-block: 1.5em 0;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.02em;
}

@media screen and (width <= 767px) {
  .pg-c-headline_en {
    font-size: 30px;
  }

  .pg-c-headline_ja {
    margin-block: 1.2em 0;
    font-size: 14px;
  }
}

.pg-c-bg {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: min(100%, 1440px);
  height: 100%;
  margin-inline: auto;
  translate: -50% 0;
}

.pg-c-bgItem {
  position: absolute;
  display: block;
}

.pg-c-bgItem:has(img[src*='wave']) {
  animation: fuwa 1.5s infinite ease-in-out alternate;
}

.pg-c-bgItem:has(img[src*='bird']) {
  animation: fuwa 2s infinite ease-in-out alternate;
}

/* ==================================================
Layout
==================================================== */
.pg-l-inner {
  /* width: calc(1032/1440 * 100%); */
  width: calc(1032 / 1082 * 100%);
  max-width: 1032px;
  margin-inline: auto;
}

@media screen and (width <= 767px) {
  .pg-l-inner {
    /* width: calc(328 / 375 * 100%); */
    /* padding-inline: calc(25 / 375 * 100%); */
    width: 100%;
  }
}

/* ==================================================
MV
==================================================== */
.topMv {
  position: relative;
  aspect-ratio: 1440/880;
  overflow: hidden;
  background: url('/assets/img/top/mv/bg_01.jpg') no-repeat center center / cover;
}

@media screen and (width <= 767px) {
  .topMv {
    aspect-ratio: 375/620;
    background: url('/assets/img/top/mv/bg_01_sp.jpg') no-repeat center center / cover;
  }
}

.topMv_copy {
  position: absolute;
  top: calc(400 / 880 * 100%);
  left: calc(102 / 1440 * 100%);
  z-index: 10;
  width: calc(587 / 1440 * 100%);
}

@media screen and (width <= 767px) {
  .topMv_copy {
    top: calc(318 / 620 * 100%);
    left: calc(36 / 375 * 100%);
    width: calc(303 / 375 * 100%);
  }
}

/*
---------------------------------------------------- */
/* ---------- 1 ---------- */
.topMvo-1_s2 {
  position: absolute;
  top: calc(626 / 880 * 100%);
  left: calc(4 / 1440 * 100%);
  width: calc(216 / 1440 * 100%);
}

.topMvo-1_s1 {
  position: absolute;
  top: calc(715 / 880 * 100%);
  left: calc(169 / 1440 * 100%);
  width: calc(178 / 1440 * 100%);
}

.topMvo-1_c {
  position: absolute;
  top: calc(771 / 880 * 100%);
  left: calc(301 / 1440 * 100%);
  width: calc(182 / 1440 * 100%);
}

@media screen and (width <= 767px) {
  .topMvo-1_s2 {
    top: calc(462 / 620 * 100%);
    left: calc(-22 / 375 * 100%);
    width: calc(86 / 375 * 100%);
  }

  .topMvo-1_s1 {
    top: calc(498 / 620 * 100%);
    left: calc(44 / 375 * 100%);
    width: calc(71 / 375 * 100%);
  }

  .topMvo-1_c {
    top: calc(491 / 620 * 100%);
    left: calc(90 / 375 * 100%);
    width: calc(139 / 375 * 100%);
  }
}

/* ---------- 2 ---------- */
.topMvo-2_s1 {
  position: absolute;
  top: calc(388 / 880 * 100%);
  left: calc(666 / 1440 * 100%);
  z-index: 10;
  width: calc(125 / 1440 * 100%);
}

.topMvo-2_c {
  position: absolute;
  top: calc(301 / 880 * 100%);
  left: calc(677 / 1440 * 100%);
  width: calc(174 / 1440 * 100%);
}

@media screen and (width <= 767px) {
  .topMvo-2_s1 {
    top: calc(157 / 620 * 100%);
    left: calc(70 / 375 * 100%);
    width: calc(50 / 375 * 100%);
  }

  .topMvo-2_c {
    top: calc(97 / 620 * 100%);
    left: calc(65 / 375 * 100%);
    width: calc(132 / 375 * 100%);
  }
}

/* ---------- 3 ---------- */
.topMvo-3_s1 {
  position: absolute;
  top: calc(593 / 880 * 100%);
  left: calc(1128 / 1440 * 100%);
  width: calc(112 / 1440 * 100%);
}

.topMvo-3_c {
  position: absolute;
  top: calc(560 / 880 * 100%);
  left: calc(965 / 1440 * 100%);
  width: calc(164 / 1440 * 100%);
}

@media screen and (width <= 767px) {
  .topMvo-3_s1 {
    top: calc(247 / 620 * 100%);
    left: calc(265 / 375 * 100%);
    width: calc(45 / 375 * 100%);
  }

  .topMvo-3_c {
    top: calc(227 / 620 * 100%);
    left: calc(154 / 375 * 100%);
    width: calc(119 / 375 * 100%);
  }
}

/* ---------- 4 ---------- */
.topMvo-4_s1 {
  position: absolute;
  top: calc(62 / 880 * 100%);
  left: calc(-151 / 1440 * 100%);
  width: calc(266 / 1440 * 100%);
}

.topMvo-4_b1 {
  position: absolute;
  top: calc(93 / 880 * 100%);
  left: calc(-67 / 1440 * 100%);
  width: calc(226 / 1440 * 100%);
}

@media screen and (width <= 767px) {
  .topMvo-4_s1,
  .topMvo-4_b1 {
    display: none;
  }
}

.topMv .is-animate {
  animation: mvo-1 1.0s infinite ease-in-out alternate;
}

@keyframes mvo-1{
  0% {
      transform: translate(0, 0);
    }

    100% {
      transform: translate(0, 3px);
    }
}


/* scroll
---------------------------------------------------- */
.topScroll {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(57 / 1440 * 100vw);
}

.topScroll_text {
  position: absolute;
  bottom: 100%;
  left: 50%;
  display: block;
  width: calc(100 / 1440 * 100vw);
  padding: 0 0 1%;
  translate: -50% 0;
}

.topScroll_line {
  position: absolute;
  top: 0;
  left: calc(50% - 1px);
  display: block;
  width: 2px;
  height: calc(57 / 1440 * 100vw);
  overflow: hidden;
  background: #000;
}

.topScroll_line::after {
  position: absolute;
  top: 0;
  left: calc(50% - 1px);
  display: block;
  width: 2px;
  height: calc(24 / 1440 * 100vw);
  content: '';
  background: #1480ff;
  animation: scroll 1.4s ease-in-out infinite;
}

@keyframes scroll {
  0% {
    top: 0;
  }

  100% {
    top: 100%;
  }
}

@media screen and (width <= 767px) {
  .topScroll {
    height: calc(37 / 375 * 100vw);
  }

  .topScroll_text {
    width: calc(75 / 375 * 100vw);
    padding: 0 0 2%;
  }

  .topScroll_line {
    height: calc(37 / 375 * 100vw);
  }

  .topScroll_line::after {
    height: calc(14 / 375 * 100vw);
  }
}

/* ==================================================
section
==================================================== */
/* strength
---------------------------------------------------- */
.pg-section-strength {
  padding-block: 80px 130px;
}

.pg-section-strength .pg-section_title {
  text-align: center;
}

.pg-section-strength .pg-section_text {
  font-size: 16px;
  line-height: 2.2;
  text-align: justify;
}

.pg-section-strength .pg-section_container-text {
  margin: 50px 0 0;
}

.pg-section-strength .pg-section_container-items {
  margin: 50px 0 0;
}

@media screen and (width <= 767px) {
  .pg-section-strength {
    padding-block: 60px;
  }

  .pg-section-strength .pg-section_title {
    text-align: center;
  }

  .pg-section-strength .pg-section_text {
    font-size: 14px;
    line-height: 2;
  }

  .pg-section-strength .pg-section_container-text {
    padding-inline: calc(25 / 375 * 100%);
    margin: 30px 0 0;
  }

  .pg-section-strength .pg-section_container-items {
    margin: 30px 0 0;
  }
}

/* ship
---------------------------------------------------- */
.pg-section-ship {
  position: relative;
  padding-block: 120px 130px;
  background: #e2e6ea;
}

.pg-section-ship .pg-section_inner {
  position: relative;
}

.pg-section-ship .pg-section_title {
  text-align: left;
}

.pg-section-ship .pg-section_text-l {
  margin-block: 0 1em;
  font-size: 20px;
  font-weight: bold;
  line-height: 2;
  text-align: justify;
}

.pg-section-ship .pg-section_text {
  font-size: 16px;
  line-height: 2.2;
  text-align: justify;
}

.pg-section-ship .pg-section_container-text {
  position: relative;
  margin: 55px 0 0;
}

.pg-section-ship .pg-section_container-items {
  margin: 80px 0 0;
}

@media screen and (width <= 767px) {
  .pg-section-ship {
    padding-block: 60px;
  }

  .pg-section-ship .pg-section_title {
    text-align: center;
  }

  .pg-section-ship .pg-section_text-l {
    margin-block: 0 0.8em;
    font-size: 18px;
    text-align: center;
  }

  .pg-section-ship .pg-section_text {
    font-size: 14px;
    line-height: 2;
  }

  .pg-section-ship .pg-section_container-text {
    padding-block: 0 150px;
    padding-inline: calc(25 / 375 * 100%);
    margin: 30px 0 0;
  }

  .pg-section-ship .pg-section_container-items {
    /* padding-inline: calc(25 / 375 * 100%); */
    margin: 0;
  }
}

/* ---------- bg ---------- */
@media screen and (width >= 768px) {
  .pg-section-ship .pg-c-bgItem.-i-1-sa {
    top: 197px;
    left: calc(50% + 323px);
    width: 124px;
  }

  .pg-section-ship .pg-c-bgItem.-i-2-sb {
    top: 235px;
    left: calc(50% + 234px);
    width: 122px;
  }

  .pg-section-ship .pg-c-bgItem.-i-3-sc {
    top: 280px;
    left: calc(50% + 200px);
    width: 151px;
  }

  .pg-section-ship .pg-c-bgItem.-i-1-w5 {
    top: 118px;
    left: calc(50% + 204px);
    width: 128px;
  }

  .pg-section-ship .pg-c-bgItem.-i-2-w3 {
    top: 150px;
    left: calc(50% + 143px);
    width: 77px;
  }

  .pg-section-ship .pg-c-bgItem.-i-3-w5 {
    top: 152px;
    left: calc(50% + 421px);
    width: 128px;
  }

  .pg-section-ship .pg-c-bgItem.-i-4-w5 {
    top: 428px;
    left: calc(50% + 598px);
    width: 128px;
  }

  .pg-section-ship .pg-c-bgItem.-i-5-w3 {
    top: 462px;
    left: calc(50% + 535px);
    width: 77px;
  }
}

@media screen and (width <= 767px) {
  .pg-section-ship .pg-c-bgItem.-i-1-sa,
  .pg-section-ship .pg-c-bgItem.-i-2-sb,
  .pg-section-ship .pg-c-bgItem.-i-3-sc,
  .pg-section-ship .pg-c-bgItem.-i-3-w5,
  .pg-section-ship .pg-c-bgItem.-i-4-w5,
  .pg-section-ship .pg-c-bgItem.-i-5-w3 {
    display: none;
  }

  .pg-section-ship .pg-c-bgItem.-i-1-w5 {
    top: 132px;
    right: calc(322 / 375 * 100%);
    width: 96px;
  }

  .pg-section-ship .pg-c-bgItem.-i-2-w3 {
    top: 40px;
    left: calc(318 / 375 * 100%);
    width: 58px;
  }

  .pg-section-ship .pg-c-bgItem.-i-11-sa {
    bottom: 70px;
    left: calc(262 / 375 * 100%);
    width: 92px;
  }

  .pg-section-ship .pg-c-bgItem.-i-12-sb {
    bottom: 46px;
    left: calc(200 / 375 * 100%);
    width: 93px;
  }

  .pg-section-ship .pg-c-bgItem.-i-13-sc {
    bottom: 22px;
    left: calc(136 / 375 * 100%);
    width: 117px;
  }

  .pg-section-ship .pg-c-bgItem.-i-11-w4 {
    right: calc(223 / 375 * 100%);
    bottom: 94px;
    width: 78px;
  }

  .pg-section-ship .pg-c-bgItem.-i-12-w3 {
    right: calc(290 / 375 * 100%);
    bottom: 68px;
    width: 58px;
  }

  .pg-section-ship .pg-c-bgItem.-i-21-w5 {
    bottom: -25px;
    left: calc(330 / 375 * 100%);
    width: 96px;
  }
}

/* photo
---------------------------------------------------- */
.pg-section-photo {
  position: relative;
  z-index: 1;
  background: #e2e6ea;
}

.pg-section-photo .pg-section_inner {
  position: relative;
  max-width: 1032px;
  padding-block: 120px calc(20px + 30px);
  padding-inline: min(calc(88 / 1032 * 100%), 88px);
  margin-inline: auto;
  background: #fff;
}

.pg-section-photo .pg-section_title {
  text-align: left;
}

.pg-section-photo .pg-section_text {
  font-size: 16px;
  line-height: 2.2;
  text-align: justify;
}

.pg-section-photo .pg-section_container-text {
  display: grid;
  grid-template-columns: 1fr calc(488 / 856 * 100%);
}

.pg-section-photo .pg-section_container-items {
  margin: 50px 0 0;
}

@media screen and (width <= 767px) {
  .pg-section-photo {
    padding-inline: calc(25 / 375 * 100%) 0;
  }

  .pg-section-photo .pg-section_inner {
    padding-block: 50px calc(0 + 30px);
    padding-inline: 0;
  }

  .pg-section-photo .pg-section_text {
    font-size: 14px;
    line-height: 2;
  }

  .pg-section-photo .pg-section_container-text {
    display: block;
    padding-inline: calc(20 / 350 * 100%) calc(30 / 350 * 100%);
  }

  .pg-section-photo .pg-section_title {
    margin: 0 0 30px;
  }

  .pg-section-photo .pg-section_container-items {
    margin: 30px 0 0;
  }
}

/* ---------- bg ---------- */
@media screen and (width >= 768px) {
  .pg-section-photo .pg-c-bgItem.-i-1-w3 {
    top: -65px;
    right: calc(50% + 590px);
    width: 77px;
  }

  .pg-section-photo .pg-c-bgItem.-i-2-w5 {
    top: 82px;
    left: calc(50% + 566px);
    width: 128px;
  }

  .pg-section-photo .pg-c-bgItem.-i-3-w4 {
    display: none;
  }
}

@media screen and (width <= 767px) {
  .pg-section-photo .pg-c-bgItem.-i-1-w3 {
    top: -20px;
    left: calc(278 / 375 * 100%);
    width: 58px;
  }

  .pg-section-photo .pg-c-bgItem.-i-2-w5 {
    /* width: 96px; */
    display: none;
  }

  .pg-section-photo .pg-c-bgItem.-i-3-w4 {
    top: -40px;
    left: calc(320 / 375 * 100%);
    width: 78px;
  }
}

/* work
---------------------------------------------------- */
.pg-section-work {
  position: relative;
  padding-block: 0 120px;
  background: #e2e6ea;
}

.pg-section-work .pg-section_inner {
  position: relative;
  max-width: 1032px;
  padding-block: 120px 100px;
  padding-inline: min(calc(88 / 1032 * 100%), 88px);
  margin-inline: auto;
  background: #fff;
}

.pg-section-work .pg-section_title {
  text-align: left;
}

.pg-section-work .pg-section_text {
  font-size: 16px;
  line-height: 2.2;
  text-align: justify;
}

.pg-section-work .pg-section_container-text {
  display: grid;
  grid-template-columns: 1fr calc(488 / 856 * 100%);
}

.pg-section-work .pg-section_container-items {
  margin: 50px 0 0;
}

@media screen and (width <= 767px) {
  .pg-section-work {
    padding-block: 0 60px;
    padding-inline: calc(25 / 375 * 100%) 0;
  }

  .pg-section-work .pg-section_inner {
    padding-block: 50px 0;
    padding-inline: 0;
  }

  .pg-section-work .pg-section_text {
    font-size: 14px;
    line-height: 2;
  }

  .pg-section-work .pg-section_container-text {
    display: block;
    padding-inline: calc(20 / 350 * 100%) calc(30 / 350 * 100%);
  }

  .pg-section-work .pg-section_title {
    margin: 0 0 30px;
  }

  .pg-section-work .pg-section_container-items {
    margin: 50px 0 0;
  }
}

/* ---------- bg ---------- */
@media screen and (width >= 768px) {
  .pg-section-work .pg-c-bgItem.-i-1-w3 {
    top: 140px;
    left: calc(50% + 574px);
    width: 77px;
  }

  .pg-section-work .pg-c-bgItem.-i-2-w2 {
    top: 164px;
    left: calc(50% + 640px);
    width: 52px;
  }

  .pg-section-work .pg-c-bgItem.-i-3-w2 {
    top: 495px;
    right: calc(50% + 665px);
    width: 52px;
  }

  .pg-section-work .pg-c-bgItem.-i-4-w3 {
    top: 530px;
    right: calc(50% + 614px);
    width: 77px;
  }

  .pg-section-work .pg-c-bgItem.-i-5-w5 {
    right: calc(50% + 480px);
    bottom: 180px;
    width: 128px;
  }

  .pg-section-work .pg-c-bgItem.-i-6-w2 {
    bottom: 205px;
    left: calc(50% + 640px);
    width: 52px;
  }

  .pg-section-work .pg-c-bgItem.-i-7-w4,
  .pg-section-work .pg-c-bgItem.-i-8-w4 {
    display: none;
  }
}

@media screen and (width <= 767px) {
  .pg-section-work .pg-c-bgItem.-i-1-w3 {
    right: calc(350 / 375 * 100%);
    bottom: 10px;
    width: 58px;
  }

  .pg-section-work .pg-c-bgItem.-i-2-w2,
  .pg-section-work .pg-c-bgItem.-i-3-w2,
  .pg-section-work .pg-c-bgItem.-i-4-w3,
  .pg-section-work .pg-c-bgItem.-i-5-w5,
  .pg-section-work .pg-c-bgItem.-i-6-w2 {
    display: none;
  }

  .pg-section-work .pg-c-bgItem.-i-7-w4 {
    right: calc(290 / 375 * 100%);
    bottom: 38px;
    width: 78px;
  }

  .pg-section-work .pg-c-bgItem.-i-8-w4 {
    bottom: 15px;
    left: calc(330 / 375 * 100%);
    width: 78px;
  }
}

/* sustainability
---------------------------------------------------- */
.pg-section-sustainability {
  position: relative;
  background: #003872;
}

.pg-section-sustainability .pg-section_inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr calc(450 / 1032 * 100%);
  align-items: center;
  padding: 130px 0;
}

.pg-section-sustainability .pg-c-headline {
  color: rgb(255 255 255 / 30%);
}

.pg-section-sustainability .pg-section_text-l {
  margin-block: 0 1em;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.8;
  color: #fff;
  text-align: justify;
}

.pg-section-sustainability .pg-section_text {
  font-size: 16px;
  line-height: 2.2;
  color: #fff;
  text-align: justify;
}

@media screen and (width <= 1100px) {
  .pg-section-sustainability .pg-section_inner {
    display: block;
  }

  .pg-section-sustainability .pg-section_container-text {
    margin-block: 50px 0;
  }
}

@media screen and (width <= 767px) {
  .pg-section-sustainability .pg-section_inner {
    display: block;
    padding-block: 50px;
    padding-inline: calc(25 / 375 * 100%);
  }

  .pg-section-sustainability .pg-section_title {
    text-align: center;
  }

  .pg-section-sustainability .pg-c-headline {
    color: rgb(255 255 255 / 30%);
  }

  .pg-section-sustainability .pg-section_text-l {
    margin-block: 0 1em;
    font-size: 18px;
    line-height: 2;
    text-align: center;
  }

  .pg-section-sustainability .pg-section_text {
    font-size: 14px;
    line-height: 2;
  }

  .pg-section-sustainability .pg-section_container-text {
    margin-block: 30px 0;
  }
}

/* ---------- bg ---------- */
@media screen and (width >= 768px) {
  .pg-section-sustainability .pg-c-bgItem.-i-1-ba {
    top: -18px;
    right: calc(50% + 520px);
    width: 280px;
  }
}

@media screen and (width <= 767px) {
  .pg-section-sustainability .pg-c-bgItem.-i-1-ba {
    display: none;
  }
}

/* ==================================================
project
==================================================== */
/* strength
---------------------------------------------------- */
.pg-strengthItem_wrapper {
  display: flex;
  flex-flow: row wrap;
  gap: 22px calc(24 / 1032 * 100%);
  justify-content: center;
}

.pg-strengthItem_wrapper > li {
  width: calc(328 / 1032 * 100%);
}

.pg-strengthItem_wrapper > li:nth-child(1) {
  margin-inline: calc(328 / 2 / 1032 * 100%) 0;
}

.pg-strengthItem_wrapper > li:nth-child(2) {
  margin-inline: 0 calc(328 / 2 / 1032 * 100%);
}

@media screen and (width <= 767px) {
  .pg-strengthItem_wrapper {
    flex-flow: column wrap;
    gap: 15px 0;
  }

  .pg-strengthItem_wrapper > li,
  .pg-strengthItem_wrapper > li:nth-child(1),
  .pg-strengthItem_wrapper > li:nth-child(2) {
    width: min(100%, 325px);
    margin-inline: auto;
  }
}

.pg-strengthItem {
  position: relative;
}

.pg-strengthItem_text {
  position: absolute;
  bottom: calc(30 / 284 * 100%);
  left: 0;
  width: 100%;
  min-height: calc(14px * 2.2 * 3);
  padding: 0 calc(35 / 328 * 100%);
  font-size: clamp(11px, calc(16 / 1208 * 100vw), 16px);
  line-height: 1.8;
  text-align: justify;
}

@media screen and (width <= 1208px) {
  .pg-strengthItem_text {
    min-height: calc((14 / 1208 * 100vw) * 2.2 * 3);
  }
}

@media screen and (width <= 767px) {
  .pg-strengthItem_text {
    bottom: 1.5em;
    min-height: 0;
    padding: 0 calc(25 / 328 * 100%);
    font-size: 14px;
    line-height: 2;
  }
}

/* ship
---------------------------------------------------- */
.pg-shipItem_wrapper {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.pg-shipItem_wrapper > li {
  position: relative;
  width: calc(328 / 1032 * 100%);
}

@media screen and (width <= 767px) {
  .pg-shipItem_wrapper {
    flex-flow: column wrap;
    gap: 40px 0;
  }

  .pg-shipItem_wrapper > li {
    width: 100%;
    padding-inline: calc(25 / 375 * 100%);
  }
}

.pg-shipItem {
  position: relative;
}

.pg-shipItem_img {
  position: relative;
}

.pg-shipItem_title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0.5em 0;
  font-size: min(calc(14 / 1208 * 100vw), 14px);
  font-weight: bold;
  color: #fff;
  text-align: center;
  background: #003872;
}

@media screen and (width <= 767px) {
  .pg-shipItem_title {
    font-size: 18px;
  }
}

.pg-shipItem_table {
  width: 100%;
  margin: 30px 0 0;
  font-size: clamp(11px, calc(16 / 1208 * 100vw), 16px);
  line-height: 1.4;
}

.pg-shipItem_table th {
  font-weight: bold;
}

.pg-shipItem_table td,
.pg-shipItem_table th {
  padding: 0.5em 0;
  vertical-align: middle;
  border-bottom: 1px solid #fff;
}

@media screen and (width <= 767px) {
  .pg-shipItem_table {
    margin: 12px 0 0;
    font-size: 14px;
  }

  .pg-shipItem_table td,
  .pg-shipItem_table th {
    padding: 0.5em 0;
  }
}

/* photo
---------------------------------------------------- */
.pg-photoSlider {
  position: relative;
  height: calc(346 / 1440 * 100vw);
  opacity: 0;
  transition: opacity .4s;
}

.pg-photoSlider.is-animate {
  opacity: 1;
}

.pg-photoSlider_inner {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  translate: -50% 0;
}

.pg-photoSlider_container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: calc(6066 / 1440 * 100vw);
}

.pg-photoSlider_group {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-end;
  width: calc(3033 / 1440 * 100vw);
}

.pg-photoSlider_group > * {
  margin-inline: calc(15 / 1440 * 100vw);
}

.pg-photoSlider.is-animate .pg-photoSlider_group:nth-of-type(1) {
  animation: loop1 200s -100s linear infinite;
}

.pg-photoSlider.is-animate .pg-photoSlider_group:nth-of-type(2) {
  animation: loop2 200s linear infinite;
}

@keyframes loop1 {
  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-200%);
  }
}

.pg-photoSlide {
  position: relative;
}

.pg-photoSlide > span {
  position: absolute;
  top: 100%;
  left: 0;
  display: inline-block;
  padding: 0.6em 0 0;
  font-size: 16px;
  line-height: 1.5;
}

@media screen and (width <= 767px) {
  .pg-photoSlider {
    height: calc(200 / 375 * 100vw);
  }

  .pg-photoSlider_container {
    width: calc(3440 / 375 * 100vw);
  }

  .pg-photoSlider_group {
    width: calc(1720 / 375 * 100vw);
  }

  .pg-photoSlider_group > * {
    margin-inline: calc(8 / 375 * 100vw);
  }

  .pg-photoSlide > span {
    padding: 0.5em 0 0;
    font-size: 12px;
  }
}

/* day
---------------------------------------------------- */
.pg-day {
  overflow: hidden;
}

.pg-day > li {
  position: relative;
}

@media screen and (width >= 768px) {
  .pg-day > li:last-child::before {
    position: absolute;
    bottom: 100%;
    left: 50%;
    display: block;
    width: 2px;
    height: 9999px;
    content: '';
    background: #003872;
    translate: -50% 0;
  }

  .pg-day > li:has([data-index='0800-2']) {
    margin-top: calc(-90 / 856 * 100%);
  }

  .pg-day > li:has([data-index='1200']) {
    margin-top: calc(-80 / 856 * 100%);
  }

  .pg-day > li:has([data-index='1300']) {
    margin-top: calc(-90 / 856 * 100%);
  }

  .pg-day > li:has([data-index='1630']) {
    margin-top: calc(-80 / 856 * 100%);
  }
}

@media screen and (width <= 767px) {
  .pg-day > li:last-child::before {
    position: absolute;
    bottom: 100%;
    left: calc(50 / 350 * 100%);
    display: block;
    width: 2px;
    height: 9999px;
    content: '';
    background: #003872;
    translate: 0 0;
  }

  .pg-day > li {
    margin-block: 0 40px;
  }
}

.pg-dayItem {
  position: relative;
  z-index: 1;
}

@media screen and (width >= 768px) {
  .pg-dayItem_head {
    position: static;
  }

  .pg-dayItem_container-time {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .pg-dayItem_container-time::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: calc(85 / 856 * 100%);
    height: 1px;
    content: '';
    border-top: dotted 2px #003872;
    translate: 0 -50%;
  }

  .pg-dayItem[data-dir='l'] .pg-dayItem_container-time::before {
    right: 50%;
    left: auto;
  }

  .pg-dayItem_container-img {
    display: block;
    padding-inline: calc(526 / 856 * 100%) 0;
    margin: 10px 0 0;
  }

  .pg-dayItem_container-text {
    display: block;
    padding-inline: calc(526 / 856 * 100%) 0;
  }

  .pg-dayItem[data-dir='l'] .pg-dayItem_container-img {
    padding-inline: 0 calc(526 / 856 * 100%);
  }

  .pg-dayItem[data-dir='l'] .pg-dayItem_container-text {
    padding-inline: 0 calc(526 / 856 * 100%);
    text-align: right;
  }
}

@media screen and (width <= 767px) {
  .pg-dayItem {
    display: grid;
  }

  .pg-dayItem_head {
    position: relative;
    order: 2;
  }

  .pg-dayItem_container-img {
    display: block;
    order: 1;
    padding-inline: 0 calc(25 / 350 * 100%);
  }

  .pg-dayItem_container-text {
    padding-inline: 0 calc(25 / 350 * 100%);
    text-align: center;
  }

  .pg-dayItem_head:has(.pg-dayItem_time) .pg-dayItem_container-time {
    padding-inline: calc(20 / 350 * 100%) 0;
    margin-block: -20px 12px;
  }

  .pg-dayItem_head:has(.pg-dayItem_time-blank) {
    margin-block: 15px 0;
  }

  .pg-dayItem_head:has(.pg-dayItem_time-blank) .pg-dayItem_container-time {
    position: absolute;
    top: 50%;
    left: calc(50 / 350 * 100%);
    translate: 0 -50%;
  }
}

.pg-dayItem_text {
  font-size: clamp(16px, calc(20 / 1440 * 100vw), 20px);
  font-weight: bold;
  line-height: 1.6;
}

.pg-dayItem_text small {
  font-size: 70%;
  font-weight: normal;
  vertical-align: middle;
}

@media screen and (width <= 767px) {
  .pg-dayItem_text {
    font-size: min(calc(20 / 375 * 100vw), 20px);
    line-height: 1.4;
    text-align: center;
  }
}

.pg-dayItem_time {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(96px, calc(120 / 1440 * 100vw), 120px);
  height: clamp(32px, calc(40 / 1440 * 100vw), 40px);
  padding-bottom: 2px;
  font-size: clamp(16px, calc(20 / 1440 * 100vw), 20px);
  color: #fff;
  background: #003872;
  border-radius: 100vh;
}

.pg-dayItem_time-blank {
  position: relative;
  z-index: 1;
  display: block;
  width: clamp(96px, calc(120 / 1440 * 100vw), 120px);
  height: clamp(32px, calc(40 / 1440 * 100vw), 40px);
}

.pg-dayItem_time-blank::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  aspect-ratio: 1/1;
  content: '';
  background: #003872;
  border: 4px solid #fff;
  border-radius: 50%;
  translate: -50% -50%;
}

@media screen and (width <= 767px) {
  .pg-dayItem_time {
    width: 120px;
    height: 40px;
    font-size: 20px;
  }

  .pg-dayItem_time-blank {
    width: 1px;
    height: 10px;
  }

  .pg-dayItem_time-blank::before {
    width: 10px;
    border: 4px solid #fff;
  }
}

/* sustainability
---------------------------------------------------- */
.pg-susPanel_wrapper {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  background: #fff;
}

.pg-susPanel_wrapper > li {
  width: 50%;
}

.pg-susPanel {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(80 / 720 * 100%) 0;
}

.pg-susPanel.-index-1 {
  background: url('/assets/img/top/sustainability_thumb_01.jpg') no-repeat center center / cover;
}

.pg-susPanel.-index-2 {
  background: url('/assets/img/top/sustainability_thumb_02.jpg') no-repeat center center / cover;
}

.pg-susPanel::after {
  position: absolute;
  right: calc(40 / 720 * 100%);
  bottom: calc(40 / 280 * 100%);
  display: block;
  width: clamp(40px, calc(50 / 720 * 100%), 50px);
  aspect-ratio: 1/1;
  content: '';
  background: #fff url('/assets/img/top/arrow_01.svg') no-repeat center center / 35% auto;
  border-radius: 50%;
}

.pg-susPanel_box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(220px, calc(300 / 720 * 100%), 300px);
  aspect-ratio: 300/120;
  background: rgb(42 128 194 / 80%);
}

.pg-susPanel_title {
  font-size: clamp(16px, calc(20 / 1440 * 100vw), 20px);
  line-height: 1.8;
  color: #fff;
  text-align: center;
}

.pg-susPanel.-index-1 .pg-susPanel_title {
  font-size: clamp(15px, calc(18 / 1440 * 100vw), 18px);
}

.pg-susPanel.-index-1 .pg-susPanel_title > span {
  display: block;
  width: clamp(96px, calc(120 / 1440 * 100vw), 120px);
  margin: 0 auto 3%;
}

@media (hover: hover) {
  .pg-susPanel {
    transition: all 300ms;
  }

  .pg-susPanel:hover {
    opacity: 0.6;
  }
}

@media screen and (width <= 767px) {
  .pg-susPanel {
    padding: calc(40 / 188 * 100%) 0;
  }

  .pg-susPanel::after {
    right: calc(10 / 188 * 100%);
    bottom: calc(8 / 126 * 100%);
    width: min(calc(30 / 188 * 100%), 45px);
  }

  .pg-susPanel_box {
    width: min(calc(130 / 375 * 100vw), 195px);
    aspect-ratio: 122/50;
  }

  .pg-susPanel_title,
  .pg-susPanel.-index-1 .pg-susPanel_title {
    font-size: min(calc(12 / 375 * 100vw), 18px);
    line-height: 1.5;
  }

  .pg-susPanel.-index-1 .pg-susPanel_title > span {
    width: 58px;
    width: min(calc(58 / 375 * 100vw), 87px);
    margin: 0 auto 3%;
  }
}
