@charset "UTF-8";
/* ==========================================================================

	2019/2/14

   ========================================================================== */
@import url("/extra/library/common/css/smart_phone.css") only screen and (max-width: 1030px);
/* Base
   ========================================================================== */
#campaign_tv_sales_waku1 {
	margin: 0 auto 20px;
}
body {
	background: #fff;
	-webkit-font-smoothing: antialiased;
}
.clearText {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

/* Contents
========================================================================== */
#page, .container {
	font-family: Meiryo, メイリオ, sans-serif !important;
}
.thiscontents {
	width: 100%;
}
a {
	-webkit-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
	transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
	color: #0066CC;
}
a:hover {
	color: #0099CC;
}

/* 基本
----------------------------------------------------------------*/
.thiscontents .clear {
	width: 100%;
	overflow: hidden;
}
.thiscontents .cf:before,
.thiscontents .cf:after {
	content: " ";
	display: table;
}
.thiscontents .cf:after {
	clear: both;
}
.thiscontents .cf {
	*zoom: 1;
}
.thiscontents .clearboth {
	clear: both;
}
.thiscontents .flol {
	display: inline;
	float: left;
}
.thiscontents .flor {
	display: inline;
	float: right;
}
.thiscontents .pc {}
.thiscontents .tablet {
	display: none;
}
.thiscontents .sp {
	display: none;
}
.thiscontents .sp_tablet {
	display: none;
}
.thiscontents img {
	vertical-align: bottom;
	padding: 0;
	margin: 0;
	pointer-events: none;
	-webkit-touch-callout: none;
}
.thiscontents .fitimg,
.thiscontents .fitimg img {
	width: 100%;
	height: auto;
}
.thiscontents p {
	margin: 0;
	padding: 0;
}
.thiscontentsh1, .thiscontents h2,
.thiscontents h3, .thiscontents h4,
.thiscontents h5, .thiscontents h6 {
	font-weight: bold;
}
.thiscontents p {
	margin: 0;
	padding: 0;
}
.thiscontents sup {
	margin: 0;
	padding: 0;
	font-size: 11px;
	line-height: 15px;
}
.thiscontents .photo img {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 1030px) {
.thiscontents .pc {
	display: none;
}
.thiscontents .tablet,
.thiscontents .pc_tablet,
.thiscontents .sp_tablet {
	display: block;
}
.thiscontents {
	/*padding-top: 40px;*/
}
}
@media screen and (max-width: 736px) {
.thiscontents {
	margin-bottom: 10px;
}
.thiscontents .sp {
	display: block;
}
.thiscontents .pc_tablet,
.thiscontents .tablet {
	display: none;
}
}

/*===============================================================
	
	girid
	
===============================================================*/
.gridcontainer {
	margin-top: -30px;
}
.gridcontainer .grid {
	float: left;
}
.grid {
	margin-top: 30px;
}
/*	gridSize :460 gutterSize :40 column :2 */
.gridwrp_2 {
	width: 104.167%;
}
.gridwrp_2 .grid_2 {
	width: 96.000%;
	margin-right: 4.000%;
}
.gridwrp_2 .grid_1 {
	width: 46.000%;
	margin-right: 4.000%;
}
.gridwrp_1 .grid_2 {
	width: 192.000%;
	margin-right: 8.000%;
}
/*	gridSize :290 gutterSize :40 column :3 */
.gridwrp_3 {
	width: 104.211%;
}
.gridwrp_3 .grid_3 {
	width: 95.960%;
	margin-right: 4.040%;
}
.gridwrp_3 .grid_2 {
	width: 62.626%;
	margin-right: 4.040%;
}
.gridwrp_3 .grid_1 {
	width: 29.293%;
	margin-right: 4.040%;
}
/*	gridSize :210 gutterSize :40 column :4 */
.gridwrp_4 {
	width: 104.167%;
}
.gridwrp_4 .grid_4 {
	width: 96.000%;
	margin-right: 4.000%;
}
.gridwrp_4 .grid_3 {
	width: 71.000%;
	margin-right: 4.000%;
}
.gridwrp_4 .grid_2 {
	width: 46.000%;
	margin-right: 4.000%;
}
.gridwrp_4 .grid_1 {
	width: 21.000%;
	margin-right: 4.000%;
}

