/** Shopify CDN: Minification failed

Line 1135:0 Unexpected "}"
Line 1365:3 Unexpected "/"

**/
:root {
    font-size: 10px;
    --blue1: #005BAC;
    --blue2: #005b9d;
    --blue3: #004380;
    --color: #E3E3E3;
    --color: #efefef;
    --color: #999;
    --color: #666666;
    --color: #919191;
    --white: #fff;
    --black: #000;
    font-family: "CorsaGrotesk", hiragino-kaku-gothic-pron, sans-serif;
    /* font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, メイリオ, -apple-system, BlinkMacSystemFont, sans-serif; */
}


* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    list-style: none;
    font-style: unset;
}

body {
    font-size: 1.4rem;
    line-height: 1.6;
}

img {
    width: 100%;
}


@media all and (max-width:640px) {
    .pc {
        display: none;
    }
}

@media all and (min-width:640px) {
    .sp {
        display: none;
    }
}

ul.dot li {
    display: flex;
    max-width: 37.5rem;
}

ul.dot li::before {
    content: "・";
    text-indent: -0.7rem;
    width: 0.5rem;
}

.dot {}


.kome {
    display: flex;

}

.kome::before {
    content: "※";
}

.wrapper {
      width: calc((100% - 3rem));
    margin: 0 auto;

}

.border {
    width: 100%;
    display: flex;
}

.border span {
    width: 25%;
    height: .6rem;
}

@media all and (min-width:640px) {
    .border span {
        width: 25%;
        height: .8rem;
    }
}

.border span:nth-child(1) {
    background-color: #00a6e9;
}

.border span:nth-child(2) {
    background-color: #e84709;
}

.border span:nth-child(3) {
    background-color: #00a23e;
}

.border span:nth-child(4) {
    background-color: #f9bd00;
}



/* HEADER */
header {
    padding-top: 1.2rem;
    margin-bottom: 2rem;
}

header .wrapper {
  width: calc(100% - 4rem);
  margin: 0 auto;
}


.header_inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
    max-width: 1500px;
  margin: 0 auto;
}

.header__logo {
    width: 6.5rem;
    display: block;
}

.header_inner .header__logo02{
  max-width:100px;
}

@media all and (min-width:640px) {
    header {
        padding-top: 3rem;
        margin-bottom: 3rem;
    }

    .header__logo {
        width: 10rem;
    }
  .header_inner .header__logo02{
  max-width:200px;
}
}




/* INTRO */
.wrapper--intro {
  width: calc(100% - 3rem);
  padding-bottom: 8rem;
  position:relative;
}

.intro {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 2.5rem;
}


.intro__image {}

.intro__collaboration {
     margin: 1.5rem 0 1.5rem;
  text-align: center;
  color: #595757;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.4;
}

.intro__collaboration span {
    font-size: 2.1rem;
}

.intro__buy {
    font-weight: 600;
    background-color: #e84709;
    color: #fff;
    border-radius: 1rem;
    text-align: center;
    padding: 0.8rem;
    font-size: 1.4rem;
    margin-bottom: 2rem;
}

.intro__experience {
    font-size: 1.4rem;
    font-family: "Noto sans JP";
    font-weight: 600;
    color: #595757;
    text-align: center;

    display: grid;
    gap: 2rem;
    justify-items: center;
}

/*.intro__experience::after {
    content: "";
    border-bottom: 4px solid #00a6e9;
    width: 6rem;
}
*/
@media all and (min-width:640px) {
    .intro {
        margin-bottom: 5rem;
        max-width: 60rem;
    }

    .intro__collaboration {
       margin: 3.5rem 0 2rem;
    font-size: 3.4rem;
    line-height: 1.4;
    }

    .intro__collaboration span {
        font-size: 4.8rem;
    }

    .intro__buy {
        font-size: 3.3rem;
        margin-bottom: 7rem;
    }

    .intro__experience {
        font-size: 2.4rem;
    }

}

/* VISUAL GROUP */
.intro__visual {
  display: flex;
  gap: 1rem;
  margin: 0 auto;
    justify-content: space-between;
}

