@charset "utf-8";

/*========= レイアウトのためのCSS ===============*/
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
@media screen and (min-width:800px) {
.pc { display: block !important; }
.sp { display: none !important; }


body{
    margin: 0 auto;
}

ul{
  margin:0;
  padding: 0;
  list-style: none;
}

a{
  text-decoration: none ;
}

a:hover,
a:active{
  text-decoration: none;
}

/*最上部の仮枠　本番環境では消す*/
.menu_bar{
  background-color: #191970;
  padding: 20px;
  margin-bottom: 5%;
}

/*最上部の仮枠文字　本番環境では消す*/
.menu_bar h2{
  text-align: center;
  color: white;
}
/*========= レイアウトのためのCSSここまで===============*/



/*========= バナー下のボタン配置　===============*/
.service_maingrid{
  display: grid;
  gap: 5px 30px;
  grid-template-columns: repeat(auto-fit,minmax(240px, 1fr));
  /*margin-top: 6%;*/
  margin-bottom: 0px;
  padding: 3% 0%;
  align-items: center;
}

.service_itembox{
  padding: 0.5em 1em;
  /*margin: 2em 0;*/
  /*color: #00BCD4;*/
  background: #cce8ff;/*背景色#e4fcff*/
  border-top: solid 6px #f4f4f4;/*#1dc1d6*/
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.32);/*影*/
  margin-bottom: 20px;
  border-radius: 30px;
}

.service_button a {
  background: white;
  border-radius: 3px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 10px;
  padding: 10px 25px;
  color: #313131;
  font-size: calc(100% - 0.11rem);
  transition: 0.3s ease-in-out;
  font-weight: 500;
  border: 0.2rem solid #90bcfd;
  text-decoration: none;
  border-radius: 30px;
  font-weight: bold;
  padding: 5% 0;
}


.service_button a:hover {
  background: #313131;
  color: #FFF;
}

.service_button a:before {
  content: '';
  width: 18px;
  height: 18px;
  position: absolute;
  top: 30%;
  left: 20px;
  /*margin-top: -30px;*/
  background: url("img/moushikomisyo001.png") no-repeat;
  background-size: contain;
  background-repeat: no-repeat;
}

.service_button span:before {
  content: '';
  width: 18px;
  height: 18px;
  position: absolute;
  top: 30%;
  left: 20px;
  /*margin-top: -30px;*/
  background: url("img/moushikomisyo_icon002.png") no-repeat;
  background-size: contain;
  background-repeat: no-repeat;
}

.service_button span span:before {
  content: '';
  width: 18px;
  height: 18px;
  position: absolute;
  top: 30%;
  left: 20px;
  /*margin-top: -30px;*/
  background: url("img/support.png") no-repeat;
  background-size: contain;
  background-repeat: no-repeat;
}

.service_button a:after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 3px solid #313131;
  border-right: 3px solid #313131;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 45%;
  right: 10%;
  transition: 0.3s ease-in-out;
}

.service_button a:hover:after {
  border-color: #FFF;
}

/* .test a:before {
  content: '';
  width: 18px;
  height: 18px;
  position: absolute;
  top: 30%;
  left: 20px;
  background: url("img/aaa.png") no-repeat;
  background-size: contain;
  background-repeat: no-repeat;
} */

/*========= 追加要素20241130　===============*/
  
.btn_04 {
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    width: 450px;
    font-size: x-large;
    margin: auto;
    margin-bottom: 4%;
    margin-top: 4%;
    padding: 1.2rem 1rem;
    font-weight: bold;
    border: 2px solid #0062b2;
    background: #0062b2;
    color: #fff;
    border-radius: 100vh;
    transition: 0.5s;
}
  
a.btn_04:hover {
	color: #0062b2;
	background: #fff;
}

/*=========　選ばれる3つの理由　=========*/
/*選ばれる3つの理由のコピー部分　前後横線と文字属性*/
.point_title {
  font-size: 1.8rem;
  font-weight: bold;
  color: #333333;
  display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
  margin-top: 2%;
}

.point_title:before, .point_title:after {
  border-top: 1px solid;
  content: "";
  color: #90bcfd;
  width: 4em; /* 線の長さ */
  border-width: 4px;
}

.point_title:before {
  margin-right: 1em; /* 文字の右隣 */
}

.point_title:after {
  margin-left: 1em; /* 文字の左隣 */
}

.point_sub1{
  font-size: 2vh;
  margin-bottom: 2%;
  padding-left: 3rem;
  background: url(img/point_tv01.svg) no-repeat left center;
}

.point_sub2{
  font-size: 2vh;
  margin-bottom: 2%;
  padding-left: 3rem;
  background: url(img/point_tv02.svg) no-repeat left center;
}

.point_sub3{
  font-size: 2vh;
  margin-bottom: 2%;
  padding-left: 3rem;
  background: url(img/point_tv03.svg) no-repeat left center;
}

/*選ばれる3つの理由部分の文字色*/
.menu_bgcolor{
  background-color: #ffe4e1;
}

/*選ばれる3つの理由写真下の文字*/
.menu_title{
  font-size: 1.3rem;
  text-align: center;
  font-weight: bold;
  padding: 15px;
}

/*使ってない？*/
.service_wrraper{
  margin: 10px 10%;
  padding: 0% 5%;
}

/*選ばれる3つの理由の枠サイズと文字色*/
.pointdemo{
  max-width: 375px;
  color: #333333;
}

/*選ばれる3つの理由の写真最大サイズ*/
.pointdemo img{
  max-width: 375px;
}

