@charset "utf-8";

:root {
  --gap-s: clamp(10px, 0.398rem + 1.14vw, 20px);
  --gap-m: clamp(20px, 0.795rem + 2.27vw, 40px);
  --gap-l: clamp(30px, 1.989rem + 5.68vw, 60px);

  --gap-sec: clamp(30px, 1.307rem + 2.42vw, 50px);

  --color-red: #e43344;
  --color-blue: #004da1;
  --color-dark: #333;
  --color-pale-blue:#e2f5fb;
  --color-light-blue:#00a2e6;
}

/*------------------------------------------
基本レイアウト
------------------------------------------*/
html {
  scroll-behavior: smooth;
}

.p-gaming-pc img{
  width:100%;
  object-fit: contain;
}

.p-gaming-pc .c-button{
  width:100%;
  padding-right: 16px;
}
.p-gaming-pc .c-button::after {
  right: 16px;
}
.p-gaming-pc .c-button,
.p-gaming-pc .c-button span{
  letter-spacing: 0;
  line-height:1.25;
  font-size:clamp(14px, 0.818rem + 0.24vw, 16px);
}

/*------------------------------------------
共通レイアウト
------------------------------------------*/

.p-gaming-pc .cont-section {
  padding: var(--gap-sec) 0;
  overflow: hidden;
}

.p-gaming-pc .contents-inner {
  width: calc(100% - 30px);
  max-width: 1140px;
  margin: auto;
}

.p-gaming-pc .cont-section section + section{
  margin-top: var(--gap-l);
}

/*------------------------------------------
共通レイアウト ヘッダ・テキスト
------------------------------------------*/
.c-headline__h2 {
  -webkit-transform: skewX(0);
  transform: skewX(0);
  font-size: clamp(20px, 1.068rem + 0.91vw, 28px);
  text-align: left;
  transform: revert;
  color: var(--color-dark);
  letter-spacing: 0.05em;
  display: block;
  font-weight: 700;
  margin: 0 0 var(--gap-s) 0 !important;
  line-height: 1.25;
  font-style: normal;
}

.c-headline__h3 {
  -webkit-transform: skewX(0);
  font-size: clamp(18px, 0.989rem + 0.68vw, 24px);
  text-align: left;
  color: var(--color-dark);
  font-weight: 700;
  font-style: normal;
  border-bottom:1px solid var(--color-dark);
  padding-bottom:10px;
  margin-bottom:10px;
}

.c-headline__h4 {
  -webkit-transform: skewX(0);
  font-size: clamp(16px, 0.955rem + 0.23vw, 18px);
  text-align: left;
  color: #484848;
  font-weight: 700;
  margin-bottom: 5px;
  font-style: normal;
  margin-bottom:10px;
}

.lead-txt {
  line-height: 1.4;
  font-size: clamp(13px, 0.744rem + 0.34vw, 16px);
  margin-bottom: var(--gap-s) ;
}

/*--------------------------------
もっと見る
---------------------------------*/
.more-link {
  width: 100%;
  max-width: 600px;
  margin: var(--gap-m) auto 0 auto;
}

.more-link .c-button {
  width: 100%;
  font-size: clamp(14px, 0.83rem + 0.23vw, 16px);
  font-weight: 700;
  height: auto;
  min-height: 50px;
  padding: 0.5em 0;
  text-align: center;
}

.more-link .c-button span {
  line-height: 1.2;
}


/*------------------------------------------
商品へ直接リンクの調整
------------------------------------------*/
.c-panel-arrow.--product-link:before{
  border-color: #fff;
}
.c-panel-arrow.--product-link:after{
  background-color: #004da1;
}


/*------------------------------------------
KV
------------------------------------------*/
.cont-kv {
  background: var(--color-blue);
  padding: 25px 0;
  color: #fff;
}

.cont-kv h1 {
  font-weight: 700;
  font-size: clamp(20px, 1.02rem + 1.14vw, 30px);
}

.cont-kv .kv-sub-ttl {
  margin-top:10px;
  font-size:clamp(14px, 0.818rem + 0.24vw, 16px);
  letter-spacing:0.1em;
  font-weight:500;
}

.cont-kv h1 small {
  font-size: 50%;
}

@media screen and (max-width: 767px) {
  .cont-kv {
    padding: 20px 0;
  }
}

