@charset "utf-8";

@font-face {
	font-weight:100;
	font-family:"Yu Gothic";
	src:local("Yu Gothic Medium");
}

@font-face {
	font-weight:200;
	font-family:"Yu Gothic";
	src:local("Yu Gothic Medium");
}

@font-face {
	font-weight:300;
	font-family:"Yu Gothic";
	src:local("Yu Gothic Medium");
}

@font-face {
	font-weight:400;
	font-family:"Yu Gothic";
	src:local("Yu Gothic Medium");
}

@font-face {
	font-weight:700;
	font-family:"Yu Gothic";
	src:local("Yu Gothic Bold");
}

@font-face {
	font-weight:100;
	font-family:"Helvetica Neue";
	src:local("Helvetica Neue Regular");
}

@font-face {
	font-weight:200;
	font-family:"Helvetica Neue";
	src:local("Helvetica Neue Regular");
}

body#pudding_cpn #wrapper * {
	font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic",YuGothic,Verdana,Meiryo,"M+ 1p",sans-serif;
}

/* IE10以上 */
@media all and (-ms-high-contrast: none) {
	body {
		font-family:Verdana,Meiryo,sans-serif;
	}
}

.font_mincho,.font_mincho * {
	font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","HG明朝B","MS Mincho",serif!important;
}

.css_pc_only {
	display:none;
}

.css_tab_only {
	display:block;
}

.css_smp_only {
	display:none;
}

/* ================ Style ================= */
/* #sec_head */
#sec_head {
	position:relative;
	margin:0 auto;
	padding-bottom:75px;
	background:#000 url(../img/sec_head_bg_kv.jpg) no-repeat center top;
	background-size:contain;
}

#sec_head h1 {
	margin:0 auto 50px;
	padding:340px 0 0;
	width:93.6%;
	background:url(../img/sec_head_title.png) no-repeat center bottom;
	background-size:100% auto;
	text-indent:-9999px;
}

#sec_head .badge {
	position:absolute;
	top:83px;
	left:20px;
	width:25%;
}

#sec_head h2 {
	color:#fff;
	font-size:36px;
	line-height:1.4;
}

#sec_head .text_outline {
	margin:35px auto 45px;
	width:93%;
	color:#fff;
	font-size:16px;
}

#sec_head .text_period {
	position:relative;
	display:inline-block;
	margin:0 auto 50px;
	padding:24px 10px;
	width:93%;
	border:1px solid #fff;
	line-height:1.1;
}

#sec_head .text_period span {
	display:block;
	padding:8px 34px;
	background:#000;
	color:#fff;
	font-weight:700;
	font-size:28px;
}


#sec_head .text_period span small {
	color:#fff;
	font-weight:700;
}

#sec_head .btn_download a {
	position:relative;
	display:inline-block;
	margin:0 auto;
	padding:35px 85px;
	width:93%;
	border:2px solid #9a1f31;
	font-weight:700;
	font-size:16px;
	line-height:1.4;
}

#sec_head .btn_download a::after {
	position:absolute;
	right:8px;
	bottom:8px;
	width:15px;
	height:15px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	content:"";
	-webkit-transform:rotate(90deg);
	transform:rotate(90deg);
}

#sec_head .btn_download a:hover::after {
	border-top:2px solid #9a1f31;
	border-right:2px solid #9a1f31;
}

#sec_head .btn_download a:link,#sec_head .btn_download a:visited {
	background:#9a1f31;
	color:#fff;
	text-decoration:none;
}

#sec_head .btn_download a:hover,#sec_head .btn_download a:active {
	background:#fff;
	color:#9a1f31;
	text-decoration:none;
}

/* #nav */
article + nav{
	width: 94%;
	margin: auto;
	background: #95855e;
}

#nav {
	margin:0 auto;
	padding:30px 0;
	width:93%;
	max-width:954px;
	font-size:0;
}

#nav li {
	display:inline-block;
	width:33%;
	border-right:1px solid #fff;
	text-align:center;
	font-size:18px;
}

#nav li:first-child {
	border-left:1px solid #fff;
}

#nav li a {
	position:relative;
	display:block;
	padding:10px 0 22px;
	font-weight:700;
	font-size:18px;
}

#nav li a::after {
	position:absolute;
	bottom:3px;
	left:50%;
	margin-left:-4px;
	width:8px;
	height:8px;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	content:"";
	-webkit-transform:rotate(135deg);
	transform:rotate(135deg);
}

#nav li a:hover::after {
	border-top:1px solid #fff;
	border-right:1px solid #fff;
}

#nav li a:link,#nav li a:visited {
	color:#fff;
}

#nav li a:hover,#nav li a:active {
	color:#fff;
}

/* #wrapper */
#pudding_cpn #wrapper.page {
	margin-bottom:0;
	width:100%;
}

#pudding_cpn #wrapper.page section {
	margin-bottom:0;
}

#pudding_cpn #wrapper.page .section {
	position:relative;
	clear:both;
	overflow:hidden;
}

