﻿@charset "UTF-8";


/* ========================================
  contents
======================================== */
.mainVisual {
	text-align: center;
}

.mainVisual img {
	max-width: 100%;
}

@media screen and (max-width: 768px) {
	.mainVisual {
		background-size: cover;
		background-image: url(../images/bg_mv_sp.webp);
	}

	.contents img {
		max-width: 100%;
	}
}

@media screen and (min-width: 769px) {
	.mainVisual {
		background-image: url(../images/bg_mv_pc.webp);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
}

/**/
.contents {
	font-size: 16px;
	line-height: 1.5;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding: 40px 15px 40px 25px;
	margin-bottom: 30px;
	background: url(/content/sp/viewtetsu/cpn/images/bg_yellow.png)#f9d30c repeat;
	background-size: 46px 46px;
	position: relative;
}

.contents02 {
	font-size: 16px;
	line-height: 1.5;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding: 40px 15px 40px 25px;
	background: #19ae4a;
	position: relative;
}


@media screen and (min-width: 769px) {
	.contents {
		padding: 70px 0;
		background: url(/content/sp/viewtetsu/cpn/images/bg_yellow.png)#f9d30c repeat;
		background-size: 65px 65px;
		position: relative;
	}

	.contents02 {
		padding: 70px 0;
		background: #19ae4a;
		position: relative;
	}
}

.contents .intro h3 {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: normal;
	transform: rotate(.03deg);
	position: relative;
	color: #7d0000;
}

.contents .intro h3 span {
	position: relative;
	z-index: 1;
}

.contents .intro h3:after {
	content: "";
	position: absolute;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+20,ffffff+80,ffffff+100&0+0,1+20,1+80,0+100 */
	background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 0) 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 0) 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 0) 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#00ffffff', GradientType=1);
	/* IE6-9 */
}

.contents:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.contents .intro .train_box h4 {
	color: #fff;
}

.contents .intro {
	background: #990000;
}

.contents .tour {
	background: linear-gradient(#fff, #f6f4e8)
}

ul.anchor {
	width: 950px;
	margin: 0 auto 50px;
}

ul.anchor li {
	width: 48%;
	text-align: center;
	float: left;
}

ul.anchor li:last-child {
	float: right;
}

ul.anchor li a {
	display: block;
	padding: 10px 0;
	color: #fff;
	background: #7d0000 url(../images/ico_anchor.png) no-repeat 95% center / 18px;
	text-decoration: none;
}

.contents .intro {}

.contents .intro h2,
.contents .tour h2 {
	margin: 0 0 40px;
	padding: 0px 0 0;
	text-align: center;
}



.bgWrapper,
.bgWrapper02 {
	margin: 0 auto;
	width: 100%;
	position: relative;
	background: url(/content/sp/viewtetsu/cpn/images/bg_dot.png) repeat;
	background-size: 20px 20px;
	position: relative;
	top: 10px;
	left: 0;
}



@media screen and (min-width: 769px) {

	.bgWrapper {
		margin: 0 auto;
		position: relative;
		background: url(/content/sp/viewtetsu/cpn/images/bg_dot.png) repeat;
		background-size: 28px 28px;
		position: relative;
		top: 15px;
		left: 15px;
	}

	.bgWrapper02 {
		margin: 0 auto;
		position: relative;
		background: url(/content/sp/viewtetsu/cpn/images/bg_dot.png) repeat;
		background-size: 28px 28px;
		position: relative;
		top: 15px;
		left: 15px;
		max-width: 950px;


	}

}


.contents02 .lead_text {
	text-align: center;
	padding: 20px 10px;
	margin: 0 0 30px;
	font-size: 1.8rem;
	border: 8px solid #000;
	background-color: #fff;
	top: -15px;
	left: -10px;
	position: relative;
	line-height: 1.6;

}

.cracker {
	position: relative;
}

.cracker::before {
	content: "";
	position: absolute;
	width: 90px;
	height: 90px;
	background: url(/content/sp/viewtetsu/cpn/images/cracker.png) no-repeat;
	background-size: contain;
	transform: rotate(80deg);
	left: -30px;
	top: 214px;
	z-index: 2;

}

@media screen and (min-width: 769px) {
	.cracker::before {
		content: "";
		position: absolute;
		width: 120px;
		height: 120px;
		background: url(/content/sp/viewtetsu/cpn/images/cracker.png) no-repeat;
		background-size: contain;
		transform: rotate(110deg);
		left: 20px;
		top: 10px;
		z-index: 2;

	}
}

.contents02 .lead_text::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 60px 10px 0 60px;
	border-color: #000000 transparent transparent;
	translate: -60% 100%;
}