.visual__group {
    text-align: center;
    display: grid;
    gap: 1.5rem;
    font-size: 1.3rem;
    font-weight: 500;
    color: #595757;
}

.visual__group img {
    border-radius: 1rem;
}

@media all and (min-width:640px) {
    .intro__visual {
        gap: 4rem;
    max-width: 1000px;
      margin: 0 auto 6rem;
    }

    .visual__group {
        font-size: 1.7rem;
    }
.visual__group img {
    border-radius: 2rem;
}
}


/* CONCEPT */
.concept {
    position: relative;
    padding-top: 1.5rem;
}

.wrapper--concept {
    /*max-width: 100rem;*/
}

.concept__heading {
      position: absolute;
  left: 50%;
  top: -25px;
  transform: translateX(-50%);
  margin: 0 auto;
  display: grid;
  gap: 0.2rem;
  width: 90vw;
  max-width: 33rem;
  font-size: 1.6rem;
  margin: 0 auto;
  z-index: 1;
  font-weight: 900;
}

.concept__heading span {
    background-color: #00a6e9;
    text-align: center;
    color: #fff;

}

@media all and (min-width:640px) {
.concept {
    padding-top: 4.5rem;
    margin-top: 0;
    }

    .concept__heading {
        font-size: 3rem;
        max-width: 80rem;
    }
}




/* BACKGROUND GRAPHICS */
.bg--gray {
    padding-top: 7rem;
    background: #f8f8f8;
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.bg__circle {
    position: absolute;
    height: auto;
    z-index: -1;

}

.bg__circle--1 {
    top: 0;
    right: 0;
    width: 15vw;
    transform-origin: top right;
    transform: rotate(0deg);
}

.bg__circle--1.animation--active {
    transform: rotate(360deg);
}

.bg__circle--2 {
    bottom: 2.5rem;
    left: 0;
    width: 13.5vw;
    transform: rotate(0deg);
    transform-origin: left center;
}

.bg__circle--2.animation--active {
    transform: rotate(360deg);
}

.bg__circle--3 {
    bottom: -12.5vw;
    right: 0;
    width: 13.5vw;
    transform: rotate(0deg);
    transform-origin: right center;
}

.bg__circle--3.animation--active {
    transform: rotate(360deg);
}

@media all and (min-width:640px) {
    .bg--gray {
        padding-top: 14rem;
    }

    .bg__circle--1 {
        top: 0;
        right: 0;
        width: 13vw;
        max-width: 17rem;
    }

    .bg__circle--2 {
        bottom: -10rem;
        left: 0;
        width: 13vw;
        max-width: 17rem;
    }

    .bg__circle--3 {
        bottom: -15rem;
        right: 0;
        width: 13vw;
        max-width: 17rem;
    }
}

/* HELP */

.concept__help {
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 3.4rem;
}

.concept__help strong {
    color: #00a6e9;
}

@media all and (min-width:640px) {

    .concept__help {
        font-size: 2.2rem;
        margin-bottom: 4.5rem;
    }
}

/* CONCEPT IMAGE */
.concept__image {
    position: relative;
    isolation: isolate;
    margin-bottom: 5.4rem;
}

.concept-image__main {
    border-radius: 1rem;
}

.concept-image__circle {
    width: 30%;
    position: absolute;
    z-index: -1;
    transition: all ease 1s;
    transform: rotate(0deg);

}

.concept-image__circle--1 {
  top: -17%;
  left: -20%;
}

.concept-image__circle--2 {
  bottom: -16%;
  right: -19%;
}

.concept-image__circle.animation--active {
    transform: rotate(360deg);
}


@media all and (min-width:640px) {
    .concept__image {
        margin-bottom: 10rem;
    }
}

/* HEADING */
.heading {
    font-size: 2.2rem;
    font-weight: 600;
    color: #595757;
    display: grid;
    justify-items: center;
    margin-bottom: 2rem;
    letter-spacing: 1.5px;
}

.heading span {
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    font-family: "CorsaGrotesk";
    font-weight: 800;
}

.heading span::before,
.heading span::after {
    content: "";
    border-bottom: 2px solid #000;
    width: 3rem;
}


.heading--1 span {
    color: #e84709;
}

.heading--1 span::before,
.heading--1 span::after {
    border-color: #e84709;
}

.heading--2 span {
    color: #00a23e;
}

.heading--2 span::before,
.heading--2 span::after {
    border-color: #00a23e;
}

.heading--3 span {
    color: #f9b000;
}

.heading--3 span::before,
.heading--3 span::after {
    border-color: #f9b000;
}



@media all and (min-width:640px) {
    .heading {
        font-size: 3rem;
        margin-bottom: 5.5rem;
    }

    .heading span {
        font-size: 2.4rem;
        gap: 1.5rem;
    }

    .heading span::before,
    .heading span::after {
        width: 4rem;
    }
}


/* FLOW */
.flow {
    display: flex;
  flex-direction: row;
  gap: 2.8rem;
  margin-bottom: 4rem;
  flex-wrap: wrap;
}

.flow__order {
    width: 4rem;
}

.flow__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 2.8rem;
    font-size: 1.3rem;
    /*font-weight: 500;*/
    /*font-family: "Noto sans JP";*/
    color: #3c3c3c;
}

