
/* -------------------------------------------------- UTILITY  -------------------------------------------------- */

.mt-11	{ margin-top:-11px !important; }
.mt-10	{ margin-top:-10px !important; }
.mt-5	{ margin-top:-5px !important; }
.mt0	{ margin-top:0px !important; }
.mt3	{ margin-top:3px !important; }
.mt5	{ margin-top:5px !important; }
.mt10	{ margin-top:10px !important; }
.mt15	{ margin-top:15px !important; }
.mt20	{ margin-top:20px !important; }
.mt25	{ margin-top:25px !important; }
.mt30	{ margin-top:30px !important; }
.mt40	{ margin-top:40px !important; }
.mt50	{ margin-top:50px !important; }
.mt60	{ margin-top:60px !important; }
.mt100	{ margin-top:100px !important; }

.mr0	{ margin-right:0px !important; }
.mr5	{ margin-right:5px !important; }
.mr10	{ margin-right:10px !important; }
.mr15	{ margin-right:15px !important; }
.mr20	{ margin-right:20px !important; }
.mr25	{ margin-right:25px !important; }
.mr30	{ margin-right:30px !important; }
.mr40	{ margin-right:40px !important; }
.mr50	{ margin-right:50px !important; }
.mr100	{ margin-right:100px !important; }

.mb0	{ margin-bottom:0px !important; }
.mb3	{ margin-bottom:3px !important; }
.mb5	{ margin-bottom:5px !important; }
.mb10	{ margin-bottom:10px !important; }
.mb15	{ margin-bottom:15px !important; }
.mb20	{ margin-bottom:20px !important; }
.mb25	{ margin-bottom:25px !important; }
.mb30	{ margin-bottom:30px !important; }
.mb40	{ margin-bottom:40px !important; }
.mb50	{ margin-bottom:50px !important; }
.mb100	{ margin-bottom:100px !important; }

.ml0	{ margin-left:0px !important; }
.ml2	{ margin-left:2px !important; }
.ml5	{ margin-left:5px !important; }
.ml10	{ margin-left:10px !important; }
.ml15	{ margin-left:15px !important; }
.ml20	{ margin-left:20px !important; }
.ml25	{ margin-left:25px !important; }
.ml30	{ margin-left:30px !important; }
.ml40	{ margin-left:40px !important; }
.ml50	{ margin-left:50px !important; }
.ml100	{ margin-left:100px !important; }


/* -------------------------------------------------- FONT -------------------------------------------------- */

/* defalt font-size */
.f10 { font-size:77% !important; }
.f11 { font-size:85% !important; }
.f12 { font-size:93% !important; }
.f13 { font-size:100% !important; }
.f14 { font-size:108% !important; }
.f15 { font-size:116% !important; }
.f16 { font-size:123.1% !important; }
.f17 { font-size:131% !important; }
.f18 { font-size:138.5% !important; }
.f19 { font-size:146.5% !important; }
.f20 { font-size:153.9% !important; }
.f21 { font-size:161.6% !important; }
.f22 { font-size:167% !important; }
.f23 { font-size:174% !important; }
.f24 { font-size:182% !important; }
.f25 { font-size:189% !important; }
.f26 { font-size:197% !important; }


