@charset "utf-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3 ,h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    text-decoration: none;
    color: #000;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #303030;
    margin: 30px 0;
}

input, select {
    vertical-align:middle;
}

/* original */
html, body{
    margin: 0;
    padding: 0;
  }
  *{
    box-sizing: border-box;
  }
  .wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .inner{
    width: calc(100% - 100px);
    max-width: 600px;
  }
  .slide>span{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 150px;
    background: #fff;
    font-size: 36px;
    font-weight: bold;
  }
  .slider{
    display: none; /* 最初は非表示に */
  }
  .slider.slick-initialized{
    display: block; /* slickが実行完了したら表示 */
  }

  /* arrow */
  .slick-arrow{
    z-index: 2;
    top: 50%;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    border-top: 3px solid #3498db;
    border-right: 3px solid #3498db;
    opacity: .8;
  }
  .slick-arrow::before{
    content: '';
  }
  .slick-prev{
    left: 30px;
    transform: rotate(-135deg);
  }
  .slick-next{
    right: 30px;
    transform: rotate(45deg);
  }
  /* dots */
  .slick-dots{
    bottom: -25px;
  }
  .slick-dots li,
  .slick-dots li button,
  .slick-dots li button::before{
    width: 12px;
    height: 12px;
  }
  .slick-dots li{
    margin: 0 7px;
  }
  .slick-dots li button{
    background-color: #fff;
    opacity: .8;
    border-radius: 100%;
  }
  .slick-dots li.slick-active button{
    opacity: .4;
  }
  .slick-dots li button::before{
    content: '';
  }

/* ここからLP用 */
html {
  background-color: #ffffff;
  scroll-behavior: smooth;
}
.wrapper {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.sp {
  display: none;
}
/* トップ ここから */
.top {
  width: 100%;
  margin: 0 auto;
  background-image: url(../img/main_bg.png);
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
}
.firstview {
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: auto;
}
.logo_img {
  margin: 20px 20px 0 20px;
  width: 15%;
}
.main_img {
  width: 61%;
  margin: 0 auto;
}
/* トップ ここまで */

/* ナビゲーションここから */
.kotei {
  margin: 0;
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 100;
}
.kikan_img {
  width: 100%;
}
#nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  background-color: #ffe900;
  padding: 15px 0 10px 0;
  align-items: center;
}
#nav li {
  text-align: center;
  list-style: none;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.5em;
  letter-spacing: 0.1em;
  color: #333;
}
#nav li p {
  display: inline-block;
  position: relative;
}
#nav li p::after {
  background-color: #333; /* 下線の色 */
  bottom: -2px; /* 要素の下端からの距離 */
  content: ""; /* 要素に内容を追加 */
  height: 2px; /* 下線の高さ */
  left: 0; /* 要素の左端からの距離 */
  position: absolute; /* 絶対位置指定 */
  transform: scale(0, 1); /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
  transform-origin: center top; /* 変形の原点を中央上に指定 */
  transition: transform .3s; /* 変形をアニメーション化 */
  width: 100%; /* 要素の幅 */
}
#nav li p:hover::after {
  transform: scale(1, 1); /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */
}
.bg-black {
  margin: 0 20px;
  width: 4px;
  height: 1.8em;
  background-color: #333;
}
#nav li a {
  text-decoration: none;
}
/* ナビゲーションここまで */

/* メッシュWi-Fiとは ここから */
.sec01 {
  background-image: url(../img/s1_bg.png);
  background-size: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 40px 0;
}
.sec01 img {
  margin: 20px;
}
.s1-1 {
  width: 45%;
}
.s1-2 {
  width: 65%;
}
.s1-3 {
  width: 80%;
}
/* メッシュWi-Fiとは ここから */

/* お困りごと ここから */
.sec02 {
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
  padding: 50px 0;
  background-color: #c5e7fa;
}
.s2-1, .s2-2 {
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
}
.s2-1 img {
  width: 60%;
  margin: 10px auto
}
.s2pc {
  width: 70%;
  margin: 10px auto 20px auto;
}
/* お困りごと ここまで */

