@charset "utf-8";
/* CSS Document */
:root {
--bkColor:#000;
--primaryColor:#D40000;
--secondaryColor:#E0E0E0;
--baseColor:#F8F6F0;
--grayColor:#3E3E3E;
--whiteColor:#fff;
--linkColor:#00A7FF;
--cellColor:#EFEFEF;
--borderColor:#BCBCBC;
--shadowColor:rgba(0, 0, 0, 0.3);
}
/*========= ▼reset ===============*/
/* ブラウザのUAスタイルシートのすべてのスタイルを削除します、displayは除く */
*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {all: unset;display: revert;}
/* box-sizingの優先値 */
*, *::before, *::after {box-sizing: border-box;}
/* リストのスタイル（箇条書き・番号）を削除します */
ol,ul {list-style: none;}
/* 画像がコンテナを超えないようにするため */
img {max-width: 100%;}
/* テーブルのセル間のスペースを削除します */
table {border-collapse: collapse;}
/*========= ▲reset ===============*/
*{box-sizing: border-box;}
a {
transition: all .5s;
-webkit-transition: all .5s;
-moz-transition: all .5s;
text-decoration: none;
cursor: pointer;
}

#recommended_Router {overflow: hidden;font-family:  "Noto Sans JP", sans-serif;font-optical-sizing: auto; font-weight: 400;font-style: normal;line-break: strict;word-wrap: break-word;word-break: break-all!important;line-height: 1.8;color: var(--bkColor);max-width: 2040px;margin: auto;background: var(--baseColor);font-feature-settings: "palt";}

.font_small {font-size: 80%;}
.font_ss{font-size: 70%;}
.font_sss{font-size: 62%;}
.font_large {font-size: 130%;}
.font_ll{font-size: 155%;}
.line_center {text-align: center;}
.line_right{text-align: right;}
.line_left{text-align: left;}
.font_bold{font-weight: bold;}
.font_red {color: var(--secondaryColor);}
img {width: auto;max-width: 100%;vertical-align: bottom;}
.font_14 { font-size: clamp(11px, 0.9vw, 14px); }
.font_15 { font-size: clamp(12px, 0.95vw, 15px); }
.font_16 { font-size: clamp(13px, 1vw, 16px); }
.font_17 { font-size: clamp(14px, 1.1vw, 17px); }
.font_18 { font-size: clamp(15px, 1.15vw, 18px); }
.font_19 { font-size: clamp(16px, 1.2vw, 19px); }
.font_20 { font-size: clamp(17px, 1.25vw, 20px); }
.font_20 { font-size: clamp(18px, 1.4vw, 22px); }
.font_24 { font-size: clamp(18px, 1.5vw, 24px); }
.font_26 { font-size: clamp(19px, 1.65vw, 26px); }
.font_30 { font-size: clamp(20px, 1.9vw, 30px); }
.font_32 { font-size: clamp(22px, 2vw, 32px); }
.font_36 { font-size: clamp(22px, 2.25vw, 36px); }
.font_38 { font-size: clamp(24px, 2.4vw, 38px); }
.font_42 { font-size: clamp(24px, 2.65vw, 42px); }

/*========= ▼Salseforce用 ===============*/
#CONTENTS, body:not(.noGlobal) #CONTENTS {margin-left: 0;padding: 0;}
#FOOTER{margin-left: 0;}
#PAGEBODY{padding-bottom: 0;}
.includeSCT .proFlex .item{box-shadow: 0 3px 6px var(--shadowColor);}
.includeSCT .proFlex .item:hover{transform:translateY(-5px);box-shadow: 0 5px 10px var(--shadowColor);}
.includeSCT .name{text-align:left;line-height: 1.5;}
.includeSCT .tag{align-content: flex-start;}
#recommended_Router ul.action {display: none;}
#recommended_Router .includeSCT .item{height: auto !important;transition: all .35s;border-radius: 10px;}/*カードの高さ調節*/
#recommended_Router .includeSCT .maker{display: none;}
#recommended_Router .includeSCT .tag{display: none;}