#pudding_cpn #wrapper.page .section h2 {
	position:relative;
	display:inline-block;
	margin-bottom:5px;
	color:#040000;
	font-size:14px;
}

#pudding_cpn #wrapper.page .section h2::before {
	position:absolute;
	left:-2.25rem;
	display:block;
	width:30px;
	height:10px;
	border-bottom:1px solid #040000;
	content:"";
}

#pudding_cpn #wrapper.page .section h2::after {
	position:absolute;
	right:-2.25rem;
	display:block;
	margin-top:-.55rem;
	width:30px;
	height:1px;
	border-top:1px solid #040000;
	content:"";
}

#pudding_cpn #wrapper.page .section h3 {
	margin:10px 0 40px;
	font-weight:500;
	font-size:36px;
	line-height:1.4;
}

#pudding_cpn #wrapper.page .section h3 span {
	display:block;
	font-weight:500;
	font-size:22px;
	line-height:1.4;
}

#pudding_cpn #wrapper.page .attention {
	font-size:12px;
	margin:0 3.75% 70px;
	line-height:1.4;
}


/* #sec_lineup */
#sec_lineup {
	padding-top:55px;
	background:#e0ddd3;
	background-size:50% auto;
}


#sec_lineup ul {
	margin:0 auto -20px;
	font-size:0;
}

#sec_lineup li {
	position:relative;
	display:inline-block;
	margin-bottom:40px;
	width:49%;
	vertical-align:top;
	font-size:14px;
}

#sec_lineup li .lineup_img {
	display:block;
	margin:0 auto;
	width:57.5%;
}

#sec_lineup li .lineup_badge {
	position:absolute;
}

#sec_lineup li .badge_no1 {
	top:-30px;
	left:1.5%;
	width:23.33333333%;
}

#sec_lineup li .badge_55th {
	top:24%;
	right:-5px;
	width:29.66666667%;
}

#sec_lineup li .badge_new {
	top:-30px;
	left:15%;
	width:30%;
}

#sec_lineup li .badge_limited {
	top:-30px;
	right:10%;
	width:18.66666667%;
}

#sec_lineup li dl {
	margin:10px auto 60px;
	width:85%;
}

#sec_lineup li dt {
	margin-bottom:15px;
	padding-bottom:15px;
	border-bottom:1px solid #ccc;
	font-weight:700;
	font-size:20px;
	line-height:1.6;
}

#sec_lineup li dt span {
	display:block;
	margin-top:10px;
	font-weight:700;
	font-size:20px;
	line-height:1.3;
}

#sec_lineup li dt span + span {
	margin-top:0;
}

#sec_lineup li:nth-child(3) dt span,#sec_lineup li:nth-child(4) dt span,#sec_lineup li:nth-child(5) dt span,#sec_lineup li:nth-child(6) dt span {
	margin-top:0;
}

#sec_lineup li dt small {
	font-weight:700;
	font-size:13px;
}

#sec_lineup li dd {
	text-align:left;
	letter-spacing:0;
	font-size:14px;
	line-height:1.8;
}

#sec_lineup li dd p {
	margin-top:10px;
	color:#221815;
	letter-spacing:0;
	font-size:12px;
	line-height:1.5;
}

#sec_lineup li dd p span {
	color:#9a1f31;
	letter-spacing:0;
	font-size:12px;
	line-height:1.5;
}

#sec_lineup #box_recycle {
	position:relative;
	overflow:visible!important;
	margin:0 3.75% 70px;
	padding:50px 20px 25px;
	border:1px solid #ccc;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
}

#sec_lineup #box_recycle h4 {
	position:absolute;
	top:0;
	left:50%;
	display:inline-block;
	margin-top:-20px;
	margin-left:-12%;
	padding:0 5%;
	width:24%;
	background:#e0ddd3;
}

#sec_lineup #box_recycle .recycle_img {
	display:block;
	margin:0 auto;
	width:20%;
}

#sec_lineup #box_recycle dl {
	text-align:left;
}

#sec_lineup #box_recycle dt {
	margin-bottom:25px;
	font-weight:700;
	font-size:20px;
	line-height:1.4;
}

#sec_lineup #box_recycle dd {
	color:#221815;
	font-size:14px;
	line-height:1.8;
}

/* #sec_thanks */
#sec_thanks {
	padding-top: 23%;
	background:#e0ddd3 url(../img/sec_thanks_kv.jpg) no-repeat center top;
	-webkit-background-size: 100%;
	background-size: 100%;
}


/* #sec_present */
#sec_present {
	position:relative;
	padding:55px 0 80px;
	background:#95855e;
	background-size:60% auto;
}

#pudding_cpn #wrapper.page .section#sec_present h2{
	color: #fff;
}

#pudding_cpn #wrapper.page .section#sec_present h2::before,
#pudding_cpn #wrapper.page .section#sec_present h2::after{
	border-top-color: #fff;
	border-bottom-color: #fff;
}