/*------------------------------------------
KV下アピール
------------------------------------------*/
.label-appeal {
  position: relative;
  padding: 0.5em;
  background: #f7fe01;
  color: #001e60;
  font-weight: 500;
  font-size: clamp(14px, 0.818rem + 0.24vw, 16px);
  text-align: center;
  display: block;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.label-appeal strong {
  font-weight: 700;
  font-size: clamp(18px, 0.989rem + 0.68vw, 24px);
}

.label-appeal a:hover{
  opacity:0.7;
}

/*------------------------------------------
背景グレー
------------------------------------------*/
.c-striped-sections > section:nth-child(odd){
  background: #f3f3f3;
}
.c-striped-sections > section:nth-child(even){
  background: #fff;
}

/*------------------------------------------
マウスオーバー時のエフェクト
------------------------------------------*/
.hover-effect:hover {
  position: relaive;
  animation-name: hover-flash;
  animation-duration: 1s;
  opacity: 1;
}

/*------------------------------------------
形状から選ぶ・グラフィック性能から選ぶ
------------------------------------------*/
.select-block .c-headline__h2{
  margin-bottom:10px;
}

.select-list{
  display:grid;
  grid-template-columns: repeat(2,1fr);
  gap: var(--gap-s);
}
.select-list .c-button{
  width:100%;
  font-size:clamp(14px, 0.761rem + 0.48vw, 18px);
  height: clamp(30px, 1.591rem + 1.21vw, 40px);
}
.select-list li a{
  width:100%;
  height:100%;
  border: 1px solid #a3a3a3;
  background:#fff;
  padding: clamp(10px, 0.341rem + 1.21vw, 20px);
  border-radius: 2px;
  display:flex;
  align-items: center;
  gap:20px;
}
.select-list li a:hover{
  border: 1px solid var(--color-light-blue);
  filter: drop-shadow(5px 5px 5px rgba(0, 162, 230, 0.1));
}
.select-list-cont{
  width: calc(60% - 20px);
  display:flex;
  flex-direction: column;
  gap:10px;
}
.select-list-img{
  width: 40%;
  height: 100%;
  display:flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  border-radius: 4px;
}

.select-list-catch{
  font-weight:700;
  color:var(--color-blue);
  font-size: clamp(14px, 0.761rem + 0.48vw, 18px);
}
.select-list-ttl{
  font-weight:700;
  color:var(--color-dark);
  font-size: clamp(18px, 0.989rem + 0.68vw, 24px);
}
.select-list-txt{
  font-size: clamp(12px, 0.693rem + 0.24vw, 14px);
  line-height:1.6;
}

@media screen and (max-width: 767px) {
  .select-list{
    grid-template-columns: repeat(1,1fr);
  }
  .select-list-cont{
    gap:5px;
  }
}

/*------------------------------------------
キャンペーンバナー
------------------------------------------*/
.rot-campaign-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.rot-campaign-list img {
  width: 100%;
  object-fit: contain;
}

.rot-campaign-list li {
  width: calc((100% - 60px) / 4);
}

.rot-campaign-list li a {
  cursor: pointer;
}

.rot-campaign-list li:hover {
  transform: translateY(-2px);
}

@media screen and (max-width: 767px) {
  .rot-campaign-list {
    gap: 10px;
    margin-bottom: 10px;
  }

  .rot-campaign-list li {
    width: calc((100% - 10px) / 2);
  }
}

/*------------------------------------------
ランキング用
------------------------------------------*/
.ranking-head {
  display: flex;
  justify-content: space-between;
}

.update-date {
  display: flex;
  align-items: center;
  white-space: nowrap;
  text-align: right;
  font-size:clamp(14px, 0.818rem + 0.24vw, 16px);
}

@media screen and (max-width: 767px) {
  .ranking-head {
    flex-direction: column;
    margin-bottom: var(--gap-m);
  }
}

/*-----------------------------------------------------
はじめてにおすすめ！ゲーミングPC・ゲーム向けPCスターターセット
pc-starter
------------------------------------------------------*/
.beginner-set-wrap {
  width: 100%;
}

.beginner-set-outer {
  display: flex;
  gap: 20px;
  width: 100%;
}

.beginner-set-outer li{
  width: calc((100% - 20px) / 3);
}
.beginner-set {
  width:100%;
  height:100%;
  background: #fff;
  border-radius: 2px;
  overflow: hidden;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid #a3a3a3;
}

.beginner-set:hover{
  border: 1px solid var(--color-light-blue);
  filter: drop-shadow(5px 5px 5px rgba(0, 162, 230, 0.1));
}

@media screen and (max-width: 767px) {
  .beginner-set-wrap {
    width: 100%;
    overflow-x: scroll;
    padding-bottom: 5px;
  }

  .beginner-set-outer {
    width: 850px;
  }

  .beginner-set-outer li{
    width: 270px;
  }
}

.beginner-set-top,
.beginner-set-btm,
.beginner-set-price-box {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.beginner-set-img {
  margin: auto;
  width: 60%;
}

.beginner-set-img img {
  width: 100%;
}

.beginner-set-name {
  font-weight: 700;
  font-size: clamp(12px, 0.659rem + 0.45vw, 16px);
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .beginner-set-caption {
    font-size: 0.8rem;
  }
}

.beginner-set-spec th,
.beginner-set-spec td {
  padding: 5px;
  text-align: left;
  border-bottom: 1px dotted #ccc;
}

.beginner-set-spec {
  border-top: 1px dotted #ccc;
}

.beginner-set-spec th {
  font-size: clamp(10px, 0.58rem + 0.23vw, 12px);
  white-space: nowrap;
}

.beginner-set-spec td {
  font-size: clamp(10px, 0.534rem + 0.45vw, 14px);
}

.level_benchmark {
  white-space: nowrap;
}

.icon_info img {
  width: 1em !important;
}

.score_and_levels .icon_info::before {
  width: 0.5em;
}

.beginner-set .c-button {
  width: 100%;
}

.beginner-set .c-button:hover {
  cursor: pointer;
}

.beginner-set-point {
  padding: 1em;
  background: linear-gradient(45deg, var(--color-light-blue), #F07DFF);
  position: relative;
  border-radius: 10px;
  color: #fff;
  font-size: clamp(12px, 0.659rem + 0.45vw, 16px);
  line-height: 1.4;
}

.beginner-set-point dt {
  position: relative;
  font-size: clamp(10px, 0.534rem + 0.45vw, 14px);
  width: fit-content;
  margin: 0 auto 10px auto;
  padding: 0 10px;
  line-height: 1;
}

.beginner-set-point dt::before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background: #fff;
  transform: rotate(-20deg);
}

.beginner-set-point dt::after {
  position: absolute;
  content: '';
  right: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background: #fff;
  transform: rotate(20deg);
}

.beginner-set-price-box {
  padding: 15px;
  background: #e5f6fc;
  border-radius: 10px;
}

.beginner-set-price {
  font-size: clamp(14px, 0.83rem + 0.23vw, 16px);
  font-weight: 500;
}

.beginner-set-price span {
  font-size: 1.4em;
  padding-left: 0.2em;
  padding-right: 0.2em;
  font-weight: 800;
  color: var(--color-red);
}

.beginner-set-price strong {
  font-size: 1.4em;
  padding-left: 0.2em;
  padding-right: 0.2em;
  font-weight: 800;
}

.beginner-set-smbc,
.beginner-set-shipment {
  font-size: clamp(10px, 0.58rem + 0.23vw, 12px);
  line-height: 1.4;
}

.beginner-set-smbc {
  margin-left: -0.5em;
}

.beginner-set-smbc img,
.beginner-set-shipment img {
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .beginner-set-outer {
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .beginner-set-outer {
    width: max-content;
  }
}

/*-----------------------------------------------
タブ
------------------------------------------------*/
.tab-contents{
  position:relative;
  width: 100%;
}
.tab-contents .navi-tab {
  width: 100%;
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
  border-bottom: 4px solid var(--color-blue);
}

.tab-contents .navi-tab button {
  flex:1;
  position: relative;
  width: 100%;
  padding: 1em 0;
  cursor: pointer;
  font-size: clamp(12px, 0.659rem + 0.45vw, 16px);
  text-align: center;
  font-weight: 700;
  background: #f3f3f3;
  color:var(--color-blue);
  border-radius: 2px 2px 0 0;
}

/*背景グレーの時*/
.c-striped-sections > section:nth-child(odd) .tab-contents .navi-tab button {
  background: #fff;
}

.c-striped-sections > section:nth-child(odd) .tab-contents .navi-tab button:hover,
.tab-contents .navi-tab button:hover{
  background: var(--color-pale-blue);
}

.c-striped-sections > section:nth-child(odd) .tab-contents .navi-tab button.active:hover,
.c-striped-sections > section:nth-child(odd) .tab-contents .navi-tab button.active,
.tab-contents .navi-tab button.active:hover,
.tab-contents .navi-tab button.active {
  background: var(--color-blue);
  color: #fff;
  cursor:defaurgb(86, 79, 79)
}

.tab-contents .content {
  width: 100%;
}

.tab-contents .content-section {
  display: none;
}

.tab-contents .content-section.active {
  height: 100%;
  display: block;
}

/*----------------------------------------------- .
プレイスタイルで選ぶ
------------------------------------------------*/

#select-style .model-card-list > li {
  width: calc((100% - 15px) / 2) ;
  max-width:370px;
  min-width:230px;
}
#select-style .model-card-list .model-card{
  width:100%;
  padding: 20px;
}

@media screen and (max-width: 767px) {
  #select-style .model-card-list{
    justify-content: flex-start;
  }
  #select-style .model-card-list .model-card{
    padding: 15px;
  }
}