.flow__image {
    border-radius: 1rem;
}

.flow__item--1,.flow__item--2{
  flex-direction: row;
}

.flow__item--1 .flow__image {
    max-width: 11rem;
}

.flow__item--2 .flow__image {
    max-width: 15rem;
}

.flow__item--2 p {
    flex-shrink: 0;
    min-width: max-content;
}

.flow__item--3 {
    display: grid;
    position: relative;
}


@media all and (max-width:640px) {

    .flow__item:last-child {
        border-bottom: none;
    }
.flow__item--1,.flow__item--2{
  width: 45%;
    flex-direction: column;
    padding-bottom: 0;
}
    .flow__item--3 .flow__order {
        position: absolute;
        top: -1rem;
    }
}

@media all and (min-width:640px) {
    .flow {
        flex-flow: wrap;
        width: 100%;
        margin-bottom: 9rem;
        justify-content: center;
        justify-items: center;
        gap: 3rem 0rem;
    }

    .flow__item {
        flex-direction: column-reverse;
        justify-content: start;
        position: relative;
        font-size: 1.6rem;
        padding-top: 6rem;
        padding-right: 6rem;
        padding-left: 6rem;
        text-align: center;
        height: 36rem;
    }



    .flow__item small {
        font-size: 1.2rem;
    }

    .flow__item:last-child::after {
        content: none;
    }

    .flow__order {
        position: absolute;
        top: 0rem;
        left: 50%;
        width: 5rem;
        transform: translateX(-50%);
    }

    .flow__image {
        margin-bottom: 1rem;
    }

    .flow__item--1 .flow__image {
        max-width: 16rem;
    }

    .flow__item--2 .flow__image {
        max-width: 20rem;
    }

    .flow__item--3 .flow__image {
        max-width: 37.5rem;
    }

    .flow__item--3 {
        text-align: left;
    }

}





@media all and (min-width:720px) {
    .flow__item::after {
        content: "";
        width: 3px;
        background: url(/cdn/shop/files/svg_vertical_circle_border.svg) repeat-y;
        position: absolute;
        right: 0;
        top: 0;
        height: 100%;
    }

    .flow__item:nth-child(2):after {
        content: none;
    }
}

@media all and (min-width:1325px) {
    .flow__item:nth-child(2):after {
        content: "";
    }
}

/* BUTTON */
.button {
    background-color: transparent;
    border: 2px solid #fff;
    padding: 1rem;
    border-radius: 3rem;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    font-size: 1.6rem;
    min-width: 24rem;
    cursor: pointer;
    font-family: "Noto sans JP";
}

.sp-collabo-link-box .button {
     font-size: 1.4rem;
  min-width: 20rem;
  border: 2px solid #000;
  color: #000;
    }
    