.contents02 .lead_text::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 40px 8px 0 40px;
	border-color: #fff transparent transparent;
	translate: -60% 98%;
}

.contents02 .lead_text span {
	font-weight: bold;
	background: linear-gradient(transparent 70%, pink 70%, pink 70%);

}

.contents .intro h3 {
	font-size: 24px;
	margin: 0 0 40px;
}

.contents .intro h3+p {
	color: #ff0000;
	margin: -30px 30px 30px;
}

.contents .intro h3:after {
	bottom: 0;
	left: -80px;
	width: 1100px;
	height: 20px;
}

.contents .intro .train_box {
	float: left;
	width: 465px;
	margin: 0 0 30px;
}

.contents .intro .train_box:nth-child(2n) {
	float: right;
}

.contents .intro .train_box h4 {
	background: url(../images/bg_ttl_train.jpg) repeat-x center;
	padding: 10px 20px;
}

.contents .intro .train_box p {
	margin: 10px 0 0;
}

.contents .intro .train_box p span {
	display: block;
	font-size: 12px;
	margin: 10px 0 0;
}

.contents .intro .coment {
	display: block;
	font-size: 12px;
	text-align: right;
	margin: 0 0 60px;
}

.contents .intro div.table {
	padding: 0 0 80px;
}

.contents .intro div.table table {
	width: 100%;
}

.contents .intro div.table th {
	background: #5e4f38;
	color: #fff;
	padding: 10px;
}

.contents .intro div.table th:nth-child(2) {
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}

.contents .intro div.table td {
	border: solid #5e4f38;
	border-width: 1px 0 0;
	background: #fff;
	text-align: center;
	padding: 10px;
}

.contents .intro div.table td:nth-child(1) {
	background: #fef6f8;
	text-align: left;
}

.contents .intro div.table td:nth-child(2) {
	border-width: 1px 1px 0;
	width: 200px;
}

.contents .intro div.table td:nth-child(3) {
	width: 200px;
}

.contents .intro div.table p {
	text-align: right;
	margin: 10px 0 0;
	font-size: 14px;
}

.contents .intro div.table p span {
	float: left;
	color: #ff0000;
}

.contents .intro .facility {
	display: flex;
	margin: 0 0 60px;
}

.contents .intro .facility dt {}

.contents .intro .facility dd {
	width: 300px;
	margin: 0 20px 0 10px;
}

.contents .intro .facility dd span {
	display: block;
	color: #7d0000;
	font-weight: bold;
	margin: 0 0 10px;
}

.period {
	background-color: #a87507;
	text-align: center;
	color: #fff;
	line-height: 1.4;
	font-size: 1.9rem;
	font-weight: bold;
	padding: 10px;
}

.period span {
	display: inline-block;
	border: 1px solid #fff;
	padding: 3px 12px 2px;
	margin-right: 10px;
	font-size: 1.9rem;
}

@media screen and (min-width: 769px) {
	.period {
		font-size: 2.2rem;

	}

	.period span {
		font-size: 2.2rem;
	}
}

.contents .tour h3 {
	position: relative;
	background: #7d0000;
	padding: 14px 0 14px 28px;
	margin: 0 0 30px;
	color: #fff;
	line-height: 1;
}

.contents .tour h3:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 24px solid transparent;
	border-left: 15px solid #fdedee;
}

.contents .tour h3:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 24px solid transparent;
	border-right: 15px solid #fdedee;
}

.contents .tour .tour_box {
	margin: 0 0 60px;
}

.contents .tour .pic {
	float: left;
}