.style-ttl{
  text-align:center;
  color: #333;
  font-weight: 700;
  font-size: clamp(14px, 0.83rem + 0.23vw, 16px);
}

#select-style .model-card-list:has(.tag-appeal) .select-appeal-wrap{
  min-height:calc(1.4em + 2px);
}
#select-style .model-card-list:has(.tag-appeal + .tag-appeal) .select-appeal-wrap{
  min-height:calc(2.8em + 6px);
}

/*エントリー調整*/
#select-style .model-card-list:has(.entry-box) .model-campaign{
  min-height:28.5px;
}
@media screen and (max-width: 903px) {
  #select-style .model-card-list:has(.entry-box) .model-campaign{
    min-height:50.2px;
  }
}
/*クーポン調整*/
#select-style .model-card-list:has(.coupon-wrapper) .model-campaign{
  min-height:47.59px;
}

/*-----------------------------------------------
予算で選ぶ
------------------------------------------------*/
#select-price .model-card-list .model-card{
  padding: 15px;
}
@container (min-width: 855px) {
  #select-price .model-card-list > li {
    width: calc((100% - 30px) / 3) ;
  }
  #select-price .model-card-list .model-card{
    width:100%;
    padding: 20px;
  }
}

#select-price .model-card-list:has(.tag-appeal) .select-appeal-wrap{
  min-height:calc(1.4em + 2px);
}
#select-price .model-card-list:has(.tag-appeal + .tag-appeal) .select-appeal-wrap{
  min-height:calc(2.8em + 6px);
}