/* PRODUCT */
.products {
    margin-bottom: 0;
}

.product {
  position: relative;
  overflow: hidden;
  /* border-bottom: 1px solid #dcdcdc; */
  max-width: 1000px;
  margin: 0 auto 1rem;
  border-radius: 3rem;
}

@media screen and (max-width: 640px) {
.product {
  position: relative;
  overflow: hidden;
  max-width: 1300px;
  margin: 0 auto;
  border-radius: 0;
}
  
}




.product img {
    display: flex;
}

.product__menu {
    width: 100%;
    height: 100%;
    position: absolute;
    top: -100%;
    left: 0;
    background-color: #00000090;
    display: grid;
    place-items: center;
    transition: all ease-out 750ms;
    opacity: 0;
}

@media screen and (max-width: 640px) {
  .product__menu {
    display:none;
  }
}


.product__menu div {
    display: grid;
    gap: 3rem;

}

.product__menu .button {
    opacity: 0;
    transition: all ease 750ms;
}

.product:hover .product__menu {
    transition: all ease 250ms;
    transform: translateY(100%);
    opacity: 1;
}

.product:hover .button {
    transition: all ease 500ms;
    opacity: 1;
}

.product:hover .button:nth-child(1) {
    transition-delay: 250ms;
}

.product:hover .button:nth-child(2) {
    transition-delay: 450ms;
}

@media all and (min-width:640px) {
    .products {
        margin-bottom: 0;
    }
}

/* RESULTS */

.wrapper--results {
    max-width: 110rem;
    margin-bottom: 4rem;
}

.results {
    width: 100%;
    --swiper-pagination-color: #f9b000;
    padding-bottom: 5rem;
    margin-bottom: 3rem;
}

.swiper-slide {
    text-decoration: none;
  border-bottom:none;
}

.swiper-slide.ball {
    border: none;
  padding-bottom: 0;
}

@media all and (max-width:640px) {
  .swiper-slide.ball {
    border: 1px solid #c9c9c9;
  padding-bottom: 3rem;
 min-height: 430px;
border-radius: 10px;
}

}

.article__image {
    border-radius: 1.5rem;
    margin-bottom: 1.8rem;
}

.article__title {
    font-size: 1.4rem;
    font-weight: 600;
    position: relative;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    color: #595757;
}

.article__title::before {
    content: "";
    position: absolute;
    border-bottom: 2px solid #ccc;
    width: 100%;
    bottom: 0;
    left: 0;
}

.article__title::after {
    content: "";
    position: absolute;
    border-bottom: 2px solid #00a6e9;
    width: 20%;
    bottom: 0;
    left: 0;
}


.article__title--2::after {
    border-color: #e84709;
}

.article__title--3::after {
    border-color: #00a23e;
}

.article__info {
    color: #595757;
    font-size: 1rem;
}

.article__more {
    background-color: #f9b000;
    color: #fff;
    text-decoration: none;
    text-align: center;
    width: 24rem;
    padding: 1.3rem;
    border-radius: 3rem;
    font-size: 1.5rem;
    font-weight: 700;
    display: block;
    margin: 0 auto;
    letter-spacing: 2px;
}

.article__more.chiiki {
  background-color: #e84709;
  color: #fff;
  text-decoration: none;
  text-align: center;
  width: 30rem;
  padding: 1.3rem 3rem;
  border-radius: 3rem;
  font-size: 1.5rem;
  font-weight: 700;
  display: block;
  margin: 10rem auto 0;
  letter-spacing: 0;
  position: relative;
}

.article__more.chiiki::before {
  content: "法人・団体で組み立て式サッカーボールを\A活用した支援をご検討中のかたはこちら";
  font-size: 1.4rem;
  font-weight: 700;
  color: #e84709;
  text-align: center;
  position: absolute;
  top: -56px;
  left: 50%;
  transform: translateX(-50%);
  white-space: pre;
}