.contents .tour .pic p {
	margin: 8px 0 0;
}

.contents .tour .detail {
	float: right;
	width: 460px;
}

.contents .tour .detail .tag {
	margin: 0 0 10px;
}

.contents .tour .detail .tag1 li {
	float: left;
	margin: 0 10px 10px 0;
	font-size: 12px;
	padding: 5px 12px;
}

.contents .tour .detail .tag1 li.day {
	border: 1px solid #93812f;
	color: #93812f;
	background: #fff;
}

.contents .tour .detail .tag1 li.course {
	border: 1px solid #c9c9c9;
	background: #fffbfa;
}

.contents .tour .detail .tag1 li.room {
	border: 1px solid #001c58;
	color: #fff;
	background: #001c58;
	clear: both;
}

.contents .tour .detail .tag1 li.limit {
	border: 1px solid #e60012;
	color: #fff;
	background: #e60012;
}

.contents .tour .detail .tag1 li.food {
	border: 1px solid #001c58;
	color: #001c58;
	background: #fff;
}

.contents .tour .detail p {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	transform: rotate(.03deg);
	padding: 0 0 10px;
	margin: 0 0 15px;
	border-bottom: 1px solid #b09f62;
}

.contents .tour .detail p a {
	color: #000;
}

.contents .tour .detail p span {
	font-size: 24px;
	display: block;
}

.contents .tour .detail .tag2 {
	margin: 0 0 10px;
}

.contents .tour .detail .tag2 li {
	float: left;
	margin: 0 10px 0 0;
	font-size: 12px;
	padding: 2px 8px;
}

.contents .tour .detail .tag2 li:nth-child(1) {
	background: #660066;
	color: #fff;
}

.contents .tour .detail .tag2 li:nth-child(2) {
	background: #104196;
	color: #fff;
}

.contents .tour .detail .tag2 li.man2 {
	background: #566f2a;
}

.contents .tour .detail dl {
	margin: 0 0 20px;
}

.contents .tour .detail dl dt {
	margin: 0 0 8px;
}

.contents .tour .detail dl dt span {
	color: #93812f;
	font-size: 12px;
}

.contents .tour .detail dl dd {
	font-size: 14px;
}

.contents .tour .detail dl dd span {
	color: #e60012;
	font-weight: bold;
	font-size: 20px;
}

.contents .tour .bnr {
	padding: 0 0 80px;
	margin: -30px 0 0;
}

.contents .tour .bnr li {
	float: left;
}

.contents .tour .bnr li:last-child {
	float: right;
}

.contents .mailmagazin {
	text-align: center;
	position: relative;
}

.contents .mailmagazin div {
	display: inline-block;
	vertical-align: middle;
	margin: 0 30px 0 0;
}

.contents .mailmagazin div>img {
	display: block;
}

.contents .mailmagazin div a {
	margin: 0 10px;
}

.contents .mailmagazin a.btn_mailmaga {
	display: inline-block;
	vertical-align: middle;
}

.contents .mailmagazin:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 21px;
	height: 21px;
	background: url(../images/pic_top_left.gif) no-repeat;
}

.contents .mailmagazin:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 21px;
	height: 21px;
	background: url(../images/pic_top_right.gif) no-repeat;
}

.contents .mailmagazin div:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 21px;
	height: 21px;
	background: url(../images/pic_btm_left.gif) no-repeat;
}

.contents .mailmagazin div:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 21px;
	height: 21px;
	background: url(../images/pic_btm_right.gif) no-repeat;
}



.contents .col2 li {
	float: left;
	width: 49%;
	margin-bottom: 10px;
}

.contents .col2 li:nth-child(even) {
	float: right;
	text-align: right;
}

.contents .col2:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}


/* contentWidth
---------------------------------------*/
.contentWidth {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: auto;
}

