@charset "UTF-8";
.sp_only {
  display: none !important;
}
.pc_only {
  display: block !important;
}
.sp_just {
  display: none !important;
}
.pc_just {
  display: block !important;
}
/* SPここから */
@media only screen and (max-width: 767px) {
  .pc_only {
    display: none !important;
  }
  .sp_only {
    display: block !important;
  }
}
/* 特長ここから（959px）*/
@media only screen and (max-width: 767px) {
  .pc_just {
    display: none !important;
  }
  .sp_just {
    display: block !important;
  }
}

a:hover {
  opacity: 1;
}
.btn_page_top {
    display: none;
}

.en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.jp {
  /*font-family: "BIZ UDGothic", sans-serif;*/
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

section {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding: 0 calc(60 *(100vw/1360));
}
.ttl {
    font-size: calc(90 *(100vw/1360));
    font-weight: 700;
    letter-spacing: 1.8px;
    color: #b3b3b3;
}
.sub.jp {
    font-size: calc(24 *(100vw/1360));
    font-weight: 700;
    letter-spacing: 0.6px;
    color: #222;
}

@media print, screen and (min-width: 1360px) {
    section {
        padding: 0 60px;
    }
    .ttl {
        font-size: 90px;
    }
    .sub.jp {
        font-size: 24px;
    }
}

@media only screen and (max-width: 767px) {
    section {
        padding: 0 calc(60 *(100vw/750));
    }
    .ttl {
        font-size: calc(72 *(100vw/750));
        line-height: 0.9;
    }
    .sub.jp {
        font-size: calc(26 *(100vw/750));
        margin-top: 1.6vw;
    }

    .magnetic .ttl,
    .features .ttl,
    .gallery .ttl {
        padding-left: calc(48 *(100vw/750));
    }
    .magnetic .sub.jp,
    .features .sub.jp,
    .gallery .sub.jp {
        padding-left: calc(48 *(100vw/750));
    }
}



/*------------------------------------------------------
 ファーストビュー
-------------------------------------------------------*/
.fv {
  position: relative;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.fv img {
  width: 100%;
  height: auto;
}
.fv__imgtext {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .fv__imgtext {
    top: 0;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.fv__imgtext img {
  width: 100%;
  height: auto;
}



/*------------------------------------------------------
 コンセプト
-------------------------------------------------------*/
.concept h2 {
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(30 *(100vw/1360));
    line-height: 1.6;
    letter-spacing: 0.06em;
    margin: calc(180 *(100vw/1360)) auto calc(30 *(100vw/1360));
    width: calc(900 *(100vw/1360));
}
section.concept {
    margin-bottom: calc(150 *(100vw/1360));
}

.concept-basket {
    width: calc(900 *(100vw/1360));
    margin: auto;
}
.concept-wrap {
    max-width: 1360px;
    width: 100%;
    margin: auto;
    margin-top: 0;
    margin-bottom: calc(66 *(100vw/1360));
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.concept-img {
    width: 60%;
}
.concept-txt {
    margin-left: calc(24 *(100vw/1360));
}
p.lead {
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(17 *(100vw/1360));
    font-weight: 500;
    line-height: 2.1;
    letter-spacing: 0.06em;
}
.concept-box {
    width: 59.6vw;
    margin: auto;
}

@media print, screen and (min-width: 1360px) {
    .concept h2 {
        font-size: 30px;
        margin: 180px auto 30px;
        width: 900px;
    }
    section.concept {
        margin-bottom: 150px;
    }

    .concept-basket {
        width: 100%;
    }
    .concept-wrap {
        margin: 0 auto 66px;
    }
    .concept-txt {
        margin-left: 24px;
    }
    p.lead {
        font-size: 17px;
    }
    .concept-box {
        width: 90%;
    }
}

@media only screen and (max-width: 767px) {
    .concept h2 {
        font-size: calc(30 *(100vw/750));
        margin: calc(90 *(100vw/750)) auto calc(24 *(100vw/750));
    }
    section.concept {
        padding: 0;
        margin-bottom: calc(120 *(100vw/750));
    }
    section#concept {
        margin-bottom: calc(48 *(100vw/750));
    }
    .concept h2 {
        /* padding-left: 12vw; */
        width: 68vw;
    }
    .concept div {
        width: 86vw;
    }

    .concept-basket {
        margin: 0;
    }
    .concept-wrap {
        flex-direction: column;
        width: 86vw;
        margin-left: 14vw;
    }
    .concept-img {
            width: 100%;
            margin-bottom: 4.8vw;
    }
    p.lead {
        font-size: calc(21 *(100vw/750));
        line-height: 1.8;
    }
    .concept-box {
        margin: 0;
    }
}



/*------------------------------------------------------
 磁石設計
-------------------------------------------------------*/
.magnetic-bg {
    background: #f2f2f2;
    margin: calc(-78 *(100vw/1360)) auto calc(150 *(100vw/1360));
    padding-top: calc(150 *(100vw/1360));
}
.magnetic-wrap {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding-left: calc(60 *(100vw/1360));
	display: flex;
    justify-content: center;
    align-items: flex-start;
}
.magnetic-content1 {
    text-align: center;
    margin: calc(36 *(100vw/1360)) auto calc(90 *(100vw/1360));
    width: calc(430 *(100vw/1360));
}
.magnetic-content2 {
    width: calc(480 *(100vw/1360));
}

@media print, screen and (min-width: 1360px) {
    .magnetic-bg {
        margin: -78px auto 150px;
        padding-top: 150px;
    }
    .magnetic-wrap {
        padding-left: 60px;
    }
    .magnetic-content1 {
        margin: 36px auto 90px;
        width: 430px;
    }
    .magnetic-content2 {
        width: 480px;
    }
}

@media only screen and (max-width: 767px) {
    .magnetic-bg {
        margin: calc(-135 *(100vw/750)) auto calc(120 *(100vw/750));
        padding-top: calc(200 *(100vw/750));
    }
    .magnetic-wrap {
        padding-left: 0;
        flex-direction: column;
        align-items: center;
    }
    .magnetic-box {
        width: 100%;
    }
    .magnetic-box p.lead {
        padding-left: calc(108 *(100vw/750));
    }
    .magnetic-content3 {
        margin-top: 1.2vw;
    }
}



/*------------------------------------------------------
 特長
-------------------------------------------------------*/
.features-wrap {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    margin: calc(60 *(100vw/1360)) auto calc(150 *(100vw/1360));
}
.features-fv {
    display: flex;
    flex-direction: column;
}
.features-sec {
    display: flex;
    flex-direction: column;
}

.features-box {
    display: flex;
    flex-direction: column;
	justify-content: flex-start;
    align-items: center;

    padding: 0 calc(20 *(100vw/1360));
    border-right: solid 1px #ccc;
    width: 36%;
}
.features-box:last-child {
    border: none;
}

.features-txt {
    text-align: center;
}
.features-ttl {
    font-size: calc(25 *(100vw/1360));
    font-weight: bold;
    letter-spacing: 0.02em;
    margin-top: calc(20 *(100vw/1360));
}
.features-sub {
    font-size: calc(17 *(100vw/1360));
    letter-spacing: 0.02em;
    margin-top: calc(10 *(100vw/1360));
}
.tee .features-ttl,
.tee .features-sub,
.tee .features-lead {
    color: #dd5929;
}
.sports .features-ttl,
.sports .features-sub,
.sports .features-lead {
    color: #b7bc00;
}
.polo .features-ttl,
.polo .features-sub,
.polo .features-lead {
    color: #434163;
}
.features-jp {
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(16 *(100vw/1360));
    letter-spacing: 0.06em;
    margin: calc(7.2 *(100vw/1360)) auto calc(45 *(100vw/1360));
}
.features-img img {
    border-radius: calc(24 *(100vw/1360));
}
.features-lead {
    font-family: "Noto Sans JP", sans-serif;
	font-size: calc(22.4 *(100vw/1360));
    font-weight: bold;
    letter-spacing: 0.02em;
    margin-top: calc(30 *(100vw/1360));
}
.features-lead.uno {
    font-size: calc(20 *(100vw/1360));
    line-height: 1.75;
}
.features-doc {
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
	font-size: calc(14.1 *(100vw/1360));
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0;
    margin: calc(9 *(100vw/1360)) auto calc(60 *(100vw/1360));
}
.features-doc.uno {
    margin: calc(9 *(100vw/1360)) auto calc(36 *(100vw/1360));
}
.features-btn .view_more {
    width: calc(270 *(100vw/1360));
    padding: calc(18 *(100vw/1360)) calc(50 *(100vw/1360));
}

@media print, screen and (min-width: 1360px) {
    .features-wrap {
        margin: 60px auto 150px;
    }
    .features-box {
        padding: 0 20px;
    }

    .features-ttl {
        font-size: 25px;
        margin-top: 20px;
    }
    .features-sub {
        font-size: 17px;
        margin-top: 10px;
    }
    .features-jp {
        font-size: 16px;
        margin: 7.2px auto 45px;
    }
    .features-img img {
        border-radius: 24px;
    }
    .features-lead {
		font-size: 22.4px;
        margin-top: 30px;
    }
    .features-lead.uno {
        font-size: 20px;
    }
    .features-doc {
		font-size: 14.1px;
        margin: 9px auto 60px;
    }
    .features-doc.uno {
        margin: 9px auto 36px;
    }
    .features-btn .view_more {
        width: 270px;
        padding: 18px 50px;
    }
}

@media only screen and (max-width: 767px) {
    section#features {
        padding: 0;
    }
    .features .ttl {
        padding-left: calc(108 *(100vw/750));
    }
    .features .sub.jp {
        padding-left: calc(108 *(100vw/750));
    }

    .features-wrap {
        flex-direction: column;
        margin: 9vw auto 3vw;
    }
    .features-fv {
        flex-direction: row;
        justify-content: center;
        align-items: flex-start;
        width: 90vw;
    }
    .features-sec {
        flex-direction: row;
        padding: 0 2vw;
        border-bottom: solid 1px #ccc;
        margin-bottom: 9vw;
    }
    .features-sec.uno {
        border: none;
    }

    .features-fv .features-img {
        width: 66%;
    }
    .features-box {
        border: none;
        width: 100%;
    }
    .features-txt {
        margin-top: 3vw;
    }
    .features-sec .features-img {
        margin: 10vw 2.4vw 2.4vw;
    }
    .features-sec div {
        width: 90%;
        margin: 0 auto;
    }

    .features-ttl {
        font-size: 4.8vw;
        margin-top: 9vw;
    }
    .features-sub {
        font-size: 3.3vw;
        margin-top: 1.8vw;
    }
    .features-jp {
        font-size: 2.7vw;
        margin: 1.5vw auto 4.8vw;
    }
    .features-lead {
        font-size: 3.18vw;
        margin-top: 0;
    }
    .features-lead.uno {
        font-size: 2.9vw;
        letter-spacing: -0.06rem;
    }
    .features-doc {
        font-size: 2.7vw;
        margin: 1vw auto 6vw;
    }
    .features-doc.uno {
        margin: 0.9vw auto 6vw;
    }
}



/*------------------------------------------------------
ギャラリー
-------------------------------------------------------*/
section.gallery {

}
.gallery-bg {
    padding: calc(90 *(100vw/1360)) 0 calc(150 *(100vw/1360));
}
.gallery-bg.dos {
    background-image: linear-gradient(0deg, #0e0e0e, #3d3d3d);
    padding-top: calc(144 *(100vw/1360));
    margin-bottom: calc(150 *(100vw/1360));
}

.gallery-wrap {
    max-width: 1224px;
    width: 100%;
    margin: 0 auto;

    display: flex;
    justify-content: center;
    padding: 0 3%;
}
.gallery-box {
    padding: 1.32%;
    position: relative;
}
.gallery-box::after {
    content: "";
    position: absolute;
    width: 90%;
    height: 107%;
    top: -3.6%;
    left: 4%;
    z-index: 66;
    pointer-events: none;
}
.gallery-box.tee::after {
    background: url(../../../img/special/mag_style/frame_tee.png) no-repeat;
    background-size: cover;
}
.gallery-box.polo::after {
    background: url(../../../img/special/mag_style/frame_polo.png) no-repeat;
    background-size: cover;
}
.gallery-box.sports::after {
    background: url(../../../img/special/mag_style/frame_sports.png) no-repeat;
    background-size: cover;
}
.uno .swiper-button-prev::after,
.uno .swiper-button-next::after {
    color: #444;
}
.dos .swiper-button-prev::after,
.dos .swiper-button-next::after {
    color: #eee;
}

.gallery-name {
    margin-top: -7.5vw;
}

@media print, screen and (min-width: 1360px) {
    .gallery-bg {
        padding: 90px 0 150px;
    }
    .gallery-bg.dos {
        padding-top: 144px;
        margin-bottom: 150px;
    }
    .gallery-name {
        margin-top: -90px;
    }
}

@media only screen and (max-width: 767px) {
    .gallery-bg {
        padding: 6vw 0 12vw;
    }
    .gallery-bg.dos {
        padding-top: 16vw;
        margin-bottom: calc(120 *(100vw/750));;
    }
    .gallery-name {
        margin-top: -10vw;
    }
}



/* 矢印（前へ）*/
.swiper-button-prev {
	left: -109%;
}
/* 矢印（次へ）*/
.swiper-button-next {
	right: -109%;
}
/* ページネーション */
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: -12%;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 0.8rem;
}

/* 独自（矢印/ページネーション）*/
.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
}
.dos .swiper-pagination-bullet {
	background: #fff;
}
.uno .swiper-pagination-bullet-active {
	background: #666;
}
.dos .swiper-pagination-bullet-active {
	background: #eee;
}

@media print, screen and (min-width: 1360px) {
	.swiper-pagination-bullet {
		width: 12px;
		height: 12px;
	}
}

@media only screen and (max-width: 767px) {
	.swiper-button-prev,
	.swiper-button-next {
		transform: scale(0.5);
	}

    .swiper-horizontal > .swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
      bottom: -6vw;
    }
	.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
	.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 0.45rem;
	}
	.swiper-pagination-bullet {
		width: 7px;
		height: 7px;
	}
}