#recommended_Router .includeSCT .kanbai .item::after{
    background: rgba(0, 0, 0, .5);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "完　売";
    top: 0;
    left: 0;
    font-size: 36px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
}
#recommended_Router .includeSCT .kanbai .item:hover{
  transform: none;
}

#recommended_Router .includeSCT .tag .stockLabel .outStock{
    background: red;
    color: #fff;
}
.includeSCT{
    margin-bottom: 0;
    padding-bottom: 0;
}
.includeSCT .cont{
    padding-bottom: 0;
}
.includeSCT .splide .splide__slide{
    padding-bottom: 0;
    padding-top: 0;
}
.includeSCT .cta a{
    background-color: var(--primaryColor);
}
#PAGEBOTTOM .targetTop{
    z-index: 999;
}
#recommended_Router h1, #recommended_Router h2, #recommended_Router h3, #recommended_Router h4, #recommended_Router h5, #recommended_Router h6{
    font-family:  "Noto Sans JP", sans-serif;
}

/*========= ▲Salseforce用 ===============*/
/*========= LoadingのためのCSS ===============*/
.loader-wrap {
	position: fixed;
	display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100svh;
    background: var(--primaryColor);
    z-index: 999;
}
.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}
.loader {
  color: #ffffff;
  font-size: 10px;
  margin: 80px auto;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:before,
.loader:after {
  content: '';
  position: absolute;
  top: 0;
}
.loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 3.5em;
}
@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
/*========= ▲LoadingのためのCSS ===============*/


section {position: relative;margin: 0 auto;padding: 5% 0;}
.sec-inner {position: relative;max-width: 1290px; width: 88%; margin: 0 auto;z-index: 2;}
.white-box01 {padding: 1.2em;max-width: 660px;width: 90%;background: rgba(255,255,255,0.65);text-align: center;margin: auto;}
#sec01 {position: relative;overflow: hidden;padding: 0;z-index: 0;}
#sec01 img {width: 100%;}
#recommended_Router h1{
    font-size: clamp(30px, 3.7vw, 60px); 
    font-weight: 500;
    padding: 0.4em;
}

#sec02{
    padding-top: 0;
}
#recommended_Router .lead{
    font-size: clamp(16px, 1.75vw, 28px);
    text-align: center;
    padding: 3.5% 0 6%;
    font-weight: 400;
}
#recommended_Router h2{
    font-size: clamp(22px, 2vw, 32px);
    font-weight: 600;
    margin-bottom: 5.5%;
}
#recommended_Router h2 > span{
    padding-left: 15px;
    border-left: solid 7px var(--primaryColor);
}
.troubleArea{
    padding: 0 15px;
}
.troubleUl{
    display: flex;
    flex-wrap: wrap;
    gap:0 65px;
}
.troubleUl > li{
    flex-basis: calc((100% - 195px) / 4);
}

.fukidashi{
    background: var(--secondaryColor);
    border-radius: 10px;
    position: relative;
    font-size: clamp(14px, 1.25vw, 20px);
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.6;
}
.fukidashi::before{
    position: absolute;
    top: 100%;
    left: 50%;
    height: 0;
    width: 0;
    border-style: solid;
    border-color: transparent;
    border-top-color: var(--secondaryColor);
    border-width: 15px;
    content: "";
    transform: translateX(-50%);
}
.troubleArrow{
    font-size: clamp(40px, 5vw, 100px);
    color: var(--primaryColor);
    margin: 2% auto 3%;
}

