@charset "utf-8";
/* CSS Document */


/*-----------------------------------
共通
-----------------------------------*/
:root {
  --cts-font-md: 16px;
  --cts-font-lg: 24px;
  --cts-font-xl: 30px;
  --cts-font-xxl: 36px;
  --cts-color-main: #004da1;
  --cts-color-sub: #eeeeee;
  --cts-color-mscolor: #004da1;
  --cts-gap: 60px;
  --cts-gap-s: 30px;
}
@media (max-width: 767px) {
  :root {
    --cts-font-md: 2.09vw;
    --cts-font-lg: 3.13vw;
    --cts-font-xl: 3.91vw;
    --cts-font-xxl: 4.69vw;
    --cts-gap: 8vw;
    --cts-gap-s: 4vw;
  }
}

/*-----------------------------------
全体
-----------------------------------*/
#dospara-select-top{
  background-image: linear-gradient(90deg, rgba(242, 252, 251, 1), rgba(203, 224, 239, 1) 25%, rgba(242, 252, 251, 1) 50%, rgba(203, 224, 239, 1) 75%, rgba(242, 252, 251, 1));
  text-align:center;
}
#dospara-select-top img{
  width:100%;
}


/*-----------------------------------
共通レイアウト
-----------------------------------*/
.content-block {
  display:block;
  position:relative;
  width: 100%;
  margin: auto;
}

.contents-inner {
  margin: auto;
  padding:var(--cts-gap) 0;
  width: calc(100% - 30px);
  max-width: 1140px;
}


/*-----------------------------------
キービジュアル
-----------------------------------*/
.kv{
  display:block;
  position:relative;
  width:100%;
  background:#fff;
}

.kv picture{
  display:block;
  position:relative;
  width:90%;
  margin-left:10%;
  z-index:1;
}

.kv .logo{
  display:block;
  position:absolute;
  top:25px;
  left:15px;
  width:19%;
  z-index:2;
}

.kv h1{
  display:block;
  position:absolute;
  bottom:30px;
  left:20px;
  width:40%;
  z-index:2;
}

@media (max-width: 767px) {
  .kv .logo{
    display:none;
  }
  .kv picture{
    display:none;
  }
  .kv h1{
    display:block;
    position:relative;
    bottom:0;
    left:0;
    width:100%;
    z-index:2;
  }
}
/*-----------------------------------
コピー
-----------------------------------*/
.lead-txt .contents-inner{
  padding:var(--cts-gap-s) 0;
}

.lead-txt .lead-box{
  display:block;
  margin:auto;
  padding:20px 10px;
  background:rgba(255,255,255,0.5);
}

.lead-txt p{
  letter-spacing:0.1em;
  line-height:1.4;
  font-weight:700;
  font-size:clamp(12px, 0.523rem + 1.14vw, 22px);
  color:#004da1;
  /*
  background: linear-gradient(90deg, #b31e87 0%, #39b0d4 15%, #4f50a0 30%, #b31e87 50%, #39b0d4 65%, #4f50a0 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  */
  z-index: 1;
}
.lead-txt p:first-child{
  margin-bottom:10px;
}

@media (max-width: 767px) {
  .lead-txt .lead-box{
    text-align:left;
  }
}
/*-----------------------------------
LINE UP
-----------------------------------*/
#block-line-up.content-block{
  background-image: linear-gradient(90deg, rgba(174, 200, 233, 1), rgba(200,219,240, 1) 50%, rgba(174, 200, 233, 1));
}
#block-line-up.content-block h2{
  color:#fff;
  font-size:clamp(24px, 0.955rem + 2.73vw, 48px);
  font-weight:bold;
  margin-bottom:var(--cts-gap-s);
  letter-spacing:0.1em;
}
.line-up-list{
  width:100%;
  display:grid;
  gap:20px;
  grid-template-columns: repeat(4, 1fr);
}

.line-up-list li a{
  position:relative;
  width:100%;
  display:flex;
  align-items: center;
  justify-content: space-between;
  border:1px solid #ccc;
  border-radius: 15px;
  background:#fff;
  overflow:hidden;
  padding:10px;
  font-weight:bold;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.3);
}
.line-up-list li a:hover{
  transform: translateY(5px);
  box-shadow: 0 0 10px 0 rgba(255, 255, 255, 0.3);
}
.line-up-list li a::after{
  position:absolute;
  content:'';
  top: calc(50% - 4px);
  right: 20px;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-right: 2px solid;
  border-bottom: 2px solid;
  border-color: #484848;
}
#dospara-select-top .line-up-list li a img{
  width:30%;
}
.line-up-list li a p{
  width:70%;
  padding-right:20px;
  font-size:clamp(12px, 0.659rem + 0.45vw, 16px);
}

@media (max-width: 767px) {
  .line-up-list{
    grid-template-columns: repeat(2, 1fr);
    gap:10px;
  }
  .line-up-list li a::after {
    right: 15px;
  }
}