/* 3つのポイント ここから */
.sec03 {
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
  background-image: url(../img/s3_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
}
.s3_arrow {
  width: 15%;
  margin: 0 auto;
}
.s3_txt {
  width: 50%;
  margin: 10px auto;
}
.point {
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
  width: 100%;
  padding: 10px 0 30px 0;
}
.point img {
  margin: 20px auto 10px auto;
}
.p_title {
  width: 50%;
}
.p_cont {
  width: 55%;
}
/* 3つのポイント ここまで */

/* ご利用料金 ここから */
.sec04 {
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
  padding: 50px 0;
  background-image: url(../img/s4_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.s4-1 {
  width: 35%;
}
.s4-2 {
  width: 65%;
  margin: 30px auto;
}
.s4-3 {
  width: 70%;
  margin: 0 auto 20px auto;
}
/* ご利用料金 ここまで */

/* ご利用までの流れ ここから */
.sec05 {
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
  padding: 50px;
  background-color: #fff799;
}
.sec05 img {
  margin: 10px auto;
}
.s5-1 {
  width: 50%;
}
.s5-2 {
  width: 70%;
}
/* ご利用までの流れ ここまで */

/* お申し込み ここから */
.sec06 {
  display: flex;
  justify-content: center;
  flex-direction: column;
  background-image: url(../img/s1_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0 auto;
  padding: 80px 0;
  padding-bottom: 150px;
}
.contact_btn {
  margin: 0 auto;
  padding: 10px 50px;
  border-radius: 10px;
  background-color: #d60050;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2.5em;
  color: #ffffff;
  letter-spacing: 0.1em;
  transition: .3s;
  filter: brightness(100%);
}
.contact_btn:hover {
  transform: scale(105%);
  transition: .3s;
  filter: brightness(110%);
}
footer {
  margin: 50px auto 0 auto;
}
footer span {
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: rgba(0, 139, 213, 0.7);
}
/* お申し込み ここまで */

/* お申し込みページ ここから */
.all {
  width: 100%;
  padding: 50px 5%;
  background-color: #EEE;
}
.f_wrapper {
  max-width: 900px;
  margin: auto;
  padding: 30px 5%;
  background-color: #fff;
  border-radius: 10px;
}
.cp_t_s {
  margin: 0 auto;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1em;
  text-align: center;
  padding-top: 20px;
  padding-bottom: 10px;
}
.cp_title {
  width: 100%;
  display: block;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.5em;
  text-align: center;
  padding-bottom: 20px;
}
.cp_txt {
  display: block;
  margin: 0 auto;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 0.8em;
  padding-bottom: 30px;
  text-align: center;
}
.form_area {
  max-width: 800px;
  margin: 0 auto;
}
/*フォームの枠*/
.wpcf7-form-control {
  font-size: 1em;
}
.Q_box {
  display: grid;
  grid-template-columns: 30% 70%;
  grid-template-areas:
  "left_1 right_1"
  "left_2 right_2"
  "left_3 right_3"
  "left_4 right_4"
  "left_5 right_5"
  "left_6 right_6"
  "left_7 right_7";
  grid-row-gap: 30px;
  margin: 0 auto;
}
left_s, right_s {
  padding: 10px;
}
/* .Q1_t, .Q2_t, .Q3_t, .Q5_t  {
  display: flex;
  align-items: center;
} */
.Q1_t {
  grid-area:left_1;
  padding-left: 10px;
}
.Q2_t {
  grid-area:left_2;
  padding-left: 10px;
}
.Q3_t {
  grid-area:left_3;
  padding-left: 10px;
}
.Q4_t {
  grid-area:left_4;
  padding-left: 10px;
}
.Q5_t {
  grid-area:left_5;
  padding-left: 10px;
}
.Q6_t {
  grid-area:left_6;
  padding-left: 10px;
  line-height: 1.1em;
}
.Q7_t {
  grid-area:left_7;
  padding-left: 10px;
  line-height: 1.1em;
}
.Q1_b {
  grid-area:right_1;
}
.Q2_b {
  grid-area:right_2;
}
.Q3_b {
  grid-area:right_3;
}
.Q4_b {
  grid-area:right_4;
}
.Q5_b {
  grid-area:right_5;
}
.Q6_b {
  grid-area:right_6;
  display: flex !important;
  align-items: center !important;
  width: fit-content !important;
}
.Q7_b {
  grid-area:right_7;
}
.f_text {
  font-size: 0.8em;
  font-weight: 700;
  padding: 0 10px 0 0;
  margin: auto 0;
}
.f_text2 {
  font-size: 0.7em;
  font-weight: 700;
  padding: 0 10px 0 0;
  margin: auto 0;
  line-height: 1em;
}
.necessary {
  padding: 3px 8px;
  border-radius: 5px;
  background-color: #d81616;
  font-size: 0.6em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin: auto 0;
  display: inline-block;
}
.optional {
  padding: 3px 8px;
  border-radius: 5px;
  background-color: #9c9c9c;
  font-size: 0.6em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin: auto 0;
  display: inline-block;
}
.kome_text {
  font-size: 0.6em;
  font-weight: 500;
  line-height: 1.4em;
  color: #7d7d7d;
}
.f_submit {
  display: block;
  width: 400px;
  margin: 40px auto 0 auto;
  border-radius: 9999px;
  border: none;
  box-shadow: 2px 2px 4px 0 rgba(85, 85, 85, 0.5);
  background-color: coral;
  color: #fff;
  font-size: 1em;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  padding: 8px 3px;
  transition: .3s;
  filter: brightness(100%);
}
.f_submit:hover {
  transform: scale(103%);
  transition: .3s;
  filter: brightness(120%);
  cursor: pointer;
}
.wpcf7-not-valid-tip {
  font-family: "heisei-kaku-gothic-std", sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.7em !important;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  border: 1.5px solid #4699ec;
  border-radius: 3px;
  font-size: 0.8em;
  width: 100%;
}
.Q4_b textarea {
  width: 80%;
  height: 3em;
}
.wpcf7-list-item {
  display: block !important;
  margin: auto 1em auto 0 !important;
}
.wpcf7-list-item-label {
  font-size: 0.8em;
  font-weight: 300;
}
.wpcf7-turnstile {
  margin: 0 auto;
}
/*「Simple Cloudflare Turnstile」を中央揃えにする*/
div.cf-turnstile {
    display: flex !important;
    justify-content: center !important;
}

.wpcf7-form-control-wrap:nth-of-type(6) {
  display: flex !important;
  align-items: center !important;
  width: fit-content !important;
  height: fit-content !important;
}
/* お申し込みページ ここまで */
/* サンクスページ ここから */
.th_wrapper {
  max-width: 900px;
  margin: 20px auto;
  padding: 30px;
  background-color: #fff;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.th_title {
  width: 100%;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2em;
  text-align: center;
  margin: 10px auto;
}
.th_txt {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 1em;
  text-align: center;
  line-height: 1.3em;
  margin: 10px auto;
}
.wpcf7-response-output {
  margin: -15px auto 10px auto !important;
  text-align: center !important;
  font-size: 0.8em !important;
  font-weight: 500 !important;
  color: #d81616 !important;
  border: none !important;
}
.cf-turnstile-wrap {
  margin-top: 30px;
}
.youtube_wrap{
  width: 100%;
  max-width: 800px;
  margin: auto;
}
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}


/* タブレット用 ここから */
@media screen and (max-width: 1030px) {
}
/* タブレット用 ここまで */

/* スマホ用 ここから*/
@media screen and (max-width: 480px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .wrapper {
    max-width: 370px;
  }
  .top {
    background-image: none;
  }
  .firstview {
    background-image: url(../img/main_bg_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .logo_img {
    margin: 10px 10px 0 10px;
    width: 32%;
  }
  .main_img_sp {
    margin-top: 280px;
    width: 100%;
  }
  .kikan_img_sp {
    width: 100%;
  }
  #nav {
    padding: 3px 0;
  }
  #nav li {
    line-height: 1.4em;
    font-size: 1em;
    letter-spacing: 0.05em;
  }
  .bg-black {
    margin: 0 8px;
    width: 2px;
    height: 1.25em;
    background-color: #333;
  }
  #nav li p::after {
    bottom: 2px;
    height: 2px;
  }
  .spacer {
    width: 100%;
  }
  .sec01 {
    padding: 20px 0;
  }
  .sec01 img {
    margin: 10px 0;
  }
  .s1-1 {
    width: 70%;
  }
  .s1-2 {
    width: 85%;
  }
  .s1-3_sp {
    width: 70%;
  }
  .s1-4_sp {
    width: 85%;
  }
  .sec02 {
    padding: 20px 0;
  }
  .s2-1 img {
    width: 90%;
    margin: 0 auto;
  }
  .s2sp {
    width: 55%;
    margin: 10px auto;
  }
  .sec03 {
    background-image: url(../img/s3_bg_sp.png);
    background-size: cover;
  }
  .s3_arrow {
    width: 30%;
  }
  .s3_txt {
    width: 85%;
  }
  .point {
    padding: 0;
  }
  .point img {
    margin: 10px auto;
  }
  .p_title {
    width: 85%;
  }
  .p_cont {
    width: 90%;
  }
  .sec04 {
    padding: 20px 0;
    background-image: url(../img/s4_bg_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .s4-1 {
    width: 55%;
  }
  .s4-2_sp {
    width: 100%;
    margin: 15px auto;
  }
  .s4-3_sp {
    width: 100%;
    margin: 0 auto;
  }
  .sec05 {
    padding: 20px 0;
  }
  .s5-1 {
    width: 70%;
  }
  .s5-2_sp {
    width: 80%;
  }
  .sec06 {
    padding: 20px 0 ;
    padding-bottom: 170px;
  }
  .contact_btn {
    padding: 8px 30px;
    font-size: 1.8em;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
  }
  footer {
    margin: 0 auto;
  }
  footer span {
    font-size: 0.7em;
  }
  /* 申込みフォーム ここから*/
  .all {
    padding: 3%;
  }
  .f_wrapper {
    margin: 0 auto;
    padding: 3%;
  }
  .cp_t_s {
    padding: 10px 0 5px 0;
    font-size: 0.8em;
  }
  .cp_title {
    padding-bottom: 10px;
    font-size: 1.3em;
  }
  .cp_txt {
    padding-bottom: 15px;
    font-size: 0.7em;
    font-weight: 300;
  }
  .Q_box {
    display: grid;
    grid-template-columns: 100%;
    grid-template-areas:
    "sp_q1"
    "sp_a1"
    "sp_q2"
    "sp_a2"
    "sp_q3"
    "sp_a3"
    "sp_q4"
    "sp_a4"
    "sp_q5"
    "sp_a5"
    "sp_q6"
    "sp_a6"
    "sp_q7"
    "sp_a7";
    gap: 0;
    margin: 0 auto;
  }
  .Q1_t {
    grid-area:sp_q1;
    padding-left: 10px;
  }
  .Q2_t {
    grid-area:sp_q2;
    padding-left: 10px;
  }
  .Q3_t {
    grid-area:sp_q3;
    padding-left: 10px;
  }
  .Q4_t {
    grid-area:sp_q4;
    padding-left: 10px;
  }
  .Q5_t {
    grid-area:sp_q5;
    padding-left: 10px;
  }
  .Q6_t {
    grid-area:sp_q6;
    padding-left: 10px;
  }
  .Q7_t {
    grid-area:sp_q7;
    padding-left: 10px;
  }
  .Q1_b {
    grid-area:sp_a1;
  }
  .Q2_b {
    grid-area:sp_a2;
  }
  .Q3_b {
    grid-area:sp_a3;
  }
  .Q4_b {
    grid-area:sp_a4;
  }
  .Q5_b {
    grid-area:sp_a5;
  }
  .Q6_b {
    grid-area:sp_a6;
  }
  .Q7_b {
    grid-area:sp_a7;
  }
  .Q1_t, .Q2_t, .Q3_t, .Q4_t, .Q5_t {
    margin-bottom: 0;
  }
  .Q1_b, .Q2_b, .Q3_b, .Q4_b, .Q5_b, .Q6_b, .Q7_b {
    margin-left: 10px;
    margin-bottom: 0px;
  }
  .Q4_b {
    margin-bottom: 15px;
  }
  .necessary {
    padding: 2px 6px;
    font-size: 0.55em;
  }
  .optional {
    padding: 2px 6px;
    font-size: 0.55em;
  }
  .f_text2 {
    line-height: 1em;
    font-size: 0.8em;
  }
  .f_submit {
    width: 300px;
    margin: 5px auto 0 auto;
    font-size: 0.8em;
    padding: 8px 3px;
  }
  .wpcf7-form-control-wrap {
    margin-bottom: 15px;
  }
  .Q4_b .wpcf7-form-control-wrap {
    display: block;
    margin-bottom: 0;
    height: fit-content;
  }
  .wpcf7-not-valid-tip {
    font-size: 0.6em !important;
    margin-left: 10px;
  }
  .Q4_b .wpcf7-not-valid-tip {
    margin-left: 0 !important;
  }
  .cf-turnstile-wrap {
    margin-top: 0;
  }
  .wpcf7-response-output {
    font-size: 0.6em !important;
  }
}
/* スマホ用 ここまで*/

/* ティーネットプロ追加 20251105 */
.mesh-wifi-entry #header{
  display: none;
}
.mesh-wifi-entry #container *{
  box-sizing: border-box;
}
.mesh-wifi-entry #container {
  max-width: 100%;
  margin-top: 0;
  margin-bottom: 0;
}
.mesh-wifi-entry #main {
  width: 100%;
  padding-bottom: 0;
}
.f_wrapper {
  font-size: 20px;
  line-height: 1.5;
}
.mesh-wifi-entry footer{
  margin-top: 0;
  display: none;
}
.formradio_block label{
  display: block;
  font-size: 0.8em;
}