@media screen and (min-width: 769px) {
	.contentWidth {
		width: 950px;
	}

	.contents02 .lead_text {
		font-size: 2.2rem;
		border: 10px solid #000;
		background-color: #fff;
		padding: 40px;
		position: relative;
		top: -30px;
		left: -30px;
		max-width: 950px;

	}

	section.contentWidth.secBanner {
		padding: 40px 0 0;
	}

	.contents .col2 li {
		float: left;
		width: 49%;
		margin-bottom: 10px;
	}

	.contents .col2 li:nth-child(even) {
		float: right;
		text-align: right;
	}

	.contents .col2:after {
		content: ".";
		display: block;
		height: 0;
		clear: both;
		visibility: hidden;
	}
}

/* secSearch
---------------------------------------*/
.secTheme h2 {
	background: #5e4f38;
	text-align: left;
	margin-bottom: 20px;
}

.secTheme .tab li {
	float: left;
	background: #f6f4e8;
	padding: 10px 1em;
	cursor: pointer;
}

.secTheme .tab li:first-child {
	background: #dfd5a7;
}

.secTheme .tab_content {
	background: #dfd5a7;
	padding: 1em;
}

.secTheme .tab_content.tabMember {
	background: #f6f4e8;
}

.secTheme .tab_content li {
	display: inline-block;
}

.secTheme .tab_content li:after {
	content: '｜';
	color: #8d7e36;
}

.secTheme .tab_content li a {
	color: #333;
}

section.contentWidth.secBanner {
	padding: 40px 0;
}

@media screen and (max-width: 768px) {

	ul.anchor {
		margin: 20px 10px 30px;
		width: auto;
	}

	ul.anchor li {
		width: 48%;
	}

	ul.anchor li:last-child {
		float: right;
	}

	.contentwidth .tour .text {
		margin: 10px 0 20px;
		font-size: 1.2rem;
	}

	.contents .intro {
		overflow: hidden;
		padding: 0 10px;
	}

	.contents .intro h3 {
		font-size: 20px;
	}

	.contents .intro h3+p {
		margin: -30px 0 30px 30px;
		font-size: 14px;
	}

	.contents .intro h3 img {
		width: 25px;
		margin: 0 5px 0 0;
	}

	.contents .intro .train_box h4 {
		padding: 8px 10px;
	}

	.contents .intro .train_box:nth-child(2n),
	.contents .intro .train_box {
		float: none;
		width: auto;
	}

	.contents .intro .coment {
		margin: 0;
		text-align: left;
	}

	.contents .intro div.table {
		font-size: 14px;
	}

	.contents .intro div.table th {
		font-size: 12px;
	}

	.contents .intro div.table td:nth-child(2),
	.contents .intro div.table td:nth-child(3) {
		width: 20%;
	}

	.contents .intro .facility {
		display: inline-block;
		letter-spacing: -5px;
	}

	.contents .intro .facility dt {
		display: inline-block;
		vertical-align: top;
		margin: 0 0 10px;
	}

	.contents .intro .facility dd {
		display: inline-block;
		width: calc(100% - 100px);
		margin: 0 0 10px 10px;
		vertical-align: top;
		letter-spacing: 0;
	}

	.contents .tour {
		padding: 0 10px;
	}

	.contents .tour h3 {
		font-size: 15px;
		padding: 10px 10px 10px 20px;
		margin: 0 0 15px;
	}

	.contents .tour h3:before {
		border: 17px solid transparent;
		border-left: 12px solid #5e4f38;
	}

	.contents .tour h3:after {
		border: 17px solid transparent;
		border-right: 12px solid #5e4f38;
	}

	.contents .tour .pic {
		margin: 0 0 20px;
		float: none;
	}

	.contents .tour .detail {
		float: none;
		width: auto;
	}

	.contents .tour .detail p {
		font-size: 14px;
	}

	.contents .tour .detail p span {
		font-size: 18px;
	}

	.contents .tour .bnr li:last-child,
	.contents .tour .bnr li {
		float: none;
		margin: 10px 0 0;
	}

	.contents .tour .bnr:last-child {
		padding: 0 0 30px;
		margin: -50px 0 0;
	}

	.contents .intro div.table p {
		text-align: left;
		font-size: 12px;
	}

	.contents .intro div.table p span {
		float: none;
		display: block;
	}

	.contents .mailmagazin {
		padding: 20px 30px;
		margin: 0 10px;
	}

	.contents .mailmagazin div {
		display: block;
		margin: 0 0 20px;
	}

	.contents .mailmagazin div>img {
		display: block;
		margin: auto;
	}


	.secTheme .tab {
		font-size: 14px;
	}

	.secTheme .tab_content {
		font-size: 14px;
	}

	.secTheme .tab_content li a {
		padding: 3px 0;
		display: inline-block;
	}

	section.contentWidth {
		padding: 30px 0 20px;
	}

	.sp_inner {
		padding: 0 12px;
	}

	section.contentWidth.secBanner {
		padding: 40px 12px 20px;
	}

	.contents .col2 li,
	.contents .col2 li:nth-child(even) {
		float: none;
		width: auto;
		text-align: center;
	}
}