.price-block {
  text-align:center;
}
.price-block .price-ttl {
  color: #333;
  font-weight: 700;
  font-size: clamp(14px, 0.83rem + 0.23vw, 16px);
}
.price-block .price-ttl strong{
  font-size: clamp(28px, 1.568rem + 0.91vw, 36px);
}
.price-block .price-catch{
  margin-top:10px;
  font-size: clamp(11px, 0.602rem + 0.36vw, 14px);
}

/*エントリー調整*/
#select-price .model-card-list:has(.entry-box) .model-campaign{
  min-height:28.5px;
}
@media screen and (max-width: 767px) {
  #select-price .model-card-list:has(.entry-box) .model-campaign{
    min-height:50.2px;
  }
}
/*クーポン調整*/
#select-price .model-card-list:has(.coupon-wrapper) .model-campaign{
  min-height:47.59px;
}


/*-----------------------------------------------
スペックから選ぶ
------------------------------------------------*/

.p-gaming-pc #select-spec.cont-section section + section {
    margin-top: var(--gap-m);
}

.select-spec-list {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, 1fr);
}

.select-spec-list .c-button {
  width: 100%;
  font-size: clamp(12px, 0.659rem + 0.45vw, 16px);
  letter-spacing: 0.02em;
}

@media screen and (max-width: 767px) {
  .select-spec-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}


