@charset "UTF-8";

/*下層　コンテンツタイトル*/
.c_gt{
_zoom: 1;
overflow: hidden;
position: relative;
padding-right: 0px;
padding-left: 70px;
width: 100%;
margin-bottom: 0px;
padding-bottom: 40px;
padding-top: 40px;
background-color: #0087B4;
border-bottom-left-radius: 60px;
box-sizing: border-box;
margin-top: 0px;
}
.c_gt.bg_support,.c_gt.bg_general{
background-color: #006FDE;
}
.c_gt.bg_tv{
background-color: #FF6478;
padding-bottom: 40px;
}
.c_gt.bg_comi{
background-color: #FF6478;
padding-bottom: 25px;
padding-top: 25px;
}
.c_gt.bg_internet{
background-color: #1EAFFF;
}
.c_gt.bg_denki{
background-color: #FAC900;
}
.c_gt.bg_tel{
background-color: #5ACDB4;
}
.c_gt.bg_stick{
background-color: #4B8CE6;
}

.c_gt.bg_otoku{
background-color: #9B0707;
}
.c_gt.bg_news{
background-color: #00B4C3;
}
.c_gt.bg_trouble{
background-color: #8764D2;
}
.c_gt.bg_maint{
background-color: #55C6E5;
}
.c_gt.bg_contact{
background-color: #0062B2;
}
.c_gt.bg_simu{
background-color: #FF9600;
}
.c_gt.bg_adv{
background-color: #0062B2;
}
.c_gt.bg_area{
background-color: #6E64C8;
}


.c_gt h1 {
font-size: 35px;
padding-top: 15px;
padding-bottom: 15px;
font-weight: bold;
display: inline-block;
line-height: 1em;
color: #FFFFFF;
}
.c_gt h1 span {
font-size: 20px;
}
.c_gt h1 span.eyebrow {
	display: block;
}
.bgT {
line-height: .76;
position: absolute;
font-family: "Josefin Sans", sans-serif;
font-style: italic;
font-optical-sizing: auto;
font-weight: 700;
font-size: 95px;
color: rgba(255,255,255,0.15);
bottom: -20px;
right: 0%;
}
.bgT * {
line-height: .76;
color: rgba(255,255,255,0.15);
font-family: "Josefin Sans", sans-serif;
font-style: italic;
font-optical-sizing: auto;
font-weight: 700;
font-size: 95px;
-ms-filter: "alpha(opacity=$num)";
}
/*.c_gt figure {
width: 70%;
margin-right: 0px;
margin-left: auto;
position: absolute;
right: 0px;
top: 0px;
z-index: 0;
}
.c_gt figure img {
width: 100%;
height: auto;
display: block;
}*/
@media screen and (max-width: 767px) {
.c_gt{
padding-top: 20px;
padding-bottom: 20px;
padding-left: 40px;
border-bottom-left-radius: 50px;
margin-bottom: 0px;
margin-top: 0px;
}
.c_gt h1 {
font-size: 5.6vw;
padding-top: 5px;
padding-bottom: 5px;
line-height: 1.2em;
}
.c_gt h1 span {
font-size: 3.8vw;
}
.bgT {
font-size: 12vw;
bottom: -10px;
}
.bgT * {
font-size: 12vw;
}

.c_gt.bg_tv{
padding-bottom: 20px;
}

}

/*アイコン付きタイトル*/
.h_SubT {
display: flex;
align-items: center;
}
.h_SubT h1 {

}
.h_SubT i{
flex-basis: 50px;
margin-right: 10px;
}
.h_SubT i img{
width: 100%;
height: auto;
display: block;
}
@media(max-width: 767px){
.h_SubT h1 {
}
.h_SubT i{
flex-basis: 12%;
margin-right: 7px;
}
}


/*サービス　TV画像ありのタイトル*/
.c_gt.sv_img{
background-image: url(../parts/sh_tv_pc.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 60px;
padding-bottom: 60px;
}
.c_gt.sv_img h1 {
text-shadow: 0px 0px 10px #FF6478,
0px 0px 10px #FF6478,
0px 0px 10px #FF6478,
0px 0px 20px #FF6478,
0px 0px 20px #FF6478,
0px 0px 20px #FF6478,
0px 0px 30px #FF6478;
}
@media(max-width: 767px){
.c_gt.sv_img{
background-image: url(../parts/sh_tv_sp.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 50px;
padding-bottom: 50px;
}
}


/*サービス　インターネット有線　画像ありのタイトル*/
.c_gt.sv_i_img{
background-image: url(../parts/sh_net_pc.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 60px;
padding-bottom: 60px;
}
.c_gt.sv_i_img h1 {
text-shadow: 0px 0px 10px #1EAFFF,
0px 0px 10px #1EAFFF,
0px 0px 10px #1EAFFF,
0px 0px 20px #1EAFFF,
0px 0px 20px #1EAFFF,
0px 0px 20px #1EAFFF,
0px 0px 30px #1EAFFF;
}
@media(max-width: 767px){
.c_gt.sv_i_img{
background-image: url(../parts/sh_net_sp.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 50px;
padding-bottom: 50px;
}
}


/*サービス　eテレビStick　画像ありのタイトル*/
.c_gt.sv_stick_img{
background-image: url(../parts/sh_stick_pc.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 60px;
padding-bottom: 60px;
}
.c_gt.sv_stick_img h1 {
text-shadow: 0px 0px 10px #4B8CE6,
0px 0px 10px #4B8CE6,
0px 0px 10px #4B8CE6,
0px 0px 20px #4B8CE6,
0px 0px 20px #4B8CE6,
0px 0px 20px #4B8CE6,
0px 0px 30px #4B8CE6;
}
@media(max-width: 767px){
.c_gt.sv_stick_img{
background-image: url(../parts/sh_stick_sp.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 50px;
padding-bottom: 50px;
}
}


/*サービス　インターネット無線　画像ありのタイトル*/
.c_gt.sv_ib_img{
background-image: url(../parts/sh_netb_pc.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 60px;
padding-bottom: 60px;
}
.c_gt.sv_ib_img h1 {
text-shadow: 0px 0px 10px #1EAFFF,
0px 0px 10px #1EAFFF,
0px 0px 10px #1EAFFF,
0px 0px 20px #1EAFFF,
0px 0px 20px #1EAFFF,
0px 0px 20px #1EAFFF,
0px 0px 30px #1EAFFF;
}
@media(max-width: 767px){
.c_gt.sv_ib_img{
background-image: url(../parts/sh_netb_sp.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 50px;
padding-bottom: 50px;
}
}


/*サービス　固定電話　画像ありのタイトル*/
.c_gt.sv_tel_img{
background-image: url(../parts/sh_tel_pc.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 60px;
padding-bottom: 60px;
}
.c_gt.sv_tel_img h1 {
text-shadow: 0px 0px 10px #5ACDB4,
0px 0px 10px #5ACDB4,
0px 0px 10px #5ACDB4,
0px 0px 20px #5ACDB4,
0px 0px 20px #5ACDB4,
0px 0px 20px #5ACDB4,
0px 0px 30px #5ACDB4;
}
@media(max-width: 767px){
.c_gt.sv_tel_img{
background-image: url(../parts/sh_tel_sp.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 50px;
padding-bottom: 50px;
}
}



/*サービス　モバイルeスマホ　画像ありのタイトル*/
.c_gt.mobile_i_img{
background-image: url(../parts/sh_mbl_pc.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 60px;
padding-bottom: 60px;
}
.c_gt.mobile_i_img h1 {
text-shadow: 0px 0px 10px #0087B4,
0px 0px 10px #0087B4,
0px 0px 10px #0087B4,
0px 0px 20px #0087B4,
0px 0px 20px #0087B4,
0px 0px 20px #0087B4,
0px 0px 30px #0087B4;
}
@media(max-width: 767px){
.c_gt.mobile_i_img{
background-image: url(../parts/sh_mbl_sp.webp);
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 50px;
padding-bottom: 50px;
}
}


/*サービス　でんき　画像ありのタイトル*/
.c_gt.denki_i_img{
background-image: url("../parts/sh_denki_pc.webp");
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 60px;
padding-bottom: 60px;
}
.c_gt.denki_i_img h1 {
text-shadow: 0px 0px 10px #FAC900,
0px 0px 10px #FAC900,
0px 0px 10px #FAC900,
0px 0px 20px #FAC900,
0px 0px 20px #FAC900,
0px 0px 20px #FAC900,
0px 0px 30px #FAC900;
}
@media(max-width: 767px){
.c_gt.denki_i_img{
background-image: url("../parts/sh_denki_sp.webp");
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
padding-top: 50px;
padding-bottom: 50px;
}
}



/* 112　メンテナンス　障害情報*/
.tS_2th {
position: relative;
z-index: 0;
margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
.tS_2th {
margin-bottom: 80px;
margin-top: 30px;
}
}

/*ナビ*/
.news_Nv2 {
display: grid;
gap: 10px;
grid-template-columns: 1fr 1fr;
margin-top: 10px;
margin-bottom: 0px;
width: 100%;
margin-left: 0px;
margin-right: auto;
}
.news_Nv2.Otoku {
display: grid;
gap: 10px;
grid-template-columns: 1fr 1fr 1fr;
margin-top: 10px;
margin-bottom: 0px;
width: 100%;
margin-left: 0px;
margin-right: auto;
}

/*186_ケーブルモバイルeすまほ　OpenGateMobile*/
.news_Nv2.OpenG {
display: grid;
gap: 10px;
grid-template-columns: 1fr 1fr 1fr;
margin-top: 10px;
margin-bottom: 0px;
width: 100%;
margin-left: 0px;
margin-right: auto;
}

.news_Nv2 .item {
text-align: center;
position: relative;
}
.news_Nv2 .item p {
font-size: 15px;
line-height: 1.6em;
display: flex;
align-items: center;
justify-content: center;
}
.news_Nv2 .item a {
display: block;
cursor: pointer;
background-color: #D9EDF4;
transition: all 0.3s;
padding-top: 20px;
padding-bottom: 20px;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
color: #0087B4;
}
/*ベースはモバイル Color*/
.news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #0087B4;
border-right: 3px solid #0087B4;
border-left: 3px solid #0087B4;
}

.news_Nv2 .item.active::after {
position: absolute;
bottom: -3px;
content: '';
width: calc(100% - 6px);
height: 6px;
background-color: #FFFFFF;
left: 50%;
transform: translateX(-50%);
z-index: 1;
}
.news_Nv2 .item.active::before {
position: absolute;
bottom: -3px;
content: '';
width: 80%;
height: 1px;
background-color: #CCCCCC;
left: 50%;
transform: translateX(-50%);
z-index: 2;
}
.news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #0087B4;
border-right: 3px solid #0087B4;
border-left: 3px solid #0087B4;
}

/*テレビ Color*/
.tv_color .news_Nv2 .item a {
background-color: #FFE8EB;
color: #FF6478;
}
.tv_color .news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #FF6478;
border-right: 3px solid #FF6478;
border-left: 3px solid #FF6478;
color: #FF6478;
}
.tv_color .news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #FF6478;
border-right: 3px solid #FF6478;
border-left: 3px solid #FF6478;
}

/*インターネット Color*/
.internet_color .news_Nv2 .item a {
background-color: #DDF3FF;
color: #1EAFFF;
}
.internet_color .news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #1EAFFF;
border-right: 3px solid #1EAFFF;
border-left: 3px solid #1EAFFF;
color: #1EAFFF;
}
.internet_color .news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #1EAFFF;
border-right: 3px solid #1EAFFF;
border-left: 3px solid #1EAFFF;
}

/*固定電話 Color*/
.tel_color .news_Nv2 .item a {
background-color: #E6F8F4;
color: #5ACDB4;
}
.tel_color .news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #5ACDB4;
border-right: 3px solid #5ACDB4;
border-left: 3px solid #5ACDB4;
color: #5ACDB4;
}
.tel_color .news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #5ACDB4;
border-right: 3px solid #5ACDB4;
border-left: 3px solid #5ACDB4;
}

/*OTOKU Color*/
.otoku_color .news_Nv2 .item a {
background-color: #E6F8F4;
color: #9B0707;
}
.otoku_color .news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #9B0707;
border-right: 3px solid #9B0707;
border-left: 3px solid #9B0707;
color: #9B0707;
}
.otoku_color .news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #9B0707;
border-right: 3px solid #9B0707;
border-left: 3px solid #9B0707;
}


/*02サービス　利用料金*/
.tS_8th .news_Nv2 .item a {
background-color: #FFE8EB;
color: #888888;
}
.tS_8th .news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #FF6478;
border-right: 3px solid #FF6478;
border-left: 3px solid #FF6478;
color: #000000;
}
.tS_8th .news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #FF6478;
border-right: 3px solid #FF6478;
border-left: 3px solid #FF6478;
}

/*エリア検索 Color*/
.area_color .news_Nv2 .item a {
background-color: #E9E8F7;
color: #6E64C8;
}
.area_color .news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #6E64C8;
border-right: 3px solid #6E64C8;
border-left: 3px solid #6E64C8;
color: #6E64C8;
}
.area_color .news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #6E64C8;
border-right: 3px solid #6E64C8;
border-left: 3px solid #6E64C8;
}

@media screen and (max-width: 767px) {
.news_Nv2 {
gap: 5px;
margin-top: 20px;
}
.news_Nv2 .item p {
font-size: 3vw;
}

/*186_ケーブルモバイルeすまほ　OpenGateMobile*/
.news_Nv2.OpenG {
gap: 5px;
}
}

/*041サポートトップ*/
.spt_Top_color .news_Nv2 .item a {
background-color: #D9E9FA;
color: #888888;
}
.spt_Top_color .news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #006FDE;
border-right: 3px solid #006FDE;
border-left: 3px solid #006FDE;
color: #000000;
}
.spt_Top_color .news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #006FDE;
border-right: 3px solid #006FDE;
border-left: 3px solid #006FDE;
}





/*お知らせの切り替え*/
/*エリアの表示非表示と形状*/
.in_News2 .area {
display: none;/*はじめは非表示*/
opacity: 0;/*透過0*/
}
/*areaにis-activeというクラスがついた時の形状*/
.in_News2 .area.is-active {
display: block;/*表示*/
animation-name: displayAnime2;
animation-duration: 2s;
animation-fill-mode: forwards;
}

@keyframes displayAnime2{
from {
opacity: 0;
}
to {
opacity: 1;
}
}



.tS_2th_opt1{
width: 100%;
margin-left: auto;
margin-right: 0px;
box-sizing: border-box;
margin-bottom: 60px;
}
@media screen and (max-width: 820px) {
.tS_2th_opt1{
margin-bottom: 30px;
}
}

.tS_2th_opt1 ul.in_desc {
display: grid;
gap: 20px 40px;
/*grid-template-columns: 1fr 1fr;*/
grid-template-columns: 1fr;
margin-bottom: 50px;
padding: 30px;
border: 3px solid #0087B4;
border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px;
}

/*テレビ Color*/
.tv_color .tS_2th_opt1 ul.in_desc {
border: 3px solid #FF6478;
}
/*インターネット Color*/
.internet_color .tS_2th_opt1 ul.in_desc {
border: 3px solid #1EAFFF;
}
/*固定電話 Color*/
.tel_color .tS_2th_opt1 ul.in_desc {
border: 3px solid #5ACDB4;
}
/*サポートtop Color*/
.tS_2th_opt1.spt_Top_color ul.in_desc {
border: 3px solid #006FDE;
}


.tS_2th_opt1 ul.in_desc li.item {
/*display: flex;
gap: 15px;*/
padding-bottom: 15px;
border-bottom: 1px solid #CCCCCC;
align-items: flex-start;
position: relative;
z-index: 1;
}


.tS_2th_opt1 ul.in_desc li.item.noPost {
	padding-bottom: 15px;
	border-bottom: 0px solid #CCCCCC;
	text-align: center;
}


/*.tS_2th_opt1 ul.in_desc li.item figure {
flex-basis: 30%;
flex-shrink: 0;
aspect-ratio: 4 / 3;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
}

.tS_2th_opt1 ul.in_desc li.item img {
width: 100%;
height: auto;
object-fit: cover;
}*/

.tS_2th_opt1 ul.in_desc li.item .in_txt {
/*flex-basis: 70%;*/
display: flex;
gap: 20px;
}
.tS_2th_opt1 ul.in_desc li.item .n_cat {
position: relative;
display: flex;
gap:10px;
place-items: center start;
}
.tS_2th_opt1 ul.in_desc li.item .n_cat p {
font-size: 13px;
line-height: 1.8em;
}

.tS_2th_opt1 ul.in_desc li.item p.update{
padding-top: 0px;
padding-right: 0px;
padding-left: 0px;
padding-bottom: 0px;
color: #FFFFFF;
font-size: 10px;
margin-bottom: 0px;
background-color: #FF0000;
width: 36px;
height: 36px;
line-height: 36px;
text-align: center;
border-radius: 50%;
position: absolute;
top: -10px;
display: inline-block;
z-index: 10;
right: -5px;
}
.tS_2th_opt1 ul.in_desc li.item .n_cat h3 {
font-size: 11px;
font-weight: 300;
line-height: 1.8em;
border-radius: 20px;
background-color: #4B81BC;
text-align: center;
width: 130px;
color: #FFFFFF;
}
/*.tS_2th_opt1 ul.in_desc li.item .n_cat.info h3 {
background-color: #4B81BC;
}
.tS_2th_opt1 ul.in_desc li.item .n_cat.mente h3 {
background-color: #84C558;
}
.tS_2th_opt1 ul.in_desc li.item .n_cat.camp h3 {
background-color: #55C6E5;
}
.tS_2th_opt1 ul.in_desc li.item .n_cat.repo h3 {
background-color: #E37676;
}*/
.tS_2th_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}

@media(max-width: 767px){
.tS_2th_opt1 ul.in_desc {
grid-template-columns: 1fr;
gap: 20px;
margin-bottom: 30px;
}
.tS_2th_opt1 ul.in_desc li.item {
gap: 20px;
padding-top: 10px;
padding-bottom: 20px;
}
.tS_2th_opt1 ul.in_desc li.item .in_txt {
display: block;
}
.tS_2th_opt1 ul.in_desc li.item .n_cat {
gap:10px;
}
.tS_2th_opt1 ul.in_desc li.item .n_cat h3 {
font-size: 2.5vw;
width: 110px;
}
.tS_2th_opt1 ul.in_desc li.item .n_cat p {
font-size: 2.5vw;
}
.tS_2th_opt1 ul.in_desc li.item p.update{
font-size: 2.3vw;
width: 34px;
height: 34px;
line-height: 34px;
}
}





/* 112　ケーブルモバイルサポート*/
.tS_1th {
position: relative;
z-index: 0;
margin-bottom: 100px!important;
}

@media screen and (max-width: 767px) {
.tS_1th {
margin-bottom: 40px!important;
}

}


/*オプション*/
.tS_1th_opt1 {
padding-top: 0px;
padding-bottom: 0px;
}

.tS_1th_opt1 ul.in_desc {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 80px;
}
.tS_1th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_1th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_1th_opt1 ul.in_desc li.item {
padding-top: 20px;
padding-left: 40px;
padding-bottom: 20px;
position: relative;
border-radius: 80px;
background-color: #FFFFFF;
padding-right: 40px;
transition: all 0.3s;

display:flex;
align-items: center;
}
.tS_1th_opt1 ul.in_desc li.item .in_txt {

}
.tS_1th_opt1 ul.in_desc li.item h3 {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 8px;
	text-align: center;
	line-height: 1.6em;
}
.tS_1th_opt1 ul.in_desc li.item p {
font-size: 12px;
font-weight: 400;
line-height: 1.8em;
}
.tS_1th_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.tS_1th_opt1 ul.in_desc li.item:hover{
box-shadow: 0 3px 10px rgba(0,0,0,0.2);
z-index: 0;
}


/* 青い丸（::before） */
.tS_1th_opt1 ul.in_desc li.item::before{
content: "";
position: absolute;
top: 50%;
right: 20px;
width: 20px;
height: 20px;
background: #0087B4;
border-radius: 50%;
transform: translateY(-50%);
}
/* TVの丸（::before） */
.tS_1th_opt1.tv_color ul.in_desc li.item::before{
background: #FF6478;
}
/* インターネットの丸（::before） */
.tS_1th_opt1.internet_color ul.in_desc li.item::before{
background: #1EAFFF;
}
/* 固定電話の丸（::before） */
.tS_1th_opt1.tel_color ul.in_desc li.item::before{
background: #5ACDB4;
}
/* モバイルの丸（::before） */
.tS_1th_opt1.mobile_color ul.in_desc li.item::before{
background: #0087B4;
}

/* 白い矢印（::after）… ::before の“上”に描画される */
.tS_1th_opt1 ul.in_desc li.item::after{
content: "";
position: absolute;
top: 50%;
right: 28px; 
width: 4px;
height: 4px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: translateY(-50%) rotate(45deg);
}


/* ▼ PDFを開くカードだけアイコンを差し替え */
/* PDF専用アイコン */
.tS_1th_opt1 ul.in_desc li.item.is-pdf::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 17px;
  height: 17px;
  background: transparent url("../parts/i_target.svg") no-repeat center / contain;
  border-radius: 0;   /* 丸アイコンはリセット */
  transform: translateY(-50%);
}

/* 矢印は消す */
.tS_1th_opt1 ul.in_desc li.item.is-pdf::after{
  content: none;
}

@media screen and (max-width: 820px) {
.tS_1th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr 1fr;
margin-bottom: 40px;
}
}
@media screen and (max-width: 767px) {
.tS_1th_opt1 {

}

.tS_1th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 40px;
}
.tS_1th_opt1 ul.in_desc li.item {
padding-top: 20px;
padding-left: 40px;
padding-bottom: 20px;
padding-right: 50px;
}
.tS_1th_opt1 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.tS_1th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
}





/* 112　よくある質問*/
.tS_3th {
position: relative;
margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
.tS_3th {
margin-bottom: 50px;
}
}

/* 112　よくある質問*/
.tS_3th_above {
position: relative;
padding-top: 30px;
padding-bottom: 0px;
background-color: #e5eff7;
}
.tS_3th_above.faq_all {
background-color: #e5eff7;
}
.tS_3th_above.faq_tv {
background-color: #FFEFF1;
}
.tS_3th_above.faq_internet {
background-color: #e8f7ff;
}
.tS_3th_above.faq_tel {
background-color: #eefaf7;
}
.tS_3th_above.faq_mobile {
background-color: #e5f3f7;
}
.tS_3th_above.faq_other {
background-color: #f2f4f6;
}
@media screen and (max-width: 767px) {
.tS_3th_above {
padding-top: 10px;
padding-bottom: 0px;
}
}

/*よくある質問*/
/*アコーディオン*/
.adn-area{
list-style: none;
width: 100%;
margin-top: 30px;
margin-bottom: 50px;
}
.adn-area li{
padding-left: 10px;
padding-right: 10px;
padding-bottom: 10px;
padding-top: 10px;
position: relative;
border-radius: 15px;
background-color: #FFFFFF;
margin-bottom: 20px;
}

/*アコーディオンタイトル*/
.adn-area li h3.title {
position: relative;/*+マークの位置基準とするためrelative指定*/
cursor: pointer;
font-size: 14px;
font-weight: 500;
padding-top: 2%;
padding-right: 10%;
padding-left: 60px;
padding-bottom: 2%;
transition: all .3s ease;
display: flex;
align-items: center;
}

.adn-area li h3.title span{
padding-top: 0px;
padding-right: 0px;
padding-left: 0px;
padding-bottom: 0px;
color: #FFFFFF;
font-size: 16px;
margin-bottom: 0px;
background-color: #4169E1;
width: 36px;
height: 36px;
line-height: 36px;
text-align: center;
border-radius: 50%;
position: absolute;
left: 10px;
top: 15px;
display: inline-block;
z-index: 0;
}
.adn-area li .inB span.ans{
padding-top: 0px;
padding-right: 0px;
padding-left: 0px;
padding-bottom: 0px;
color: #FFFFFF;
font-size: 16px;
margin-bottom: 0px;
background-color: #EE558F;
width: 36px;
height: 36px;
line-height: 36px;
text-align: center;
border-radius: 50%;
position: absolute;
left: 0px;
top: 0px;
display: inline-block;
z-index: 0;
}
.adn-area li .inB a{
color: #0058DC;
text-decoration: underline;
}
@media screen and (max-width: 820px) {
.adn-area li h3.title span{
left: 10px;
top: 10px;
}
}
@media screen and (max-width: 767px) {
.adn-area li h3.title span{
font-size: 12px;
width: 30px;
height: 30px;
line-height: 30px;
left: 10px;
top: 3px;
}
.adn-area li .inB span.ans{
font-size: 12px;
width: 30px;
height: 30px;
line-height: 30px;
left: 0px;
top: 0px;
}
}

.adn-area li .inB {
position: relative;
padding-left: 50px;
}
.adn-area li .inB p {
margin-bottom: 15px;
}


/*アイコンの＋と×*/
.adn-area li h3.title::before,
.adn-area li h3.title::after{
position: absolute;
content:'';
width: 15px;
height: 2px;
background-color: #0085FF;
}
.adn-area li h3.title::before{
top:48%;
right: 30px;
transform: rotate(0deg);
}
.adn-area li h3.title::after{    
top:48%;
right: 30px;
transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.adn-area li h3.title.close::before{
transform: rotate(45deg);
}
.adn-area li h3.title.close::after{
transform: rotate(-45deg);
}
.adn-area li h3.title span.square::after{
position: absolute;
content: '';
width: 40px;
height: 40px;
border: 1px solid #F1F1F1;
right: 16px;
top: 21px;
}
/*アコーディオンで現れるエリア*/
.adn-area .box {
display: none;
margin-right: 4%;
padding-right: 3%;
border-top-left-radius: 20px;
border-bottom-right-radius: 20px;
margin-left: 40px;
padding-top: 10px;
}
@media screen and (max-width: 767px) {
.adn-area{
margin-top: 30px;
margin-bottom: 30px;
}
.adn-area li{
margin-bottom: 15px;
}
.adn-area li h3.title {
font-size: 3.3vw;
padding-top: 2%;
padding-right: 40px;
padding-left: 50px;
padding-bottom: 2%;
line-height: 1.6em;
}
/*.adn-area li h3.title span,.adn-area li .inB span.ans {
margin-right: 10px;
font-size: 5.8vw;
}
.adn-area li h3.title span img,.adn-area li .inB span.ans img {
width: 40px;
}*/
.adn-area .box {
display: none;
margin-right: 0%;
padding-right: 3%;
padding-left: 0px;
padding-bottom: 3%;
padding-top: 3%;
font-size: 3vw;
margin-left: 20px;
}
.adn-area li h3.title::before{
right: 15px;
}
.adn-area li h3.title::after{    
right: 15px;
}
.adn-area li .inB {
padding-left: 40px;
}
}



/* 開封数バッジ */
.adn-area li h3.title .open-count{
	margin-left: 10px;
	padding: 2px 8px;
	font-size: 12px;
	line-height: 1.6;
	background: #eef5ff;
	color: #1456a4;
	border: 1px solid #cfe3ff;
	border-radius: 5px;
	/*display: inline-block;*/
	vertical-align: middle;
	display: none;
}
@media screen and (max-width: 767px){
.adn-area li h3.title .open-count{
font-size: 11px;
padding: 2px 6px;
}
}





/*113　iOS APN構成プロファイル*/
p.g_lead {
padding-top: 0px;
padding-bottom: 40px;
text-align: center;
}
@media screen and (max-width: 767px) {
p.g_lead {
padding-top: 20px;
padding-bottom: 20px;
text-align: left;
}
}

.tS_4th {
padding-top: 80px;
padding-bottom: 80px;
position: relative;
background-color: #E6F3F8;
z-index: 0;
}
@media screen and (max-width: 767px) {
.tS_4th {
padding-top: 40px;
padding-bottom: 40px;
}
}

/*オプション*/
.tS_4th_opt1 {
padding-top: 60px;
padding-bottom: 80px;
background-color: #FFFFFF;
border-top-right-radius: 100px;
margin-left: 0px;
margin-right: auto;
width: 95%;
}
.tS_4th_opt1 h2 {
font-size: 18px;
margin-bottom: 30px;
font-weight: bold;
}


.tS_4th_opt1 ul.in_desc {
width: 95%;
display: grid;
gap: 50px;
grid-template-columns: 3fr 1fr;
margin-bottom: 0px;
}
.tS_4th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_4th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_4th_opt1 ul.in_desc li.item {
position: relative;
}
@media screen and (max-width: 820px) {

}
@media screen and (max-width: 767px) {
.tS_4th_opt1 {
padding-top: 40px;
padding-bottom: 40px;
border-top-right-radius: 50px;
}
.tS_4th_opt1 h2 {
font-size: 3.8vw;
margin-bottom: 20px;
}

.tS_4th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
width: 100%;
}
.tS_4th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
}




/*ボタンメニュー*/
.i_btn1 {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr;
padding-top: 30px;
padding-bottom: 30px;
}
.i_btn1 .thing {
position: relative;

}
.i_btn1 .thing a {
padding-right: 40px;
padding-left: 20px;
padding-top: 10px;
padding-bottom: 10px;
display: block;
cursor: pointer;
border: 1px solid #0062B2;
border-radius: 50px;
transition: all 0.3s;
color: #0062B2;
background-color: #FFFFFF;
}
.i_btn1 .thing a:hover {
background-color: #0062B2;
border: 1px solid #0062B2;
color: #FFFFFF;
text-decoration: none;
}
.i_btn1 .thing p {
text-align: center;
}
/*矢印*/
.i_btn1 .thing a::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 30px;
width: 8px;
height: 8px;
margin: -4px 0 0 0;
border-top: solid 1px #222222;
border-right: solid 1px #222222;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transition: all 0.3s;
}
.i_btn1 .thing a:hover::after {
right: 25px;
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
}
@media screen and (max-width: 767px) {
.i_btn1 {
grid-template-columns: 1fr;
gap: 20px;
}
.i_btn1 .thing a {
padding-right: 20px;
padding-left: 10px;
}
.i_btn1 .thing p {
font-size: 3.0vw;
}
}



/*オプション*/
.tS_4th_opt2 {
padding-top: 80px;
padding-bottom: 0px;
margin-left: 0px;
margin-right: auto;
width: 95%;
}

.tS_4th_opt2 h2 {
font-size: 20px;
position: relative;
margin-bottom: 30px;
z-index: 1;
}
.tS_4th_opt2 h2 span {
background-color: #E6F3F8;
padding-left: 0px;
padding-right: 20px;
}
.tS_4th_opt2 h2::after {
position: absolute;
top: 50%;
transform: translateY(-50%);
content: '';
width: 100%;
height: 1px;
left: 0px;
border-bottom: 1px solid #AAAAAA;
z-index: -1;
}

.tS_4th_opt2 ul.in_desc {
display: grid;
gap: 40px;
grid-template-columns: 1fr;
margin-bottom: 60px;
}

.tS_4th_opt2 ul.in_desc li.item {
position: relative;
}
.tS_4th_opt2 ul.in_desc li.item h3 {
font-size: 18px;
font-weight: bold;
margin-bottom: 5px;
}

@media screen and (max-width: 767px) {
.tS_4th_opt2 {
padding-top: 40px;
padding-bottom: 0px;
}
.tS_4th_opt2 h2 {
margin-right: 0;
margin-left: 0;
margin-bottom: 20px;
font-size: 4.4vw;
}

.tS_4th_opt2 ul.in_desc {
gap: 30px;
grid-template-columns: 1fr;
margin-bottom: 40px;
}
.tS_4th_opt2 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.tS_4th_opt2 ul.in_desc li.item p {
font-size: 3vw;
}
}




/*116　愛媛CATVストアアプリ・カンタンスマホ＋*/

.tS_4th_opt1b {
padding-top: 60px;
padding-bottom: 60px;
background-color: #FFFFFF;
border-top-right-radius: 100px;
margin-left: 0px;
margin-right: auto;
width: 95%;
}
.tS_4th_opt1b h2 {
font-size: 18px;
margin-bottom: 30px;
font-weight: bold;
}


.tS_4th_opt1b ul.in_desc {
width: 95%;
display: grid;
gap: 30px;
grid-template-columns: 3.5fr 1fr;
margin-bottom: 0px;
}
.tS_4th_opt1b figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_4th_opt1b figure img {
width: 100%;
height: auto;
display: block;
}
.tS_4th_opt1b ul.in_desc li.item {
position: relative;
}
.tS_4th_opt1b ul.in_desc li.item.area3 {
grid-row: 2 / 3;
grid-column: 1 / 3;
}

@media screen and (max-width: 767px) {
.tS_4th_opt1b {
padding-top: 40px;
padding-bottom: 40px;
border-top-right-radius: 50px;
}
.tS_4th_opt1b h2 {
font-size: 3.8vw;
margin-bottom: 20px;
}
.tS_4th_opt1b figure {
width: 65%;
}
.tS_4th_opt1b ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
width: 100%;
}
.tS_4th_opt1b ul.in_desc li.item.area2 {
grid-row: 1 / 2;
grid-column: 1 / 2;
}
.tS_4th_opt1b ul.in_desc li.item.area1 {
grid-row: 2 / 3;
grid-column: 1 / 2;
}
.tS_4th_opt1b ul.in_desc li.item.area3 {
grid-row: 3 / 4;
grid-column: 1 / 2;
}

.tS_4th_opt1b ul.in_desc li.item p {
font-size: 3vw;
}
}


/*ボタンメニュー single*/
.i_btn1_sgl {
padding-top: 30px;
padding-bottom: 30px;
max-width: 350px;
}
.i_btn1_sgl .thing {
position: relative;		
}
.i_btn1_sgl .thing a {
padding-right: 40px;
padding-left: 20px;
padding-top: 10px;
padding-bottom: 10px;
display: block;
cursor: pointer;
border: 1px solid #0062B2;
border-radius: 50px;
transition: all 0.3s;
color: #0062B2;
background-color: #FFFFFF;
}
.i_btn1_sgl .thing a:hover {
background-color: #0062B2;
border: 1px solid #0062B2;
color: #FFFFFF;
text-decoration: none;
}
.i_btn1_sgl .thing p {
text-align: center;
}
/*矢印*/
.i_btn1_sgl .thing a::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 30px;
width: 8px;
height: 8px;
margin: -4px 0 0 0;
border-top: solid 1px #222222;
border-right: solid 1px #222222;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transition: all 0.3s;
}
.i_btn1_sgl .thing a:hover::after {
right: 25px;
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
}
@media screen and (max-width: 767px) {
.i_btn1_sgl {
padding-top: 20px;
padding-bottom: 20px;
}
.i_btn1_sgl .thing a {
padding-right: 20px;
padding-left: 10px;
}
.i_btn1_sgl .thing p {
font-size: 3.0vw;
}
}




/*114　Android APN設定*/
.tS_5th {
padding-top: 80px;
padding-bottom: 80px;
position: relative;
background-color: #E6F3F8;
z-index: 0;
}
.tS_5th p.note {
text-align: center;
font-size: 16px;
font-weight: 400;
padding-top: 50px;
}
.tS_5th p.note span {
position: relative;
}
.tS_5th p.note span::after {
content: "";
width: 80px;
height: 1px;
background: #888888;
transform: rotate(-45deg);
position: absolute;
right: -100px;
top: 50%;
}
.tS_5th p.note span::before {
content: "";
width: 80px;
height: 1px;
background: #888888;
transform: rotate(45deg);
position: absolute;
left: -150px;
top: 50%;
}
@media screen and (max-width: 767px) {
.tS_5th {
padding-top: 40px;
padding-bottom: 40px;
}
.tS_5th p.note {
text-align: left;
font-size: 3vw;
padding-top: 30px;
width: 75%;
margin-left: auto;
margin-right: auto;
}
.tS_5th p.note span::after {
content: "";
width: 80px;
right: -120px;
transform: rotate(-60deg);
}
.tS_5th p.note span::before {
content: "";
width: 80px;
left: -70px;
transform: rotate(60deg);
}
}



/* Stepタイトル */
.step-title {
display: grid;
gap: 12px;
margin-right: 0;
margin-left: 0;
font-weight: 700;
font-size: 18px;
line-height: 1.6;
margin-bottom: 40px;
border-top: 1px solid #CCCCCC;
padding-top: 50px;
}
.step-title:first-child  {
border-top: 0px solid #CCCCCC;
padding-top: 0px;
}

.step-badge {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
padding: 8px 20px;
border-radius: 30px;
background: #0087B4;
color: #fff;
text-align: center;
justify-self: stretch;   /* モバイルは横いっぱい */
}
.step-badge i {
font-style: normal;
letter-spacing: 1px;
font-size: 14px;
}
.step-badge b {
font-size: 20px;
line-height: 1;
}

.step-text {
display: block;
font-size: 16px;
}
.step-text .note {
margin-left: 4px;
}

.mini-badge {
display: inline-block;
padding: 2px 8px;
border-radius: 20px;
background: #0087B4;
color: #fff;
font-style: normal;
font-size: 12px;
line-height: 1;
vertical-align: baseline;
}

@media (min-width: 767px) {
.step-title {
grid-template-columns: auto 1fr; /* バッジ + 本文横並び */
align-items: center;
column-gap: 24px;
font-size: 20px;
}
.step-badge {
justify-self: start;   /* PCはバッジを内容幅に */
}
}


@media screen and (max-width: 767px) {
.step-title {
margin-bottom: 20px;
}
}



/*オプション*/
.tS_5th_opt1 {
padding-top: 80px;
padding-bottom: 20px;
background-color: #FFFFFF;
border-top-right-radius: 100px;
margin-left: 0px;
margin-right: auto;
width: 95%;
box-sizing: border-box;
padding-right: 30px;
}
.tS_5th_opt1 p.guide {
margin-bottom: 30px;
}
.tS_5th_opt1 ul.in_desc {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 0px;
padding-bottom: 60px;
/*border-bottom: 1px solid #CCCCCC;*/
}


/* 2枚だけのときは中央2カラムを使用 */
.tS_5th_opt1 ul.in_desc.is-two {
grid-template-columns: 1fr 1fr;
width: 65%;
margin-left: auto;
margin-right: auto;
}

/* 1枚だけのときは中央1カラムを使用 */
.tS_5th_opt1 ul.in_desc.is-one {
grid-template-columns: 1fr;
width: 30%;
margin-left: auto;
margin-right: auto;
}


.tS_5th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_5th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_5th_opt1 ul.in_desc li.item {
position: relative;
}
.tS_5th_opt1 ul.in_desc li.item h3 {
font-size: 16px;
font-weight: bold;
margin-bottom: 10px;
}
.tS_5th_opt1 ul.in_desc li.item h3 span {
color: #0087B4;
}


@media screen and (max-width: 767px) {
.tS_5th_opt1 {
padding-top: 60px;
padding-bottom: 10px;
border-top-right-radius: 50px;
padding-right: 0px;
}

.tS_5th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr 1fr;
margin-bottom: 0px;
}
/* 2枚だけのときは中央2カラムを使用 */
.tS_5th_opt1 ul.in_desc.is-two {
width: 100%;
}

/* 1枚だけのときは中央1カラムを使用 */
.tS_5th_opt1 ul.in_desc.is-one {
grid-template-columns: 1fr 1fr;
width: 100%;
}

.tS_5th_opt1 ul.in_desc li.item h3 {
font-size: 3.3vw;
}
.tS_5th_opt1 p.guide {
margin-bottom: 20px;
}
}





/*182　STB操作・設定マニュアル*/
.tS_6th {
padding-top: 60px;
padding-bottom: 60px;
position: relative;
background-color: #E6EFF7;
z-index: 0;
}
.tS_6th.tv {
background-color: #FFEFF1;
}
.tS_6th.internet {
background-color: #E9F7FF;
}
.tS_6th.tel {
background-color: #EEFAF8;
}
.tS_6th.mobile {
background-color: #E6F3F8;
}
.tS_6th.other {
background-color: #F3F5F7;
}
@media screen and (max-width: 767px) {
.tS_6th {
padding-top: 40px;
padding-bottom: 40px;
}
}

/*オプション*/
.tS_6th_opt1 {
padding-top: 60px;
padding-bottom: 20px;
background-color: #FFFFFF;
border-top-right-radius: 100px;
margin-left: 0px;
margin-right: auto;
width: 95%;
box-sizing: border-box;
padding-right: 30px;
}
.tS_6th_opt1 h2 {
font-size: 20px;
margin-bottom: 45px;
font-weight: bold;
border-left: 4px solid #FF6478;
padding-left: 10px;
position: relative;
}
.tS_6th_opt1 h2::after {
position: absolute;
bottom: -15px;
content: '';
width: 100%;
height: 1px;
background-color: #CCCCCC;
left: 50%;
transform: translateX(-50%);
}

.tS_6th_opt1 ul.in_desc {
display: grid;
gap: 20px;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
margin-bottom: 80px;
}
.tS_6th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_6th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_6th_opt1 ul.in_desc li.item {
padding: 15px;
border: 1px solid #CCCCCC;
border-radius: 10px;
position: relative;
}
.tS_6th_opt1 ul.in_desc li.item h3 {
font-size: 14px;
text-align: center;
font-weight: normal;
padding-top: 10px;
}
.tS_6th_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.tS_6th_opt1 ul.in_desc li.item:hover{
background-color: rgba(204,204,204,0.10);
z-index: 0;
}

@media screen and (max-width: 767px) {
.tS_6th_opt1 {
padding-top: 40px;
padding-bottom: 10px;
border-top-right-radius: 50px;
padding-right: 0px;
}
.tS_6th_opt1 h2 {
font-size: 4.8vw;
margin-bottom: 35px;
}
.tS_6th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 60px;
}
.tS_6th_opt1 ul.in_desc li.item h3 {
font-size: 3.6vw;
}

}


/*操作マニュアルPDFボタン*/
.tS_6th_opt1 ul.in_desc2 {
display: grid;
gap: 20px;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
margin-bottom: 80px;
}
.tS_6th_opt1 ul.in_desc2 li.item {
padding-top: 10px;
padding-bottom: 10px;
border: 1px solid #FF6478;
border-radius: 50px;
position: relative;
text-align: center;
color: #FF6478;
}
.tS_6th_opt1 ul.in_desc2 li.item p i {
width: 12px;
height: auto;
display: block;
position: absolute;
right: 25px;
top: 50%;
transform: translateY(-50%);
transition: all 0.3s;
}
.tS_6th_opt1 ul.in_desc2 li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.tS_6th_opt1 ul.in_desc2 li.item:hover{
background-color: #FFEFF1;
z-index: 0;
}
.tS_6th_opt1 ul.in_desc2 li.item:hover p i{
right: 20px;
}



/*サポート動画*/
.tS_6th_opt1 ul.in_desc3 {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr;
margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
.tS_6th_opt1 ul.in_desc3 {
gap: 30px;
grid-template-columns: 1fr;
margin-bottom: 60px;
}
.tS_6th_opt1 ul.in_desc3 li.item h3 {
font-size: 3.6vw;
}

}


/*115　よくある質問　サポート動画*/
.tS_6th_opt1 ul.in_desc4 {
display: grid;
gap: 40px 20px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 80px;
}
.tS_6th_opt1 ul.in_desc4 p.date {
text-align: right;
padding-top: 5px;
margin-top: 10px;
border-top: 1px solid #CCCCCC;
}
@media screen and (max-width: 767px) {
.tS_6th_opt1 ul.in_desc4 {
gap: 30px;
grid-template-columns: 1fr;
margin-bottom: 60px;
}
.tS_6th_opt1 ul.in_desc4 li.item h3 {
font-size: 3.6vw;
}

}



/*タームナビ　タグナビ　よくある質問*/
.movies_nav {
margin-bottom: 40px;
}
.movies_nav ul {
display: flex;
flex-wrap:wrap;
/*justify-content:center;*/
gap: 10px;
}

.movies_nav ul li a {
	font-size: 12px;
	padding-top: 8px;
	padding-bottom: 8px;
	padding-left: 20px;
	padding-right: 20px;
	color: #444444;
	border-radius: 30px;
	background-color: #FFFFFF;
	transition: all 0.3s;
	display: block;
	line-height: 1.6em;
	position: relative;
	font-variant: normal;
}


.movies_nav ul li.all a {
color: #0062B2;
border: 1px solid #0062B2;
}
.movies_nav ul li.all a:hover,.movies_nav ul li.all.current a,.movies_nav ul li.all.current-cat a {
color: #FFFFFF;
background-color: #0062B2;
text-decoration: none!important;
}
.movies_nav ul li.tv a {
color: #FF6478;
border: 1px solid #FF6478;
}
.movies_nav ul li.tv a:hover,.movies_nav ul li.tv.current a,.movies_nav ul li.tv.current-cat a {
color: #FFFFFF;
background-color: #FF6478;
text-decoration: none!important;
}

.movies_nav ul li.internet a {
color: #1EAFFF;
border: 1px solid #1EAFFF;
}
.movies_nav ul li.internet a:hover,.movies_nav ul li.internet.current a,.movies_nav ul li.internet.current-cat a {
color: #FFFFFF;
background-color: #1EAFFF;
text-decoration: none!important;
}

.movies_nav ul li.tel a {
color: #5ACDB4;
border: 1px solid #5ACDB4;
}
.movies_nav ul li.tel a:hover,.movies_nav ul li.tel.current a,.movies_nav ul li.tel.current-cat a {
color: #FFFFFF;
background-color: #5ACDB4;
text-decoration: none!important;
}

.movies_nav ul li.mobile a {
color: #0087B4;
border: 1px solid #0087B4;
}
.movies_nav ul li.mobile a:hover,.movies_nav ul li.mobile.current a,.movies_nav ul li.mobile.current-cat a {
color: #FFFFFF;
background-color: #0087B4;
text-decoration: none!important;
}
/*でんき*/
.movies_nav ul li.denki a {
color: #FAC900;
border: 1px solid #FAC900;
}
.movies_nav ul li.denki a:hover,.movies_nav ul li.denki.current a,.movies_nav ul li.denki.current-cat a {
color: #FFFFFF;
background-color: #FAC900;
text-decoration: none!important;
}
/*eテレビStick*/
.movies_nav ul li.stick a {
color: #4B8CE6;
border: 1px solid #4B8CE6;
}
.movies_nav ul li.stick a:hover,.movies_nav ul li.stick.current a,.movies_nav ul li.stick.current-cat a {
color: #FFFFFF;
background-color: #4B8CE6;
text-decoration: none!important;
}
/*ちょこっとレスキュー*/
.movies_nav ul li.rescue a {
color: #F08C02;
border: 1px solid #F08C02;
}
.movies_nav ul li.rescue a:hover,.movies_nav ul li.rescue.current a,.movies_nav ul li.rescue.current-cat a {
color: #FFFFFF;
background-color: #F08C02;
text-decoration: none!important;
}
.movies_nav ul li.other a {
color: #8296AA;
border: 1px solid #8296AA;
}
.movies_nav ul li.other a:hover,.movies_nav ul li.other.current a,.movies_nav ul li.other.current-cat a {
color: #FFFFFF;
background-color: #8296AA;
text-decoration: none!important;
}



@media screen and (max-width: 767px) {
.movies_nav {
margin-bottom: 20px;
}
.movies_nav ul li a {
padding-top: 10px;
padding-bottom: 10px;
font-size: 2.5vw;
}
}




/*サブナビ　よくある質問*/
.faq_Snav {
margin-bottom: 0px;
}
.faq_Snav ul {
display: flex;
flex-wrap:wrap;
/*justify-content:center;*/
gap: 10px;
}

.faq_Snav ul li a {
	font-size: 12px;
	padding-top: 8px;
	padding-bottom: 8px;
	padding-left: 20px;
	padding-right: 20px;
	color: #444444;
	background-color: #FFFFFF;
	transition: all 0.3s;
	display: block;
	line-height: 1.6em;
	border-radius: 8px;
	position: relative;
	text-align: center;
}


.faq_Snav ul li.s_tv a {
color: #FF6478;
border: 1px solid #FF6478;
}
.faq_Snav ul li.s_tv a:hover,.faq_Snav ul li.s_tv.current a,.faq_Snav ul li.s_tv.current-cat a {
color: #FFFFFF;
background-color: #FF6478;
text-decoration: none!important;
}

.faq_Snav ul li.s_internet a {
color: #1EAFFF;
border: 1px solid #1EAFFF;
}
.faq_Snav ul li.s_internet a:hover,.faq_Snav ul li.s_internet.current a,.faq_Snav ul li.s_internet.current-cat a {
color: #FFFFFF;
background-color: #1EAFFF;
text-decoration: none!important;
}

.faq_Snav ul li.s_tel a {
color: #5ACDB4;
border: 1px solid #5ACDB4;
}
.faq_Snav ul li.s_tel a:hover,.faq_Snav ul li.s_tel.current a,.faq_Snav ul li.s_tel.current-cat a {
color: #FFFFFF;
background-color: #5ACDB4;
text-decoration: none!important;
}

.faq_Snav ul li.s_mobile a {
color: #0087B4;
border: 1px solid #0087B4;
}
.faq_Snav ul li.s_mobile a:hover,.faq_Snav ul li.s_mobile.current a,.faq_Snav ul li.s_mobile.current-cat a {
color: #FFFFFF;
background-color: #0087B4;
text-decoration: none!important;
}

@media screen and (max-width: 767px) {
.faq_Snav {
	margin-bottom: 20px;
	margin-top: 10px;
}
.faq_Snav ul {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
}
.faq_Snav ul li a {
padding-top: 10px;
padding-bottom: 10px;
font-size: 2.5vw;
}
}




/*タームナビ　タグナビ　サポート動画*/
.movies_nav2 {
margin-bottom: 40px;
}
.movies_nav2 ul {
display: flex;
flex-wrap:wrap;
/*justify-content:center;*/
gap: 10px;
}

.movies_nav2 ul li a {
font-size: 12px;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 20px;
padding-right: 20px;
color: #444444;
border-radius: 30px;
background-color: #FFFFFF;
transition: all 0.3s;
display: block;
line-height: 1.6em;
position: relative;
}


.movies_nav2 ul li:nth-child(1) a {
color: #0062B2;
border: 1px solid #0062B2;
}
.movies_nav2 ul li:nth-child(1) a:hover,.movies_nav2 ul li:nth-child(1).current a,.movies_nav2 ul li:nth-child(1).current-cat a {
color: #FFFFFF;
background-color: #0062B2;
text-decoration: none!important;
}
.movies_nav2 ul li:nth-child(2) a {
color: #FF6478;
border: 1px solid #FF6478;
}
.movies_nav2 ul li:nth-child(2) a:hover,.movies_nav2 ul li:nth-child(2).current a,.movies_nav2 ul li:nth-child(2).current-cat a {
color: #FFFFFF;
background-color: #FF6478;
text-decoration: none!important;
}

.movies_nav2 ul li:nth-child(3) a {
color: #1EAFFF;
border: 1px solid #1EAFFF;
}
.movies_nav2 ul li:nth-child(3) a:hover,.movies_nav2 ul li:nth-child(3).current a,.movies_nav2 ul li:nth-child(3).current-cat a {
color: #FFFFFF;
background-color: #1EAFFF;
text-decoration: none!important;
}

.movies_nav2 ul li:nth-child(4) a {
color: #5ACDB4;
border: 1px solid #5ACDB4;
}
.movies_nav2 ul li:nth-child(4) a:hover,.movies_nav2 ul li:nth-child(4).current a,.movies_nav2 ul li:nth-child(4).current-cat a {
color: #FFFFFF;
background-color: #5ACDB4;
text-decoration: none!important;
}

.movies_nav2 ul li:nth-child(5) a {
color: #0087B4;
border: 1px solid #0087B4;
}
.movies_nav2 ul li:nth-child(5) a:hover,.movies_nav2 ul li:nth-child(5).current a,.movies_nav2 ul li:nth-child(5).current-cat a {
color: #FFFFFF;
background-color: #0087B4;
text-decoration: none!important;
}

.movies_nav2 ul li:nth-child(6) a {
color: #8296AA;
border: 1px solid #8296AA;
}
.movies_nav2 ul li:nth-child(6) a:hover,.movies_nav2 ul li:nth-child(8).current a,.movies_nav2 ul li:nth-child(8).current-cat a {
color: #FFFFFF;
background-color: #8296AA;
text-decoration: none!important;
}



@media screen and (max-width: 767px) {
.movies_nav2 {
margin-bottom: 20px;
}
.movies_nav2 ul li a {
padding-top: 10px;
padding-bottom: 10px;
font-size: 2.5vw;
}
}


/*インナビ　タグナビ*/
.in_Mnav {
margin-top: 10px;
margin-bottom: 10px;
}
.in_Mnav ul {
display: flex;
flex-wrap:wrap;
/*justify-content:center;*/
gap: 10px;
}
.in_Mnav ul li {
font-size: 11px;
padding-left: 10px;
padding-right: 10px;
color: #FFFFFF;
border-radius: 30px;
transition: all 0.3s;
display: block;
line-height: 1.5em;
position: relative;
padding-top: 2px;
padding-bottom: 2px;
}
/*.in_Mnav.comm ul li a {
background-color: #FFFFFF;
}
.in_Mnav ul li a:hover {
color: #FFFFFF;
background-color: #444444;
text-decoration: none!important;
}*/

/*.tS_6th_opt1.all .in_Mnav ul li {
background-color: #0062B2;
}*/
.tS_6th_opt1.tv .in_Mnav ul li {
background-color: #FF6478;
}
.tS_6th_opt1.internet .in_Mnav ul li {
background-color: #1EAFFF;
}
.tS_6th_opt1.tel .in_Mnav ul li {
background-color: #5ACDB4;
}
.tS_6th_opt1.mobile .in_Mnav ul li {
background-color: #0087B4;
}
.tS_6th_opt1.other .in_Mnav ul li {
background-color: #8296AA;
}


.in_Mnav.tv ul li {
background-color: #FF6478;
}
.in_Mnav.internet ul li {
background-color: #1EAFFF;
}
.in_Mnav.tel ul li {
background-color: #5ACDB4;
}
.in_Mnav.mobile ul li {
background-color: #0087B4;
}
.in_Mnav.other ul li {
background-color: #8296AA;
}

@media screen and (max-width: 767px) {
.in_Mnav {
}
.in_Mnav ul li a {
padding-top: 3px;
padding-bottom: 3px;
font-size: 2.5vw;
}

}



/*002　サービス*/
.tS_7th {
padding-top: 30px;
padding-bottom: 30px;
width: 100%;
margin-right: auto;
margin-left: 0px;
margin-top: 0px;
position: relative;
/*margin-bottom: 100px;*/
border-top-right-radius: 100px;
background-color: #FFE8EB;
}
@media screen and (max-width: 767px) {
.tS_7th {
padding-top: 20px;
padding-bottom: 20px;
margin-top: 0px;
border-top-right-radius: 70px;
}
}


/*オプション*/
.tS_7th_opt1 {
padding-top: 40px;
padding-bottom: 0px;
width: 95%;
margin-right: 0px;
margin-left: auto;
background-color: #FFFFFF;
border-top-left-radius: 80px;
box-shadow: 0 3px 10px rgba(0,0,0,0.1);
margin-bottom: 60px;
}

.tS_7th_opt1.pt_rev {
width: 95%;
margin-right: auto;
margin-left: 0px;
border-top-left-radius: 0px;
box-shadow: 0 3px 10px rgba(0,0,0,0.1);
border-top-right-radius: 80px;
}

.tS_7th_opt1 ul.in_desc {
display: grid;
gap: 50px;
grid-template-columns: 1.2fr 1fr;
margin-bottom: 0px;
width: 95%;
margin-left: auto;
margin-right: auto;
}
.tS_7th_opt1.pt_rev ul.in_desc {
grid-template-columns: 1fr 1.2fr;
}

.tS_7th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
transform: translateY(-25%);
}
.tS_7th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_7th_opt1 ul.in_desc li.item {
position: relative;
transition: all 0.3s;
}

/*無線*/
.tS_7th_opt1 ul.in_desc li.item.wifi {
display:flex;
align-items:center;
}

.tS_7th_opt1 ul.in_desc li.item h3 {
font-size: 16px;
font-weight: bold;
margin-bottom: 20px;
}
.tS_7th_opt1 ul.in_desc li.item p {
margin-bottom: 40px;
}
.tS_7th_opt1 ul.in_desc li.item p span.note {
	display: block;
	font-size: 11px;
	margin-top: 10px;
}


@media screen and (max-width: 820px) {
.tS_7th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr 1fr;
width: 100%;
margin-bottom: 30px;
}
}
@media screen and (max-width: 767px) {
.tS_7th_opt1 {
padding-top: 30px;
padding-bottom: 10px;
border-top-left-radius: 40px;
margin-bottom: 40px;
}
.tS_7th_opt1.pt_rev {
width: 95%;
margin-right: auto;
margin-left: 0px;
border-top-right-radius: 40px;
}
.tS_7th_opt1 ul.in_desc {
gap: 10px;
grid-template-columns: 1fr;
}
.tS_7th_opt1.pt_rev ul.in_desc {
grid-template-columns: 1fr;
}

.tS_7th_opt1 ul.in_desc li.item {
padding-bottom: 0px;
}
.tS_7th_opt1 figure {
transform: translateY(0%);
transform: translateX(6%);
}
.tS_7th_opt1.pt_rev figure {
transform: translateY(0%);
transform: translateX(-6%);
}
.tS_7th_opt1.pt_rev ul.in_desc li.item.area1 {
grid-row: 2 / 3;
grid-column: 1 / 2;
}
.tS_7th_opt1.pt_rev ul.in_desc li.item.area2 {
grid-row: 1 / 2;
grid-column: 1 / 2;
}
.tS_7th_opt1 ul.in_desc li.item h3 {
font-size: 4.4vw;
}
.tS_7th_opt1 ul.in_desc li.item p {
font-size: 3vw;
margin-bottom: 20px;
}
}




/*サービス　インターネット　推奨速度*/
.tS_7th_opt2 {
padding-top: 40px;
padding-bottom: 40px;
width: 95%;
margin-right: 0px;
margin-left: auto;
background-color: #FFFFFF;
border-top-left-radius: 80px;
box-shadow: 0 3px 10px rgba(0,0,0,0.1);
margin-bottom: 60px;
}
.tS_7th_opt2 ul.in_desc {
display: grid;
gap: 50px;
grid-template-columns: 1fr 2.5fr;
width: 95%;
margin-left: auto;
margin-right: auto;
}
.tS_7th_opt2 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_7th_opt2 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_7th_opt2 ul.in_desc li.item {
position: relative;
transition: all 0.3s;
}
.tS_7th_opt2 h3 {
font-size: 16px;
font-weight: bold;
margin-bottom: 20px;
width: 95%;
margin-left: auto;
margin-right: auto;
}
.tS_7th_opt2 ul.in_desc li.item p {
margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
.tS_7th_opt2 {
padding-top: 30px;
padding-bottom: 10px;
border-top-left-radius: 40px;
margin-bottom: 40px;
}
.tS_7th_opt2 ul.in_desc {
gap: 10px;
grid-template-columns: 1fr;
}
.tS_7th_opt2 ul.in_desc li.item {
padding-bottom: 0px;
}
.tS_7th_opt2 figure {
}
.tS_7th_opt2 ul h3 {
font-size: 4.4vw;
}
.tS_7th_opt2 ul.in_desc li.item p {
font-size: 3vw;
margin-bottom: 20px;
}
}




/*修正オプション 
002_テレビサービス
009_インターネットサービス（有線）
*/
.tS_7th_opt3 {
	padding-top: 0px;
	padding-bottom: 0px;
	margin-bottom: 60px;
}

.tS_7th_opt3 ul.in_desc {
display: grid;
gap: 0px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 0px;
}
.tS_7th_opt3 ul.in_desc.Gd4 {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.tS_7th_opt3 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_7th_opt3 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_7th_opt3 ul.in_desc li.item {
position: relative;
transition: all 0.3s;
}
@media screen and (max-width: 767px) {
.tS_7th_opt3 {

}
.tS_7th_opt3 ul.in_desc {
gap: 10px;
grid-template-columns: 1fr;
}
.tS_7th_opt3 ul.in_desc.Gd4 {
gap: 0px;
grid-template-columns: 1fr;
}

.tS_7th_opt3 ul.in_desc li.item {
padding-bottom: 0px;
}

}






/*サービス　テレビ　ご利用料金　タブ設定*/
.tS_8th {
padding-top: 30px;
padding-bottom: 30px;
width: 100%;
margin-right: auto;
margin-left: 0px;
margin-top: 0px;
position: relative;
margin-bottom: 40px;
border-top-left-radius: 100px;
background-color: #FFFFFF;
}

.tS_8th p.guide {
font-weight: bold;
font-size: 20px;
line-height: 1.6;
text-align: center;
margin-bottom: 40px;
}

.tS_8th p.guide .icon {
display: inline-block;
width: 1.2em;
height: auto;
vertical-align: middle;
margin: 0 0.2em;
}

.tS_8th p.guide .icon img {
width: 100%;
height: auto;
display: block;
}

@media screen and (max-width: 767px) {
.tS_8th {
padding-top: 20px;
padding-bottom: 20px;
margin-top: 0px;
border-top-left-radius: 70px;
}

.tS_8th p.guide {
font-size: 4.4vw;
margin-bottom: 30px;
}

}


/*愛南料金*/
.cs_Ainan {
	padding: 40px;
	border: 3px solid #FF6478;
	border-radius: 15px;
	margin-top: 40px;
}
.cs_Ainan .T_ainan {
	font-size: 23px;
	font-weight: bold;
	margin-bottom: 30px;
}
.cs_Ainan .T_ainan strong {
	color: #FF6478;
}
.cs_Ainan figure {
	width: 75%!important;
	margin-left: auto;
	margin-right: auto;
}
.cs_Ainan figure img {
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 767px) {
.cs_Ainan {
	padding: 25px;
	margin-top: 20px;
}
.cs_Ainan .T_ainan {
	font-size: 4.8vw;
	margin-bottom: 20px;
	text-align: center;
	line-height: 1.5em;
}
.cs_Ainan figure {
	width: 100%!important;
}
}


/*オプション*/
.tS_8th_opt1 {
padding-top: 0px;
padding-bottom: 0px;
}
.tS_8th_opt1 .in_tab {
	padding: 30px;
	border: 3px solid #FF6478;
	border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px;
}

.tS_8th_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
margin-bottom: 30px;
}
.tS_8th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_8th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_8th_opt1 ul.in_desc li.item {
padding-top: 20px;
border: 1px solid #CCCCCC;
position: relative;
text-align: center;
border-top-left-radius: 50px;
}
.tS_8th_opt1 ul.in_desc li.item h3 {
font-size: 18px;
font-weight: bold;
margin-bottom: 5px;
padding-bottom: 10px;
border-bottom: 1px solid #CCCCCC;
width: 80%;
margin-left: auto;
margin-right: auto;
}
.tS_8th_opt1 ul.in_desc li.item h3 span {
	display: none;
}
.tS_8th_opt1 ul.in_desc li.item p.price{
padding-top: 10px;
padding-bottom: 10px;
}
.tS_8th_opt1 ul.in_desc li.item p.price strong {
font-size: 20px;
color: #FF6478;
font-weight: bold;
}


/*STBチューナー*/
.i_option {
display: flex;
flex-wrap: wrap;
justify-content:center;
gap: 5px;
background-color: #595757;
padding-top: 14px;
padding-bottom: 14px;
}
.i_option .thing {
font-size: 10px;
padding-left: 10px;
padding-right: 10px;
color: #FFFFFF;
border-radius: 30px;
transition: all 0.3s;
display: block;
line-height: 1.5em;
position: relative;
padding-top: 2px;
padding-bottom: 2px;
background-color: #FF6478;
}
.i_option .thing.not_a {
background-color: #FFC1C9;
}
@media screen and (max-width: 767px) {
.i_option {
}
.i_option ul li {
padding-top: 3px;
padding-bottom: 3px;
font-size: 2.5vw;
}

}


@media screen and (max-width: 820px) {
.tS_8th_opt1 ul.in_desc {
gap: 20px;
}
}
@media screen and (max-width: 767px) {
.tS_8th_opt1 {
padding-top: 0px;
padding-bottom: 0px;
}
.tS_8th_opt1 .in_tab {
padding: 25px;
}

.tS_8th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 20px;
}
.tS_8th_opt1 ul.in_desc li.item h3 {
font-size: 3.6vw;
margin-bottom: 0px;
padding-bottom: 10px;
border-bottom: 0px solid #CCCCCC;
}
.tS_8th_opt1 ul.in_desc li.item h3 span {
	font-size: 10px;
	border-radius: 40px;
	background-color: #FF6478;
	color: #FFFFFF;
	padding-left: 10px;
	padding-right: 10px;
	font-weight: normal;
	margin-left: 20px;
	display: inline-block;
}
.tS_8th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}

.tS_8th_opt1 figure.product {
	display: none;
}
}



/*チャンネルパック*/
.tS_8th_opt1 ul.in_desc2 {
display: grid;
gap: 30px 20px;
/*grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));*/
grid-template-columns: 1fr 1fr 1fr 1fr;
margin-bottom: 30px;
}
.tS_8th_opt1 ul.in_desc2 li.item {

}

/*おすすめパック*/
.tS_8th_opt1 ul.in_desc2 li.item:nth-child(1) {
	grid-row: 1 / 2;
	grid-column: 1 / 5;
	width: 43%;
	margin-left: auto;
	margin-right: auto;
}

.tS_8th_opt1 ul.in_desc2 li.item .r_pack {
padding-top: 20px;
border: 1px solid #CCCCCC;
position: relative;
text-align: center;
border-top-left-radius: 50px;
margin-bottom: 10px;
}
.tS_8th_opt1 ul.in_desc2 li.item h3 {
font-size: 18px;
font-weight: bold;
margin-bottom: 10px;
margin-left: auto;
margin-right: auto;
}
.tS_8th_opt1 ul.in_desc2 li.item p.ch{
display: block;
width: 80%;
margin-left: auto;
margin-right: auto;
line-height: 1.8em;
margin-bottom: 10px;
}
.tS_8th_opt1 ul.in_desc2 li.item p.ch span{
display: block;
border-radius: 50px;
background-color: #000000;
color: #FFFFFF;
padding-top: 7px;
padding-bottom: 7px;
margin-bottom: 10px;
}

.tS_8th_opt1 ul.in_desc2 li.item p.note{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.8em;
	margin-top: 10px;
	font-size: 10px;
}
.tS_8th_opt1 p.ai_note{
	text-align: right;
}

/*おすすめパック*/
.tS_8th_opt1 ul.in_desc2 li.item:nth-child(1) p.ch span{
	width: 50%;
	margin-left: auto;
	margin-right: auto;
}

.tS_8th_opt1 ul.in_desc2 li.item p.price{
padding-top: 10px;
padding-bottom: 10px;
color: #FFFFFF;
}
.tS_8th_opt1 ul.in_desc2 li.item p.price strong {
font-size: 20px;
font-weight: bold;
}


.tS_8th_opt1 ul.in_desc2 li.item.area1 p.ch span {
background-color: #FF5471;
}
.tS_8th_opt1 ul.in_desc2 li.item.area1 p.price{
background-color: #FF5471;
}

.tS_8th_opt1 ul.in_desc2 li.item.area2 p.ch span {
background-color: #BEAF65;
}
.tS_8th_opt1 ul.in_desc2 li.item.area2 p.price{
background-color: #BEAF65;
}

.tS_8th_opt1 ul.in_desc2 li.item.area3 p.ch span {
background-color: #64AFDC;
}
.tS_8th_opt1 ul.in_desc2 li.item.area3 p.price{
background-color: #64AFDC;
}

.tS_8th_opt1 ul.in_desc2 li.item.area4 p.ch span {
background-color: #FFF038;
color: #000000;
}
.tS_8th_opt1 ul.in_desc2 li.item.area4 p.price{
background-color: #FFF038;
color: #000000;
}

.tS_8th_opt1 ul.in_desc2 li.item.area5 p.ch span {
background-color: #B4A0CD;
}
.tS_8th_opt1 ul.in_desc2 li.item.area5 p.price{
background-color: #B4A0CD;
}

.tS_8th_opt1 ul.in_desc2 li.item p.ch_btn a{
	border-radius: 50px;
	border: 1px solid #CCCCCC;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	position: relative;
	display: block;
	font-size: 12px;
}
/*おすすめパック*/
.tS_8th_opt1 ul.in_desc2 li.item:nth-child(1) p.ch_btn a{
width: 60%;
}

.tS_8th_opt1 ul.in_desc2 li.item p.ch_btn i{
width: 12px;
height: auto;
display: block;
position: absolute;
right: 15px;
top: 50%;
transform: translateY(-50%);
transition: all 0.3s;
}
.tS_8th_opt1 ul.in_desc2 li.item p.ch_btn a:hover{
background-color: #FFEFF1;
z-index: 0;
text-decoration: none;
}
.tS_8th_opt1 ul.in_desc2 li.item p.ch_btn a:hover i{
right: 12px;
}


@media screen and (max-width: 1250px) {
.tS_8th_opt1 ul.in_desc2 {
gap: 40px 30px;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.tS_8th_opt1 ul.in_desc2 li.item:nth-child(1) {
	grid-row: auto;
	grid-column: auto;
	width: 100%;
}
/*おすすめパック*/
.tS_8th_opt1 ul.in_desc2 li.item:nth-child(1) p.ch span{
	width: auto;
}
.tS_8th_opt1 ul.in_desc2 li.item:nth-child(1) p.ch_btn a{
width: 90%;
}
}

@media screen and (max-width: 820px) {
.tS_8th_opt1 ul.in_desc2 {
gap: 20px;
}
}
@media screen and (max-width: 767px) {
.tS_8th_opt1 {
padding-top: 0px;
padding-bottom: 0px;
}

.tS_8th_opt1 ul.in_desc2 {
gap: 40px;
grid-template-columns: 1fr;
margin-bottom: 20px;
}
.tS_8th_opt1 ul.in_desc2 li.item h3 {
font-size: 3.6vw;
}
.tS_8th_opt1 ul.in_desc2 li.item p {
font-size: 3vw;
}

.tS_8th_opt1 p.ai_note{
	text-align: left;
	font-size: 2.5vw;
}

}


/*計算*/
.calc {
width: 50px;
height: auto;
margin-left: auto;
margin-right: auto;
margin-bottom: 30px;
}
.calc2 {
border-radius: 80px;
border: 4px solid #FF6478;
text-align: center;
width: fit-content;
margin-left: auto;
padding-top: 15px;
padding-right: 30px;
padding-bottom: 18px;
margin-right: auto;
padding-left: 30px;
margin-bottom: 40px;
}
.calc2 p {
font-size: 20px;
font-weight: normal;
}
.calc2 p strong {
font-size: 40px;
font-weight: bold;
color: #FF6478;
}
.calc2 p span {
color: #FF6478;
}
@media screen and (max-width: 767px) {
.calc {
width: 40px;
margin-bottom: 20px;
}
.calc2 {
margin-bottom: 20px;
}
.calc2 p {
font-size: 3vw;
}
.calc2 p strong {
font-size: 7.15vw;
}
}


/*対応物件*/
.taiobukken {
text-align: center;
margin: 30px 0;
}

.taiobukken a {
display: inline-block;
background-color: #FF6478;
color: #fff;
font-weight: bold;
text-decoration: none;
padding: 20px 80px 20px 40px;
border-radius: 15px; 
font-size: 14px;
line-height: 1.5;
position: relative;
}
.taiobukken a span {
color: #fff200;
}
.taiobukken a::before{
content: "";
position: absolute;
top: 50%;
right: 20px;
width: 20px;
height: 20px;
background: #FFFFFF;
border-radius: 50%;
transform: translateY(-50%);
}
.taiobukken a::after{
content: "";
position: absolute;
top: 50%;
right: 28px; 
width: 4px;
height: 4px;
border-top: 2px solid #FF6478;
border-right: 2px solid #FF6478;
transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 767px) {
.taiobukken {
text-align: center;
margin: 20px 0;
}
.taiobukken a {
padding: 15px 40px 15px 20px;
font-size: 3.3vw;
text-align: left;
}
.taiobukken a::before{
right: 15px;
}
.taiobukken a::after{
right: 23px; 
}
}






/* --- 料金カード用 チェックUI --- */
.tS_8th_opt1 li.item{
position: relative;
}

/* 実体のチェックボックスは視覚的に隠す */
.svcCheck{
position:absolute;
opacity:0;
pointer-events:none;
}

/* ▼ 角丸四角のチェックボックス（ライン=グレー、チェック=ピンク） */
.card-check{
position:absolute;
right:12px; top:12px;
width:22px; height:22px;
border:3px solid #6f6f6f;   /* グレーの枠線 */
border-radius:8px;           /* 角丸の四角 */
background:#fff;
display:inline-block;
cursor:pointer;
/*transition:box-shadow .2s, transform .1s;*/
}

/* ✓ の描画（既定＝薄いピンクを常に表示） */
.card-check::after{
content: "";
position: absolute;
top: -4px;
right: -2px;
width: 10px;
height: 16px;
border-right: 4px solid rgba(255,100,120,.28); /* 薄いピンク */
border-bottom: 4px solid rgba(255,100,120,.28);
transform: rotate(45deg);
transition: border-color .15s, opacity .15s;
opacity: 1;                   /* 未チェックでも見せる */
}
.card-check::before{
content: "";
position: absolute;
top: 0px;
right: -5px;
width: 10px;
height: 15px;
opacity: 1;
background-color: #FFFFFF;
}

/* チェック時＝ピンクを濃くする */
.svcCheck:checked + .card-check::after{
border-right-color:#FF6478;
border-bottom-color:#FF6478; /* 濃いピンク */
opacity:1;
}

/* アクセシビリティ（キーボード操作時のフォーカス） */
.svcCheck:focus + .card-check{
/*box-shadow:0 0 0 3px rgba(255,100,120,.25);*/
}

/* 押下フィードバック（任意） */
.card-check:active{ transform:scale(.96); }








/* 合計表示ボックス（JSで挿入） */
.totalBox{
border-radius:80px;
border:4px solid #222;
text-align:center;
width:fit-content;
margin:0 auto 10px;
padding:14px 28px 16px;
}
.totalBox p{ font-size:20px; }
.totalBox strong{ font-size:40px; font-weight:700; color:#222; }
.totalBox span{ color:#222; }

@media (max-width:767px){
.totalBox p{ font-size:3vw; }
.totalBox strong{ font-size:7.15vw; }
}





/*チャンネルパック　モーダル*/
.tS_9th_opt {
padding-top: 50px;
padding-bottom: 0px;
width: 100%;
}

.tS_9th_opt h3 {
font-size: 20px;
position: relative;
margin-bottom: 30px;
z-index: 1;
}
.tS_9th_opt h3 span {
background-color: #FFFFFF;
padding-left: 0px;
padding-right: 20px;
}
.tS_9th_opt h3::after {
position: absolute;
top: 50%;
transform: translateY(-50%);
content: '';
width: 100%;
height: 1px;
left: 0px;
border-bottom: 1px solid #AAAAAA;
z-index: -1;
}

.tS_9th_opt ul.in_desc {
display: grid;
gap: 20px;
/*grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));*/
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
margin-bottom: 60px;
}

.tS_9th_opt ul.in_desc li.item {
position: relative;
}
.tS_9th_opt figure {
width: 100%;
margin-left: auto;
margin-right: auto;
border: 1px solid #CCCCCC;
margin-bottom: 10px;
}
.tS_9th_opt figure img {
width: 100%;
height: auto;
display: block;
}
.tS_9th_opt ul.in_desc li.item h3 {
font-size: 18px;
font-weight: bold;
margin-bottom: 5px;
}
.tS_9th_opt ul.in_desc li.item p {
padding-left: 4em;
text-indent: -4em;
line-height: 1.3em;
font-size: 11px;
font-weight: 400;
}

@media screen and (max-width: 767px) {
.tS_9th_opt {
padding-top: 20px;
padding-bottom: 0px;
}
.tS_9th_opt h3 {
margin-right: 0;
margin-left: 0;
margin-bottom: 20px;
font-size: 4.4vw;
}

.tS_9th_opt ul.in_desc {
gap: 10px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 40px;
}
.tS_9th_opt ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.tS_9th_opt ul.in_desc li.item p {
font-size: 2.3vw;
}
}




/*チャンネルパック　モーダル*/
.in_chpack {
width: 100%;
padding-right: 70px;
padding-left: 70px;
padding-bottom: 70px;
padding-top: 60px;
}
.in_chpack h2 {
font-size: 25px;
font-weight: bold;
margin-bottom: 0px;
text-align: center;
}
.in_chpack h2 span {
font-weight: normal;
font-size: 13px;
display: block;
}

.in_chpack p {
font-size: 13px;
font-weight: 100;
margin-bottom: 0px;
}

.in_chpack p strong {
font-size: 15px;
font-weight: 700;
}

@media screen and (max-width: 767px) {
.in_chpack {
padding: 30px;
}
.in_chpack h2 {
font-size:5.8vw;
}
.in_chpack h2 span {
font-size: 3vw;
text-align: left;
}
.in_chpack p {
font-size: 3.3vw;
}

.in_chpack p strong {
font-size: 3.5vw;
}
}



/*NHK衛生受信料*/
p.nhk_fee a{
	border-radius: 50px;
	border: 1px solid #FF6478;
	width: 70%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	position: relative;
	display: block;
	margin-bottom: 40px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 16px;
	font-weight: 400;
}
p.nhk_fee i{
width: 15px;
height: auto;
display: block;
position: absolute;
right: 25px;
top: 50%;
transform: translateY(-50%);
transition: all 0.3s;
}
p.nhk_fee a:hover{
background-color: #FFEFF1;
z-index: 0;
text-decoration: none;
}
p.nhk_fee a:hover i{
right: 20px;
}
@media screen and (max-width: 767px) {
p.nhk_fee a{
width: 80%;
font-size: 3.3vw;
}
}




/*NHK衛星受信料　モーダル*/
.in_NHK {
width: 100%;
padding: 70px;
box-sizing: border-box;
}
.in_NHK h2 {
font-size: 25px;
font-weight: bold;
margin-bottom: 20px;
}
.in_NHK h2 span {
font-weight: normal;
font-size: 13px;
display: block;
}

.in_NHK figure {
width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 30px;
}
.in_NHK figure img {
width: 100%;
height: auto;
display: block;
}
.in_NHK p {
font-size: 13px;
margin-bottom: 0px;
}
.in_NHK p strong {
font-size: 15px;
font-weight: 700;
}
.in_NHK p.price {
	margin-bottom: 10px;
	border-radius: 50px;
	background-color: #FF5471;
	color: #FFFFFF;
	padding-left: 20px;
	padding-right: 20px;
	width: fit-content;
}
@media screen and (max-width: 767px) {
.in_NHK {
padding-right: 30px;
padding-left: 30px;
padding-bottom: 30px;
padding-top: 40px;
}
.in_NHK h2 {
font-size: 5vw;
margin-bottom: 30px;
}
.in_NHK h2 span {
font-size: 3vw;
text-align: left;
line-height: 1.8em;
margin-top: 15px;
}

.in_NHK p {
font-size: 3.3vw;
}

.in_NHK p strong {
font-size: 3.5vw;
}
}


/* ====== Modaal × 表だけ横スクロール：スマホ専用パッチ　NHKのモーダルのみ ====== */
@media (max-width: 767px){

/* 1) Modaal の横拡張要因を無効化 */
.page-id-70 .modaal-wrapper{
overflow-x: hidden !important;    /* 両軸→横禁止 */
-webkit-overflow-scrolling: touch;
touch-action: pan-y !important;   /* 縦だけ */
}
.page-id-70 .modaal-outer-wrapper{
display: block !important;        /* table → block に */
width: 100% !important;
height: 100% !important;
}
.page-id-70 .modaal-inner-wrapper{
display: block !important;        /* table-cell → block に */
text-align: left !important;
padding: 40px 0 !important;       /* 既存の左右余白をゼロ化 */
}
.page-id-70 .modaal-container,
.page-id-70 .modaal-content-container{
max-width: 100% !important;
width: 100% !important;
min-width: 0 !important;          /* 子要素のmin-content幅で広がらない */
overflow-x: hidden !important;    /* 横は出さない */
box-sizing: border-box;
}

/* 2) NHKセクションの横方向は閉じる */
#info-nhk,
#info-nhk .in_NHK{
max-width: 100% !important;
min-width: 0 !important;
overflow-x: hidden !important;
touch-action: pan-y !important;
}

/* 3) 表だけ横スクロールを許可 */
.in_NHK figure.nhk-table{
position: relative;
width: 100%;
margin: 0 auto 30px;
overflow-x: auto !important;      /* ←ここだけ横OK */
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
touch-action: pan-x pinch-zoom;   /* 横パン許可 */
}
.in_NHK figure.nhk-table img{
display: block;
height: auto;
width: auto !important;           /* 既存の width:100% を打ち消す */
max-width: none !important;
min-width: 800px;                 /* 画像の実寸に合わせて 800–1200pxで調整 */
}

/* 4) 横スクロールのヒント（任意） */
.in_NHK figure.nhk-table::after{
content: "";
position: absolute; left:50%; top:50%;
transform: translate(-50%,-50%);
width:100px; height:100px;
background:url("../parts/i_scroll.svg") center/contain no-repeat;
opacity:0; pointer-events:none; transition:opacity .2s;
}
.in_NHK figure.nhk-table.has-hint::after{ opacity:1; }
}




/* === 表の横スクロール & アイコンヒント　モーダルなしの場合はシンプルに === */
/*.in_NHK figure{
position: relative;
overflow-x: auto; 
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}*/

/* 初期は非表示。モバイル時に .has-hint を付けて表示する */
/*.in_NHK figure::after{
content: "";
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
width: 100px;
height: 100px;
background: url("../parts/i_scroll.svg") center/contain no-repeat;
opacity: 0;
pointer-events: none;
transition: opacity .2s ease;
}*/

/* ヒント表示中 */
/*.in_NHK figure.has-hint::after{ opacity:1; }*/

/* スマホ時は画像を“原寸以上”にして横スクロール可能にする */
/*@media (max-width: 767px){
.in_NHK figure img{
display:block;
height:auto;
max-width:none;
min-width: 800px;
}
}*/



/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
display: none;
}
.modaal-container {
/*padding: 30px;*/
background: #fff;
border-radius: 0px!important;
box-sizing: border-box;
}

/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
background:#666;
}
@media screen and (max-width: 767px) {
.modaal-container {
padding: 0px;
}
}





/*サービス　お問い合わせ　TV*/
.cont_serv {
padding-top: 80px;
padding-bottom: 80px;
position: relative;
z-index: 0;
background-image: url("../parts/sv_conbg.webp");
background-position: center center;
background-size: cover;
background-repeat: no-repeat;
}
/*サービス　お問い合わせ　インターネット有線*/
.cont_serv.sv_I {
background-image: url("../parts/sv_i_conbg.webp");
}
/*サービス　お問い合わせ　でんき*/
.cont_serv.sv_D {
background-image: url("../parts/sv_d_conbg_b.webp");
}
/*サービス　お問い合わせ　インターネット無線*/
.cont_serv.sv_Ib {
background-image: url("../parts/sv_i_conbg_b.webp");
}
/*サービス　お問い合わせ　固定電話*/
.cont_serv.sv_Tel {
background-image: url("../parts/sv_tel_bg.webp");
}
/*サービス　お問い合わせ　パソコンスクール*/
.cont_serv.sv_school {
background-image: url("../parts/sv_i_schoolbg.webp");
}
/*サービス　お問い合わせ　モバイル*/
.cont_serv.sv_M {
background-image: url("../parts/sv_m_conbg.webp");
}
/*サービス　お問い合わせ　eてれびstick*/
.cont_serv.sv_Stick {
background-image: url("../parts/sv_stick_bg.webp");
}
.cont_serv h2 {
font-size: 20px;
text-align: center;
margin-bottom: 40px;
font-weight: bold;
}
@media screen and (max-width: 767px) {
.cont_serv {
padding-top: 50px;
padding-bottom: 50px;
background-image: url("../parts/sv_conbg_sp.webp");
}
/*サービス　お問い合わせ　インターネット有線*/
.cont_serv.sv_I {
background-image: url("../parts/sv_i_conbg_sp.webp");
}
/*サービス　お問い合わせ　でんき*/
.cont_serv.sv_D {
background-image: url("../parts/sv_d_conbg_b_sp.webp");
}
/*サービス　お問い合わせ　インターネット無線*/
.cont_serv.sv_Ib {
background-image: url("../parts/sv_i_conbg_b_sp.webp");
}
/*サービス　お問い合わせ　固定電話*/
.cont_serv.sv_Tel {
background-image: url("../parts/sv_tel_bg_sp.webp");
}
/*サービス　お問い合わせ　パソコンスクール*/
.cont_serv.sv_school {
background-image: url("../parts/sv_i_schoolbg_sp.webp");
}
/*サービス　お問い合わせ　モバイル*/
.cont_serv.sv_M {
background-image: url("../parts/sv_m_conbg_sp.webp");
}
/*サービス　お問い合わせ　eてれびstick*/
.cont_serv.sv_Stick {
background-image: url("../parts/sv_stick_bg_sp.webp");
}
.cont_serv h2 {
font-size: 4.8vw;
margin-bottom: 20px;
}
}

/*オプション*/
.cont_serv_opt1 {
width: 30%;
margin-left: auto;
margin-right: auto;
}
.cont_serv_opt1 ul.in_desc {
display: grid;
gap: 0px;
grid-template-columns: 1fr;
}
.cont_serv_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.cont_serv_opt1 figure img {
width: 100%;
height: auto;
display: block;
}


@media screen and (max-width: 767px) {
.cont_serv_opt1 {
width: 90%;
}

.cont_serv_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
}




/*018　端末ラインナップ*/
.tS_10th {
margin-top: 80px;
position: relative;
z-index: 0;
padding-bottom: 0px;
margin-bottom: 0px;
}
@media screen and (max-width: 767px) {
.tS_10th {
margin-top: 50px;
}
}

/*オプション*/
.tS_10th_opt1 {
padding-top: 100px;
padding-bottom: 120px;
border-top-left-radius: 100px;
background-color: #FFFFFF;
}
.tS_10th_opt1 ul.in_desc {
display: grid;
gap: 35px;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
width: 94%;
margin-left: auto;
margin-right: auto;
}
.tS_10th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}
.tS_10th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_10th_opt1 ul.in_desc li.item {
padding: 30px;
position: relative;
border-radius: 25px;
background-color: #E7EBEE;
}
.tS_10th_opt1 ul.in_desc li.item h3 {
font-size: 14px;
font-weight: bold;
margin-bottom: 20px;
text-align: left;
}
.tS_10th_opt1 ul.in_desc li.item .in_price {

}
.tS_10th_opt1 ul.in_desc li.item .in_price h4 {
background-color: #0087B4;
color: #FFFFFF;
border-radius: 50px;
text-align: center;
font-weight: 400;
}
.tS_10th_opt1 ul.in_desc li.item .in_price p:first-of-type {
margin-bottom: 10px;
}

.tS_10th_opt1 ul.in_desc li.item .in_price p {
text-align: center;
font-size: 12px;
font-weight: 300;
}
.tS_10th_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.tS_10th_opt1 ul.in_desc li.item:hover{

}
@media screen and (max-width: 820px) {

}
@media screen and (max-width: 767px) {
.tS_10th_opt1 {
padding-top: 40px;
padding-bottom: 60px;
border-top-left-radius: 90px;
}
.tS_10th_opt1 ul.in_desc {
width: 90%;
gap: 30px;
grid-template-columns: 1fr;
}
.tS_10th_opt1 ul.in_desc li.item h3 {
font-size: 3.3vw;
}
.tS_10th_opt1 ul.in_desc li.item h4 {
font-size: 3vw;
}
.tS_10th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
}




/*端末　モーダル*/
.in_mobile {
padding-top: 80px;
padding-bottom: 70px;
background-color: #F3F5F7;
padding-left: 30px;
padding-right: 30px;
}
.in_mobile ul.in_desc {
display: grid;
gap: 0px;
grid-template-columns: 1fr 1fr;
}
.in_mobile figure {
width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}
.in_mobile figure img {
width: 100%;
height: auto;
display: block;
}
.in_mobile ul.in_desc li.item {
padding: 30px;
position: relative;
}
.in_mobile ul.in_desc li.item h3 {
font-size: 14px;
font-weight: bold;
margin-bottom: 20px;
text-align: left;
}
.in_mobile ul.in_desc li.item .in_price {

}
.in_mobile ul.in_desc li.item .in_price h4 {
background-color: #0087B4;
color: #FFFFFF;
border-radius: 50px;
text-align: center;
font-weight: 400;
}
.in_mobile ul.in_desc li.item .in_price p:first-of-type {
margin-bottom: 10px;
}

.in_mobile ul.in_desc li.item .in_price p {
text-align: center;
font-size: 12px;
font-weight: 300;
}
@media screen and (max-width: 767px) {
.in_mobile {
padding-top: 30px;
padding-bottom: 20px;
padding-left: 0px;
padding-right: 0px;
}
.in_mobile ul.in_desc {
gap: 0px;
grid-template-columns: 1fr;
}
.in_mobile ul.in_desc li.item h3 {
font-size: 3.3vw;
}
.in_mobile ul.in_desc li.item h4 {
font-size: 3vw;
}
.in_mobile ul.in_desc li.item p {
font-size: 3vw;
}
}



/*OSナビボタン*/
.os_nav {
margin-bottom: 50px;
}
.os_nav ul {
display: flex;
flex-wrap:wrap;
justify-content:center;
gap: 30px;
}
.os_nav ul li a {
font-size: 15px;
padding-top: 7px;
padding-bottom: 7px;
color: #0087B4;
border-radius: 30px;
background-color: #FFFFFF;
transition: all 0.3s;
display: block;
line-height: 2em;
position: relative;
border: 1px solid #0087B4;
width: 300px;
text-align: center;
}
.os_nav ul li.current a {
background-color: #0087B4;
color: #FFFFFF;
}
.os_nav ul li a:hover {
color: #FFFFFF;
background-color: #0087B4;
text-decoration: none;
}
@media screen and (max-width: 767px) {
.os_nav {
margin-bottom: 30px;
}
.os_nav ul {
flex-direction: column;
align-items: center;
gap: 20px;
}

.os_nav ul li {
width: 80%;
margin-left: auto;
margin-right: auto;
}

.os_nav ul li a {
font-size: 3vw;
text-align: center;
}
}



/*端末保証*/
.lineup_hosho {
padding-top: 0px;
padding-bottom: 60px;
background-color: #FFFFFF;
width: 100%;
}

.lineup_hosho ul.in_desc {
/*display: grid;
gap: 50px;
grid-template-columns: 1fr;*/
margin-bottom: 60px;
width: 94%;
margin-left: auto;
margin-right: auto;
}
.lineup_hosho ul.in_desc li.item {
	margin-bottom: 50px;
}
.lineup_hosho figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.lineup_hosho figure img {
width: 100%;
height: auto;
display: block;
}
.lineup_hosho ul.in_desc li.item p.emphasis {
	color: #0087B4;
	font-weight: 500;
	font-size: 15px;
}

.lineup_hosho ul.in_desc li.item .in_txt {
margin-bottom: 30px;
}
.lineup_hosho ul.in_desc li.item h3 {
font-size: 18px;
font-weight: bold;
margin-bottom: 5px;
}
.lineup_hosho ul.in_desc li.item p strong {
	color: #0087B4;
	display: block;
	font-size: 15px;
}
@media screen and (max-width: 767px) {
.lineup_hosho {
padding-top: 0px;
padding-bottom: 30px;
}
.lineup_hosho ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
.lineup_hosho ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.lineup_hosho ul.in_desc li.item p {
font-size: 3vw;
}
}








/*009　サービス　インターネット*/
.tS_11th .news_Nv2 .item a {
background-color: #DDF3FF;
color: #888888;
}
.tS_11th .news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #1EAFFF;
border-right: 3px solid #1EAFFF;
border-left: 3px solid #1EAFFF;
color: #000000;
}
.tS_11th .news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #1EAFFF;
border-right: 3px solid #1EAFFF;
border-left: 3px solid #1EAFFF;
}


/*OTOKU*/
.tS_11th.otoku .news_Nv2 .item a {
background-color: #F0DADA;
color: #888888;
}
.tS_11th.otoku .news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #9B0707;
border-right: 3px solid #9B0707;
border-left: 3px solid #9B0707;
color: #000000;
}
.tS_11th.otoku .news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #9B0707;
border-right: 3px solid #9B0707;
border-left: 3px solid #9B0707;
}

/*でんき*/
.tS_11th.denki .news_Nv2 .item a {
background-color: #FEF7D9;
color: #888888;
}
.tS_11th.denki .news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #FAC900;
border-right: 3px solid #FAC900;
border-left: 3px solid #FAC900;
color: #000000;
}
.tS_11th.denki .news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #FAC900;
border-right: 3px solid #FAC900;
border-left: 3px solid #FAC900;
}


/*009　サービス　インターネット　タブ設定*/
.tS_11th {
	padding-top: 30px;
	padding-bottom: 30px;
	width: 100%;
	margin-right: auto;
	margin-left: 0px;
	margin-top: 0px;
	position: relative;
	margin-bottom: 30px;
	border-top-left-radius: 100px;
	background-color: #FFFFFF;
}
/*033　OTOKU*/
.tS_11th.otoku {
padding-top: 80px;
}

/*186_ケーブルモバイルeすまほ　OpenGateMobile*/
.tS_11th.OGM .news_Nv2 .item a {
background-color: #D9EDF4;
color: #888888;
}
.tS_11th.OGM .news_Nv2 .item.active a {
background-color: #FFFFFF;
border-top: 3px solid #0087B4;
border-right: 3px solid #0087B4;
border-left: 3px solid #0087B4;
color: #000000;
}
.tS_11th.OGM .news_Nv2 .item a:hover {
background-color: #FFFFFF;
text-decoration: none;
border-top: 3px solid #0087B4;
border-right: 3px solid #0087B4;
border-left: 3px solid #0087B4;
}
/*186_ケーブルモバイルeすまほ　OpenGateMobile*/
.tS_11th.OGM {
padding-top: 80px;
}

@media screen and (max-width: 767px) {
.tS_11th {
padding-top: 20px;
padding-bottom: 20px;
margin-top: 0px;
border-top-left-radius: 70px;
margin-bottom: 20px;
}
/*033　OTOKU*/
.tS_11th.otoku {
padding-top: 40px;
}
}



/*オプション*/
.tS_11th_opt1 {
padding-top: 0px;
padding-bottom: 0px;
}
.tS_11th_opt1 p {
font-size: 14px;
font-weight: 400;
}
.tS_11th_opt1 .in_tab {
padding: 30px;
border: 3px solid #1EAFFF;
	border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px;
}
.otoku .tS_11th_opt1 .in_tab {
padding: 30px;
border: 3px solid #9B0707;
}
.denki .tS_11th_opt1 .in_tab {
padding: 30px;
border: 3px solid #FAC900;
}

/*186_ケーブルモバイルeすまほ　OpenGateMobile*/
.OGM .tS_11th_opt1 .in_tab {
padding: 30px;
border: 3px solid #0087B4;
}

.tS_11th_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
margin-bottom: 60px;
}
.tS_11th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_11th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_11th_opt1 ul.in_desc li.item {
padding-top: 20px;
position: relative;
}

/*ピカラコース*/
.tS_11th_opt1.pikara_C {
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 30px;
	border-radius: 15px;
	border: 3px solid #1EAFFF;
	margin-bottom: 40px;
	padding-top: 40px;
}

@media screen and (max-width: 767px) {
.tS_11th_opt1 {
padding-top: 0px;
padding-bottom: 0px;
}
.tS_11th_opt1 p {
font-size: 3vw;
}
.tS_11th_opt1 .in_tab {
padding: 25px;
}
.tS_11th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}

/*ピカラコース*/
.tS_11th_opt1.pikara_C {
	padding: 25px;
	margin-bottom: 40px;
}
}


/*パソコン教室　バナー*/
.svi_school {
padding-top: 80px;
padding-bottom: 80px;
width: 100%;
position: relative;
border-top-right-radius: 100px;
background-color: #FFFFFF;
}
.svi_school figure {
width: 70%;
margin-left: auto;
margin-right: auto;
}
.svi_school figure img {
width: 100%;
height: auto;
display: block;
box-shadow: 0 3px 10px rgba(0,0,0,0.2);
border-top-left-radius: 60px;
border-bottom-left-radius: 60px;
border-bottom-right-radius: 60px;
}

/*パソコン教室　修正バナー*/
.svi_school ul.in_desc {
	display: grid;
	gap: 50px;
	grid-template-columns: 1fr 1fr;
	width: 70%;
	margin-left: auto;
	margin-right: auto;
}
.svi_school ul.in_desc figure {
width: 100%;
}

@media screen and (max-width: 767px) {
.svi_school {
padding-top: 60px;
padding-bottom: 60px;
border-top-right-radius: 0px;
border-top-left-radius: 70px;
}
.svi_school figure {
width: 100%;
}

/*パソコン教室　修正バナー*/
.svi_school ul.in_desc {
	gap: 30px;
	grid-template-columns: 1fr;
	width: 100%;
}
}




/*インターネット　無線　料金ナビ*/
.tS_12th_opt1 {
padding-top: 0px;
padding-bottom: 80px;
}

.tS_12th_opt1 ul.in_desc {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 0px;
}
.tS_12th_opt1 ul.in_desc li.item {
	padding-top: 15px;
	padding-left: 40px;
	padding-bottom: 15px;
	position: relative;
	border-radius: 80px;
	background-color: #DDF3FF;
	padding-right: 40px;
	transition: all 0.3s;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #878787;
}
.tS_12th_opt1 ul.in_desc li.item h3 {
font-size: 17px;
font-weight: bold;
text-align: center;
}
.tS_12th_opt1 ul.in_desc li.item h3 span {
	display: none;
}
.tS_12th_opt1 ul.in_desc li.item p {
font-size: 12px;
font-weight: 400;
line-height: 1.8em;
text-align: center;
}
.tS_12th_opt1 ul.in_desc li.item p span {
	font-size: 14px;
	font-weight: bold;
	display: block;
}
.tS_12th_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.tS_12th_opt1 ul.in_desc li.item:hover{
z-index: 0;
background-color: #1EAFFF;
color: #FFFFFF;
}


/* 青い丸（::before） */
.tS_12th_opt1 ul.in_desc li.item::before{
content: "";
position: absolute;
top: 50%;
right: 20px;
width: 20px;
height: 20px;
background: #1EAFFF;
border-radius: 50%;
transform: translateY(-50%);
}

/* 白い矢印（::after）… ::before の“上”に描画される */
.tS_12th_opt1 ul.in_desc li.item::after{
content: "";
position: absolute;
top: 50%;
right: 27px; 
width: 4px;
height: 4px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: translateY(-50%) rotate(135deg);
}

.tS_12th_opt1 ul.in_desc li.item:hover::before {
background: #FFFFFF;
}
.tS_12th_opt1 ul.in_desc li.item:hover::after {
border-top: 2px solid #1EAFFF;
border-right: 2px solid #1EAFFF;
}

/*@media screen and (max-width: 820px) {
.tS_12th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr 1fr;
margin-bottom: 0px;
}
}*/

.tS_12th_opt1 ul.in_desc li.item .free1w {
	background-color: #1eafff;
	color: #FFFFFF;
	position: absolute;
	top: -40px;
	z-index: 1;
	font-size: 12px;
	padding-left: 20px;
	border-radius: 50px;
	padding-right: 20px;
}
.tS_12th_opt1 ul.in_desc li.item .free1w::after {
	position   : absolute;
	content    : "";
	width: 15px;
	height: 12px;
	background-color: #1eafff;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	transform: translateY(-50%);
	left: 45%;
	bottom: -14px;
}

@media screen and (max-width: 767px) {
.tS_12th_opt1 {
padding-bottom: 40px;
}

.tS_12th_opt1 ul.in_desc {
gap: 10px 5px;
grid-template-columns: 1fr 1.15fr;
margin-bottom: 0px;
}
.tS_12th_opt1 ul.in_desc li.item {
	padding-left: 20px;
	padding-right: 30px;
	padding-top: 10px;
	padding-bottom: 10px;
}
.tS_12th_opt1 ul.in_desc li.item:nth-child(1) {
grid-row: 1 / 2;
grid-column: 1 / 2;
}
.tS_12th_opt1 ul.in_desc li.item:nth-child(2) {
grid-row: 1 / 2;
grid-column: 2 / 3;
}
.tS_12th_opt1 ul.in_desc li.item:nth-child(3) {
grid-row: 2 / 3;
grid-column: 1 / 3;
}
.tS_12th_opt1 ul.in_desc li.item h3 {
font-size: 3vw;
}
.tS_12th_opt1 ul.in_desc li.item h3 span {
	display: inline-block;
	font-size: 2.5vw;
}
.tS_12th_opt1 ul.in_desc li.item p {
font-size: 2.5vw;
}
.tS_12th_opt1 ul.in_desc li.item p span {
	display: none;
}

/* 青い丸（::before） */
.tS_12th_opt1 ul.in_desc li.item::before{
right: 10px;
width: 18px;
height: 18px;
}

/* 白い矢印（::after）… ::before の“上”に描画される */
.tS_12th_opt1 ul.in_desc li.item::after{
right: 17px; 
width: 3px;
height: 3px;
}

.tS_12th_opt1 ul.in_desc li.item .free1w {
	top: -30px;
	font-size: 10px;
	padding-left: 20px;
	padding-right: 20px;
}
}




/*オプション*/
.tS_12th_opt2 {
padding-top: 0px;
padding-bottom: 100px;
background-color: #FFFFFF;
width: 94%;
margin-left: auto;
margin-right: auto;
}

/*eテレビStick*/
.tS_12th_opt2.e_Stick {
	padding-top: 70px;
	width: 94%;
	margin-left: 0px;
	margin-right: auto;
	border-top-right-radius: 100px;
	margin-bottom: 100px;
}

.tS_12th_opt2.map_modal {
padding: 50px;
background-color: #FFFFFF;
width: 94%;
margin-left: auto;
margin-right: auto;
}

.tS_12th_opt2 h1.cat_wifi {
font-size: 30px;
color: #1EAFFF;
margin-bottom: 40px;
}
.tS_12th_opt2 h1.cat_wifi span {
font-size: 24px;
}
.tS_12th_opt2 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_12th_opt2 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_12th_opt2 figure.svi_camp {
width: 70%;
margin-left: auto;
margin-right: auto;
margin-top: 20px;
margin-bottom: 20px;
}
.tS_12th_opt2 figure.svi_camp img {
width: 100%;
height: auto;
display: block;
box-shadow: 0 3px 10px rgba(0,0,0,0.2);
border-top-left-radius: 60px;
border-bottom-left-radius: 60px;
border-bottom-right-radius: 60px;
}
.tS_12th_opt2 ul.in_desc {
display: grid;
gap: 60px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}

.tS_12th_opt2 ul.in_desc li.item {
position: relative;
}
.tS_12th_opt2 ul.in_desc li.item h3 {
font-size: 20px;
font-weight: bold;
margin-bottom: 5px;
}
.tS_12th_opt2 p.guide {
font-size: 14px;
margin-bottom: 20px;
}
.tS_12th_opt2 p.guide span {
color: #1EAFFF;
}
.tS_12th_opt2 p span.st_blue {
color: #4B8CE6;
}
@media screen and (max-width: 767px) {
.tS_12th_opt2 {
width: 100%;
padding-top: 0px;
padding-bottom: 50px;
}

/*eテレビStick*/
.tS_12th_opt2.e_Stick {
	padding-top: 35px;
	width: 94%;
	margin-left: 0px;
	margin-right: auto;
	border-top-right-radius: 70px;
	position: relative;
	margin-top: -30px;
	z-index: 1;
}


.tS_12th_opt2.map_modal {
width: 100%;
padding: 20px;
}
.tS_12th_opt2 h1.cat_wifi {
font-size: 22px;
margin-bottom: 20px;
}
.tS_12th_opt2 h1.cat_wifi span {
font-size: 18px;
}
.tS_12th_opt2 ul.in_desc {
gap: 40px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.tS_12th_opt2 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.tS_12th_opt2 p.guide {
font-size: 3vw;
}

.tS_12th_opt2 figure.svi_camp {
width: 100%;
margin-top: 10px;
margin-bottom: 10px;
}
}





/*029-030_PCスマホ教室*/
.tS_13th {
padding-top: 80px;
padding-bottom: 80px;
position: relative;
background-color: #D9E8F4;
z-index: 0;
}
.tS_13th p.g_btn02b.f_school a {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 40px;
}
.tS_13th .toSchool {
	text-align: center;
}
.tS_13th .toSchool p.phone {
	font-size: 20px;
	font-weight: bold;
}
.tS_13th .toSchool p.phone strong {
	font-size: 30px;
}
@media screen and (max-width: 767px) {
.tS_13th {
padding-top: 40px;
padding-bottom: 40px;
}
.tS_13th p.g_btn02b.f_school a {
	font-size: 14px;
	margin-bottom: 20px;
}
.tS_13th .toSchool p.phone {
	font-size: 15px;
}
.tS_13th .toSchool p.phone strong {
	font-size: 25px;
}
.tS_13th .toSchool p.note {
font-size: 2.5vw;
}

}


/*リード*/
.tS_13th_lead {
padding-top: 0px;
padding-bottom: 50px;
background-color: #FFFFFF;
margin-left: 0px;
margin-right: auto;
width: 95%;
box-sizing: border-box;
}
.tS_13th_lead p.guide {
	margin-bottom: 30px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
}
.tS_13th_lead ul.in_desc {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr;
width: 90%;
margin-left: auto;
margin-right: auto;
margin-bottom: 40px;
}
.tS_13th_lead ul.in_desc li.item {
position: relative;
}
.tS_13th_lead ul.in_desc li.item p {
text-align: center;
padding-top: 10px;
}
@media screen and (max-width: 767px) {
.tS_13th_lead {
padding-top: 0px;
padding-bottom: 40px;
}
.tS_13th_lead p.guide {
	font-size: 4vw;
	margin-bottom: 20px;
	margin-top: 20px;
	text-align: left;
}
.tS_13th_lead ul.in_desc {
width: 100%;
gap: 30px;
grid-template-columns: 1fr;
margin-bottom: 20px;
}
.tS_13th_lead ul.in_desc li.item p {
font-size: 3vw;
}
}

/*サービス*/
.tS_13th_opt1 {
padding-top: 80px;
padding-bottom: 80px;
background-color: #FFFFFF;
margin-left: 0px;
margin-right: auto;
width: 100%;
border-top-right-radius: 100px;
padding-left: 50px;
padding-right: 50px;
box-sizing: border-box;
margin-bottom: 80px;
}
.tS_13th_opt1 h1 {
font-size: 16px;
color: #1EAFFF;
margin-bottom: 20px;
border-radius: 10px;
border: 1px solid #1EAFFF;
background-color: #FFF500;
padding-left: 30px;
padding-right: 30px;
width: fit-content;
padding-top: 10px;
padding-bottom: 10px;
}
.tS_13th_opt1 .note,.tS_13th_opt2 .note {
border-radius: 20px;
padding: 40px;
background-color: #DDF3FF;
}
.tS_13th_opt1 .note p,.tS_13th_opt2 .note p {
	font-size: 12px;
	line-height: 1.8em;
	padding-left:1em;
text-indent:-1em;
}
.tS_13th_opt1 .note h3,.tS_13th_opt2 .note h3 {
font-size: 16px;
color: #1EAFFF;
margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
.tS_13th_opt1 {
border-top-right-radius: 70px;
padding-top: 40px;
padding-bottom: 40px;
padding-left: 0px;
padding-right: 0px;
margin-bottom: 40px;
}
.tS_13th_opt1 h1 {
font-size: 3.5vw;
color: #1EAFFF;
margin-bottom: 20px;
padding-left: 30px;
padding-right: 30px;
padding-top: 10px;
padding-bottom: 10px;
width: 100%;
box-sizing: border-box;
}
.tS_13th_opt1 .note,.tS_13th_opt2 .note {
border-radius: 15px;
padding: 25px;
}
.tS_13th_opt1 .note h3,.tS_13th_opt2 .note h3 {
font-size: 3.5vw;
margin-bottom: 0px;
}
}


@media screen and (max-width: 767px) {
.js-acc .js-acc-btn {
position: relative;
padding-right: 30px;
cursor: pointer;
}

/* ＋ / − */
.js-acc .js-acc-btn::after {
content: "+";
position: absolute;
right: 0;
top: 0;
font-size: 20px;
line-height: 1;
transition: transform 0.3s;
}

.js-acc.is-open .js-acc-btn::after {
content: "−";
}

/* アコーディオン本体 */
.js-acc-body {
overflow: hidden;
max-height: 0;
opacity: 0;
transition: max-height 0.4s ease, opacity 0.3s ease;
}
.js-acc.is-open .js-acc-body {
opacity: 1;
padding-top: 10px;
}
}




.tS_13th_opt1 ul.in_desc {
display: grid;
gap: 0px;
grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
margin-bottom: 60px;
}
.tS_13th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 10px;
}
.tS_13th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_13th_opt1 ul.in_desc li.item:first-child {
position: relative;
border-right: 1px solid #1EAFFF;
padding-right: 50px;
}
.tS_13th_opt1 ul.in_desc li.item:last-child {
padding-left: 50px;
}
.tS_13th_opt1 ul.in_desc li.item h3 {
font-size: 16px;
font-weight: bold;
margin-bottom: 30px;
background-color: #1EAFFF;
border-radius: 50px;
color: #FFFFFF;
text-align: center;
line-height: 2em;
padding-top: 5px;
padding-bottom: 5px;
}

@media screen and (max-width: 767px) {
.tS_13th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
.tS_13th_opt1 ul.in_desc li.item:first-child {
border-right: 0px solid #1EAFFF;
border-bottom: 1px solid #1EAFFF;
padding-right: 0px;
padding-bottom: 30px;
}
.tS_13th_opt1 ul.in_desc li.item:last-child {
padding-left: 0px;
padding-top: 20px;
}
.tS_13th_opt1 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.tS_13th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
}



/*スマホ教室*/
.tS_13th_opt2 {
padding-top: 80px;
padding-bottom: 80px;
background-color: #FFFFFF;
width: 100%;
margin-right: 0px;
margin-left: auto;
border-top-left-radius: 100px;
padding-left: 50px;
padding-right: 50px;
box-sizing: border-box;
}
.tS_13th_opt2 h1 {
font-size: 16px;
color: #0087b4;
margin-bottom: 20px;
border-radius: 10px;
border: 1px solid #0087b4;
background-color: #FFFFFF;
padding-left: 30px;
padding-right: 30px;
width: fit-content;
padding-top: 10px;
padding-bottom: 10px;
}
.tS_13th_opt2 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_13th_opt2 figure img {
width: 100%;
height: auto;
display: block;
}

.tS_13th_opt2 ul.in_desc {
display: grid;
gap: 40px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}

.tS_13th_opt2 ul.in_desc li.item {
display: flex;
/*align-items: center;
justify-content: center;*/
gap: 50px;
position: relative;
}
.tS_13th_opt2 ul.in_desc li.item figure {
flex-basis: 40%;
}
.tS_13th_opt2 ul.in_desc li.item .in_txt {
flex-basis: 60%;
}

@media screen and (max-width: 767px) {
.tS_13th_opt2 {
border-top-left-radius: 70px;
padding-top: 40px;
padding-bottom: 40px;
padding-left: 0px;
padding-right: 0px;
margin-bottom: 40px;
}
.tS_13th_opt2 h1 {
font-size: 3.5vw;
margin-bottom: 20px;
padding-left: 30px;
padding-right: 30px;
padding-top: 10px;
padding-bottom: 10px;
width: 100%;
box-sizing: border-box;
}

.tS_13th_opt2 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.tS_13th_opt2 ul.in_desc li.item {
display: block;
}
.tS_13th_opt2 ul.in_desc li.item figure {
flex-basis: 100%;
margin-bottom: 20px;
}
.tS_13th_opt2 ul.in_desc li.item .in_txt {
flex-basis: 100%;
}
.tS_13th_opt2 ul.in_desc li.item p {
font-size: 3vw;
}
}




/*183_ウイルスバスタークラウド*/
.tS_14th {
padding-top: 0px;
padding-bottom: 80px;
position: relative;
background-color: #DDF3FF;
z-index: 0;
}
@media screen and (max-width: 767px) {
.tS_14th {
padding-top: 40px;
padding-bottom: 40px;
}
}


/*リード*/
.tS_14th_lead {
padding-top: 40px;
padding-bottom: 40px;
background-color: #DDF3FF;
margin-left: 0px;
margin-right: auto;
width: 100%;
box-sizing: border-box;
border-top-left-radius: 100px;
}
@media screen and (max-width: 767px) {
.tS_14th_lead {
padding-top: 40px;
padding-bottom: 0px;
border-top-left-radius: 70px;
margin-top: 20px;
}
}


/*ボタンメニュー*/
.i_menu01 {
display: grid;
gap: 15px;
grid-template-columns: 1fr 1fr 1fr;
width: 90%;
margin-left: auto;
margin-right: auto;
}
.i_menu01 .thing {
position: relative;

}
.i_menu01 .thing a {
padding-right: 40px;
padding-left: 20px;
padding-top: 10px;
padding-bottom: 10px;
display: block;
cursor: pointer;
border: 1px solid #1EAFFF;
transition: all 0.3s;
border-radius: 70px;
background-color: #FFFFFF;
color: #1EAFFF;
}
.i_menu01 .thing a:hover {
background-color: #1EAFFF;
border: 1px solid #1EAFFF;
color: #FFFFFF;
text-decoration: none;
}
.i_menu01 .thing p {
text-align: center;
}
/*矢印*/
.i_menu01 .thing p span{
width: 5px;
height: 5px;
border-top: 1px solid #1EAFFF;
border-left: 1px solid #1EAFFF;
transform: rotate(135deg);
position: absolute;
right: 30px;
top: 42%;
transition: all 0.3s;
}
.i_menu01 .thing a:hover p span {
right: 25px;
border-top: 1px solid #FFFFFF;
border-left: 1px solid #FFFFFF;
}
@media screen and (max-width: 767px) {
.i_menu01 {
grid-template-columns: 1fr 1fr;
gap: 10px;
width: 100%;
}
.i_menu01 .thing a {
padding-right: 20px;
padding-left: 20px;
}
.i_menu01 .thing p {
font-size: 2.5vw;
}
.i_menu01 .thing p span{
width: 5px;
height: 5px;
right: 20px;
top: 44%;
}
.i_menu01 .thing a:hover p span {
right: 15px;
}
}



/*月額版*/
.tS_14th_opt1 {
padding-top: 80px;
padding-bottom: 80px;
background-color: #FFFFFF;
margin-left: 0px;
margin-right: auto;
width: 95%;
border-top-right-radius: 100px;
padding-left: 50px;
padding-right: 50px;
box-sizing: border-box;
margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
.tS_14th_opt1 {
border-top-right-radius: 70px;
padding-top: 40px;
padding-bottom: 40px;
padding-left: 0px;
padding-right: 0px;
margin-bottom: 30px;
}
}


.tS_14th_opt1 ul.in_desc {
display: grid;
gap: 60px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.tS_14th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 10px;
}
.tS_14th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}

.tS_14th_opt1 ul.in_desc li.item h3 {
font-size: 16px;
font-weight: bold;
margin-bottom: 30px;
border-radius: 50px;
line-height: 2em;
padding-top: 5px;
padding-bottom: 5px;
}
.tS_14th_opt1 ul.in_desc li.item h3 span {
display: block;
}
.tS_14th_opt1 ul.in_desc li.item h3 strong {
font-size: 24px;
color: #1EAFFF;
}
.tS_14th_opt1 ul.in_desc li.item .in_flex {
display:flex;
gap: 30px;
}
.tS_14th_opt1 ul.in_desc li.item .in_flex figure {
flex-basis: 40%;
}
.tS_14th_opt1 ul.in_desc li.item .in_flex p {
flex-basis: 60%;
}
.tS_14th_opt1 ul.in_desc li.item .in_flex p strong {
color: #1EAFFF;
}
.tS_14th_opt1 ul.in_desc li.item p.kome {
margin-bottom: 60px;
text-align: center;
}
@media screen and (max-width: 767px) {
.tS_14th_opt1 ul.in_desc {
gap: 40px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
.tS_14th_opt1 ul.in_desc li.item .in_flex {
flex-direction:column;
gap: 30px;
}

.tS_14th_opt1 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.tS_14th_opt1 ul.in_desc li.item h3 strong {
font-size: 5.2vw;
}
.tS_14th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
.tS_14th_opt1 ul.in_desc li.item p.kome {
padding-left:3em;
text-indent:-3em;
margin-bottom: 20px;
text-align: left;
}
}



/*特徴*/
.tS_14th_opt2 {
padding-top: 80px;
padding-bottom: 80px;
background-color: #FFFFFF;
width: 95%;
margin-right: 0px;
margin-left: auto;
border-top-left-radius: 100px;
padding-left: 50px;
padding-right: 50px;
box-sizing: border-box;
}
.tS_14th_opt2 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_14th_opt2 figure img {
width: 100%;
height: auto;
display: block;
}

.tS_14th_opt2 ul.in_desc {
display: grid;
gap: 30px 20px;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
margin-bottom: 80px;
}

.tS_14th_opt2 ul.in_desc li.item {
position: relative;
border-radius: 20px;
border: 1px solid #CCCCCC;
}
.tS_14th_opt2 ul.in_desc li.item h3 {
font-size: 14px;
font-weight: bold;
background-color: #1EAFFF;
color: #FFFFFF;
text-align: center;
line-height: 1.8em;
padding-top: 20px;
padding-bottom: 20px;
border-top-left-radius: 20px;
border-top-right-radius: 20px;
}
.tS_14th_opt2 ul.in_desc li.item p strong {
font-size: 14px;
font-weight: bold;
display: block;
text-align: center;
line-height: 1.8em;
margin-top: 10px;
margin-bottom: 10px;
}
.tS_14th_opt2 ul.in_desc li.item p {
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
.tS_14th_opt2 {
border-top-left-radius: 70px;
padding-top: 40px;
padding-bottom: 40px;
padding-left: 0px;
padding-right: 0px;
margin-bottom: 40px;
}
.tS_14th_opt2 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
.tS_14th_opt2 ul.in_desc li.item h3 {
font-size: 4vw;
}
.tS_14th_opt2 ul.in_desc li.item p {
font-size: 2.5vw;
}
}




/*013_電話選択ページ*/
.tS_15th {
padding-top: 30px;
padding-bottom: 0px;
width: 100%;
margin-right: auto;
margin-left: 0px;
margin-top: 0px;
position: relative;
/*margin-bottom: 100px;*/
border-top-right-radius: 100px;
}
@media screen and (max-width: 767px) {
.tS_15th {
padding-top: 20px;
padding-bottom: 0px;
margin-top: 0px;
border-top-right-radius: 70px;
}
.tS_15th_lead p {
margin-top: 20px;
}
}


.tS_15th_opt1 {
padding-top: 60px;
padding-bottom: 40px;
width: 95%;
margin-left: auto;
margin-right: 0px;
background-color: #FFFFFF;
border-top-left-radius: 70px;
padding-left: 40px;
padding-right: 40px;
box-sizing: border-box;
}
.tS_15th_opt1 ul.in_desc {
display: grid;
gap: 50px;
grid-template-columns: 1fr 1fr;
margin-bottom: 0px;
}
.tS_15th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
background-color: #FFFFFF;
border-top-left-radius: 50px;
margin-bottom: 30px;
box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}
.tS_15th_opt1 figure img {
width: 100%;
height: auto;
display: block;
border: 1px solid #CCCCCC;
border-top-left-radius: 50px;
}
.tS_15th_opt1 ul.in_desc li.item {
position: relative;
}

@media screen and (max-width: 767px) {
.tS_15th_opt1 {
padding-top: 30px;
padding-bottom: 30px;
padding-left: 15px;
padding-right: 15px;
}
.tS_15th_opt1 ul.in_desc {
gap: 30px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.tS_15th_opt1 ul.in_desc li.item:last-child figure {
margin-bottom: 30px;
}
.tS_15th_opt1 ul.in_desc li.item figure {
margin-bottom: 0px;
}
}



/*ケーブルモバイルeすまほ　シングルプラン*/
.tS_16th_opt2 {
padding-top: 60px;
padding-bottom: 60px;
background-color: #FFFFFF;
width: 94%;
margin-left: auto;
margin-right: auto;
}
.tS_16th_opt2.ft_modal {
padding: 50px;
background-color: #FFFFFF;
width: 94%;
margin-left: auto;
margin-right: auto;
}
.tS_16th_opt2 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_16th_opt2 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_16th_opt2 ul.in_desc {
display: grid;
gap: 60px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}

.tS_16th_opt2 ul.in_desc li.item p.guide {
color: #49B4FE;
font-size: 16px;
padding-bottom: 10px;
}
.tS_16th_opt2 ul.in_desc li.item p.note {
font-size: 11px;
margin-top: 10px;
line-height: 1.8em;
}

@media screen and (max-width: 767px) {
.tS_16th_opt2 {
width: 100%;
padding-top: 30px;
padding-bottom: 30px;
}
.tS_16th_opt2.ft_modal {
width: 100%;
padding-right: 0px;
padding-left: 0px;
padding-bottom: 0px;
padding-top: 130px;
margin-top: 100px;
}
.tS_16th_opt2 ul.in_desc {
gap: 40px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.tS_16th_opt2 ul.in_desc li.item p.guide {
font-size: 3.6vw;
}
.tS_16th_opt2 ul.in_desc li.item p.note {
font-size: 2.5vw;
}
}


.S_wrap{
width: 100%;
overflow: hidden;
margin-left: auto;
margin-right: auto;
}

/* 表ラッパーを横スクロールコンテナにする */
.scroll-table{
position: relative;
margin: 0 auto 20px;
width: 100%;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}

/* 画像は縮めずスクロールさせる */
.scroll-table img{
display: block;
height: auto;
max-width: none;      /* 親幅で縮めない */
width: 2000px;     /* 表画像の実寸幅に調整 */
}

/* スクロールヒント（初期は非表示） */
.scroll-table::after{
content:"";
position:absolute;
left:50%; top:50%;
transform:translate(-50%,-50%);
width:100px; height:100px;
background:url("../parts/i_scroll.svg") center/contain no-repeat;
opacity:0; pointer-events:none;
transition:opacity .2s;
}
.scroll-table.has-hint::after{ opacity:1; }


/* デスクトップはスクロールバーを控えめに見せる */
@media (hover: hover) {
.scroll-table::-webkit-scrollbar{ height: 6px; }
.scroll-table::-webkit-scrollbar-track{ background: rgba(0,0,0,.06); }
.scroll-table::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.28); border-radius: 4px; }
}

/* ヒントは “スクロール可能な時だけ” 表示（JSと連携） */
.scroll-table::after{ transition: opacity .25s; }

@media screen and (max-width: 767px) {
.scroll-table img{
width: 1600px;
}

}



/*安心パック*/
.sv_ansin_opt1 {
	border-radius: 100px;
	background-color: #FEF5F7;
	padding-right: 50px;
	padding-left: 50px;
	padding-bottom: 70px;
	padding-top: 70px;
}
.sv_ansin_opt1 h3 {
	font-size: 30px;
	text-align: center;
	margin-bottom: 30px;
	font-weight: bold;
	color: #FA8296;
}
.sv_ansin_opt1 h3 span {
	font-size: 20px;
	color: #000000;
}

.sv_ansin_opt1 ul.in_desc {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr;
}
.sv_ansin_opt1 ul.in_desc li.thing {
position: relative;
}
@media screen and (max-width: 767px) {
.sv_ansin_opt1 {
	padding-top: 40px;
	padding-bottom: 40px;
	border-radius: 60px;
	padding-left: 20px;
	padding-right: 20px;
}
.sv_ansin_opt1 h3 {
	font-size: 5.8vw;
	margin-bottom: 20px;
	line-height: 1.3em;
}
.sv_ansin_opt1 ul.in_desc {
gap: 10px;
grid-template-columns: 1fr;
}
}





/* ケーブルモバイルeすまほ　シェアプラン */
.scroll-table.share img{
width: 1640px;
}
@media screen and (max-width: 767px) {
.scroll-table.share img{
width: 1310px;
}

}



/* 014_光eでんわ（固定電話）光eでんわなら通話料がおトク！ */
.scroll-table.hikari_e img{
width: 100%;
}
@media screen and (max-width: 767px) {
.scroll-table.hikari_e img{
width: 800px;
}
.scroll-table.hikari_e2 img{
width: 500px;
}
}



/*オプション*/
.esma_opt {
display: grid;
gap: 0px;
grid-template-columns: 1.5fr 1fr 3fr;
padding-top: 30px;
padding-bottom: 30px;
border-bottom: 1px solid #CCCCCC;
width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 0px;
}
/*シェア*/
.esma_opt.irre {
display: grid;
gap: 0px;
grid-template-columns: 1.5fr 1fr 1.5fr 1fr;
}
.esma_opt .thing {
position: relative;
place-content: center;
}
.esma_opt .thing h3 {
font-size: 18px;
font-weight: 500;
margin-bottom: 5px;
}
.esma_opt .thing p.price {
font-size: 16px;
color: #49B4FE;
}
.esma_opt .thing p.price.ansin {
color: #FA8296;
}
.esma_opt .thing p.price strong {
font-size: 38px;
font-weight: bold;
}
.esma_opt .thing p.price span.tani {
display: block;
color: #000000;
font-size: 13px;
font-weight: normal;
margin-bottom: 5px;
}
.esma_opt .thing p.links a {
	color: #0087B4;
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
.esma_opt{
width: 100%;
gap: 0px;
grid-template-columns: 1.5fr 1fr;
padding-top: 30px;
padding-bottom: 30px;
}
.esma_opt .thing:nth-child(1) {
grid-row: 1 / 2;
grid-column: 1 / 2;
}
.esma_opt .thing:nth-child(2) {
grid-row: 1 / 2;
grid-column: 2 / 3;
}
.esma_opt .thing:nth-child(3) {
grid-row: 2 / 3;
grid-column: 1 / 3;
margin-top: 20px;
}

/*シェア*/
.esma_opt.irre {
grid-template-columns: 1.5fr 1fr;
padding-top: 30px;
padding-bottom: 30px;
}
.esma_opt.irre .thing:nth-child(1) {
grid-row: 1 / 2;
grid-column: 1 / 2;
border-bottom: 1px solid #CCCCCC;
padding-bottom: 30px;
}
.esma_opt.irre .thing:nth-child(2) {
grid-row: 1 / 2;
grid-column: 2 / 3;
border-bottom: 1px solid #CCCCCC;
padding-bottom: 30px;
}
.esma_opt.irre .thing:nth-child(3) {
grid-row: 2 / 3;
grid-column: 1 / 2;
margin-top: 20px;
}
.esma_opt.irre .thing:nth-child(4) {
grid-row: 2 / 3;
grid-column: 2 / 3;
margin-top: 20px;
}

.esma_opt .thing h3 {
font-size: 4.2vw;
}
.esma_opt .thing p {
font-size: 3vw;
}
.esma_opt .thing p.price {
font-size: 3.5vw;
}
.esma_opt .thing p.price strong {
font-size: 8.5vw;
}
.esma_opt .thing p.price span.tani {
font-size: 3vw;
}
}


.esma_opt2 {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr;
width: 82%;
margin-left: auto;
margin-right: auto;
margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
.esma_opt2 {
display: grid;
gap: 20px;
grid-template-columns: 1fr;
padding-top: 10px;
padding-bottom: 10px;
width: 100%;
}
}




/*041サポートトップ*/
.tS_17th {
padding-top: 30px;
padding-bottom: 30px;
width: 100%;
margin-right: auto;
margin-left: 0px;
margin-top: 0px;
position: relative;
margin-bottom: 0px;
border-top-left-radius: 100px;
background-color: #FFFFFF;
}

@media screen and (max-width: 767px) {
.tS_17th {
padding-top: 20px;
padding-bottom: 20px;
margin-top: 0px;
border-top-left-radius: 70px;
margin-bottom: 0px;
}

}

/*リード*/
.tS_17th_lead p strong {
	display: block;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
.tS_17th_lead p strong {
	font-size: 3.8vw;
	margin-top: 30px;
}
}

/*オプション*/
.tS_17th_opt1 {
padding-top: 60px;
padding-bottom: 0px;
}
.tS_17th_opt1 h2 {
font-size: 30px;
text-align: center;
margin-bottom: 60px;
font-weight: bold;
}
.tS_17th_opt1 ul.in_desc {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr;
margin-bottom: 60px;
}
.tS_17th_opt1 figure {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
.tS_17th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_17th_opt1 ul.in_desc li.item {
	position: relative;
	text-align: center;
	box-shadow: 0 3px 10px rgba(0,0,0,0.15);
	border-top-left-radius: 60px;
	border-bottom-right-radius: 60px;
	padding-bottom: 30px;
}
.tS_17th_opt1 ul.in_desc li.item h3 {
font-size: 20px;
font-weight: bold;
margin-bottom: 5px;
}
.tS_17th_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.tS_17th_opt1 ul.in_desc li.item:hover{
background-color: rgba(204,204,204,0.10);
z-index: 0;
}

@media screen and (max-width: 767px) {
.tS_17th_opt1 {
padding-top: 40px;
padding-bottom: 0px;
}
.tS_17th_opt1 ul.in_desc {
gap: 40px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
.tS_17th_opt1 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.tS_17th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
}



/*オトナライフマガジンOTOKU*/
.tS_18th {
padding-top: 0px;
padding-bottom: 80px;
position: relative;
z-index: 0;
}
.tS_18th h2 {
	font-size: 30px;
	text-align: center;
	margin-bottom: 20px;
	font-weight: bold;
	color: #9B0707;
}
.tS_18th p.guide {
	width: 75%;
	margin-left: auto;
	margin-right: auto;
	font-size: 14px;
}
.tS_18th figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_18th figure img {
width: 100%;
height: auto;
display: block;
}
.tS_18th figure.oto_logo {
width: 50%;
margin-left: auto;
margin-right: auto;
}
@media screen and (max-width: 767px) {
.tS_18th {
padding-top: 40px;
padding-bottom: 40px;
}
.tS_18th h2 {
font-size: 6.8vw;
margin-bottom: 10px;
}
.tS_18th p.guide {
width: 100%;
font-size: 3.3vw;
}
.tS_18th figure.oto_logo {
width: 90%;
}
}


/*オプション*/
.tS_18th_opt1 {
	padding: 30px;
	background-color: #FFFFFF;
	border-radius: 20px;
	border: 1px solid #9B0707;
	margin-top: 60px;
	margin-bottom: 30px;
}
.tS_18th_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr 4fr;
margin-bottom: 0px;
}
.tS_18th_opt1 ul.in_desc li.item {
position: relative;
display:flex;
align-items:center;
}
.tS_18th_opt1 ul.in_desc li.item:nth-child(1) {
	border-right: 1px solid #9B0707;
		justify-content: center;
}
.tS_18th_opt1 ul.in_desc li.item h3 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 5px;
	color: #9B0707;
}
.tS_18th_opt1 ul.in_desc li.item .in_txt em.new {
	margin-right: 10px;
	color: #FF0004;
	font-style: normal;
}
@media screen and (max-width: 767px) {
.tS_18th_opt1 {
padding: 20px;
padding-top: 30px;
padding-bottom: 30px;
}

.tS_18th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.tS_18th_opt1 ul.in_desc li.item:nth-child(1) {
	border-right: 0px solid #9B0707;
	border-bottom: 1px solid #9B0707;
		justify-content: center;
}
.tS_18th_opt1 ul.in_desc li.item h3 {
	font-size: 4.6vw;
	padding-bottom: 10px;
}
.tS_18th_opt1 ul.in_desc li.item p {
	font-size: 3vw;
	padding-left: 1.5em;
	text-indent: -1.5em;
	margin-bottom: 8px;
}
.tS_18th_opt1 ul.in_desc li.item p span {
	display: block;
}
}


/*取扱書店*/
.tS_18th_opt2 {
padding-top: 60px;
padding-bottom: 0px;
background-color: #FFFFFF;
}
.tS_18th_opt2 h3{
	font-size: 20px;
	margin-bottom: 45px;
	font-weight: bold;
	border-left: 4px solid #9B0707;
	padding-left: 10px;
	position: relative;
}
.tS_18th_opt2 h3::after {
position: absolute;
bottom: -15px;
content: '';
width: 100%;
height: 1px;
background-color: #CCCCCC;
left: 50%;
transform: translateX(-50%);
}
.tS_18th_opt2 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr;
}
.tS_18th_opt2 ul.in_desc li.item {
position: relative;
}

.tS_18th_opt2 ul.in_desc li.item h4 {
font-size: 16px;
font-weight: bold;
}

@media screen and (max-width: 820px) {
.tS_18th_opt2 ul.in_desc {
gap: 20px;
}
}
@media screen and (max-width: 767px) {
.tS_18th_opt2 {
padding-top: 40px;
padding-bottom: 0px;
}
.tS_18th_opt2 h3{
font-size: 4.8vw;
margin-bottom: 35px;
}
.tS_18th_opt2 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}

.tS_18th_opt2 ul.in_desc li.item h4 {
font-size: 3.6vw;
}
.tS_18th_opt2 ul.in_desc li.item p {
font-size: 3vw;
}
}





/*OTOKUナビボタン*/
.otoku_nav {
margin-bottom: 50px;
}
.otoku_nav ul {
/*display: flex;
flex-wrap:wrap;
justify-content:center;
gap: 15px;*/
display: grid;
gap: 15px;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.otoku_nav ul li a {
font-size: 13px;
padding-top: 7px;
padding-bottom: 7px;
color: #9B0707;
border-radius: 30px;
background-color: #FFFFFF;
transition: all 0.3s;
display: block;
line-height: 2em;
position: relative;
border: 1px solid #9B0707;
text-align: center;
}
.otoku_nav ul li.current a {
background-color: #9B0707;
color: #FFFFFF;
}
.otoku_nav ul li a:hover {
color: #FFFFFF;
background-color: #9B0707;
text-decoration: none;
}
@media screen and (max-width: 767px) {
.otoku_nav {
margin-bottom: 50px;
}
.otoku_nav ul {
/*flex-direction: column;
align-items: center;
*/
gap: 10px;
grid-template-columns: 1fr 1fr;
}
.otoku_nav ul li a {
font-size: 3vw;
text-align: center;
}
}




/*光e電話　オプション*/
.tS_19th_opt1 {
	margin-top: 30px;
	margin-bottom: 80px;
	width: 94%;
	margin-left: auto;
	margin-right: auto;
}
.tS_19th_opt1 p.other {
	color: #FFFFFF;
	border-radius: 50px;
	background-color: #5ACDB4;
	text-align: center;
	width: fit-content;
	padding-left: 30px;
	padding-right: 30px;
	margin-top: 50px;
}
.tS_19th_opt1 p.guide span {
color: #5ACDB4!important;
}
.tS_19th_opt1 ul.in_desc {
	display: grid;
	gap: 60px;
	grid-template-columns: 1fr;
	margin-bottom: 0px;
}
.tS_19th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tS_19th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tS_19th_opt1 ul.in_desc li.item h3 {
	font-size: 18px;
	font-weight: normal;
	margin-bottom: 10px;
}
.tS_19th_opt1 p.note {
	font-size: 12px;
	line-height: 1.8em;
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
.tS_19th_opt1 {
	margin-top: 30px;
	margin-bottom: 60px;
	width: 100%;
}
.tS_19th_opt1 ul.in_desc {
	gap: 30px;
}
.tS_19th_opt1 ul.in_desc li.item h3 {
font-size: 4.6vw;
}
.tS_19th_opt1 p.note {
font-size: 2.5vw;
	margin-top: 10px;
}
}


/*光e電話　オプション*/
.h_e_opt {
display: grid;
gap: 0px;
grid-template-columns: 1fr 4fr;
padding-top: 30px;
padding-bottom: 30px;
border-bottom: 1px solid #CCCCCC;
margin-bottom: 0px;
}
.h_e_opt .thing {
position: relative;
place-content: center;
}
.h_e_opt .thing.otoku {
display: flex;
justify-content: center;
}
.h_e_opt .thing p.price {
	font-size: 16px;
	color: #5ACDB4;
	text-align: center;
}
.h_e_opt .thing p.price strong {
font-size: 38px;
font-weight: bold;
}
.h_e_opt .thing p.price span {
	display: block;
	color: #000000;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 5px;
	line-height: 1.6em;
}
.h_e_opt .thing p.price span em {
	font-size: 10px;
	font-style: normal;
}
.h_e_opt .thing p.price span.otoku {
	font-size: 10px;
	border-radius: 7px;
	background-color: #5ACDB4;
	color: #FFFFFF;
	width: fit-content;
	padding-left: 20px;
	padding-right: 20px;
}
.h_e_opt .thing p.guide span {
color: #5ACDB4!important;
}
@media screen and (max-width: 767px) {
.h_e_opt{
width: 100%;
gap: 0px;
grid-template-columns: 1fr;
padding-top: 20px;
padding-bottom: 30px;
}
.h_e_opt .thing.otoku {
justify-content: flex-start;
}
.h_e_opt .thing p {
font-size: 3vw;
}
.h_e_opt .thing p.price {
	font-size: 3.5vw;
	text-align: left;
	margin-bottom: 10px;
}
.h_e_opt .thing p.price strong {
font-size: 7.5vw;
}
.h_e_opt .thing p.price span {
	font-size: 3.5vw;
	display: inline-block;
	padding-right: 10px;
}
.h_e_opt .thing p.price span.otoku {
	font-size: 3vw;
	margin-right: 10px;
	transform: translateY(-20%);
}
}



/*IP事業者*/
/*アコーディオン*/
.ip_list{
list-style: none;
width: 100%;
margin-top: 30px;
margin-bottom: 20px;
}
.ip_list li{
	padding-right: 10px;
	padding-bottom: 10px;
	padding-top: 10px;
	position: relative;
	border-radius: 15px;
	background-color: #FFFFFF;
	margin-bottom: 20px;
	border: 1px solid #5ACDB4;
	padding-left: 20px;
}

/*アコーディオンタイトル*/
.ip_list li h3.title {
position: relative;
cursor: pointer;
font-size: 14px;
font-weight: 500;
padding-top: 2%;
padding-right: 2%;
padding-left: 60px;
padding-bottom: 2%;
transition: all .3s ease;
display: flex;
align-items: center;
}

.ip_list li h3.title span{
padding-top: 0px;
padding-right: 0px;
padding-left: 0px;
padding-bottom: 0px;
margin-bottom: 0px;
width: 36px;
height: 36px;
line-height: 36px;
text-align: center;
border-radius: 50%;
position: absolute;
left: 10px;
top: 15px;
display: inline-block;
z-index: 0;
}
@media screen and (max-width: 820px) {
.ip_list li h3.title span{
left: 10px;
top: 10px;
}
}
@media screen and (max-width: 767px) {
.ip_list li h3.title span{
font-size: 12px;
width: 30px;
height: 30px;
line-height: 30px;
left: 10px;
top: 3px;
}
}

.ip_list li .inB {
position: relative;
padding-left: 20px;
}
.ip_list li .inB p {
margin-bottom: 15px;
}


/*アイコンの＋と×*/
.ip_list li h3.title::before,
.ip_list li h3.title::after{
position: absolute;
content:'';
width: 15px;
height: 2px;
background-color: #5ACDB4;
}
.ip_list li h3.title::before{
top:48%;
right: 30px;
transform: rotate(0deg);
}
.ip_list li h3.title::after{    
top:48%;
right: 30px;
transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.ip_list li h3.title.close::before{
transform: rotate(45deg);
}
.ip_list li h3.title.close::after{
transform: rotate(-45deg);
}
.ip_list li h3.title span.square::after{
position: absolute;
content: '';
width: 40px;
height: 40px;
border: 1px solid #F1F1F1;
right: 16px;
top: 21px;
}
/*アコーディオンで現れるエリア*/
.ip_list .box {
display: none;
margin-right: 4%;
padding-right: 3%;
border-top-left-radius: 20px;
border-bottom-right-radius: 20px;
margin-left: 20px;
padding-top: 10px;
}
@media screen and (max-width: 767px) {
.ip_list{
margin-top: 30px;
margin-bottom: 30px;
}
.ip_list li{
margin-bottom: 15px;
}
.ip_list li h3.title {
font-size: 3.3vw;
padding-top: 2%;
padding-right: 40px;
padding-left: 50px;
padding-bottom: 2%;
line-height: 1.6em;
}
.ip_list .box {
display: none;
margin-right: 0%;
padding-right: 3%;
padding-left: 0px;
padding-bottom: 3%;
padding-top: 3%;
font-size: 3vw;
margin-left: 0px;
}
.ip_list li h3.title::before{
right: 15px;
}
.ip_list li h3.title::after{    
right: 15px;
}
.ip_list li .inB {
padding-left: 0px;
}
}


/*光e電話　ボタンオプション*/
.tel_btns {
display: grid;
gap: 20px;
grid-template-columns: 1fr;
}
.tel_btns p.g_btn03 {
min-width: 500px;
}
.tel_btns .g-wrap_C:nth-child(2) {
	margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
.tel_btns p.g_btn03 {
min-width: initial;
margin-right: auto;
margin-left: auto;
width: 100%;
}
.tel_btns .g-wrap_C:nth-child(2) {
	margin-bottom: 30px;
}
}


/*ケーブルプラス電話　ボタンオプション*/
.tel_btns2 {
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
}
.tel_btns2 .g-wrap_C:nth-child(1) {
	margin-bottom: 40px;
}
.tel_btns2 {
display: grid;
gap: 20px;
grid-template-columns: 1fr;
}
.tel_btns2 p.g_btn03 {
min-width: 680px;
}

.tel_btns2 h3 {
	color: #FFFFFF;
	border-radius: 50px;
	background-color: #5ACDB4;
	text-align: center;
	min-width: 300px;
	margin-left: auto;
	margin-right: auto;
}
.tel_btns2 p.note {
	font-size: 12px;
	margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
.tel_btns2 p.g_btn03 {
min-width: initial;
margin-right: auto;
margin-left: auto;
width: 100%;
}
.tel_btns2 .g-wrap_C:nth-child(1) {
	margin-bottom: 0px;
}
.tel_btns2 p.note {
font-size: 3vw;
	margin-bottom: 20px;
}
}




/*お知らせ　タームナビ　タグナビ*/
.news_nav {
margin-bottom: 40px;
}
.news_nav ul {
display: flex;
flex-wrap:wrap;
/*justify-content:center;*/
gap: 10px;
}

.news_nav ul li a {
font-size: 12px;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 20px;
padding-right: 20px;
color: #9d9e9e;
border-radius: 30px;
background-color: #FFFFFF;
transition: all 0.3s;
display: block;
line-height: 1.6em;
position: relative;
border: 1px solid #9d9e9e;
min-width: 120px;
text-align: center;
}
.news_nav ul li.event a:hover,.news_nav ul li.event.current a {
background-color: #ffaa19;
border: 1px solid #ffaa19;
}
.news_nav ul li.campaign a:hover,.news_nav ul li.campaign.current a {
background-color: #ff7819;
border: 1px solid #ff7819;
}
.news_nav ul li.service a:hover,.news_nav ul li.service.current a {
background-color: #0062b2;
border: 1px solid #0062b2;
}
.news_nav ul li.osusume a:hover,.news_nav ul li.osusume.current a {
background-color: #ff6478;
border: 1px solid #ff6478;
}
.news_nav ul li.live a:hover,.news_nav ul li.live.current a {
background-color: #ff6478;
border: 1px solid #ff6478;
}
.news_nav ul li.otoku a:hover,.news_nav ul li.otoku.current a {
background-color: #9b0707;
border: 1px solid #9b0707;
}
.news_nav ul li.new-grad a:hover,.news_nav ul li.new-grad.current a {
background-color: #55c6e5;
border: 1px solid #55c6e5;
}
.news_nav ul li.press-kit a:hover,.news_nav ul li.press-kit.current a {
background-color: #e37676;
border: 1px solid #e37676;
}
/*チケット販売*/
.news_nav ul li.ticket a:hover,.news_nav ul li.ticket.current a {
background-color: #60c631;
border: 1px solid #60c631;
}
/*地域情報*/
.news_nav ul li.local a:hover,.news_nav ul li.local.current a {
background-color: #ffcd00;
border: 1px solid #ffcd00;
}
.news_nav ul li.others a:hover,.news_nav ul li.others.current a {
background-color: #9d9e9e;
border: 1px solid #9d9e9e;
}
.news_nav ul li.all-news a:hover,.news_nav ul li.all-news.current a {
background-color: #00b4c3;
border: 1px solid #00b4c3;
}

.news_nav ul li a:hover,.news_nav ul li.current a {
color: #FFFFFF;
text-decoration: none!important;
}

@media screen and (max-width: 767px) {
.news_nav {
margin-bottom: 30px;
}
.news_nav ul {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 10px 7px;
}
.news_nav ul li a {
padding-top: 10px;
padding-bottom: 10px;
font-size: 2.5vw;
min-width: initial;
}
}



/*お知らせ一覧*/
.tS_20th {
padding-top: 80px;
padding-bottom: 80px;
position: relative;
background-color: #E6F8F9;
z-index: 0;
}
@media screen and (max-width: 767px) {
.tS_20th {
padding-top: 40px;
padding-bottom: 40px;
}
}

/*オプション*/
.tS_20th_opt1 {

}
.tS_20th_opt1 ul.in_desc {
display: grid;
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 60px;
}
.tS_20th_opt1 ul.in_desc li.item {
	padding: 20px;
	position: relative;
	border-radius: 15px;
	background-color: #FFFFFF;
	display: flex;
	gap: 10px;
}
.tS_20th_opt1 ul.in_desc li.item h3 a {
	font-size: 12px;
	font-weight: normal;
	margin-bottom: 5px;
	background-color: #000000;
	color: #FFFFFF;
	border-radius: 50px;
	text-align: center;
	/*align-self: start;*/
	line-height: 1.8em;
	display: block;
	min-width: 150px;
	transform: translateY(10%);
}
.tS_20th_opt1 ul.in_desc li.item h3.search {
	font-size: 12px;
	font-weight: normal;
	margin-bottom: 5px;
	background-color: #00B4C3;
	color: #FFFFFF;
	border-radius: 50px;
	text-align: center;
	align-self: start;
	line-height: 1.8em;
	display: block;
	min-width: 150px;
	transform: translateY(10%);
}
.tS_20th_opt1 ul.in_desc li.item h3 a:hover {
	text-decoration: none;
}

@media screen and (max-width: 767px) {
.tS_20th_opt1 {

}
.tS_20th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
.tS_20th_opt1 ul.in_desc li.item {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 1fr;	
}
.tS_20th_opt1 ul.in_desc li.item h3 {
font-size: 3vw;
}
.tS_20th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
.tS_20th_opt1 ul.in_desc li.item p.date {
grid-row: 1 / 2;
grid-column: 2 / 3;
}

/*キーワード検索*/
.tS_20th_opt1.list_Sch ul.in_desc li.item {
	grid-template-columns: 1fr 2fr;	
}
.tS_20th_opt1.list_Sch ul.in_desc li.item p.date {
grid-row: 1 / 2;
grid-column: 1 / 2;
}

.tS_20th_opt1 ul.in_desc li.item p.text {
grid-row: 2 / 3;
grid-column: 1 / 3;
}
}



/*オプション*/
.tS_20th_opt2 {
padding-top: 60px;
padding-bottom: 60px;
/*background-color: #E6F8F9;*/
background-color: #FFFFFF;
}
.tS_20th_opt2 ul.in_desc {
	display: grid;
	gap: 40px;
	grid-template-columns: 1fr 1fr;
	width: 60%;
	margin-left: auto;
	margin-right: auto;
}

.tS_20th_opt2 p.note {
	text-align: center;
	margin-bottom: 30px;
}
.tS_20th_opt2 ul.in_desc li.item h3 {
font-size: 20px;
font-weight: bold;
margin-bottom: 5px;
}

@media screen and (max-width: 767px) {
.tS_20th_opt2 {
padding-top: 40px;
padding-bottom: 40px;
}
.tS_20th_opt2 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 30px;
width: 100%;
}
.tS_20th_opt2 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.tS_20th_opt2 ul.in_desc li.item p {
font-size: 3vw;
}
.tS_20th_opt2 p.note {

}
}


/*お知らせ　詳細ページ*/
.News_D {
padding-top: 60px;
padding-bottom: 60px;
position: relative;
background-color: #E6F8F9;
z-index: 0;
}
@media screen and (max-width: 767px) {
.News_D {
padding-top: 40px;
padding-bottom: 40px;
}
}

/*カテゴリー　投稿・更新日*/
.News_D .cat-date {
display: flex;
gap: 20px;
margin-bottom: 20px;
}
.News_D .cat-date h3 a {
font-size: 12px;
font-weight: normal;
background-color: #000000;
color: #FFFFFF;
border-radius: 50px;
text-align: center;
line-height: 1.8em;
display: block;
min-width: 150px;
transform: translateY(10%);
}
.News_D .cat-date h3 a:hover {
text-decoration: none;
}
@media screen and (max-width: 767px) {
.News_D .cat-date {
display: grid;
gap: 10px;
grid-template-columns: 1fr 1.5fr;
}
.News_D .cat-date h3 a {
font-size: 2.5vw;
min-width: 50px;
}
}

/*コンテンツ*/
.News_D_opt1 {
padding-top: 80px;
padding-bottom: 80px;
background-color: #FFFFFF;
margin-left: 0px;
margin-right: auto;
width: 95%;
border-top-right-radius: 100px;
padding-left: 50px;
padding-right: 50px;
box-sizing: border-box;
margin-bottom: 60px;
}
.News_D_opt1 figure.eyeC {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
}
.News_D_opt1 figure.eyeC img {
width: 100%;
height: auto;
display: block;
}

@media screen and (max-width: 767px) {
.News_D_opt1 {
border-top-right-radius: 70px;
padding-top: 40px;
padding-bottom: 40px;
padding-left: 0px;
padding-right: 0px;
margin-bottom: 30px;
}
}



/*障害情報　タームナビ　タグナビ*/
.trouble_nav {
margin-bottom: 40px;
}
.trouble_nav ul {
display: flex;
flex-wrap:wrap;
/*justify-content:center;*/
gap: 10px;
}

.trouble_nav ul li a {
	font-size: 12px;
	padding-top: 8px;
	padding-bottom: 8px;
	padding-left: 20px;
	padding-right: 20px;
	color: #9d9e9e;
	border-radius: 30px;
	background-color: #FFFFFF;
	transition: all 0.3s;
	display: block;
	line-height: 1.6em;
	position: relative;
	border: 1px solid #9d9e9e;
	min-width: 120px;
	text-align: center;
	font-weight: normal;
}

.trouble_nav ul li a:hover,.trouble_nav ul li.current a {
	color: #FFFFFF;
	text-decoration: none!important;
	background-color: #8764D2;
	border: 1px solid #8764D2;
}
/*メンテナンス　カラー*/
.trouble_nav.maint ul li a:hover,.trouble_nav.maint ul li.current a {
	color: #FFFFFF;
	text-decoration: none!important;
	background-color: #55C6E5;
	border: 1px solid #55C6E5;
}

@media screen and (max-width: 767px) {
.trouble_nav {
margin-bottom: 30px;
}
.trouble_nav ul {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 10px 7px;
}
.trouble_nav ul li a {
padding-top: 10px;
padding-bottom: 10px;
font-size: 2.5vw;
min-width: initial;
}
}


/*障害情報一覧*/
.tS_21th {
padding-top: 60px;
padding-bottom: 60px;
position: relative;
background-color: #F3EFFA;
z-index: 0;
}

/*メンテナンス　カラー*/
.tS_21th.maint {
background-color: #EEF9FC;
}

@media screen and (max-width: 767px) {
.tS_21th {
padding-top: 40px;
padding-bottom: 40px;
}
}

/*オプション*/
.tS_21th_opt1 {

}
.tS_21th_opt1 ul.in_desc {
display: grid;
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 60px;
}
.tS_21th_opt1 ul.in_desc li.item {
	border-radius: 15px;
	background-color: #FFFFFF;
	padding: 30px;
}
.tS_21th_opt1 ul.in_desc li.item .status {
	display: flex;
	gap: 10px;
	margin-bottom: 20px;
}
.tS_21th_opt1 ul.in_desc li.item .status h3 a {
	font-size: 12px;
	font-weight: normal;
	margin-bottom: 5px;
	background-color: #000000;
	color: #FFFFFF;
	border-radius: 50px;
	text-align: center;
	/*align-self: start;*/
	line-height: 1.8em;
	display: block;
	min-width: 150px;
	transform: translateY(10%);
		pointer-events: none;
}
.tS_21th_opt1 ul.in_desc li.item .status h3 a:hover {
	text-decoration: none;
}

@media screen and (max-width: 767px) {
.tS_21th_opt1 {

}
.tS_21th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
.tS_21th_opt1 ul.in_desc li.item .status {
	gap: 0px;
	flex-direction:column;
}
.tS_21th_opt1 ul.in_desc li.item .status h3 {
font-size: 3vw;
width: fit-content;
min-width: initial;
}

}



.tS_21th_opt1 ul .status_D {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr;
	margin-bottom: 20px;
}
.tS_21th_opt1 ul .status_D .thing {
display: flex;
gap: 20px;
}
.tS_21th_opt1 ul .status_D .thing h4 {
	font-size: 12px;
	background-color: #E7E0F6;
	text-align: center;
	font-weight: normal;
	min-width: 150px;
}
/*メンテナンス　カラー*/
.tS_21th_opt1.maint ul .status_D .thing h4 {
	background-color: #DDF4FA;
}

.tS_21th_opt1 ul .status_D .thing .in_Tx .all_region{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.tS_21th_opt1 ul .status_D .thing p.area {
	color: #FFFFFF;
	border-radius: 50px;
	background-color: #8764D2;
	text-align: center;
	min-width: 150px;
	font-size: 12px;
	padding-top: 0px;
	padding-bottom: 0px;
	line-height: 1.8em;
}
/*メンテナンス　カラー*/
.tS_21th_opt1.maint ul .status_D .thing p.area {
	background-color: #55C6E5;
}
@media screen and (max-width: 767px) {
.tS_21th_opt1 ul .status_D .thing {
	display: grid;
	grid-template-columns: 1fr 3fr;
gap: 10px;
}
.tS_21th_opt1 ul .status_D .thing h4 {
font-size: 2.5vw;
flex-basis: 30%;
min-width: initial;
}
.tS_21th_opt1 ul .status_D .thing p.area {
font-size: 3vw;
}

.tS_21th_opt1 ul .status_D .thing p.area {
	min-width: 90px;
	font-size: 12px;
	font-size: 2.5vw;
}
}




/*障害情報　詳細ページ*/
.Trouble_D {
padding-top: 60px;
padding-bottom: 60px;
position: relative;
background-color: #F3EFFA;
z-index: 0;
}
/*メンテナンス*/
.Trouble_D.maint {
	background-color: #EEF9FC;
}
@media screen and (max-width: 767px) {
.Trouble_D {
padding-top: 40px;
padding-bottom: 40px;
}
}

/*カテゴリー　投稿・更新日*/
.Trouble_D .cat-date {
	display: flex;
	gap: 20px;
	margin-bottom: 30px;
}
.Trouble_D .cat-date h3 a {
	font-size: 12px;
	font-weight: normal;
	background-color: #000000;
	color: #FFFFFF;
	border-radius: 50px;
	text-align: center;
	line-height: 1.8em;
	display: block;
	min-width: 150px;
	transform: translateY(20%);
	text-decoration: none;　/* リンクを無効化 */
}
.Trouble_D .cat-date h3 a:hover {
text-decoration: none;
}
.Trouble_D .cat-date p.date {
	font-size: 13px;
}
.Trouble_D .cat-date p.area {
	font-size: 15px;
}
@media screen and (max-width: 767px) {
.Trouble_D .cat-date {
gap: 10px;
margin-bottom: 20px;
}
.Trouble_D .cat-date h3 a {
font-size: 2.5vw;
}
.Trouble_D .cat-date p.date {
font-size: 3vw;
}
.Trouble_D .cat-date p.area {
font-size: 3.5vw;
}
}

/*コンテンツ*/
.Trouble_D_opt1 {
padding-top: 80px;
padding-bottom: 80px;
background-color: #FFFFFF;
margin-left: 0px;
margin-right: auto;
width: 95%;
border-top-right-radius: 100px;
padding-left: 50px;
padding-right: 50px;
box-sizing: border-box;
margin-bottom: 40px;
}
.Trouble_D_opt1 .in_area {
	border-radius: 30px;
	padding-top: 40px;
	padding-right: 50px;
	padding-left: 50px;
	background-color: #F3EFFA;
	margin-bottom: 30px;
	padding-bottom: 20px;
}
.Trouble_D_opt1 .in_area h3 {
	font-size: 15px;
}
/*メンテナンス*/
.Trouble_D_opt1.maint .in_area {
	background-color: #EEF9FC;
}
/* 障害情報　single */
.Trouble_D_opt1 .in_area .taisho{
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 4.5fr;
	margin-bottom: 20px;
}
.Trouble_D_opt1 .in_area .taisho .all_region{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.Trouble_D_opt1 .in_area .taisho .all_region li.area {
	color: #FFFFFF;
	border-radius: 50px;
	background-color: #8764D2;
	text-align: center;
	min-width: 150px;
	font-size: 12px;
	padding-top: 0px;
	padding-bottom: 0px;
	line-height: 1.8em;
	list-style-type: none;
}
/*メンテナンス*/
.Trouble_D_opt1 .in_area .taisho.mainte .all_region li.area {
	background-color: #55C6E5;
}

@media screen and (max-width: 767px) {
.Trouble_D_opt1 {
border-top-right-radius: 70px;
padding-top: 40px;
padding-bottom: 40px;
padding-left: 0px;
padding-right: 0px;
margin-bottom: 30px;
}
.Trouble_D_opt1 .in_area {
	border-radius: 15px;
	padding-top: 25px;
	padding-right: 25px;
	padding-left: 25px;
	margin-bottom: 20px;
	padding-bottom: 10px;
}
.Trouble_D_opt1 .in_area h3 {
font-size: 3.5vw;
}

.Trouble_D_opt1 .in_area .taisho{
	gap: 10px;
	grid-template-columns: 1fr 4fr;
	margin-bottom: 20px;
}
.Trouble_D_opt1 .in_area .taisho .all_region li.area {
font-size: 2.5vw;
min-width: 100px;
}
.Trouble_D_opt1 .in_area .taisho h4 {
font-size: 3vw!important;
}
}




/*コミチャン　スライダー*/
.comi_SD {
	margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
.comi_SD {
	margin-bottom: 0px;
	margin-top: 30px;
}
}


/*コミチャン　動画？*/
.comi_mvs {
	margin-bottom: 0px;
}
.comi_mvs figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_mvs figure img {
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 767px) {
.comi_mvs {
	margin-bottom: 0px;
	margin-top: 30px;
}
.comi_mvs.special {
	margin-top: 0px;
}
}


/*mp4 動画設定*/
.v_mp4 {
max-width: 100%;
margin-top: 0px;
margin-bottom: 0px;
}

.v_mp4 video {
width: 100%;
height: auto;
display: block;
}


/*コミチャン*/
.Comichan {
	/*position: relative;*/
	background-color: #FFE8EB;
	z-index: 0;
	padding-top: 40px;
	padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
.Comichan {
padding-top: 20px;
padding-bottom: 20px;
}
}

/*コミチャン　ナビ*/
.Comichan_opt1 {
	padding-top: 0px;
	padding-bottom: 40px;
	max-width: 1100px;
	margin: 0 auto;
	padding-right: 4%;
	padding-left: 4%;
}
.Comichan_opt1 ul.in_desc {
display: grid;
gap: 10px;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.Comichan_opt1 ul.in_desc li.item {
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	position: relative;
	background-color: #FFFFFF;
	border-radius: 10px;
	padding-top: 20px;
	border: 1px solid #FF6478;
	box-shadow: 0 3px 10px rgba(0,0,0,0.10);
	transition: all 0.3s;
	/* 追加：拡大の基準を下側中央に */
	transform-origin: center bottom;
	z-index: 1;
}
.Comichan_opt1 ul.in_desc li.item p {
	font-size: 12px;
	text-align: center;
	border-radius: 80px;
	background-color: #FF6478;
	line-height: 1.2em;
	padding-top: 4px;
	padding-bottom: 4px;
	color: #FFFFFF;
	position: relative;
	margin-bottom: 7px;
	display:flex;
	align-items:center;
	justify-content: center;
}
.Comichan_opt1 ul.in_desc li.item:nth-child(1)  p,.Comichan_opt1 ul.in_desc li.item:nth-child(2)  p,.Comichan_opt1 ul.in_desc li.item:nth-child(3)  p,.Comichan_opt1 ul.in_desc li.item:nth-child(4)  p,.Comichan_opt1 ul.in_desc li.item:nth-child(5)  p {
	padding-top: 10px;
	padding-bottom: 10px;
}
.Comichan_opt1 ul.in_desc li.item p::before {
position   : absolute;
content    : "";
width: 10px;
height: 6px;
background-color: #FF6478;
clip-path: polygon(0 0, 100% 0, 50% 100%);
bottom: -6px;
left: 50%;
transform: translateX(-50%);
}
.Comichan_opt1 ul.in_desc li.item h3 {
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	color: #FF6478;
	line-height: 1.3em;
}

.Comichan_opt1 ul.in_desc li.item.current {
	background-color: #FF6478;
	z-index: 4;
}
.Comichan_opt1 ul.in_desc li.item.current p {
	color: #FF6478;
	background-color: #FFFFFF;
}
.Comichan_opt1 ul.in_desc li.item.current p::before {
background-color: #FFFFFF;
}
.Comichan_opt1 ul.in_desc li.item.current h3 {
	color: #FFFFFF;
}

.Comichan_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}

.Comichan_opt1 ul.in_desc li.item:hover{
	background-color: #FF6478;
	z-index: 3;
}
.Comichan_opt1 ul.in_desc li.item:hover p {
	color: #FF6478;
	background-color: #FFFFFF;
}
.Comichan_opt1 ul.in_desc li.item:hover p::before {
background-color: #FFFFFF;
}
.Comichan_opt1 ul.in_desc li.item:hover h3 {
	color: #FFFFFF;
}

@media screen and (min-width: 768px) {

  /* hover・current のときに拡大＋白く光る */
  .Comichan_opt1 ul.in_desc li.item:hover,
  .Comichan_opt1 ul.in_desc li.item.current {
    transform: scale(1.11);
    /* 白いグローっぽい影 */
    /*box-shadow: 0 0 15px rgba(255,255,255,1);*/
	 /*黒 */
	box-shadow: 0 10px 25px rgba(0,0,0,0.25);
  }
}



@media screen and (max-width: 767px) {
.Comichan_opt1 {
	padding-top: 0px;
	padding-bottom: 20px;
	top: 0px;
}
.Comichan_opt1 ul.in_desc {
gap: 2px;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
.Comichan_opt1 ul.in_desc li.item {
	padding-right: 5px;
	padding-left: 5px;
	padding-bottom: 5px;
	padding-top: 10px;
}
.Comichan_opt1 ul.in_desc li.item:nth-child(1) {
grid-row: 1 / 2;
grid-column: 1 / 4;
}
.Comichan_opt1 ul.in_desc li.item:nth-child(2) {
grid-row: 1 / 2;
grid-column: 4 / 7;
}
.Comichan_opt1 ul.in_desc li.item:nth-child(3) {
grid-row: 2 / 3;
grid-column: 1 / 3;
}
.Comichan_opt1 ul.in_desc li.item:nth-child(4) {
grid-row: 2 / 3;
grid-column: 3 / 5;
}
.Comichan_opt1 ul.in_desc li.item:nth-child(5) {
grid-row: 2 / 3;
grid-column: 5 / 7;
}
.Comichan_opt1 ul.in_desc li.item p {
font-size: 2vw;
	padding-top: 5px;
	padding-bottom: 5px;
}
.Comichan_opt1 ul.in_desc li.item h3 {
font-size: 2.5vw;
}
}



/*地域情報チャンネル紹介*/
.Comichan_opt2 {
	padding-top: 60px;
	padding-bottom: 60px;
	background: #FFFFFF;
	border-top-left-radius: 100px;
	border-top-right-radius: 100px;
}


@media screen and (max-width: 767px) {
.Comichan_opt2 {
	padding-top: 30px;
	padding-bottom: 40px;
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
}
}


/*TV番組　検索他*/
.tvP_search {
	margin-bottom: 20px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.tvP_search ul {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.tvP_search ul li.search {
	margin-top: 40px;
}

/*.tvP_search ul li.item a {
	font-size: 12px;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 20px;
	padding-right: 40px;
	color: #FFFFFF;
	border-radius: 8px;
	background-color: #727171;
	transition: all 0.3s;
	display: block;
	line-height: 1.6em;
	position: relative;
	text-align: center;
}
.tvP_search ul li.item a::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 20px;
width: 5px;
height: 5px;
margin: -4px 0 0 0;
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transition: all 0.3s;
}*/
/*.tvP_search ul li.item a:hover::after {
	right: 15px;
}*/
.tvP_search ul li.item a:hover {
	text-decoration: none;
}
@media screen and (max-width: 767px) {
.tvP_search {
margin-bottom: 20px;
}
.tvP_search ul {
display: grid;
grid-template-columns: 1fr;
gap: 0px;
}
/*
.tvP_search ul li.search:nth-child(1) {
grid-row: 1 / 2;
grid-column: 1 / 3;
}
.tvP_search ul li.item a {
font-size: 2.5vw;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 10px;
padding-right: 20px;
}
.tvP_search ul li.item a::after {
right: 15px;
}*/
}



/*検索窓*/
.search_bx{
box-sizing: border-box;
position: relative;
border: 2px solid #727171;
display: block;
padding-right: 15px;
border-radius: 10px;
height: 40px;
overflow: hidden;
background-color: #FFFFFF;
padding-left: 20px;
margin-left: auto;
margin-bottom: 20px;
}
.search_bx form{
width: 100%;
padding: 0;
margin: 0;
}
.search_bx input[type="text"]{
	width: 90%!important;
	border: none;
	height: 2.0em;
	font-size: 15px;
	display: block;
	padding-top: 1%;
	padding-bottom: 2%;
}
.search_bx input[type="text"]:focus {
outline: 0;
}
.search_bx input[type="submit"]{
	cursor: pointer;
	font-size: 1.3em;
	border-left-style: none;
	border-left-width: 1px;
	border-right: none;
	border-bottom: none;
	border-top: none;
	background-repeat: no-repeat;
	background-position: 50% center;
	background-image: url("../parts/icon_search.svg");
	background-size: 25px 25px;
	position: absolute;
	width: 3em;
	height: 3em;
	right: 0;
	top: -8px;
	outline : none;
	background-color: #FFFFFF;
}
.search_bx input[type="text"]::placeholder {
  color: #AAAAAA; /* プレースホルダー文字色 */
  opacity: 1;     /* Safari対応：透明度をリセット */
}
/*専門チャンネル*/
.Spe_1th_opt1 .search_bx{ 
width: 40%;
margin-right: auto;
margin-left: auto;
}
@media screen and (max-width: 767px) {

.search_bx{
width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 5px;
}
.search_bx input[type="text"]{
font-size: 3.5vw!important;
}
.search_bx input[type="submit"]{
background-position: 40% center;
background-size: 25px 25px;
width: 3em;
height: 3em;
right: 0;
top: -5px;
}
/*専門チャンネル*/
.Spe_1th_opt1 .search_bx{
width: 100%;
margin-bottom: 20px;
}
}






/*TV番組ナビ*/
.tvP_nav {
	margin-bottom: 20px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.tvP_nav ul {
/*display: flex;
flex-wrap:wrap;
justify-content:center;*/
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 10px;
}

.tvP_nav ul li a {
	font-size: 12px;
	padding-top: 8px;
	padding-bottom: 8px;
	padding-left: 20px;
	padding-right: 40px;
	color: #9d9e9e;
	border-radius: 30px;
	background-color: #FFFFFF;
	transition: all 0.3s;
	display: block;
	line-height: 1.6em;
	position: relative;
	border: 1px solid #9d9e9e;
	text-align: center;
}
.tvP_nav ul li a::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 20px;
width: 5px;
height: 5px;
margin: -4px 0 0 0;
border-top: solid 1px #222222;
border-right: solid 1px #222222;
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
transition: all 0.3s;
}
.tvP_nav ul li.current a::after {
border-top: solid 1px #FFFFFF!important;
border-right: solid 1px #FFFFFF!important;
}

/*全体表示*/
.tvP_nav ul li.all a {
color: #0062B2;
border: 1px solid #0062B2;
}
.tvP_nav ul li.all a::after {
border-top: solid 1px #0062B2;
border-right: solid 1px #0062B2;
}
.tvP_nav ul li.all a:hover::after {
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
}
.tvP_nav ul li.all a:hover,.tvP_nav ul li.all.current a {
background-color: #0062B2;
border: 1px solid #0062B2;
}

/*たうんプレミアム*/
.tvP_nav ul li.town a {
color: #FA5500;
border: 1px solid #FA5500;
}
.tvP_nav ul li.town a::after {
border-top: solid 1px #FA5500;
border-right: solid 1px #FA5500;
}
.tvP_nav ul li.town a:hover::after {
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
}
.tvP_nav ul li.town a:hover,.tvP_nav ul li.town.current a {
background-color: #FA5500;
border: 1px solid #FA5500;
}

/*イベントセレクション*/
.tvP_nav ul li.e_select a {
color: #FA6D87;
border: 1px solid #FA6D87;
}
.tvP_nav ul li.e_select a::after {
border-top: solid 1px #FA6D87;
border-right: solid 1px #FA6D87;
}
.tvP_nav ul li.e_select a:hover::after {
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
}
.tvP_nav ul li.e_select a:hover,.tvP_nav ul li.e_select.current a {
background-color: #FA6D87;
border: 1px solid #FA6D87;
}

/*イベントプレミアム*/
.tvP_nav ul li.e_premium a {
color: #7FC826;
border: 1px solid #7FC826;
}
.tvP_nav ul li.e_premium a::after {
border-top: solid 1px #7FC826;
border-right: solid 1px #7FC826;
}
.tvP_nav ul li.e_premium a:hover::after {
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
}
.tvP_nav ul li.e_premium a:hover,.tvP_nav ul li.e_premium.current a {
background-color: #7FC826;
border: 1px solid #7FC826;
}

.tvP_nav ul li a:hover,.tvP_nav ul li.current a {
color: #FFFFFF;
text-decoration: none!important;
}

@media screen and (max-width: 767px) {
.tvP_nav {
margin-bottom: 0px;
}
.tvP_nav ul {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px 5px;
}
.tvP_nav ul li a {
font-size: 2.5vw;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 10px;
padding-right: 20px;
transition: all 0.3s;
}
.tvP_nav ul li a::after {
right: 15px;
}
}




/* ================
  番組表ナビ（画像ボタン）レイアウト
================ */
/* 外枠 */
.pgm_NV{
  width: 90%;
  margin: 0 auto;
  max-width: 1000px; /* 4個並びが綺麗に収まる上限（任意） */
}

/* ul */
.pgm_NV .in_desc{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 20px 20px;
  align-items: center;
}

/* figure */
.pgm_NV figure{ margin: 0; }

/* img */
.pgm_NV img{
  display: block;
  width: 100%;
  height: auto;
  box-shadow: 0 3px 10px rgba(0,0,0,0.15);
  border-radius: 50px;
}

/* =================
  PC（4 + 3 を真正面センター）
================= */
@media (min-width: 768px){
  .pgm_NV .in_desc{
    grid-template-columns: repeat(8, minmax(0, 1fr));
    justify-items: center; /* 各セルの中で中央 */
  }

  /* 全アイテム：2カラム分使う（= 1段目4個でピッタリ） */
  .pgm_NV .item{
    grid-column: span 2;
    width: 100%;
    max-width: 360px; /* ボタンの最大幅 */
  }

  /* 2段目：左右に1カラムずつ余白を作って中央へ */
  .pgm_NV .item:nth-child(5){ grid-column: 2 / span 2; } /* 2-3 */
  .pgm_NV .item:nth-child(6){ grid-column: 4 / span 2; } /* 4-5 */
  .pgm_NV .item:nth-child(7){ grid-column: 6 / span 2; } /* 6-7 */
}

/* =================
  SP（2列）
================= */
@media (max-width: 767px){
  .pgm_NV .in_desc{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 10px;
  }
  .pgm_NV .item{ max-width: none; }
}







/*番組タブメニュー*/
.bg_tv{
	width: 100%;
	/*max-width: 1100px;*/
	margin-right: auto;
	margin-left: auto;
	background: #FFFFFF;
	padding-top: 30px;
	padding-bottom: 0px;
}
/*tabの形状*/
.bg_tv .tab{
	display: flex;
	flex-wrap: wrap;
	margin-left: 30px;
}
.bg_tv .tab li a{
	display: block;
	background-color: #CCCCCC;
	margin: 0 2px;
	padding: 10px 40px;
	font-weight: bold;
	font-size: 18px;
	color: #FFFFFF;
	border: 1px solid #CCCCCC;
	box-sizing: border-box;
}
.bg_tv p.c_note{
padding-top: 10px;
padding-left: 30px;
font-size: 13px;
color: #444444;
padding-right: 10px;
}
.bg_tv p.c_note2{
padding-top: 30px;
padding-left: 30px;
font-size: 13px;
color: #FF6478;
padding-right: 10px;
}
/*liにactiveクラスがついた時の形状*/
.bg_tv .tab li.active a{
background: #fff;
color: #FF6478;
/*box-shadow: inset 0px 0px 0px #FFFFFF;*/
}
/*エリアの表示非表示と形状*/
.bg_tv .area {
display: none;/*はじめは非表示*/
opacity: 0;/*透過0*/
background: #fff;
margin: 0;
padding: 20px 0px;
}
.cosclub .area {
padding: 10px 0px;
}
/*areaにis-activeというクラスがついた時の形状*/
.bg_tv .area.is-active {
display: block;/*表示*/
animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
animation-duration: 1s;
animation-fill-mode: forwards;
}
@keyframes displayAnime{
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@media screen and (max-width: 767px) {
.bg_tv{
padding-top: 20px;
}
.bg_tv .tab {
margin-left: 15px;
}
.bg_tv .tab li a{
padding: 10px 25px;
font-size: 13px;
}
.bg_tv .area {
	padding-top: 15px;
	padding-right: 0px;
	padding-left: 0px;
	padding-bottom: 50px;
}
.bg_tv p.c_note{
padding-top: 10px;
padding-left: 20px;
font-size: 11px;
padding-right: 20px;
}
.bg_tv p.c_note2{
padding-top: 20px;
padding-left: 20px;
font-size: 11px;
padding-right: 10px;
}
}
@media screen and (max-width: 320px) {
.bg_tv .tab li a{
padding: 10px 15px;
}
}



/* =========================================
  番組表：共通レイアウト
========================================= */
.timeTable {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 3%;
}
.timeTable .innerFrame {
  width: 100%;
  overflow-x: auto;
}
.timeTable .innerFrame.view1 table,
.timeTable .innerFrame.view3 table,
.timeTable .innerFrame.view7 table {
  width: 100%;
}

/* SP：横スクロール用幅 */
@media screen and (max-width: 767px) {
  /* 6チャンネル用 */
  .timeTable .innerFrame.view3 table { width: 980px; }
  .timeTable .innerFrame.view7 table { width: 1100px; }
}

/* =========================================
  テーブル共通
========================================= */
.timeTable table {
  width: 100%;
  background: #fff;
  table-layout: fixed;
  border-collapse: collapse;
}

/* 先頭2列（時間・分） */
.timeTable table tr.titleRow th:nth-child(1),
.timeTable table tr.dateRow  th:nth-child(1),
.timeTable table tr.titleRow th:nth-child(2),
.timeTable table tr.dateRow  th:nth-child(2) {
  width: 30px;
  padding-left: 6px;
  padding-right: 6px;
}

/* 残り6列（番組列） */
.timeTable table tr.titleRow th.chTitle,
.timeTable table tr.dateRow  th.threedays {
  width: calc((100% - 60px) / 6);
}

/* =========================================
  ヘッダー：タイトル行
========================================= */
.timeTable table tr.titleRow th {
  padding: 12px 8px;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  font-size: 12px;
  border: 1px solid #999;
  color: #fff;
}
.timeTable table tr.titleRow th.chTitle span {
  display: block;
  white-space: nowrap;
}

/* 中身だけ上下中央（改行ありOK） */
.timeTable table tr.titleRow th.chTitle > span{
  display: flex;
  align-items: center;      /* 縦中央 */
  justify-content: center;  /* 横中央 */
  height: 100%;
  white-space: normal;      /* brや折返しOK */
  line-height: 1.3;
}



/* チャンネルカラー */
.timeTable table tr.titleRow th.ch1 { background: #FA5500; } /* たうんプレミアム */
.timeTable table tr.titleRow th.ch2 { background: #FA6D87; } /* イベントセレクション */
.timeTable table tr.titleRow th.ch3 { background: #7FC826; } /* イベントプレミアム */

.timeTable table tr.titleRow th.ch4 { background: #00B3F5; } /* たうんNews24 */
.timeTable table tr.titleRow th.ch5 { background: #7F6426; } /* 防災チャンネル */
.timeTable table tr.titleRow th.ch6 { background: #00B45A; } /* 愛南たうんチャンネル */

/* =========================================
  ヘッダー：日付行
========================================= */
.timeTable table tr.dateRow th {
  padding: 10px 8px;
  text-align: center;
  font-weight: 700;
  font-size: 12px;
  border: 1px solid #999;
  color: #fff;
}
.timeTable table tr.dateRow th span {
  margin-left: 8px;
  font-weight: 600;
}

/* 日付カラー */
.timeTable table tr.dateRow th.day_T { background: #FDAC82; }
.timeTable table tr.dateRow th.day_S { background: #FCAFBD; }
.timeTable table tr.dateRow th.day_P { background: #B5DF82; }

.timeTable table tr.dateRow th.day_N { background: #7DD8FA; }
.timeTable table tr.dateRow th.day_B { background: #B09F78; }
.timeTable table tr.dateRow th.day_A { background: #78D7A8; }

.timeTable table tr.dateRow th.day_W { background: #1f4af1; }

/* =========================================
  本文セル
========================================= */
.timeTable table tbody td,
.timeTable table tbody th {
  font-size: 12px;
  border: 1px solid #999;
  padding: 8px 5px;
  line-height: 1.5em;
  box-sizing: border-box;
}
.timeTable table tbody th {
  text-align: center;
  font-weight: bold;
}
.timeTable table tbody td {
  vertical-align: top;
}
.timeTable table tbody td i {
  font-weight: bold;
  font-style: normal;
}

/* リンク */
.timeTable table tbody td a {
  color: #7684FF;
  text-decoration: none;
}

/* クエストアワー */
.timeTable table tbody td a span.request {
  display: inline-block;
  color: #fff;
  background: #7684FF;
  border-radius: 5px;
  font-size: 11px;
  padding: 2px 10px;
  margin-left: 6px;
  white-space: nowrap;
}

/* =========================================
  スマホ調整
========================================= */
@media screen and (max-width: 767px) {
  .timeTable { padding: 0; }

  /* ヘッダー */
  .timeTable table tr.titleRow th {
    padding: 9px 6px;
    font-size: 11px;
  }
  .timeTable table tr.dateRow th {
    padding: 7px 6px;
    font-size: 11px;
    white-space: nowrap;
  }
  .timeTable table tr.dateRow th span {
    display: block;
    margin-left: 0;
  }

  /* 本文 */
  .timeTable table tbody td,
  .timeTable table tbody th {
    font-size: 11px;
    padding: 7px 5px;
    line-height: 1.3em;
  }

  /* クエストアワー */
  .timeTable table tbody td a span.request {
    font-size: 2.5vw;
    display: block;
    margin-top: 5px;
    width: fit-content;
    border-radius: 3px;
  }


   /* スクロールは innerFrame に任せる */
  .timeTable .innerFrame{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* tableは通常のtableのまま（ズレ防止） */
  .timeTable table{
    display: table;
    width: max-content;   /* 実幅＝中身分 */
    min-width: 980px;     /* view3用：必要幅 */
    padding-bottom: 0;    /* 余白はinnerFrame側で */
  }

  /* スクロールバーの余白は innerFrame 側へ */
  .timeTable .innerFrame{
    padding-bottom: 20px;
  }
  
  .timeTable table::-webkit-scrollbar {
    height: 14px;
  }
  .timeTable table::-webkit-scrollbar-track {
    background: #F1F1F1;
    border-radius: 7px;
  }
  .timeTable table::-webkit-scrollbar-thumb {
    background: #BCBCBC;
    border-radius: 7px;
  }
}




/* 15分間隔（00/15/30/45）の「分」列だけ薄青にする */
.timeTable table tbody tr.min_bg1 > th{
  background: #DCF0FF;
}
.timeTable table tbody tr.min_bg2 > th{
  background: #DFEEC8;
}



/*放送日一覧　モーダル*/
.onair_D {
width: 100%;
padding: 70px;
box-sizing: border-box;
}
.onair_D h2 {
	font-size: 20px;
	font-weight: bold;
	color: #fa5500;
}
.onair_D p.guide {
	font-size: 13px;
	margin-bottom: 20px;
}
.onair_D h3 {
	font-size: 18px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #7684FF;
	border-radius: 10px;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
.onair_D {
padding-right: 30px;
padding-left: 30px;
padding-bottom: 30px;
padding-top: 40px;
}
.onair_D h2 {
font-size: 5vw;
margin-bottom: 30px;
}
.onair_D p.guide {
font-size: 3.3vw;
}
}


/* 放送日一覧：縦スクロール枠（集合住宅検索のm_Scrollと同じ役割） */
.onair_D .m_Scroll{
  max-height: 340px;
  overflow-y: auto;
  overflow-x: hidden;
  background: #fff;
  
  padding-right: 6px;   /* スクロールバーとの間 */
  box-sizing: border-box;
}

/* スクロールバー */
.onair_D .m_Scroll::-webkit-scrollbar{
  width: 8px;
}
.onair_D .m_Scroll::-webkit-scrollbar-track{
  background: #f1f1f1;
  border-radius: 8px;
}
.onair_D .m_Scroll::-webkit-scrollbar-thumb{
  background: #bcbcbc;
  border-radius: 8px;
}

/* テーブル */
.onair_D table.onair_table{
width: 100%;
border-collapse: collapse;
table-layout: fixed;
}

/* ヘッダー行（薄グレー） */
.onair_D table.onair_table thead th{
background: #d9d9d9;
font-weight: 700;
text-align: center;
padding-top: 5px;
padding-right: 10px;
padding-left: 10px;
padding-bottom: 5px;
border-right: 1px solid #9f9f9f;
}
.onair_D table.onair_table thead th:last-child{
border-right: none;
}

/* ボディ */
.onair_D table.onair_table tbody td{
padding-top: 5px;
padding-right: 12px;
padding-left: 12px;
padding-bottom: 5px;
border-top: 1px solid #cfcfcf;
border-right: 1px solid #9f9f9f;
vertical-align: middle;
}
.onair_D table.onair_table tbody td:last-child{
border-right: none;
}

/* 交互に薄いグレー */
.onair_D table.onair_table tbody tr:nth-child(even) td{
background: #f3f3f3;
}

/* 列幅（画像の比率） */
.onair_D table.onair_table th:nth-child(1),
.onair_D table.onair_table td:nth-child(1){
width: 23%;
}
.onair_D table.onair_table th:nth-child(2),
.onair_D table.onair_table td:nth-child(2){
width: 60%;
}
.onair_D table.onair_table th:nth-child(3),
.onair_D table.onair_table td:nth-child(3){
width: 17%;
text-align: center;
white-space: nowrap;
}

@media screen and (max-width: 767px){
.onair_D .m_Scroll{
max-height: 52vh;          /* スマホは画面比で */
}

.onair_D table.onair_table{
font-size: 12px;
}
.onair_D table.onair_table th:nth-child(1),
.onair_D table.onair_table td:nth-child(1){
width: 30%;
}
.onair_D table.onair_table th:nth-child(2),
.onair_D table.onair_table td:nth-child(2){
width: 50%;
}
.onair_D table.onair_table th:nth-child(3),
.onair_D table.onair_table td:nth-child(3){
width: 20%;
}
.onair_D table.onair_table thead th{
	padding: 10px 8px;
	font-size: 3vw;
	line-height: 1.5em;
	vertical-align: middle;
}

.onair_D table.onair_table tbody td{
padding: 10px 10px;
font-size: 3vw;
line-height: 1.6em;
}
}




/*コミチャン　リクエストアワー*/
.comi_3th {
padding-top: 0px;
padding-bottom: 80px;
position: relative;
z-index: 0;
}
.comi_3th figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_3th figure img {
width: 100%;
height: auto;
display: block;
}
.comi_3th h2.rq_T {
font-size: 20px;
margin-bottom: 45px;
font-weight: bold;
border-left: 4px solid #FF6478;
padding-left: 10px;
position: relative;
}
.comi_3th h2.rq_T::after {
position: absolute;
bottom: -15px;
content: '';
width: 100%;
height: 1px;
background-color: #000000;
left: 50%;
transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
.comi_3th {
padding-top: 0px;
padding-bottom: 40px;
}
.comi_3th h2.rq_T {
font-size: 4.8vw;
margin-bottom: 35px;
}
}

/*オプション*/
.comi_3th_opt1 {
	padding-top: 60px;
	padding-bottom: 80px;
	background-image: linear-gradient(90deg, #eed560, #fffad0);
	padding-left: 4%;
	padding-right: 4%;
	position: relative;
	z-index: 0;
	margin-top: -1px;
}
/*リクエストフォーム*/
.comi_3th_opt2 {
padding-top: 60px;
padding-bottom: 80px;
background-image: linear-gradient(90deg, #FFFDF0, #FFF49A);
padding-left: 4%;
padding-right: 4%;
position: relative;
z-index: 0;
margin-top: -1px;
}


/* 上側の波（KVと comi_3th_opt1 の間） */
.comi_wave2 {
  display: block;
  width: 100%;
  height: 120px;
  margin-top: -80px; 
  position: relative;
  z-index: 1;
}

/* 下側の波（フォーム前など） */
.comi_wave {
  display: block;
  width: 100%;
  height: 120px;
  margin-top: -80px; 
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
.comi_wave, .comi_wave2 {
    height: 40px;
    margin-top: -60px;
  }
}



/* 番組表トップ */
.pg_Box {
  position: relative;
}
.pg_Box p.toTop_pg {
	position: absolute;
	right: 10px;
	top: -30px;
}
.pg_Box p.toTop_pg a {
	color: #FF6478;
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
.pg_Box p.toTop_pg {
	top: -25px;
}
}


.comi_3th_opt1 p.guide {
	margin-bottom: 40px;
}
.comi_3th_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 20px;
}

.comi_3th_opt1 ul.in_desc li.item {
	padding: 20px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.15);
	border-radius: 10px;
	position: relative;
	background-color: #FFFFFF;
}
.comi_3th_opt1 h3 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
	color: #FF6478;
}
.comi_3th_opt1 p.req_btn {
	width: 300px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
.comi_3th_opt1 {
padding-top: 30px;
padding-bottom: 80px;
}
/*リクエストフォーム*/
.comi_3th_opt2 {
padding-top: 30px;
padding-bottom: 40px;
}
.comi_3th_opt1 p.guide {
font-size: 3vw;
}

.comi_3th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
.comi_3th_opt1 ul.in_desc li.item {
	padding: 15px;
}
.comi_3th_opt1 h3 {
font-size: 4.6vw;
}
.comi_3th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
.comi_3th_opt1 p.req_btn {
	width: 86%;
	margin-bottom: 30px;
}
}


.program-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
	table-layout: fixed;
	background-color: #FFFFFF;
	table-layout: fixed;
}

.program-table th,
.program-table td {
  border: 1px solid #999;
  padding: 6px 8px;
}
/* 2列目（番組名）だけ幅50%に */
.program-table th:nth-child(2),
.program-table td:nth-child(2) {
  width: 50%;
}
/* 4列目（番組名）だけ幅10%に */
.program-table th:nth-child(4),
.program-table td:nth-child(4) {
  width: 10%;
}
.program-table thead th {
  background-color: #CDCDCD;
  font-weight: bold;
  text-align: left;
}

.program-table tbody tr:nth-child(even) {
  background-color: #F5F5F5;   /* 行ごとにうっすら色を変える */
}

.program-table a {
  color: #0000ee;
  text-decoration: underline;
}




/* ▼ 追加：スマホを横スクロール対応に */
.table-scroll {
  width: 100%;
  overflow-x: auto;
  position: relative;
}

.table-scroll table {
  min-width: 700px; /* テーブルの最低幅（調整可能） */
}

/* スマホでスクロールバーが見えるようにする */
@media screen and (max-width: 767px) {
  .table-scroll {
    -webkit-overflow-scrolling: touch;
  }

/* スクロールヒント（初期は非表示） */
.table-scroll::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:100px;
  height:100px;
  background:url("../parts/i_scroll.svg") center/contain no-repeat;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s;
}
.table-scroll.has-hint::after{
  opacity:1;
}

/* デスクトップはスクロールバーを控えめに見せる */
@media (hover: hover) {
  .table-scroll::-webkit-scrollbar{ height: 6px; }
  .table-scroll::-webkit-scrollbar-track{ background: rgba(0,0,0,.06); }
  .table-scroll::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.28); border-radius: 4px; }
}

}



/*コミチャン　リクエストアワー　応募フォーム*/
.comi_4th {
padding-top: 0px;
padding-bottom: 80px;
position: relative;
z-index: 0;
}
.comi_4th figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_4th figure img {
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 767px) {
.comi_4th {
padding-top: 0px;
padding-bottom: 40px;
}
}






/*123_地域情報チャンネル紹介*/
.comi_1th {
padding-top: 0px;
padding-bottom: 80px;
position: relative;
z-index: 0;
}
.comi_1th figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_1th figure img {
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 767px) {
.comi_1th {
padding-top: 0px;
padding-bottom: 40px;
}
}




/*イチオシ番組へ*/
.to_ichioshi{
	position: fixed;
	width: 280px;
	right: 0px;
	opacity: 0;
	z-index: 5;
	bottom: 200px;
}
.to_ichioshi img{
width: 100%;
height: auto;
display: block;
}

/*　左の動き　*/
.to_ichioshi.LeftMove{
animation: LeftAnime 0.5s forwards;
}
@keyframes LeftAnime{
from {
opacity: 0;
transform: translateX(280px);
}
to {
opacity: 1;
transform: translateX(0);
}
}

/*　右の動き　*/
.to_ichioshi.RightMove{
animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime{
from {
opacity: 1;
transform: translateX(0);
}
to {
opacity: 1;
transform: translateX(280px);
}
}


@media screen and (max-width: 767px) {
.to_ichioshi{
width: 50%;
top: auto;
}

/*リンクを右下に固定*/
.to_ichioshi {
position: fixed;
bottom: 100px;
z-index: 5;
opacity: 0;
transform: translateX(200px);
}

/*　左の動き　*/
.to_ichioshi.LeftMove{
animation: LeftAnime 0.5s forwards;
}
@keyframes LeftAnime{
from {
opacity: 0;
transform: translateX(200px);
}
to {
opacity: 1;
transform: translateX(0);
}
}

/*　右の動き　*/
.to_ichioshi.RightMove{
animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime{
from {
opacity: 1;
transform: translateX(0);
}
to {
opacity: 1;
transform: translateX(200px);
}
}

}







/*ナビ*/
.comi_1th_NV {
	background-color: #FFFFFF;
	border-top-left-radius: 100px;
	border-top-right-radius: 100px;
	padding-bottom: 80px;
	padding-top: 40px;
}

.comi_1th_NV ul.in_desc {
	display: grid;
	gap: 20px 30px;
	grid-template-columns: 1fr 1fr 1fr;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
}
.comi_1th_NV ul.in_desc li.item {
position: relative;
}

.comi_1th_NV ul.in_desc li.item figure {
	border-radius: 50px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}
.comi_1th_NV figure.ainan {
	width: 24.5%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
		border-radius: 50px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}

@media screen and (max-width: 767px) {
.comi_1th_NV {
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
	padding-bottom: 80px;
	padding-top: 20px;
}
.comi_1th_NV ul.in_desc {
gap: 10px;
grid-template-columns: 1fr 1fr;
width: 90%;
}

.comi_1th_NV figure.ainan {
	width: 43.1%;
	margin-left: 5%;
	margin-right: auto;
	margin-top: 10px;
}
}


/* 上側の波との調整 */
.comi_1th_wave1,.comi_1th_wave2,.comi_1th_wave3,.comi_1th_wave4,.comi_1th_wave5,.comi_1th_wave6 {
  display: block;
  width: 100%;
  height: 120px;
  margin-top: -80px; 
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
.comi_1th_wave1,.comi_1th_wave2,.comi_1th_wave3,.comi_1th_wave4,.comi_1th_wave5,.comi_1th_wave6 {
    height: 40px;
    margin-top: -60px;
  }
}



/*オプション*/
.comi_1th_opt1 {
padding-top: 10px;
padding-bottom: 60px;
background-image: linear-gradient(90deg, #FC929E, #FA6400);
padding-left: 4%;
padding-right: 4%;
position: relative;
z-index: 0;
margin-top: -1px;
}
.comi_1th_opt2 {
padding-top: 10px;
padding-bottom: 60px;
background-image: linear-gradient(90deg, #01A4FF, #30CBF5);
padding-left: 4%;
padding-right: 4%;
position: relative;
z-index: 0;
margin-top: -1px;
}

.comi_1th_opt3 {
padding-top: 10px;
padding-bottom: 60px;
background-image: linear-gradient(90deg, #C75CA8, #8E5BAA);
padding-left: 4%;
padding-right: 4%;
position: relative;
z-index: 0;
margin-top: -1px;
}
.comi_1th_opt4 {
padding-top: 10px;
padding-bottom: 60px;
background-image: linear-gradient(90deg, #48A1E0, #2677C7);
padding-left: 4%;
padding-right: 4%;
position: relative;
z-index: 0;
margin-top: -1px;
}
/*ペットバナー*/
.comi_1th_opt4 figure.pet {
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	transform: translateY(-10%);
}
.comi_1th_opt5 {
padding-top: 10px;
padding-bottom: 60px;
background-image: linear-gradient(90deg, #94DDC0, #7FC722);
padding-left: 4%;
padding-right: 4%;
position: relative;
z-index: 0;
margin-top: -1px;
}
.comi_1th_opt6 {
	padding-top: 10px;
	padding-bottom: 60px;
	background-image: linear-gradient(90deg, #F59FC3, #FA6B85);
	padding-left: 4%;
	padding-right: 4%;
	position: relative;
	z-index: 0;
	margin-top: -1px;
	border-bottom-left-radius: 100px;
	border-bottom-right-radius: 100px;
}
@media screen and (max-width: 767px) {
.comi_1th_opt1 {
padding-top: 5px;
padding-bottom: 80px;
padding-left: 0%;
padding-right: 0%;
}
.comi_1th_opt2 {
padding-top: 5px;
padding-bottom: 40px;
padding-left: 0%;
padding-right: 0%;
}
.comi_1th_opt3 {
padding-top: 5px;
padding-bottom: 40px;
padding-left: 0%;
padding-right: 0%;
}
.comi_1th_opt4 {
padding-top: 5px;
padding-bottom: 40px;
padding-left: 0%;
padding-right: 0%;
}
/*ペットバナー*/
.comi_1th_opt4 figure.pet {
	width: 90%;
}
.comi_1th_opt5 {
padding-top: 5px;
padding-bottom: 80px;
padding-left: 0%;
padding-right: 0%;
}
.comi_1th_opt6 {
padding-top: 5px;
padding-bottom: 30px;
padding-left: 0%;
padding-right: 0%;
	border-bottom-left-radius: 50px;
	border-bottom-right-radius: 50px;
}
}

/*CMS　リード*/
.comi_1th_opt1 h2,
.comi_1th_opt2 h2,
.comi_1th_opt3 h2,
.comi_1th_opt4 h2,
.comi_1th_opt5 h2,
.comi_1th_opt6 h2 {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5em;
	color: #FFFFFF;
	margin-left: 8%;
}
@media screen and (max-width: 767px) {
.comi_1th_opt1 h2,
.comi_1th_opt2 h2,
.comi_1th_opt3 h2,
.comi_1th_opt4 h2,
.comi_1th_opt5 h2,
.comi_1th_opt6 h2 {
font-size: 3.3vw;
}
}




/*たうんプレミアム*/
.comi_1th_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.comi_1th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_1th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.comi_1th_opt1 ul.in_desc li.item {
position: relative;
}
.comi_1th_opt1 ul.in_desc li.item p.mikan {
	width: 22%;
	left: 0px;
	position: absolute;
	bottom: 0px;
	z-index: 0;
}
.comi_1th_opt1 ul.in_desc li.item p.rimocon {
	width: 26%;
	right: -10px;
	position: absolute;
	top: 0px;
	z-index: 2;
}
.comi_1th_opt1 ul.in_desc li.item p.btn_twn1 {
	width: 84%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}
.comi_1th_opt1 ul.in_desc li.item p.btn_twn2 {
	width: 33%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
}

@media screen and (max-width: 767px) {
.comi_1th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.comi_1th_opt1 ul.in_desc li.item p.rimocon {
	display: none;
}
.comi_1th_opt1 ul.in_desc li.item p.btn_twn1 {
	width: 100%;
	margin-top: 20px;
}
.comi_1th_opt1 ul.in_desc li.item p.btn_twn2 {
	width: 100%;
	margin-top: 0px;
}
.comi_1th_opt1 ul.in_desc li.item p.mikan {
	width: 25%;
	bottom: -60px;
}
}


.comi_1th ul.in_desc li.item.in_com {
	display: grid;
	gap: 30px;
	grid-template-columns: 1fr 1fr;
	color: #FFFFFF;
	margin-left: 8%;
}
.comi_1th ul.in_desc li.item.in_com p {
	margin-top: 20px;
}

@media screen and (max-width: 767px) {
.comi_1th ul.in_desc li.item.in_com{
	gap: 15px;
	grid-template-columns: 1fr;
	margin-left: 0%;
}
.comi_1th ul.in_desc li.item.in_com p {
	margin-top: 20px;
	margin-left: 8%;
	margin-right: 38%;
}
.comi_1th ul.in_desc li.item.in_com .rimocon {
	width: 48%;
	right: -30px;
	position: absolute;
	top: auto;
	z-index: 2;
	bottom: 20px;
}
}


/* =====================================
   チャンネル共通：メイン画像スライダー
   (.comi_1th_opt1 ～ .comi_1th_opt6)
   ===================================== */

/* 画像を入れる枠ごと aspect-ratio を指定 */
[class^="comi_1th_opt"] ul.in_desc li.item.slider .in_SD {
  width: 60%;
  margin-right: auto;
  margin-left: 8%;
  aspect-ratio: 800 / 450; /* 横：縦の比率 */
  position: relative;
  overflow: hidden;
}

/* スライド1枚ずつの基本 */
[class^="comi_1th_opt"] ul.in_desc li.item.slider .in_SD figure {
  position: absolute;
  inset: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.8s ease;
}

/* 表示中のスライド */
[class^="comi_1th_opt"] ul.in_desc li.item.slider .in_SD figure.is-show {
  opacity: 1;
}

/* 画像トリミング */
[class^="comi_1th_opt"] ul.in_desc li.item.slider .in_SD figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* SP 調整 */
@media screen and (max-width: 767px) {
  [class^="comi_1th_opt"] ul.in_desc li.item.slider .in_SD {
    width: 86%;
    margin-right: auto;
    margin-left: auto;
    aspect-ratio: 800 / 450;
  }
}




/*たうんNews24*/
.comi_1th_opt2 ul.in_desc {
	display: grid;
	gap: 30px;
	grid-template-columns: 1fr;
	margin-bottom: 0px;
}
.comi_1th_opt2 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_1th_opt2 figure img {
width: 100%;
height: auto;
display: block;
}
.comi_1th_opt2 ul.in_desc li.item {
position: relative;
}
.comi_1th_opt2 ul.in_desc li.item .h_img01 {
	width: 26%;
	right: 6%;
	position: absolute;
	top: -40px;
	z-index: -1;
}
.comi_1th_opt2 ul.in_desc li.item p.rimocon {
	width: 26%;
	right: 0px;
	position: absolute;
	top: 0px;
	z-index: 2;
}
.comi_1th_opt2 ul.in_desc li.item p.btn_twn1 {
	width: 84%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}
.comi_1th_opt2 ul.in_desc li.item p.btn_twn2 {
	width: 33%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
.comi_1th_opt2 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.comi_1th_opt2 ul.in_desc li.item .h_img01 {
	display: none;
}
.comi_1th_opt2 ul.in_desc li.item p.rimocon {
	display: none;
}
.comi_1th_opt2 ul.in_desc li.item p.btn_twn1 {
	width: 100%;
	margin-top: 20px;
}
.comi_1th_opt2 ul.in_desc li.item p.btn_twn2 {
	width: 100%;
	margin-top: 0px;
}
}



/*街カメ24*/
.comi_1th_opt3 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.comi_1th_opt3 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_1th_opt3 figure img {
width: 100%;
height: auto;
display: block;
}
.comi_1th_opt3 ul.in_desc li.item {
position: relative;
}
.comi_1th_opt3 ul.in_desc li.item .h_img01 {
	width: 45%;
	right: 3%;
	position: absolute;
	top: 10px;
	z-index: -1;
}
.comi_1th_opt3 ul.in_desc li.item p.rimocon {
	width: 26%;
	right: 0px;
	position: absolute;
	top: 0px;
	z-index: 2;
}
.comi_1th_opt3 ul.in_desc li.item p.btn_twn1 {
	width: 84%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}
.comi_1th_opt3 ul.in_desc li.item p.btn_twn2 {
	width: 33%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
.comi_1th_opt3 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.comi_1th_opt3 ul.in_desc li.item .h_img01 {
	display: none;
}
.comi_1th_opt3 ul.in_desc li.item p.rimocon {
	display: none;
}
.comi_1th_opt3 ul.in_desc li.item p.btn_twn1 {
	width: 100%;
	margin-top: 20px;
}
.comi_1th_opt3 ul.in_desc li.item p.btn_twn2 {
	width: 100%;
	margin-top: 0px;
}
}




/*お知らせチャンネル*/
.comi_1th_opt4 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.comi_1th_opt4 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_1th_opt4 figure img {
width: 100%;
height: auto;
display: block;
}
.comi_1th_opt4 ul.in_desc li.item {
position: relative;
}
.comi_1th_opt4 ul.in_desc li.item .h_img01 {
	width: 35%;
	right: 6%;
	position: absolute;
	top: 0px;
	z-index: -1;
}
.comi_1th_opt4 ul.in_desc li.item p.rimocon {
	width: 26%;
	right: 0px;
	position: absolute;
	top: 0px;
	z-index: 2;
}
.comi_1th_opt4 ul.in_desc li.item p.btn_twn1 {
	width: 84%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}
.comi_1th_opt4 ul.in_desc li.item p.btn_twn2 {
	width: 33%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
.comi_1th_opt4 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.comi_1th_opt4 ul.in_desc li.item .h_img01 {
	display: none;
}
.comi_1th_opt4 ul.in_desc li.item p.rimocon {
	display: none;
}
.comi_1th_opt4 ul.in_desc li.item p.btn_twn1 {
	width: 100%;
	margin-top: 20px;
}
.comi_1th_opt4 ul.in_desc li.item p.btn_twn2 {
	width: 100%;
	margin-top: 0px;
}
}




/*イベントプレミアム*/
.comi_1th_opt5 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.comi_1th_opt5 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_1th_opt5 figure img {
width: 100%;
height: auto;
display: block;
}
.comi_1th_opt5 ul.in_desc li.item {
position: relative;
}
.comi_1th_opt5 ul.in_desc li.item.mikan {
	background-image: url(../parts/ch5_p3_pc.webp);
	background-position: center bottom;
	background-size: contain;
	background-repeat: no-repeat;
}
.comi_1th_opt5 ul.in_desc li.item .h_img01 {
	width: 25%;
	right: 4%;
	position: absolute;
	top: 70px;
	z-index: -1;
}
.comi_1th_opt5 ul.in_desc li.item p.rimocon {
	width: 26%;
	right: 0px;
	position: absolute;
	top: 0px;
	z-index: 2;
}
.comi_1th_opt5 ul.in_desc li.item p.btn_twn1 {
	width: 84%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}
.comi_1th_opt5 ul.in_desc li.item p.btn_twn2 {
	width: 33%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
.comi_1th_opt5 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.comi_1th_opt5 ul.in_desc li.item .h_img01 {
	display: none;
}
.comi_1th_opt5 ul.in_desc li.item p.rimocon {
	display: none;
}
.comi_1th_opt5 ul.in_desc li.item p.btn_twn1 {
	width: 100%;
	margin-top: 20px;
}
.comi_1th_opt5 ul.in_desc li.item p.btn_twn2 {
	width: 100%;
	margin-top: 0px;
}
.comi_1th_opt5 ul.in_desc li.item.mikan {
	background-position: center bottom;
	padding-bottom: 30px;
}
}





/*イベントセレクション*/
.comi_1th_opt6 ul.in_desc {
/*display: grid;*/
display: flex;
flex-direction:column;
gap: 30px;
/*grid-template-columns: 1fr;*/
margin-bottom: 0px;
}
.comi_1th_opt6 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_1th_opt6 figure img {
width: 100%;
height: auto;
display: block;
}
.comi_1th_opt6 ul.in_desc li.item {
position: relative;
}
.comi_1th_opt6 ul.in_desc li.item .h_img01 {
	width: 18%;
	right: 6%;
	position: absolute;
	top: 0px;
	z-index: -1;
}
.comi_1th_opt6 ul.in_desc li.item.season {
	border-radius: 10px;
	background-color: rgba(255,255,255,0.75);
	padding: 30px;
	margin-left: 8%;
	margin-right: 8%;
}

.comi_1th_opt6 ul.in_desc li.item p.rimocon {
	width: 26%;
	right: 0px;
	position: absolute;
	top: 0px;
	z-index: 2;
}
.comi_1th_opt6 ul.in_desc li.item p.btn_twn1 {
	width: 84%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}
.comi_1th_opt6 ul.in_desc li.item p.btn_twn2 {
	width: 33%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
}
.comi_1th_opt6 ul.in_desc li.item p.mikan {
width: 15%;
left: 0px;
position: absolute;
bottom: 0px;
z-index: 0;
}
.comi_1th_opt6 ul.in_desc li.item p.mikan img {
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 767px) {
.comi_1th_opt6 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.comi_1th_opt6 ul.in_desc li.item.season {
	padding: 10px;
	margin-left: 7%;
	margin-right: 7%;
}
.comi_1th_opt6 ul.in_desc li.item .h_img01 {
	display: none;
}
.comi_1th_opt6 ul.in_desc li.item p.rimocon {
	display: none;
}
.comi_1th_opt6 ul.in_desc li.item p.btn_twn1 {
	width: 100%;
	margin-top: 20px;
}
.comi_1th_opt6 ul.in_desc li.item p.btn_twn2 {
	width: 100%;
	margin-top: 0px;
}
.comi_1th_opt6 ul.in_desc li.item p.mikan {
	display: none;
}
}


/*イベントセレクション*/
.scroll-table.weekly img{
width: 100%;
}
@media screen and (max-width: 767px) {
.scroll-table.weekly img{
width: 750px;
}
}



/*CMS　リード　愛南チャンネル　追加の場合に使用*/
.comi_1th_opt7 h2,
.comi_1th_opt8 h2,
.comi_1th_opt9 h2 {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5em;
	color: #FFFFFF;
	margin-left: 8%;
}
@media screen and (max-width: 767px) {
.comi_1th_opt7 h2,
.comi_1th_opt8 h2,
.comi_1th_opt9 h2 {
font-size: 3.3vw;
}
}


/*愛南チャンネル*/
.Ai_channel {
	padding-top: 100px;
	padding-bottom: 60px;
	background-image: linear-gradient(90deg, #ffcc00, #ffa946);
	padding-left: 4%;
	padding-right: 4%;
	position: relative;
	z-index: 0;
	border-radius: 100px;
	transform: translateY(-100px);
}
.Ai_channel figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.Ai_channel figure img {
width: 100%;
height: auto;
display: block;
}

figure.ai_H {
	position: relative;
	z-index: 2;
}
.Ai_channel li.item.in_com p {
	margin-top: 0px!important;
	color: #000000;
}

@media screen and (max-width: 767px) {
.Ai_channel {
padding-top: 60px;
padding-bottom: 40px;
	padding-left: 4%;
	padding-right: 4%;
border-radius: 50px;
transform: translateY(-50px);
}

}

/*愛南たうんチャンネル*/
.comi_1th_opt7 {
	border-radius: 30px;
	background-color: #FFFFFF;
	padding-top: 30px;
	padding-bottom: 30px;
	margin-bottom: 50px;
}
.comi_1th_opt7 ul.in_desc {
	display: grid;
	gap: 30px;
	grid-template-columns: 1fr;
	margin-bottom: 0px;
}
.comi_1th_opt7 ul.in_desc li.item {
position: relative;
}
.comi_1th_opt7 ul.in_desc li.item .i_img01 {
	width: 15%;
	right: 3%;
	position: absolute;
	top: 10px;
}
.comi_1th_opt7 ul.in_desc li.item .i_img02 {
		width: 11%;
	right: -1%;
	position: absolute;
	top: -50px;
}
.comi_1th_opt7 ul.in_desc li.item .i_img03 {
	width: 12%;
	right: 2%;
	position: absolute;
	top: -110px;
}
.comi_1th_opt7 ul.in_desc li.item .i_img04 {
	width: 10%;
	left: -13%;
	position: absolute;
	bottom: -50px;
}
.comi_1th_opt7 ul.in_desc li.item .i_img05 {
	width: 20%;
	right: 2%;
	position: absolute;
	bottom: -100px;
}
.comi_1th_opt7 ul.in_desc li.item .i_img06 {
	width: 4%;
	left: -10%;
	position: absolute;
	top: -100px;
}
.comi_1th_opt7 ul.in_desc li.item p.rimocon {
	width: 26%;
	right: 0px;
	position: absolute;
	top: 0px;
	z-index: 2;
}
.comi_1th_opt7 ul.in_desc li.item p.btn_twn1 {
	width: 84%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}
.comi_1th_opt7 ul.in_desc li.item p.btn_twn2 {
	width: 33%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
.comi_1th_opt7 {
	border-radius: 10px;
		padding-top: 15px;
		padding-bottom: 20px;
		margin-bottom: 25px;
}
.comi_1th_opt7 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.comi_1th_opt7 ul.in_desc li.item .i_img01 {
	display: none;
}
.comi_1th_opt7 ul.in_desc li.item .i_img02 {
	display: none;
}
.comi_1th_opt7 ul.in_desc li.item .i_img03 {
	display: none;
}
.comi_1th_opt7 ul.in_desc li.item .i_img04 {
	display: none;
}
.comi_1th_opt7 ul.in_desc li.item .i_img04b {
	width: 14%;
}
.comi_1th_opt7 ul.in_desc li.item .i_img05 {
	width: 20%;
	right: 2%;
	bottom: -70px;
}
.comi_1th_opt7 ul.in_desc li.item .i_img06 {
	width: 6%;
	left: -5%;
	top: -50px;
}
.comi_1th_opt7 ul.in_desc li.item .i_img07 {
	width: 10%;
	left: -5%;
	position: absolute;
	bottom: -50px;
}
.comi_1th_opt7 ul.in_desc li.item p.rimocon {
	display: none;
}
.comi_1th_opt7 ul.in_desc li.item p.btn_twn1 {
	width: 100%;
	margin-top: 20px;
}
.comi_1th_opt7 ul.in_desc li.item p.btn_twn2 {
	width: 100%;
	margin-top: 0px;
}
}





/*123_ただいま放送中 / 収録予定の番組*/
.comi_1thB {
	padding-top: 30px;
	padding-bottom: 80px;
	position: relative;
	z-index: 0;
	background-color: #FFFFFF;
	border-top-left-radius: 100px;
	border-top-right-radius: 100px;
	padding-left: 50px;
	padding-right: 50px;
}
.comi_1thB figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_1thB figure img {
width: 100%;
height: auto;
display: block;
}

.comi_1thB h1.tadaima {
	width: 330px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
}
.comi_1thB h1.tadaima span {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 30px;
	display: block;
	margin-top: 20px;
	position: relative;
}
.comi_1thB h1.tadaima span::after {
position: absolute;
bottom: -10px;
content: '';
width: 140px;
height: 1px;
background-color: #4B8CE6;
left: 50%;
transform: translateX(-50%);
}
.comi_1thB .opt_note {
display: grid;
gap: 30px;
grid-template-columns: 2fr 1fr;
	border-radius: 10px;
	padding: 15px;
	border: 1px solid #4B8CE6;
	margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
.comi_1thB {
	padding-top: 10px;
	padding-bottom: 40px;
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
	padding-left: 20px;
	padding-right: 20px;
}

.comi_1thB h1.tadaima {
	width: 100%;
	margin-bottom: 20px;
}
.comi_1thB h1.tadaima span {
font-size: 3.8vw;
}

.comi_1thB .opt_note {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr;
	padding: 10px;
	margin-bottom: 20px;
}
}



/*収録予定　テーブル*/
.event-table-wrap{
  width: 100%;
  -webkit-overflow-scrolling: touch;
}

/* テーブル外枠 左右を消す */
table.event-table{
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
  border-top: 1px solid #9aa3ad;
  border-bottom: 1px solid #9aa3ad;
  border-left: none;
  border-right: none;
  font-size: 12px;
  line-height: 1.5;
}

/* セル共通 */
.event-table th,
.event-table td{
	border: 1px solid #9aa3ad;
	padding-top: 10px;
	padding-right: 5px;
	padding-bottom: 10px;
	vertical-align: middle;
	padding-left: 5px;
}

/* 左右端の縦線を消す */
.event-table th:first-child,
.event-table td:first-child{
  border-left: none;
}

.event-table th:last-child,
.event-table td:last-child{
  border-right: none;
}


.event-table thead th{
  background: #4B8CE6;
  color: #fff;
  font-weight: 700;
  text-align: center;
  position: relative;
}

/* 「撮影日 ▼」表示 */
.event-table thead th.is-sort::after{
  content: "▼";
  display: inline-block;
  margin-left: 4px;
  font-size: 11px;
  line-height: 1;
  transform: translateY(-1px);
  opacity: 0.95;
}
.event-table thead th.is-sort{
  cursor: pointer;
}


/* 列幅（画像の比率寄せ） */
.event-table th:nth-child(1){
	width: 28%;
}
.event-table td:nth-child(1){
	width: 28%;
	text-align: left;
}

.event-table th:nth-child(2),
.event-table td:nth-child(2){
	width: 9%;
	text-align: center;
}

.event-table th:nth-child(3),
.event-table td:nth-child(3){
	width: 18%;
	text-align: center;
}

.event-table th:nth-child(4),
.event-table td:nth-child(4){
	width: 18%;
	text-align: center;
}

.event-table th:nth-child(5),
.event-table td:nth-child(5){
	width: 21%;
	text-align: center;
}

.event-table th:nth-child(6),
.event-table td:nth-child(6){
	width: 6%;
	text-align: center;
}

.event-table a{
color: #4B8CE6;
 text-decoration: underline;
}

/* 行の高さを少し整える（長文対応） */
.event-table td:nth-child(1){
  word-break: break-word;
}






/*コミチャン　みんなのギャラリー*/
.comi_5th {
	padding-top: 0px;
	padding-bottom: 80px;
	position: relative;
	z-index: 0;
}
.comi_5th figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_5th figure img {
width: 100%;
height: auto;
display: block;
}
.comi_5th figure.minG {
	background-color: #EDF7FA;
	border-top-left-radius: 100px;
	border-top-right-radius: 100px;
}
.comi_5th figure.suki_mv {
background-color: #EDF7FA;
}
.comi_5th h2.rq_T {
font-size: 20px;
margin-bottom: 45px;
font-weight: bold;
border-left: 4px solid #FF6478;
padding-left: 10px;
position: relative;
display: flex;
}
.comi_5th h2.rq_T::after {
position: absolute;
bottom: -15px;
content: '';
width: 100%;
height: 1px;
background-color: #000000;
left: 50%;
transform: translateX(-50%);
}
.comi_5th h2.rq_T span img{
	width: 35px;
	height: auto;
	margin-right: 10px;
}

@media screen and (max-width: 767px) {
.comi_5th {
padding-top: 0px;
padding-bottom: 40px;
}
.comi_5th figure.minG {
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
}
.comi_5th h2.rq_T {
font-size: 4.8vw;
margin-bottom: 35px;
}
}


/*オプション*/
.comi_5th_opt1 {
	padding-top: 0px;
	padding-bottom: 5px;
	padding-left: 4%;
	padding-right: 4%;
	position: relative;
	z-index: 0;
	background-color: #EDF7FA;
}
.comi_5th_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr 2.5fr;
margin-bottom: 20px;
}

.comi_5th_opt1 ul.in_desc li.item {
	position: relative;
}
.comi_5th_opt1 ul.in_desc li.item.lead {
	margin-top: 230px;
}

/* mp4 slider */
.comi_5th_opt1 ul.in_desc li.item.mp4 .mp4-slider{
  position: relative;
  width: 100%;
  overflow: hidden;
  border-bottom-left-radius: 60px;
}

/* ここで高さを安定させたい場合は aspect-ratio を有効化 */
.comi_5th_opt1 ul.in_desc li.item.mp4 .mp4-slider{
  aspect-ratio: 16 / 9;
  background: #000;
}

.comi_5th_opt1 ul.in_desc li.item.mp4 .mp4-slider video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  transition: opacity .6s ease;
  pointer-events: none; /* 表示中以外を触れないように */
}

.comi_5th_opt1 ul.in_desc li.item.mp4 .mp4-slider video.is-active{
  opacity: 1;
  pointer-events: auto;
}

/* 既存指定の border-radius は video ではなく親へ */
.comi_5th_opt1 ul.in_desc li.item.mp4 video{
  border-bottom-left-radius: 0;
}


.comi_5th_opt1 .lead-box{
  position: absolute;
  left: 40px;
  top: 40px;
  z-index: 2;
}
.comi_5th_opt1 .lead-box p{
	color: #FF6478;
	font-size: 26px;
	line-height: 2.2;
	font-weight: bold;
}
.comi_5th_opt1 .lead-box p span{
	background: linear-gradient(transparent 0%, #FFFFFF 0%);
padding-bottom: 5px;
padding-left: 5px;
padding-right: 5px;
}

/* mp4 slider 側は relative 必須 */
.comi_5th_opt1 .mp4-slider{
  position: relative;
}


@media screen and (max-width: 767px) {
.comi_5th_opt1 {
padding-top: 0px;
padding-bottom: 20px;
}
.comi_5th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}
.comi_5th_opt1 ul.in_desc li.item.lead {
grid-row: 2 / 3;
grid-column: 1 / 2;
	margin-top: 0px;
}
.comi_5th_opt1 ul.in_desc li.item.mp4 .mp4-slider{
  border-bottom-left-radius: 30px;
}
.comi_5th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}

.comi_5th_opt1 .lead-box{
	position: static;
}
.comi_5th_opt1 .lead-box p{
font-size: 4vw;
	margin-bottom: 15px;
}
}



/*フィルム（全体）*/
.comi_film_opt1{
	background-color: #EDF7FA;
	padding-top: 40px;
	padding-right: 4%;
	padding-left: 4%;
	padding-bottom: 0px;
	position: relative;
	overflow: hidden; /* 斜め配置のはみ出しを綺麗に */
	z-index: 0;
	background-image: url("../parts/comi_g_kumo_pc.webp");
	background-position: 200px 0px;
	background-repeat: no-repeat;
}

/* 2カラムの土台（type2はabsoluteで抜く） */
.comi_film_opt1 ul.in_desc{
  position:relative;
  display:block;
}

/* 写真（左） */
.comi_film_opt1 .item.type1{
  width:min(45%, 720px);
  position:relative;
  z-index:2;
}
/*.comi_film_opt1 figure img{
  width:100%;
  height:auto;
  display:block;
}*/
.comi_film_opt1 ul.in_desc li.item.type1 figure img{
  border-bottom-right-radius:60px;
}

/* 画像トリミング */
.comi_film_opt1 figure {
width: 100%;
aspect-ratio: 590 / 380; /* 横：縦の比率 */
overflow: hidden; /* はみ出た部分を非表示 */
display: flex;
justify-content: center;
align-items: center;
}
.comi_film_opt1 figure img {
width: 100%;
height: 100%;
object-fit: cover; /* 画像をトリミング */
}


/* マスク枠：上下に逃げを作る */
.comi_film_opt1 .item.type2{
  position:absolute;
  right:0%;
  top:10px;
  width:min(56%, 760px);

  transform:none;
  overflow:hidden;
  border-radius:4px;

  padding-block: 28px;   /* ★これを追加：上下の逃げ（まずは 24〜36pxで調整） */
  z-index:1;
  pointer-events:none;
}

/* 中身：padding分を相殺して中央に戻す */
.comi_film_opt1 .film{
  width:100%;
  overflow:visible;
  transform: rotate(-3deg) scale(1.12); /* translateY は消す */
  transform-origin:center;
}


.comi_film_opt1 .film__track{
  display:flex;
  width:max-content;
  animation:film-move 18s linear infinite;
  will-change:transform;
}
.comi_film_opt1 .film__track img{
  height:clamp(160px, 10vw, 200px);
  width:auto;
  display:block;
  flex:0 0 auto;
}

@keyframes film-move{
  from{ transform:translateX(0); }
  to  { transform:translateX(-50%); } /* 画像2枚のうち1枚分だけ動かす */
}

@media screen and (max-width:1024px){
.comi_film_opt1 .item.type1{
  width:min(48%, 720px);
}
.comi_film_opt1 .film__track img{
  height:clamp(120px, 10vw, 200px);
}
}

@media screen and (max-width:767px){
.comi_film_opt1{
	padding-top: 0px;
	padding-right: 4%;
	padding-left: 4%;
	padding-bottom: 0px;
	background-image: url("../parts/comi_g_kumo_sp.webp");
	background-position: right top;
}
.comi_film_opt1 ul.in_desc{
display:flex;
flex-direction:column;
gap:0px;
}

.comi_film_opt1 .item.type2{
position: relative;
right: auto;
top: auto;
width: 100%;
z-index: 2;
margin-top: -50px;
}

.comi_film_opt1 .item.type1{
width:85%;
order:0;
z-index:1;
}

.comi_film_opt1 ul.in_desc li.item.type1 figure img{
border-bottom-right-radius:40px;
}
.comi_film_opt1 .film__track img{
height:clamp(90px, 10vw, 140px);
}
}


/* 左画像：フェードスライダー */
.comi_film_opt1 .in_SD{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10; /* 必要に応じて調整 */
  overflow: hidden;
  border-bottom-right-radius: 60px;
}

.comi_film_opt1 .in_SD figure{
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transition: opacity .8s ease;
}

.comi_film_opt1 .in_SD figure.is-active{
  opacity: 1;
}

.comi_film_opt1 .in_SD img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* SP */
@media (max-width:767px){
  .comi_film_opt1 .in_SD{
    border-bottom-right-radius: 40px;
  }
}






/*フォーム*/
.comi_5th_opt2 {
padding-top: 40px;
padding-bottom: 80px;
background-image: linear-gradient(90deg, #E1FFD3, #EDF7E9);
padding-left: 4%;
padding-right: 4%;
position: relative;
z-index: 0;
margin-top: -1px;
}

@media screen and (max-width: 767px) {
.comi_5th_opt2 {
padding-top: 20px;
padding-bottom: 40px;
}
}



.comi_5th_opt2 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 60px;
width: 90%;
margin-left: auto;
margin-right: auto;
}
.comi_5th_opt2 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_5th_opt2 figure img {
width: 100%;
height: auto;
display: block;
}
.comi_5th_opt2 ul.in_desc li.item {
}
@media screen and (max-width: 767px) {
.comi_5th_opt2 ul.in_desc {
	gap: 10px;
	grid-template-columns: 1fr;
	margin-bottom: 30px;
	width: 80%;
}
}




/*投稿方法*/
.comi_5th_opt2 ul.in_desc2 {
display: grid;
gap: 0px;
grid-template-columns: 1fr 1fr;
margin-bottom: 60px;
width: 95%;
margin-left: auto;
margin-right: auto;
}
.comi_5th_opt2 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.comi_5th_opt2 figure img {
width: 100%;
height: auto;
display: block;
}
.comi_5th_opt2 ul.in_desc2 li.item figure.logo {
	width: 80%;
	margin-bottom: 20px;
}
.comi_5th_opt2 figure.process {
margin-bottom: 40px;
}
.comi_5th_opt2 ul.in_desc2 li.item {
	position: relative;
	border-right: 1px solid #CCCCCC;
	padding-left: 40px;
	padding-right: 40px;
}
.comi_5th_opt2 ul.in_desc2 li.item h3 {
font-size: 18px;
font-weight: bold;
margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
.comi_5th_opt2 ul.in_desc2 {
gap: 50px;
grid-template-columns: 1fr;
margin-bottom: 60px;
}
.comi_5th_opt2 ul.in_desc2 li.item {
	border-right: 0px solid #CCCCCC;
	padding-left: 0px;
	padding-right: 0px;
}
.comi_5th_opt2 figure.process {
margin-bottom: 30px;
}
.comi_5th_opt2 ul.in_desc2 li.item h3 {
font-size: 3.6vw;
}
}


/*コミチャン　見逃し配信*/
.catchup_nv {
	padding-bottom: 40px;
	width: 85%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 0px;
}

.catchup_nv ul.in_desc {
	display: grid;
	gap: 40px;
	grid-template-columns: 1fr 1fr;
	margin-top: 10px;
	margin-bottom: 60px;
}
.catchup_nv ul.in_desc li.item {
position: relative;
}

.catchup_nv ul.in_desc li.item figure {
	border-top-left-radius: 50px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}

.catchup_nv figure.minogashi {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
}

.catchup_nv ul.in_desc2 p a {
	color: #2EA5B4!important;
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
.catchup_nv {
width: 90%;
padding-bottom: 0px;
}
.catchup_nv ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
}


.catchup_nv ul.in_desc2 {
	display: grid;
	gap: 40px;
	grid-template-columns: 1fr;
	margin-top: 10px;
	margin-bottom: 60px;
}




/*コミチャン　たうんプレミアム1week見逃し配信*/
.catchup_1week {
	padding-bottom: 20px;
	width: 94%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 0px;
	border-bottom: 1px solid #FF6478;
}

.catchup_1week ul.in_desc {
display: grid;
gap: 40px;
grid-template-columns: 1fr 3fr;
margin-top: 10px;
}
.catchup_1week ul.in_desc li.item {
position: relative;
}

.catchup_1week ul.in_desc li.item figure img {
	width: 100%;
	height: auto;
	display: block;
}
.catchup_1week ul.in_desc li.item {
display:flex;
align-items:center;
}
@media screen and (max-width: 767px) {
.catchup_1week {
width: 90%;
padding-bottom: 20px;
}
.catchup_1week ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.catchup_1week ul.in_desc li.item figure {
	width: 70%;
	margin-left: auto;
	margin-right: auto;
}
}


/*専門チャンネル番組表*/
.Special_opt1 {
	padding-top: 60px;
	padding-bottom: 60px;
	background: #FFE8EB;
	border-top-right-radius: 100px;
}
.Special_opt1 h2 {
	font-size: 28px;
	text-align: center;
	margin-bottom: 40px;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
.Special_opt1 {
padding-top: 30px;
padding-bottom: 40px;
border-top-right-radius: 70px;
}
}

.Special_opt1 ul.in_desc {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr 1fr;
margin-top: 10px;
	padding-bottom: 40px;
	width: 95%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 0px;
}
.Special_opt1 ul.in_desc li.item {
position: relative;
}

.Special_opt1 figure.osusume {
	width: 95%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 30px;
}
.Special_opt1 figure img {
width: 100%;
height: auto;
display: block;
}

.Special_opt1 figure.cgate {
width: 40%;
margin-right: auto;
margin-left: auto;
margin-top: 20px;
margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
.Special_opt1 ul.in_desc {
gap: 10px;
grid-template-columns: 1fr;
width: 90%;
padding-bottom: 20px;
}

.Special_opt1 figure.cgate {
width: 90%;
margin-top: 10px;
margin-bottom: 20px;
}
}



/*チャンネル別月刊番組表*/
.Spe_1th {
background: #FFE8EB;
padding-bottom: 70px;
}
.Spe_1th h2.ch_T {
background-color: #FF6478;
border-top-left-radius: 80px;
display: block;
width: 94%;
margin-right: 0px;
margin-left: auto;
padding-top: 20px;
padding-bottom: 20px;
}
.Spe_1th h2.ch_T img {
width: 38%;
display: block;
height: auto;
margin-left: 80px;
}
.Spe_1th figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.Spe_1th figure img {
width: 100%;
height: auto;
display: block;
}
.Spe_1th p.coming_s {
	text-align: center;
	font-size: 30px;
	line-height: 1.6em;
}
@media screen and (max-width: 767px) {
.Spe_1th {
padding-bottom: 40px;
}
.Spe_1th h2.ch_T {
border-top-left-radius: 50px;
width: 94%;
padding-top: 15px;
padding-bottom: 15px;
}
.Spe_1th h2.ch_T img {
width: 85%;
margin-left: 30px;
}
.Spe_1th p.coming_s {
font-size: 4.8vw;
}
}

/*オプション*/
.Spe_1th_opt1 {
	padding-top: 40px;
	padding-bottom: 80px;
	background-color: #FFFFFF;
	margin-right: 0px;
	margin-left: auto;
	width: 94%;
	box-sizing: border-box;
	padding-left: 3%;
	padding-right: 3%;
}
.Spe_1th_opt1 ul.in_desc1 {
	display: grid;
	gap: 30px;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 60px;
}
.Spe_1th_opt1 ul.in_desc1 li.item {
	border: 1px solid #4D9CE7;
	position: relative;
	padding-top: 0px;
	border-radius: 10px;
	padding-bottom: 20px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.2);
}
.Spe_1th_opt1 ul.in_desc1 li.item .cont {
	padding-left: 15px;
	padding-right: 15px;
}
.Spe_1th_opt1 ul.in_desc1 .ch_cat {
	margin-top: 10px;
	display: grid;
	gap: 5px;
	grid-template-columns: 1.2fr 1fr;
}

.Spe_1th_opt1 ul.in_desc1 .ch_cat .pack_G {
	display: grid;
	gap: 5px;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 5px;
}
.Spe_1th_opt1 ul.in_desc1 .ch_cat .genre_G {
	display: grid;
	gap: 5px;
	grid-template-columns: 1fr 1fr;
}
.Spe_1th_opt1 ul.in_desc1 .ch_cat p {
	text-align: center;
	font-size: 11px;
	line-height: 2em;
}
.Spe_1th_opt1 ul.in_desc1 .ch_cat .pack_G p {
border: 1px solid #4D9CE7;
color: #4D9CE7;
}
.Spe_1th_opt1 ul.in_desc1 .ch_cat .genre_G p {
	border: 1px solid #4D9CE7;
	background-color: #4D9CE7;
	color: #FFFFFF;
}
.Spe_1th_opt1 ul.in_desc1 li.item figure {
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	height: auto;
	margin-bottom: 10px;
}
.Spe_1th_opt1 ul.in_desc1 li.item h3 {
	display: flex;
	gap: 10px;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 5px;
	background-color: #4D9CE7;
	color: #FFFFFF;
	padding-top: 12px;
	padding-bottom: 12px;
	padding-left: 20px;
	padding-right: 0px;
	line-height: 1.5em;
	border-top-left-radius: 9px;
	border-top-right-radius: 9px;
}
.Spe_1th_opt1 ul.in_desc1 li.item p.lead {
	line-height: 1.8em;
	padding-top: 10px;
	padding-bottom: 10px;
}
.Spe_1th_opt1 ul.in_desc1 li.item p.detail {
	text-align: center;
}
.Spe_1th_opt1 ul.in_desc1 li.item p.detail a {
	color: #4D9CE7;
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
.Spe_1th_opt1 {
padding-top: 20px;
padding-bottom: 40px;
	padding-left: 0%;
	padding-right: 0%;
}

.Spe_1th_opt1 ul.in_desc1 {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
.Spe_1th_opt1 ul.in_desc1 .ch_cat {
	grid-template-columns: 1.4fr 1fr;
}
.Spe_1th_opt1 ul.in_desc1 .ch_cat p {
font-size: 2.3vw;
}
.Spe_1th_opt1 ul.in_desc1 li.item h3 {
font-size: 3.5vw;
}
.Spe_1th_opt1 ul.in_desc1 li.item p.lead {
	padding-top: 5px;
	padding-bottom: 5px;
}
}




/*パック別*/
.Spe_1th_opt1 ul.in_desc2 {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
.Spe_1th_opt1 ul.in_desc2 {
	gap: 10px;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 30px;
}
}

/*ジャンル別*/
.Spe_1th_opt1 ul.in_desc3 {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
.Spe_1th_opt1 ul.in_desc3 {
	gap: 10px;
	grid-template-columns: 1fr 1fr 1fr;
	margin-bottom: 40px;
}
}


/*016　モバイルプラン*/
.m_plan_opt1 {
	width: 75%;
	margin-right: auto;
	margin-left: auto;
}
.m_plan_opt1 ul.in_desc {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr;
}
.m_plan_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.m_plan_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.m_plan_opt1 ul.in_desc li.item {
	position: relative;
	box-shadow: 0 3px 10px rgba(0,0,0,0.15);
	border-top-left-radius: 50px;
}
@media screen and (max-width: 767px) {
.m_plan_opt1 {
	width: 100%;
}
.m_plan_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
}



/*あなたにぴったりのプラン*/
.m_which {
padding-top: 0px;
padding-bottom: 80px;
position: relative;
z-index: 0;
}
@media screen and (max-width: 767px) {
.m_which {
padding-top: 0px;
padding-bottom: 40px;
}
}

/*オプション*/
.m_which_opt1 {
padding-top: 40px;
background-color: #FFFFFF;
border-radius: 50px;
border: 10px solid #B2DBE9;
background-image: url("../parts/svm_plan_bg.webp");
background-position: center center;
background-size: cover;
background-repeat: no-repeat;
padding-left: 40px;
padding-right: 40px;
padding-bottom: 60px;
position: relative;
}
.m_which_opt1 h2 {
font-size: 35px;
text-align: center;
margin-bottom: 0px;
font-weight: 700;
color: #0087B4;
line-height: 1em;
margin-bottom: 10px;
}
.m_which_opt1 h2 span {
font-size: 25px;
}
.m_which_opt1 h2 strong {
background: linear-gradient(transparent 70%, #FFF000 70%);
padding-bottom: 0px;
padding-left: 5px;
padding-right: 5px;
}
.m_which_opt1 p.lead {
text-align: center;
margin-bottom: 30px;
}
.m_which_opt1 ul.in_desc {
display: grid;
gap: 50px;
grid-template-columns: 1fr;
}
.m_which_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.m_which_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.m_which_opt1 ul.in_desc li.item {
position: relative;
}
.m_which_opt1 ul.in_desc li.item:nth-child(1) {
display: flex;
gap: 30px;
justify-content: center;
align-items: center;
border-radius: 100px;
border: 1px solid #727171;
padding-top: 15px;
padding-bottom: 15px;
padding-left: 40px;
padding-right: 100px;
background-color: #FFFFFF;
margin-left: auto;
margin-right: auto;
}
.m_which_opt1 ul.in_desc li.item:nth-child(1) h3 {
font-size: 14px;
font-weight: normal;
text-align: center;
}
.m_which_opt1 ul.in_desc li.item:nth-child(1) span {
font-size: 30px;
color: #0087B4;
font-weight: 700;
font-family: "Open Sans", sans-serif;
font-style: italic;
}

.m_which_opt1 ul.in_desc li.item:nth-child(2) {
display: flex;
gap: 30px;
justify-content: center;
align-items: center;
}
.m_which_opt1 ul.in_desc li.item:nth-child(2) p a {
border-radius: 50px;
border: 1px dashed #777777;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 50px;
padding-right: 50px;
background-color: #FFFFFF;
transition: all 0.3s;
}
.m_which_opt1 ul.in_desc li.item:nth-child(2) p a:hover {
border-radius: 50px;
border: 1px solid #0087B4;
background-color: #0087B4;
color: #FFFFFF;
text-decoration: none;
}

.m_which_opt1 ul.in_desc li.item:nth-child(3) {
text-align: center;
}
.m_which_opt1 ul.in_desc li.item:nth-child(3) p.osusume {
border-radius: 50px;
border: 4px solid #B2DBE9;
padding-top: 10px;
padding-bottom: 10px;
transition: all 0.3s;
width: 50%;
margin-left: auto;
margin-right: auto;
box-sizing: border-box;
color: #0087B4;
font-size: 15px;
}
.m_which_opt1 ul.in_desc li.item:nth-child(3) p.result a {
border-radius: 50px;
padding-top: 15px;
padding-bottom: 15px;
transition: all 0.3s;
width: 50%;
margin-left: auto;
margin-right: auto;
box-sizing: border-box;
color: #FFFFFF;
font-size: 20px;
background-color: #FA8296;
display: block;
position: relative;
}
.m_which_opt1 ul.in_desc li.item:nth-child(3) p.result.anshin a {
background-color: #FA8296;
}
.m_which_opt1 ul.in_desc li.item:nth-child(3) p.result.share a {
background-color: #FD9646;
}
.m_which_opt1 ul.in_desc li.item:nth-child(3) p.result.single a {
background-color: #49B4FE;
}
.m_which_opt1 ul.in_desc li.item:nth-child(3) p.result.data a {
background-color: #64C897;
}

.m_which_opt1 ul.in_desc li.item:nth-child(3) p.result a::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 30px;
width: 8px;
height: 8px;
margin: -4px 0 0 0;
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transition: all 0.3s;
}
.m_which_opt1 ul.in_desc li.item:nth-child(3) p.result a:hover::after {
right: 25px;
}
.m_which_opt1 ul.in_desc li.item:nth-child(3) p.result a:hover {
text-decoration: none;
}
@media screen and (max-width: 767px) {
.m_which_opt1 {
padding-top: 20px;
padding-right: 20px;
padding-left: 20px;
padding-bottom: 130px;
}
.m_which_opt1 h2 {
font-size: 6.8vw;
margin-bottom: 10px;
line-height: 1em;
}
.m_which_opt1 h2 span {
font-size: 3.8vw;
}
.m_which_opt1 ul.in_desc {
gap: 30px;
grid-template-columns: 1fr;
}
.m_which_opt1 ul.in_desc li.item:nth-child(1) {
display: flex;
gap: 20px;
justify-content: center;
padding-left: 20px;
padding-right: 20px;
}
.m_which_opt1 ul.in_desc li.item:nth-child(1) h3 {
font-size: 3.6vw;
text-align: left;
}
.m_which_opt1 ul.in_desc li.item:nth-child(1) span {
font-size: 20px;
}

.m_which_opt1 ul.in_desc li.item:nth-child(2) {
display: flex;
flex-direction:column;
}
.m_which_opt1 ul.in_desc li.item:nth-child(2) p a {
padding-left: 50px;
padding-right: 50px;
width: 100%;
box-sizing: border-box;
}
.m_which_opt1 ul.in_desc li.item:nth-child(3) p.osusume {
width: 100%;
font-size: 3vw;
}
.m_which_opt1 ul.in_desc li.item:nth-child(3) p.result a {
width: 100%;
font-size: 4vw;
}
.m_which_opt1 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.m_which_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
}



.imgBg01{
width: 146px;
height: 207px;
background-image: url(../parts/svm_which1.svg);
background-repeat: no-repeat;
background-position: center top;
position: absolute;
z-index: 10;
bottom: 0px;
left: 15px;
}
.imgBg02{
width: 146px;
height: 207px;
background-image: url(../parts/svm_which2.svg);
background-repeat: no-repeat;
background-position: center top;
position: absolute;
z-index: 1;
bottom: 0px;
right: 15px;
}
@media screen and (max-width: 896px) {
.imgBg01{
height: 110px;
background-size: contain;
background-image: url(../parts/svm_which3.svg);
left: 50%;
transform: translateX(-50%);
}
.imgBg02{
display: none;
}
}


/*ボタンオプション*/
.which_btns {
display: grid;
gap: 60px;
grid-template-columns: 1fr;
margin-bottom: 100px;
}
.which_btns p.g_btn03 {
min-width: 500px;
}
.which_btns figure {
width: 500px;
margin-left: auto;
margin-right: auto;
}
.which_btns figure img {
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 767px) {
.which_btns {
gap: 30px;
margin-bottom: 70px;
}
.which_btns p.g_btn03 {
min-width: initial;
margin-right: auto;
margin-left: auto;
width: 100%;
}
.which_btns figure {
width: 100%;
}
}


/* JSが起動するまで診断結果ボタンを見せない用（チラ見え防止） */
.m_which_opt1.prefade .in_desc li.item:nth-child(3) .result {
  opacity: 0;
  visibility: hidden;
}



.is-hidden{display:none !important;}





/*022　でんき*/
.sv_denki_opt1 {
padding-top: 60px;
padding-bottom: 60px;
width: 95%;
margin-right: 0px;
margin-left: auto;
background-color: #FFFFFF;
border-top-left-radius: 80px;
box-shadow: 0 3px 10px rgba(0,0,0,0.1);
margin-bottom: 60px;
box-sizing: border-box;
}
.sv_denki_opt1 ul.in_desc {
	display: grid;
	gap: 30px;
	grid-template-columns: 1fr;
}
.sv_denki_opt1 ul.in_desc li.item {
position: relative;
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(1) {
	display: flex;
	gap: 50px;
	align-items: center;
	border-bottom: 1px solid #777777;
	padding-bottom: 30px;
}
.sv_denki_opt1 ul.in_desc li.item .d_price {
	font-size: 16px;
}

.sv_denki_opt1 ul.in_desc li.item .d_price span {
	padding-top: 10px;
	padding-bottom: 15px;
	width: 180px;
	border-radius: 10px;
	border: 1px solid #333333;
	font-size: 40px;
	font-weight: 500;
	margin-right: 10px;
	display: inline-block;
	padding-right: 20px;
	padding-left: 20px;
	text-align: right;
}
.sv_denki_opt1 ul.in_desc li.item h3 {
font-size: 18px;
font-weight: 400;
}

.sv_denki_opt1 ul.in_desc li.item:nth-child(2) {
	display: flex;
	gap: 50px;
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(2) .d_plan {
	display: flex;
	gap: 50px;
	align-items: center;
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(2) .d_plan p {
	font-size: 18px;
	padding-left: 40px;
	position: relative;
	margin-bottom: 10px;
}

.sv_denki_opt1 ul.in_desc li.item:nth-child(3) .simu a {
	font-size: 18px;
	color: #FFFFFF;
	border-radius: 10px;
	background-color: #0062B2;
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 350px;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 10px;
	transition: all 0.3s;
	margin-bottom: 50px;
	position: relative;
		box-sizing: border-box;
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(3) .simu a:hover {
	text-decoration: none;
	background-color: #FAC900;
	color: #000000;
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(3) .simu a::before {
position   : absolute;
content    : "";
width: 25px;
height: 15px;
background-color: #FAC900;
clip-path: polygon(0 0, 100% 0, 50% 100%);
bottom: -30px;
left: 50%;
transform: translateX(-50%);
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(3) p.pittari {
	font-size: 16px;
	text-align: center;
	margin-bottom: 10px;
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(3) h3.result {
	font-size: 30px;
	color: #FF5F00;
	border-radius: 10px;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	padding-top: 20px;
	padding-bottom: 20px;
	transition: all 0.3s;
	border: 5px solid #FAC900;
	font-weight: 600;
	margin-bottom: 5px;
}
.sv_denki_opt1 p.note {
font-size: 12px;
}
@media screen and (max-width: 767px) {
.sv_denki_opt1 {
padding-top: 30px;
padding-bottom: 30px;
border-top-left-radius: 40px;
margin-bottom: 40px;
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(1) {
	gap: 10px;
	flex-direction:column;
	align-items:flex-start;
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(2) {
	gap: 10px;
	flex-direction:column;
	align-items:flex-start;
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(2) .d_plan {
	gap: 10px;
	flex-direction:column;
	align-items:flex-start;
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(3) .simu a {
font-size: 18px;
color: #FFFFFF;
width: 100%;
box-sizing: border-box;
}
.sv_denki_opt1 ul.in_desc li.item:nth-child(3) h3.result {
font-size: 4.4vw;
}

.sv_denki_opt1 p.note {
font-size: 2.5vw;
}

.sv_denki_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.sv_denki_opt1 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.sv_denki_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
}


/*オプション*/
.tab_denki {
padding-top: 0px;
padding-bottom: 0px;
}
.tab_denki p {
font-size: 14px;
font-weight: 400;
}
.tab_denki .in_tab {
	padding: 30px;
	border: 3px solid #FAC900;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}
.tab_denki ul.in_desc {

}
.tab_denki ul.in_desc li.item {
	padding-bottom: 30px;
}
.tab_denki ul.in_desc li.item figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tab_denki ul.in_desc li.item figure img {
width: 100%;
height: auto;
display: block;
}

@media screen and (max-width: 767px) {
.tab_denki {
padding-top: 0px;
padding-bottom: 0px;
}
.tab_denki p {
font-size: 3vw;
}
.tab_denki .in_tab {
padding: 25px;
}
.tab_denki ul.in_desc {
}

}


/* 022　でんき　スクロール画像 */
.scroll-table.denki01 img{
width: 100%;
}
@media screen and (max-width: 767px) {
.scroll-table.denki01 img{
width: 700px;
}
}


/*ボタンオプション*/
.denki_btns {
display: grid;
gap: 20px;
grid-template-columns: 1fr;
margin-top: 70px;
}
.denki_btns p.jyoken {
text-align: center;
font-size: 15px;
}
@media screen and (max-width: 767px) {
.denki_btns {

}
}



/* ---- 電気プラン診断用 ---- */

.sv_denki_opt1 .denki_input{
padding-top: 10px;
padding-bottom: 10px;
width: 180px;
border-radius: 10px;
border: 1px solid #333333;
font-size: 40px;
font-weight: 500;
margin-right: 10px;
text-align: right;
line-height: 1.2em;
padding-right: 20px;
padding-left: 20px;
box-sizing: border-box;
-moz-appearance: textfield;
}
.sv_denki_opt1 .denki_input::-webkit-outer-spin-button,
.sv_denki_opt1 .denki_input::-webkit-inner-spin-button{
-webkit-appearance: none;
margin:0;
}


/* ラベル1つ分 */
.planChoice{
position:relative;
padding-left:40px;
font-size:18px;
line-height:1.4em;
display:flex;
align-items:flex-start;
cursor:pointer;
user-select:none;
}

/* テキスト部 */
.planChoice .planLabel{
display:inline-block;
margin-bottom:10px;
color:#000;
font-weight:400;
}

/* 実体のcheckboxは隠す */
.planCheck{
position:absolute;
opacity:0;
pointer-events:none;
}

/* 角丸四角ピンクチェック (流用) */
.planChoice .card-check{
	position: absolute;
	left: 0;
	top: 0;
	width: 22px;
	height: 22px;
	border: 3px solid #6f6f6f; /*グレーの枠線*/
	border-radius: 6px;
	background: #fff;
	display: inline-block;
	transition: box-shadow .2s, transform .1s;
	box-sizing: border-box;
}

/* ピンクの薄いチェック(常時) */
.planChoice .card-check::after{
content: "";
position: absolute;
top: -7px;
right: -6px;
width: 10px;
height: 16px;
border-right: 4px solid rgba(255,100,120,.28);
border-bottom: 4px solid rgba(255,100,120,.28);
transform: rotate(45deg);
transition: border-color .15s;
opacity:1;
}
.planChoice .card-check::before{
content: "";
position: absolute;
top: 0px;
right: -5px;
width: 10px;
height: 15px;
opacity: 1;
background-color: #FFFFFF;
}

/* チェックされているとき＝濃いピンク */
.planCheck:checked + .card-check::after{
border-right-color:#FF6478;
border-bottom-color:#FF6478;
}

/* キーボードフォーカス向け */
.planCheck:focus + .card-check{
box-shadow:0 0 0 3px rgba(255,100,120,.25);
}

/* 押下感 */
.planChoice .card-check:active{
transform:scale(.96);
}

@media screen and (max-width:767px){
.planChoice{
padding-left:34px;
font-size:3.6vw;
}
.planChoice .planLabel{
font-size:3.6vw;
}
.sv_denki_opt1 .denki_input{
width:80%;
font-size:8vw;
margin-right:10px;
}
}

/* シミュレーションの結果表示は、初期状態は非表示 */
.sv_denki_opt1 .result,
.sv_denki_opt1 .result-note {
display: none;
}




/*186_ケーブルモバイルeすまほ　OpenGateMobile*/
.tab_OGM {
	padding-top: 0px;
	padding-bottom: 0px;
	margin-bottom: 70px;
}
.tab_OGM p {
font-size: 14px;
font-weight: 400;
}
.tab_OGM .in_tab {
	padding: 30px;
	border: 3px solid #0087B4;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}
.tab_OGM ul.in_desc {

}
.tab_OGM ul.in_desc li.item {
	padding-bottom: 30px;
}
.tab_OGM ul.in_desc li.item h3 {
	padding-bottom: 20px;
	font-size: 20px;
	color: #0087B4;
	font-weight: bold;
}
.tab_OGM ul.in_desc li.item p.guide {
	padding-bottom: 20px;
}
.tab_OGM ul.in_desc li.item p.guide strong {
	font-size: 18px;
	font-weight: bold;
	color: #FF0004;
}
.tab_OGM ul.in_desc li.item p.guide span {
	font-size: 12px;
}
.tab_OGM ul.in_desc li.item p.note {
font-size: 12px;
}
.tab_OGM ul.in_desc li.item figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tab_OGM ul.in_desc li.item figure img {
width: 100%;
height: auto;
display: block;
}

.tab_OGM ul.in_desc li.item .bg_howtouse {
	border-radius: 60px;
	padding: 50px;
	background-color: #FFF7EE;
}
.tab_OGM ul.in_desc li.item h4 img{
	height: 75px;
	width: auto;
	display: block;
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
.tab_OGM {
padding-top: 0px;
padding-bottom: 0px;
margin-bottom: 0px;
}
.tab_OGM p {
font-size: 3vw;
}
.tab_OGM .in_tab {
padding: 25px;
}
.tab_OGM ul.in_desc li.item h3 {
	padding-bottom: 10px;
font-size: 4.4vw;
}
.tab_OGM ul.in_desc li.item p.guide strong {
font-size: 3.8vw;
}
.tab_OGM ul.in_desc li.item p.note {
font-size: 2.3vw;
}

.tab_OGM ul.in_desc li.item .bg_howtouse {
	border-radius: 0px;
	padding: 20px;
}
.tab_OGM ul.in_desc li.item h4 img{
	height: auto;
	width: 80%;
	margin-bottom: 20px;
}
}


/* OGM　スクロール画像 */
.scroll-table.OGM01 img{
width: 100%;
}
@media screen and (max-width: 767px) {
.scroll-table.OGM01 img{
width: 600px;
}
}

/* OGM　通話料金 */
.tel-fee {
  margin: 0;
  padding: 0;
  list-style: none;
  	line-height: 1.8em;
}

/* 1行（青＋グレー） */
.tel-fee > li {
  display: flex;
  margin-bottom: 10px;
}

/* 左側（青） */
.tel-fee__label {
  flex: 0 0 260px;          /* 固定幅。必要なら調整 */
  padding: 12px 20px;
  box-sizing: border-box;
  background: #0087B4;
  color: #fff;
  font-weight: 500;
}

/* 右側（グレー） */
.tel-fee__value {
  flex: 1 1 auto;
  padding: 12px 20px;
  box-sizing: border-box;
  background: #f5f6f6;
}

.tel-fee.options .tel-fee__value {
  background: #D9EDF4;
}
@media screen and (max-width: 767px) {
.tel-fee {
	font-size: 2.5vw;
	line-height: 1.8em;
}
.tel-fee__label {
  flex: 0 0 50%;
  padding: 10px 10px;
}
.tel-fee__value {
  padding: 10px 10px;
}

.tel-fee.options > li {
  display: flex;
  margin-bottom: 10px;
  flex-direction:column;
}
/* 左側（青） */
.tel-fee.options .tel-fee__label {
	flex: 0 0 auto;
	padding: 10px 10px;
	text-align: center;
}

}


.ogm_btns {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr;
width: 70%;
margin-left: auto;
margin-right: auto;
margin-bottom: 40px;
margin-top: 30px;
}
@media screen and (max-width: 767px) {
.ogm_btns {
display: grid;
gap: 10px;
grid-template-columns: 1fr;
padding-top: 10px;
padding-bottom: 10px;
width: 80%;
margin-bottom: 20px;
margin-top: 0px;
}
.ogm_btns p.g_btn02 {
min-width: initial;
margin-right: auto;
margin-left: auto;
width: 100%;
}
}





/*eてれびstick*/

.stick_Ld_opt1 {
	background-color: #E2EDFB;
	border-top-left-radius: 100px;
}
.stick_Ld_opt1 ul.in_desc {

}
.stick_Ld_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.stick_Ld_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.stick_Ld_opt1 ul.in_desc li.item {
}

@media screen and (max-width: 767px) {
.stick_Ld_opt1 {
	padding-top: 50px;
	margin-top: 30px;
	border-top-left-radius: 70px;
}

}



/*オプション*/
.stick_Ld2_opt1 {
	padding-top: 40px;
	padding-bottom: 60px;
	background-color: #FFFFFF;
	width: 94%;
	margin-right: 0px;
	margin-left: auto;
	border-top-left-radius: 80px;
	padding-left: 20px;
	margin-bottom: 40px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.15);
	padding-right: 20px;
}

.stick_Ld2_opt1 ul.in_desc {
display: grid;
gap: 15px;
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.stick_Ld2_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.stick_Ld2_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.stick_Ld2_opt1 ul.in_desc li.item {

}
.stick_Ld2_opt1 h3 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
.stick_Ld2_opt1 {
	padding-top: 40px;
	padding-bottom: 40px;
	padding-left: 10px;
	padding-right: 10px;
}
.stick_Ld2_opt1 ul.in_desc {
display: grid;
gap: 15px;
grid-template-columns: 1fr;
}
.stick_Ld2_opt1 h3 {
font-size: 4.6vw;
margin-bottom: 10px;
}
}



/*オプション　まずはお試し*/
#stick_trial{
	padding-top: 80px;
}
@media screen and (max-width: 767px) {
#stick_trial{
	padding-top: 100px;
}
}
.stick_Ld3_opt1 {
	padding: 40px;
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	border-radius: 20px;
	border: 3px solid #4B8CE6;
	/*margin-top: 80px;*/
	position: relative;
	margin-bottom: 40px;
	box-sizing: border-box;
}
.stick_Ld3_opt1 h3 {
	position: absolute;
	top: -25px;
	width: 60%;
	left: 50%;
transform: translateX(-50%);
}
.stick_Ld3_opt1 h3 img {
width: 100%;
height: auto;
display: block;
}
.stick_Ld3_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr 1fr;
}
.stick_Ld3_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.stick_Ld3_opt1 figure img {
width: 100%;
height: auto;
display: block;
}

.stick_Ld3_opt1 ul.in_desc li.item:nth-child(1) {
grid-row: 1 / 2;
grid-column: 1 / 3;
}
@media screen and (max-width: 767px) {
.stick_Ld3_opt1 {
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 30px;
	width: 90%;
	padding-top: 60px;
	margin-bottom: 30px;
}
.stick_Ld3_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
.stick_Ld3_opt1 ul.in_desc li.item:nth-child(1) {
grid-row: 1 / 2;
grid-column: 1 / 2;
}
.stick_Ld3_opt1 h3 {
	top: -40px;
	width: 80%;
	left: 50%;
transform: translateX(-50%);
}
}



/*料金シミュレーション2カラム*/
.simu_wrap {
	display: grid;
	gap: 30px;
	/*grid-template-columns: 3fr 1fr;*/
	grid-template-columns: 3fr minmax(300px, 1fr);
}
.simu_wrap .main {
	margin-bottom: 70px;
}
.simu_wrap .side {
/*background: #0062B2;
	padding: 15px;*/
}
.simu_wrap .main {
	padding: 0px;
}
@media(max-width: 1024px){
.simu_wrap {
	grid-template-columns: 1fr;
	margin-top: 30px;
	gap: 0px;
}
.simu_wrap .main {
grid-row: 2 / 3;
grid-column: 1 / 2;
margin-bottom: 40px;
}
}

/* 右カラム内ボックスを sticky にする */
.simu_wrap .sim-card {
position: sticky;
top: 0px;  /* ヘッダーや上部の余白に合わせて調整 */
background: #0062B2;
padding: 15px;
}
/* PC 固定用クラス */
.simu_wrap .sim-card.is-fixed-pc {
	position: fixed;
	top: 0px;          /* PC での上オフセット。デザインに合わせて調整 */
	z-index: 50;
}
@media(max-width: 1024px){
  .simu_wrap .sim-card.is-fixed-sp {
    position: fixed;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 100;
  }
}





/*アイコン付きタイトル*/
.sim_Gt {
display: flex;
align-items: center;
justify-content: center;
}
.sim_Gt h1 {
	font-size: 30px;
	font-weight: bold;
}
.sim_Gt h1.S_tv {
	color: #FF6478;
}
.sim_Gt h1.S_inet {
	color: #1EAFFF;
}
.sim_Gt h1.S_tel {
	color: #5ACDB4;
}
.sim_Gt i{
flex-basis: 50px;
margin-right: 10px;
}
.sim_Gt i img{
width: 100%;
height: auto;
display: block;
}
@media(max-width: 767px){
.sim_Gt h1 {
}
.sim_Gt i{
flex-basis: 12%;
margin-right: 7px;
}
.sim_Gt h1 {
	font-size: 20px;
}
}

/*シミュレーション　オプション*/
.simu_opt1 {
	border-radius: 15px;
	padding: 40px;
	background-color: #FFF5E6;
	margin-bottom: 30px;
}
.simu_opt1 h2 {
	font-size: 30px;
	text-align: center;
	margin-bottom: 20px;
	font-weight: bold;
	line-height: 1.3em;
}
.simu_opt1 h2 span {
	font-size: 16px;
	display: block;
}

.simu_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr 1fr;
}
.simu_opt1 figure {
width: 50px;
margin-left: auto;
margin-right: auto;
}
.simu_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.simu_opt1 ul.in_desc li.item {
padding: 10px;
border: 3px solid #FFFFFF;
position: relative;
border-radius: 10px;
background-color: #FFFFFF;
cursor: pointer;
}
.simu_opt1 ul.in_desc li.item.current {
border: 3px solid #FF9600;
background-color: #FFFFBE;
}
.simu_opt1 ul.in_desc li.item h3 {
font-size: 20px;
font-weight: bold;
text-align: center;
}

@media screen and (max-width: 767px) {
.simu_opt1 {
padding: 15px;
}
.simu_opt1 h2 {
font-size: 5.8vw;
margin-bottom: 10px;
}
.simu_opt1 h2 span {
font-size: 3.3vw;
}
.simu_opt1 ul.in_desc {
gap: 15px;
grid-template-columns: 1fr;
}
.simu_opt1 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
}


/*選択*/
@media(max-width: 767px){
.simu_opt1 .sv_type {
display: flex;
align-items: center;
justify-content: center;
}
.simu_opt1 .sv_type figure {
	width: auto;
	margin-left: 0px;
	margin-right: 0px;
}
.simu_opt1 .sv_type figure{
flex-basis: 12%;
margin-right: 7px;
}
.simu_opt1 .sv_type figure img{
width: 100%;
height: auto;
display: block;
}
}



/* シミュレーション　チェックボックス */
.simu_opt1 .card-check,.simu_opt2 .card-check{
	left: 12px;
}
@media (max-width:767px){
.simu_opt1 .card-check,.simu_opt2 .card-check{
width:18px; height:18px;
border:2px solid #6f6f6f;
border-radius:6px;
}

/* ✓ の描画（既定＝薄いピンクを常に表示） */
.simu_opt1 .card-check::after,.simu_opt2 .card-check::after{
top: -3px;
right: -2px;
width: 8px;
height: 12px;
border-right: 3px solid rgba(255,100,120,.28);
border-bottom: 3px solid rgba(255,100,120,.28);
}
.simu_opt1 .card-check::before,.simu_opt2 .card-check::before{
height: 13px;
}

}



/* シミュレーション　フロー矢印 */
.sim_flow{
	width: 46px;
	height: 24px;
	margin-left: auto;
	margin-right: auto;
	background-image: url('../parts/sim_i_flow.svg');
	background-size: contain; /* 画像の縦横比をそのまま */
	background-position: center;
	background-repeat: no-repeat;
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
.sim_flow{
	width: 36px;
	height: 19px;
	margin-bottom: 10px;
}
}



/*シミュレーション　オプション2*/
.simu_opt2 {
	border-radius: 15px;
	padding: 40px;
	background-color: #FFF5E6;
	margin-bottom: 30px;
}
.simu_opt2 h2 {
	font-size: 30px;
	text-align: center;
	margin-bottom: 20px;
	font-weight: bold;
	line-height: 1.3em;
}
.simu_opt2 h2 span {
	font-size: 16px;
	display: block;
}
.simu_opt2 p.guide {
	text-align: center;
	margin-bottom: 20px;
}
.simu_opt2 p.guide a {
	color: #0062B2;
	text-decoration: underline;
}

.simu_opt2 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr 1fr;
}
.simu_opt2 figure {
width: 50px;
margin-left: auto;
margin-right: auto;
}
.simu_opt2 figure img {
width: 100%;
height: auto;
display: block;
}
.simu_opt2 ul.in_desc li.item {
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 20px;
	border: 3px solid #FFFFFF;
	position: relative;
	border-radius: 10px;
	background-color: #FFFFFF;
	padding-top: 30px;
	cursor: pointer;
}
.simu_opt2 ul.in_desc li.item.current {
	border: 3px solid #FF9600;
	background-color: #FFFFBE;
}
/*申し込まない*/
.simu_opt2 ul.in_desc li.item.not_apply {
grid-row: 2 / 3;
grid-column: 1 / 3;
}

.simu_opt2 ul.in_desc li.item i {
	width: 30px;
	height: auto;
	position: absolute;
	top: 8px;
	right: 8px;
}
.simu_opt2 ul.in_desc li.item h3 {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.simu_opt2 ul.in_desc li.item p.lead {
	line-height: 1.8em;
	margin-top: 5px;
	margin-bottom: 5px;
	font-size: 12px;
	color: #666666;
}
.simu_opt2 ul.in_desc li.item p.note {
	line-height: 1.8em;
	margin-top: 10px;
	margin-bottom: 0px;
	font-size: 12px;
	text-align: left;
	color: #666666;
}
.simu_opt2 ul.in_desc li.item p.del {
	line-height: 1.8em;
	margin-top: 10px;
	margin-bottom: 0px;
	font-size: 12px;
	text-align: left;
	color: #FF0004;
}
.simu_opt2 ul.in_desc li.item p {
	text-align: center;
}
.simu_opt2 ul.in_desc li.item p span {
	color: #FF9600;
}
.simu_opt2 ul.in_desc li.item p strong {
	font-size: 25px;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
.simu_opt2 {
padding: 15px;
}
.simu_opt2 h2 {
font-size: 5.8vw;
margin-bottom: 10px;
}
.simu_opt2 h2 span {
font-size: 3.3vw;
}
.simu_opt2 p.guide {
	text-align: left;
	margin-bottom: 10px;
}
.simu_opt2 ul.in_desc {
gap: 15px;
grid-template-columns: 1fr 1fr;
}
.simu_opt2 ul.in_desc li.item {
	padding-right: 8px;
	padding-left: 8px;
	padding-bottom: 10px;
	padding-top: 35px;
}
/*申し込まない*/
.simu_opt2 ul.in_desc li.item.not_apply {
padding-top: 15px;
}
.simu_opt2 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
.simu_opt2 ul.in_desc li.item p.lead {
font-size: 2.5vw;
margin-top: 3px;
margin-bottom: 3px;
}
.simu_opt2 ul.in_desc li.item p.note {
font-size: 2.5vw;
margin-top: 3px;
}
.simu_opt2 ul.in_desc li.item p.del {
font-size: 2.5vw;
margin-top: 3px;
}
.simu_opt2 ul.in_desc li.item p span {
	display: block;
}
.simu_opt2 ul.in_desc li.item p strong {
font-size: 4.4vw;
}
}



/*シミュレーション　モーダル*/
.in_sim {
width: 100%;
padding-right: 70px;
padding-left: 70px;
padding-bottom: 70px;
padding-top: 60px;
}
.in_sim h2 {
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #CCCCCC;
}
.in_sim p {
font-size: 13px;
font-weight: 100;
margin-bottom: 0px;
}
.in_sim p a {
	color: #0062B2;
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
.in_sim {
padding: 30px;
}
.in_sim h2 {
font-size:4.8vw;
}
.in_sim p {
font-size: 3.3vw;
}

}



.simu_opt3 {
display: grid;
gap: 80px;
grid-template-columns: 1fr 1fr;
margin-bottom: 40px;
box-sizing: border-box;
}
@media screen and (max-width: 767px) {
.simu_opt3 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
}

.simu_dl {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr;
margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
.simu_dl {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
}

/* シミュレーション結果 */
.sim-card {
  color: #fff;
  line-height: 1.8em;
}

/* タイトル */
.sim-card .sim-card__title {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px;
}

.sim-card .things {
	background: #fff;
	color: #222;
	border-radius: 10px;
	padding: 15px;
	margin-bottom: 10px;
}
.sim-card .things.result {
  margin-bottom: 15px;
}

/* 金額ヘッダー */
.sim-card .price-h {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.sim-card .price-h__left {
  font-size: 14px;
  font-weight: 700;
  color: #0062B2;
}
.sim-card .price-h__left span {
	font-size: 12px;
	display: block;
}
.sim-card .price-h__right {
  text-align: right;
}

.sim-card .price-h__label {
  font-size: 12px;
  font-weight: 700;
  color: #0062B2;
  display: block;
}

.sim-card .price-h__price {
  font-size: 26px;
  color: #FF9600;
  font-weight: 800;
}

.sim-card .price-h__price .yen {
  font-size: 14px;
}

/* 内訳 */
.sim-card .price-b {
	background: #CCE0F0;
	margin: 16px -16px -16px;
	padding-top: 20px;
	padding-right: 18px;
	padding-left: 18px;
	padding-bottom: 15px;
	border-radius: 0 0 12px 12px;
	position: relative;
}
.sim-card .price-b::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 12px;
  background-color: #CCE0F0;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
}

/* ===== 内訳の横に小計・割引・合計を並べる ===== */
.sim-card .price-b__inner {
  display: grid;
gap: 10px;
grid-template-columns: 1fr 3fr;
}

/* 内訳ラベル */
.sim-card .price-b__caption {
	font-size: 12px;
	background: #fff;
	padding-top: 3px;
	padding-right: 7px;
	padding-left: 7px;
	padding-bottom: 3px;
	border-radius: 4px;
	white-space: nowrap;
	margin: 0;
	align-self: start;
	text-align: center;
}

/* 明細テーブル */
.sim-card .price-table {
  margin: 0;
}

.sim-card .price-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  margin: 6px 0;
}

.sim-card .price-row--total {
  border-top: 1px dotted #666;
  padding-top: 10px;
  margin-top: 8px;
}

/* 各サービスボックス */
.sim-card .sv-box {
	display: grid;
	gap: 10px;
	grid-template-columns: 1.2fr 4fr;
	margin-bottom: 5px;
}

.sim-card .sv_i img {
  width: 48px;
  height: 48px;
}

.sim-card .sv-type {
  font-size: 13px;
  font-weight: 700;
  color: #2164b8;
  margin: 0 0 4px;
}

.sim-card .sv-main {
  font-size: 16px;
  font-weight: 400;
  margin: 0;
}

.sim-card .sv-sub {
	font-size: 14px;
	margin-top: 4px;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 0;
	padding-left: 4.5em;
	text-indent: -4.5em;
	border-top: 1px dotted #666666;
	padding-top: 4px;
}
.sim-card .sv-sub span {
	font-size: 11px;
	font-weight: 700;
	color: #2164b8;
	margin-right: 4px;
}
.sim-card p.discount {
  font-size: 13px;
  margin: 0;
}

@media(max-width: 1024px){
.sim-card {
	width: 100%;
	box-sizing: border-box;
}

.sim-card .things {
	border-radius: 8px;
	padding-top: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	padding-right: 15px;
}
.sim-card .things.result {
  display: grid;
gap: 10px;
grid-template-columns: 1fr 1fr;
margin-bottom: 0px;
}
.sim-card .price-row {
  font-size: 13px;
  margin: 0px 0;
}
.sim-card .price-row--total {
  padding-top: 5px;
  margin-top: 5px;
}
.sim-card .price-h {
grid-row: 1 / 2;
grid-column: 2 / 3;
}
.sim-card .price-h {
  flex-direction:column;
}
.sim-card .price-h__left span {
	display: inline-block;
}
.sim-card .price-b {
	margin-top: -10px;
	margin-left: -10px;
	margin-bottom: -10px;
	padding: 20px 18px;
	border-radius: 10px 0 0px 10px;
}
.sim-card .price-b::before {
	position: absolute;
	content: "";
	width: 12px;
	height: 20px;
	background-color: #CCE0F0;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	left: auto;
	top: 50%;
transform: translateY(-50%);
	right: -12px;
}
.sim-card .price-b__caption {
	font-size: 10px;
	padding-top: 0px;
	padding-right: 5px;
	padding-left: 5px;
	padding-bottom: 0px;
}
.sim-card .things.opt {
	display: none;
}

}


/*シミュレーション　選択内容の確認*/
.simu_confirm {
	margin-bottom: 30px;
}
.simu_confirm p.guide {
	margin-bottom: 20px;
}
.simu_confirm ul.in_desc {
display: grid;
gap: 15px;
grid-template-columns: 1fr;
}
.simu_confirm figure {
width: 70px;
margin-left: auto;
margin-right: auto;
}
.simu_confirm figure img {
width: 100%;
height: auto;
display: block;
}
.simu_confirm ul.in_desc li.item {
position: relative;
border-radius: 10px;
background-color: #FFE5BF;
display:flex;
gap: 0px;
align-items:center;
}
.simu_confirm .sv_type {
	flex-basis: 30%;
}
.simu_confirm .in_txt {
flex-basis: 70%;
}
.simu_confirm ul.in_desc li.item h3 {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #0062B2;
	margin-top: 0px;
}
@media screen and (max-width: 767px) {
.simu_confirm p.guide {
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 6%;
	margin-right: 6%;
}
.simu_confirm ul.in_desc {
gap: 15px;
grid-template-columns: 1fr;
}
.simu_confirm ul.in_desc li.item {
align-items:center;
flex-direction:column;
display: block;
    width: 100%;
}
.simu_confirm .sv_type {
	flex-basis: 100%;
	padding-top: 15px;
	padding-bottom: 15px;
}
.simu_confirm .in_txt {
flex-basis: 100%;
}
.simu_confirm ul.in_desc li.item h3 {
font-size: 3.6vw;
}
}

@media(max-width: 767px){
.simu_confirm .sv_type {
display: flex;
align-items: center;
justify-content: center;
}
.simu_confirm .sv_type figure {
	width: auto;
	margin-left: 0px;
	margin-right: 0px;
}
.simu_confirm .sv_type figure{
flex-basis: 12%;
margin-right: 7px;
}
.simu_confirm .sv_type figure img{
width: 100%;
height: auto;
display: block;
}
}



.in_txt .fee-box {
	background: #FFF5E6;
	padding-top: 30px;
	padding-right: 24px;
	padding-left: 24px;
	padding-bottom: 30px;
	color: #333;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
	line-height: 1.8em;
	box-sizing: border-box;
}
/* 上の2行（基本STB・おすすめパック） */
.in_txt .fee-row {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  box-sizing: border-box;
}
.in_txt .fee-item {
  flex: 1;
}
.in_txt .fee-price {
  white-space: nowrap;
}
/* 点線 */
.in_txt .fee-divider {
  border-bottom: 1px dotted #333;
  margin: 10px 0 12px;
}
/* 注意書き */
.in_txt .fee-note {
  margin-bottom: 10px;
}
/* リンク */
.in_txt .fee-link a {
  color: #0062B2;
  text-decoration: underline;
}
/* 「オプション」の見出し */
.in_txt .fee-section-title {
  margin: 4px 0 6px;
  font-size: 14px;
  font-weight: bold;
  color: #0062B2;
}
/* スマホ調整 */
@media (max-width: 767px) {
  .in_txt .fee-box {
	padding: 16px;
	width: 100%;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 10px;
	border-top-right-radius: 0px;
	font-size: 2.5vw;
  }
  .in_txt .fee-row {
 width: 100%;
}
}







/* お問い合わせアコーディオン */
.adion {

}
/* タイトル部分（クリック領域） */
.adion-title {
	position: relative;
	margin: 0;
	padding-top: 15px;
	padding-right: 30px;
	padding-left: 20px;
	padding-bottom: 15px; /* 右にアイコン分の余白 */
	background: #f8f8f8;
	border-radius: 10px;
	cursor: pointer;
}

/* ＋／−アイコン */
.adion-title::after {
	content: '+';
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	font-weight: 300;
	font-size: 25px;
}

/* 開いているときのアイコン（−） */
.adion.is-open .adion-title::after {
  content: '−';
}

/* コンテンツ部分（アニメーション） */
/* ここが重要：max-height をアニメ */
.adion .in_content{
  max-height: 0;
  overflow: hidden;
  padding: 0 16px;
  box-sizing: border-box;
  transition: max-height .55s ease, padding .25s ease, opacity .25s ease;
  opacity: 0;
}
.adion.is-open .in_content{
  opacity: 1;
}
/* 開いているとき */
.adion.is-open .in_content {
  max-height: 1000px; /* 適当な大きめの値 */
}




/*広告一覧*/
.adv_1th {
	padding-top: 60px;
	padding-bottom: 60px;
	position: relative;
	background-color: #EBF9FC;
	z-index: 0;
	border-top-right-radius: 100px;
	padding-left: 3%;
	padding-right: 3%;
}
@media screen and (max-width: 767px) {
.adv_1th {
padding-top: 40px;
padding-bottom: 40px;
border-top-right-radius: 70px;
}
}

/*広告一覧*/
.adv_1th_opt1 {
	margin-bottom: 40px;
}
.adv_1th_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 40px;
}
.adv_1th_opt1 .FandT {
padding: 10px;
box-sizing: border-box;
}

/* 画像枠：高さ固定だけしておく */
.adv_1th_opt1 figure {
    width: 100%;
    height: 200px; 
    margin: 0 auto 10px;
    overflow: visible;
}

/* 画像：枠の中に必ず全部収まる & 中央配置 */
.adv_1th_opt1 figure img {
    width: 100% !important;    /* 枠幅にフィット */
    height: 100% !important;   /* 枠高さにフィット */
    object-fit: contain;       /* 全体が見えるように縮小 */
    object-position: center;   /* 中央寄せ */
    display: block;
}


.adv_1th_opt1 ul.in_desc li.item {
position: relative;
background-color: #FFFFFF;
}
.adv_1th_opt1 ul.in_desc li.item h3 {
font-size: 15px;
font-weight: bold;
margin-bottom: 5px;
text-align: center;
color: #0062B2;
margin-top: 5px;
}
.adv_1th_opt1 ul.in_desc li.item p.date {
font-size: 14px;
text-align: center;
color: #FFFFFF;
background-color: #0062B2;
border-top-left-radius: 30px;
padding-top: 5px;
padding-bottom: 5px;
}
.adv_1th_opt1 ul.in_desc li.item .code {
display: flex;
justify-content: center;
gap: 10px;
font-size: 14px;
text-align: center;
background-color: #CDDFF8;
padding-top: 10px;
padding-bottom: 10px;
line-height: 1.6em;
}
.adv_1th_opt1 ul.in_desc li.item .code span {
font-size: 11px;
text-align: center;
border-radius: 30px;
background-color: #FFFFFF;
padding-left: 10px;
padding-right: 10px;
}
@media screen and (max-width: 767px) {
.adv_1th_opt1 {
	margin-bottom: 20px;
}
.adv_1th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 20px;
}
.adv_1th_opt1 ul.in_desc li.item h3 {
font-size: 3.3vw;
}
.adv_1th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
}



/*折り込み*/
.media_nav {
margin-bottom: 0px;
}
.media_nav ul {
display: grid;
gap: 10px;
grid-template-columns: 1fr 1fr;
}

.media_nav ul li {
	font-size: 11px;
	padding: 5px;
	color: #FFFFFF;
	background-color: #000000;
	transition: all 0.3s;
	display: block;
	line-height: 1.6em;
	position: relative;
	text-align: center;
}

@media screen and (max-width: 767px) {
.media_nav {
}
.media_nav ul li a {
padding-top: 10px;
padding-bottom: 10px;
font-size: 2.5vw;
}
}


/*タグ*/
.media_nav2 {
margin-bottom: 10px;
}
.media_nav2 ul {
display: grid;
gap: 5px 10px;
grid-template-columns: 1fr 1fr;
}
.media_nav2 ul li {
	font-size: 11px;
	padding: 5px;
	color: #0062B2;
	border-radius: 30px;
	background-color: #CDDFF8;
	transition: all 0.3s;
	display: block;
	line-height: 1.6em;
	position: relative;
	text-align: center;
	border: 1px solid #0062B2;
}
@media screen and (max-width: 767px) {
.media_nav2 {
margin-bottom: 10px;
}
.media_nav2 ul li a {
padding-top: 10px;
padding-bottom: 10px;
font-size: 2.5vw;
}
}


/*広告一覧　モーダル*/
.adv_D {
width: 100%;
padding-bottom: 70px;
padding-top: 60px;
}
.adv_D figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.adv_D figure img {
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 767px) {
.adv_D {
	padding-top: 60px;
	padding-bottom: 30px;
	padding-left: 30px;
	padding-right: 30px;
}

}

p.ad_btn {
min-width: 300px;
}
p.ad_btn a{
	padding-top: 10px;
	padding-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
	/*width: 100%;*/
	text-align: center;
	margin-bottom: 0px;
	display: block;
	border-radius: 50px;
	transition: all 0.3s;
	line-height: 1.5em;
	background: #0062B2;
	color: #FFFFFF;
	font-size: 13px;
	position: relative;
	padding-left: 40px;
	padding-right: 50px;
	text-decoration: none!important;
}
p.ad_btn a:hover{
	color: #FFFFFF!important;
}

@media(max-width: 767px){
p.ad_btn {
min-width: initial;
margin-right: auto;
margin-left: auto;
width: 90%;
}
p.ad_btn a{
font-size: 2.8vw;
padding-left: 10px;
padding-right: 20px;
box-sizing: border-box;
}
}


/* もっと見る */
.ad_more {
	
}

.ad_more a {
	gap: 10px;
	position: relative;
	text-decoration: none;
	color: #FFFFFF;
	font-weight: 600;
	line-height: 1.4;
	padding-right: 40px;
	background-color: #0062B2;
	width: 200px;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 20px;
	text-align: center;
	border-radius: 8px;
	display: inline-block;
}

/* 丸い背景 */
.ad_more a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 28px;
	height: 28px;
	background-color: #f46f7a;
	border-radius: 50%;
	transform: translateY(-50%);
}

/* 白い矢印（前面に表示） */
.ad_more a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 31px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	z-index: 1;
}

/* hover時のエフェクト */
.ad_more a:hover::before {
  background-color: #e45b69;
  transition: background-color 0.3s;
}



/* エリア検索 */
.area_opt1{
	width: 100%;
	margin-left: auto;
	margin-right: 0px;
	box-sizing: border-box;
	margin-bottom: 60px;
}
.area_opt1 .in_desc {
margin-bottom: 50px;
padding: 30px;
border: 3px solid #6E64C8;
border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px;
}
@media screen and (max-width: 820px) {
.area_opt1{
margin-bottom: 30px;
}
.area_opt1 .in_desc {
margin-bottom: 30px;
padding: 15px;
}
}



/* エリア検索　地図 */
.map-wrap {
width: 100%;
}
.map-wrap iframe {
width: 100%;
border: 0;
display: block;
}
@media screen and (min-width: 769px) {
.map-wrap iframe {
height: 700px;
}
}

/* スマホ（1:1） */
@media screen and (max-width: 768px) {
.map-wrap {
aspect-ratio: 1 / 1;
}
.map-wrap iframe {
height: 100%;
}
}



/* 集合住宅検索 */
:root{
  --catv-accent: #6E64C8;
  --catv-gray: #bdbdbd;
}

/* フォーム */
.m_Grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 18px;
}

.m_Field__label{
  margin: 0 0 10px;
  background: var(--catv-accent);
  color: #fff;
  text-align: center;
  padding: 5px 12px;
  border-radius: 50px;
}

.m_Field__input,
.m_Field__select{
	width: 100%;
	height: 46px;
	border: 2px solid var(--catv-gray);
	border-radius: 6px;
	padding: 0 14px;
	background: #fff;
	outline: none;
	box-sizing: border-box;
	font-size: 13px;
}

.m_Field__input::placeholder{
  color:#9b9b9b;
}

/* ボタン */
.m_Btns{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 22px 0 18px;
}

.m_Btn{
  height: 50px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor:pointer;
  background:#ededed;
  border: 3px solid var(--catv-accent);
}

/* 凡例 */
.m_Legend{
  display:flex;
  gap: 10px;
  margin: 12px 0 12px;
  line-height: 1.7;
}

/* =========================
  検索結果：擬似スクロールバー版
========================= */

/* 外側ラッパー */
.m_Scroll{
  position: relative;
}

/* 実スクロール領域（標準バーは非表示） */
.m_Results{
  margin-top: 12px;
  border-radius: 8px;
  height: 420px;
  overflow-y: auto;
  overflow-x: hidden;
  background:#fff;
  padding: 12px;

  /* 擬似バーのぶん右を空ける */
  padding-right: 26px;

  /* Firefox */
  scrollbar-width: none;

  /* IE/旧Edge */
  -ms-overflow-style: none;
}
.m_Results::-webkit-scrollbar{
  width: 0;
  height: 0;
}

/* 擬似スクロールバー（常時表示） */
.m_Sbar{
  position: absolute;
  top: 12px;
  right: 0px;
  width: 14px;
  height: calc(100% - 24px);
  background: #f0f0f0;
  border-radius: 999px;
  border: 1px solid var(--catv-gray);
  box-sizing: border-box;
  user-select: none;
  touch-action: none;
}

/* つまみ（JSで連動） */
.m_Sthumb{
  position: absolute;
  left: 2px;
  right: 2px;
  top: 0;
  height: 40px; /* JSで上書き */
  background: #b7b7b7;
  border-radius: 999px;
}
.m_Sthumb.is-dragging{
  background: #9f9f9f;
}

/* カード */
.m_Item{
  border: 2px solid var(--catv-gray);
  border-radius: 8px;
  padding: 14px 20px;
  margin-bottom: 12px;
  background: #fff;
}

.m_Item__name{
  font-size: 18px;
  font-weight: 600;
}

.m_Item__addr{
  margin:0 0 10px;
  color:#111;
}

.m_Tags{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}

.m_Tag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 14px;
  border-radius: 50px;
  background: var(--catv-accent);
  color: #fff;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}

/* 注記 */
.m_Note{
  margin: 16px 0 0;
  line-height:1.8;
}

/* SP */
@media (max-width: 768px){
  .m_Grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .m_Btns{ gap: 12px; }

  .m_Btn{
    height: 40px;
    font-size: 14px;
  }

  .m_Legend{
    gap: 0;
    flex-direction:column;
  }

  .m_Results{
	height: 520px;
	padding-top: 10px;
	padding-right: 26px;
	padding-bottom: 10px;
	padding-left: 0px;
  }

  .m_Item__name{ font-size: 16px; }

  .m_Tag{
    font-size: 11px;
    padding: 5px 10px;
  }
}


/* select専用ラッパー（矢印を描く） */
.m_SelectWrap{
  position: relative;
}

/* ▼矢印（擬似要素） */
.m_SelectWrap::before{
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 12px;
  height: 10px;
  transform: translateY(-50%);
  background: #666;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  pointer-events: none; /* クリック邪魔しない */
  z-index: 1;
}

/* selectの見た目を統一（Chrome/Safari/Firefox） */
.m_Field__select{
	width: 100%;
	height: 46px;
	padding: 0 44px 0 14px;  /* 右を広めに（矢印分） */
	border: 2px solid var(--catv-gray);
	border-radius: 6px;
	background: #fff;
	outline: none;
	box-sizing: border-box;
	/* ブラウザの矢印/装飾を消す */
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	/* Safari/Chromeの影・グラデを抑える */
	background-image: none;
	font-size: 13px;
}

/* option色（念のため） */
.m_Field__select option{
  background: #fff;
  color: #333;
}

/* IE/旧Edge対策（必要な場合のみ。入れても害は少ない） */
.m_Field__select::-ms-expand{
  display: none;
}

/* Firefoxのフォーカス時に文字が透明になるのを防ぐ保険 */
.m_Field__select:-moz-focusring{
  color: transparent;
  text-shadow: 0 0 0 #111;
}



/*リクエストアワー　注意事項*/
.contact_F ul.in_form li.notice {
	border: 1px solid #FF6478;
	margin-bottom: 20px;
	padding: 30px;
	margin-top: 20px;
}
.contact_F ul.in_form li.notice h4 {
	border-bottom: 1px solid #CCCCCC;
	margin-bottom: 10px;
	padding-bottom: 5px;
}
.contact_F ul.in_form li.notice p a {
	color: #0062B2;
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
.contact_F ul.in_form li.notice {
	padding: 15px;
	font-size: 2.3vw;
	line-height: 1.6em;
}
}

/*003_加入お申し込み・資料請求フォーム*/
.contact_F.signup ul.in_form li.notice {
	border: 1px solid #0062B2;
	margin-top: 0px;
}
/*130_取材依頼フォーム*/
.contact_F.signup h3.irai {
	color: #0062B2;
	font-size: 16px;
	font-weight: bold;
	padding-top: 20px;
	border-top: 1px solid #0062B2;
	margin-top: 20px;
	padding-bottom: 20px;
}
.contact_F.signup p.shodaku {
	color: #FFFFFF;
	padding: 20px;
	margin-top: 20px;
	background-color: #0062B2;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
.contact_F.signup h3.irai {
	font-size: 3.5vw;
	padding-top: 15px;
	margin-top: 15px;
}
.contact_F.signup p.shodaku {
	padding: 10px;
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 2vw;
	line-height: 1.6em;
}
}
































/*一覧*/
.SP_1th {
margin-bottom: 70px;
}
.SP_1th figure{
margin-bottom: 10px;
}
.SP_1th figure img{
width: 100%;
height: auto;
display: block;
}
/*コース別　先輩メッセージ*/
.SP_1th.by_course {
margin-top: 20px;
}
@media screen and (max-width: 767px) {
.SP_1th {
margin-bottom: 35px;
}
.SP_1th figure{
margin-bottom: 35px;
}
}


/*投稿記事　リスト用*/
.itemBox{
padding-bottom: 0px;
}
@media screen and (max-width: 767px) {
.itemBox{
padding-bottom: 0px;
}
}

.inSp1 {
display: grid;
gap: 50px 50px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 80px;
}
/*ブログsingle　新着*/
.latest {
width: 98%;
margin-left: auto;
margin-right: auto;
}
.latest .inSp1 {
gap: 30px 30px;
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.latest h2.t_Latest {
font-size: 20px;
margin-bottom: 20px;
}

/*イベント終了用*/
.inSp1 .item.finished {
/*opacity: 0.4;
pointer-events: none;*/
}
.inSp1 .item figure{
margin-bottom: 10px!important;
}
.inSp1 .item figure img{
width: 100%;
height: auto;
display: block;
}
/*Youtube動画用*/
.inSp1 .item figure.youT {
position: relative;
overflow: hidden;
padding-top: 62%;
}
.inSp1 .item figure.youT img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
width: 100%;
height: 100%;
object-fit: cover;
}


.inSp1 .item .intxt {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.inSp1 .item .cat_T {
display: flex;
flex-wrap:wrap;
gap: 10px;
}
.inSp1 .item .cat_T span a {
background-color: #777777;
color: #FFFFFF;
padding-top: 2px;
padding-bottom: 2px;
padding-left: 15px;
padding-right: 15px;
font-size: 13px;
display: block;
border-radius: 30px;
line-height: 1.5em;
}
.inSp1 .item .cat_T span {
color: #777777;
}
.inSp1 .item .cat_T a {
color: #0085FF;
}

.inSp1 .item p.date {
color: #777777;
}
.inSp1 .item h3 {
font-size: 15px;
font-weight: normal;
padding-top: 2px;
padding-bottom: 10px;
line-height: 1.8em;
}

/*タグ*/
ul.post-tags {
display: flex;
flex-wrap:wrap;
gap: 5px;
}
ul.post-tags li a {
padding-top: 3px;
padding-left: 15px;
padding-bottom: 3px;
padding-right: 15px;
color: #444444;
border-radius: 30px;
background-color: #EDEDED;
font-size: 12px;
transition: all 0.3s;
display: block;
line-height: 1.5em;
}
ul.post-tags li a:hover {
color: #FFFFFF;
background-color: #0085FF;
}
@media screen and (max-width: 820px) {
.inSp1 {
grid-template-columns: 1fr 1fr;
gap: 50px 40px;
}
}
@media screen and (max-width: 767px) {
.inSp1 {
grid-template-columns: 1fr;
gap: 40px;
margin-bottom: 40px;
}

/*学科ブログsingle　新着*/
.latest .inSp1 {
gap: 20px 10px;
grid-template-columns: 1fr 1fr;
}
.latest h2.t_Latest {
font-size: 3.8vw;
margin-bottom: 10px;
}
.latest .inSp1 .item .cat_T span a {
font-size: 2.5vw;
}

.inSp1 .item .cat_T span a {
font-size: 3.3vw;
}
.inSp1 .item h3 {
font-size: 3.5vw;
}
ul.post-tags li a {
padding-top: 3px;
padding-left: 10px;
padding-bottom: 3px;
padding-right: 10px;
font-size: 3vw;
}
}







/* ---------------------------------------------------------------- *
ページ間のナビ設定　＜前の記事　　次の記事＞
* ---------------------------------------------------------------- */
.postlink {
_zoom: 1;
overflow: hidden;
padding: 0px;
clear: both;
margin-top: 40px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
}
.postlink ul {
margin: 0;
}
.postlink li {
width: 32.3333%;
margin-left: 0.5%;
margin-right: 0.5%;
position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.postlink li a {
display: block;
font-size: 15px;
line-height: 1em !important;
padding-top: 20px;
padding-bottom: 20px;
display: flex;
justify-content: center;
align-items: center;
background-color: #F1F1F1;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
padding-left: 0px;
}

.postlink li.previous {
float: left;
}
.postlink li.list {
float: left;
}
.postlink li.next {
float: left;
}
.postlink a:link {
text-decoration: none;
color: #777777;
}
.postlink a:visited {
text-decoration: none;
color: #777777;
}
.postlink a:hover, .postlink a:active {
text-decoration: none;
color: #777777;
background-color: #EEEEEE;
}
@media screen and (max-width: 767px) {
.postlink li.previous {
width: 34%;
margin-left: 0%;
margin-right: 1%;
}
.postlink li.list {
width: 28%;
margin-left: 0%;
margin-right: 0%;
}
.postlink li.next {
width: 34%;
margin-left: 1%;
margin-right: 0%;
}
.postlink li.previous a {
padding-right: 5px;
}
.postlink li.next a {
padding-left: 5px;
}
.postlink li a {
font-size: 11px;
}
}
@media screen and (max-width: 360px) {
.postlink li a {
font-size: 10px;
}
}

/* 空要素のスタイルを設定 */
.postlink ul li:empty:after {
content: '　';
display: block;
}




/*タイトル表示*/
.postlink2 {
_zoom: 1;
overflow: hidden;
padding: 0px;
clear: both;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 50px;
margin-left: 0px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
}
.postlink2 ul {
margin: 0;
}
.postlink2 li {
/*width: 32.3333%;
margin-left: 0.5%;
margin-right: 0.5%;*/
position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.postlink2 li.previous {
width: 38%;
margin-left: 0%;
margin-right: 1%;
}
.postlink2 li.list {
width: 20%;
margin-left: 0%;
margin-right: 0%;
}
.postlink2 li.next {
width: 38%;
margin-left: 1%;
margin-right: 0%;
text-align: right;
}
.postlink2 li a {
display: block;
font-size: 15px;
line-height: 1.5em !important;
padding-top: 20px;
padding-bottom: 20px;
display: flex;
align-items: center;
background-color: #F5F5F5;
}
.postlink2 li.list a {
justify-content: center;
}
.postlink2 li.previous a {
padding-left: 40px;
padding-right: 10px;
justify-content: flex-start;
right: 10px;
}
.postlink2 li.next a {
padding-left: 10px;
padding-right: 40px;
justify-content: end;
text-align: left;
}

.postlink2 li.previous span.arw{
width: 10px;
height: 10px;
border-top: 1px solid #2D2D2D;
border-left: 1px solid #2D2D2D;
transform: rotate(315deg);
position: absolute;
left: 20px;
top: 43%;
transition: all 0.3s;
}
.postlink2 li.next span.arw{
width: 10px;
height: 10px;
border-top: 1px solid #2D2D2D;
border-left: 1px solid #2D2D2D;
transform: rotate(135deg);
position: absolute;
right: 20px;
top: 43%;
transition: all 0.3s;
}


.postlink2 li.previous {
float: left;
}
.postlink2 li.list {
float: left;
}
.postlink2 li.next {
float: left;
}
.postlink2 a:link {
text-decoration: none;
color: #06C;
}
.postlink2 a:visited {
text-decoration: none;
color: #06C;
}
.postlink2 a:hover, .postlink2 a:active {
text-decoration: none;
color: #06C;
background-color: #EEEEEE;
}
@media screen and (max-width: 896px) {
.postlink2 li.previous {
width: 39%;
margin-left: 0%;
margin-right: 1%;
}
.postlink2 li.list {
width: 18%;
margin-left: 0%;
margin-right: 0%;
}
.postlink2 li.next {
width: 39%;
margin-left: 1%;
margin-right: 0%;
}
.postlink2 li a {
font-size: 2.5vw;
}
.postlink2 li.previous a {
padding-left: 20px;
}
.postlink2 li.next a {
padding-right: 20px;
}
.postlink2 li.previous span.arw{
width: 7px;
height: 7px;
left: 10px;
top: 43%;
}
.postlink2 li.next span.arw{
width: 7px;
height: 7px;
right: 10px;
top: 45%;
}
}


/* 空要素のスタイルを設定 */
.postlink2 ul li:empty:after {
content: '　';
display: block;
}




/*コンタクトフォーム*/

/*オプション*/
.CT_guide {
padding-top: 60px;
padding-bottom: 80px;
}
.CT_guide figure {
	width: 300px;
	margin-left: 0px;
	margin-right: auto;
	margin-bottom: 50px;
}
.CT_guide figure img {
width: 100%;
height: auto;
display: block;
}
.CT_guide p.open-time {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
.CT_guide {
padding-top: 20px;
padding-bottom: 40px;
}
.CT_guide figure {
	width: 100%;
	margin-bottom: 50px;
}
.CT_guide p.open-time {
	font-size: 3.8vw;
	margin-bottom: 15px;
}
}

/* PCのみ（例：768px以上）電話リンク無効 */
@media screen and (min-width: 768px) {
.CT_guide figure.tel a {
    pointer-events: none;
    cursor: default;
  }
}





/*広告募集フォーム*/
.CT_ad {
	padding-top: 0px;
	padding-bottom: 80px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.CT_ad .in_txt {
	margin-bottom: 30px;
	text-align: center;
}
.CT_ad .in_txt p.note {
	font-size: 18px;
	border-radius: 100px;
	border: 1px solid #0362B2;
	width: fit-content;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 30px;
	padding-right: 30px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	margin-bottom: 15px;
}
.CT_ad .in_txt p.phone {
	font-size: 30px;
	font-weight: bold;
	line-height: 2em;
}
.CT_ad .in_txt p.phone span {
	font-size: 20px;
	margin-left: 1em;
}

.CT_ad .contact_F ul.in_form li.notice {
border: 1px solid #0362B2;
}
@media screen and (max-width: 767px) {
.CT_ad {
padding-top: 20px;
padding-bottom: 40px;
}
.CT_ad .in_txt p.lead {
	text-align: left;
}
.CT_ad .in_txt p.note {
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
	padding-left: 0px;
	padding-right: 0px;
}
.CT_ad .in_txt p.phone {
	font-size: 24px;
	line-height: 1.4em;
}
}




/*eねっと Air プレミアム　1ヶ月無料体験申込フォーム*/
.CT_air {
	padding-top: 0px;
	padding-bottom: 80px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 1;
}
.CT_air .in_txt {
	margin-bottom: 30px;
	text-align: center;
}
.CT_air .contact_F ul.in_form li.notice {
border: 1px solid #0362B2;
}
@media screen and (max-width: 767px) {
.CT_air {
padding-top: 20px;
padding-bottom: 40px;
}
.CT_air .contact_F ul.in_form li.notice {
	padding: 15px;
	font-size: 2.3vw;
}
}



/* ===== flow box ===== */
.flowBox{
  margin: 40px auto;
  border: 1px solid #57A8FF;
}

.flowBox__title{
  margin: 0;
  padding: 18px 26px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  background: #1eafff;
}

/* ===== list ===== */
.flowBox__list{
  list-style: none;
  margin: 0;
  padding: 26px 28px 30px;
}

.flowItem{
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin: 0 0 18px;
}

.flowNum{
  color: #1eafff;
  font-size: 25px;
  font-weight: bold;
}

.flowText{
	flex: 1;
}

.flowHead{
	margin: 0 0 0px;
	font-size: 16px;
	font-weight: bold;
}

.flowSubItem{
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.flowNum--sub{
  font-size: 25px;
}

.flowHead--sub{
  font-size: 16px;
}

/* ===== responsive ===== */
@media screen and (max-width: 767px) {
.flowBox{
margin: 20px auto;
}
.flowItem{
  gap: 7px;
  margin: 0 0 15px;
}
.flowBox__title{
font-size: 3.8vw;
padding: 10px;
text-align: center;
}

.flowNum{
font-size: 4.8vw;
}
.flowNum--sub{
font-size: 4.8vw;
}
.flowBox__list{
	padding-top: 18px;
	padding-right: 16px;
	padding-left: 16px;
	padding-bottom: 15px;
}
.flowHead{ font-size: 3.5vw; }
.flowText p{ font-size: 2.5vw; }
}



/*ウイルスバスタークラウド申し込みフォーム*/
.flow_B{
  margin: 40px auto;
  border: 1px solid #57A8FF;
}
.flow_B__title{
  margin: 0;
  padding: 18px 26px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  background: #1eafff;
}
.flow_B .in_desc{
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 30px;
	padding-top: 10px;
}
.flow_B .in_desc h3.form_T {
display:flex;
	font-size: 13px;
	font-weight: normal;
	padding-bottom: 10px;
	position: relative;
	line-height: 1.6em;
	gap: 10px;
}
.flow_B .in_desc h3.form_T span.required{
	padding-left: 5px;
	padding-right: 5px;
	padding-top: 0px;
	padding-bottom: 0px;
	color: #FFFFFF;
	font-size: 10px;
	margin: 0;
	height: 20px;
	line-height: 2em;
	background-color: #ff6478;
}

@media screen and (max-width: 767px) {
.flow_B{
margin: 20px auto;
}
.flow_B__title{
font-size: 3.8vw;
padding: 10px;
text-align: center;
}
.flow_B .in_desc{
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 20px;
}
.contact_F ul.in_form li.item h3 {
font-size: 3.3vw;
justify-content:space-between;
gap: 20px;
}
.flow_B .in_desc h3.form_T span.required{
	width: 28px;
}
}


/* ラジオ（CF7出力）をボタン風に */
.flow_B__tabs{
  margin: 18px auto 18px;
}

/* CF7の外枠（ここをgridにするのが重要） */
.flow_B__tabs .wpcf7-form-control.wpcf7-radio{
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  border: 1px solid #BDBDBD;
  background: #fff;
  box-sizing: border-box;
}

/* 余計なbrが入る環境の対策 */
.flow_B__tabs br{
  display: none;
}

.flow_B__tabs .wpcf7-list-item{
  margin: 0;
  width: 100%;
  box-sizing: border-box;
  border-right: 1px solid #BDBDBD;
}
.flow_B__tabs .wpcf7-list-item:last-child{
  border-right: none;
}

.flow_B__tabs label{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 62px;
  padding: 8px 10px;
  cursor: pointer;
  box-sizing: border-box;
}

/* ラジオ本体は隠す（クリックはlabelで拾う） */
.flow_B__tabs input[type="radio"]{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* ボタン文字 */
.flow_B__tabs .wpcf7-list-item-label{
  display: block;
  text-align: center;
  font-weight: 700;
  color: #111;
  line-height: 1.3;
  word-break: keep-all;     /* 変な分割を抑制 */
  overflow-wrap: anywhere;  /* 長い時だけ折る */
}

/* 選択中（JSで is-active が付く） */
.flow_B__tabs .wpcf7-list-item.is-active{
  background: #1F56A8;
}
.flow_B__tabs .wpcf7-list-item.is-active .wpcf7-list-item-label{
  color: #fff;
}

/* 注釈 */
.flow_B__note p{
  margin: 0 0 10px;
  line-height: 1.8;
}
.flow_B__note p:last-child{
  margin-bottom: 0;
}

/* SP */
@media screen and (max-width: 767px) {
  .flow_B__tabs label{
    min-height: 54px;
    padding: 10px 4px;
  }
  .flow_B__tabs .wpcf7-list-item-label{
    font-size: 2.5vw;
  }
}



/* OTOKU: 見出しの出し分け（初期＝利用あり） */
/* 初期：利用あり想定（not_avは隠す） */
.contact_F .not_av{ display:none; }

/* 利用なしの時：availableを隠してnot_avを出す */
.contact_F.is-not-available .available{ display:none; }
.contact_F.is-not-available .not_av{ display:block; }

/* 利用なしの時：お客さまIDブロックだけ非表示 */
.contact_F.is-not-available .js-otoku-only-available{
  display: none;
}

/* 念のため：CF7の都合で div が ul の中に入っても崩れにくく */
.contact_F .js-otoku-only-available,
.contact_F .js-otoku-common{
  display: contents; /* レイアウト上 div を無かったことにする */
}




/*.wpcf7 input[type="date"]{
  width: 100%;
  height: 56px;
  padding: 0 16px;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  font-size: 16px;
  box-sizing: border-box;
}

.js-birthdate{ cursor: pointer; }


*/




.ct_form {
padding-top: 60px;
padding-bottom: 80px;
position: relative;
background-color: #D9E8F4;
z-index: 0;
}
@media screen and (max-width: 767px) {
.ct_form {
padding-top: 30px;
padding-bottom: 40px;
}
}

/*オプション*/
.ct_form_opt1 {
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #FFFFFF;
	border-top-left-radius: 80px;
	border-top-right-radius: 80px;
	padding-left: 50px;
	padding-right: 50px;
	box-sizing: border-box;
}
/*033_OTOKUオトナライフマガジン申込フォーム*/
.ct_form_opt1.f_otoku {
	padding-top: 60px;
	padding-bottom: 80px;
	background-color: #F0DADA;
	border-top-right-radius: 0px;
	padding-left: 50px;
	padding-right: 50px;
}

.ct_form_opt1 h3.download {
	font-size: 20px;
	font-weight: bold;
	color: #0062B2;
}
.ct_form_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
.ct_form_opt1 ul.in_desc li.item {
position: relative;
}
.ct_form_opt1 ul.in_desc li.item h3 {
font-size: 20px;
font-weight: bold;
margin-bottom: 5px;
}
.ct_form_opt1 ul.in_desc li.item p.indent-1 strong {
	background: linear-gradient(transparent 10%, #FFED30 10%);
	padding-left: 5px;
	padding-right: 5px;
	font-weight: normal;
}
.ct_form_opt1 ul.in_desc li.item p.indent-1 a {
	text-decoration: underline;
	color: #0062B2;
}

@media screen and (max-width: 767px) {
.ct_form_opt1 {
padding-top: 40px;
padding-bottom: 40px;
border-top-left-radius: 40px;
	border-top-right-radius: 40px;
	padding-left: 20px;
	padding-right: 20px;
}
/*033_OTOKUオトナライフマガジン申込フォーム*/
.ct_form_opt1.f_otoku {
	padding-top: 30px;
	padding-bottom: 40px;
	border-top-right-radius: 0px;
	padding-left: 6%;
	padding-right: 6%;
	margin-top: 20px;
}

.ct_form_opt1 h3.download {
font-size: 3.6vw;
}
.ct_form_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 10px;
}
.ct_form_opt1 ul.in_desc li.item h3 {
font-size: 3.6vw;
}
}


/*フォーム　囲み*/
.ct_form_opt1 .in_desc2 {
	border-radius: 20px;
	border: 1px solid #0062B2;
	padding-bottom: 50px;
	background-color: #FFFFFF;
}
.ct_form_opt1 .in_desc2 h2 {
	color: #FFFFFF;
	font-size: 20px;
	text-align: center;
	background-color: #0062B2;
	border-top-left-radius: 18px;
	border-top-right-radius: 18px;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 50px;
}
.ct_form_opt1 .in_desc3 {
	padding-left: 30px;
	padding-right: 30px;
}
@media screen and (max-width: 767px) {
.ct_form_opt1 .in_desc2 {
	border-radius: 20px;
	padding-bottom: 50px;
}
.ct_form_opt1 .in_desc2 h2 {
font-size: 3.8vw;
	margin-bottom: 20px;
}
.ct_form_opt1 .in_desc3 {
	padding-left: 20px;
	padding-right: 20px;
}
}


.form_btns {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 1fr;
	width: 100%;
	margin-left: 0px;
	margin-right: auto;
	margin-top: 20px;
	margin-bottom: 20px;
	box-sizing: border-box;
}
.form_btns a {
	text-decoration: none!important;
	font-size: 10px!important;
}
@media screen and (max-width: 767px) {
.form_btns {
display: grid;
gap: 10px;
grid-template-columns: 1fr;
padding-top: 10px;
padding-bottom: 10px;
width: 100%;
}
.form_btns a {
font-size: 2.5vw!important;
}
}



/*応募フォーム*/
.form_temp1 {
	border-radius: 20px;
	border: 1px solid #0062B2;
	padding-bottom: 50px;
	background-color: #FFFFFF;
}
.form_temp1 h2.ct_gt {
	color: #FFFFFF;
	font-size: 20px;
	text-align: center;
	background-color: #0062B2;
	border-top-left-radius: 18px;
	border-top-right-radius: 18px;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 50px;
}
/*125　リクエストアワー*/
.form_temp1.req_F {
	border: 1px solid #FF6478;
}
.form_temp1.req_F h2.ct_gt {
	background-color: #FF6478;
}

/*011　eねっと Air プレミアム　1ヶ月無料体験申込フォーム*/
.CT_air .form_temp1 {
padding-bottom: 0px;
background-color: #FFFFFF;
border-radius: 0px;
}
.CT_air .form_temp1 h2.ct_gt {
	margin-bottom: 0px;
	border-radius: 0px;
}




.form_temp1 .in_FC {
	padding-left: 30px;
	padding-right: 30px;
}
@media screen and (max-width: 767px) {
.form_temp1  {
	border-radius: 20px;
	padding-bottom: 50px;
}
.form_temp1 h2.ct_gt {
font-size: 3.8vw;
	margin-bottom: 20px;
}
.form_temp1 .in_FC {
	padding-left: 20px;
	padding-right: 20px;
}
}


/* 各ラジオの下に注釈を表示　eねっと Air プレミアム　1ヶ月無料体験申込フォーム */
/* delivery のラジオだけ縦並び */
.item.delivery .wpcf7-radio .wpcf7-list-item{
  display: block;
  margin: 0 0 0px;
}

/* 1つ目：郵送 */
.item.delivery
.wpcf7-radio
.wpcf7-list-item:nth-of-type(1)
.wpcf7-list-item-label::after{
  content: "※お届けまでに1週間ほどかかります。";
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.6;
  color: #ff5a5f;
}

/* 2つ目：訪問 */
.item.delivery
.wpcf7-radio
.wpcf7-list-item:nth-of-type(2)
.wpcf7-list-item-label::after{
  content: "※訪問をご希望の場合、訪問担当者直通の携帯電話より発信させていただく場合がございます。";
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.6;
  color: #ff5a5f;
}



/*共催・後援依頼ナビ*/
.form_spt {
	padding-top: 0px;
	padding-bottom: 60px;
	width: 70%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
}
.form_spt ul.in_nav {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr;
margin-bottom: 0px;
}
.form_spt ul.in_nav li.item {
	padding-top: 20px;
	padding-left: 40px;
	padding-bottom: 20px;
	position: relative;
	border-radius: 80px;
	background-color: #DDF3FF;
	padding-right: 40px;
	transition: all 0.3s;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #878787;
}
.form_spt ul.in_nav li.item h3 {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	line-height: 1.6em;
}
.form_spt ul.in_nav li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.form_spt ul.in_nav li.item:hover,.form_spt ul.in_nav li.item.current{
z-index: 0;
background-color: #0062B2;
color: #FFFFFF;
}

/* 青い丸（::before） */
.form_spt ul.in_nav li.item::before{
content: "";
position: absolute;
top: 50%;
right: 20px;
width: 20px;
height: 20px;
background: #0062B2;
border-radius: 50%;
transform: translateY(-50%);
}

/* 白い矢印（::after）… ::before の“上”に描画される */
.form_spt ul.in_nav li.item::after{
content: "";
position: absolute;
top: 50%;
right: 27px; 
width: 4px;
height: 4px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: translateY(-50%) rotate(135deg);
}

.form_spt ul.in_nav li.item:hover::before,.form_spt ul.in_nav li.item.current::before {
background: #FFFFFF;
}
.form_spt ul.in_nav li.item:hover::after,.form_spt ul.in_nav li.item.current::after {
border-top: 2px solid #0062B2;
border-right: 2px solid #0062B2;
}

@media screen and (max-width: 767px) {
.form_spt {
	padding-bottom: 20px;
	width: 100%;
	margin-top: 20px;
}

.form_spt ul.in_nav {
gap: 10px;
margin-bottom: 0px;
}
.form_spt ul.in_nav li.item {
	padding-left: 20px;
	padding-right: 30px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.form_spt ul.in_nav li.item h3 {
font-size: 3vw;
}
/* 青い丸（::before） */
.form_spt ul.in_nav li.item::before{
right: 10px;
width: 18px;
height: 18px;
}

/* 白い矢印（::after）… ::before の“上”に描画される */
.form_spt ul.in_nav li.item::after{
right: 17px; 
width: 3px;
height: 3px;
}
}



/*取材・共催・後援　お問い合わせ先*/
.ik_1th_opt1 {
	padding: 30px;
	border-radius: 15px;
	background-color: #d9e7f3;
	margin-top: 40px;
}
.ik_1th_opt1 ul.in_cont {
display: grid;
gap: 0px;
grid-template-columns: 1fr 3fr;
}
.ik_1th_opt1 ul.in_cont li.thing {
position: relative;
}
.ik_1th_opt1 ul.in_cont li.thing h3 {
font-size: 14px;
font-weight: bold;
}
@media screen and (max-width: 767px) {
.ik_1th_opt1 {
padding: 20px;
margin-top: 20px;
}
.ik_1th_opt1 ul.in_cont {
gap: 10px;
grid-template-columns: 1fr;
}
.ik_1th_opt1 ul.in_cont li.thing h3 {
font-size: 3.6vw;
}
.ik_1th_opt1 ul.in_cont li.thing p {
font-size: 3vw;
}
}




/* =========================================
番組表：共通レイアウト
========================================= */

/* 外枠 */
.timeTable_G{
max-width: 1100px;
margin: 0 auto;
padding: 0 2%;
}

/* スクロール枠 */
.timeTable_G .epg-scroll{
overflow: visible; /* PC */
border-right: 1px solid #CCCCCC;
border-bottom: 1px solid #CCCCCC;
}

/* ヘッダ＆本体：同じ指定を必ず当てる */
.timeTable_G .epg-title-row,
.timeTable_G .epg-header-row,
.timeTable_G .epg{
display: grid;
grid-template-columns: 30px 30px repeat(7, 1fr);
gap: 1px;
background: #F1F1F1;
width: 100%;
box-sizing: border-box;
}
.timeTable_G .epg .program span.request{
  display: block;
  width: fit-content;
  color: #fff;
  background: #7684FF;
  border-radius: 4px;
  font-size: 10px;
  padding: 2px 5px;
  margin-top: 2px;
}


.timeTable_G .epg-title-row{
border-top: 1px solid #CCCCCC;
}


/* ====== タイトル帯 ====== */
.timeTable_G .epg-title-row .epg-title-blank{
background: #EDEDED;          /* 左2マス（時・分の上） */
}

.timeTable_G .epg-title-row .epg-title{
	grid-column: 3 / -1;       /* 7日分を横断 */
	color: #fff;
	font-weight: bold;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: .08em;
	padding-top: 5px;
	padding-bottom: 5px;
	font-size: 12px;
}


/* ===== SPだけ：横スクロール + 列幅固定でズレを根絶 ===== */
@media (max-width: 767px){

.timeTable_G{
padding: 0 1.5%;
}

/* ここにタイトル行も含めて、3つ同時に固定幅化 */
.timeTable_G .epg-title-row,
.timeTable_G .epg-header-row,
.timeTable_G .epg{
width: max-content;
grid-template-columns: 25px 25px repeat(7, 140px);
}

.timeTable_G .epg-title-row .epg-title{
	font-size: 11px;
}
}


/* ヘッダ */
.timeTable_G .epg-header-row{
background: #f5f5f5;
border-bottom: 1px solid #ccc;
}
.timeTable_G .epg-header{
height: 40px;
display: flex;
gap: 1px;
align-items: center;
justify-content: center;
font-weight: bold;
text-align: center;
min-width: 0;
font-size: 11px;
background: #CCCCCC;
color: #FFFFFF;
}


/* 見逃し配信　たうんプレミアム1week */
.timeTable_G.Town1W .epg-header-row .epg-header{
background: #1f4af1;
}

/* たうんプレミアム */
.timeTable_G.Town .epg-title-row .epg-title{
background: #FA5500;
}
.timeTable_G.Town .epg-header-row .epg-header{
background: #FDAC82;
}

/* イベントセレクション */
.timeTable_G.EventS .epg-title-row .epg-title{
background: #FA6D87;
}
.timeTable_G.EventS .epg-header-row .epg-header{
background: #FCAFBD;
}

/* イベントプレミアム */
.timeTable_G.EventP .epg-title-row .epg-title{
background: #7FC826;
}
.timeTable_G.EventP .epg-header-row .epg-header{
background: #B5DF82;
}

/* たうんNews24 */
.timeTable_G.TNews .epg-title-row .epg-title{
background: #00B3F5;
}
.timeTable_G.TNews .epg-header-row .epg-header{
background: #7DD8FA;
}

/* 防災チャンネル */
.timeTable_G.Bosai .epg-title-row .epg-title{
background: #7F6426;
}
.timeTable_G.Bosai .epg-header-row .epg-header{
background: #B09F78;
}

/* 愛南たうんチャンネル */
.timeTable_G.Ainan .epg-title-row .epg-title{
background: #00B45A;
}
.timeTable_G.Ainan .epg-header-row .epg-header{
background: #78D7A8;
}


/* 本体（1行=5分） */
.timeTable_G .epg{
grid-auto-rows: 20px;
}

/* 時 */
.timeTable_G .time{
grid-column: 1;
background: #e0f0ff;
text-align: center;
font-size: 12px;
line-height: 20px;
min-width: 0;
padding-top: 10px;
}

/* 分 */
.timeTable_G .minute{
grid-column: 2;
background: #fff;
font-size: 10px;
display: flex;
align-items: center;
justify-content: center;
min-width: 0;
}

/* 番組：折り返し強制（上書きされてても勝つ） */
.timeTable_G .program{
background: #fff;
padding: 6px 8px;
font-size: 12px;
line-height: 1.3;

min-width: 0 !important;
white-space: normal !important;      /* これが効かないと絶対直らない */
overflow-wrap: anywhere !important;
word-break: break-word !important;
overflow: hidden;
}

/* iタグが原因で横に広がるケース対策（念のため） */
.timeTable_G .program i{
white-space: nowrap;
display: inline-block;
margin-right: .35em;
}

/* ===== SPだけ：横スクロール + 列幅固定でズレを根絶 ===== */
@media (max-width: 767px){
.timeTable_G .epg-scroll{
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}

/* ここがポイント：1fr を捨てて固定幅にする（ヘッダと本体が100%同じになる） */
.timeTable_G .epg-header-row,
.timeTable_G .epg{
width: max-content;
grid-template-columns: 25px 25px repeat(7, 140px);
}
/* 時 */
.timeTable_G .time{
font-size: 11px;
}
}



/* ===== 時間帯ごとの色分け（.time の並び順ベース） ===== */

/* 6:00–11:59（1〜6番目）→ 青 */
.timeTable_G .time:nth-of-type(-n+6){
background: #79C6FF;
}

/* 12:00–17:59（7〜12番目）→ 緑 */
.timeTable_G .time:nth-of-type(n+7):nth-of-type(-n+12){
background: #A5D064;
}

/* 18:00–23:59（13〜18番目）→ 青 */
.timeTable_G .time:nth-of-type(n+13):nth-of-type(-n+18){
background: #79C6FF;
}

/* 0:00–5:59（19〜24番目）→ 緑 */
.timeTable_G .time:nth-of-type(n+19){
background: #A5D064;
}




/* =========================================
1日表示（推奨：sectionに .oneday を付ける）
- タイトル行/ヘッダ/本体を「3列」に統一
- SPは横スクロールさせない
========================================= */

/* 3列化：タイトル行・ヘッダ・本体 */
.timeTable_G.oneday .epg-title-row,
.timeTable_G.oneday .epg-header-row,
.timeTable_G.oneday .epg{
width: 100% !important;
grid-template-columns: 30px 30px 1fr !important;
}

/* ヘッダ：日付セルは中央寄せ */
.timeTable_G.oneday .epg-header-row .epg-header:nth-child(3){
justify-content: center;
text-align: center;
padding: 0 10px;
white-space: nowrap;
}

.timeTable_G.oneday .epg-title-row .epg-title{
grid-column: 3 / -1;
}


/* SP：1日表示は横スクロール不要 */
@media (max-width: 767px){
.timeTable_G.oneday .epg-scroll{
overflow-x: hidden !important;
overflow-y: visible !important;
}

.timeTable_G.oneday .epg-title-row,
.timeTable_G.oneday .epg-header-row,
.timeTable_G.oneday .epg{
width: 100% !important;
grid-template-columns: 25px 25px 1fr !important;
}
}

/* =========================================
  全体表示（All_ch）：6ch=6列に固定
  - タイトル横断(grid-column)を無効化
  - SPも repeat(6) に合わせる
========================================= */

/* PC：2列（時・分）+ 6列（ch） */
.timeTable_G.All_ch .epg-title-row,
.timeTable_G.All_ch .epg-header-row,
.timeTable_G.All_ch .epg{
  grid-template-columns: 30px 30px repeat(6, 1fr);
}

/* All_ch はタイトルを横断させない */
.timeTable_G.All_ch .epg-title-row .epg-title{
  grid-column: auto !important;
}

/* ===== SP：All_ch も6列固定（※repeat(7)を上書き） ===== */
@media (max-width: 767px){
  .timeTable_G.All_ch .epg-title-row,
  .timeTable_G.All_ch .epg-header-row,
  .timeTable_G.All_ch .epg{
    width: max-content;
    grid-template-columns: 25px 25px repeat(6, 140px);
  }
}


/* =========================================
  1日表示（3列化）は All_ch では使わない
  ※ 既存の .timeTable_G.oneday ～ を “All_ch除外” にする
========================================= */

.timeTable_G.oneday:not(.All_ch) .epg-title-row,
.timeTable_G.oneday:not(.All_ch) .epg-header-row,
.timeTable_G.oneday:not(.All_ch) .epg{
  width: 100% !important;
  grid-template-columns: 30px 30px 1fr !important;
}

@media (max-width: 767px){
  .timeTable_G.oneday:not(.All_ch) .epg-scroll{
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  .timeTable_G.oneday:not(.All_ch) .epg-title-row,
  .timeTable_G.oneday:not(.All_ch) .epg-header-row,
  .timeTable_G.oneday:not(.All_ch) .epg{
    width: 100% !important;
    grid-template-columns: 25px 25px 1fr !important;
  }
}


/* タイトル帯：2つ空白のあと 6ch */
.timeTable_G.All_ch .epg-title-row > :nth-child(3){ background:#FA5500; color:#fff; } /* たうんプレミアム */
.timeTable_G.All_ch .epg-title-row > :nth-child(4){ background:#FA6D87; color:#fff; } /* イベントセレクション */
.timeTable_G.All_ch .epg-title-row > :nth-child(5){ background:#7FC826; color:#fff; } /* イベントプレミアム */
.timeTable_G.All_ch .epg-title-row > :nth-child(6){ background:#00B3F5; color:#fff; } /* たうんNews24 */
.timeTable_G.All_ch .epg-title-row > :nth-child(7){ background:#7F6426; color:#fff; } /* 防災 */
.timeTable_G.All_ch .epg-title-row > :nth-child(8){ background:#00B45A; color:#fff; } /* 愛南 */

/* 日付行：先頭2つ(時/分)のあと 6ch */
.timeTable_G.All_ch .epg-header-row > :nth-child(3){ background:#FDAC82; }
.timeTable_G.All_ch .epg-header-row > :nth-child(4){ background:#FCAFBD; }
.timeTable_G.All_ch .epg-header-row > :nth-child(5){ background:#B5DF82; }
.timeTable_G.All_ch .epg-header-row > :nth-child(6){ background:#7DD8FA; }
.timeTable_G.All_ch .epg-header-row > :nth-child(7){ background:#B09F78; }
.timeTable_G.All_ch .epg-header-row > :nth-child(8){ background:#78D7A8; }






/*124_八木健の俳句遊遊　川柳天国*/
.Yagi_1th {
padding-top: 0px;
padding-bottom: 80px;
position: relative;
z-index: 0;
}
.Yagi_1th figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.Yagi_1th figure img {
width: 100%;
height: auto;
display: block;
}
.Yagi_1th figure.y_mv {
	background-color: #EBFEE1;
	padding-left: 8%;
	padding-right: 8%;
	padding-top: 8%;
	box-sizing: border-box;
	border-top-left-radius: 100px;
	border-top-right-radius: 100px;
	padding-bottom: 40px;
}
.Yagi_1th .guide {
	background-image: linear-gradient(#ebfee1, #ffffff);
	padding-left: 8%;
	padding-right: 8%;
}

/*川柳天国*/
.Yagi_1th.Senryu figure.y_mv {
	background-color: #FFECC0;
}
.Yagi_1th.Senryu .guide {
	background-image: linear-gradient(#FFECC0, #ffffff);
}


.Yagi_1th .guide p {
	font-size: 18px;
	text-align: center;
	line-height: 1.8em;
	margin-top: 20px;
	font-weight: bold;
}
.Yagi_1th figure.yagiken {
	padding-left: 8%;
	padding-right: 8%;
	box-sizing: border-box;
	padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
.Comichan.yagi {
	margin-top: 20px;
}
.Yagi_1th {
padding-top: 0px;
padding-bottom: 40px;
}
.Yagi_1th figure.y_mv {
	padding-left: 6%;
	padding-right: 6%;
	padding-top: 8%;
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
	padding-bottom: 20px;
}
.Yagi_1th .guide {
	padding-left: 6%;
	padding-right: 6%;
}
.Yagi_1th .guide p {
	font-size: 3vw;
	text-align: left;
}
.Yagi_1th figure.yagiken {
	padding-bottom: 10px;
}
}

/*過去の放送分*/
.Yagi_1th_opt1 {
	padding-top: 40px;
	padding-bottom: 80px;
	background-color: #FFFFFF;
}
.Yagi_1th_opt1 h2.past img {
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
.Yagi_1th_opt1 ul.in_desc {
display: grid;
gap: 20px;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
margin-bottom: 60px;
	width: 84%;
	margin-left: auto;
	margin-right: auto;
}

.Yagi_1th_opt1 ul.in_desc li.item {
display: inline-block;
background-color: #00A600;
color: #FFFFFF;
border-top-left-radius: 40px;
position: relative;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 70px;
}
.Yagi_1th_opt1 ul.in_desc li.item p {
font-size: 16px;
line-height: 1.5em;
color: #FFFFFF;
}
/* 丸い背景 */
.Yagi_1th_opt1 ul.in_desc li.item p.b_yagi::before {
content: "";
position: absolute;
top: 50%;
left: 20px;
width: 30px;
height: 30px;
background-color: #FFEDD4;
border-radius: 50%;
transform: translateY(-50%);
}

/* 矢印*/
.Yagi_1th_opt1 ul.in_desc li.item p.b_yagi::after {
position   : absolute;
content    : "";
width: 14px;
height: 15px;
background-color: #00A600;
clip-path: polygon(0 0, 100% 50%, 0 100%);
top: 50%;
transform: translateY(-50%);
left: 30px;
}

.Yagi_1th_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.Yagi_1th_opt1 ul.in_desc li.item:hover{
opacity: 0.8;
z-index: 0;
}

/*川柳天国*/
.Senryu .Yagi_1th_opt1 ul.in_desc li.item {
background-color: #C09E00;
}
.Senryu .Yagi_1th_opt1 ul.in_desc li.item p.b_yagi::after {
background-color: #AD8D00;
}

@media screen and (max-width: 767px) {
.Yagi_1th_opt1 {
padding-top: 20px;
padding-bottom: 40px;
}
.Yagi_1th_opt1 h2.past img {
	width: 80%;
	margin-bottom: 15px;
}
.Yagi_1th_opt1 ul.in_desc {
gap: 10px;
grid-template-columns: 1fr 1fr;
margin-bottom: 30px;
}

.Yagi_1th_opt1 ul.in_desc li.item {
border-top-left-radius: 20px;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 50px;
}

/* 丸い背景 */
.Yagi_1th_opt1 ul.in_desc li.item p.b_yagi::before {
left: 15px;
width: 25px;
height: 25px;
}
/* 矢印*/
.Yagi_1th_opt1 ul.in_desc li.item p.b_yagi::after {
width: 11px;
height: 12px;
left: 23px;
}

.Yagi_1th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
}


/* 過去分のアコーディオン */
.acc{
	margin-top: 0;
	margin-right: auto;
	margin-left: auto;
	padding: 0 16px;
	width: 84%;
	margin-bottom: 80px;
}
.acc-item{ margin: 0 0 18px; }

.acc-title{
	width: 100%;
	border: 0;
	cursor: pointer;
	color: #fff;
	font-weight: bold;
	text-align: center;
	letter-spacing: .06em;
	padding-top: 18px;
	padding-right: 50px;
	padding-left: 40px;
	padding-bottom: 18px;
	border-radius: 10px;
	position: relative;
	user-select: none;
	background: transparent;
	font-size: 18px;
}

/* 右端の + / − */
.acc-title::after{
	content: "+";
	position: absolute;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	line-height: 1;
	font-weight: normal;
}
.acc-item.is-open .acc-title::after{ content: "−"; }

/* タイトル色：交互 */
.acc-item:nth-of-type(odd)  .acc-title{ background: #00A600; }
.acc-item:nth-of-type(even) .acc-title{ background: #8CDC00; }

/*川柳天国*/
.Senryu .acc-item:nth-of-type(odd)  .acc-title{ background: #C09E00; }
.Senryu .acc-item:nth-of-type(even) .acc-title{ background: #D6C800; }


/* ===== ふわっと開閉の本体 ===== */
.acc-panel{
  height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: height .35s ease, opacity .25s ease, transform .35s ease;
}
.acc-item.is-open .acc-panel{
  opacity: 1;
  transform: translateY(0);
}

/* 内側の余白は inner で持つ（高さ計算を安定させる） */
.acc-inner{
  padding: 18px 6px 6px;
}

/* リスト：PC 2カラム / SP 1カラム */
.acc-list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 40px;
  justify-items: center;
}
.acc-list li{ width: 100%; }
.acc-list a{
  display: block;
  text-align: center;
  color: #2c8b2c;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}
.acc-list a:hover{ text-decoration: underline; }

/*川柳天国*/
.Senryu .acc-list a{
  color: #C09E00;
}

@media (max-width: 767px){
.acc{
	margin-bottom: 40px;
}
  .acc-title{
	padding-top: 14px;
	padding-right: 40px;
	padding-left: 10px;
	padding-bottom: 14px;
	border-radius: 10px;
	font-size: 12px;
  }
  .acc-item{ margin: 0 0 10px; }
  .acc-title::after{ right: 16px; font-size: 20px; }
  .acc-list{
	grid-template-columns: 1fr;
	gap: 5px;
	width: auto;
}
  .acc-list a{ font-size: 13px; }
}


/*011_eねっと Airプレミアム1ヶ月無料体験申込フォーム*/
.delivery-shop-link{
  display: none;
  margin-top: 10px;
}

.delivery-shop-link a{
  color: #1eafff;
  text-decoration: underline;
}