/*------------------------------------------------------
商品紹介
-------------------------------------------------------*/
.product-wrap {
    margin-bottom: calc(90 *(100vw/1360));
}
.product-box {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: calc(45 *(100vw/1360)) auto calc(60 *(100vw/1360));
}
.product-img {
    width: calc(528 *(100vw/1360));
}
.product-ttl {
    font-size: calc(26 *(100vw/1360));
    font-weight: bold;
    letter-spacing: 0.04em;
    line-height: 1.44;
}
.product-ttl .co {
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(24 *(100vw/1360));
    font-weight: bold;
    letter-spacing: -0.02em;
}
.product-amount {
    font-family: "Outfit", sans-serif;
    font-size: calc(36 *(100vw/1360));
    font-weight: 400;
    margin: calc(6 *(100vw/1360)) 0 calc(30 *(100vw/1360));
}
span.tax {
    font-family: "BIZ UDGothic", sans-serif;
    font-size: calc(13.5 *(100vw/1360));
    font-weight: bold;
}
.product-doc {
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(15 *(100vw/1360));
    font-weight: 600;
    color: #444;
    margin-top: calc(18 *(100vw/1360));
}
.product-btn.pc_only {
    margin-top: calc(45 *(100vw/1360));
}
.product-btn .view_more {
    width: calc(360 *(100vw/1360));
    padding: calc(18 *(100vw/1360)) calc(90 *(100vw/1360));
}