.maingrid_point{
  display: grid;
  gap: 5px 5px;
  grid-template-columns: repeat(auto-fit,minmax(250px, 1fr));
  /*margin-top: 6%;*/
  margin-bottom: 0px;
  padding: 3% 0%;
}

.maingrid_point p{
  max-width: 95%;
  font-size: 1.9vh;
}

.maingrid_point img{
  max-width: 95%;
  height: auto;
}

/*=========　おすすめポイントここから　=========*/
.saiyou_flex{
    display: flex;
    width: 48%;
}

.saiyou_border{
    border-width:2px 0 0 0; /*線の太さの指定*/
    border-style:dashed;/*線の種類の指定*/
    border-color:#4b4b4b; /*線の色の指定*/
}

.saiyou_container_company {
    display: flex;
    width: 95%;
    margin: 0 auto;
    margin: 5% auto;
}

.left_company {
    flex: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.left_company img {
    object-fit: cover;
    min-width: 100%;
    min-height: 100%;
}

.right_company {
    flex: 50%;
    display: flex;
    flex-direction: column;
    margin-left: 3%;
    margin-top: 2%;
}

.right-top_company h2{
    font-weight: bold;
    font-size: max(0.7vw, 30px);
    color: #01367a;
    margin-bottom: 2%;
}

.right-top_company h3{
    font-weight: bold;
    color: #2c2c2c;
    line-height: max(2vw, 42px);
    font-size: larger;
}

.btn_saiyoubox{
    display: flex;
    width: 90%;
    margin: 0 auto;
    margin-top: 5%;
    margin-bottom: 5%;
}
/*********************************▽02▽********************************/
.right02_company {
    flex: 50%;
    display: flex;
    overflow: hidden;
    margin-top: 2%;
}

.right02_company img {
    object-fit: cover;
    min-width: 100%;
    min-height: 100%;
}

.left02_company {
    flex: 50%;
    display: flex;
    flex-direction: column;
    margin-left: 3%;
}

.left02-top_company h2{
    font-weight: bold;
    font-size: max(0.7vw, 30px);
    color: #01367a;
    letter-spacing: 3px;
    margin-bottom: 2%;
}

.left02-top_company h3{
    font-weight: bold;
    color: #2c2c2c;
    line-height: max(2vw, 42px);
    font-size: larger;
}

/****************** タブのCSSここから*************/
/*タブの基礎*/
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0;
}
.tab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #a3d6ff;;
  display: block;
  z-index: 2;
  order: -1;
}

/*選んでいないタブのラベル*/
.tab-label {
  color: black;
  background: white;
  font-weight: bold;
  text-shadow: 0 -1px 0 rgba(0,0,0,.2);
  white-space: nowrap;
  text-align: center;
  padding: 1.5em .5em;
  order: -1;
  position: relative;
  cursor: pointer;
  border-radius:5px 5px 0 0;
  flex: 1;
  border-top: solid 2px LightGray;
  border-left: solid 2px LightGray;
  border-right: solid 2px LightGray;
}

/*タブごとの間隔*/
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}

/*タブ内の基礎設定*/
.tab-content { 
  width: 100%; 
  height: 0;
  overflow: hidden;
  opacity: 0;
}

/*タブ内のh1文字*/
.tab-content h1{ 
  display: block;
  width: 100%;
  margin: auto;
  text-align: center;
}

/*タブ内のh2文字*/
.tab-content h2{ 
  display: block;
  width: 100%;
  margin: auto;
}

/*タブ内のh3文字*/
.tab-content h3{
  display: block;
  width: 100%;
  margin: auto;
  color: #323232;
} 

/*タブ内のp文字*/
.tab-content p{
  display: block;
  width: 100%;
  margin: auto;
  font-size: 0.8rem;
} 

/*タブ内のアコーディオン*/
.tab-content .accordion{
  display: block;
  width: 90%;
  margin: auto;
  font-size: 1.2rem;
} 

/* アクティブなタブ */
.tab-switch:checked+.tab-label {
  background: #e0f1ff;
  border-top: solid 3px #a3d6ff;
  border-left: solid 3px #a3d6ff;
  border-right: solid 3px #a3d6ff;
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
}

/*ラジオボタン非表示*/
.tab-switch {
  display: none;
}

/*タブ内の写真*/
.tab-content img{
  display: block;
  width: 100%;
  margin: auto;
  margin-bottom: 0%; 
}