.B	{ font-weight:bold !important; }
.blue	{ color:#2c8ed2 !important; }
.gray	{ color:#777 !important; }
.red	{ color:#e6002d !important; }
.black	{ color:#000000 !important; }
.white	{ color:#ffffff !important; }

.caption {
	margin-top: 20px;  
}

*, *:before, *:after {
	box-sizing: border-box;
}


.pc {
	display: block !important;
}
.sp {
	display: none !important;
}
@media only screen and (max-width: 767px) {
.pc {
display: none !important;
}
.sp {
display: block !important;
}
}


.justified {
	text-align: justify;
	text-justify: inter-ideograph;
}

.alpha a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
.mainvisual {
	margin-top: 20px;
}
.mainvisual img {
	max-width: 1200px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.resizeimage img {
	height: 100vw;
}
.bg_darkgreen {
	background-color: #16303b;
	padding-top: 20px;
	color: #fff;
	padding-bottom: 90px;
}
.bg_darkgreen_contents {
	max-width: 1200px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.contents {
	max-width: 1200px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	padding-top: 0px;
	padding-bottom: 30px;
	min-height:auto;
}
.contents_block {
	padding-right: 30px;
	padding-left: 30px;
}
.title_txt {
	font-size:167% !important;
	line-height: 180%;
	padding-top: 0px;
	font-weight:500;

}
.title_w_txt {
	font-size:240% !important;
	line-height: 180%;
	padding-top: 60px;
	font-weight:300;
}

@media (max-width: 767px) {
.bg_darkgreen {
 padding-top: 0px;
}
.title_txt {
 font-size:131% !important;
}
.title_w_txt {
 font-size:161.6% !important;
 padding-top: 60px;
}
.contents_block {
 padding-right: 15px;
 padding-left: 15px
}

}


.btn-border {
	display: inline-block;
	width: 100%;
	max-width: 600px;
	text-align: left;
	background-color: #e41f1b;
	border: 2px solid #e41f1b;
	font-size: 24px;
	color: #e41f1b;
	text-decoration: none;
	font-weight: bold;
	border-radius: 6px;
 transition: .4s;
	text-align: center;
	margin-top: 60px;
	margin-bottom: 15px;
	padding: 20px;
}
.applybutton a {
	text-decoration: none !important;
	color: #FFF !important;
}
.btn-border:hover {
	background-color: #fff;
	border-color: #e41f1b;
	color: #e41f1b !important;
}
.sec {
	margin-top: 30px;
}
 @media screen and (max-width: 767px) {
.btn-border {
 width: 90%;
 font-size: 16px;
 color: #e41f1b;
 border-radius: 4px;
 position: relative;
 margin-top: 15px;
 margin-bottom: 10px;
 padding-top: 10px;
 padding-bottom: 10px;
}
}

#enjoy, #application {
	padding-bottom: 40px;
}
 @media screen and (max-width: 767px) {
#enjoy, #application {
	padding-bottom: 10px;
}
}



.enhancement_comment {
	max-width: 100%;
	margin-top: 80px;
	text-align: center;
	background-image: url(../images/bg_line.png);
	background-repeat: repeat-x;
	background-position: center;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-bottom: 10px;
	margin-left: auto;
}
.enhancement_comment_txt {
	display: inline-block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	background-color: #FFF;
	font-size: 22px;
	color: #e41f1b;
	padding-right: 20px;
	padding-left: 20px;
}
.work_block {
	display: flex;
}
.work_block .work_l {
	width: 49%;
	margin-top: 30px;
}
.work_block .work_r {
	flex: 1;
	width: 49%;
	margin-top: 30px;
	margin-left: 2%;
}
.work_block .work_l p {
	line-height: 280%;
	text-align: left;
}
.work_block .work img {
	width: 100%;
	max-width: 650px;
}
 @media screen and (max-width: 767px) {
.enhancement_comment_txt {
 font-size: 16px;
 color: #e41f1b;
 padding-right: 10px;
 padding-left: 10px;
}
.work_block {
 display: block;
}
.work_block .work_l {
 width: 100%;
 margin-top: 20px;
}
.work_block .work_r {
 width: 100%;
 margin-left: 0%;
 margin-top: 20px;
}
.work_block .work_l p {
 line-height: 200%;
}
}
.aq_comment {
	max-width: 100%;
    text-align: left;
    margin-right: auto;
    justify-content: left;
}
.aq_comment_txt {
	display: inline-block;
	text-align: left;
}
.newline {
	text-indent: -2em;
	padding-left: 2em;
}
.newline span {
	padding-right: 0.5em;
}

.newline.single {
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.newline.single span {
	padding-right: 0.5em;
}

.txt10 {
	font-size:77%;
}
.wblock {
	background-color: #FFF;
	padding: 5px;
	width: 100%;
	margin-top: 40px;
}
.wblock p {
	color: #000;
	font-size:108%;
}
 @media screen and (max-width: 767px) {
.wblock p {
 font-size:100%;
}
.txt10 {
 padding-top: 10px;
}
}
.col_2 {
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_2 > div {
	width: 50%;
	padding-top: 20px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}
 @media screen and (max-width: 900px) {
 .col_2 > div {
 width: 100%;
}
}
.col_2_con {
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_2_con .left {
	width: 45%;
	padding-top: 20px;
	padding-bottom: 20px;
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.col_2_con .right {
	width: 55%;
	padding-top: 20px;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
	display: block;
	text-align: left;
	margin-right: auto;
	justify-content: left;
}
.col_2_con > div img {
	width: 100%;
	max-width: 500px;
	height: auto;
	padding-right: 10px;
	padding-left: 10px;
}
.type_txt {
	font-size:153.9% !important;
	padding-top: 10px;
	font-weight:500;
}
.size_txt_block {
	margin-top: 5px;
}
.size_txt {
	background-color: #FFF;
	color: #000;
	font-size: 13px !important;
	margin-right: 3px;
	padding-top: 1px;
	padding-right: 7px;
	padding-bottom: 2px;
	padding-left: 7px;
}
 @media screen and (max-width: 480px) {
 .col_2_con .left {
 width: 45%;
 margin-top: auto;
 margin-bottom: auto;
 vertical-align: middle;
 display: flex;
 align-items: center;
}
 .col_2_con .right {
 width: 55%;
}
 .col_2_con > div img {
 width: 90%;
 max-width: 250px;
 height: auto;
 padding-right: 0px;
 padding-left: 0px;
}
.type_txt {
 font-size:131% !important;
 padding-top: 0px;
}
.size_txt_block {
 margin-top: 5px;
}
.size_txt {
 background-color: #FFF;
 color: #000;
 font-size: 11px !important;
 margin-right: 3px;
 padding-top: 1px;
 padding-right: 5px;
 padding-bottom: 2px;
 padding-left: 5px;
}
}
.linkbutton {
	width: 108px;
	margin-right: auto;
	font-size: 11px;
	text-decoration: none;
	display: block;
	text-align: center;
	color: #fff !important;
	background: #16303b;
	border-radius: 5px;
	-webkit-border-radius: 5px;/* for Safari and Chrome 陝�ｽｾ陟｢�ｽ*/
	-moz-border-radius: 5px;/* for Firefox 陝�ｽｾ陟｢�ｽ*/
	padding-top: 2px;
	padding-bottom: 3px;
	text-decoration: none !important;
	border: 1px solid #fff;
	box-sizing: border-box;
	margin-top: 15px;
}
.linkbutton:hover {
	border: 1px solid #000;
	color: #000 !important;
	text-decoration: none;
	background: #fff;
}
.arrow {
	position: relative;
	display: inline-block;
	padding-right: 5px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
	margin-top: -3px;
}
.arrow::before, .arrow::after {
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 margin: auto;
 content: "";
 vertical-align: middle;
}
 .sample5-1::before {
 left: 3px;
 width: 5px;
 height: 5px;
 border-top: 1px solid #fff;
 border-right: 1px solid #fff;
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
}
 .linkbutton:hover .sample5-1::before {
 border-top: 1px solid #000;
 border-right: 1px solid #000;
}


/* -------------------------------------------------- netservice -------------------------------------------------- */

.bg_white {
	background-color: #fff;
	margin-top:-20px;
}

.bg_black {
	background-color: #000;
	color: #FFF;
}

.bg_gray {
	background-color: #9bb7c6;
	padding-top: 40px;
}

.bg_blue {
	background-color: #e5edf8;
	padding-top: 40px;
}


.bg_black a{
	color: #0093da;
	text-decoration: underline;
}

.bg_black a:hover{
	text-decoration: none;
}



.channel_block{
	padding-top: 60px;
	padding-bottom: 30px;
    text-align: left;
    margin-right: auto;
    justify-content: left;
}

.channel_block img{
	border: 1px solid #999;	
	box-sizing: border-box;
}


.container_block{
	display: flex;
	margin-top: 20px;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}


.container_block .contents_ls {
  width: 22%;
}

.container_block .contents_ls img:hover, .container_block .contents_lss img:hover, .col_3 img:hover {
  opacity: 0.7 ;
  transition : all 0.5s ease 0s;
}

.container_block .contents_rs {
  flex: 1;
  width: 65%;
  margin-left: 3%;
    margin-top: auto;
    vertical-align: bottom;
    align-items: bottom;
	padding-bottom: 20px;
}

.container_block .contents_lss {
  width: 46%;
}
.container_block .contents_rss {
	flex: 1;
	width: 46%;
	margin-left: 8%;
	margin-top: auto;
	vertical-align: bottom;
	align-items: bottom;
	padding-bottom: 20px;
}

.container_block .contents_l {
  width: 46%;
}
.container_block .contents_r {
  flex: 1;
  width: 46%;
  margin-left: 8%;
}

.channel-txt {
	font-size: 153.9%;
	font-weight: 500;
	color: #FFF;
	margin-bottom: 20px;
}

#pageTop {
	margin-top: -80px;
}


@media print , screen and (min-width: 768px) {
.contents_block.channel {
	padding-top: 30px;
	padding-bottom: 30px;
}
.container_block .contents_l.sec {
  margin-top: 0px;
}
.container_block .contents_r.sec {
  margin-top: 0px;
}
.newline {
	margin-top: 15px;
}
.newline.single {
	margin-top: 3px;
}


.container_block .contents_channel {
	width: 46%;
	margin-right: 8%;
	margin-top: 100px;
}
.container_block .contents_channel:nth-child(2n) {
	margin-right: 0;
}
.container_block .contents_channel:nth-child(-n+2) {
	margin-top: 0;
}

}


@media only screen and (max-width: 767px) {
	
.channel_block{
	padding-top: 40px;
	padding-bottom: 40px;
}
	
.container_block{
  display: block;
}

.container_block .contents_rs, .container_block .contents_rs {
  padding-bottom: 0px;
}
.container_block .contents_ls, .container_block .contents_lss {
  width: 46%;
}
.container_block .contents_rs, .container_block .contents_rss {
  width: 100%;
  margin-left: 0%;
  margin-top: 1rem;
  padding-bottom: 0px;
}
.container_block .contents_l {
  width: 100%;
}
.container_block .contents_r {
  width: 100%;
  margin-left: 0%;
  margin-top: 20px;
}
.container_block .contents_l.sec {
	margin-top: -20px;
  padding-bottom: 0px;
}
.container_block .contents_r.sec {
  margin-top: 80px;
  padding-bottom: 0px;
}
.channel-txt {
	font-size: 131%;
}

.newline {
	text-indent: 0em;
	padding-left: 0em;
}
.newline.single {
	text-indent: 0em;
	padding-left: 0em;
}

.container_block .contents_channel {
	width: 100%;
	margin-top: 80px;
}
.container_block .contents_channel:first-child {
	margin-top: -20px;
}

}



.col_3 {
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_3 > div {
	width: 22%;
	margin-right: 11%;
	margin-bottom: 50px;
}


@media only screen and (max-width: 767px) {
 .col_3 > div {
 width: 46%;
 margin-right: 8%;
 margin-bottom: 40px;
}
 .col_3 > div:nth-child(2n) {
 margin-right: 0%;
}
.col_3 > div:nth-child(n+5) {
	margin-bottom: 0px;
}
}




.vrl {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.vrl.komi {
	font-size: 62%;
}

.col_vrl {
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
	margin-top: -15px;
}
.col_vrl > div {
	width: auto;
}

.col_vrl .vrl-txt {
	min-width: 17px;
}

@media only screen and (max-width: 767px) {
.col_vrl > div {
	margin-top: 4px;
}

.col_vrl .vrl-txt {
	margin-top: 0px;
}

}

.logo_googletv {
	max-width: 150px;
}
.logo_androidetv {
	max-width: 130px;
}
.logo_googletv, .logo_androidetv {
	margin-top: 30px;
}



/*----------------------------------------------------
	おすすめアプリ
----------------------------------------------------*/


.ap_txt {
	font-size: 108%;
	padding-top: 15px;
	font-weight: 500;
}

.ap_block {
	width: 100%;
	margin-top: 20px;
}

.ap_col_4 {
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
	padding-top: 70px;
	padding-bottom: 50px;
}
.ap_col_4 > div {
	width: 22.75%;
	padding: 0;
    text-align: left;
    margin-right: auto;
    justify-content: left;
	margin-right: 3%;
}
.ap_col_4 > div:nth-child(4n) {
 margin-right: 0%;
}

.ap_col_4 img{
	border: 1px solid #999;	
	box-sizing: border-box;
}
.ap_col_4 img:hover{
  opacity: 0.7 ;
  transition : all 0.5s ease 0s;
}

.ap_col_4 p{
	padding-top: 0.5em;	
}
.ap_col_4 p.overview{
	font-weight: 500;	
}

@media print , screen and (min-width: 768px) {
.s3c {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
}
.ap_col_4 {
    display: flex;
    justify-content: center;
}
.ap_col_4.s3c > div {
	width: 22.75%;
	padding: 0;
    text-align: left;
    margin-right: auto;
    justify-content: left;
	margin-right: 3%;
	text-align: justify;
	text-justify: inter-ideograph;
}
.ap_col_4.s3c > div:nth-child(3n) {
 margin-right: 0%;
}
}

@media only screen and (max-width: 767px) {
.ap_col_4 {
	padding-top: 40px;
	padding-bottom: 0px;
}
.ap_col_4 > div {
 width: 46%;
 margin-right: 8%;
 margin-bottom: 40px;
}
.ap_col_4 > div:nth-child(2n) {
 margin-right: 0%;
}
}


/*----------------------------------------------------
	新規ウィンドウで開く
----------------------------------------------------*/

.new-window span{
	font-size: 11px;
	padding-right: 4px;
}

.new-window img{
	border: none;
	vertical-align:middle;
	width: 10px;
}
.new-window img:hover {
  opacity: 1 !important;
}