@media print, screen and (min-width: 1360px) {
    .product-wrap {
        margin-bottom: 90px;
    }
    .product-box {
        margin: 45px auto 60px;
    }
    .product-img {
        width: 528px;
    }
    .product-ttl {
        font-size: 26px;
    }
    .product-ttl .co {
        font-size: 24px;
    }
    .product-amount {
        font-size: 36px;
        margin: 6px 0 30px;
    }
    span.tax {
        font-size: 13.5px;
    }
    .product-doc {
        font-size: 15px;
        margin-top: 18px;
    }
    .product-btn.pc_only {
        margin-top: 45px;
    }
    .product-btn .view_more {
        width: 360px;
        padding: 18px 90px;
    }
}

@media only screen and (max-width: 767px) {
    section#product {
        padding: 0 14vw;
    }

    .product-wrap {
        margin-bottom: 24vw;
    }
    .product-box {
        flex-direction: column;
        margin: 7.2vw auto 14.4vw;
    }
    .product-img {
        width: 100%;
    }
    .product-txt {
        margin-top: 3.6vw;
    }
    .product-ttl {
        font-size: 4.5vw;
        line-height: 1.2;
    }
    .product-ttl .co {
        font-size: 4.3vw;
    }
    .product-amount {
        font-size: 5.4vw;
        margin: 1.2vw 0 6vw;
    }
    span.tax {
        font-size: 2.4vw;
    }
    .product-doc {
        font-size: 2.88vw;
        margin-top: 3vw;
    }
    .product-btn.sp_only {
        margin-top: 4.8vw;
        transform: scale(1.05);
    }
}



