@charset "UTF-8";

/* ====================================
  fonts
==================================== */
@import url('https://fonts.googleapis.com/css2?family=Advent+Pro:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Rosarivo:ital@0;1&family=Staatliches&display=swap');


/* ====================================
  :root
==================================== */
:root {
  --color-white: #fff;
  --color-black: #000;
  --color-text: #231815;
  --color-style_02: #99805B;
  --color-style_03: #8F975F;
  --color-style_04: #C8753A;
  --color-style_05: #758188;
  --color-column-text: #675E51;
  --color-column-line: #A2A288;
  --color-point-main: #707DAA;
  --color-point-side: #7F8AB3;
  --color-point-bg: #E7EEFD;
  --color-coordinate-main: #435CAE;
  --font-sans: "Noto Sans JP", sans-serif;
  --font-serif: "Noto Serif JP", serif;
  --font-rosarivo: "Rosarivo", cursive;
  --font-staatliches: "Staatliches", sans-serif;
  --font-advent-pro: "Advent Pro";
  --width-main-area: 490px;
  --width-pc-left: 29.45205479452055vw;
  --pc-side-padding-outer: 3.66vw;
  --height-header-fixed: 80px; /* 初期値（固定） */
  --height-header-variable: 80px; /* 初期値（★JSで更新） */
  --inner: 26px;
  --hover-duration: .3s;
  --fade-duration: .5s;
  --bg-fade-duration: .6s;
}

/* ====================================
  sp.pc_hide
==================================== */
@media screen and (min-width:679px) {
  .wrapper .sp {
    display: none !important;
  }
}
@media screen and (max-width:678px) {
  .wrapper .pc {
    display: none !important;
  }
}

/* ====================================
  Base Layout
==================================== */
.wrapper .pane-main {
  padding-bottom: 0;
  margin-bottom: 0 !important;
}
.wrapper .pane-footer {
  position: relative;
  z-index: 1;
}
.wrapper .content_wrap,
.wrapper .content,
.wrapper .bg_container {
  width: 100%;
}

/* ====================================
  PC Side Columns
==================================== */
/* Common */
.wrapper .main_area,
.wrapper .pc_left,
.wrapper .pc_right {
  font-family: var(--font-sans);
  position: relative;
  z-index: 1;
}
.wrapper .pc_left,
.wrapper .pc_right {
  position: fixed;
  top:  var(--height-header-variable);
  height: calc(100% - var(--height-header-variable));
  display: flex;
  flex-direction: column;
  /* justify-content: center; */
  align-items: center;
  opacity: 1;
  visibility: visible;
  transition: 
    padding var(--fade-duration) ease,
    top var(--fade-duration) ease,
    opacity var(--fade-duration) ease,
    visibility var(--fade-duration) ease;
}
.wrapper .pc_left.is-bk-hidden,
.wrapper .pc_right.is-bk-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* pc_left */
.wrapper .pc_left {
  width: var(--width-pc-left);
  padding: 50px var(--inner) 50px var(--pc-side-padding-outer);
}
.wrapper .pc_left_catch {
  margin: 0 0 50px;
  display: block;
}
.wrapper .pc_left_catch img {
  width: 14px;
}
.wrapper .pc_left_nav {
  font-family: var(--font-serif);
  margin: auto 0;
}
.wrapper .pc_left_nav_title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 20px;
}
.wrapper .pc_left_nav_list {
  font-size: 16px;
  line-height: 1.2;
}
.wrapper .pc_left_nav_list > li {
  padding: 0 0 25px;
}
.wrapper .pc_left_nav_list > li a {
  font-weight: 700;
  text-decoration: none;
  padding: 0 0 0 20px;
  position: relative;
  display: block;
  transition: var(--hover-duration) ease;
}
.wrapper .pc_left_nav_list > li a::before,
.wrapper .pc_left_nav_list > li a::after {
  content: '';
  position: absolute;
  transition: var(--hover-duration) ease;
}
.wrapper .pc_left_nav_list > li a::before {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px dotted var(--color-black);
  top: .3em;
  left: 0;
}
.wrapper .pc_left_nav_list > li a.is_current::before {
  border: 1px solid var(--color-white);
  background: var(--color-white);
}
.wrapper .pc_left_nav_list > li a::after {
  width: 0;
  height: 17px;
  background: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/icon_arrow_02.svg) no-repeat 0 0;
  background-size: cover;
  left: 20px;
  bottom: -18px;
}
.wrapper .pc_left_nav_list > li a:hover::after,
.wrapper .pc_left_nav_list > li a.is_current::after {
  width: 184px;
}