/*-----------------------------------------------
周辺機器
------------------------------------------------*/
.device-list {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.device-list > li {
  position: relative;
  width: calc((100% - (10px*4)) / 5);
}

.device-list > li > a{
  position: relative;
  width: 100%;
  height:100%;
  background: #fff;
  padding: 20px;
  border-radius: 2px;
  border: 1px solid #a3a3a3;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: space-between;
}
.device-list > li > a:hover{
  border: 1px solid var(--color-light-blue);
  filter: drop-shadow(5px 5px 5px rgba(0, 162, 230, 0.1));
}

.device-list .device-ttl {
  width:100%;
  text-align: center;
  display:block;
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 10px;
  font-size: clamp(12px, 0.693rem + 0.24vw, 14px);
}

.device-list .device-copy {
  font-size: clamp(12px, 0.693rem + 0.24vw, 14px);
  text-align: center;
}

.device-list .device-card {
  position: relative;
  display: flex;
  gap: 10px;
  flex-direction: column;
}

.device-list .model-img{
  width: 80%;
  margin:auto;
}

.device-list img{
  width: 100%;
}

.device-list .c-button::after {
  right: 16px;
}

@container (max-width: 890px) {
  .device-list-wrap {
    padding-bottom: 5px;
    overflow-x: auto;
  }

  .device-list {
    justify-content: flex-start;
    width:max-content;
  }

  .device-list li {
    width: 210px;
  }

  .device-list .c-button {
    font-size: 12px;
  }
}

/*------------------------------------------
コラボ・推奨モデルから選ぶ
------------------------------------------*/
.p-gaming-pc__collaboration-model-slider-list-wrapper {
  position: relative;
}

.p-gaming-pc__collaboration-model-slider-list li.swiper-slide {
  height: auto;
  transition: box-shadow .2s, transform .2s, border .2s;
}

.p-gaming-pc__collaboration-model-slider-list li.swiper-slide a:hover {
  transform: translateY(-2px);
}

.p-gaming-pc__collaboration-model-slider-list li.swiper-slide>a {
  height: calc(50% - 10px);
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.1);
}

.p-gaming-pc__collaboration-model-slider-list li.swiper-slide>a p {
  padding: 15px 15px 20px 15px;
  color: #001e60;
  font-weight: 700;
}

.p-gaming-pc__collaboration-model-slider-list li.swiper-slide img {
  width: 100%;
  height: auto;
}

.p-gaming-pc__collaboration-model-slider .p-gaming-pc__collaboration-model-slider-list {
  overflow: hidden;
  padding: 3px;
}

.p-gaming-pc__collaboration-model-slider li.swiper-slide.swiper-slide--simple-link {
  border: 1px solid var(--color-light-blue);
}

.p-gaming-pc__collaboration-model-slider li.swiper-slide.swiper-slide--simple-link>a {
  justify-content: center;
  align-items: center;
  background: #d9f1fb;
  text-align: center;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.3;
}

.p-gaming-pc__collaboration-model-slider li.swiper-slide.swiper-slide--simple-link>a>h4 {
  margin-top: 0;
  text-align: center;
}

.p-gaming-pc__collaboration-model-slider .js-itemsliderhasnav-swiper-button-prev {
  left: -80px;
}

.p-gaming-pc__collaboration-model-slider .js-itemsliderhasnav-swiper-button-next {
  right: -80px;
}

.p-gaming-pc__collaboration-model-slider .swiper-pagination-bullet-active {
  background: var(--color-light-blue);
}

.p-gaming-pc__collaboration-model-slider .swiper-pagination-bullet {
  border-radius: unset;
  width: 30px;
  height: 4px;
}

.p-gaming-pc__collaboration-model-slider .swiper-pagination-bullet:nth-of-type(n+2) {
  margin-left: 6px;
}

.p-gaming-pc__collaboration-model-slider .p-common-item-slider__scrollbar {
  margin-top: 15px;
  display: flex;
  justify-content: center;
}

@media screen and (max-width:767px) {
  .p-gaming-pc__collaboration-model .p-gamingnote-pc__title small {
    font-size: 18px;
    font-weight: 700;
  }

  .p-gaming-pc__collaboration-model-slider {
    padding: 0 15px;
  }

  .p-gaming-pc__collaboration-model-slider li.swiper-slide.swiper-slide--simple-link>a {
    font-size: 12px;
  }

  .p-gaming-pc__collaboration-model-slider .swiper-pagination-bullet {
    height: 2px;
  }
}