#recommended_Router h5{
    font-size: clamp(18px, 1.55vw, 25px);
    font-weight: 500;
    text-align: center;
}
#recommended_Router h6{
    font-size: clamp(19px, 1.75vw, 28px);
    font-weight: 600;
    color: var(--primaryColor);
    text-align: center;
}
.recoArea{
    margin: 3% auto;
}
.recoUl{
    display: flex;
    justify-content: center;
    align-items: center;
    gap:30px;
}
.recoUl > li {
    flex-basis: calc((100% - 60px) / 3);
}
.recoUl > li:nth-child(2){
    max-width: 400px;
}
.font_22{
    font-size: clamp(18px, 1.4vw, 22px);
    font-weight: 500;
    text-align: center;
}
#recommended_Router h3{
    font-size: clamp(17px, 1.25vw, 20px);
    font-weight: 600;
    color: var(--primaryColor);
    margin-bottom: 1em;
}
#recommended_Router h3 > span{
    border-bottom: solid 1px var(--borderColor);
}
.sec3lead{
    font-size: clamp(13px, 1vw, 16px);
    max-width: 1070px;
    margin: auto;
}
.coverArea{
    margin: 3% auto;
}
.coverUl{
    display: flex;
    gap:50px;
}
.coverUl > li {
    flex-basis: calc((100% - 50px) / 2);
}
.coverUl > li h4{
    margin: 0 1em;
    font-size: clamp(17px, 1.25vw, 20px);
    font-weight: 500;
    color: var(--whiteColor);
    background: var(--primaryColor);
    padding: 5px;
}
.coverUl > li > img{
    margin: 1.5em auto;
}

.ulBox{
    margin: 3% auto;
    border-top: solid 1px var(--borderColor);
    padding-top: 3%;
    padding-bottom: 3%;
    border-bottom: solid 1px var(--borderColor);
}

.proFlex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap:90px;
}
.proFlex > li {
    flex-basis: calc((100% - 90px) / 2);
    position: relative;
    margin-bottom: 2%;
    max-width: 350px;
}
.proTitle{
    font-size: clamp(15px, 1.5vw, 24px);
    font-weight: 500;
    display: inline-block;
    border-bottom: solid 1px var(--primaryColor);
    text-align: center;
    margin-bottom: 1.5em;
}

.toggle_title{
    font-size: clamp(16px, 1.75vw, 28px);
    font-weight: 600;
    color: var(--whiteColor);
    padding: 0.7em 1.5em;
    position: relative;
    cursor: pointer;
    transition: all .3s;
    background: var(--primaryColor);
    text-align: left;
    border: solid 1px var(--borderColor);
    margin-top: -1px;
}
.toggle_title:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f067";
    transition: 0.3s;
    color: var(--whiteColor);
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    font-size: clamp(20px, 2vw, 30px);
}
.toggle_title.selected:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f068";
    transition: 0.3s;
    color: var(--whiteColor);
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    font-size: clamp(20px, 2vw, 30px);
}
.toggle_txt{
    display: none;
    background: var(--whiteColor);
    border: solid 1px var(--borderColor);
    padding: 1em 1.5em;
    text-align: left;
    margin-top: -1px;
}
.linkTxt{
    color: var(--linkColor);
    display: inline-block;
}
.linkTxt::after{
    transition: all .3s;
    content: "";
    width: 100%;
    border-bottom: solid 1px var(--linkColor);
    display: block;
    transform-origin: right;
}
.plusMargin{
    margin: 1em auto;
}
#recommended_Router .price table {
    margin: 0 auto;
}
#recommended_Router table, #recommended_Router table th, #recommended_Router table td {
    border: 1px solid var(--borderColor);
    border-collapse: collapse;
}
#recommended_Router table {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    font-size: clamp(13px, 1vw, 16px); 
}
#recommended_Router .price table th, #recommended_Router .price table td {
    padding: 0.7em 0;
    vertical-align: middle;
}
#recommended_Router .price table td{
    background: var(--whiteColor);
}
#recommended_Router .th1{
    width: 20%;
}
#recommended_Router .th2, .th3{
    width: 40%;
}
#recommended_Router table th {
    background-color: var(--cellColor);
    font-weight: bold;
    text-align: center;
}
#recommended_Router .font_l {
    font-size: clamp(17px, 1.25vw, 20px); 
    font-weight: 600;
}
#recommended_Router .osusume {
    position: relative;
}
#recommended_Router .osusume span {
    position: absolute;
    width: 20%;
    left: 1%;
    bottom: 9%;
    transform: rotate(-15deg);
}
#recommended_Router .price_accent01 {
    color: #fff;
    background-color: var(--primaryColor);
    border-left: 5px solid var(--primaryColor);
    border-right: 5px solid var(--primaryColor);
    border-top: 5px solid var(--primaryColor);
}
#recommended_Router .price_accent02 {
    border-left: 5px solid var(--primaryColor);
    border-right: 5px solid var(--primaryColor);
}
#recommended_Router .price_accent03 {
    border-left: 5px solid var(--primaryColor);
    border-right: 5px solid var(--primaryColor);
    border-bottom: 5px solid var(--primaryColor);
}
#recommended_Router .img_block{
    width: 80%;
    margin: auto;
}
#recommended_Router .price .content_btns {
    margin-top: 0;
    padding: 0.5em 2em;
}
.wifi_basic_btn01 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: var(--primaryColor);
    color: var(--whiteColor) !important;
    font-size: clamp(16px, 1.2vw, 19px);
    font-weight: 600;
    box-shadow: 0 3px 6px var(--shadowColor);
    padding: 1em 0.2em;
    border-radius: 100px;
    transition: all .3s ease-out 0s;
}
.wifi_basic_btn01 .fa-up-right-from-square {
    margin-left: 10px;
}
.c_red {
    color: var(--primaryColor) !important;
    font-weight: 600;
}
.slick-next:before, .slick-prev:before{
    color: var(--bkColor);
}

