/* 汎用 */

:root {
	--content-primary-color: #313131;
	--content-secondary-color: #FF6600;
	--content-tertiary-color: #fff;
	--content-primary-fontfamily: "Noto Sans JP";
	--content-primary-fontsize: 16px;
	--content-secondary-fontsize: 3.3vw;
}

#container {
	width:100%;
}
.column2R #main {
	float: none;
	width: auto;
}
.breadCrumb {
  width: 970px;
  margin: 0 auto 12px;
}
.pagetop {
  margin: 0 auto;
  width: 1050px;
}
#pagetop {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 55px;
}
#pagetop a {
  color: #fff;
  background-color: #333;
  border-radius: 5px;
  display: block;
  font-size: 12px;
  line-height: 1.5em;
  padding: 5px 10px;
  text-align: center;
  text-decoration: none;
}
figure {
	margin: 0;
}
img {
	image-rendering: crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	backface-visibility: hidden;
}
.sp {
	display: none;
}
#s_container {
	color: var(--content-primary-color);
	font-family: var(--content-primary-fontfamily);
    width: 100%;
    margin: 10px auto;
}
#contentWrap {
	width: 100%;
	font-size: var(--content-primary-fontsize);
}
#contentWrap img {
	max-width: 100%;
}
.contentMv img {
	width: 100%;
}