/*
uno
dos
tres
*/



/*--「ボタン」----------------------------------------*/
.view_more {
    width: 270px;
    margin: auto;
    padding: 18px 50px;
    border: solid 2px #fff;
    border-radius: 60px;
	transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}
.view_more .cls-1 {
    fill: #fff;
}
.view_more .cls-2 {
    fill: none;
    stroke: #fff;
    stroke-miterlimit: 10;
    stroke-width: 1.25px;
}

.view_more.tee {
    background: #dd5929;
    border: solid 2px #dd5929;
}
.view_more.tee .cls-1 {
    fill: #fff;
}
.view_more.tee .cls-2 {
    stroke: #fff;
}
a:hover .view_more.tee {
    background: #fff;
    border: solid 2px #dd5929;
}
a:hover .view_more.tee .cls-1 {
    fill: #dd5929;
}
a:hover .view_more.tee .cls-2 {
    stroke: #dd5929;
}

.view_more.sports {
    background: #b7bc00;
    border: solid 2px #b7bc00;
}
.view_more.sports .cls-1 {
    fill: #fff;
}
.view_more.sports .cls-2 {
    stroke: #fff;
}
a:hover .view_more.sports {
    background: #fff;
    border: solid 2px #b7bc00;
}
a:hover .view_more.sports .cls-1 {
    fill: #b7bc00;
}
a:hover .view_more.sports .cls-2 {
    stroke: #b7bc00;
}

.view_more.polo {
    background: #434163;
    border: solid 2px #434163;
}
.view_more.polo .cls-1 {
    fill: #fff;
}
.view_more.polo .cls-2 {
    stroke: #fff;
}
a:hover .view_more.polo {
    background: #fff;
    border: solid 2px #434163;
}
a:hover .view_more.polo .cls-1 {
    fill: #434163;
}
a:hover .view_more.polo .cls-2 {
    stroke: #434163;
}



/*--「アニメーション」--------------------------------*/
.js-anim-blur {
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  -webkit-transition-duration: 900ms;
          transition-duration: 900ms;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
}

.js-anim-blur.is-show {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}