/* PCのみ */
@media screen and (min-width: 1031px) {
.gridwrp_2 .grid:nth-child(2n+1) {
	clear: both;
}
.gridwrp_3 .grid:nth-child(3n+1) {
	clear: both;
}
.gridwrp_4 .grid:nth-child(4n+1) {
	clear: both;
}
} /* for PC min-width: 961px

/* タブレット以下 */
@media screen and (max-width: 1030px) {

} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.gridwrp_3,
.gridwrp_3 .grid_1,
.gridwrp_3 .grid_2,
.gridwrp_2,
.gridwrp_2 .grid_1 {
	width: 100%;
	margin-right: 0;
}
.gridwrp_4 {
	width: 105.000%;
}
.gridwrp_4 .grid_1, .gridwrp_4 .grid_3 {
	width: 45.238%;
	margin-right: 4.762%;
}
.gridcontainer {
	margin-top: 0;
}
.grid {
	margin-top: 20px;
}
.grid:first-child {
	margin-top: 0px;
}
.gridwrp_4 .grid:nth-child(2) {
	margin-top: 0;
}
} /* for SP max-width: 736px */

/*===============================================================
	
	flex_container
	
===============================================================*/
.flex_container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.flex_container .item {
	flex-basis: auto;
	margin-top: 20px;
	background: #ddd;
}
.flex_container .item .txt {
	padding: 15px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
	
} /* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	
} /* for SP max-width: 736px */

/*----------------------------------------------------------------
アイテム比率
----------------------------------------------------------------*/
.flex_container .item_2_1 {
	width: 48%;
	margin-right: 4%;
}
.flex_container .item_3_1 {
	width: 31%;
	margin-right: 3.5%;
}
.flex_container .item_4_1 {
	width: 23%;
	margin-right: 2.6666%;
}
.flex_container .item_5_1 {
	width: 18.75%;
	margin-right: 1.5625%;
}
.flex_container .item_2_1:nth-child(2n),
.flex_container .item_3_1:nth-child(3n),
.flex_container .item_4_1:nth-child(4n),
.flex_container .item_5_1:nth-child(5n) {
	margin-right: 0;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
/*4→3カラム*/
.flex_container .item_4_1,
.flex_container .item_4_1:nth-child(4n) {
	width: 31%;
	margin-right: 3.5%;
}
/*5→4カラム*/
.flex_container .item_5_1,
.flex_container .item_5_1:nth-child(5n) {
	width: 23%;
	margin-right: 2.6666%;
}
.flex_container .item_4_1:nth-child(3n),
.flex_container .item_5_1:nth-child(4n) {
	margin-right: 0;
}
} /* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
/*2→1カラム*/
/*3→1カラム*/
.flex_container .item_2_1,
.flex_container .item_3_1 {
	width: 100%;
	margin-right: 0;
}
/*4→2カラム*/
/*5→2カラム*/
.flex_container .item_4_1,
.flex_container .item_4_1:nth-child(3n),
.flex_container .item_4_1:nth-child(4n),
.flex_container .item_5_1,
.flex_container .item_5_1:nth-child(4n),
.flex_container .item_5_1:nth-child(5n) {
	width: 48%;
	margin-right: 4%;
}
.flex_container .item_4_1:nth-child(2n),
.flex_container .item_5_1:nth-child(2n) {
	margin-right: 0;
}
} /* for SP max-width: 736px */

/*===============================================================
	
	navigation
	
===============================================================*/
.nav_outer {
	width: 100%;
  display: none;
}
.navigation_wrp {
	width: 100%;
	text-align: left;
	position: static;
	top: 0;
	left: 0;
	height: 60px;
	background: #fff;
	z-index: 999;
}
.navigation_wrp .navigation {
	width: 1030px;
	height: 60px;
	position: relative;
	margin: 0 auto;
}
.navigation li {
	line-height: 20px;
	font-size: 14px;
	float: left;
}
.navigation li a {
	color: #330000;
	text-decoration: none;
}
.navigation li a:hover {
	color: #cc0000;
	text-decoration: none;
}
.navigation_wrp .navigation .sns {
	position: absolute;
	top: 0;
	right: 0;
}
.navigation_wrp .navigation .localnav {
	display: none;
}
.navigation_wrp .navigation .localnav li {
	margin-top: 20px;
	padding-left: 20px;
	margin-right: 20px;
	border-left: solid 1px rgba(255, 255, 255, 0.1);
	border-left: solid 1px rgba(0, 0, 0, 0.1);
}
.navigation_wrp .navigation .localnav li:first-child {
	padding-left: 0;
	border-left: 0px;
}
.navigation_wrp .navigation .localnav li.blank a {
	background: url(/special/common/images/asset/icon-blank-pc.gif) no-repeat right top; /* white	 */
	background: url(/special/common/images/asset/icon-blank-pc_bk.gif) no-repeat right top; /* black	 */
	padding-right: 20px;
}
.navigation_wrp .navigation .sns li {
	margin-top: 15px;
	margin-left: 10px;
}
.navigation_wrp .navigation .sns li.twitter a, .navigation_wrp .navigation .sns li.instagram a, .navigation_wrp .navigation .sns li.facebook a {
	width: 30px;
	height: 30px;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
	display: block;
	background-size: 30px 30px;
	background-position: 0 0;
	background-repeat: no-repeat;
}
.navigation_wrp .navigation .sns li.twitter a {
	background-image: url(/special/common/images/asset/icon_twitter.png);
}
.navigation_wrp .navigation .sns li.instagram a {
	background-image: url(/special/common/images/asset/icon_instagram.png);
}
.navigation_wrp .navigation .sns li.facebook a {
	background-image: url(/special/common/images/asset/icon_facebook.png);
}
.navigation_wrp .navigation .sns li.twitter, .navigation_wrp .navigation .sns li.twitter img, .navigation_wrp .navigation .sns li.facebook, .navigation_wrp .navigation .sns li.facebook img {
	width: 30px;
	height: 30px;
}

