@charset "UTF-8";

/*--------------------------------------------------
**************************************************
  PC用
**************************************************
--------------------------------------------------*/
@media screen and (min-width: 768px) {
	
	.promotion h1{
		display:block;
		width:100%;
		padding:30px 0;
		background-color:#0057b8;
		font-size:40px;
	}
	.promotion .promotion_box li{
		margin-bottom:40px;
	}
	.promotion .promotion_box li img{
		vertical-align:bottom;
	}
	.promotion .promotion_box li .text{
		margin-top:15px;
		font-family:TBUDGothic E;
		font-size:16px;
		font-weight:700;
	}
	.promotion .promotion_box li .text > span{
		margin-right:10px;
		padding:2px 15px;
		background-color:#0057b8;
		color:#fff;
	}

	/* キャンペーン詳細ページ */
	.promotion_sub h1{
		display:block;
		width:100%;
		padding:30px 0;
		background-color:#0057b8;
		font-size:40px;
	}
	.promotion_sub .main_image p{
		font-size:18px;
	}
	.promotion_sub .price_box{
		width:100%;
		padding:50px 0;
		background-color:#ffe44f;
	}
	.promotion_sub .price_box h2{
		width:100%;
		padding:10px 0;
		background-color:#0057b8;
		border-radius:30px;
		font-size:24px;
	}
	.promotion_sub .price_box table{
		width:900px;
		margin-left:auto;
		margin-right:auto;
	}
	.promotion_sub .price_box table th,
	.promotion_sub .price_box table td{
		vertical-align:middle;
		padding:15px 0;
		border:#ffe44f 2px solid;
		text-align:center;
		font-family:TBUDGothic E;
		font-size:16px;
		font-weight:700;
	}
	.promotion_sub .price_box table th{
		background-image:linear-gradient(-45deg, #0057b8 25%, #0d60bc 25%, #0d60bc 50%, #0057b8 50%, #0057b8 75%, #0d60bc 75%, #0d60bc);
		background-size:15px 15px;
		color:#fff;
	}
		.promotion_sub .price_box table th:first-child{
			width:20%;
			border-radius:15px 0 0 0;
		}
		.promotion_sub .price_box table th:nth-child(2),
		.promotion_sub .price_box table th:nth-child(3){
			width:20%;
		}
		.promotion_sub .price_box table th:last-child{
			border-radius:0 15px 0 0;
		}
	.promotion_sub .price_box table td{
		background-color:#fff;
	}
		.promotion_sub .price_box table td:first-child{
			background-image:linear-gradient(-45deg, #fef0a2 25%, #fef6c7 25%, #fef6c7 50%, #fef0a2 50%, #fef0a2 75%, #fef6c7 75%, #fef6c7);
			background-size:15px 15px;
		}
		.promotion_sub .price_box table td:nth-child(2){
			background-color:#fef0a2;
		}
	
	table#huyouhin td:nth-child(2){
			font-size: 13px;
			min-width: 230px;
		}
		.promotion_sub .price_box table tr:last-child td:first-child{
			border-radius:0 0 0 15px;
		}
		.promotion_sub .price_box table tr:last-child td:last-child{
			border-radius:0 0 15px 0;
		}
		.promotion_sub .price_box table td:last-child{
			font-family:TBUDGothic E;
			font-size:18px;
			font-weight:700;
			color:#e1122f;
		}
	.promotion_sub .price_box table td .off{
		vertical-align:middle;
		margin-right:15px;
		padding:2px 10px;
		background-color:#e1122f;
		font-family:TBUDGothic E;
		font-size:14px;
		font-weight:700;
		color:#fff;
	}
	.promotion_sub .price_box .service_link a{
		position:relative;
		display:inline-block;
		width:380px;
		padding:10px 0;
		background:url(../imgs/other/pc/icon-arrow_1_2.png) no-repeat 94% center;
		background-size:22px;
		border:#333 2px solid;
		border-radius:25px;
		text-align:center;
		font-family:TBUDGothic E;
		font-size:14px;
		font-weight:700;
		color:#333;
		transition:.3s;
		overflow:hidden;
	}
		.promotion_sub .price_box .service_link a::before{
			content:'';
			position:absolute;
			top:0;
			right:0;
			bottom:0;
			left:0;
			z-index:-1;
			background:#333;
			border-radius:25px;
			transform-origin:left top;
			transform:scale(1, 0);
			transition:transform .3s;
		}
		.promotion_sub .price_box .service_link a:hover{
			text-decoration:none;
			background:#333 url(../imgs/other/pc/icon-arrow_1_1.png) no-repeat 94% center;
			color:#fff;
		}
			.promotion_sub .price_box .service_link a:hover::before{
				transform-origin:left bottom;
				transform: scale(1, 1);
			}
	.promotion_sub .progress_box h2 > span{
		padding:5px 50px;
		border-bottom:#3a3a3a 2px dotted;
		font-size:16px;
	}
		.promotion_sub .progress_box ul li:first-child{
			margin-right:20px;
		}
		.promotion_sub .progress_box ul li:last-child{
			margin-left:20px;
		}
		.promotion_sub .progress_box ul li:only-child{
			margin-left:auto;
			margin-right:auto;
		}
	.promotion_sub .progress_box ul li img{
		width:100%;
		max-width:580px;
		height:auto;
	}


}/* End PC */



/*--------------------------------------------------
**************************************************
  SP用
**************************************************
--------------------------------------------------*/
@media screen and (max-width: 767px) {
	
	.promotion h1{
		display:block;
		width:100%;
		padding:30px 0;
		background-color:#0057b8;
		font-size:23px;
	}
	.promotion .promotion_box li{
		display:-webkit-flex; display:flex;
		-webkit-flex-direction:row; flex-direction:row;
		-webkit-justify-content:space-between; justify-content:space-between;
		margin-bottom:30px;
	}
	.promotion .promotion_box .image{
		width:47%;
	}
	.promotion .promotion_box li .text{
		width:50%;
		font-family:TBUDGothic E;
		font-size:16px;
		font-weight:700;
	}
	.promotion .promotion_box li .text > span{
		display:inline-block;
		margin-bottom:5px;
		padding:2px 15px;
		background-color:#0057b8;
		font-size:14px;
		color:#fff;
	}

	/* キャンペーン詳細ページ */
	.promotion_sub h1{
		display:block;
		width:100%;
		padding:30px 0;
		background-color:#0057b8;
		font-size:23px;
	}
	.promotion_sub .main_image p{
		font-size:14px;
	}
	.promotion_sub .price_box{
		width:100%;
		padding:30px 0;
		background-color:#ffe44f;
	}
	.promotion_sub .price_box h2{
		width:100%;
		padding:10px 0;
		background-color:#0057b8;
		border-radius:30px;
		font-size:16px;
	}
	.promotion_sub .price_box table{
		width:100%;
		margin-left:auto;
		margin-right:auto;
	}
	.promotion_sub .price_box table th,
	.promotion_sub .price_box table td{
		vertical-align:middle;
		padding:15px 0;
		border:#ffe44f 2px solid;
		text-align:center;
		font-family:TBUDGothic E;
		font-size:12px;
		font-weight:700;
	}
	.promotion_sub .price_box table th{
		background-image:linear-gradient(-45deg, #0057b8 25%, #0d60bc 25%, #0d60bc 50%, #0057b8 50%, #0057b8 75%, #0d60bc 75%, #0d60bc);
		background-size:15px 15px;
		color:#fff;
	}
		.promotion_sub .price_box table th:first-child{
			width:20%;
			border-radius:15px 0 0 0;
		}
		.promotion_sub .price_box table th:nth-child(2){
			width:15%;
		}
		.promotion_sub .price_box table th:nth-child(3){
			width:30%;
		}
		.promotion_sub .price_box table th:last-child{
			border-radius:0 15px 0 0;
		}
	.promotion_sub .price_box table td{
		background-color:#fff;
	}
		.promotion_sub .price_box table td:first-child{
			background-image:linear-gradient(-45deg, #fef0a2 25%, #fef6c7 25%, #fef6c7 50%, #fef0a2 50%, #fef0a2 75%, #fef6c7 75%, #fef6c7);
			background-size:15px 15px;
			
		}
		table#huyouhin td:first-child{
			width: 30%;
	}
		.promotion_sub .price_box table td:nth-child(2){
			background-color:#fef0a2;
			
		}
		.promotion_sub .price_box table tr:last-child td:first-child{
			border-radius:0 0 0 15px;
		}
		.promotion_sub .price_box table tr:last-child td:last-child{
			border-radius:0 0 15px 0;
		}
		.promotion_sub .price_box table td:last-child{
			font-family:TBUDGothic E;
			font-size:15px;
			font-weight:700;
			color:#e1122f;
		}
	.promotion_sub .price_box table td .off{
		display:block;
		width: 60%;
		margin:auto;
		padding:2px 0;
		background-color:#e1122f;
		font-family:TBUDGothic E;
		font-size:12px;
		font-weight:700;
		color:#fff;
	}
	.promotion_sub .price_box p{
		font-family:TBUDGothic E;
		font-size:12px;
		font-weight:700;
	}
	.promotion_sub .price_box .service_link a{
		position:relative;
		display:inline-block;
		width:100%;
		margin-left:auto;
		margin-right:auto;
		padding:10px 0;
		background:url(../imgs/other/sp/icon-arrow_1_2.png) no-repeat 94% center;
		background-size:18px;
		border:#333 2px solid;
		border-radius:25px;
		text-align:center;
		font-family:TBUDGothic E;
		font-size:13px;
		font-weight:700;
		color:#333;
		transition:.3s;
		overflow:hidden;
	}
	.promotion_sub .progress_box h2 > span{
		padding:5px 50px;
		border-bottom:#3a3a3a 2px dotted;
		font-size:15px;
	}
		.promotion_sub .progress_box ul li:first-child{
			margin-right:10px;
		}
		.promotion_sub .progress_box ul li:last-child{
			margin-left:10px;
		}
		.promotion_sub .progress_box ul li:only-child{
			margin-left:auto;
			margin-right:auto;
		}
	.promotion_sub .progress_box ul li img{
		width:100%;
		max-width:160px;
		height:auto;
	}
	.promotion_title{
		font-weight:900;
		display:block;
		text-align:center;
		font-size:1em;
		padding-bottom:10px;
	}

	.sp_promotion{
		font-size:0.8em;
	}

}/* End SP */