@media screen and (max-width:428px) {
  .p-gaming-pc__collaboration-model-slider .p-common-item-slider__scrollbar {
    display: none !important;
  }

  .p-gaming-pc__collaboration-model-slider .p-gaming-pc__collaboration-model-slider-list {
    overflow-x: auto;
    padding-bottom: 20px;
    scroll-snap-type: x mandatory;
  }

  .p-gaming-pc__collaboration-model-slider .p-gaming-pc__collaboration-model-slider-list::-webkit-scrollbar {
    background: rgba(0, 0, 0, .2);
    width: 2px;
    height: 2px;
  }

  .p-gaming-pc__collaboration-model-slider .p-gaming-pc__collaboration-model-slider-list::-webkit-scrollbar-thumb {
    background-color: var(--color-light-blue);
  }

  .p-gaming-pc__collaboration-model-slider .p-gaming-pc__collaboration-model-slider-list ul.swiper-wrapper>li {
    width: 56vw;
    scroll-snap-align: start;
  }

  .p-gaming-pc__collaboration-model-slider .p-gaming-pc__collaboration-model-slider-list ul.swiper-wrapper>li:nth-of-type(n+2) {
    margin-left: 3vw;
  }

  .p-gaming-pc__collaboration-model-slider-list li.swiper-slide>a p {
    padding: 13px 13px 15px 13px;
    font-size: 13px;
    font-weight: 400;
  }
}

.p-gaming-pc__collaboration-model-slider-list li.swiper-slide>a+a {
  margin-top: 20px;
}
.p-gaming-pc__collaboration-model-slider li.swiper-slide a.link-last {
  justify-content: center;
  align-items: center;
  background: #d9f1fb;
  text-align: center;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.3;
  border: 1px solid var(--color-light-blue);
}

/*----------------------------------------------------
ゲーミングPC特集から選ぶ
-----------------------------------------------------*/
.tips-banner-list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap:10px;
  font-size:clamp(14px, 0.818rem + 0.24vw, 16px);
}

.tips-banner-list img {
  width: 100%;
  object-fit: contain;
}

.tips-banner-list li a {
  cursor: pointer;
}

.tips-banner-list li:hover {
  transform: translateY(-2px);
}

@media screen and (max-width: 1280px) {
  .tips-banner-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 767px) {
  .tips-banner-list {
    grid-template-columns: repeat(2, 1fr);
  }
}


/*-------------------------------------
 ゲーミングPCの選び方のポイント
---------------------------------------*/
.point-slider-wrap {
  width: calc(100% - 30px);
  max-width: 1140px;
  margin: 0 auto;
}

.point-slider-wrap .swiper-container {
  width: 100%;
  margin: 0 auto 80px;
  position: relative;
  overflow: visible;
}