/* pc_right */
.wrapper .pc_right {
  width: calc(100% - var(--width-pc-left) - var(--width-main-area));
  padding: 20px calc(var(--pc-side-padding-outer) + 78px) 20px var(--inner);
  right: 0;
  /* align-items: flex-start; */
  /* flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  column-gap: 10px; */
  /* transition: padding var(--hover-duration) ease; */
}
.wrapper .pc_right_nav {
  max-width: 252px;
  text-align: center;
  /* padding: 330px 0 0; */
  margin: auto 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
.wrapper .pc_right_nav_title {
  margin: 0 0 18px;
}
.wrapper .pc_right_nav_list > li {
  margin: 0 0 20px;
}
.wrapper .pc_right_nav_list > li:last-child {
  margin-bottom: 0;
}
.wrapper .pc_right_nav_list > li a:hover {
  opacity: 1;
}
.wrapper .nav_right_catch {
  position: absolute;
  top: 20px;
  right: var(--pc-side-padding-outer);
}

@media screen and (max-width:1230px) {
  .wrapper .pc_left {
    padding: 50px var(--inner);
  }
  .wrapper .pc_right {
    padding: 20px var(--inner);
  }
  .wrapper .nav_right_catch {
    display: none;
  }
}
@media screen and (max-width:1050px) {
  .wrapper .pc_right {
    display: none;
  }
}

/* main_area */
.wrapper .main_area {
  width: var(--width-main-area);
  margin-left: var(--width-pc-left);
  background-color: var(--color-white);
}

@media screen and (max-width:678px) {
  .wrapper .pc_left,
  .wrapper .pc_right {
    display: none;
  }
  .wrapper .main_area {
    width: 100%;
    margin: 0;
  }
}

/* ====================================
  Main Visual
==================================== */
.wrapper .mv {
  min-height: 768px;
  background-image: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/mv_bk.jpg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  background-color: #82665A;
  color: var(--color-white);
  padding: 310px var(--inner) 25px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.wrapper .mv_h1 img {
  width: 381px;
}
.wrapper .mv_scroll {
  text-align: center;
  line-height: 1;
  margin: auto 0 0;
  animation: mvScrollFloat 2.2s ease-in-out infinite;
}
.wrapper .mv_scroll_icon {
  font-family: var(--font-rosarivo);
  font-size: 16px;
  margin: 0 0 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 5px;
}
.wrapper .mv_scroll_icon::after {
  content: '';
  width: 16px;
  height: 12px;
  background: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/icon_arrow_01.svg) no-repeat 50% 50%;
  background-size: 100% auto;
}
.wrapper .mv_scroll_catch {
  font-family: var(--font-serif);
  font-size: 30px;
  font-weight: 500;
}

@keyframes mvScrollFloat {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
  100% {
    transform: translateY(0);
  }
}

@media screen and (max-width:678px) {
  .wrapper .mv {
    min-height: calc(100vh - 130px);
    background-position: 50% 20%;
    padding: 240px var(--inner) 20px;
  }
  .wrapper .mv_h1 img {
    width: 90%;
    max-width: 350px;
  }
  .wrapper .mv_scroll_catch {
    font-size: 26px;
  }
}

/* ====================================
  Style Sections
==================================== */
.wrapper .style {
  background: var(--color-style_02);
  color: var(--color-white);
}
.wrapper .style_inner {
  padding: 20px var(--inner) 60px;
}
.wrapper .style_inner > :last-child {
  margin-bottom: 0;
}

.wrapper #_03.style {
  background: var(--color-style_03);
}
.wrapper #_04.style {
  background: var(--color-style_04);
}
.wrapper #_05.style {
  background: var(--color-style_05);
}

.wrapper .style_h2 {
  border-bottom: 1px solid var(--color-white);
  color: var(--color-white);
  font-family: var(--font-serif);
  font-size: 32px;
  font-weight: 700;
  padding: 0 0 5px;
  margin: 0 0 15px;
}

.wrapper .style_catch {
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 15px;
}