@media all and (min-width:640px) {
    .wrapper--results {
        margin-bottom: 8rem;
    }

    .results {
        padding-bottom: 6rem;
        margin-bottom: 3rem;
    }

    .article__title {
        font-size: 1.6rem;
    }

    .article__info {
        font-size: 1.3rem;
    }

    .article__more {
        width: 34rem;
        font-size: 2rem;
    }

 .article__more.chiiki {
    background-color: #e84709;
    color: #fff;
    text-decoration: none;
    text-align: center;
    width: 40rem;
    padding: 1.3rem 3rem;
    border-radius: 3rem;
    font-size: 2rem;
    font-weight: 700;
    display: block;
    margin: 11rem auto 0;
    letter-spacing: 0;
    position: relative;
  }

.article__more.chiiki::before {
    content: "法人・団体で組み立て式サッカーボールを\A活用した支援をご検討中のかたはこちら";
    font-size: 1.7rem;
    font-weight: 700;
    color: #e84709;
    text-align: center;
    position: absolute;
    top: -65px;
    left: 50%;
    transform: translateX(-50%);
    white-space: pre;
  }
}

@media all and (min-width:1000px) {
    .results {
        padding-bottom: 0rem;
        margin-bottom: 6rem;
    }
}



/* MODAL */
.body-modal--active {
    overflow-y: hidden;
}

.modal {
    position: fixed;
    background-color: #000000e1;
    color: #fff;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: none;
    transition: all ease 250ms;
}

.modal--active {
    display: block;
    height: 100%;
    overflow-y: auto;
}

.modal__container {
    max-width: 110rem;
    position: relative;
    padding-top: 5rem;
}

#artist2 .modal__container  {
    padding-top: 8rem;

}
.modal__close {
    position: absolute;
    top: 2rem;
    right: 0;
    width: 2.4rem;
    height: 2.4rem;
    background-color: transparent;
    border: none;
    transform: rotate(45deg);
    cursor: pointer;
}


.modal__close::before,
.modal__close::after {
    content: "";
    border-left: 1px solid #fff;
    height: 100%;
    position: absolute;
    top: 0;
}

.modal__close::before {
    transform: rotate(90deg);
}


@media all and (min-width:640px) {
    .modal__container {
        padding-top: 9rem;
    }
}



/* ARTIST */

.artist {}

.artist__name {
    font-size: 2.6rem;
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1;
}

.artist__intro {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 2rem;
}

.artist__photo {
    margin-bottom:0;
}

.artist__history {
    margin-bottom: 2rem;
}

.artist__history li {
    display: flex;
    gap: 2rem;
    margin-bottom: 1rem;
    align-items: baseline;
}

.year {
    font-size: 1.5rem;
    font-weight: 500;
    align-self: normal;
}

.year__description {
    font-size: 1.1rem;
    word-break: auto-phrase;
}

.artist__links {
    margin-bottom: 4.5rem;
    font-weight: 700;
    font-size: 1.1rem;
}

.artist__links a {
    color: #00a6e9;
    text-decoration: none;
    font-weight: 400;
    margin-left: 1rem;
}

.artist__more {
    font-size: 1.3rem;
}

.artist__options {
    display: grid;
    gap: 1rem;
     margin: 4rem auto 8rem;
}
}
.artist__sentence {
    font-size: 1.4rem;
    margin-bottom: 2rem;
}

@media all and (min-width:640px) {
    .artist {
        display: flex;
        gap: 6rem;
      justify-content: center;
    }

    #artist2 .artist {
        justify-content: center;
    }
    .artist__profile {
        width: 50%;
        max-width: 44rem;
    }

    .artist__name {
        font-size: 3rem;
    }

    .artist__intro {
        font-size: 2rem;
    }

    .artist__information {
        width: 60%;
    }

    .artist__history li {
        margin-bottom: 0rem;
    }
    .year {
        font-size: 1.8rem;
    }

    .year__description {
        font-size: 1.4rem;
        margin-bottom: 0.5rem;
    }

    .artist__links {
        font-size: 1.4rem;
    }

    .artist__more {
        font-size: 1.6rem;
    }

    .artist__options {
        display: flex;
        gap: 1rem;
        font-size: 1.8rem;
          justify-content: center;
    }
    #artist2 .artist__options {
        justify-content: center;
    }

    .artist__options .button {
        min-width: 20rem;
        font-size: 1.8rem;
        padding: 0.5rem;
    }
    .artist__sentence {
        font-size: 1.6rem;
        margin-bottom: 4rem;
    } 
}


