@charset "UTF-8";

.graphic_modal-block {
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  display: none;
}
.graphic_modal-bg {
  background: rgba(244, 244, 244,1);
  /* background: rgba(0, 0, 0, 1);
  opacity: 0.8; */
  height: 100vh;
  position: absolute;
  width: 100%;
}
.graphic_modal-content {
  z-index: 100;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  max-width: 380px;
}
/* common */
img {
  width: 100%;
}
.is-sp {
    display: block;
}
.is-pc {
    display: none;
}
.content-maxWidth {
    padding: 0 5%;
}
.ms2-content img {
    width: 100%;
}
.color-red {
  color: #FF0000;
}
.swimwear-contentlist_slider-block .swiper-slide {
  background-color: unset;
  padding: 0;
  color: unset;
  text-align: unset;
}
.ms2-content_archive_swiper .swiper-slide {
  background-color: unset;
  padding: 0;
  color: unset;
  text-align: unset;

  margin: 0 5px;
}
/* btn */
.btn-common:visited {
    color: #FFF;
}
.btn-common {
  background: #4D4D4D;
  color: #FFF;
  padding: 4% 3%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-style: normal;
  line-height: 24px;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ms2-content-item + .ms2-content-item {
  margin-top: 12%;
}
.ms2-content-item_title {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 190%;
  text-align: center;
  letter-spacing: 0.05em;
  color: #0A1317;
  /* margin-bottom: 12%; */
}
.ms2-content-item_title:after {
  content: "";
  display: block;
  width: 28%;
  position: relative;
  top: 11px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  border-bottom: 2px solid #4D4D4D;
}
/* header */
.ms2-header-wrap {
  position: relative;
  width: 100%;
  min-height: 100vh;
}
.ms2-header_title-wrap {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 14%;
  width: 258px;
}
.ms2-header_title {
  display: flex;
}
.ms2-header_title > span {
  width: 33%;
  background-color: #FFF;
}
.ms2-header_title .ms2-header_title-m {
  z-index: 5;
  width: 105px;
}
.ms2-header_title .ms2-header_title-s {
  z-index: 4;
  width: 80px;
  /* opacity: 0; */
}
.ms2-header_title .ms2-header_title-2 {
  width: 72px;
  /* opacity: 0; */
}
.ms2-header_subtitle {
  /* opacity: 0; */
  width: 248px;
  margin-left: 5px;
  margin-top: 19px;
}
/* #show {
  animation: fadeIn .6s ease .6s backwards;
  opacity: 1;
  width: 65px;
}
#show2 {
  animation: fadeIn .6s ease backwards;
  opacity: 1;
  width: 55px;
}
#show3 {
  animation: fadeTop .6s ease backwards;
  opacity: 1;
}
@keyframes fadeTop {
  from {
    opacity: 0;
    transform: translateY(-25px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateX(-25px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
} */
.ms2-header_text {
  position: absolute;
  left: 15%;
  top: 46%;
  writing-mode: vertical-rl;
}
.ms2-header_text {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 28px;
  letter-spacing: 2px;
}
.ms2-header_text span {
  letter-spacing: 5px;
}
.ms2-header_scroll {
  position: absolute;
  left:22.5%;
  top: 76%;
}
/* 線の描写 */
.scrolldown {
  position: absolute;
  top: 0;
  width: 1px;
  height: 80px;
  /* background: #B3B3B3; */
  display: inline-block;
  z-index: 2;
  overflow: hidden;
}
.scrolldown::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 80px;
  background: #000
}
.scrolldown::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 80px;
  background: #B3B3B3;
  animation: sdl 2.8s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