.wrapper .style_top_img {
  margin: 0 0 30px;
  position: relative;
}
.wrapper .style_top_img_sb {
  width: 100%;
  position: absolute;
  z-index: 1;
}
.wrapper .style_top_img_txt {
  border-top: 1px solid var(--color-white);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.77;
  padding: 30px 0 0;
  margin: 130px 0 0;
}

.wrapper #_02 .style_top_img_sb {
  width: 262px;
  top: 224px;
  right: -23px;
}
.wrapper #_03 .style_top_img_sb {
  width: 449px;
  top: 189px;
  right: -25px;
}
.wrapper #_04 .style_top_img_sb {
  width: 310px;
  top: 226px;
  right: -28px;
}
.wrapper #_05 .style_top_img_sb {
  width: 310px;
  top: 238px;
  right: -28px;
}

@media screen and (max-width:678px) {
  .wrapper .style_h2 {
    font-size: 30px;
  }

  .wrapper .style_catch {
    font-size: 22px;
  }

  .wrapper .style_top_img_txt {
    font-size: 14px;
    margin: 85px 0 0;
  }

  .wrapper .style_top_img {
    max-width: 360px;
    margin: 0 auto 30px;
  }
  .wrapper #_02 .style_top_img_sb {
    width: 60%;
    top: 160px;
    right: -23px;
  }
  .wrapper #_03 .style_top_img_sb {
    width: 100%;
    top: 155px;
    right: -20px;
  }
  .wrapper #_04 .style_top_img_sb {
    width: 70%;
    top: 160px;
    right: -20px;
  }
  .wrapper #_05 .style_top_img_sb {
    width: 70%;
    top: 178px;
    right: -20px;
  }
}

/* Product Cards */
.wrapper .style_w_area {
  background-color: var(--color-white);
  padding: 20px 20px 50px;
  color: var(--color-black);
}
.wrapper .style_w_area > :last-child {
  margin-bottom: 0;
}
.wrapper .style_w_box {
  margin-bottom: 50px;
}
.wrapper .style_w_box_title {
  color: var(--color-style_02);
  font-size: 34px;
  font-weight: 600;
  text-align: center;
  margin: 0 0 30px;
}
.wrapper .style_w_box_title span {
  border-bottom: solid 1px;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -.02em;
  padding: 0 0 5px;
  margin: 0 0 12px;
  display: block;
  position: relative;
}
.wrapper .style_w_box_title span:after,
.wrapper .style_w_box_title span::before {
  position: absolute;
  top: 100%;
  left: 50%;
  content: "";
  height: 0;
  width: 0;
}
.wrapper .style_w_box_title span:before {
  border: 13px solid;
  border-color: transparent;
  border-top-color: var(--color-style_02);
  margin-left: -13px;
}
.wrapper .style_w_box_title span:after {
  border: 11px solid;
  border-color: transparent;
  border-top-color: var(--color-white);
  margin-left: -11px;
}

@media screen and (max-width:678px) {
  .wrapper .style_w_box_title {
    font-size: 26px;
  }
  .wrapper .style_w_box_title span {
    font-size: 16px;
  }
}

.wrapper #_03 .style_w_box_title {
  color: var(--color-style_03);
}
.wrapper #_03 .style_w_box_title span:before {
  border-top-color: var(--color-style_03);
}
.wrapper #_04 .style_w_box_title {
  color: var(--color-style_04);
}
.wrapper #_04 .style_w_box_title span:before {
  border-top-color: var(--color-style_04);
}
.wrapper #_05 .style_w_box_title {
  color: var(--color-style_05);
}
.wrapper #_05 .style_w_box_title span:before {
  border-top-color: var(--color-style_05);
}

/* Product Slider */
.wrapper .flex_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.wrapper .style .flex_area {
  margin: 0 -10px 0 -20px;
  column-gap: 10px;
}

.wrapper .flex_area > .swiper {
  width: 235px;
}

.wrapper .swiper {
  overflow: hidden;
}
/* .wrapper .swiper-slide {
  width: 100% !important;
} */
.wrapper .style_w_box .swiper-slide a {
  display: block;
}
.wrapper .style_w_area .swiper-button-prev {
  display: none !important;
}
.wrapper .style_w_area .swiper-button-next {
  width: 25px !important;
  height: 47px !important;
  left: 0 !important;
  right: auto !important;
  background-color: var(--color-style_02);
  border-radius: 0 6px 6px 0;
}