.prize {
	display: flex;
	flex-flow: column;
	text-align: center;
	margin-top: 6px;
	font-size: 1.3rem;
}

.prize img {
	width: 100%;
	height: auto;
}

.cpDetail .prize_name p {
	text-align: left;
	font-size: 1.8rem;
	font-weight: bold;
	text-indent: -1em;
	margin-left: 1em;
}

.cpDetail .prize_name p span {
	text-align: left;
	font-size: 1.6rem;
	font-weight: normal;
	text-indent: -1em;
	margin-left: 1em;
}

.cpDetail .prizeImages p {
	margin: 6px 0 20px;
	font-size: 1.3rem;
	text-align: center;
	font-weight: normal;
}

.cpDetail p.note {
	font-weight: normal;
	font-size: 1.6rem;
}


@media screen and (min-width: 769px) {
	.prizeImages {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
	}

	.prizeImages li {
		width: calc(96% /4);
		box-sizing: border-box;
	}

	.prize_name {
		width: 100%;
	}

	.cpDetail .prize_name p {
		font-size: 2.4rem;
	}

	.cpDetail .prizeImages p {
		margin: 6px 0 30px;
		font-size: 1.3rem;
		text-align: center;
	}

	.cpDetail p.note {
		font-weight: normal;
		font-size: 1.6rem;
	}



}

.prizeDetails {
	display: flex;
	flex-flow: column;
	text-align: left;
	margin-top: 30px;
	border-top: dotted 4px #efebe0;
}

.prizeIntro {
	margin: 30px 0 30px 0;
}

.prizeIntro h3 {
	font-weight: bold;
	font-size: 1.8rem;
	margin-bottom: 20px;
}


.introImages p {
	margin-top: 6px;
	font-size: 1.2rem;
}

.introImages li {
	margin-right: 0;
	margin-bottom: 20px;
	width: 100%;
}

.point {
	margin: 0 0 20px 1em;
}

@media screen and (min-width: 769px) {
	.prizeDetails {
		display: flex;
		flex-flow: row nowrap;
	}

	.introImages {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
	}

	.introImages li {
		width: calc(96%/4);
		margin-bottom: 0;
	}

	.introImages img {
		width: 100%;
		padding: 0;
	}

}

.detailLink {
	font-weight: bold;
}

.freteminaBnr {
	text-align: center;
	margin-top: 30px;
}

.freteminaBnr a {
	margin: 0 auto;
}

/*SP　フレテミーナバナー*/
.freteminaBnr img {
	width: 100%;
}

/*PC　フレテミーナバナー*/
@media screen and (min-width: 769px) {
	.freteminaBnr img {
		width: 600px;
	}
}


.boxJourney {
	margin-top: 20px;
	padding: 0 20px;
}

.boxJourney h3 {
	color: #5568dc;
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 20px;
	letter-spacing: 20px;
}

.JourneyDetail img {
	width: 100%;
	height: auto;
}

p.day {
	background-color: #5568dc;
	color: #fff;
	font-weight: bold;
	padding: 6px 20px;
	font-size: 2.0rem;
}




/* inlineFrame
---------------------------------------*/
.inlineFrame {
	height: 400px;
	overflow: auto;
	font-size: 1.4rem;
}



.inlineFrame p strong {
	font-weight: normal;
	color: #f00;
}

.cpDetail .inlineFrame p {
	font-size: 1.4rem;
	margin-bottom: 1em;
}