/* タブレット以下 */
@media screen and (max-width: 1030px) {
.nav_outer, .navigation_wrp {
	display: none;
}

} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

} /* for SP max-width: 736px */

/*===============================================================
	
	sp_menu
	
===============================================================*/
.sp_menu {
	display: none;
}
.linebtn {
	position: absolute;
	top: -1000px;
}
/* タブレット以下 */
@media screen and (max-width: 1030px) {
.sp_menu {
	display: block;
	position: absolute;
	width: 100%;
	height: 40px;
	top: 50px;
	left: 0;
	z-index: 200;
	background: #000;
  display: none;
}
.sp_menu .inner {
	position: relative;
	width: 100%;
}
.sp_menu .menu {
	width: 100px;
	height: 40px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1200;
	background: none;
	color: #fff;
	text-align: center;
	border-top: solid 0 #000;
  display: none;
}
.sp_menu .menu a {
	display: block;
	position: relative;
	color: #fff;
	line-height: 40px;
	text-decoration: none;
	text-align: right;
	padding-right: 35px;
}
.active .menu a {}
.active .menu {
	background-color: rgba(0, 0, 0, 0.6);
}
.sp_menu .nav {
	position: absolute;
	top: 40px;
	left: 0;
	width: 100%;
	height: 0;
	background-color: rgba(0, 0, 0, 0.6);
	z-index: 1000;
	-webkit-overflow-scrolling: touch;
}
.sp_menu .nav .nav_container {
	position: relative;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	padding-bottom: 140px;
	box-sizing: border-box;
}
.sp_menu .nav .nav_container::-webkit-scrollbar {
	display: none;
}
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.sp_menu .menu {
	width: 70px;
	height: 40px;
}
} /* for SP max-width: 736px */

/* SP向けレイアウトの指定：～320px */
@media only screen and (max-width: 320px) {
.sp_menu .menu {
	width: 40px;
	height: 40px;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
}
} /* for SP max-width: 736px */