.wrapper #_03 .style_w_area .swiper-button-next {
  background-color: var(--color-style_03);
}
.wrapper #_04 .style_w_area .swiper-button-next {
  background-color: var(--color-style_04);
}
.wrapper #_05 .style_w_area .swiper-button-next {
  background-color: var(--color-style_05);
}

.wrapper .swiper-button-next:after,
.wrapper .swiper-button-prev:after {
  content: '' !important;
}
.wrapper .swiper-button-next svg,
.wrapper .swiper-button-prev svg {
  display: none;
}
.wrapper .style_w_area .swiper-button-next:after {
  width: 17px;
  height: 12px;
  border: 0;
  background: url('/ec/img/usr/pg/campaign/m-shirts-s/26aw/icon_arrow_03.svg') no-repeat 50% 50%;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: calc(50% - 5px);
  right: auto;
  transform: translate(-50%, -50%);
}

.wrapper .flex_area .flex_text {
  width: calc(100% - 235px - 10px);
  display: flex;
  flex-direction: column;
}
.wrapper .flex_area .item_name {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 1em;
}
.wrapper .flex_area .item_price {
  font-size: 24px;
  line-height: 1;
  margin: 0 0 1em;
}
.wrapper .flex_area .item_price_tax {
  font-size: 16px;
}
.wrapper .flex_area .item_spec {
  margin: auto 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  gap: 10px;
}

@media screen and (max-width:678px) {
  .wrapper .flex_area > .swiper {
    width: 160px;
  }
  .wrapper .style_w_area .swiper-button-next {
    width: 20px !important;
    height: 40px !important;
  }
  .wrapper .style_w_area .swiper-button-next:after {
    width: 10px;
    height: 14px;
    left: calc(50% - 5px);
  }

  .wrapper .flex_area .flex_text {
    width: calc(100% - 160px - 10px);
  }
  .wrapper .flex_area .item_name {
    font-size: 14px;
  }
  .wrapper .flex_area .item_price {
    font-size: 20px;
  }
  .wrapper .flex_area .item_price_tax {
    font-size: 10px;
  }
  .wrapper .flex_area .item_spec {
    gap: 5px;
  }
  .wrapper .flex_area .item_spec > li {
    width: 30px;
  }
}

/* Link Button */
.wrapper .more_btn {
  border: solid 1px;
  text-align: center;
  margin-top: 40px;
}
.wrapper .more_btn a {
  display: block;
  padding: 10px 0;
  font-size: 16px;
  font-weight: 600;
  position: relative;
}
.wrapper .more_btn a:before {
  content: '';
  width: 18px;
  height: 18px;
  background: var(--color-white);
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 18px;
  bottom: 0;
  margin: auto;
}
.wrapper .more_btn a:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent var(--color-style_02);
  position: absolute;
  top: 0;
  right: 23px;
  bottom: 0;
  margin: auto;
}

.wrapper #_02 .more_btn a:after {
  border-left-color: var(--color-style_02);
}
.wrapper #_03 .more_btn a:after {
  border-left-color: var(--color-style_03);
}
.wrapper #_04 .more_btn a:after {
  border-left-color: var(--color-style_04);
}
.wrapper #_05 .more_btn a:after {
  border-left-color: var(--color-style_05);
}


/* ====================================
  Column
==================================== */
.wrapper .column {
  background: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/bk_07.jpg) no-repeat 50% 50% #FBEFE3;
  background-size: cover;
  padding: 50px var(--inner) 60px;
}

.wrapper .column_h2 {
  background-color: rgba(255, 255, 255, .6);
  text-align: center;
  width: 222px;
  margin: 0 auto;
  padding: 13px 32px 7px;
}
.wrapper .column_w_area {
  background-color: rgba(255, 255, 255, .6);
  padding: 20px var(--inner) 40px;
  color: var(--color-column-text);
}
.wrapper .column_w_area h3,
.wrapper .column_w_area h4 {
  font-weight: 600;
  color: var(--color-column-text);
}
.wrapper .column_w_area h3 {
  font-size: 20px;
  padding-bottom: 8px !important;
  margin-bottom: 15px !important;
  border-bottom: solid 1px var(--color-column-line);
  text-align: center;
}
.wrapper .column_w_area h4 {
  font-size: 16px;
  margin-top: 20px !important;
  padding: 12px 0 15px !important;
  border-top: solid 1px var(--color-column-line);
  position: relative;
}
.wrapper .column_w_area h4::after {
  content: '';
  position: absolute;
  top: 1px;
  right: 3px;
  bottom: 0;
  width: 16px;
  height: 16px;
  margin: auto;
  border: solid 1px var(--color-column-text);
  border-radius: 50%;
}
.wrapper .column_w_area p {
  font-size: 15px;
  line-height: 1.6;
  text-align: justify;
  word-break: break-all;
  margin-bottom: 20px;
}