/* lead */
.ms2-content_lead {
  margin-top: -9px;
}
.ms2-content_lead-title {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 175%;
  letter-spacing: 0.05em;
  color: #0A1317;
  margin-top: 1%;
}
.ms2-content_lead-text {
  margin-top: 9%;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-size: 1.15rem;
  line-height: 25px;
  letter-spacing: 0.05em;
}
/* menu */
.ms2-content_menu.ms2-content-item {
  margin-top: 16%;
}
.ms2-content_menu-title {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 190%;
  text-align: center;
  letter-spacing: 0.05em;
  color: #0A1317;
}
.ms2-content_menu-list {
  display: flex;
  overflow-x: auto;
  margin-top: 13%;
}
.ms2-content_menu-list_item {
  background: #4D4D4D;
  flex: 0 0 auto;
}
.ms2-content_menu-list_item > a {
  display: block;
  padding: 7px 20px 11px;
  height: 52px;
  width: 128px;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #FFF;
  font-size: 1.15rem;
}
.ms2-content_menu-list_item:hover {
  opacity: .7;
}
.ms2-content_menu-list_item:hover a {
  color: #FFF!important;
}
.ms2-content_menu-list_item-icon {
  position: relative;
  color: #333;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ms2-content_menu-list_item-icon::after {
  content: "";
  display: inline-block;
  left: 3px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
/* .ms2-content_menu-list_item:hover .ms2-content_menu-list_item-icon {
  animation: fluffy1 1.8s ease infinite;
}
@keyframes fluffy1 {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-15px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
} */
.ms2-content_menu-list_item + .ms2-content_menu-list_item {
  margin-left: 14px;
}
/* graphic */
.ms2-content_graphic-wrap {
  padding-bottom: 18%;
  background-color: #FFF;
}
.ms2-content_graphic.ms2-content-item {
  margin-top: 0;
  padding-top: 19%;
}
.ms2-content_graphic-list {
  display: flex;
  overflow-x: auto;
  margin-top: 14%;
}
.ms2-content_graphic-list > li {
  width: 85%;
  flex: 0 0 auto;
}
.ms2-content_graphic-list > li + li {
  margin-left: 5%;
}
.graphic-item_header {
  position: relative;
}
.graphic-item_body {
  margin-top: 12%;
}
.graphic-item_body-title {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-size: 1.15rem;
  line-height: 25px;
  text-align: center;
  letter-spacing: 0.05em;
  color: #0A1317;
  display: flex;
  align-items: center;
}
.graphic-item_body-title::before {
  margin-right: 1rem;
}
.graphic-item_body-title::after {
  margin-left: 1rem;
}
.graphic-item_body-title::before,
.graphic-item_body-title::after {
content: '';
height: 1px;
background-color: #999999;
flex-grow: 1;
}
.graphic-item_body-text {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-size: 1.15rem;
  line-height: 25px;
  letter-spacing: 0.05em;
  margin-top: 8%;
}
/* swimwear */
.ms2-content_swimwear.ms2-content-item {
  margin-top: 0;
}
/* swimwear_header */
.ms2-content_swimwear_header {
  background-color: #F4F4F4;
  padding-bottom: 17%;
  position: relative;
} 
.ms2-content_swimwear_header::after {
  position: absolute;
  bottom: -2%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  display: inline-block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 36px 28px 0 28px;
  border-color: #f4f4f4 transparent transparent transparent;
}
.ms2-content_swimwear_header-title_top {
  padding-top: 15%;
}
.ms2-content_swimwear_header-title_bottom {
  margin-top: 8%;
}
.ms2-content_swimwear_header-imagelist {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 12%;
}
.ms2-content_swimwear_header-imagelist > li {
  width: 100px;
  height: 100px;
}
.ms2-content_swimwear_header-imagelist > li + li {
  margin-left: 8%;
}
.ms2-content_swimwear_header-icon {
  text-align: center;
  margin-top: 12%;
}
.ms2-content_swimwear_header-icon > img {
  width: 28px;
  height: 28px;
}
.ms2-content_swimwear_menulist-all {
  display: flex;
  justify-content: center;
  margin-top: 12%;
}
.ms2-content_swimwear_menulist-all > div {
  width: 50%;
}
.ms2-content_swimwear_menulist {
  display: flex;
  justify-content: space-between;
}
.ms2-content_swimwear_menulist-mens {
  /* margin-left: 1%; */
}
.ms2-content_swimwear_item {
  width: 48%;
  box-sizing: border-box;
  text-align: center;
}
.ms2-content_swimwear_item + .ms2-content_swimwear_item {
  /* margin-left: 2%; */
}
.ms2-content_swimwear_item-number {
  display: inline-block;
  width: 25px;
  height: 25px;
}
.ms2-content_swimwear_item-name {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-size: 1.1rem;
  line-height: 19px;
  text-align: center;
  letter-spacing: 0.05em;
  color: #0A1317;
  padding-top: 6px;
  display: block;
}
.ms2-content_swimwear_item-body {
  margin-top: 11%;
  border: 1px solid #ccc;
}
.ms2-content_swimwear_menulist-womens_title {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-size: 1.1rem;
  line-height: 19px;
  text-align: center;
  letter-spacing: 0.05em;
  color: #0A1317;
  padding-top: 7%;
}
/* swimwear-content */
.swimwear-contentlist > li:first-child {
  padding-top: 16%;
}
.swimwear-contentlist_wrap {
  padding-bottom: 13%;
}
.swimwear-contentlist > li + li {
  padding-top: 14%;
}
.swimwear-contentlist > li:after {
  content: "";
  display: inline-block;
  border-top: 1px dashed #CCCCCC;
  width: 90%;
  position: relative;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.swimwear-contentlist > li:last-child:after {
  display: none;
}
.swimwear-contentlist_header-title_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
.swimwear-contentlist_header-title_text:after {
  content: "";
  display: block;
  width: 100%;
  position: relative;
  top: 4px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  border-bottom: 1px solid #4D4D4D;
}
.swimwear-contentlist_header-title_number {
  width: 41px;
  margin-right: 3%;
}
.swimwear-contentlist_header-title_text {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-size: 1.15rem;
  line-height: 25px;
  letter-spacing: 0.05em;
  color: #0A1317;
}
/* swimwear_slide */
.swimwear-contentlist_slider {
  margin-top: 9%;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.swiper-slide_wrap {
  position: relative;
}
.slider-thumbnail {
  margin-top: 13%;
}
.slider-thumbnail .swiper-slide {
  width: 24% !important;
  margin: 0 .5%;
  border: 1px solid #CCCCCC;
  cursor: pointer;
}
.swiper-slide_title {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-size: 1.1rem;
  line-height: 19px;
  text-align: center;
  letter-spacing: 0.05em;
  color: #0A1317;
  margin-top: 2%;
}
.swiper-button-next, .swiper-button-prev {
  width: auto;
}
.swiper-button {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}
.swiper-button-next::after, .swiper-button-prev::after {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 10px;
  border-top: 2px solid #CCCCCC;
  border-right: 2px solid #CCCCCC;
  transform: rotate(45deg);
  content: "";
  font-family: unset;
  font-size: 0;
}
.swiper-button-prev::after {
  transform: rotate(-135deg);
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: 0;
}
/* swimwear_body */
.swimwear-contentlist_body-text {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-size: 1.15rem;
  line-height: 25px;
  letter-spacing: 0.05em;
  color: #0A1317;
  margin-top: 11%;
}
.swimwear-contentlist_body-text_sp::after {
  content: "...";
  display: inline-block;
}
.swimwear-contentlist_body-text.is-active > p::after {
  display: none;
}
.swimwear-contentlist_body-text.is-active .swimwear_accordion-trigger {
  display: none;
}
.swimwear-contentlist_body-btnBlock {
  margin-top: 14%;
}
.swimwear-contentlist_body-btn {
  background: #4D4D4D;
  padding: 4% 3%;
  width: 235px;
  height: 53px;
  color: #FFF!important;  
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1.28rem;
  line-height: 24px;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 0.05em;
}
.swimwear_accordion_readmore {
  color: #4D4D4D;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-size: 1.15rem;
  line-height: 25px;
  margin-right: 2%;
  letter-spacing: 0.05em;
}
.swimwear_readmore_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 4%;
}
.swimwear_arrow {
  width: 9px;
  height: 9px;
  border: 1px solid;
  border-color: #4D4D4D #4D4D4D transparent transparent;
  transform: rotate(135deg);
  margin-left: 6px;
  margin-bottom: 5px;
}
/* buy */
.ms2-content_buy.ms2-content-item {
  margin-top: 0;
}
.ms2-content_buy {
  padding-top: 15%;
  padding-bottom: 17%;
  background-color: #F4F4F4;
}
.ms2-content_buy-description {
  margin-top: 11%;
}
.ms2-content_buy-date {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 190%;
  letter-spacing: 0.05em;
  color: #0A1317;
}
.ms2-content_buy_text-block {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-size: 1.15rem;
  line-height: 25px;
  letter-spacing: 0.05em;
  color: #0A1317;
  margin-top: 8%;
}
.ms2-content_buy_text-block > .font-red {
  color: #FF0000;
}
.ms2-content_buy_btn-block {
  margin-top: 11%;
}
.ms2-content_buy_btn {
  font-size: 1.15rem;
  height: 59px;
  max-width: 340px;
}
/* archive */

.ms2-content_archive {
  /* display: none; */
}
.ms2-content_archive.ms2-content-item {
  margin-top: 0;
  padding-top: 14%;
  padding-bottom: 5%;
}
.ms2-content_archive_list {
  /* display: flex;
  overflow-x: auto; */
  margin-top: 13%;
  /* margin-right: 2%; */

}

.archivelist_item {
  /* flex: 0 0 auto;
  width: 128px;
  height: 128px; */
}
.archivelist_item-img{
  position: relative;
  height: 128px;
  overflow: hidden;
}
.archivelist_item-text {
  text-align: center;
  margin-top: 9%;
  font-size: 1rem;
}
/* .archivelist_item-img_bg::before{
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0,0,0,0.5);
} */
/* .archivelist_item-img > p {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFF;
  background-color: #000;
  padding: 10% 3%;
  width: 75%;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 18px;
} */
.archivelist_item_date {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 18px;
  text-align: center;
  letter-spacing: 0.03em;
  margin-top: 9%;
}
.ms2-content_archive_swiper {
  overflow: hidden;
}

.ms2-content_archive_swiper .swiper-slide {
  /* width: 128px!important; */
  /* width: 35%!important; */
  width: 35%;
  max-width: 180px;
  height: auto;
}
/* buy_modal */
.buy_modal-block {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
}
.buy_modal-bg {
  background: rgba(244, 244, 244,1);
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 10;
}
.buy_modal-content-body {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  overflow-y: scroll;
  box-sizing: border-box;
  z-index: 10;
  height: 100%;
}
.buy_modal-content-body_wrap {
  padding: 10% 10% 25%
}
.buy_content_title {
  font-weight: 700;
}
.buy_modal-content-body_text {
  color: #000;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-size: 1.15rem;
  line-height: 23px;
  color: #0A1317;
}
.buy_modal-content-body_text ul {
  list-style-position: inside;
}
.buy_modal-content-body_text ul > li {
  padding-left: 1em;
  text-indent: -1em;
}
.buy_modal-btn {
  display: inline-block;
  width: 40px;
  height: 40px;
  content: "";
  cursor: pointer;
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 11;
  background-color: #4D4D4D;
}
.modal-btn:before,
.modal-btn:after {
  background: #FFF;
  content: '';
  display: block;
  position: relative;
  height: 1px;
  width: 25px;
  border-radius: 1px;
  margin-left: 7px;
  margin-top: 19px;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}
.modal-btn:before {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.modal-btn:after {
  top: -21px;
} 
.modal-btn_close {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 11;
}
.modal-btn.modal-btn_close:before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.modal-btn.modal-btn_close:after {
  transform: rotate( 45deg);
}
body.fixed {
  position: fixed;
	width: 100%;
	height: 100%;
  left: 0;
}
/* 
.modal-btn_open.modal-btn {
  bottom: 0;
  right: 0;
  position: absolute;
  z-index: 100;
} */

/* .modal-btn.selected:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.modal-btn.selected:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.modal-btn.modal-btn_bg-white {
  border-color: #000;
}
.modal-btn_bg-white.modal-btn:before, .modal-btn_bg-white.modal-btn:after {
background-color: #000;
}
.modal-content-body {
  left: 50%;
  position: absolute;
  text-align: right;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 400px;
  width: 100%;
  overflow-y: scroll;
  box-sizing: border-box;
  z-index: 11;
} 
body.fixed {
  position: fixed;
	width: 100%;
	height: 100%;
}*/



/* 221114Ishino added */
/*delete before upload swiper縦長になるエラーローカルでテストした場合にのみ発生*/
.swimwear-contentlist_slider {
  height: auto;
}
.swiper-wrapper{
  height: auto;
}












@media (min-width: 768px) {
    /* PC */
    /* common */
    .is-sp {
        display: none;
    }
    .is-pc {
        display: block;
    }
    .content-maxWidth {
        max-width: 980px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 3%;
        padding-right: 3%;
    }
    .ms2-content_swimwear_header-wrap {
      max-width: 980px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 3%;
      padding-right: 3%;
    }
    .ms2-content_archive_list {
      max-width: 980px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 3%;
      padding-right: 3%;
    }
    .ms2-content-item_title {
      font-size: 1.8rem;
    }
    .ms2-content-item + .ms2-content-item {
      margin-top: 80px;
    }
    .ms2-content-item_title:after {
      width: 12%;
    }
    /* btn */
    .btn-common {
      color: #FFF!important;
      font-size: 1.2rem;
      font-weight: bold;
      background: #4D4D4D;
      padding: 4% 3%;
      border: 2px solid #4D4D4D;
      position: relative;
      z-index: 1;
      transition: .3s;
    }
    .btn-common::before {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      background: #fff;
      /* border: 3px solid #4D4D4D; */
      transform-origin: 100% 50%;
      transform: scaleX(0);
      transition: transform ease .3s;
    }
    .btn-common:hover {
      color: #4D4D4D!important;
    }
    .btn-common:hover::before {
      transform-origin: 0% 50%;
      transform: scaleX(1);
    }
    /* header */
    .ms2-header {}
    .ms2-header-wrap {
      min-height: 70vh;
    }
    .ms2-header_title-wrap {
      width: auto;
      top: 31%;
    }
    .ms2-header_title .ms2-header_title-m {
      width: 165px;
    }
    .ms2-header_title .ms2-header_title-s {
      z-index: 4;
      width: 125px;
    }
    .ms2-header_title .ms2-header_title-2 {
      width: 111px;
    }
    .ms2-header_subtitle {
      width: 394px;
      margin-top: 28px;
    }
    .ms2-header_text {
      /* top: unset;
      left: unset;
      position: unset; */
      writing-mode: unset;
      font-size: 19px;
      left: 50%;
      top: 22%;
      transform: translateX(-50%);
    }
    .ms2-header_scroll {
      right: 16%;
      left: unset;
      top: 290px;
    }
    /* lead */
    .ms2-content_lead-title {
      font-size: 1.8rem;
      text-align: center;
    }
    .ms2-content_lead-text {
      font-size: 1.25rem;
      line-height: 30px;
      text-align: center;
    }
    /* menu */
    .ms2-content_menu.ms2-content-item {
      margin-top: 80px;
    }
    .ms2-content_menu-list {
      justify-content: center;
      overflow-x: unset;
      margin-top: 40px;
    }
    .ms2-content_menu-list_item {
      width: 24%;
      flex: unset;
    }
    .ms2-content_menu-list_item > a {
      width: auto;
      padding-top: 12px;
    }
    .ms2-content_menu-list_item > a > p {
      font-size: 1.3rem;
    }
    .ms2-content_menu-list_item-icon {
      margin-top: 3px;
    }
    /* graphic */
    .ms2-content_graphic-wrap {
      padding-bottom: 80px;
    }
    .ms2-content_graphic.ms2-content-item {
      margin-top: 0;
      padding-top: 80px;
    }
    .ms2-content_graphic-list {
      display: block;
      overflow-x: unset;
      margin-top: 80px;
    }
    .ms2-content_graphic-list > li {
      width: 100%;
      flex: unset;
    }
    .ms2-content_graphic-list > li + li {
      margin-left: 0;
      margin-top: 40px;
    }
    .graphic-item_wrap {
      display: flex;
    }
    .graphic-item_header {
      width: 25%;
      cursor: pointer;
    }
    .graphic-item_header:hover {
      opacity: .7;
    }
    .graphic-item_body {
      margin-top: 0;
      flex: 1;
      padding-left: 5%;
    }
    .graphic-item_body-text {
      margin-top: 3%;
    }
    /* modal */
    /* swimwear */
    /* swimwear_header */
    .ms2-content_swimwear_header {
      padding-bottom: 80px;
    }
    .ms2-content_swimwear_header-wrap {
      margin: 0 auto;
    }
    .ms2-content_swimwear_header-title_top {
      padding-top: 10%;
      padding-top: 80px;
    }
    .ms2-content_swimwear_header-imagelist {
      margin-top: 80px;
    }
    .ms2-content_swimwear_header-imagelist > li {
      width: 28%;
      margin: 0 2%;
      height: auto;
    }
    .ms2-content_swimwear_header-imagelist > li + li {
      margin-left: 0;
    }
    .ms2-content_swimwear_header-icon {
      margin-top: 40px;
    }
    .ms2-content_swimwear_header-icon > img {
      width: 50px;
      height: 50px;
    }
    .ms2-content_swimwear_header-title_bottom {
      margin-top: 40px;
    }
    .ms2-content_swimwear_menulist-all {
      margin-top: 80px;
    }
    .ms2-content_swimwear_item > a {
      display: flex;
    }
    .ms2-content_swimwear_item-number {
      width: 50px;
      height: 50px;
    }
    .ms2-content_swimwear_item-header {
      padding-right: 10px;
      box-sizing: border-box;
      width: 35%;
    }
    .ms2-content_swimwear_menulist-womens_title {
      font-size: 1.3rem;
    }
    .ms2-content_swimwear_item-body {
      flex: 1;
      margin-top: 0px;
      box-sizing: border-box;
    }
    .ms2-content_swimwear_item-body > img {
      width: 130px;
      height: 130px;
    }
    .ms2-content_swimwear_menulist-mens {
      margin-left: 1%;
    }
    /* swimwear-content */
    .swimwear-contentlist > li:first-child {
      padding-top: 80px;
    }
    .swimwear-contentlist_wrap {
      padding-bottom: 80px;
    }
    .swimwear-contentlist > li + li {
      padding-top: 80px;
    }
    .swimwear-contentlist_pc-wrap {
      display: flex;
      align-items: center;
    }
    .swimwear-contentlist_slider {
      margin-top: 40px;
    }
    .swimwear-contentlist_slider-block {
      width: 45%;
    }
    .swimwear-contentlist_body {
      flex: 1;
      padding-left: 40px;
    }
    .swimwear-contentlist_header-title_number {
      width: 51px;
    }
    .swimwear-contentlist_header-title_text {
      font-size: 1.8rem;
    }
    .swimwear-contentlist_header-title_text:after {
      top: 8px;
    }
    /* swimwear_slide */
    .swimwear-contentlist_slider {
      height: auto;
    }
    .swimwear-contentlist_slider .swiper-slide {
      width: 100% !important;
    }
    .slider-thumbnail {
      margin-top: 80px;
    }
    .swiper-button-next, .swiper-button-prev {
      width: auto;
    }
    /* swimwear_body */
    /* buy */
    .ms2-content_buy.ms2-content-item {
      margin-top: 0;
      padding-top: 80px;
      padding-bottom: 80px;
    }
    .ms2-content_buy-description {
      text-align: center;
      margin-top: 80px;
    }
    .ms2-content_buy_text-block {
      margin-top: 80px;
    }
    .ms2-content_buy-date {
      font-size: 1.8rem;
    }
    .ms2-content_buy_btn-block {
      margin-top: 80px;
    }
    .buy_modal-content-body_wrap {
      padding-bottom: 5%;
    }
    /* archive */
    .ms2-content_archive.ms2-content-item {
      padding-top: 80px;
      padding-bottom: 80px;
      margin-top: 0;
    }
    .ms2-content_archive_list {
      margin: 80px auto 0;
    }
    .archivelist_item-img{ 
      height: auto;
    }
    .archivelist_item-text {
      margin-top: 15px;
    }
}



/*---------------- CSS for vol.3 ----------------------*/
.graphic-item_wrap {
  padding-bottom: 30px;
}

.ms2-content_swimwear_menulist-all {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.ms2-content_swimwear_menulist-all div:last-child {
  width: -moz-fit-content;
  width: fit-content;
}

.ms2-content_swimwear_menulist .ms2-content_swimwear_item {
  margin-right: 10px;
  width: -moz-fit-content;
  width: fit-content;
}
.ms2-content_swimwear_menulist .ms2-content_swimwear_item:last-child {
  margin-right: 0;
}

.ms2-content_swimwear_menulist-womens_title {
  padding-bottom: 15px;
}

.ms2-content_swimwear_item-body {
  margin: 20px auto;
}
.ms2-content_swimwear_item-body img {
  width: 90px;
}

.ms2-content_swimwear_menulist {
  justify-content: center;
}

.archive-wrapper {
  width: 100%;
  padding: 0 3%;
  white-space: nowrap;
  overflow-x: scroll;
  direction: rtl;
}
.archive-wrapper .archive-list {
  width: -moz-fit-content;
  width: fit-content;
  padding: 50px 0 30px;
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.archive-wrapper .archive-list li {
  width: 120px;
}
/* PC */
@media (min-width: 768px) {
  .ms2-content_swimwear_menulist-womens_title {
    padding-bottom: 30px;
  }
  .ms2-content_swimwear_item-body {
    margin: 0;
  }
  .ms2-content_swimwear_item-body img {
    width: unset;
  }
  .ms2-content_swimwear_item-header {
    width: unset;
  }
  .archive-wrapper {
    width: -moz-fit-content;
    width: fit-content;
    padding: unset;
    white-space: unset;
    overflow-x: unset;
    max-width: 960px;
    margin: 0 auto;
    padding: 0;
  }
  .archive-wrapper .archive-list {
    max-width: 800px;
    width: -moz-fit-content;
    width: fit-content;
    padding: 50px 0;
    display: grid;
    -moz-column-gap: 10px;
         column-gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    align-items: center;
    justify-content: center;
  }
  .archive-wrapper .archive-list li {
    width: unset;
    margin-bottom: 20px;
  }
  .archive-wrapper .archive-list::before, .archive-wrapper .archive-list::after {
    display: none;
  }
}