/*-------------------------------------------------------------
	menu-trigger
-------------------------------------------------------------*/
/* タブレット以下 */
@media screen and (max-width: 1030px) {
.menu-trigger, .menu-trigger span {
	display: inline-block;
	-webkit-transition: all .3s;
	transition: all .3s;
	box-sizing: border-box;
}
.menu-trigger a {
	position: relative;
}
.menu-trigger span {
	position: absolute;
	right: 7px;
	width: 25px;
	height: 1px;
	background-color: #fff;
	border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {
	top: 10px;
}
.menu-trigger span:nth-of-type(2) {
	top: 0;
	bottom: 0;
	margin: auto;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 10px;
}
/* animation */
.active .menu-trigger span:nth-of-type(1) {
	top: 9px;
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
}
.active .menu-trigger span:nth-of-type(2) {
	opacity: 0;
	-webkit-transform: translateY(0) rotate(45deg);
	transform: translateY(0) rotate(45deg);
}
.active .menu-trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	
} /* for SP max-width: 736px */

/*-------------------------------------------------------------
	sp_sns
-------------------------------------------------------------*/
/* タブレット以下 */
@media screen and (max-width: 1030px) {
.sp_menu .sp_sns {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 40px;
	z-index: 1000;
	overflow: hidden;
}
.sp_menu .sp_sns .sns li.twitter, .sp_menu .sp_sns .sns li.instagram, .sp_menu .sp_sns .sns li.facebook, .sp_menu .sp_sns .sns li.line {
	float: left;
	width: 40px;
}
.sp_menu .sp_sns .sns li.twitter a, .sp_menu .sp_sns .sns li.instagram a, .sp_menu .sp_sns .sns li.facebook a, .sp_menu .sp_sns .sns li.line a {
	background-image: url(/special/common/images/asset/sp_btn_twitter.png);
	background-color: #33ccff;
	background-position: 5px center;
	background-repeat: no-repeat;
	background-size: 30px 30px;
	padding: 0;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
	display: block;
	width: 40px;
	height: 40px;
}
.sp_menu .sp_sns .sns li.instagram a {
	background-size: 40px 40px;
	background-position: center center;
}
.sp_menu .sp_sns .sns li.twitter a {
	background-image: url(/special/common/images/asset/sp_btn_twitter.png);
	background-color: #33ccff;
}
.sp_menu .sp_sns .sns li.instagram a {
	background-image: url(/special/common/images/asset/sp_btn_instagram.png);
	background-color: #33ccff;
}
.sp_menu .sp_sns .sns li.facebook a {
	background-image: url(/special/common/images/asset/sp_btn_facebook.png);
	background-color: #3b5998;
}
.sp_menu .sp_sns .sns li.line a {
	background-image: url(/special/common/images/asset/sp_btn_line.png);
	background-color: #00c300;
}
.sp_menu .sp_sns .sns li.socialplus {
	float: left;
	margin-left: 5px;
	margin-top: 2px;
}
} /* for tablet max-width: 1030px */

/*-------------------------------------------------------------
	sp_menu navigation
-------------------------------------------------------------*/
/* タブレット以下 */
@media screen and (max-width: 1030px) {
.sp_menu .navigation {
	background-color: #000;
}
.sp_menu .navigation .localnav li {
	width: 100%;
	text-align: left;
	background: #fff;
}
.sp_menu .navigation .localnav li a {
	position: relative;
	display: block;
	line-height: 50px;
	color: #333;
	border-top: solid 1px rgba(0, 0, 0, 0.1);
	padding: 0 10px;
	box-sizing: border-box;
}
.sp_menu .navigation .localnav li a:after {
	position: absolute;
	content: " ";
	width: 12px;
	height: 12px;
	top: 0;
	bottom: 0;
	left: auto;
	right: 18px;
	margin: auto;
	border-top: solid 1px #999;
	border-left: solid 1px #999;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	
} /* for SP max-width: 736px */

/*-------------------------------------------------------------
	sp_menu body
-------------------------------------------------------------*/
/* タブレット以下 */
@media screen and (max-width: 1030px) {
.sp_menu .body {
	text-align: center;
	padding-bottom: 20px;
	background-color: #000;
	box-shadow: rgba(0, 0, 0, 0.701961) 0px 10px 10px 0px;
}
.sp_menu .body h3 {
	border-top: solid 1px #e63311;
	padding-top: 10px;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
}
.sp_menu .body h3 span {
	color: #e63311;
}
.sp_menu .body h4 {
	border-top: solid 1px #e63311;
	padding-top: 10px;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	margin-top: 10px;
}
.sp_menu .body .btn a {
	width: 90%;
	margin: 0 auto;
	display: block;
	color: #fff;
	background: #222;
	border-radius: 5px;
	margin-top: 10px;
	font-size: 14px;
	line-height: 20px;
	padding: 10px 0;
	border-bottom: solid 2px rgba(0, 0, 0, 0.5);
}
.sp_menu .body .notmember {}
.sp_menu .body .notmember h4 {
	color: #e63311;
}
.sp_menu .body .notmember .btn a {
	color: #fff;
	background: #e63311;
}
.sp_menu .body .recommend ul {
	width: 100%;
	overflow: hidden;
}
.sp_menu .body .bnr {
	float: none;
	width: 90%;
	margin: 0 auto;
	margin-top: 10px;
}
.sp_menu .body .bnr img {
	width: 100%;
	height: auto;
}
.sp_menu .body .sp_vodlink {
	border-top: solid 1px #e63311;
	padding-top: 10px;
	margin-top: 20px;
}
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.sp_menu .body .bnr {
	float: none;
	width: 90%;
	margin: 0 auto;
	margin-top: 10px;
}
} /* for SP max-width: 736px */

/*===============================================================
	
	fixed
	
===============================================================*/
.fixed {
	position: fixed;
	top: 0;
}
/* タブレット以下 */
@media screen and (max-width: 1030px) {
.fixed {
	position: fixed;
	top: 0;
}
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	
} /* for SP max-width: 736px */

/*===============================================================
	
	timeline
	
===============================================================*/
.timeline {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box;
}
.SandboxRoot body {
	background-color: transparent;
}
.timeline-widget {
	width: 100% !important;
	min-width: 100% !important;
}

/* タブレット以下 */
@media screen and (max-width: 1030px) {
	
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.TwitterWidget #twitter-widget-0 {
	width: 100% !important;
}
.timeline {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box;
	word-break: break-all;
}
} /* for SP max-width: 736px */

/*===============================================================
	
	txtlink 2016/11/16
	
===============================================================*/
.txtlink {}
.txtlink a {
	position: relative;
	display: inline-block;
	color: #000;
	font-size: 16px;
	line-height: 1.4;
	text-decoration: none;
	padding-left: 15px;
}
.txtlink a:hover {
	color: #c00;
}
.txtlink a:after {
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	top: 0;
	bottom: 0;
	left: 0;
	right: auto;
	margin: auto;
	border-top: solid 2px #c00;
	border-left: solid 2px #c00;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.txtlink.arw_prev a {}
.txtlink.arw_prev a:after {
	left: 3px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.txtlink.arw_after a {
	padding-left: 0;
	padding-right: 10px;
}
.txtlink.arw_after a:after {
	left: auto;
	right: 0;
}
.txtlink.arw_down a:after {
	top: 5px;
	bottom: auto;
	left: 2px;
	right: auto;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
.txtlink.arw_after_down a {
	padding-left: 0;
	padding-right: 10px;
}
.txtlink.arw_after_down a:after {
	top: 5px;
	bottom: auto;
	left: auto;
	right: 0;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
/*	arw_box */
.txtlink.arw_box a {
	padding-left: 25px;
}
.txtlink.arw_box a:before {
	content: '';
	width: 20px;
	height: 20px;
	background: #000;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: auto;
	margin: auto;
}
.txtlink.arw_box a:after {
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
	top: 0;
	bottom: 0;
	left: 5px;
	right: auto;
	margin: auto;
}

/* タブレット以下 */
@media screen and (max-width: 1030px) {

} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	.txtlink a {
		font-size: 4vw;
		padding-left: 3.5vw;
	}
	.txtlink a:after {
		width: 1.5vw;
		height: 1.5vw;
	}
	.txtlink.arw_prev a {}
	.txtlink.arw_prev a:after {
		left: 1vw;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.txtlink.arw_after a {
		padding-right: 2vw;
	}
	.txtlink.arw_after a:after {}
	.txtlink.arw_down a:after {
		top: 1.5vw;
		left: 0.5vw;
	}
	.txtlink.arw_after_down a {
		padding-right: 2vw;
	}
	.txtlink.arw_after_down a:after {
		top: 1.5vw;
	}
	/*	arw_box */
	.txtlink.arw_box a {
		padding-left: 6vw;
	}
	.txtlink.arw_box a:before {
		width: 5vw;
		height: 5vw;
	}
	.txtlink.arw_box a:after {
		left: 1vw;
	}
} /* for SP max-width: 736px */

/*===============================================================
	
	PAGETOP
	
===============================================================*/
#btn_pagetop {
	width: 100%;
	overflow: hidden;
}
#btn_pagetop a {
	display: block;
	position: fixed;
	right: -300px;
	top: 0;
	width: 50px;
	height: 50px;
	color: #fff;
	background-color: #d2191a;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	z-index: 101;
	border-radius: 30px;
}
#btn_pagetop a:hover {
	background-color: #c00;
}
#btn_pagetop a:after {
	position: absolute;
	content: " ";
	width: 14px;
	height: 14px;
	top: 20px;
	left: 0;
	right: 0;
	bottom: auto;
	margin: auto;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	border-radius: 2px;
}

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
#btn_pagetop a {
	width: 40px;
	height: 40px;
}
#btn_pagetop a:after {
	width: 12px;
	height: 12px;
	top: 17px;
	left: 0;
	right: 0;
	bottom: auto;
}
} /* for SP max-width: 736px */