/*タブ内の見出し　下線もここで調整可能*/
.midasi{
  padding: 0.8rem 0; 
  background-image: linear-gradient(90deg, #81b6fc 0 20%, #dedede 20%);
  background-repeat: no-repeat;
  background-size: 100% 10%;
  background-position: bottom;
  color: #323232;
  font-weight: bold;
  font-size: 30px;
}

/*テーブルデザイン*/
.design01 { 
  width: 100%; 
  margin: auto ;
  border-collapse: collapse; 
  border-spacing: 0;
}

/*テーブルの費目*/
.design01 th {
  padding: 10px;
  background: #e9f5fa;
  border: solid 1px #778ca3;
}

/*テーブルの中身*/
.design01 td {
  text-align: center;
  padding: 10px;
  border: solid 1px #778ca3;
  font-size: larger;
}

/*文字に線を引く時に使う*/
.line{
  background: linear-gradient(transparent 60%, #ffff6e 60%);
  font-size: larger; 
}
 
.line1{
  background: linear-gradient(transparent 60%, #ffff6e 60%);
  font-size: 1.2rem;
}
  
.line2{
  background: linear-gradient(transparent 60%, #ff9c6e 60%);
  font-size: 1.2rem;
}
/****************** タブのCSSここまで*************/





/******************　料金プランタブのCSSここから　*************/
/*タイトル真ん中に*/
.price_main_title{
  display: block;
  text-align: center;
}

/*ボタンの上に余白*/
.price_button{
  margin-top: 1%;
}

/*ボタンのa文字属性設定*/
.price_button a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 1em 2em;
  width: 375px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  background-color: #ff6868;
  border-radius: 50vh;
}

/*ボタン内の「>」設定*/
.price_button a::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
  transform: rotate(45deg);
}

/*ボタンにカーソル合わせた時の動き*/
.price_button a:hover {
  text-decoration: none;
  background-color: #f83737;
}

/*ボタン上のp文字真ん中に*/
.price_p{
  text-align: center;
}
/******************　料金プランタブのCSSここまで　*************/





/******************　チャンネルタブのCSSここから　*************/

.lineup_table{
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
}

.lineup_flex{
  display: flex;
  margin-bottom: 1.8%;
}

.lineup_list{
  width: 48%;
  margin: auto;
}

.lineup_list p{
  font-size: 1rem;
}

.lineup_inner{
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  border-bottom: 1px solid #cbcbcb;
  padding: 0.16rem;
}

.lineup_inner p{
margin-bottom: 3%; 
}

.lineup_channel_number{
  width: 1.2rem;
}

.lineup_channel_title{
  display: block;
  word-break: break-all;
}

/* 中にいろいろ入れたいとき */
.lineup_accordion-box {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: 0.5s; 
  background-color: #ffffff;
  border: 2px solid;
  border-color: transparent #e8e8e8 #e8e8e8 #e8e8e8;
  border-radius: 0 0 20px 20px;
}

.accordion-hidden:checked+.accordion-open+.lineup_accordion-box {
  height: auto;
  opacity: 1; 
  padding: 10px;
}

.lineup_list a{
  color: #313131;
  text-decoration: underline; 
  margin-left: 1em;
}

.lineup_list a:hover{
  color: #D65556;
}

.channel_area{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border: solid 3px #EBEBEB;
  border-radius: 5px;
  background: url(img/channel_line.svg) no-repeat top left;
  background-size: 80px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channel_area_osusume{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border: solid 3px #EBEBEB;
  border-radius: 5px;
  background: url(img/channel_osusume.svg) no-repeat top left;
  background-size: 80px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channel_area_supobara{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border: solid 3px #EBEBEB;
  border-radius: 5px;
  background: url(img/channel_supobara.svg) no-repeat top left;
  background-size: 80px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channel_area_doraon{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border: solid 3px #EBEBEB;
  border-radius: 5px;
  background: url(img/channel_doraon.svg) no-repeat top left;
  background-size: 80px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channel_area_entame{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border: solid 3px #EBEBEB;
  border-radius: 5px;
  background: url(img/channel_entame.svg) no-repeat top left;
  background-size: 80px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channel_area_empty{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border-radius: 16px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channl_image{
  width: 100%;
  max-width: 160px;
  padding: 10px 0;
  text-align: center;
}

.channel_text{
  margin-left: 20px;
  flex: 1;
  margin-bottom: 0;
}

.channel_text h3{
  margin-bottom: 2%; 
}

.channel_text a{
  color: #313131;
  text-decoration: underline; 
}

.channel_text a:hover{
  color: #D65556;
}

.channel_hikaku{
  margin-bottom: 2%;
}

/*テーブルデザイン*/
.channel_table { 
  width: 95%; 
  margin: auto ;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-collapse: collapse; 
  border-spacing: 0;
}

/*テーブルの費目*/
.channel_table th {
  padding: 10px;
  background: #e9f5fa;
  border: solid 1px #778ca3;
  font-size: 1rem;
}

/*テーブルの中身*/
.channel_table td {
  text-align: center;
  padding: 10px;
  border: solid 1px #778ca3;
  font-size: 1rem;
}

.channel_spanbase{
  display: block;
  text-align: center;
  color: #313131;
}

.channel_supobara{
  background: linear-gradient(transparent 60%, #ffff6e 60%);
}

.channel_doraon{
  background: linear-gradient(transparent 60%, #a1ff6e 60%);
}

.channel_entame{
  background: linear-gradient(transparent 60%, #8bd1ff 60%);
}


/******************　チャンネルタブのCSSここまで*************/




/****************** 地域情報ここから*************/
.local_line{
  background: linear-gradient(transparent 60%, #ffff6e 60%);
}

.local_line2{
  position: relative;
  padding: 5px 26px 5px 42px;
  background: #fff0d9;
  color: #2d2d2d;
  font-size: 2rem;
  line-height: 1.3;
  border-bottom: solid 3px orange;
  z-index:-2;
  text-align: center;
}

.local_line2:before {
  position: absolute;
  content: '';
  left: -2px;
  top: -2px;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 40px white;
  border-bottom: solid 79px transparent;
  z-index: -1;
}

.local_line2:after {
  position: absolute;
  content: '';
  right: -3px;
  top: -7px;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 40px transparent;
  border-bottom: solid 79px white;
  z-index: -1;
}

.local_maingrid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(240px, 1fr));
  /*margin-top: 6%;*/
}


/****************** FAQここから*************/
.accordion {
  width: 100%;
}

/*inputのチェックボックスを非表示*/
.accordion-hidden {
  display: none;
}

/*見出しボタン部分*/
.accordion-open {
  display: block;
  padding: 25px 80px 25px 25px;
  background: #f4f4f4;/*#62c9c7*/
  cursor: pointer;
  position: relative;
  border: 2px solid;
  border-color: #e8e8e8 #e8e8e8 #e8e8e8 #e8e8e8;
  border-radius: 20px 20px 20px 20px;
}

/*見出しボタン部分内p文字の前に余白*/
.accordion-open p{
  margin-left: 30px;
}

.qa_box{
  margin: 15px 0;
}

/* ＋アイコン */
.accordion-open::before,
.accordion-open::after {
  content: '';
  width: 20px;
  height: 3px;
  background: #000;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}

/* アイコンのー */
.accordion-open::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .5s;
}

/* アコーディオンが開いたらーに */
.accordion-hidden:checked+.accordion-open:after {
  transform: translateY(-50%) rotate(0);
}

.accordion-hidden:checked+.accordion-open{
  border-radius: 20px 20px 0px 0px;
  border: 2px solid;
  border-color: #e8e8e8 #e8e8e8 transparent #e8e8e8;
}

/* アコーディオン中身部分 */
.accordion-inner {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  /*transition: 0.2s;*/
  /* 表示速度の設定 */
  cursor: pointer;
}

/* チェックボックスにチェックが入ったら中身部分を表示する */
.accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
  padding: 0;
}
/* ↑ここまで共通 */


/* Q&A追加 */
.accordion_qa .Q,
.accordion_qa .A {
 position: relative;

}

.accordion_qa .Q::before,
.accordion_qa .A::before {
  font-size: 1em;
  display: flex;
  position: absolute;
  font-weight: bold;
  margin-left: 10px;
}

.accordion_qa .Q::before {
  content: "Q";
  display: flex;
  justify-content:center;
  align-items: center;
  background: #D65556;
  color: #fff;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  left: -2em;
  top: -0.4em;
}

.accordion_qa .A::before {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  background: #6699B7;
  color: #fff;
  width: 35px;
  height: 35px;
  border-radius: 50%;
/*   margin-top: 20px; */
  margin-bottom: 10px;
}

.accordion_qa .accordion-open {
  padding-left: 2.5em;
}

.accordion_qa .accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
  padding: 10px 10px 10px 2.5em;
}
/* Q&A追加ここまで */


/* 中にいろいろ入れたいとき */
.accordion-box {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: 0.5s;
  background-color: #fdfdfd;
  border: 2px solid;
  border-color: transparent #e8e8e8 #e8e8e8 #e8e8e8;
  border-radius: 0 0 20px 20px;
}

/* .accordion-box-underbar{
  border-top: solid 1px #cccccc;
  margin: 0 20px;
} */

.accordion-box ul{
  display: inline-block;
  position: relative;
  list-style-type: none;
  padding: 5px;
  /* margin-top: 20px; */
  margin-left: 50px;
  margin-bottom: 10px;
  margin-right: 50px;
}


.accordion-box a{
  text-decoration: underline;
  color: blue;
}

.accordion-hidden:checked+.accordion-open+.accordion-box {
  height: auto;
  opacity: 1;
  padding: 10px;
}


/****************** FAQここまで*************/

/*ボックス全体*/
.accbox_mi {
    margin: 2em 0;
    margin: 0 auto;
    max-width: 95%;;/*最大幅*/
}

/*ラベル*/
.accbox_mi label {
  display: block;
  margin: 1.5px 0;
  /*padding : 11px 12px;*/
  /*--color :#2f8fcf;--*/
  font-weight: bold;
  /*--background :#a4cbf3;--*/
  cursor :pointer;
  transition: all 0.5s;
}

/*ラベルホバー時*/
.accbox_mi label:hover {
  background :#f0e581;
}

/*チェックは隠す*/
.accbox_mi input {
  display: none;
}

/*中身を非表示にしておく*/
.accbox_mi .accshow {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}

/*クリックで中身表示*/
.cssacc:checked + .accshow {
  height: auto;
  padding: 5px;
  background: #eaeaea;
  opacity: 1;
}

.mihoudai {
	text-align: left;

}

.menu_grid{
  display: grid;
  gap: 5px 5px;
  grid-template-columns: repeat(auto-fit,minmax(120px, 1fr));
  /*margin-top: 6%;*/
  margin-bottom: 20px;
  padding: 3% 0%;
}

.menu_grid img{
  width: 95%;
}

}

/**************** モバイル表示用 *************************************/

@media screen and (max-width: 800px) {
  .pc { display: none !important; }
  .sp { display: block !important; }
  img { max-width: 100%; }

/*********** ▼追加要素20241130▼ ************/
.sp_btn_05 {
	display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    width: 80%;
    font-size: 3.5vw;
    margin: auto;
    margin-bottom: 4%;
    margin-top: 4%;
    padding: 1.3rem 1.2rem;
    font-weight: bold;
    border: 2px solid #0062b2;
    background: #0062b2;
    color: #fff;
    border-radius: 100vh;
    transition: 0.5s;
}

a.sp_btn_05:hover {
	color: #0062b2;
	background: #fff;
}
/*********** ▲追加要素20241130▲ ************/



body{
max-width: 1200px;
margin: 0 auto;
font-family: 'Noto Sans JP', sans-serif;
}


ul{
  margin:0;
  padding: 0;
  list-style: none;
}

a{
text-decoration: none;
}

a:hover,
a:active{
  text-decoration: none;
}

.menu_bar{
  background-color: #191970;
  padding: 20px;
  margin-bottom: 5%;
}

.menu_bar h2{
  text-align: center;
  color: white;
}

.menu_bgcolor{
  background-color: #ffe4e1;
}

.menu_subtitle{
  font-size: 0.6rem;
  text-align: center;
  font-weight: bold;
  padding: 1%;
}

.service_wrraper{
  margin: 10px 10%;
  padding: 0% 5%;
}

.pointdemo{
  max-width: 325px;
  color: #333333;
}

.pointdemo img{
  max-width: 375px;
}

/***************sp_上部ボタン***************/
.sp_service_maingrid{
  width: 100%;
  display: flex;
}

.sp_service_menu1, .sp_service_menu2 {
  width: 50%;
  display: flex;
  align-items: center;
}

.sp_service_itembox{
  width: 80vw;
  background: #e0f1ff;
  border-top: solid 6px #f4f4f4;/*#1dc1d6*/
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.32);/*影*/
  margin-bottom: 1%;
  border-radius: 30px;
  margin: 5% 5%;
  padding: 0.5em 1em;
}

.support_box {
  margin: 5% 5%;
  width: 80vw;
}

.sp_menu_title{
  font-size: calc(100% * 1.2);
  text-align: center;
  font-weight: bold;
  padding: 1%;
  margin-top: 5%
}

.sp_service_button a {
  width: auto;
  background: white;
  border-radius: 3px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  color: #313131;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  border: 0.2rem solid #a3d6ff;
  text-decoration: none;
  border-radius: 20px;
  font-weight: bold;
  padding: 10% 1%;
  margin: 1% 1%;
  /*font-size: calc(100% * 1.2);*/
}

.sp_service_button li{
  text-align: center;
}

.sp_service_button a:hover {
  background: #313131;
  color: #FFF;
}

.sp_service_button2 a {
  width: auto;
  background: white;
  border-radius: 3px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  color: #313131;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  border: 0.2rem solid #a3d6ff;
  text-decoration: none;
  border-radius: 20px;
  font-weight: bold;
  padding: 4% 1%;
  margin: 1% 1%;
  font-size: calc(100% * 1);
}

.sp_service_button2 li{
  text-align: center;
}

.sp_service_button2 a:hover {
  background: #313131;
  color: #FFF;
}
/***************sp_上部ボタンここまで***************/


/****************** タブのCSSここから*************/
.menu_title{
  font-size: 1.3rem;
  text-align: center;
  font-weight: bold;
  padding: 15px;
}

.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 5px 0px 5px ;
}
.tab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #a3d6ff;
  display: block;
  z-index: 2;
  order: -1;
}

.tab-label {
  color: black;
  background: white;
  font-weight: bold;
  text-shadow: 0 -1px 0 rgba(0,0,0,.2);
  white-space: nowrap;
  text-align: center;
  padding: 15px .5em;
  order: -1;
  position: relative;
  cursor: pointer;
  border-radius:5px 5px 0 0;
  flex: 1;
  border-top: solid 2px LightGray;
  border-left: solid 2px LightGray;
  border-right: solid 2px LightGray;
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
/* アクティブなタブ */
.tab-switch:checked+.tab-label {
  background: #e0f1ff;
  border-top: solid 3px #a3d6ff;
  border-left: solid 3px #a3d6ff;
  border-right: solid 3px #a3d6ff;
}

.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
}

/* ラジオボタン非表示 */
.tab-switch {
  display: none;
}

.tab-content img{
  display: block;
  width: 100%;
  margin: auto;
}

.midasi{
  padding: 0.8rem 0; 
  background-image: linear-gradient(90deg, #90bcfd 0 20%, #dedede 20%);
  background-repeat: no-repeat;
  background-size: 100% 10%;
  background-position: bottom;
  color: #323232;
  font-weight: bold;
  font-size: 30px;
}

.design01 { 
  width: 100%; 
  margin: auto ;
  border-collapse: collapse; 
  border-spacing: 0;
}
 
.design01 th {
  padding: 10px;
  background: #e9f5fa;
  border: solid 1px #778ca3;
}
 
.design01 td {
  text-align: center;
  padding: 10px;
  border: solid 1px #778ca3;
}

.line{
  background: linear-gradient(transparent 60%, #ffff6e 60%);
  font-size: 1.2rem;  
}

.line1{
  background: linear-gradient(transparent 60%, #ffff6e 60%);
  font-size: 1.2rem;
}

.line2{
  background: linear-gradient(transparent 60%, #ff9c6e 60%);
  font-size: 1.2rem;
}
/****************** タブのCSSここまで*************/




/******************　料金プランタブのCSSここから　*************/
/*タイトル真ん中に*/
.price_main_title{
  display: block;
  text-align: center;
}

/*ボタンの上に余白*/
.price_button{
  margin-top: 1%;
}


/*ボタンのa文字属性設定*/
.price_button a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 1em 2em;
  width: 375px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  background-color: #ff6868;
  border-radius: 50vh;
}

/*ボタン内の「>」設定*/
.price_button a::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
  transform: rotate(45deg);
}

/*ボタンにカーソル合わせた時の動き*/
.price_button a:hover {
  text-decoration: none;
  background-color: #f83737;
}

/*ボタン上のp文字真ん中に*/
.price_p{
  text-align: center;
  color: #333333;
}
/******************　料金プランタブのCSSここまで　*************/





/******************　チャンネルタブのCSSここから　*************/

.lineup_table{
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
}

.lineup_flex{
  display: flex;
  margin-bottom: 1.8%;
}

.lineup_list{
  width: 48%;
  margin: auto;
}

.lineup_list p{
  font-size: 1rem;
}

.lineup_inner{
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  border-bottom: 1px solid #cbcbcb;
  padding: 0.16rem;
}

.lineup_inner p{
margin-bottom: 3%; 
}

.lineup_channel_number{
  width: 1.2rem;
}

.lineup_channel_title{
  display: block;
  word-break: break-all;
}

/* 中にいろいろ入れたいとき */
.lineup_accordion-box {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: 0.5s; 
  background-color: #ffffff;
  border: 2px solid;
  border-color: transparent #e8e8e8 #e8e8e8 #e8e8e8;
  border-radius: 0 0 20px 20px;
}

.accordion-hidden:checked+.accordion-open+.lineup_accordion-box {
  height: auto;
  opacity: 1; 
  padding: 10px;
}

.lineup_list a{
  color: #313131;
  text-decoration: underline; 
  margin-left: 1em;/*-----追加------*/
}

.lineup_list a:hover{
  color: #D65556;
}

.channel_area{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border: solid 3px #EBEBEB;
  border-radius: 5px;
  background: url(img/channel_line.svg) no-repeat top left;
  background-size: 80px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channel_area_osusume{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border: solid 3px #EBEBEB;
  border-radius: 5px;
  background: url(img/channel_osusume.svg) no-repeat top left;
  background-size: 80px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channel_area_supobara{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border: solid 3px #EBEBEB;
  border-radius: 5px;
  background: url(img/channel_supobara.svg) no-repeat top left;
  background-size: 80px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channel_area_doraon{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border: solid 3px #EBEBEB;
  border-radius: 5px;
  background: url(img/channel_doraon.svg) no-repeat top left;
  background-size: 80px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channel_area_entame{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border: solid 3px #EBEBEB;
  border-radius: 5px;
  background: url(img/channel_entame.svg) no-repeat top left;
  background-size: 80px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channel_area_empty{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 1em;
  margin-bottom: -0.5em;
  border-radius: 16px;
  padding: 20px;
  position: relative;
  overflow: hidden; 
  width: 50%;
}

.channl_image{
  width: 100%;
  max-width: 160px;
  padding: 10px 0;
  text-align: center;
}

.channel_text{
  margin-left: 20px;
  flex: 1;
  margin-bottom: 0; 
}

.channel_text h3{
  margin-bottom: 2%; 
}

.channel_text a{
  color: #313131;
  text-decoration: underline; 
}

.channel_text a:hover{
  color: #D65556;
}

.channel_hikaku{
  margin-bottom: 2%;
}

/*テーブルデザイン*/
.channel_table { 
  width: 95%; 
  margin: auto ;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-collapse: collapse; 
  border-spacing: 0;
}

/*テーブルの費目*/
.channel_table th {
  padding: 10px;
  background: #e9f5fa;
  border: solid 1px #778ca3;
  font-size: 1rem;
}

/*テーブルの中身*/
.channel_table td {
  text-align: center;
  padding: 10px;
  border: solid 1px #778ca3;
  font-size: 1rem;
}

/*------------------------------
パック別チャンネル比較表追加ここから
-------------------------------*/

.table-wrap {
  overflow-x: scroll;
}
.channel_table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
}
.channel_table th,
.channel_table td {
  border: 2px solid #eee;
  padding: 4px 8px;
}

/*------------------------------
パック別チャンネル比較表追加ここまで
-------------------------------*/




.channel_supobara{
  background: linear-gradient(transparent 60%, #ffff6e 60%);
}

.channel_doraon{
  background: linear-gradient(transparent 60%, #a1ff6e 60%);
}

.channel_entame{
  background: linear-gradient(transparent 60%, #8bd1ff 60%);
}

/*-------------------------
全5つのチャンネルパック追加
--------------------------*/

.midasi{
	font-size: 4vw;
}

.channel_spanbase{
	display: block;
	text-align: center;
	color: #313131;
	font-size: 3vw;
}


.channel_text {
	margin-left: 20px;
        flex: 1;
        margin-bottom: 0;
        display: none;
}

.channel_image {
	width: 100%;
}

.channel_image a {
	display: block;
	width: 100%;
	height: 100%;
}




/******************　チャンネルタブのCSSここまで*************/





/****************** 地域情報ここから*************/
.local_line{
  background: linear-gradient(transparent 60%, #ffff6e 60%);
}

.local_line2{
  position: relative;
  padding: 5px 26px 5px 42px;
  background: #fff0d9;
  color: #2d2d2d;
  font-size: 2rem;
  line-height: 1.3;
  border-bottom: solid 3px orange;
  z-index:-2;
  text-align: center;
}

.local_line2:before {
  position: absolute;
  content: '';
  left: -2px;
  top: -2px;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 40px white;
  border-bottom: solid 79px transparent;
  z-index: -1;
}

.local_line2:after {
  position: absolute;
  content: '';
  right: -3px;
  top: -7px;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 40px transparent;
  border-bottom: solid 79px white;
  z-index: -1;
}

.local_maingrid{
  /*display: grid;*/
  /*grid-template-columns: repeat(auto-fit,minmax(240px, 1fr));*/
  /*margin-top: 6%;*/
}

.local_line2 {
	font-size: 4vw;
}


/****************** FAQここから*************/
.accordion {
  width: 100%;
}

/*inputのチェックボックスを非表示*/
.accordion-hidden {
  display: none;
}

/*見出しボタン部分*/
.accordion-open {
  display: block;
  padding: 25px 80px 25px 25px;
  background: #f4f4f4;/*#62c9c7*/
  cursor: pointer;
  position: relative;
  border: 2px solid;
  border-color: #e8e8e8 #e8e8e8 #e8e8e8 #e8e8e8;
  border-radius: 20px 20px 20px 20px;
}

/*見出しボタン部分内p文字の前に余白*/
.accordion-open p{
  margin-left: 30px;
}

.qa_box{
  margin: 15px 0;
}

/* ＋アイコン */
.accordion-open::before,
.accordion-open::after {
  content: '';
  width: 20px;
  height: 3px;
  background: #000;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}

/* アイコンのー */
.accordion-open::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .5s;
}

/* アコーディオンが開いたらーに */
.accordion-hidden:checked+.accordion-open:after {
  transform: translateY(-50%) rotate(0);
}

.accordion-hidden:checked+.accordion-open{
  border-radius: 20px 20px 0px 0px;
  border: 2px solid;
  border-color: #e8e8e8 #e8e8e8 transparent #e8e8e8;
}

/* アコーディオン中身部分 */
.accordion-inner {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  /*transition: 0.2s;*/
  /* 表示速度の設定 */
  cursor: pointer;
}

/* チェックボックスにチェックが入ったら中身部分を表示する */
.accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
  padding: 0;
}
/* ↑ここまで共通 */


/* Q&A追加 */
.accordion_qa .Q,
.accordion_qa .A {
 position: relative;

}

.accordion_qa .Q::before,
.accordion_qa .A::before {
  font-size: 1em;
  display: flex;
  position: absolute;
  font-weight: bold;
  margin-left: 10px;
}

.accordion_qa .Q::before {
  content: "Q";
  display: flex;
  justify-content:center;
  align-items: center;
  background: #D65556;
  color: #fff;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  left: -2em;
  top: -0.4em;
}

.accordion_qa .A::before {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  background: #6699B7;
  color: #fff;
  width: 35px;
  height: 35px;
  border-radius: 50%;
/*   margin-top: 20px; */
  margin-bottom: 10px;
}

.accordion_qa .accordion-open {
  padding-left: 2.5em;
}

.accordion_qa .accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
  padding: 10px 10px 10px 2.5em;
}
/* Q&A追加ここまで */


/* 中にいろいろ入れたいとき */
.accordion-box {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: 0.5s;
  background-color: #fdfdfd;
  border: 2px solid;
  border-color: transparent #e8e8e8 #e8e8e8 #e8e8e8;
  border-radius: 0 0 20px 20px;
}

/* .accordion-box-underbar{
  border-top: solid 1px #cccccc;
  margin: 0 20px;
} */

.accordion-box ul{
  display: inline-block;
  position: relative;
  list-style-type: none;
  padding: 5px;
  /* margin-top: 20px; */
  margin-left: 50px;
  margin-bottom: 10px;
  margin-right: 50px;
}


.accordion-box a{
  text-decoration: underline;
  color: blue;
}

.accordion-hidden:checked+.accordion-open+.accordion-box {
  height: auto;
  opacity: 1;
  padding: 10px;
}


/****************** FAQここまで*************/

/*ボックス全体*/
.accbox_mi {
    margin: 2em 0;
    margin: 0 auto;
    max-width: 95%;;/*最大幅*/
}

/*ラベル*/
.accbox_mi label {
  display: block;
  margin: 1.5px 0;
  /*padding : 11px 12px;*/
  /*--color :#2f8fcf;--*/
  font-weight: bold;
  /*--background :#a4cbf3;--*/
  cursor :pointer;
  transition: all 0.5s;
}

/*ラベルホバー時*/
.accbox_mi label:hover {
  background :#f0e581;
}

/*チェックは隠す*/
.accbox_mi input {
  display: none;
}

/*中身を非表示にしておく*/
.accbox_mi .accshow {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}

/*クリックで中身表示*/
.cssacc:checked + .accshow {
  height: auto;
  padding: 5px;
  background: #eaeaea;
  opacity: 1;
}

.mihoudai {
	text-align: left;

}

.menu_grid{
  display: grid;
  gap: 5px 5px;
  grid-template-columns: repeat(auto-fit,minmax(120px, 1fr));
  /*margin-top: 6%;*/
  margin-bottom: 20px;
  padding: 3% 0%;
}

.menu_grid img{
  width: 95%;
}

}


/*--------------------------------
全コースで楽しめる基本チャンネル追加
--------------------------------*/
@media screen and (min-width: 768px){
  .sp {
    display: none; }
}

/*
無限ループ
-------------------------------------------*/
.loop_wrap_base {
	width: 100%;
	height: auto;
	overflow: hidden;
	background-color: #F2F6F7;
	padding-top: 30px;
	padding-bottom: 30px;
}


.loop_wrap_base h2 {
	font-weight: normal;
	color: #111;
	text-align: center;
	line-height: 1.2;
	padding: 10px;
	font-size: 24px;
}
.loop_wrap_base h2 span {
	letter-spacing: 0.2em;
	font-size: 14px;
	color: #555;
}

.loop_wrap {
  display: flex;
  width: 220%;
  height: auto;
}

.loop_wrap ul {
  width: 100%;
  height: auto;
  display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.loop_wrap ul li {
	width: 20%;
}

.loop_wrap ul li a {
	display: block;
	text-decoration: none;
	color: #555;
	text-align: center;
	line-height: 1.6;
	font-size: 14px;
	position: relative;
}
.loop_wrap ul li a img {
	width: 100%;
	display: block;
	margin-bottom: 5px;
}

.loop_wrap ul li a span {
	display: inline-block;
	background-color: #36BEAD;
	color: #FFF;
	font-size: 12px;
	position: absolute;
	top: 0;
	left: 0;
	padding: 5px;
	letter-spacing: 1px;
	z-index: 10;
}

.loop_wrap ul li a span.cl_2 {
	background-color: #333;
}

.loop_wrap ul li a span.cl_3 {
	background-color: #FF9900;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.loop_wrap ul:first-child {
  animation: loop 50s -25s linear infinite;
}

.loop_wrap ul:last-child {
  animation: loop2 50s linear infinite;
}

.loop_wrap:hover ul {
  animation-play-state: paused;
}

/*---------------------------追加２---------------------*/

.slideshow {
	position: relative;
	overflow: hidden;
}
input[name="slideshow"] {
	display: none;
}

/* :::::: slideContents :::::: */
.slideContents {
	position: relative;
	background: #86c0de;
	text-align: center;
	-webkit-user-select: none;
	user-select: none;
	transition: transform .6s;
}
.slideContents section {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transform: translateX(100%);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.slideContents section img {
	max-width: 100%;
	height: auto;
	padding: 0 50px;
	box-sizing: border-box;
	vertical-align: middle;
}
@media (min-width: 520px) {
	.slideContents section img {
		aspect-ratio: 3 / 1;
		object-fit: cover;
	}
}

/* :::::: arrows :::::: */
.arrow,
.arrow label,
.arrow .ico {
	position: absolute;
}
.arrow {
	top: 0;
	margin: 0;
	transition: background .3s;
}
.prev {
	left: 0;
}
.next {
	right: 0;
}
.arrow:hover {
	background: rgba(255,255,255,.2);
}
.arrow,
.arrow label {
	cursor: pointer;
	width: 50px;
	height: 100%;
}
.arrow label {
	top: 0;
	left: 0;
	z-index: 1;
}
.arrow .ico {
	top: calc(50% - 6px);
	width: 12px;
	height: 12px;
	border-top: 3px solid #fff;
	opacity: 0;
}
.prev .ico {
	left: 50%;
	border-left: 3px solid #fff;
	transform: rotate(-45deg);
	transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1), opacity .3s;
}
.next .ico {
	right: 50%;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
	transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1), opacity .3s;
}
.arrow:hover .ico {
	opacity: .6;
}
.prev:hover .ico {
	transform: translateX(-6px) rotate(-45deg);
}
.next:hover .ico {
	transform: translateX(6px) rotate(45deg);
}

@media screen and (max-width: 767px) {
.sp_service_button {
        font-size: 95%;
}

/* :::::: mechanism :::::: */
#switch1:checked ~ .slideContents #slide1,
#switch2:checked ~ .slideContents #slide2,
#switch3:checked ~ .slideContents #slide3,
#switch4:checked ~ .slideContents #slide4,
#switch5:checked ~ .slideContents #slide5,
#switch6:checked ~ .slideContents #slide6 {
	position: relative;
	transform: none;
}
#switch1:checked ~ .slideContents #slide6,
#switch1:checked ~ .slideContents #slide5,
#switch2:checked ~ .slideContents #slide1,
#switch2:checked ~ .slideContents #slide6,
#switch3:checked ~ .slideContents #slide2,
#switch3:checked ~ .slideContents #slide1,
#switch4:checked ~ .slideContents #slide3,
#switch4:checked ~ .slideContents #slide2,
#switch5:checked ~ .slideContents #slide4,
#switch5:checked ~ .slideContents #slide3,
#switch6:checked ~ .slideContents #slide5,
#switch6:checked ~ .slideContents #slide4 {
	transform: translateX(-100%);
}
#switch1:checked ~ .slideContents #slide4,
#switch1:checked ~ .slideContents #slide5,
#switch2:checked ~ .slideContents #slide5,
#switch2:checked ~ .slideContents #slide6,
#switch3:checked ~ .slideContents #slide6,
#switch3:checked ~ .slideContents #slide1,
#switch4:checked ~ .slideContents #slide1,
#switch4:checked ~ .slideContents #slide2,
#switch5:checked ~ .slideContents #slide2,
#switch5:checked ~ .slideContents #slide3,
#switch6:checked ~ .slideContents #slide3,
#switch6:checked ~ .slideContents #slide4 {
	transition-duration: 0s;
}

/* :::::: arrow mechanism :::::: */
.arrow label {
	pointer-events: none;
}
#switch1:checked ~ .prev label[for="switch6"],
#switch2:checked ~ .prev label[for="switch1"],
#switch3:checked ~ .prev label[for="switch2"],
#switch4:checked ~ .prev label[for="switch3"],
#switch5:checked ~ .prev label[for="switch4"],
#switch6:checked ~ .prev label[for="switch5"],
#switch1:checked ~ .next label[for="switch2"],
#switch2:checked ~ .next label[for="switch3"],
#switch3:checked ~ .next label[for="switch4"],
#switch4:checked ~ .next label[for="switch5"],
#switch5:checked ~ .next label[for="switch6"],
#switch6:checked ~ .next label[for="switch1"] {
	pointer-events: auto;
}