.wrapper .column_w_area img {
  display: block;
}
.wrapper .column_img {
  width: 282px;
  margin: 0 auto;
}

.wrapper .accordion_content {
  display: none;
}
.wrapper .accordion_content [src*="column_img02.png"] {
  width: 366px;
  margin: 0 auto;
}
.wrapper .accordion_content [src*="column_img04.png"],
.wrapper .accordion_content [src*="column_img05.png"] {
  width: 340px;
  margin: 0 auto;
}
.wrapper .accordion_header {
  cursor: pointer;
  position: relative;
}
.wrapper .accordion_header::before,
.wrapper .accordion_header::after {
  position: absolute;
  content: '';
  top: 1px;
  right: 6px;
  bottom: 0;
  width: 9px;
  height: 1px;
  margin: auto;
  background: var(--color-column-text);
}
.wrapper .accordion_header::after {
  transform: rotate(-90deg);
  transition: transform var(--hover-duration);
}
.wrapper .accordion_header.active::after { transform: rotate(0deg); }

.wrapper .accordion_header:hover {
  opacity: 0.8;
}
.wrapper .accordion_content img:first-of-type {
  margin-bottom: 20px;
}

.wrapper .banner {
  padding: 40px var(--inner) 50px;
}
.wrapper .banner > :last-child {
  margin-bottom: 0;
}
.wrapper .banner_title {
  color: #042F5A;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 8px !important;
  position: relative;
}
.wrapper .banner_title::after,
.wrapper .banner_title::before {
  content: "";
  background-image: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/banner_icon.svg);
  background-size: contain;
  width: 28px;
  height: 24px;
  position: absolute;
  bottom: 0;
  right: 18px;
}
.wrapper .banner_title::before {
  right: unset;
  left: 15px;
  transform: scaleX(-1);
}
.wrapper .banner a {
  margin: 0 0 50px;
  display: block;
}

@media screen and (max-width:678px) {
  .wrapper .banner a {
    margin: 0 0 25px;
  }
}

/* ====================================
  Point
==================================== */
.wrapper .point {
  background: linear-gradient(to left,var(--color-point-side) var(--inner),var(--color-white) var(--inner));
}
.wrapper .point_title {
  background: var(--color-point-main);
  text-align: center;
  padding: 23px var(--inner) 18px;
}
.wrapper .point_title img {
  margin: 0 auto;
  display: block;
}
.wrapper .point_title [src$="point_title_sub.svg"] {
  width: 169px;
  margin: 0 auto 18px;
}
.wrapper .point_title [src$="point_title.svg"] {
  width: 388px;
}

.wrapper .point_inner {
  text-align: center;
  padding: 30px 52px 0 var(--inner);
}
.wrapper .point h4 {
  color: var(--color-point-main);
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 20px;
}
.wrapper .point_lead {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.87; 
}
.wrapper .point .flex_wrap {
  margin: 0 -26px 0 0;
}
.wrapper .point .flex_area {
  margin-top: 30px;
}
.wrapper .point .flex_area:nth-child(even) {
  flex-direction: row-reverse;
}
.wrapper .point .flex_area .img_box,
.wrapper .point .flex_area .txt_box {
  width: 50%;
}
.wrapper .point .flex_area .txt_box {
  background: var(--color-point-bg);
  color: var(--color-text);
  text-align: left;
  padding: 70px 23px 10px;
  position: relative;
}