/*===============================================================
	
	以下案件毎のコンテンツ

===============================================================*/
/*===============================================================
	
	webfont
	
===============================================================*/
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('/special/common/webfont/NotoSansCJKjp-Regular_subset.woff') format('woff');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: bold;
  font-weight: 700;
  src: url('/special/common/webfont/NotoSansCJKjp-Bold_subset.woff') format('woff');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: bold;
  font-weight: 800;
  src: url('/special/common/webfont/NotoSansCJKjp-Black_subset.woff') format('woff');
}
.noto_sans {
	font-family: 'Noto Sans JP', sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 1px;
}
.roboto {
  font-family: 'Roboto', 'Noto Sans JP', sans-serif;
  letter-spacing: -0.5px;
}

/*===============================================================
	
	bg 背景
	
===============================================================*/
/* タブレット以下 */
@media screen and (max-width: 1030px) {
	
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	
} /* for SP max-width: 736px */

/*===============================================================
	
	mainvisual
	
===============================================================*/
.mainvisual {
	position: relative;
  width: 100%;
  height: 28.2142857vw;
  background: url("../images/mainvisual.jpg") no-repeat top center/100% auto;
}
.mainvisual:after {
  content: '';
	position: absolute;
  bottom: -20%; left: 0; right: 0;
  margin: auto;
  width: 100%;
  height: 20.2531645%;
  background: url("../images/mainvisual_after.png") no-repeat bottom center/100% auto;
}
.mainvisual .title {
  position: absolute;
  z-index: -1;
}
.mainvisual .read {
	position: absolute;
	top: 53%; left: 0; right: 0;
  margin: auto;
	color: #fff;
	font-size: 1.5vw;
	line-height: 1.8;
  font-weight: 800;
  text-align: center;
	text-shadow:0px 0px 10px rgba(0,0,0,0.5);
}
.mainvisual .cast {
	position: absolute;
	bottom: 5%; left: 17.3%;
	color: #fff;
	font-size: 1.4vw;
	line-height: 1.4;
  font-weight: 800;
  text-align: center;
	text-shadow:0px 0px 5px rgba(0,0,0,0.5);
}
.mainvisual .cast .s {
  display: block;
	font-size: 0.9vw;
}
.mainvisual .date {
	position: absolute;
	bottom: -9.5%; left: 0; right: 0;
  z-index: 10;
  margin: auto;
  width: 100%;
  text-align: center;
}
.mainvisual .date .head {
  display: inline-block;
	color: #e83917;
  font-size: 1.2vw;
  line-height: 1;
  font-weight: 800;
  padding: 0.3vw;
  border: 2px solid #e83917;
}
.mainvisual .date p {
	color: #001f6b;
  font-size: 2.7vw;
  line-height: 1.4;
  font-weight: 800;
  text-align: center;
}
.mainvisual .date p .s {
  font-size: 1.5vw;
}