.cpDetail .inlineFrame li {
	font-size: 1.4rem;
	text-indent: -1em;
	margin-left: 1em;
}

@media screen and (min-width: 769px) {
	.inlineFrame {
		padding-right: 30px;
		font-size: 1.4rem;
	}
}


/* TEXT
---------------------------------------*/

.title01,
.title02,
.title03 {
	text-align: center;
	font-size: 3.6rem;
	font-weight: bold;
	padding-left: 20px;
	margin-bottom: 30px;
	position: relative;
	display: inline-block;
	letter-spacing: 10px;
}

.title01::before {
	position: absolute;
	display: block;
	background: url(../images/present.png) no-repeat;
	background-size: contain;
	content: "";
	width: 40px;
	height: 40px;
	top: 4px;
	left: -40px;
	bottom: 0;
	transform: rotate(-10deg);
}

.title02::before {
	position: absolute;
	display: block;
	background: url(../images/megaphone.png) no-repeat;
	background-size: contain;
	content: "";
	width: 40px;
	height: 40px;
	top: 10px;
	left: -40px;
	bottom: 0;
	transform: rotate(-10deg);
}

.title03::before {
	position: absolute;
	display: block;
	background: url(../images/rules.png) no-repeat;
	background-size: contain;
	content: "";
	width: 40px;
	height: 40px;
	top: 6px;
	left: -40px;
	bottom: 0;
}

.cpBody {
	text-align: center;
	max-width: 1166px;
	margin: 0 auto;
	padding: 0;
}


.cpDetail {
	text-align: left;
	background-color: #fff;
	box-sizing: border-box;
	font-size: 1.4rem;
	width: 100%;
	margin: 0 auto 50px;
	padding: 20px 10px;
	border: 8px solid #000;
	top: -15px;
	left: -10px;
	position: relative;
}

.cpDetail h4 {
	font-size: 2.0rem;
	font-weight: bold;
	margin-top: 1em;
}

.cpDetail h4.first {
	margin-top: 0;
}

.cpDetail p {
	margin-bottom: 1em;
	font-size: 1.6rem;
}

.inlineFrame li p.cpDetailIndent {
	text-indent: -1em;
	margin: 0 0 0 1em;
}


@media screen and (min-width: 769px) {

	.cpBody {
		text-align: center;
		max-width: 1166px;
		margin: 0 auto;
		padding: 0px 15px;
	}

	.jrepChance {
		margin-bottom: 80px;
	}

	.title01,
	.title02,
	.title03 {
		text-align: center;
		font-size: 4.6rem;
		font-weight: bold;
		padding-left: 0;
		margin-bottom: 30px;
		position: relative;
		display: inline-block;
		letter-spacing: 14px;
	}

	.title01::before {
		position: absolute;
		display: block;
		background: url(../images/present.png) no-repeat;
		background-size: contain;
		content: "";
		width: 60px;
		height: 60px;
		top: -3px;
		left: -80px;
		bottom: 0;
		transform: rotate(-10deg);
	}

	.title02::before {
		position: absolute;
		display: block;
		background: url(../images/megaphone.png) no-repeat;
		background-size: contain;
		content: "";
		width: 60px;
		height: 60px;
		top: 10px;
		left: -90px;
		bottom: 0;
		transform: rotate(-10deg);
	}

	.title03::before {
		position: absolute;
		display: block;
		background: url(../images/rules.png) no-repeat;
		background-size: contain;
		content: "";
		width: 60px;
		height: 60px;
		top: 6px;
		left: -80px;
		bottom: 0;
	}

	.cpDetail {
		width: 1136px;
		margin: 0 auto 90px;
		background: #fff;
		padding: 40px;
		align-items: center;
		border: 10px solid #000;
		position: relative;
		top: -30px;
		left: -30px;
	}
}

.oubo a {
	display: inline-block;
	background-color: #c71429;
	color: #fff;
	margin-bottom: 80px;
	border-radius: 50px;
	border-bottom: 8px solid #a00;
	padding: 14px;
	font-size: 1.8rem;
	position: relative;
	width: 320px;
	line-height: 1.4;
}