.wrapper .point h5 {
  font-family: var(--font-staatliches);
  font-weight: 500;
  font-size: 30px;
  color: var(--color-white);
  background: var(--color-point-main);
  border-radius: 0 50px 50px 0;
  height: 41px;
  text-align: left;
  line-height: 42px;
  padding-left: 10px;
  padding-right: 15px;
  position: absolute;
  top: 0;
  left: 0;
}
.wrapper .point .flex_area:nth-child(even) .txt_box h5 {
  left: unset;
  right: 0;
  border-radius: 50px 0 0 50px;
  padding-left: 16px;
  padding-right: 12px;
}
.wrapper .point h5 span {
  font-size: 18px;
  font-weight: 500;
  padding-right: 7px;
  margin-right: 8px;
  position: relative;
}
.wrapper .point h5 span::after {
  content: "";
  background: var(--color-white);
  width: 1px;
  height: 25px;
  position: absolute;
  top: -3px;
  right: 0;
}

.wrapper .point h6 {
  color: var(--color-point-main);
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 25px;
}
.wrapper .point .flex_area .txt_box p {
  text-align: left;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}
.wrapper .point .bottom_bk {
  background: var(--color-point-side);
  height: 117px;
  margin: -50px -26px 0;
}
.wrapper .point__swiper_wrap {
  background: #E3E8F2;
  padding: 40px 0 70px !important;
  margin: 40px -26px 0 0;
}
.wrapper .point__swiper_slide img {
  width: 90%;
}
.wrapper .point__swiper_slide h5 {
  position: static;
  width: fit-content;
  border-radius: 50px;
  padding: 0 25px;
  margin: 0 auto 16px;
}
.wrapper .point__swiper_slide h5 span {
  padding-right: 9px;
  margin-right: 9px;
}
.wrapper p.point__swiper_pagination {
  color: var(--color-point-main);
  font-size: 20px;
  font-weight: 600;
  margin: 35px 0 0;
}
.wrapper .point__swiper_wrap .swiper-pagination {
  bottom: 35px !important;
}
.wrapper .point__swiper_wrap .swiper-pagination span.swiper-pagination-bullet {
  border: 1px solid var(--color-point-main);
  border-radius: 0;
  background: var(--color-white);
  width: 16px;
  height: 16px;
  margin: 0 20px;
}
.wrapper .point__swiper_wrap .swiper-pagination span.swiper-pagination-bullet-active {
  background: var(--color-point-main) !important;
}
.wrapper .point__swiper_wrap .swiper-button-prev,
.wrapper .point__swiper_wrap .swiper-button-next {
  top: unset !important;
  bottom: 20px !important;
}
.wrapper .point__swiper_wrap .swiper-button-next {
  right: 10% !important;
}
.wrapper .point__swiper_wrap .swiper-button-prev {
  left: 10% !important;
}
.wrapper .point__swiper_wrap .swiper-button-prev:after,
.wrapper .point__swiper_wrap .swiper-button-next:after {
  width: 15px;
  height: 15px;
  transform: rotate(45deg) !important;
}
.wrapper .point__swiper_wrap .swiper-button-prev:after {
  border-bottom: 2px solid var(--color-point-main);
  border-left: 2px solid var(--color-point-main);
}
.wrapper .point__swiper_wrap .swiper-button-next:after {
  border-top: 2px solid var(--color-point-main);
  border-right: 2px solid var(--color-point-main);
}

@media screen and (max-width:678px) {
  .wrapper .point {
    background: linear-gradient(to left,var(--color-point-side) 20px,var(--color-white) 20px);
  }
  .wrapper .point_inner {
    padding: 30px 46px 0 var(--inner);
  }
  .wrapper .point h5 {
    font-size: 20px;
    height: 30px;
    line-height: 32px;
  }
  .wrapper .point h6 {
    font-size: 16px;
    margin-bottom: 15px;
  }
  .wrapper .point .flex_area .txt_box {
    padding: 45px 10px 5px;
  }
  .wrapper .point .flex_area .txt_box p {
    font-size: 14px;
  }
  .wrapper .point__swiper_wrap .swiper-pagination span.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 10px;
  }
}

/* ====================================
  YouTube
==================================== */
.wrapper .youtube {
  text-align: center;
  padding: 60px var(--inner);
}
.wrapper .youtube h4 {
  font-size: 16px;
  font-weight: 600;
}
.wrapper .youtube h3 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 14px !important;
}
.wrapper .youtube h4 {
  margin: 15px 0 0;
}
.wrapper .youtube p {
  font-size: 16px;
  font-weight: 500;
}
.wrapper .youtube_area {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
  margin-bottom: 30px;
}
.wrapper .youtube_area iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ====================================
  Coordinate