/* タブレット以下 */
@media screen and (max-width: 1400px) {
.mainvisual {
  height: 395px;
  background-size: 1400px 395px;
}
.mainvisual:after {
  bottom: -20%; left: 0; right: 0;
  height: 80px;
  background-size: 1400px 80px;
}  
.mainvisual .read {
	font-size: 20px;
}
.mainvisual .cast {
  bottom: 5%; left: 0; right: 0;
  margin: auto;
  transform: translateX(-405px);
	font-size: 20px;
}
.mainvisual .cast .s {
	font-size: 14px;
}
.mainvisual .date .head {
  font-size: 16px;
  padding: 5px;
}
.mainvisual .date p {
  font-size: 40px;
}
.mainvisual .date p .s {
  font-size: 20px;
}  

}	/* for tablet max-width: 1400px */

/* タブレット以下 */
@media screen and (max-width: 1030px) {
.mainvisual {
  height: 310px;
  background-size: 1100px 310px;
}
.mainvisual:after {
  bottom: -20%; left: 0; right: 0;
  height: 63px;
  background-size: 1100px 63px;
}  
.mainvisual .read {
	font-size: 18px;
}
.mainvisual .cast {
  bottom: 5%; left: 0; right: 0;
  margin: auto;
  transform: translateX(-320px);
	font-size: 16px;
}
.mainvisual .cast .s {
	font-size: 12px;
}
.mainvisual .date {
	bottom: -12%; left: 0; right: 0;
}  
.mainvisual .date .head {
  font-size: 14px;
  padding: 5px;
}
.mainvisual .date p {
  font-size: 36px;
}
.mainvisual .date p .s {
  font-size: 16px;
}  

}	/* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.mainvisual {
  height: 87.5vw;
  background: url("../images/sp_mainvisual.jpg") no-repeat top center/100% auto;
}
.mainvisual:after {
  bottom: -9%; left: 0; right: 0;
  height: 9.2857%;
  background: url("../images/sp_mainvisual_after.png") no-repeat bottom center/100% auto;
}
.mainvisual .read {
  width: 90%;
	top: 53%; left: 0; right: 0;
	font-size: 4vw;
}
.mainvisual .cast {
	bottom: 52%; left: 5.5%; right: auto;
	font-size: 4vw;
  transform: none;
}
.mainvisual .cast .s {
	font-size: 2.5vw;
}
.mainvisual .date {
	bottom: -5%; left: 0; right: 0;
  width: 100%;
}
.mainvisual .date .head {
  font-size: 4vw;
  padding: 0.5vw;
  border: none;
}
.mainvisual .date p {
  font-size: 6vw;
}
.mainvisual .date p .s {
  font-size: 3.5vw;
}  

}	/* for SP max-width: 736px */