.oubo a::before {
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	content: "";
	height: 0.5em;
	width: 0.5em;
	left: 40px;
	top: 40%;
	position: absolute;
	display: inline-block;
}

@media screen and (min-width: 769px) {
	.oubo a {
		width: 480px;
		font-size: 2.8rem;
	}
}



/* entryBox
---------------------------------------*/
.rules_txt {
	text-align: left;
	font-weight: bold;
	margin-bottom: 30px;
}

@media screen and (min-width: 769px) {
	.rules_txt {
		text-align: center;
	}
}



.no_pointer {
	cursor: default;
	opacity: .2;
}

.entryBox {
	max-width: 950px;
	margin: 0 auto;
}

.entryTxt {
	display: inline-block;
	max-width: 600px;
	margin: 20px 0 0 0;
	text-align: left;
	font-size: 12px;
}

.entryTxt li {
	margin-left: 1em;
	text-indent: -1em;

}

@media screen and (min-width: 769px) {
	.entryTxt {
		font-size: 14px;
	}
}



/*---------
------------entryButton -------*/

.check-box {
	margin-bottom: 20px;
}

.check-box p {
	margin: 0 0 15px -3.5em;
}

.check {
	display: none;
}

.check+span {
	cursor: pointer;
	display: inline-block;
	margin: 0 0.2em 0;
	padding: 0 0 0 2em;
	position: relative;
}

.check+span::before {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background: #fff;
	border: 3px solid #aaa;
	border-radius: 2px;
	content: "";
	display: block;
	height: 1.5em;
	width: 1.6em;
	top: 50%;
	left: -1.5em;
	position: absolute;
}

.check+span::after {
	-webkit-transform: translateY(-50%) rotate(-45deg);
	transform: translateY(-50%) rotate(-45deg);
	transition: all 0.3s ease 0s;
	border-bottom: 4px solid #c71429;
	border-left: 7px solid #c71429;
	content: "";
	display: block;
	height: 1em;
	width: 2em;
	top: 40%;
	left: -8%;
	margin-top: -0.5em;
	opacity: 0;
	position: absolute;
}

.check:checked+span::after {
	opacity: 1;
}

figure {
	float: right;
	width: 40%;
	text-align: center;
	font-size: 12px;
}

figure img {
	max-width: 100%;
}



@media screen and (min-width: 769px) {
	.check+span::before {
		border: 3px solid #aaa;
		height: 2em;
		width: 2em;
		top: 50%;
	}

	.check+span::after {

		height: 1.2em;
		width: 2.4em;

	}


	figure {
		float: right;
		margin: 0 10px 50px 0;
		width: 20%;
		text-align: center;
		font-size: 12px;
	}

	figure img {
		max-width: 100%;
	}

}

button {

	width: 320px;
	border: none;
	outline: none;
	font: inherit;
	color: inherit;
	background: none;
}

button span {
	font-size: 1.9rem;

}

button:disabled {
	cursor: default;
	background-color: #aaa;
	border-bottom: 6px solid #777;
}

.submit {
	-webkit-appearance: none;
	background-color: #c71429;
	border-bottom: 6px solid #88101e;
	border-radius: 50px;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 1.2rem;
	margin: 0 0 1em;
	padding: 14px;
	text-decoration: none;
}

/* 念のため -----*/
.submit:hover,
.submit:focus {
	outline: none;
}

.submit::-moz-foucus-inner {
	border: none;
	padding: 0;
}

/* ----- 念のため*/

.submit span::after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	content: "";
	height: 0.5em;
	width: 0.5em;
	left: 10px;
	position: relative;
	display: inline-block;
}

@media screen and (min-width: 769px) {
	button {
		width: 480px;
	}

	button span {
		font-size: 2.8rem;
	}

	button:disabled {
		border-bottom: 8px solid #777;
	}

	.submit {
		font-size: 1.8rem;
		border-bottom: 8px solid #a00;
	}
}

/*---------
------------entryButton -------*/



.displayNone {
	display: none;
}

.txtRed {
	color: #c71429;
	font-weight: bold;
}