/* FOOTER */
.footer__border {
    border-top: 1px solid #929292;
    width: 100%;
    margin-bottom: 2.8rem;
}

.wrapper--footer {
    max-width: 110rem;
    position: relative;
}

.footer__logo {
    width: 100%;
    max-width: 22rem;
    margin: 0 auto 2rem;
    display: block;
}

.mfk__link {
    font-size: 1.3rem;
    color: #000;
    width: max-content;
    display: block;
    font-weight: 500;
    margin: 0 auto 3.4rem;
    font-family: "CorsaGrotesk";
    font-weight: 400;
}

.copyright {
    font-size: 1.2rem;
    text-align: center;
    margin-bottom: 1.6rem;
    font-family: "CorsaGrotesk";
    font-weight: 400;
}

@media all and (min-width:640px) {
    .footer__border {
        width: 94vw;
        max-width: 110rem;
        margin: 0 auto 6.4rem;
    }
    .footer__logo {
        max-width: 34rem;
        margin: 0 auto 4.8rem;
    }

    .mfk__link {
        font-size: 2rem;
        margin: 0 auto 6rem;
    }

    .copyright {
        font-size: 1.2rem;
        margin-bottom: 2.4rem;
    }

}

/* SNS */
.sns__links {
    display: flex;
    gap: 1rem;
    position: absolute;
    right: 0;
    bottom: 0;
}

.sns__links a {
    background-color: #e7e7e7;
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 4rem;
}

.sns__links img {
    width: 1.6rem;
}

.instagram img {
    width: 1.5rem;
}

.swiper-wrapper {
  height: fit-content;
}

.anchor-box{
  display:flex;
    justify-content: center;
    gap:2rem;
  margin-bottom: 4rem;
}

.button.color-b{
  border: 2px solid #000;
  color: #000;
  font-size: 1.6rem;
}


@media screen and (max-width: 640px) {
 .anchor-box{
  flex-direction: column;
    gap:1.5rem;
   align-items: center;
}   
.button.color-b{
  width: 80%;
  font-size: 1.4rem;
}
}


.square-banner-container{
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  box-sizing: content-box;
  max-width: 80rem;
  gap: 1rem;
    justify-content: space-between;
}
.square-banner-container a{
  width: calc((100% - 2rem) / 3);
    border: 1px solid #d3d3d3;
}

.square-banner-container a:hover{
  opacity: 0.65;
  transition: 0.3s ease;
}
.square-banner-container a img{
  width: 100%;
  margin-bottom: -6px;
}
.square-banner-container > img{
  width: calc((100% - 2rem) / 3);
}

@media screen and (max-width: 640px) {
  .square-banner-container{
    margin: 0 auto 1rem;
    gap: 0.5rem;
    }
.square-banner-container a{
    width: calc((100% - 1rem) / 3);
  }
  .square-banner-container > img{
    width: calc((100% - 1rem) / 3);
  }
  */
}

video{
    width: 100%;
  border-radius: 2rem;
  margin-bottom: 3rem;
  max-width: 1500px;
  margin: 0 auto 6rem;
  display: block;
}

@media screen and (max-width: 640px) {
  video{
  margin-bottom: 4rem;
}
}

h2.intro{
  text-align: center;
  color: #fff;
  background-color: #e84709;
  margin: 1rem auto 4rem;
  padding: 1rem 3rem;
  font-size: 3.4rem;
  font-feature-settings: "palt" 1;
  letter-spacing: 1px;
  max-width: 80rem;
}

@media screen and (max-width: 640px) {
  h2.intro{
  margin: 1rem auto 4rem;
  padding: 1rem 0;
  font-size: 1.85rem;
}
}