/* コンテンツ */
.contentInner {
	background: url(./img/twpc_gift2021/bg.jpg) repeat-y;
	background-size: 100%;
	padding: 0 10px 120px;
}
.contentSec {
	padding-top: 120px;
}
.contentSec h2 {
	text-align: center;
	width: 370px;
	margin: 0 auto;
	padding: .8em;
	box-sizing: border-box;
	background: var(--content-tertiary-color);
	border: 2px solid var(--content-secondary-color);
	transform: skew(-10deg);
	box-shadow: 3px 5px 0px rgba(191,52,0,0.321);
}
.contentSec h2 span {
	color: var(--content-secondary-color);
	display: inline-block;
	transform: skew(10deg);
	font-size: calc(var(--content-primary-fontsize) * 1.5);
}
.about {
	text-align: center;
}
.about .aboutTxt {
	margin: 30px auto 0;
	display: flex;
	flex-direction: column;
	width: 740px;
}
.about .aboutTxt>span {
	background: var(--content-tertiary-color);
	transform: skew(-10deg);
	font-size: calc(var(--content-primary-fontsize) * 1.25);
	padding: .1em 0;
	box-shadow: 2px 4px 0px rgba(191,52,0,0.149);
	font-weight: 500;
}
.about .aboutTxt>span+span {
	margin-top: 10px;
}
.about .aboutTxt>span.aboutTxtOrange {
	background: var(--content-secondary-color);
	color: var(--content-tertiary-color);
	margin-top: 15px;
	font-size: calc(var(--content-primary-fontsize) * 1.5);
	font-weight: 700;
}
.about .aboutTxt>span>span {
	display: inline-block;
	transform: skew(10deg);
}
.period .periodDetail {
	margin: 30px auto 0;
	width: 615px;
}
.period .periodDetail li {
	display: flex;
	transform: skew(-10deg);
	box-shadow: 2px 4px 0px rgba(191,52,0,0.149);
	font-size: calc(var(--content-primary-fontsize) * 1.25);
}
.period .periodDetail li+li {
	margin-top: 10px;
}
.period .periodDetail li>* {
	padding: .3em 0;
}
.period .periodDetail li>*>span {
	display: inline-block;
	transform: skew(10deg);
	letter-spacing: .1em;
}
.period .periodDetail li h3 {
	width: 6.5em;
	text-align: center;
	background: #00A8FF;
	color: var(--content-tertiary-color);
	font-weight: 700;
}
.period .periodDetail li.periodShop h3 {
	background: #1153C5;
}
.period .periodDetail li p {
	width: calc(100% - 6.5em);
	padding-left: 30px;
	box-sizing: border-box;
	background: var(--content-tertiary-color);
	font-weight: 500;
}
.period .shipData {
	margin: 30px auto 0;
	width: 550px;
	display: flex;
	align-items: center;
	box-shadow: 2px 4px 0px rgba(191,52,0,0.149);
	font-size: calc(var(--content-primary-fontsize) * 1.25);
	font-weight: 500;
	height: 44px;
	letter-spacing: .1em;
}
.period .shipData dt {
	background: var(--content-secondary-color);
	color: var(--content-tertiary-color);
	width: calc(100% - 8em);
	text-align: center;
	position: relative;
}
.period .shipData dt:after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	right: -15px;
	top: 0;
	border-bottom: 22px solid transparent;
	border-top: 22px solid transparent;
	border-left: 15px solid var(--content-secondary-color);
}
.period .shipData dd {
	background: var(--content-tertiary-color);
	width: 9.5em;
	padding-left: 15px;
}
.period .shipData>* {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.product01,
.caution {
	position: relative;
}
.contentSec.product01 h2,
.contentSec.caution h2 {
	position: absolute;
	z-index: 100;
	left: 0;
	right: 0;
	top: calc(140px - 1em - .3em);
	background: var(--content-secondary-color);
	color: var(--content-tertiary-color);
	border: 2px solid var(--content-tertiary-color);
}
.contentSec.product01 h2 span,
.contentSec.caution h2 span {
	color: var(--content-tertiary-color);
}
.product01 .product01Inner,
.caution .cautionInner {
	width: 980px;
	display: flex;
	justify-content: space-between;
	margin: 40px auto 0;
	padding: 90px 130px 70px 90px;
	box-sizing: border-box;
	transform: skew(-5deg);
	background: var(--content-tertiary-color);
	border: 2px solid var(--content-secondary-color);
	box-shadow: 3px 5px 0px rgba(191,52,0,0.149);
}
.product01 .product01Inner>*,
.caution .cautionInner>* {
	transform: skew(5deg);
}
.product01 .product01Inner figure {
	width: 50%;
}
.product01 .product01Inner .product01Detail {
	width: 410px;
}
.product01 .product01Inner .product01Detail .product01DetailList li {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.product01 .product01Inner .product01Detail .product01DetailList li+li {
	margin-top: 20px;
}
.product01 .product01Inner .product01Detail .product01DetailList li h3 {
	font-size: calc(var(--content-primary-fontsize) * 1.5);
	font-weight: 900;
}
.product01 .product01Inner .product01Detail .product01DetailList li a {
	position: relative;
	text-decoration: none;
	color: var(--content-secondary-color);
	border: 2px solid var(--content-secondary-color);
	padding: .5em 3em .5em 1em;
	display: flex;
	align-items: center;
	box-shadow: 2px 4px 0px rgba(191,52,0,0.149);
	bottom: 0;
	transition: all .3s;
  color: #FF6600!important;
	text-decoration: none!important
}
.product01 .product01Inner .product01Detail .product01DetailList li a:hover {
	box-shadow: 0px 0px 0px rgba(191,52,0,0.149);
	bottom: -4px;
}
.product01 .product01Inner .product01Detail .product01DetailList li a::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-left: .5em solid var(--content-secondary-color);
	border-top: .5em solid transparent;
	border-bottom: .5em solid transparent;
	right: 1em;
}
.product01 .product01Inner .product01Detail .note,
.entry .note {
	margin-top: 35px;
	color: var(--content-primary-color);
	font-size: calc(var(--content-primary-fontsize) * .85 );
	font-weight: 500;
}
.product01 .product01Inner .product01Detail .note li,
.entry .note li,
.caution .cautionInner .cautionList li {
	padding-left: 1em;
	text-indent: -1em;
}
.product01 .product01Inner .product01Detail .note li::before,
.entry .note li::before {
	content: "※";
}
.entry {
	text-align: center;
}
.entry .entryDetail {
	margin: 30px auto 0;
	width: 940px;
}
.entry .entryDetail li {
	display: flex;
	transform: skew(-10deg);
	box-shadow: 2px 4px 0px rgba(191,52,0,0.149);
}
.entry .entryDetail li+li {
	margin-top: 15px;
}
.entry .entryDetail li>* {
	padding: 13px 0;
}
.entry .entryDetail li>*>span {
	display: inline-block;
	transform: skew(10deg);
}
.entry .entryDetail li h3 span {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.entry .entryDetail li h3 {
	width: 10em;
	text-align: center;
	background: #00A8FF;
	color: var(--content-tertiary-color);
	font-size: calc(var(--content-primary-fontsize) * 1.5);
	font-weight: 700;
}
.entry .entryDetail li.entryShop h3 {
	background: #1153C5;
}
.entry .entryDetail li p {
	width: calc(100% - 5em);
	padding-left: 30px;
	box-sizing: border-box;
	background: var(--content-tertiary-color);
	text-align: left;
	font-size: calc(var(--content-primary-fontsize) * 1.1);
	font-weight: 500;
}
.entry .note {
	display: inline-block;
	text-align: left;
}
.caution .cautionInner {
	padding: 90px 110px 70px;
}
.caution .cautionInner .cautionList {
	font-size: calc(var(--content-primary-fontsize) * .95);
}
.caution .cautionInner .cautionList li::before {
	content: "・";
}
.caution .cautionInner .cautionList li.noList::before {
	content: "";
	display: block;
	height: 1em;
}
.product02 .product02DetailList {
	display: flex;
	justify-content: space-between;
	width: 980px;
	margin: 30px auto 0;
}
.product02 .product02DetailList li {
	text-align: center;
	width: 450px;
}
.product02 .product02DetailList li .product02Img {
	border: 2px solid var(--content-secondary-color);
	background: var(--content-tertiary-color);
	padding: 40px 5px 30px;
	box-sizing: border-box;
	transform: skew(-5deg);
}
.product02 .product02DetailList li .product02Img figure {
	transform: skew(5deg);
}
.product02 .product02DetailList li .product02Img figure figcaption {
	margin-top: 15px;
	font-size: calc(var(--content-primary-fontsize) * 1.5);
	font-weight: 900;
}
.product02 .product02DetailList li a {
	width: 250px;
	margin: 45px auto 0;
	position: relative;
	text-decoration: none;
	color: var(--content-secondary-color);
	border: 2px solid var(--content-secondary-color);
	background: var(--content-tertiary-color);
	font-size: calc(var(--content-primary-fontsize) * 1.5);
	font-weight: 500;
	padding: .5em 3em .5em 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	box-shadow: 2px 4px 0px rgba(191,52,0,0.149);
	bottom: 0;
	transition: all .3s;
	color: #FF6600!important;
	text-decoration: none!important
}
.product02 .product02DetailList li a:hover {
	box-shadow: 0px 0px 0px rgba(191,52,0,0.149);
	bottom: -4px;
}
.product02 .product02DetailList li a::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-left: .5em solid var(--content-secondary-color);
	border-top: .5em solid transparent;
	border-bottom: .5em solid transparent;
	right: 1em;
}

/* モバイル */
@media screen and (max-width: 479px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	.contentInner {
		padding-bottom: 25vw;
	}
	.contentSec {
		padding-top: 24vw;
	}
	.contentSec.about {
		padding-top: 12vw;
	}
	.contentSec h2 {
		width: 70vw;
		padding: .5em;
	}
	.contentSec h2 span {
		font-size: calc(var(--content-secondary-fontsize) * 1.5);
	}
	.about .aboutTxt {
		margin-top: 5vw;
		width: 85vw;
	}
	.about .aboutTxt>span {
		font-size: var(--content-secondary-fontsize);
		padding: .2em 0;
	}
	.about .aboutTxt>span+span {
		margin-top: .5em;
	}
	.about .aboutTxt>span.aboutTxtOrange {
		font-size: calc(var(--content-secondary-fontsize) * 1.5);
		margin-top: .5em;
	}
	.period .periodDetail {
		margin-top: 10vw;
		width: 85%;
	}
	.period .periodDetail li {
		font-size: calc(var(--content-secondary-fontsize) * 1.1);
	}
	.period .periodDetail li+li {
		margin-top: 2em;
	}
	.period .periodDetail li h3 {
		position: absolute;
		top: -1em;
		left: 0;
		right: 0;
		margin: auto;
		box-shadow: 2px 3px 0px rgba(191,52,0,0.149);
	}
	.period .periodDetail li p {
		width: 100%;
		padding: 1.6em 0 .6em;
		text-align: center;
	}
	.period .shipData {
		width: 77vw;
		font-size: calc(var(--content-secondary-fontsize) * 1.1);
		margin-top: 2em;
	}
	.product01 .product01Inner,
	.caution .cautionInner {
		width: 97%;
		flex-direction: column;
		padding: 3.5em 10vw 2em;
		margin: 0 auto;
		transform: skew(-3deg);
	}
	.product01 .product01Inner>*,
	.caution .cautionInner>* {
		transform: skew(3deg);
	}
	.contentSec.product01 h2,
	.contentSec.caution h2 {
		top: calc(24vw - 1em - .5em);
	}
	.product01 .product01Inner figure {
		width: 55vw;
		margin: auto;
	}
	.product01 .product01Inner .product01Detail {
		margin-top: 5vw;
		width: 100%;
	}
	.product01 .product01Inner .product01Detail .product01DetailList li+li {
		margin-top: 4vw;
	}
	.product01 .product01Inner .product01Detail .product01DetailList li h3 {
		font-size: calc(var(--content-secondary-fontsize) * 1.1);
	}
	.product01 .product01Inner .product01Detail .product01DetailList li a {
		font-size: calc(var(--content-secondary-fontsize) * .9);
		padding: .3em 2em .3em 1.5em;
	}
	.product01 .product01Inner .product01Detail .product01DetailList li a::after {
		right: .5em;
	}
	.product01 .product01Inner .product01Detail .note,
	.entry .note {
		font-size: calc(var(--content-secondary-fontsize) * .85);
		margin-top: 5vw;
	}
	.entry .entryDetail {
		margin-top: 15vw;
		width: 90%;
	}
	.entry .entryDetail li+li {
		margin-top: 13vw;
	}
	.entry .entryDetail li h3 {
		font-size: calc(var(--content-secondary-fontsize) * 1.2);
		position: absolute;
		top: -1.75em;
		left: 0;
		right: 0;
		margin: auto;
		box-shadow: 2px 4px 0px rgba(191,52,0,0.149);
		padding: .75em 0;
		box-sizing: border-box;
	}
	.entry .entryDetail li p {
		font-size: var(--content-secondary-fontsize);
		width: 100%;
		padding: 3em 2em 1em;
	}
	.entry .note {
		width: 86%;
	}
	.caution .cautionInner .cautionList {
		font-size: calc(var(--content-secondary-fontsize) * .9);
	}
	.product02 .product02DetailList {
		flex-direction: column;
		width: 85%;
		margin-top: 12vw;
	}
	.product02 .product02DetailList li {
		width: 100%;
		margin: auto;
	}
	.product02 .product02DetailList li+li {
		margin-top: 12vw;
	}
	.product02 .product02DetailList li .product02Img {
		padding: 7vw 5vw 5vw;
	}
	.product02 .product02DetailList li .product02Img figure img {
		width: 75%;
	}
	.product02 .product02DetailList li .product02Img figure figcaption {
		font-size: calc(var(--content-secondary-fontsize) * 1.5);
		margin-top: 3vw;
	}
	.product02 .product02DetailList li a {
		margin-top: 5vw;
		font-size: calc(var(--content-secondary-fontsize) * 1.2);
		width: 55%;
	}
}


/* campEnd add */
.campEnd .about .aboutTxt {
	position: relative;
	margin-top: 60px;
}
.campEnd .about .aboutTxt::after {
	content: "本キャンペーンは終了いたしました";
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(0,0,0,.5);
	padding: 30px 50px;
	top: -30px;
	left: -50px;
	font-size: 35px;
	font-weight: 600;
	color: var(--content-tertiary-color);
	box-sizing: content-box;
}

@media screen and (max-width: 479px) {
	.campEnd .about .aboutTxt {
	}
	.campEnd .about .aboutTxt::after {
	}
}