==================================== */
.wrapper .cordinate {
  background: #DFB767;
  background-image: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/cordinate_bk.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 0;
  padding: 0 var(--inner) 60px;
}
.wrapper .cordinate h2 {
  color: var(--color-coordinate-main);
  font-family: var(--font-advent-pro);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  padding: 120px 0 0;
  margin: 0 0 25px;
}
.wrapper .cordinate__swiper_wrap .swiper-wrapper {
  margin-bottom: 40px;
}
.wrapper .cordinate__swiper_wrap .swiper-slide {
  width: 290px !important;
}
.wrapper .cordinate__swiper_wrap .swiper-scrollbar {
  background-color: var(--color-white);
  height: 7px;
  width: 100%;
  left: 50% !important;
  border-radius: 0;
  transform: translateX(-50%);
}
.wrapper .cordinate__swiper_wrap .swiper-scrollbar-drag {
  background-color: var(--color-coordinate-main);
  border-radius: 0;
}
.wrapper .cordinate__swiper_slide p {
  color: var(--color-text);
  font-size: 16px;
  text-align: center;
  margin-top: 15px;
}
.wrapper .cordinate__swiper_slide p span {
  display: block;
  font-weight: 600;
}
.wrapper .cordinate__more_btn {
  width: 290px;
  margin: 60px auto 0;
}
.wrapper .cordinate__more_btn a {
  display: block;
  background: var(--color-coordinate-main);
  color: var(--color-white);
  font-family: var(--font-staatliches);
  font-size: 24px;
  text-align: center;
  padding: 7px 0 5px;
}

/* ====================================
  Recommend
==================================== */
.wrapper .recommend {
  padding: 40px var(--inner) 70px;
}
.wrapper .recommend h4 {
  font-family: var(--font-advent-pro);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  margin: 0 0 30px;
}
.wrapper .recommend .flex_area {
  column-gap: 30px;
}
.wrapper .recommend .flex_area .banner_box {
  width: calc(50% - 15px);
}
.wrapper .recommend .flex_area .banner_box a {
  display: block;
}

@media screen and (max-width:678px) {
  .wrapper .recommend .flex_area {
    column-gap: 20px;
  }
  .wrapper .recommend .flex_area .banner_box {
    width: calc(50% - 10px);
  }
}

/* ====================================
  Fixed Background
==================================== */
.wrapper .bg_container {
  position: fixed;
  top: var(--height-header-fixed);
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  transition: top var(--hover-duration) ease;
}
.wrapper .bg_wrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.wrapper .bg {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity var(--bg-fade-duration) ease;
  background-position: 50% 50%;
  background-size: cover;
}
.wrapper .bg.active {
  opacity: 1;
}
.wrapper .bg._01 { background-image: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/bk_01.jpg); }
.wrapper .bg._02 { background-image: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/bk_02.jpg); }
.wrapper .bg._03 { background-image: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/bk_03.jpg); }
.wrapper .bg._04 { background-image: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/bk_04.jpg); }
.wrapper .bg._05 { background-image: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/bk_05.jpg); }
.wrapper .bg._06 { background-image: url(/ec/img/usr/pg/campaign/m-shirts-s/26aw/bk_06.jpg); }
.wrapper .bg._07 {
  background-color: #7282A0;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.wrapper .bg_text_inner {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;              /* テキスト幅に合わせる */
  animation: scrollLoop 14s linear infinite; /* 少し遅く */
  will-change: transform;
  transform: translate3d(0,0,0);   /* GPU描画を有効化 */
  backface-visibility: hidden;     /* ちらつき防止 */
  height: fit-content;
  padding: 8vh 0 0;
}
.wrapper .bg_text_inner span {
  flex: 0 0 auto;
  padding-right: 30px;
  color: #98A3C8;
  font-family: var(--font-staatliches);
  font-size: 40px;
  white-space: nowrap;
}
@keyframes scrollLoop {
  from {
    transform: translate3d(0,0,0);
  }
  to {
    transform: translate3d(-25%,0,0);
  }
}

@media screen and (max-width:678px) {
  .wrapper .bg_container {
    display: none;
  }
}