#product-bal,#basic-balll{
  scroll-margin-top:80px
}

.pt-custom{
  padding-top:6rem!important;
}


  @media all and (max-width:640px) {
  .pt-custom{
  padding-top:4rem!important;
}
}
section.products{
    padding-bottom: 8rem;
}
  @media all and (max-width:640px) {
  section.products{
    padding-bottom: 1rem;
}
  }

  /****************************************
    * floating button
  ****************************************/
  .float {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    grid-template-columns: 1fr 2fr;
    align-items: center;
    justify-content: center;
    z-index: 100;
    opacity: 0;
    transition: transform 0.3s, opacity 0.3s;
    transform: translateY(100%);
  }
  .float.is-show {
    opacity: 1;
    transform: translateY(0);
  }
  .float .float-left {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #00A23E;
    padding: 1em 0 1em 1.5em;
  }
  .float .float-left p {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    white-space: nowrap;
  }
  .float .float-right {
    background-color: #d1d6d9;
  }
  .float .float-right .float-right-inner {
    display: flex;
  }
  .float .float-right .triangle-right {
    width: 0;
    height: 0;
    border-top: 50px solid transparent;   /* 上の部分を透明に */
    border-bottom: 50px solid transparent; /* 下の部分を透明に */
    border-left: 20px solid #00A23E;       /* 左側に色を指定（ここが三角形の色になります） */
  }
  .float .float-right .float-right-contents {
    margin-left: 1.5em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
  }
  .float .float-right p {
    color: #000;
    font-size: 1.1rem;
    font-weight: 500;
    font-feature-settings: "palt";
    letter-spacing: 0.05rem
  }
  .float .float-right a {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 700;
    background-color: #E84709;
    padding: 10px 40px;
    border-radius: 30px;
    white-space: nowrap;
      text-decoration: none;
  }
  @media screen and (min-width: 640px) {
    .float {
      grid-template-columns: 1fr 1fr;
    }
    .float .float-left p {
      font-size: 2rem;
    }
    .float .float-right {
      position: relative;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    }
    .float .float-right .triangle-right {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
    }
    .float .float-right p {
      font-size: 1.6rem;
    text-align: center;
    }
    .float .float-right a {
      font-size: 1.8rem;
    }
  }
.sp-float{
  display:none;
}
@media screen and (max-width: 640px) {
.sp-float {
    display: block;
    width: 50%;
    background-color: #E84709;
    color: #fff;
    text-decoration: none;
    padding: 1rem 1rem 2rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
  }
}

html{
  padding-bottom:10rem;
}
@media screen and (max-width: 640px) {
  html{
  padding-bottom:7rem;
}
}

.collabo-box{
  margin:0 auto;
  max-width:1000px;
}

.swiper-wrapper.collabo-container{
  flex-direction: column;
}

.wrapper--collabo {
    max-width: 110rem;
    margin-bottom: 9.7rem;
}

.collabo {
    width: 100%;
    --swiper-pagination-color: #f9b000;
    padding-bottom: 4rem;
}


@media screen and (max-width: 640px) {
 .swiper-wrapper.collabo-container{
  flex-direction: row;
} 
.collabo {
    padding-bottom: 2rem;
}
}

.sp-collabo-link-box {
  display: none;
}

@media screen and (max-width: 640px) {
  .sp-collabo-link-box {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 3rem auto 0;
  width: 70%;
}
}

picture.w-sp-custom{
  width: 100%;
  display: block;
  margin: 0 auto;
  border: none;
}
 .collabo-box .swiper-pagination{
    display:none;
  }
@media screen and (max-width: 640px) {
  picture.w-sp-custom{
  width: 90%;
    border: 1px solid #d8d8d8;
        border-radius: 10px;
}
 .collabo-box .swiper-pagination{
    display: block;
        position: relative;
        margin: 3rem auto 0;
        padding: 0;    
  }
}

.shien_photo_list{
  display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.shien_photo_list img{
  width:calc((100% - 2rem) / 2);
}