/*===============================================================
	
	section
	複数のcontent、headlineなど格納するブロック
	
===============================================================*/
.section_wrp {
  color: #222;
	background: #eee;
}
.section {
	width: 100%;
}
.section_inner {
	margin: 0 auto;
	padding: 100px 0;
}
/* タブレット以下 */
@media screen and (max-width: 1240px) {
	.section_inner {
		padding: 100px 20px;
	}
} /* for tablet max-width: 1030px */
/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	.section_inner {
		padding: 10vw 5vw;
	}
} /* for SP max-width: 736px */
/*===============================================================
	
	レイアウト
	
===============================================================*/
.wide_width {
	width: auto;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
.content_width {
	width: auto;
	max-width: 1030px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
.narrow_width {
	width: auto;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* タブレット以下 */
@media screen and (max-width: 1200px) {
.wide_width {
	width: 100%;
}
} /* for tablet max-width: 1200px */

/* タブレット以下 */
@media screen and (max-width: 1030px) {
.content_width {
	width: 100%;
}
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.narrow_width {
	width: 100%;
}
} /* for SP max-width: 800px */

/*===============================================================
	
	content 
	
===============================================================*/
.content {
	margin: 0 auto;
}
.content + .content {
	margin-top: 50px;
}
.headline + .content {
	margin-top: 50px;
}
.content p {
	font-size: 16px;
	line-height: 2;
	margin-top: 10px;
}
.content p + p {
	margin-top: 20px;
}

/* タブレット以下 */
@media screen and (max-width: 1030px) {
	.content {
		margin: 0 auto;
	}
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.content {
	width: 100%;
	margin: 0 auto;
}
.content + .content {
	margin-top: 6vw;
}
.headline + .content {
	margin-top: 6vw;
}
.content p {
	font-size: 4vw;
	line-height: 1.8;
	margin-top: 0;
}
.content p + p {
	margin-top: 2vw;
}
} /* for SP max-width: 736px */

/*===============================================================
	
	headline：見出し
	subhead：小見出し
	
===============================================================*/
.headline {
}
.headline .title_img {
	width: 350px;
  margin: 0 auto;
}

/* タブレット以下 */
@media screen and (max-width: 1030px) {

} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.headline .title_img {
	width: 50vw;
}  

} /* for SP max-width: 736px */


/*===============================================================
	
	btn_detail
	
===============================================================*/
.btn_detail {
	width: 300px;
	margin: 0 auto;
	margin-top: 30px;
}
.btn_detail a {
	display: block;
	position: relative;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	padding: 20px 0;
  background: linear-gradient(#c40000 0%, #9a0000 100%);
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
}
.btn_detail a:after {
	position: absolute;
	content: " ";
	width: 10px;
	height: 10px;
	top: 0;
	left: auto;
	bottom: 0;
	right: 10px;
	margin: auto;
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.btn_detail a:hover {
	text-decoration: none;
  background: linear-gradient(#ef0000 0%, #cc0000 100%);
}

/* タブレット以下 */
@media screen and (max-width: 1030px) {

} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.btn_detail {
	width: 100%;
	margin: 0 auto;
	margin-top: 4vw;
}
.btn_detail a {
	font-size: 4.5vw;
	padding: 4vw 0;
}
} /* for SP max-width: 736px */

/*-------------------------------------------------------------
	flexbtn	
-------------------------------------------------------------*/
.flexbtn {
	width: auto;
	text-align: center;
}
.flexbtn a {
	display: inline-block;
	padding: 15px 40px;
}
/* タブレット以下 */
@media screen and (max-width: 1030px) {

} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	
} /* for SP max-width: 736px */

/*===============================================================
	
	fig
	背景に固定の画像を使用する場合
	
===============================================================*/
.fig {
	position: relative;
	height: 100%;
	min-height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	background-attachment: fixed;
	background-color: #000;
	z-index: 100;
}
.fig01 {
	background-image: url(../images/fig01.jpg);
}
/*
.fig02 {
	background-image:url(../images/fig02.jpg);
}
.fig03 {
	background-image:url(../images/fig03.jpg);
}
.fig04 {
	background-image:url(../images/fig04.jpg);
}
*/
.fig img {
	display: none;
}
.youtube {
	z-index: 99;
}

/* タブレット以下 */
@media screen and (max-width: 1030px) {
.fig {
	background: #000;
}
.fig img {
	display: block;
	background: none;
	width: 100%;
	height: auto;
}
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	
} /* for SP max-width: 736px */

/*===============================================================
	
	section_present
	
===============================================================*/
.section_present {
	background: url("../images/bg.jpg") top center/1000px 1000px;
}
.section_present .section_inner {
	padding-top: 120px;
}
.section_present .headline {
}

/* タブレット以下 */
@media screen and (max-width: 1030px) {
.section_present .section_inner {
	padding-top: 80px;
}  

} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.section_present {
	background-size: 500px 500px;
}  
.section_present .section_inner {
	padding-top: 12vw;
}  

} /* for SP max-width: 736px */

/*-------------------------------------------------------------
	present_item	
-------------------------------------------------------------*/
.present_item {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 30px;
  background: #fff;
  box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
}
.present_item + .present_item {
  margin-top: 50px;
}
.present_item .img {
  position: relative;
  width: 48.5%;
}
.present_item .img .num {
  position: absolute;
  top: -20px; left: -20px;
  width: 90px;
  height: 90px;
  color: #fff;
  font-size: 50px;
  line-height: 1;
  font-weight: 800;
  text-align: center;
  letter-spacing: -3px;
  text-shadow: -1px -1px 1px rgba(0,0,0,0.2);
  padding: 10px;
  background: linear-gradient(#ffe400 0%, #ab9900 100%);
  border-radius: 50%;
  box-sizing: border-box;
  box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
  transform: rotate(-15deg);
}
.present_item .img .num:after {
  content: '';
  position: absolute;
  top: 2.5px; left: 2.5px;
  width: 85px;
  height: 85px;
  border: 2px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
}
.present_item .img .num .s {
  display: block;
  font-size: 18px;
  line-height: 20px;
  letter-spacing: 0;
}
.present_item .txt {
  width: 48.5%;
}
.present_item .txt .tag {
  display: inline-block;
  color: #fff;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 800;
  background: #9c0000;
  padding: 5px;
}
.present_item .txt .head {
  color: #9c0000;
  font-size: 26px;
  line-height: 1.4;
  font-weight: 800;
  margin-top: 5px;
}
.present_item .txt .head .s {
  font-size: 16px;
}
.present_item .txt .read {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 800;
  margin-top: 15px;
}
.present_item .txt p {
  font-size: 15px;
  line-height: 1.6;
  margin-top: 5px;
}

/* タブレット以下 */
@media screen and (max-width: 1030px) {
	
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.present_item {
	padding: 4vw;
  box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
}
.present_item + .present_item {
  margin-top: 6vw;
}
.present_item .img {
  width: 100%;
}
.present_item .img .num {
  position: absolute;
  top: -6vw; left: -6vw;
  width: 20vw;
  height: 20vw;
  font-size: 10vw;
  letter-spacing: -3px;
  padding: 3vw;
}
.present_item .img .num:after {
  top: 1vw; left: 1vw;
  width: 18vw;
  height: 18vw;
  border-width: 1px;
}
.present_item .img .num .s {
  font-size: 4vw;
  line-height: 4vw;
}
.present_item .txt {
  width: 100%;
  margin-top: 4vw;
}
.present_item .txt .tag {
  font-size: 3.5vw;
  padding: 1vw;
}
.present_item .txt .head {
  font-size: 5vw;
  margin-top: 1vw;
}
.present_item .txt .head .s {
  font-size: 4vw;
}
.present_item .txt .read {
  font-size: 3.7vw;
  margin-top: 2vw;
}
.present_item .txt p {
  font-size: 3.5vw;
  margin-top: 2vw;
}
  
	
} /* for SP max-width: 736px */

/*===============================================================
	
	hoge
	
===============================================================*/
.hoge {
	
}
/* タブレット以下 */
@media screen and (max-width: 1030px) {

} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

} /* for SP max-width: 736px */

/*-------------------------------------------------------------
	foo	
-------------------------------------------------------------*/
.foo {
	
}
/* タブレット以下 */
@media screen and (max-width: 1030px) {
	
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	
} /* for SP max-width: 736px */

/*-------------------------------------------------------------
	foo	
-------------------------------------------------------------*/
.foo {
	
}
/* タブレット以下 */
@media screen and (max-width: 1030px) {
	
} /* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	
} /* for SP max-width: 736px */