#sec_present *{
	color: #fff;
}

#sec_present ul {
	margin:0 0 0 3.75%;
	font-size:0;
}

#sec_present li {
	position:relative;
	display:inline-block;
	padding-right:3.75%;
	width:49%;
	vertical-align:top;
	text-align:left;
	font-size:14px;
}

#sec_present li .badge_num {
	position:absolute;
	top:-20px;
	right:10px;
	padding-top:0.7rem;
	width:4rem;
	height:4rem;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	border-radius:50%;
	background:#fff;
	color:#95855e;
	text-align:center;
	font-size:24px;
	border: 2px solid #95855e;
	font-weight: 600;
}

#sec_present li .badge_num small {
	display:block;
	color:#95855e;
	font-size:14px;
	font-weight: bold;
}

#sec_present li dl {
	position:relative;
	margin:25px 0 20px;
}

#sec_present li dt {
	margin:0 -4% 35px 0;
	padding-left:4rem;
	font-weight:700;
	font-size:22px;
}

#sec_present li dt small {
	display:block;
	padding:5px 0 10px;
	font-weight:700;
	font-size:14px;
}

#sec_present li dt strong {
	position:absolute;
	left:0;
	display:block;
	padding:10px 10px 10px 0;
	border-right:1px solid #fff;
	color:#fff;
	text-align:center;
	font-weight:700;
	font-size:40px;
	line-height:1.1;
}

#sec_present li dt strong span {
	display:block;
	color:#fff;
	text-align:center;
	font-weight:400;
	font-size:13px;
}

#sec_present li dd {
	font-weight:700;
	font-size:14px;
	line-height:1.6;
}

#sec_present li .note {
	margin-right:-4%;
	padding-left:.7em;
	text-indent:-.7em;
	letter-spacing:0;
	font-size:12px;
	line-height:1.5;
}

/* #sec_guideline */
#sec_guideline {
	padding:55px 0 80px;
	background:#fbfcfd;
}

#sec_guideline dl {
	position:relative;
	margin:0 3.75%;
	border-bottom:1px solid #cbcbcb;
	text-align:left;
}

#sec_guideline h3+dl {
	border-top:1px solid #cbcbcb;
}

#sec_guideline dt {
	position:absolute;
	top:50%;
	left:0;
	margin-top:-.55rem;
	width:10rem;
	font-weight:700;
	font-size:14px;
	line-height:1.4;
}

#sec_guideline .height_2 dt {
	margin-top:-1.15rem;
}

#sec_guideline dd {
	padding:2rem 0 2rem 12rem;
	font-size:14px;
	line-height:1.6;
}

#sec_guideline dd p {
	margin-bottom:40px;
}

#sec_guideline dd ul {
	overflow:hidden;
	margin:-2px 0;
}

#sec_guideline dd li {
	padding:2px 0;
}

#sec_guideline .list_note01 li {
	padding-left:.7em;
	text-indent:-.7em;
}

#sec_guideline .list_note02 li {
	padding-left:1em;
	text-indent:-1em;
}

#sec_guideline .btn_download a {
	position:relative;
	display:inline-block;
	margin:0 auto;
	padding: 32px;
	padding-left: 100px;
	width:93%;
	border:2px solid #9a1f31;
	font-weight:700;
	font-size:16px;
	line-height:1.4;
}

#sec_guideline .btn_download.onlineshop a {
	padding-left: 0;
	text-align: center;
	margin-bottom: 30px;
}

#sec_guideline .btn_download a > span {
	width: 80px;
	height: 80px;
	padding-top: 20px;
	display: block;
	position: absolute;
	top: 16px;
	left: 18px;
	background: #fff;
	border-radius: 50%;
	font-size: 14px;
	color: #9a1f31;
	font-weight: bold;
	letter-spacing: -2px;
	line-height: 1.2;
}

#sec_guideline .btn_download a > span span {
	color: #9a1f31;
	font-size: 20px;
}

#sec_guideline .btn_download a::after {
	position:absolute;
	right:8px;
	bottom:8px;
	width:15px;
	height:15px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	content:"";
	-webkit-transform:rotate(90deg);
	transform:rotate(90deg);
}

#sec_guideline .btn_download a:hover::after {
	border-top:2px solid #9a1f31;
	border-right:2px solid #9a1f31;
}

#sec_guideline .btn_download a:link,#sec_guideline .btn_download a:visited {
	background:#9a1f31;
	color:#fff;
	text-decoration:none;
}

#sec_guideline .btn_download a:hover,#sec_guideline .btn_download a:active {
	background:#fff;
	color:#9a1f31;
	text-decoration:none;
}

#sec_guideline .btn_download a img.btn_p {
	position:absolute;
	bottom: 5px;
	left: 15px;
	width: 70px;
}

.topTxt{
	width: 332px;
	height: 133px;
	margin-left: 2.3%;
	margin-bottom: 50px;
}


.indent{
	color: #000 !important;
}
