
/* -------------------------------------------------- UTILITY  -------------------------------------------------- */

.mt-40	{ margin-top:-40px !important; }
.mt-20	{ margin-top:-20px !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; }
.mt35	{ margin-top:35px !important; }
.mt40	{ margin-top:40px !important; }
.mt50	{ margin-top:50px !important; }
.mt60	{ margin-top:60px !important; }
.mt80	{ margin-top:80px !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; }
.ml35	{ margin-left:35px !important; }
.ml40	{ margin-left:40px !important; }
.ml50	{ margin-left:50px !important; }
.ml100	{ margin-left:100px !important; }


/* -------------------------------------------------- FONT -------------------------------------------------- */

/* defalt font-size */
.f9 { font-size: 62.5% !important; }
.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: 900 !important; }
.Bb	{ font-weight: 500 !important; }
.blue	{ color:#007dff !important; }
.blue-link	{ color:#2c8ed2 !important; }
.gray	{ color:#777 !important; }
.red	{ color:#da0000 !important; }
.black	{ color:#000000 !important; }
.white	{ color:#ffffff !important; }
.orange	{ color:#da0000 !important; }
.purple	{ color:#791a51 !important; }
.kome	{ color:#1b70ff !important; }


.w130 {
	max-width: 130px !important;	
}
.w160 {
	max-width: 160px !important;	
}
.w250 {
	max-width: 250px !important;	
}
.w300 {
	max-width: 300px !important;	
}
.w350 {
	max-width: 350px !important;	
}
.w400 {
	max-width: 400px !important;	
}
.w500 {
	max-width: 500px !important;	
}
.w540 {
	max-width: 540px !important;	
}
.w600 {
	max-width: 600px !important;	
}
.w700 {
	max-width: 700px !important;	
}
.w800 {
	max-width: 800px !important;	
}
.w900 {
	max-width: 900px !important;	
}
.w1000 {
	max-width: 1000px !important;	
}
.w1140 {
	max-width: 1140px !important;	
}


.center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.left-txt {
	text-align: left;
	margin-left: auto;
	justify-content: left;
}
.right-txt {
	text-align: right;
	margin-left: auto;
	justify-content: right;
}
.caption {
	margin-top: 20px;
}

.pc {
	display: block !important;
}
.sp {
	display: none !important;
}
@media only screen and (max-width: 767px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}
.wide1150 {
	display: none !important;
}
@media only screen and (max-width: 1150px) {
	.wide1150 {
		display: block !important;
	}
}
#terms,
#personal {
	margin-top: -30px;
	padding-top: 30px;
}
body {
	word-break: break-all;
}
.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;
}
.cpimage img {
	height: 100vw;
}
.contents_block {
	padding-right: 30px;
	padding-left: 30px;
}
.title_txt {
	font-size: 220% !important;
	line-height: 180%;
	font-weight: 700;
	margin-bottom: 50px;
}
.title_w_txt {
	font-size: 220% !important;
	line-height: 180%;
	padding-top: 60px;
	font-weight: 500;
}
.fw500 {
	font-weight: 500;
}
@media (max-width: 767px) {
	.title_txt {
		font-size: 146.5% !important;
		margin-bottom: 40px;
	}
	.title_w_txt {
		font-size: 161.6% !important;
		padding-top: 40px;
	}
	.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;
	}
}
.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;
}
@media screen and (max-width: 900px) {
	.col_2>div {
		width: 100%;
	}
}
.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;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	padding-top: 2px;
	padding-bottom: 3px;
	box-sizing: border-box;
	margin-top: 0px;
	border: 1px solid #115e94;
	color: #115e94 !important;
	text-decoration: none;
	background: #fff;
	font-weight: 500;
}
.linkbutton:hover {
	border: 1px solid #115e94;
	color: #fff !important;
	text-decoration: none;
	background: #115e94;
}
.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;
}
.arrow-d::before {
	left: 3px;
	width: 5px;
	height: 5px;
	border-top: 1px solid #115e94;
	border-right: 1px solid #115e94;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.linkbutton:hover .arrow-d::before {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
/* --------------------------------------------------  -------------------------------------------------- */
.bg_white {
	background-color: #fff;
}
.bg_black {
	background-color: #000;
	color: #FFF;
}
.bg_beige {
	background-color: #dfeaf1;
}
.bg_gray {
	background-color: #eff3f4;
}
.bg_gray2 {
	background-color: #f5f5f5;
}
.bg_bg {
	background-color: #dfeaf1;
	background-image: url(../images/main_bg.png);
	background-repeat: no-repeat;
	background-position: center center;
}
.bg_red_e {
	background-color: #3c0000;
	margin-top: -20px;
}
.bg_pink {
	background-color: #d3dade;
}
.bg_black a {
	color: #0093da;
	text-decoration: underline;
}
.bg_black a:hover {
	text-decoration: none;
}
.headline {
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #ddd;
}
.contents {
	max-width: 1200px;
	text-align: center;
	justify-content: center;
	padding: 0;
	margin: 0 auto;
	min-height: auto;
}
.contents,
.block-btn {
	padding-bottom: 70px;
	;
}
.channel_block {
	padding: 60px 0 40px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.container_block {
	display: flex;
	margin-top: 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 only screen and (max-width: 767px) {
	.channel_block {
		padding: 50px 0 20px;
	}
	.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%;
	}
}
.c_txt {
	font-size: 108%;
}
.c_txt.max {
	font-size: 123.1%;
}
.c_txt a {
	color: #00449f;
	text-decoration: underline;
}
.c_txt a:hover {
	color: #00449f;
	text-decoration: none;
}
@media only screen and (max-width: 767px) {
	.c_txt {
		font-size: 100%;
		text-align: left;
		margin-right: auto;
		justify-content: left;
	}
	.c_txt.max {
		font-size: 116%;
	}
}
.box-txt {
	background: #da0000;
	color: #ffffff;
	padding: 10px;
	margin-top: 30px;
	display: inline-block;
}
.box-txt p {
	margin: 0 auto;
	padding: 0;
	font-weight: 700;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.box-txt-w {
	background: #fff;
	color: #da0000;
	padding: 10px;
	margin-top: 30px;
	display: inline-block;
	border: 2px solid #da0000;
}
.box-txt-w p {
	margin: 0 auto;
	padding: 0;
	font-weight: 700;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.col_button {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-top: 70px;
	margin-bottom: 100px;
}
.col_button>a {
	width: calc(20% - 1px);
	height: 80px;
	background-color: #000;
	color: #fff;
	font-size: 90%;
	font-weight: 500;
	margin-right: 1px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 10px;
}
.col_button>a:hover {
	opacity: 0.7;
	text-decoration: none;
}
@media only screen and (max-width: 767px) {
	.col_button {
		display: block;
		margin-top: 60px;
		margin-bottom: 80px;
	}
	.col_button>a {
		width: 100%;
		height: 60px;
		margin-bottom: 1px;
	}
}
.banner_area {
	padding-top: 30px;
	margin-bottom: 50px;
}
.arrow-right {
	position: relative;
	padding-left: 15px;
}
.arrow-right::before {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: solid 6px transparent;
	border-left: solid 8px;
	top: 50%;
	left: 0;
	margin-top: -5px;
}
.arrow-top, .arrow-bottom {
	position: relative;
	padding-left: 25px;
	line-height: 120%;	
}
.arrow-bottom::before {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: solid 6px transparent;
	border-top: solid 8px;
	top: 50%;
	left: 0;
	margin-top: -2px;
}
.arrow-top::before {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: solid 6px transparent;
	border-bottom: solid 8px;
	top: 50%;
	left: 0;
	margin-top: -8px;
}
@media only screen and (max-width: 767px) {
	ul.topnav li.right,
	ul.topnav li {
		float: none;
	}
	ul.topnav {
		margin-top: 40px;
		margin-bottom: 40px;
		font-size: 100%;
	}
	ul.topnav li {
		width: 100%;
		height: 70px;
	}
	ul.topnav li a,
	ul.topnav li.close {
		height: 80px;
	}
	ul.topnav_down {
		margin-top: -20px;
		margin-bottom: 40px;
	}
	.banner_area {
		padding-top: 10px;
		margin-bottom: 30px;
	}
	.arrow-top, .arrow-bottom {
		padding-left: 18px;
	}
}
/* -------------------------------------------------- parenthesis -------------------------------------------------- */
.parenthesis-left {
	background-image: url(../images/parenthesis-left.png);
	background-repeat: no-repeat;
	background-position: left top;
}
.parenthesis-right {
	background-image: url(../images/parenthesis-right.png);
	background-repeat: no-repeat;
	background-position: right bottom;
	padding: 30px 20px;
	margin-bottom: 40px;
}
.parenthesis_txt-01 {
	font-size: 146.5%;
	font-weight: 500;
	color: #da0000;
}
.parenthesis_txt-02 {
	font-size: 260%;
	font-weight: 800;
	color: #da0000;
	margin-top: 8px;
}
.parenthesis_txt-03 {
	font-size: 300%;
	font-weight: 800;
	color: #da0000;
}
.parenthesis_txt-04 {
	font-size: 250%;
	font-weight: 800;
	color: #da0000;
	line-height: 120%;
}
@media only screen and (max-width: 539px) {
	.parenthesis-right {
		margin-bottom: 10px;
	}
	.parenthesis_txt-01 {
		font-size: 108%;
	}
	.parenthesis_txt-02 {
		font-size: 153.9%;
		margin-top: 5px;
	}
	.parenthesis_txt-03 {
		font-size: 189%;
	}
	.parenthesis_txt-04 {
		font-size: 174%;
	}
}
@media print,
screen and (min-width: 540px) {
	.parenthesis-left {
		margin-bottom: 20px;
	}
}
/* -------------------------------------------------- Shipping -------------------------------------------------- */
.bg_shipping {
	background-color: #e5e5e5;
	margin-top: 0px;
	color: #222;
	padding: 100px 0;
}
.bg_shipping_contents {
	max-width: 1200px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.wblock {
	background-color: #da0000;
	padding: 5px;
	width: 100%;
	margin-top: 40px;
	font-weight: 500;
}
.wblock.b_gold {
	background-color: #ad8c0a;
}
.wblock.b_gold2 {
	background-color: #d2be00;
}
.wblock.b_purple {
	background-color: #aa0063;
}
.wblock.b_purple2 {
	background-color: #92308d;
}
.wblock.b_blue {
	background-color: #115e94;
}
.wblock p {
	color: #fff;
	font-size: 116%;
}
@media screen and (max-width: 767px) {
.bg_shipping {
	padding: 60px 0;
}
	.wblock {
		margin-top: 30px;
	}
	.wblock p {
		font-size: 108%;
	}
}
.col_two {
	width: 100%;
	display: flex;
	display: -ms-flexbox;
	/* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	/* IE10 */
}
.col_two>div {
	width: 50%;
	padding-top: 30px;
	padding-right: 20px;
	padding-bottom: 30px;
	padding-left: 20px;
}
@media only screen and (max-width: 767px) {
	.col_two>div {
		width: 100%;
	}
}
.shipping-img {
	max-width: 350px;
	margin-bottom: 12px;
}
.col_two_con {
	width: 230px;
	display: flex;
	display: -ms-flexbox;
	/* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	/* IE10 */
	margin-top: 3px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.col_two_con .left {
	padding-top: 0px;
	padding-bottom: 0px;
	display: block;
	font-size: 123.1%;
	font-weight: 500;
	text-align: left;
	margin-right: auto;
	justify-content: left;
}
.col_two_con .right {
	width: 120px;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 0px;
	padding-left: 10px;
	display: block;
	text-align: right;
	margin-left: auto;
	justify-content: right;
}
.col_two_con2 {
	width: 350px;
	display: flex;
	display: -ms-flexbox;
	/* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	/* IE10 */
	margin-top: 12px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.col_two_con2 .left {
	padding-top: 0px;
	padding-bottom: 0px;
	display: block;
	font-size: 123.1%;
	font-weight: 500;
	text-align: left;
	margin-right: auto;
	justify-content: left;
}
.col_two_con2 .right {
	width: 120px;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 0px;
	padding-left: 10px;
	display: block;
	text-align: right;
	margin-left: auto;
	justify-content: right;
}
@media only screen and (max-width: 399px) {
	.col_two_con2 {
		width: 100%;
	}
	.col_two_con2 .left {
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		justify-content: center;
	}
	.col_two_con2 .right {
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		justify-content: center;
	}
}
.aquos8k {
	font-size: 90% !important;
	color: #FFF;
	background-color: #000;
	padding-top: 2px;
	padding-right: 10px;
	padding-bottom: 3px;
	padding-left: 10px;
}
.aquos4k {
	font-size: 90% !important;
	color: #FFF;
	background-color: #b18c1d;
	padding-top: 2px;
	padding-right: 10px;
	padding-bottom: 3px;
	padding-left: 10px;
}
.aquosoled {
	font-size: 90% !important;
	color: #FFF;
	background-color: #b7b7b8;
	padding-top: 2px;
	padding-right: 10px;
	padding-bottom: 3px;
	padding-left: 10px;
	margin-right: -16px;
}
.container_block_title {
	display: flex;
}
.container_block_title .contents_l {
	width: 49%;
}
.container_block_title .contents_r {
	flex: 1;
	width: 49%;
	margin-left: 2%;
}
.container_block_title .contents_w {
	width: 100%;
}
.container_block_title .col_two>div {
	width: 100%;
}
@media only screen and (max-width: 767px) {
	.container_block_title {
		display: block;
	}
	.container_block_title .contents_l {
		width: 100%;
	}
	.container_block_title .contents_r {
		width: 100%;
		margin-left: 0%;
		margin-top: 1rem;
	}
}
.period_01 {
	width: 100%;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	margin-top: 70px;
	box-sizing: border-box;
}
.period_02 {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	background: #da0000;
	color: #fff;
	font-size: 116%;
	padding-top: 7px;
	padding-right: 10px;
	padding-bottom: 7px;
	padding-left: 10px;
	font-weight: 500;
}
.period_03 {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	background: #fff;
	color: #231815;
	font-size: 138.5%;
	padding-top: 20px;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
	font-weight: 500;
}
.i-recorder {
	padding-top: 15px;
}
.i-recorder img {
	max-width: 300px;
}
@media only screen and (max-width: 767px) {
	.period_03 {
		font-size: 123.1%;
	}
}
@media print,
screen and (min-width: 768px) {
	.period_01 {
		padding-bottom: 40px;
	}
}

/* -------------------------------------------------- course -------------------------------------------------- */

#note .indentback li {
	margin-bottom: 10px;
	font-size: 100%;
	text-align: left;
	margin-right: auto;
	justify-content: left;
}
#note .indentback li:last-child {
	margin-bottom: 0;
}
.indentback .round {
	padding-right: 0.6em;
	font-size: 77%;
	color: #777;
}
.indentback a {
	color: #00449f;
	text-decoration: underline;
}
.indentback a:hover {
	color: #00449f;
	text-decoration: none;
}
.indentback2 li {
	margin-top: 8px;
	margin-bottom: 8px;
	font-size: 108%;
	text-align: left;
	margin-right: auto;
	justify-content: left;
}
.indentback2 .round {
	padding-right: 0.6em;
}
@media print,
screen and (min-width: 768px) {
	.indentback li {
		text-indent: -1.3em;
		padding-left: 1.3em;
	}
	.indentback2 li {
		text-indent: -1.2em;
		padding-left: 2.2em;
	}
}

/* -------------------------------------------------- oubo -------------------------------------------------- */
.oubo_title {
	font-size: 123.1%;
	font-weight: 500;
	color: #da0000;
	padding-bottom: 10px;
	text-align: left;
	margin-right: auto;
	justify-content: left;
}
.indent-1 {
	padding-left: 1.2em;
	text-indent: -1.2em;
	font-size: 85%;
}
.indent-2 {
	padding-left: 1.2em;
	text-indent: -1.2em;
	font-size: 93%;
}
.indent-3 {
	padding-left: 1.7em;
	text-indent: -1.7em;
	font-size: 93%;
}
.indent-1 span,
.indent-2 span,
.indent-3 span {
	padding-right: 0.2em;
}
.indent-2.left-txt {
	margin-top: -8px;
}
@media only screen and (max-width: 767px) {
	.oubo_title {
		font-size: 116%;
	}
	.indent-1 {
		text-align: left;
		margin-right: auto;
		justify-content: left;
	}
	.indent-2 {
		padding-left: 0;
		text-indent: 0;
	}
	.indent-2.left-txt {
		margin-bottom: 70px;
	}
}
/* -------------------------------------------------- Contact -------------------------------------------------- */
.contact_block {
	padding-top: 60px;
	padding-bottom: 70px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.wblock-Contact {
	background-color: #dce3e5;
	padding: 5px;
	width: 100%;
	font-weight: 500;
	margin-bottom: 20px;
	color: #222;
}
.wblock p {
	color: #fff;
	font-size: 116%;
}
@media screen and (max-width: 767px) {
	.wblock p {
		font-size: 116%;
	}
}
p.summary {
	margin-left: 10px;
	font-size: 100%;
	margin-right: 10px;
	padding-top: 7px;
}
.img_free {
	max-width: 36px;
	padding-left: 3px;
	padding-right: 3px;
}
.title_block {
	display: flex;
	width: 100%;
	font-size: 116%;
	font-weight: 500;
	color: #fff;
	display: table;
	margin-top: 40px;
}
.title_block .contents_l {
	width: 55px;
	background-color: #da0000;
	padding-top: 10px;
	padding-bottom: 13px;
	font-weight: 600;
	margin-top: auto;
	margin-bottom: auto;
	vertical-align: middle;
	align-items: center;
	display: table-cell;
	font-size: 138.5%;
}
.title_block .contents_r {
	background-color: #ffe6eb;
	text-align: left;
	margin-right: auto;
	justify-content: left;
	padding-top: 10px;
	padding-right: 15px;
	padding-bottom: 13px;
	padding-left: 15px;
	display: table-cell;
	margin-top: auto;
	margin-bottom: auto;
	vertical-align: middle;
	align-items: center;
	color: #000;
}
@media screen and (max-width: 767px) {
	.title_block {
		font-size: 100%;
		margin-top: 30px;
	}
	.title_block .contents_l {
		width: 40px;
	}
}
.title_block_inside {
	display: flex;
	text-align: left;
	margin-right: auto;
	justify-content: left;
	margin-top: 20px;
}
.title_block_inside .contents_l {
	width: calc(98% - 300px);
	margin-right: 2%;
}
.title_block_inside .contents_r {
	flex: 1;
	width: 300px;
}
.title_block_inside_block {
	display: block;
	text-align: left;
	margin-right: auto;
	justify-content: left;
}
@media only screen and (max-width: 767px) {
	.title_block_inside {
		display: block;
	}
	.title_block_inside .contents_l,
	.title_block_inside .contents_r {
		width: 100%;
		margin-right: 0;
	}
	.title_block_inside .contents_r {
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		justify-content: center;
		margin-top: 20px
	}
}
.box2 {
	margin: 0;
	padding: 20px 20px 20px 20px !important;
	background: #FFF;
	border: solid 1px #da0000;
	border-radius: 10px;
}
.box3 {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
	background: #f8f8f8;
	border-radius: 10px;
	margin-top: 20px;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
}
.box3_txt {
	display: inline-block;
	text-align: left;
	padding: 30px 20px;
}
.box3 a {
	color: #00449f;
	text-decoration: underline;
}
.box3 a:hover {
	color: #00449f;
	text-decoration: none;
}
@media only screen and (max-width: 767px) {
	.box2 {
		margin-top: 15px;
	}
}
/* -------------------------------------------------- arrow04 -------------------------------------------------- */
.arrow04 {
	position: relative;
	padding-left: 22px;
}
.arrow04::before {
	position: absolute;
	content: '';
	width: 16px;
	height: 16px;
	background: #00449f;
	border-radius: 50%;
	top: 50%;
	left: 0;
	margin-top: -7px;
}
.arrow04::after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: solid 4px transparent;
	border-left: solid 6px #fff;
	top: 50%;
	left: 6px;
	margin-top: -3px;
}
/* ボタン */
.btn,
a.btn {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 4rem;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 1.0rem;
}
p.btn--oub {
	color: #fff;
	background-color: #b5b5b5;
	border-bottom: 5px solid #a0a0a0;
	max-width: 600px;
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
}
a.btn--oub {
	color: #000;
	background: linear-gradient(180deg, #ffd000, #eddb93);
	border-bottom: 5px solid #d6b41c;
	max-width: 600px;
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
}
a.btn--oub:hover {
	margin-top: 3px;
	color: #000;
	background: linear-gradient(180deg, #ffd000, #eddb93);
	opacity: 0.7;
	border-bottom: 2px solid #d6b41c;
}



/* -------------------------------------------------- YouTube Premium -------------------------------------------------- */

.logo_YouTube_Premium {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	padding: 0 0 60px;
}
.logo_YouTube_Premium img {
	max-width: 570px;
	width: 70%;
}
.txt_YouTube_Premium {
	font-size: 108%;
	font-weight: 400;
	line-height: 200%;	
	text-align: center;
}

.col_sec {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-top: 60px;
}
.col_sec .col_sec-s {
	width: 49%;
	display: flex;
	flex-direction: column;
    background-color:  #fff;
    box-shadow: 10px 10px 0px 0px #da0000;
}
.col_sec .col_sec-s:nth-child(2n) {
	margin-left: 2%;
}
.col_sec .col_sec-ss {
	width: 100%;
	flex-grow: 1;
	padding: 20px 25px 30px;
}
.col_sec-img {
	width: 100%;
	padding: 0;
}
.features {
	font-size: 146.5%;
	font-weight: 700;
	line-height: 100%;	
	text-align: center;
	padding: 35px 25px 0;
	color: #da0000;
}

.txt-use {
	font-size: 138.5%;
	font-weight: 700;
	line-height: 120%;	
	text-align: center;
	padding: 80px 25px 0;
}
.txt-use-s {
	font-size: 100%;
	line-height: 120%;	
	text-align: center;
	padding: 8px 25px 0;
}

/* さらに、スマートフォンやタブレットならこんな使い方も！ */

#use {
	margin-bottom: 30px;
}

/* キャンペーンのご応募手順 */

.col_app {
	margin: 0 0 70px;
}
.col_appl {
	width : 100%;
	max-width: 1060px;
	display: flex;
	flex-wrap: wrap;
	margin: 40px auto 0;
}
.col_appl img {
	width : 100%;
	margin: 0 auto;
}
.col_appl .col_appl-s {
	width: 48%;
	display: flex;
	flex-direction: column;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}
.col_appl .col_appl-s:nth-child(2n) {
	margin-left: 4%;
}
.col_appl .col_appl-s p {
	text-align: center;
	margin-top: 15px;
}

.col_app .indentback3 {
	margin-top: 30px;
}
.col_app .indentback3 li {
	margin-bottom: 10px;
	text-align: left;
	margin-right: auto;
	justify-content: left;
	text-indent: -1.3em;
	padding-left: 1.3em;
}
.col_app .indentback3 .round {
	padding-right: 0.6em;
	font-size: 77%;
	color: #777;
}
.col_app .indentback3 a {
	color: #00449f;
	text-decoration: underline;
}
.col_app .indentback3 a:hover {
	color: #00449f;
	text-decoration: none;
}
.col_app-txt {
	font-size: 108%;
	line-height: 150%;
	text-align: center;
	margin: 40px auto;
}
.img-max300 {
	max-width: 300px;
}
.completion {
	max-width: 900px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	font-size: 167%;
	color: #da0000;
	border: 2px solid #da0000;
	border-radius: 30px;
	font-weight: 700;
	margin-top: 30px;
}


/* ご応募ルール */

.table-spec {
	inline-size: 100%;
	font-size: 1.6rem;
	border-collapse: separate;
	border-spacing: 0;
	border-bottom: 1px solid var(--light-gray);
}

.table-spec th,
.table-spec td {
	display: block;
	inline-size: 100%;
	padding: 1em;
	border-top: 1px solid var(--light-gray);
	border-left: 1px solid var(--light-gray);
	border-right: 1px solid var(--light-gray);
}
.table-spec td {
	text-align: left;
	line-height: 160%;	
}
.table-spec td a {
	color:#007dff;
	font-weight: 300;
}
.table-spec th {
	background-color: var(--light-gray);
	font-weight: 500;
}

.table-spec th.rowspan {
	background-color: var(--white-gray);
}
.strong-txt {
	font-weight: 700;
}

.table-spec .indentback {
	margin-top: 0;
}
.table-spec .indentback li {
	margin-top: 0;
	line-height: 160%;	
}

/* よくあるご質問 */

.faq-block {
	width: 100%;
	margin-top: 0;
	padding-top: 0;
	padding-bottom: 30px;
}


.faq-block a {
	color: #00449f;
	text-decoration: underline;
}
.faq-block a:hover {
	color: #00449f;
	text-decoration: none;
}

.col_faq_link {
	font-size: 93%;
	padding-top: 0px;
	margin-top: 0px;
	margin-bottom: 10px;
    text-align: left;
    margin-right: auto;
    justify-content: left;
}
.col_faq_link > div {
 width: 49%;
 font-size:93% ;
 padding: 8px 0 0 0;
 margin-right: 2%;
}

.col_faq_link > div:nth-child(2n) {
    margin-right: 0%;
}

.col_faq {
	display: flex;
	width: 100%;
	margin-bottom: 40px;
	font-size:100%;
}
.col_faq .content-faq_l {
  width: 40px;
  text-align: left;
}
.col_faq .content-faq_r {
	padding-left: 15px;
	text-align: left;
    display: block;
	width: 98%;
	max-width: 1060px;
}

.box-number {
	font-size: 189%;
	height: 40px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	font-weight:600;
	text-align: center;
	justify-content: center;
	margin-top: auto;
	margin-bottom: auto;
	vertical-align: middle;
	display: flex;
}

.box-number.question {
	color: #da0000;
	align-items: center;
	border-right-width: 1px;
	border-left-width: 1px;
	border-right-style: solid;
	border-left-style: solid;
	border-right-color: #da0000;
	border-left-color: #da0000;
	background-color: #FFF;
	padding-bottom: 10px;
}

.box-number.anser {
	color: #fff;
	align-items: center;
	background-color: #da0000;
	padding-bottom: 4px;
}

.p_txt_q {
	text-align: left;
	font-size: 116%;

	font-weight:500;
	padding-top: 5px;
}

.p_txt_a {
	text-align: left;
	font-size: 108%;
	padding-top: 6px;
}

.faq-block a {
	color:#007dff;
	text-decoration: none;
}
.faq-block a:hover {
	color:#007dff;
	text-decoration: underline;	
}

/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {

	.logo_YouTube_Premium {
		padding: 0 0 30px;
	}
	.logo_YouTube_Premium img {
		max-width: 400px;
		width: 95%;
		padding: 0 25px;
	}
	.txt_YouTube_Premium {
		font-size: 100%;
		text-align: left;
	}
	.col_sec {
		margin-top: 40px;
	}
	.col_sec .col_sec-s {
		width : calc(100% - 10px);
		margin-right: 10px;
	}
	.col_sec .col_sec-s:nth-child(n+2) {
		margin-top: 30px;
	}
	.col_sec .col_sec-ss {
		width: 100%;
		flex-grow: 1;
		padding: 20px 20px 30px;
	}
	.features {
		font-size: 123.1%;
		padding: 25px 25px 0;
	}
	.txt-use {
		font-size: 116%;
		padding: 60px 25px 0;
	}
	
	/* さらに、スマートフォンやタブレットならこんな使い方も！ */
	#use {
		margin-bottom: 0;
	}

	/* キャンペーンのご応募手順 */
	.col_app {
		margin: 0 0 50px;
	}
	.col_appl {
		width : 100%;
		margin: 40px 0 70px;
	}
	.col_appl .col_appl-s {
		width: 100%;
	}
	.col_appl .col_appl-s:nth-child(n+2) {
		margin-top: 30px;
		margin-left: 0;
	}
	.col_appl .col_appl-s p {
		text-align: center;
		margin-top: 10px;
	}
	.col_app .indentback3 {
		margin-top: -40px;
		margin-bottom: 70px;
	}
	.col_app .indentback3 li {
		text-indent: 0;
		padding-left: 0;
	}
	
	.col_app .indentback4 {
		margin-top: -40px;
		margin-bottom: 70px
	}
	.col_app .indentback4 li {
		margin-bottom: 10px;
		text-align: left;
		margin-right: auto;
		justify-content: left;
		text-indent: 0;
		padding-left: 0;
	}
	.col_app .indentback4 .round {
		padding-right: 0.6em;
		font-size: 77%;
		color: #777;
	}
	.col_app .indentback4 a {
		color: #00449f;
		text-decoration: underline;
	}
	.col_app .indentback4 a:hover {
		color: #00449f;
		text-decoration: none;
	}
	
	
	.col_app-txt {
		font-size: 100%;
		margin: 30px 0 0px;
		text-align: left;
	}
	.img-max300 {
		max-width: 250px;
	}
	.completion {
		width: 90%;
		padding: 20px;
		font-size: 138.5%;
		margin-top: 0;
	}
	
	/* ご応募ルール */
	#rule {
		margin-top: -10px;
	}
	.table-spec th.rowspan,
	.table-spec th.rowspan+td {
		border-top: none;
	}
	
	/* よくあるご質問 */

	.col_faq {
		margin-bottom: 30px;
	}
	.box-number {
		font-size: 120%;
		height: 30px;
	}
	
	.box-number.question {
		padding-bottom: 5px;
	}
	
	.box-number.anser {
		padding-bottom: 0px;
	}
	
	.p_txt_q {
		font-size: 100%;
		padding-top: 2px;
	}
	.p_txt_a {
		font-size: 100%;
		padding-top: 2px;
	}

}

/* ====================================
	TAB、PC、印刷専用スタイル（768px〜）
===================================== */
@media print,
screen and (width >=768px) {
	
	.col_sec .col_sec-ss {
		font-size: 1.7rem;
	}
	
	/* キャンペーンのご応募手順 */
	.completion {
		padding: 30px 60px;
		display:inline-block;
	}
	.col_app .indentback4 {
		margin-top: 30px;
	}
	.col_app .indentback4 li {
		margin-bottom: 10px;
		text-align: center;
		margin: 0 auto;
		justify-content: left;
		text-indent: -1.3em;
		padding-left: 1.3em;
	}
	.col_app .indentback4 .round {
		padding-right: 0.6em;
		font-size: 77%;
		color: #777;
	}
	.col_app .indentback4 a {
		color: #00449f;
		text-decoration: underline;
	}
	.col_app .indentback4 a:hover {
		color: #00449f;
		text-decoration: none;
	}
	
	/* ご応募ルール */
	.table-spec {
		font-size: 1.6rem;
	}
	.table-spec th,
	.table-spec td {
		display: table-cell;
		border: none;
		border-top: 1px solid var(--light-gray);
		padding: 1em .8em;
		text-align: left;
		vertical-align: top;
	}

	.table-spec th {
		inline-size: 20%;
		background-color: var(--white-gray);
		font-weight: 700;
	}

	.table-spec td {
		border-left: 1px solid var(--light-gray);
	}

	.table-spec th[rowspan],
	th.rowspan {
		inline-size: 20%;
	}
}	