.point-slider-wrap .swiper-slide {
  width: 500px;
  height: auto;
  background: #1b1b1b;
  border-radius: 16px;
  color: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.point-slider-wrap img {
  width:100%;
}

.point-slider-cont{
  width:100%;
  height:100%;
  padding:clamp(15px, 0.511rem + 1.82vw, 30px);
  display:flex;
  flex-direction: column;
  justify-content: space-between;
  gap:clamp(15px, 0.511rem + 1.82vw, 30px);
}

.point-slider-ttl {
  margin-bottom:clamp(15px, 0.511rem + 1.82vw, 30px);
  font-size: clamp(15px, 0.795rem + 0.61vw, 20px);
  font-weight: 700;
  line-height: 1.6;
}

.point-slider-txt p {
  font-size: clamp(12px, 0.693rem + 0.24vw, 14px);
  line-height: 1.7;
}

.point-slider-link {
  width:100%;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.point-slider-link .c-button {
  height: 40px;
  border-radius: 40px;
  width:fit-content;
  justify-content: flex-start;
  padding-left:15px;
  padding-right:30px;
  
}

.point-slider-link .c-button span {
  letter-spacing: 0;
  line-height:1.2;
  font-size:clamp(12px, 0.693rem + 0.24vw, 14px);
}

.point-slider-link .c-button::after{
 right: 15px;
}

@media screen and (min-width: 768px) {
  .point-slider-link:has(> a:nth-of-type(3):last-of-type) .c-button {
    font-size:12px;
  }
}

.point-slider-button {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(98, 98, 98, 0.5);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 1;
  backdrop-filter: blur(5px);
  position: absolute;
  bottom: -80px;
}

.point-slider-button::after {
  content: '';
  width: 30%;
  height: 30%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-12.5%, 12.5%);
}

.point-slider-button--next {
  right: 0;
  transform: rotate(45deg);
}

.point-slider-button--prev {
  right: 80px;
  transform: rotate(-135deg);
}

.point-slider-button.swiper-button-disabled {
  background: rgba(220, 220, 220, 0.5);
  cursor: default;
}

@media screen and (max-width:767px) {
  .point-slider-link {
    gap: 5px;
    flex-direction: column;
  }
  .point-slider-link .c-button {
    height: 8.53vw;
    justify-content:center;
    width:100%;
  }
}

/*------------------------------------------
よくあるご質問
service-faq
------------------------------------------*/
.faq-list{
  width:100%;
  counter-reset: faq-counter; 
}

.faq-list > li {
  counter-increment: faq-counter; 
  border-bottom:1px dotted #c8c8c8;
}
.faq-list > li:first-child{
  border-top:1px dotted #c8c8c8;
}

.faq-list > li details[open]{
  padding-bottom:var(--gap-s);
}

.faq-list > li summary {
  list-style: none;
  display: block;
  position:relative;
  padding:var(--gap-s) 3em var(--gap-s) 0;
  font-size:clamp(14px, 0.818rem + 0.24vw, 16px);
  font-weight:700;
  cursor:pointer;
}
.faq-list > li details[open] summary {
  padding-bottom:calc(var(--gap-s) / 2);
}

.faq-list > li summary::-webkit-details-marker {
  display:none;
}
.faq-list > li summary::before{
  position:absolute;
  content:'';
  top:calc(50% - 1px);
  right:0;
  background:var(--color-blue);
  width:1em;
  height:2px;
}
.faq-list > li summary::after{
  position:absolute;
  content:'';
  top:calc(50% - 0.5em);
  right:calc(0.5em - 1px);
  background:var(--color-blue);
  width:2px;
  height:1em;
  transition: all 0.3s;
}
.faq-list > li details[open] summary::after{
  transform: rotate(90deg);
  transition: 0.3s all;
}

.faq-list > li summary p {
  position:relative;
  padding-left:3em;
}

.faq-list > li summary p::before {
  position:absolute;
  left:0;
  top:0;
  color:var(--color-blue);
  font-weight:700;
  content: "Q." counter(faq-counter); 
}

.faq-cont{
  background: #f6f6f6;
  border-radius: 2px;
  padding:var(--gap-s);
  font-size:clamp(12px, 0.636rem + 0.48vw, 16px);
  line-height:1.6;
}

/*背景が白の場合*/
.c-striped-sections > section:nth-child(even) .faq-cont{
  background: #f6f6f6;
}
/*背景がグレーの場合*/
.c-striped-sections > section:nth-child(odd) .faq-cont{
  background:#fff;
}

.faq-cont h4{
  font-weight:700;
  color:var(--color-d-blue);
}

.faq-cont strong{
  font-weight:700;
}

.faq-cont h4 {
  margin-bottom:10px;
}
.faq-cont .table-wrapper {
  width: 100%;
  margin: 0 auto 10px auto;
}
.faq-cont .table-wrapper table {
  width: 100%;
  background: #fff;
  font-size:clamp(12px, 0.693rem + 0.24vw, 14px);
}
.faq-cont .table-wrapper table tr {
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.faq-cont .table-wrapper table tr th,
.faq-cont .table-wrapper table tr td {
  padding: 5px 15px;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  line-height: 1.4;
  vertical-align: middle;
}
.faq-cont .table-wrapper table tbody th {
  white-space: nowrap;
  background: #eee;
  text-align: center;
}
.faq-cont .table-wrapper table tbody td {
  text-align: left;
}
.faq-cont .table-wrapper .caution {
  margin-top: 1em;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .faq-cont .table-wrapper {
    width:100%;
    padding-bottom:5px;
    overflow-x: scroll;
  }
}