/*-----------------------------------
商品リスト
-----------------------------------*/
.product-list{
  position:relative;
  width:100%;
  text-align:left;
}
.product-list h2{
  display:block;
  position:relative;
  font-size:clamp(24px, 0.955rem + 2.73vw, 48px);
  letter-spacing:0.1em;
  font-weight:900;
  color:#004da1;
  /*
  background: linear-gradient(90deg, #b31e87 0%, #39b0d4 15%, #4f50a0 30%, #b31e87 50%, #39b0d4 65%, #4f50a0 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  */
}

.product-list h3{
  color:#004da1;
  font-size:clamp(14px, 0.693rem + 0.91vw, 22px);
  letter-spacing:0.1em;
  text-align:center;
  margin-top:var(--cts-gap);
  font-weight:900;
}
.product-list .content-lead{
  margin-top:10px;
  font-size:clamp(14px, 0.693rem + 0.91vw, 22px);
  line-height:1.6;
}

.product-list .model-wrapper{
  position:relative;
  width:100%;
  margin-top:15px;
}

.product-list .model-list{
  position:relative;
  width:100%;
  display:grid;
  gap:15px;
  margin:auto;
}
.product-list .model-list li > a{
  display:flex;
  flex-direction: column;
  justify-content: space-between;
  position:relative;
  width:100%;
  height:100%;
  background:#fff;
  border-radius: 15px;
  padding:10px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
  margin:auto;
}
.product-list .model-list li > a:hover{
  cursor: pointer;
  box-shadow: 0 0 10px 0 rgba(0, 168, 228, 0.7);
}
.product-list .model-list .model-box__image{
  margin:auto;
  width:70%;
}
.product-list .model-list .model-box__name,
.product-list .model-list .model-box__stkname,
.product-list .model-list .model-box__button{
  margin-top:10px;
}
.product-list .model-list .model-box__price{
  margin-top:5px;
}
.product-list .model-list .model-box__name{
  font-weight:bold;
  font-size: 14px;
}
.product-list .model-list .model-box__stkname{
  padding: 5px 12px 4px 12px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 1em;
  border: 1px solid #e43344;
  color:#e43344;
  display: inline-block;
}
.product-list .model-list .model-box__price{
  color:#e43344;
  font-size: 12px;
  letter-spacing:0.05em;
}
.product-list .model-list .model-box__price span{
  font-size: 24px;
  padding-right:5px;
  font-weight:bold;
}

.product-list .model-list .c-button--primary-blue{
  width:100%;
  height: 40px;
  background: #002060;
  padding-right:10px;
  font-size:12px;
  border-radius: 2rem;
}
.product-list .model-list.gradation .c-button--primary-blue{
  background-image: linear-gradient(90deg, rgba(61, 200, 194, 1), rgba(61, 156, 194, 1) 100%);
}

.product-list .model-list.gradation2 .c-button--primary-blue{
  background-image: linear-gradient(90deg, rgba(61, 200, 194, 1), rgba(61, 156, 194, 1) 50%, rgba(197, 125, 233, 1));
}
.product-list .model-list .c-button--primary-blue::after{
  right
  15px;
}
/*----------2列--*/
.product-list .model-list.item2{
  grid-template-columns: repeat(2, 1fr);
}
/*----------3列--*/
.product-list .model-list.item3{
  grid-template-columns: repeat(3, 1fr);
}
/*----------4列--*/
.product-list .model-list.item4{
  grid-template-columns: repeat(4, 1fr);
}
/*----------5列--*/
.product-list .model-list.item5{
  grid-template-columns: repeat(5, 1fr);
}
@media (max-width: 960px) {
  .product-list .model-list.item5{
    grid-template-columns: repeat(3, 1fr);
  }
}
/*----------6列--*/
.product-list .model-list.item6{
  grid-template-columns: repeat(6, 1fr);
}
@media (max-width: 960px) {
  .product-list .model-list.item6{
    grid-template-columns: repeat(3, 1fr);
  }
}
/*----------全列--*/
@media (max-width: 767px) {
  .product-list .model-list.item3,
  .product-list .model-list.item4,
  .product-list .model-list.item5,
  .product-list .model-list.item6{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 428px) {
  .product-list .model-list.item2,
  .product-list .model-list.item3,
  .product-list .model-list.item4,
  .product-list .model-list.item5,
  .product-list .model-list.item6{
    grid-template-columns: repeat(1, 1fr);
  }
}

/*-----------------------------------
キャンペーン
-----------------------------------*/
#block-campaign.content-block{
  background: rgba(255, 255, 255, 0.3);
}
#block-campaign.content-block h2{
  font-size:clamp(20px, 0.886rem + 1.82vw, 36px);
  font-weight:bold;
  margin-bottom:var(--cts-gap-s);
  letter-spacing:0.1em;
}
.campaign-list{
  width:100%;
  display:grid;
  gap:20px;
  grid-template-columns: repeat(4, 1fr);
}
.campaign-list a:hover {
    -webkit-animation-duration: 1s;
    -webkit-animation-name: flash;
    animation-name: hover-flash;
    animation-duration: 1s;
    opacity: 1;
}
@media (max-width: 767px) {
  .campaign-list{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 428px) {
  .campaign-list{
    grid-template-columns: repeat(1, 1fr);
  }
}