.specArea{
    display: flex;
    gap:65px;
    align-items: center;
}
.specTable{
    flex: 1;
}
.specSlide{
    flex-basis: 40%;
}

#recommended_Router .specTable table th{
    font-size: clamp(14px, 1.1vw, 17px);
    padding: 1em 0;
}
#recommended_Router .specTable table td{
    background: var(--whiteColor);
}

.flowArea dl{
    position: relative;
    display: flex;
    max-width: 1070px;
    margin: auto auto 60px;
}
.flowArea dt{
    font-size: clamp(16px, 1.5vw, 24px);
    color: var(--whiteColor);
    font-weight: 600;
    flex-basis: 20%;
    background: var(--primaryColor);
    border: solid 1px var(--borderColor);
    border-radius: 10px 0px 0px 10px;
    padding: 0.7em;
    display: flex;
    align-items: center;
    justify-content: center;
}
.flowArea dd{
    font-size: clamp(17px, 1.6vw, 26px);
    font-weight: 600;
    flex-basis: 80%;
    background: var(--whiteColor);
    border: solid 1px var(--borderColor);
    border-radius: 0px 10px 10px 0px;
    padding: 0.7em 1em;
    text-align: left;
    display: flex;
    align-items: center;
    border-left: none;
}

.flowArea dl:not(:last-child)::after{
    content: "";
    display: block;
    width: 90px;
    height: 25px;
    z-index: 1;
    position: absolute;
    right: 50%;
    bottom: -40px;
    transform: translateX(50%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: var(--primaryColor);
}
.ddSpan{
    font-size: clamp(14px, 1.15vw, 18px);
    font-weight: 400;
    margin-left: 3em;
}

#headbar {position: fixed;bottom: 100px;right: 0px;width: auto;background-color: var(--whiteColor);box-shadow: 0 5px 10px var(--shadowColor);z-index: 9;border-radius: 10px 0 0 10px;}
#headbar ul {list-style: none;padding: 1.5em;font-size: clamp(13px, 1.2vw, 19px);font-weight: 600;}
#headbar ul li:first-child {margin-bottom: 1em;}
#headbar ul li a {display: block;transition: all .3s;background: var(--primaryColor);padding: 0.8em 1.5em;border-radius: 50vh;box-shadow: 0 3px 6px var(--shadowColor);color: var(--whiteColor);letter-spacing: -0.05em;}
.headbar_txt figure {margin: 1em auto;}
#headbar ul li a > svg{
    margin-left: 1em;
}


#link01, #link02, #link03, #link04 {padding-top: 124px;margin-top: -124px;}


@media (any-hover: hover) {
/*:hover はここに書く*/
    .cateUl > li:hover,
    .couponBox > a:hover{
        transform: translateY(-3px);
    }
    
#recommended_Router .includeSCT .kanbai .item:hover{
  transform: none;
}
    .flexSlide > li:hover a img {
        transform: translateY(-3px);
    }
    
    .wifi_basic_btn01:hover{
        transform: translateY(-3px);
    }
    #headbar ul li a:hover{
        transform: translateY(-3px);
    }
    .linkTxt:hover::after{
        transform: scale(0, 1);
    }


}

.pad-sp {display: none !important;}
.sp-only {display: none!important;}
.pad-cam {display: none !important;}


/************************************************************/@media screen and (max-width: 820px) {
    .troubleUl{
        gap: 60px 65px;
        padding: 0 7%;
    }
    .troubleUl > li {
        flex-basis: calc((100% - 65px) / 2);
    }
    
.pad-only {display: block !important;}
.pad-pc {display: block !important;}
.pc-only {display: none !important;}
.sp-only {display: none !important;}
}
/************************************************************/@media screen and (max-width: 768px) {

}
/************************************************************/@media screen and (max-width: 700px) {

    #recommended_Router h1{
        line-height: 1.4;
    }
    #recommended_Router .lead{
        letter-spacing: -0.03em;
    }
    .toggle_title{
        padding: 0.5em;
    }
    #recommended_Router .price table th{
        width: 40%;
        letter-spacing: -0.03em;
    }
    #recommended_Router .price .content_btns{
        margin-bottom: 10%;
    }
    .specArea{
        flex-direction: column-reverse;
        gap:0;
    }
    .troubleUl{
        gap: 30px 15px;
        padding: 0;
    }
    .troubleUl > li {
        flex-basis: calc((100% - 15px) / 2);
    }
    .recoUl, .coverUl{
        gap:10px;
    }
    .recoUl > li {
    flex-basis: calc((100% - 20px) / 3);
}
    .sec3lead{
        text-align: left;
    }
    .coverUl > li {
    flex-basis: calc((100% - 10px) / 2);
}
    .proFlex{
        gap:0;
    }
    .proFlex > li{
        flex-basis: 50%;
    }
    #recommended_Router .specTable table th{
        padding: 0.8em 0.3em;
        letter-spacing: -0.03em;
        width: 28%;
    }
    #recommended_Router .specTable table td{
        padding: 0.3em;
    }
    .flowArea dt{
        flex-basis: 27%;
    }
    .flowArea dd{
        flex-basis: 75%;
        flex-direction: column;
        align-items: flex-start;
    }
    .ddSpan{margin-left: 0;}
    
    
#link01, #link02, #link03, #link04 {padding-top: 133px;margin-top: -133px;}

#headbar {bottom: 0;width: 100%;border-radius: 0;box-shadow: 0 -3px 6px var(--shadowColor);}
#headbar ul.headbar_txt {display: flex !important;padding:10px 3px;justify-content:space-around;}
#headbar ul li {margin: 2px;}
#headbar ul li a:hover {opacity:none;}
    #headbar ul li:first-child{margin-bottom: 0;}
    .fukidashi{
        letter-spacing: -0.05em;
    }
    #PAGEBOTTOM .targetTop{
    bottom: 75px;
}

    
.pad-sp {display: block !important;}
.pc-only {display: none !important;}
.sp-only {display: block !important;}
.pad-cam {display: none !important;}
.pad-pc {display: none !important;}
}