@charset "utf-8";

header {
	margin-bottom: 0;
}

#container {
	margin: 30px 0;
    max-width: 100%;
    min-width: auto;
	display: block;
}

/* titleBar */
#titleWrapper {
	background: #eee;
	border-top: 5px solid #fed600;
}

#titleBar {
	max-width: 1300px;
	min-width: 1200px;
	margin: 0 auto;
}

#titleText {
	font-size: 24px;
	color: #192b5b;
	line-height: 50px;
	text-align: left;
}

#titleSNSWrapper {
	width: 330px;
	margin: -50px 0 0 0;
	float: right;
}

#titleSNSWrapper li {
	float: left;
	margin-left: 5px;
	padding-top: 10px;
}

#titleSNSWrapper li a {
	display: block;
	width: 100px;
	height: 30px;
	text-indent: -9999px;
	overflow: hidden;
}

#faceBookBtn{
	background-image:url("/v2/pc/img/header/btnFacebook.png");
}

#twitterBtn{
	background-image:url("/v2/pc/img/header/btnX.png");
}

#lineBtn{
	background-image:url("/v2/pc/img/header/btnLINE.png");
}

#campaignContent #contentWrapper {
	max-width: 1300px;
	min-width: 1200px;
	margin: 30px auto;
}

#campaignContent h1 {
	margin: 30px 10px 10px;
	padding: 0 20px;
	background: #333;
	font-size: 20px;
	color: #fed600;
	line-height: 40px;
}

#campaignBody {
	margin: 10px 10px 30px;
	font-size: 14px;
}

.bannerImg img {
	display: block;
	margin: 0 auto 20px;
	max-width: 100%;
}

.indentList li{
    text-indent: -1em;
    padding-left: 1em;
}

/* main contents */
.titleWrapper{
	border-top:1px solid #192b5b;
	padding:20px 0;
}

.titleText{
	float:left;
	padding-left:60px;
	background-repeat:no-repeat;
	background-position:10px center;
}

.titleText h2{
	font-size:24px;
	line-height:1.3;
	color:#192b5b;
}

.titleText{
	font-size:13px;
	line-height:1.2em;
	color:#666;
}

/* メイン部分 */
.top_section{
    margin: 0 auto;
    width: 1012px;
}

.game_campaign.changeOrder {
    display: flex;
    flex-direction: column;
}

.game_campaign h1{
    font-size: 36px;
    font-weight: bold;
    line-height: 1.5em;
}

.date{
    font-size: 20px;
    line-height: 1.5em;
    margin-top: 15px;
}

/* slider枠 */
.flexslider{
    max-width: 1012px;
    width: 1012px;
}

.flexslider,
.flexslider-controls {
    max-width: 100%;
    display: block;
    height: auto;
}

.flex-control-nav{
    display: flex;
    justify-content: center;
    gap: 0 15.5px;
    margin-top: 20px;
}

.flex-control-nav.-center{
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
}

.flex-control-nav li{
    display: block;
    float: none;
    margin-top: 0;
    width: 190px;
}

.flex-control-nav.-center li{
    margin-right: 2%;
}

.flex-control-nav.-center li:last-of-type{
    margin-right: 0;
}

.flex-control-nav li img{
    width: 100%;
    vertical-align: top;
}

/* トップ下ボタン PS4, Switch */
.btn-wrapper{
    background: #eee;
    padding: 40px 0;
    margin: 40px 0;
    text-align: center;
}

.btn-wrapper-top{
    margin-bottom: 30px;
}

.btn-wrapper.-flex {
    align-items: flex-end;
    display: flex;
    justify-content: center;
}

.btn-jacket {
    width: 410px;
}

.btn-wrapper a{
    background-repeat: no-repeat;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    height: 80px;
    font-size: 16px;
    line-height: 80px;
    margin: 0 10px;
    position: relative;
    text-align: left;
    text-decoration: none;
    width: 496px;
}

.btn-wrapper a.ps4_btn{
    background-color: #3170c6;
    background-image: url("/v2/cmn/img/campaign/game_common/PS4_logo.png");
    background-position: 110px 26px;
    background-size: auto 27px;
}

.btn-wrapper a.ps5_btn{
    background-color: #fff;
    background-image: url("/v2/cmn/img/campaign/game_common/PS5_logo.png");
    background-position: 110px 26px;
    background-size: auto 27px;
    border: 1px solid #333;
    color: #000;
}

.btn-wrapper a.switch_btn{
    background-color: #E60012;
    background-image: url("/v2/cmn/img/campaign/game_common/switch_logo.png");
    background-position: 110px 26px;
    background-size: auto 27px;
}

.btn-wrapper a.switch_btn.switch2{
    background-image: url("/v2/cmn/img/campaign/game_common/switch2_logo.png");
    background-position: top 0px left 124px;
    background-size: auto 100%;
}

.btn-wrapper a span{
    display: inline-block;
    margin-left: 280px;
}

.btn-wrapper a span::after{
    content: '▼';
    display: inline-block;
    margin-left: 1em;
}

.bnr-wrapper{
    margin: 40px 0;
}

.bnr-wrapper a,
.bnr-wrapper img{
    display: block;
    height: auto;
    margin: 0 auto;
    width: 599px;
}

.bnr-wrapper a + a,
.bnr-wrapper img + a,
.bnr-wrapper a + img,
.bnr-wrapper img + img{
    margin-top: 20px;
}

.bnr-wrapper.-flex{
    display: flex;
    justify-content: center;
    width: 1012px;
    margin: 0 auto;
    padding-top: 40px;
    border-top: 2px solid #ccc;
}

.bnr-wrapper.-flex a,
.bnr-wrapper.-flex img{
    display: block;
    width: 496px;
    margin: 0 auto;
}

.bnr-wrapper.-flex a + a,
.bnr-wrapper.-flex img + a,
.bnr-wrapper.-flex a + img,
.bnr-wrapper.-flex img + img{
    margin-left: calc(100% - 992px);
}

/* column common */
.changeOrder > *:not(.top_section):not(.btn-wrapper):not(.youtube_wall) {
    margin-top: 20px;
    margin-bottom: 20px;
}

.changeOrder .btn-wrapper {
    margin-bottom: 20px;
}

.unorderArea .btn-wrapper + *,
.orderArea .btn-wrapper + * {
    border-top: none;
}

.unorderArea .btn-wrapper + .single_column-wrapper,
.unorderArea .btn-wrapper + .double_column-wrapper {
    padding-top: 0;
}

.orderArea .btn-wrapper + .single_column-wrapper.text-column,
.orderArea .btn-wrapper + .double_column-wrapper.text-column,
.orderArea .geo_limited+.item_overview-wrapper:not(.item_limited) {
    padding-top: 40px;
    border-top: 1px solid  #707070;
}

.single_column-wrapper,
.double_column-wrapper{
    border-top: 1px solid  #707070;
    margin: 40px auto 0;
    padding-top: 40px;
    width: 1012px;
}

.changeOrder .single_column-wrapper .column_section,
.changeOrder .double_column-wrapper .column_section{
    margin-bottom: 0;
}

.changeOrder .single_column-wrapper + .movie-column,
.changeOrder .double_column-wrapper + .movie-column{
    border-top: none;
}

.changeOrder .single_column-wrapper.movie-column,
.changeOrder .double_column-wrapper.movie-column {
    padding-top: 20px;
}

.orderArea .geo_limited+.item_overview-wrapper:not(.item_limited) {
    padding-top: 40px;
    border-top: 1px solid  #707070;
}

.changeOrder .detail_bold {
    font-weight: bold;
    margin-bottom: 1em;
    display: block;
}

.game_campaign #retweet_campaign:first-child,
.game_campaign #repost_campaign:first-child{
    border-top: none;
    padding-top: 0;
}

.single_column-wrapper h2,
.double_column-wrapper h2{
    font-size: 32px;
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: 40px;
}

.changeOrder .single_column-wrapper h2.title_movie,
.changeOrder .double_column-wrapper h2.title_movie,
.single_column-wrapper h3,
.double_column-wrapper h3{
    background: #eee;
    font-size: 32px;
    font-weight: bold;
    height: 50px;
    letter-spacing: -.03em;
    line-height: 50px;
    margin-bottom: 24px;
    padding: 0 20px;
}

.changeOrder .single_column-wrapper h2.title_movie span,
.changeOrder .double_column-wrapper h2.title_movie span,
.single_column-wrapper h3 span,
.double_column-wrapper h3 span{
    font-size: calc(20/32*1em);
    font-weight: bold;
    padding-left: calc(15/32*1em);
}

.column_section{
    margin-bottom: 40px;
}

.caption {
    text-align: right;
    font-size: 14px;
}

/* 1 column */
.single_column-wrapper p{
    font-size: 18px;
    line-height: 1.5em;
    margin-top: 15px;
}

/* 2 column */
.double_column-wrapper .column_section{
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    
}

.double_column-wrapper .image{
    margin-bottom: 20px;
    width: 496px;
}

.double_column-wrapper p,
.double_column-wrapper .text{
    font-size: 18px;
    line-height: 1.5em;
    margin-bottom: 20px;
    width: 496px;
}

.double_column-wrapper .text dd{
    margin-bottom: 20px;
}

.double_column-wrapper .text dd:last-child{
    margin-bottom: 0;
}

.column_section .indentList {
    font-size: 18px;
    line-height: 1.5em;
}

.accordion{
    margin-bottom: 40px;
}

.accordion dt{
    border: 1px solid #ccc;
    cursor: pointer;
    display: block;
    font-size: 16px;
    line-height: 1.5em;
    margin-bottom: 10px;
    padding: 10px;
    position: relative;
}

.accordion dt.active{
    background: #eee;
}

.accordion dt::after{
    bottom: 0;
    display: block;
    content: '＋';
    margin: auto;
    top: 0;
    padding: 10px 0;
    position: absolute;
    right: 20px;
}

.accordion dt.active::after{
    content: '−';
}

.accordion dd{
    border: 1px solid #fff;
    display: none;
    font-size: 16px;
    line-height: 1.5em;
    margin-bottom: 20px;
    padding: 10px;
}

/* item overview */
.item_overview-wrapper{
    border-top: 1px solid  #707070;
    margin: 40px auto 0;
    padding-top: 40px;
    width: 1012px;
}

.item_overview-wrapper h2{
    font-size: 32px;
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: 40px;
}

.item_overview-wrapper dl{
    align-items: center;
    border: 1px solid #ddd;
    border-width: 1px 1px 0 0;
    display: flex;
    flex-wrap: wrap;
}

.item_overview-wrapper dt{
    align-items: center;
    align-self: stretch;
    background: #eee;
    border: 1px solid #ddd;
    border-width: 0 0 1px 1px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    font-size: 18px;
    line-height: 1.5em;
    padding: 1em;
    width: 323px;
}

.item_overview-wrapper dt > * {
    width: 100%;
}

.item_overview-wrapper dd{
    align-items: center;
    align-self: stretch;
    border: 1px solid #ddd;
    border-width: 0 0 1px 1px;
    box-sizing: border-box;
    display: flex;
    font-size: 18px;
    flex-wrap: wrap;
    line-height: 1.5em;
    padding: 1em;
    width: 687px;
}

.item_overview-wrapper dd ul{
    margin-top: 15px;
    width: 100%;
}

.item_overview-wrapper dd li{
    font-size: 16px;
    line-height: 1.5em;
    padding-left: 1em;
    text-indent: -1em;
}

.item_overview-wrapper dd p{
    font-size: 16px;
    line-height: 1.5em;
    margin-top: 15px;
}

.item_overview-wrapper .item_fullImg {
    max-width: 100%;
    height: auto;
    margin-bottom: 40px;
    border: 1px solid #ddd;
}

/* item */
.item-wrapper{
    margin: 40px auto 0;
    width: 1012px;
}

.item-header {
    border: solid #1A2C58;
    border-width: 2px 0;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.5;
    margin: 80px 0 40px;
    padding: 10px 0;
}

.item-header p {
    font-weight: bold;
    margin: 0 auto;
    width: 1012px;
}

.item-wrapper h3{
    background: #eee;
    height: 46px;
    font-size: 24px;
    line-height: 46px;
    padding: 0 10px;
    margin-bottom: 20px;
}

.image_price{
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
}

.image_price .image,
.image_price .text{
    width: 496px;
}

.image_price .price_title{
    font-size: 16px;
    line-height: 1.5em;
}

.price{
    color: #f00;
    display: inline-block;
    font-size: 32px;
    font-weight: bold;
    line-height: 72px;
    position: relative;
}

.price strong{
    font-size: 60px;
    font-weight: bolder;
}

.price span{
    display: block;
    font-size: 12px;
    line-height: 1em;
    position: absolute;
    right: -9px;
    top: 14px;
}

.price span.square{
    position: static;
    display: inline-block;
    color: #fff;
    font-size: calc(60*0.766*0.8px);
    font-weight: bold;
    line-height: calc(60*0.766px);
    padding: 0 calc(60*0.766*0.1px);
    margin: 0 5px 10px 0;
    background: #f00;
    vertical-align: text-bottom;
}

@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
    .selector {
        property: value;
    }
    .price span.square{
        line-height: 0.7em;
        padding: calc(60*0.766*0.36px) calc(60*0.766*0.1px) calc(60*0.766*0.1px);
        margin: 0 5px 18px 0;
    }
}

.image_price .text a,
.store_btn-end,
.online_btn-end{
    border-radius: 6px;
    display: block;
    height: 80px;
    font-size: 20px;
    line-height: 80px;
    margin-bottom: 20px;
    text-align: center;
    text-decoration: none;
    position: relative;
    width: 496px;
}

.image_price .text a::after{
    border-style: solid;
    border-width: 10.5px 0 10.5px 18px;
    bottom: 0;
    content: '';
    display: block;
    height: 0;
    margin: auto 0;
    position: absolute;
    right: 30px;
    top: 0;
    width: 0;
}

.image_price .text a:last-of-type{
    margin-bottom: 0;
}

.store_btn{
    background: #FAD548;
    color: #000;
}

.store_btn::after{
    border-color: transparent transparent transparent #1a2b58;
}

.online_btn{
    background: #1A2C58;
    color: #fff;
}

.online_btn::after{
    border-color: transparent transparent transparent #fff;
}

.store_btn-end,
.online_btn-end{
    font-size: 16px;
    background: #eee;
    color: #666;
}

.item-content{
    border: 1px solid #ddd;
    font-size: 16px;
    line-height: 1.5em;
    margin-top: 20px;
    padding: 10px 20px;
}

.item-content li{
    padding-left: 1em;
    text-indent: -1em;
}

/* PS4 */
.ps4_item-wrapper{
    margin-top: 40px;
}

.ps4_item-wrapper h2{
    background: url("/v2/cmn/img/campaign/game_common/PS4_logo.png") no-repeat #3170c6 center center;
    height: 90px;
    text-indent: -9999px;
}

/* PS5 */
.ps5_item-wrapper{
    margin-top: 40px;
}

.ps5_item-wrapper h2{
    background: url("/v2/cmn/img/campaign/game_common/PS5_logo.png") no-repeat #fff center center;
    border: 1px solid #000;
    border-width: 1px 0;
    height: 90px;
    text-indent: -9999px;
}

/* Nintendo Switch */
.switch_item-wrapper{
    margin-top: 40px;
}

.switch_item-wrapper h2{
    background: url("/v2/cmn/img/campaign/game_common/switch_logo.png") no-repeat #E60012 center center;
    height: 90px;
    text-indent: -9999px;
}

.switch_item-wrapper.switch2 h2{
    background: url("/v2/cmn/img/campaign/game_common/switch2_logo.png") no-repeat #E60012 center center / auto 100%;
}

/* bottom text */
.product_copyright{
    font-size: 16px;
    line-height: 1.5em;
    margin: 40px auto;
    width: 1012px;
}

.product_copyright .copyright_img {
    width: auto;
    height: 0.8em;
    margin: 0 3px;
    vertical-align: baseline;
}

/* for youtube layer */
.hideItem{
    display: none;
}

.youtube_wall{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    bottom: 0;
    right: 0;
    margin: auto;
    background:rgba(0, 0, 0, 0.9);
    z-index: 1002;
}

.youtube_movie{
    position: absolute;
    z-index: 1003;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 980px;
    padding-top: 50px;
}

.youtube_close{
    display: block;
    position: absolute;
    z-index: 1003;
    width: 20px;
    height: 20px;
    border: 1px solid #fff;
    text-align: center;
    color: #fff;
    font-size: 20px;
    line-height: 20px;
    top: 10px;
    right: 10px;
    text-decoration: none;
}

/* slider */
#campaignWrapper {
	min-width: 1200px;
	max-width: 1300px;
	margin: 30px auto;
	background: #fff;
}

.itemsWrapper{
	position:relative;
	margin-bottom:60px;
}

.hideWrapper{
	display:none;
}

.itemsInner{
	margin:0 48px;
}

.itemsPrev,
.itemsNext{
	display:block;
	position:absolute;
	width:58px;
	height:58px;
	background:tranceparent;
}

.itemsPrev{
	left:-10px;
}

.itemsNext{
	right:-10px;
}

.itemsPrev:after{
	position: absolute;
	width: 20px;
	height: 20px;
	top: 1px;
	left: 24px;
	bottom: 0;
	margin:auto;
	content:"";
	vertical-align: middle;
	border-top: 4px solid #ddd;
	border-right: 4px solid #ddd;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.itemsNext:after{
	position: absolute;
	width: 20px;
	height: 20px;
	top: 1px;
	right: 24px;
	bottom: 0;
	margin:auto;
	content:"";
	vertical-align: middle;
	border-top: 4px solid #ddd;
	border-right: 4px solid #ddd;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.itemsPrev:hover,
.itemsNext:hover{
	background:#ddd;
}

.itemsPrev:hover:after,
.itemsNext:hover:after{
	border-color:#fff;
}


#campaignWrapper .titleText{
	position: relative;
}

#campaignWrapper .titleText::before {
    color: #f99;
    content: "\e90a";
    font-family: icomoon;
    font-size: 40px;
    left: 10px;
    position: absolute;
    top: 15px;
}

#campaignWrapper .yabane {
	position: relative;
    height: 40px;
    font-size: 16px;
    line-height: 40px;
    color: #192b5b;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 10px center;
	display: block;
    text-decoration: none;
}

#campaignWrapper .yabane a {
	position: relative;
}

#campaignWrapper .yabane a::after {
	position: absolute;
    width: 9px;
    height: 9px;
    top: 0;
    right: 10px;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    border-top: 1px solid #192b5b;
    border-right: 1px solid #192b5b;
	border-bottom: none;
	border-left: none;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#campaignWrapper .yabane a:before {
	content: none;
}

#campaignWrapper .yabane span {
    box-sizing: border-box;
	padding: 0;
    position: relative;
    height: 40px;
    font-size: 16px;
    line-height: 40px;
    color: #192b5b;
	background: transparent;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 10px center;
    display: block;
    text-decoration: none;
}

.campaignBox{
	float:left;
	width:260px;
}

.campaignBox a{
	display:block;
	width:250px;
}

.campaignBox img{
	width:250px;
	height:auto;
}

.circleSignal{
	height:30px;
	text-align:center;
}

.circleSignal li{
	display:inline-block;
	float:none;
	width:10px;
	height:10px;
	margin:0 5px;
	border-radius:5px;
	background:#d5d5d5;
	text-indent:-1000px;
	overflow:hidden;
	cursor:pointer;
}

.circleSignal li.active{
	background:#192b5b;
	cursor:default;
}


/* footContent */

.infoFootContent {
	margin: 60px 0　40px;
	border-top: 1px solid #192b5b;
	padding: 20px 10px;
}

.infoFootContent h2 {
	padding-bottom: 10px;
	font-size:  24px;
	color:  #192b5b;
}

.infoFootContent h3 {
	padding-bottom: 10px;
	font-size:  20px;
	color:  #192b5b;
}

.infoFootContentBody {
	overflow:  hidden;
	position:  relative;
}

.infoFootContentBody img {
	width: calc(33.33% - 10px);
	float:  left;
}

.infoFootContentBody p {
	margin: 0 0 0 33.33%;
	padding: 0 10px 68px 0;
	font-size: 16px;
	color:  #666;
}

.infoFootContentBody a {
	display:  block;
	position: absolute;
	bottom:  0;
	right: 10px;
	width:  248px;
	height:  58px;
	border:  1px solid #ddd;
	font-size:  14px;
	color:  #192b5b;
	text-align:  center;
	text-decoration:  none;
	line-height: 58px;
}

.infoFootContentBody a:hover {
	background:  #eee;
}

.infoFootContentBody a::after {
	position: absolute;
	width: 9px;
	height: 9px;
	top: 0;
	right: 10px;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	border-top: 1px solid #192b5b;
	border-right: 1px solid #192b5b;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


.infoFootPanel {
	margin: -1px 0 0 0;
	padding: 40px 0 0;
	border-top: 1px solid #ddd;
}

.infoFootPanel.calender {
	padding: 0;
	border-top: none;
}

.infoFootPanel .backBtn {
	position:  relative;
	display: block;
	width: 248px;
	height: 58px;
	margin:  0 auto;
	border: 1px solid #ddd;
	font-size: 14px;
	color: #192b5b;
	text-align: center;
	text-decoration: none;
	line-height: 58px;
}

.infoFootPanel .backBtn:hover {
	background: #eee;
}

.infoFootPanel .backBtn::after {
	position: absolute;
	width: 9px;
	height: 9px;
	top: 0;
	left: 10px;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	border-bottom: 1px solid #192b5b;
	border-left: 1px solid #192b5b;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.notAnything {
	width: 100%;
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
	color: #c00;
}

/* retweet_campaign repost_campaign */

#retweet_campaign .double_column-wrapper,
#repost_campaign .double_column-wrapper {
    padding-top: 0;
    border-top: none;
}

#retweet_campaign .btn-wrapper,
#repost_campaign .btn-wrapper {
    min-width: 1012px;
    padding: 0;
    background: none;
}

#retweet_campaign .btn-wrapper .btn-wrapper-title,
#repost_campaign .btn-wrapper .btn-wrapper-title {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 5px;
}

#retweet_campaign .btn-wrapper a,
#repost_campaign .btn-wrapper a {
    width: 494px;
    font-size: 16px;
}

#retweet_campaign .btn-wrapper > a.ps4_btn,
#repost_campaign .btn-wrapper > a.ps4_btn {
    margin: 0;
}

#retweet_campaign .btn-wrapper > a.ps5_btn,
#repost_campaign .btn-wrapper > a.ps5_btn {
    margin: 0 0 0 20px;
}

#retweet_campaign .btn-wrapper a:not(.store_btn) b,
#repost_campaign .btn-wrapper a:not(.store_btn) b {
    display: inline-block;
    margin-left: 280px;
}

#retweet_campaign .btn-wrapper a.store_btn,
#repost_campaign .btn-wrapper a.store_btn {
    width: 324px;
    font-size: 18px;
    color: #192B5B;
    text-align: center;
    background: #FED600;
}

#retweet_campaign .btn-wrapper a.store_btn::after,
#repost_campaign .btn-wrapper a.store_btn::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 10px;
    height: 10px;
    border-style: solid;
    border-width: 1px;
    border-color: #192B5B #192B5B transparent transparent;
    transform: translate(-15px, -50%) rotate(45deg);
}

/* リポストキャンペーン（映像特集と共通化） */
.twitter-wrapper,
.repost-wrapper{
    width: 1012px;
    margin: 0 auto;
    padding-bottom: 60px;
}

.twitter-wrapper > dt,
.repost-wrapper > dt{
    height: 80px;
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    line-height: 80px;
    letter-spacing: -0.03em;
    padding-left: 65px;
}

.twitter-wrapper > dt{
    background-color: #20A1F1;
    padding-left: 15px;
}

.repost-wrapper > dt{
    background: #000 url(/v2/cmn/img/campaign/movie_common/icon_x.png) no-repeat left 18px center;
}

.twitter-wrapper > dd,
.repost-wrapper > dd{
    padding-top: 30px;
}

.twitter-wrapper > dd .date,
.repost-wrapper > dd .date{
    font-size: 18px;
}

.twitter-wrapper > dd b,
.repost-wrapper > dd b{
    display: block;
    font-size: 24px;
    font-weight: bold;
}

.twitter-content,
.repost-content{
    display: flex;
    margin-top: 30px;
}

.twitter-content + .twitter-content,
.repost-content + .repost-content{
    margin-top: 20px;
}

.twitter-content .image,
.repost-content .image{
    width: 496px;
}

.twitter-content ul,
.repost-content ul{
    width: calc(100% - 496px);
    font-size: 18px;
    padding-left: 20px;
}

.twitter-content ul li,
.repost-content ul li{
    display: flex;
}

.twitter-content ul span,
.repost-content ul span{
    display: inline-block;
    font-weight: bold;
    white-space: nowrap;
    padding-right: 1em;
}

/* リポストキャンペーン（映像特集と共通化） manner */
.manner{
    margin-top: 40px;
}

.manner > dt{
    height: 50px;
    font-size: 20px;
    font-weight: bold;
    line-height: 50px;
    letter-spacing: -0.03em;
    padding: 0 20px;
    background: #eee;
}

.manner > dd{
    font-size: 18px;
    padding-top: 30px;
}

.manner > dd .app{
    padding: 40px 0;
    margin-top: 40px;
    background-color: #eee;
}

.manner > dd .app b{
    text-align: center;
}

.manner > dd .app b span{
    display: inline-block;
    color: #fff;
    font-size: calc(20/24*1em);
    background: #4472FB;
    padding: calc(4/20*1em) calc(10/20*1em);
    margin-right: calc(10/20*1em);    
}

.manner > dd .app ul{
    display: flex;
    justify-content: center;
    margin: 20px 0;
}

.manner > dd .step{
    list-style: none;
    padding-bottom: 40px;
}

.manner > dd .step li{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: 0 0 20px;
}

.manner > dd .step li:nth-of-type(2) p{
    display: flex;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    width: calc(100% - 152px);
}

.manner > dd .step li:nth-of-type(2) p span{
    display: block;
    width: 100%;
    margin-top: 0;
}

.manner > dd .step li + li{
    padding: 30px 0 20px;
    border-top: 1px solid #ddd;
}

.manner > dd .step li + li::after{
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 20px;
    height: 20px;
    border-style: solid;
    border-width: 1px;
    border-top-color: #ddd;
    border-right-color: #ddd;
    border-left-color: transparent;
    border-bottom-color: transparent;
    background: #fff;
    transform: translate(-50%, -52.5%) rotate(133deg);
}

.manner > dd .step li b{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 152px;
    font-size: 68px;
    line-height: 1;
    text-align: center;
    padding: 13px 0 10px;
}

.manner > dd .step li b span{
    display: block;
    width: 100%;
    font-size: calc(20/68*1em);
}

.manner > dd .step li p{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: calc(100% - 476px);
    margin-bottom: 0;
    font-size: 18px;
    line-height: 29px;
}

.manner > dd .step li p span{
    margin-top: -3em;
}

.manner > dd .step li .twitter_btn,
.manner > dd .step li .repost_btn{
    display: flex;
    align-items: center;
    width: 324px;
}

.manner > dd .step li .twitter_btn a,
.manner > dd .step li .repost_btn a{
    position: relative;
    display: block;
    width: 100%;
    height: 80px;
    line-height: 80px;
    text-align: center;
    text-decoration: none;
    margin: 0 auto;
    border-radius: 5px;
    color: #fff;
}

.manner > dd .step li .twitter_btn a{
    background-color: #20A1F1;
}

.manner > dd .step li .repost_btn a{
    background-color: #000;
}

.manner > dd .step li .image{
    display: block;
    width: 100%;
    text-align: center;
}

.manner .repostAccordion_title {
    text-align: center;
}

.manner .repostAccordion_title p {
    width: 100%;
    margin-bottom: 0;
    font-weight: bold;
}

.manner .repostAccordion_title p:nth-of-type(1) {
    font-size: 22px;
}

.manner .repostAccordion_title p:nth-of-type(2) {
    font-size: 36px;
}

/* リポストキャンペーン（映像特集と共通化） accordion */
.twitter-wrapper .accordion > dt,
.repost-wrapper .accordion > dt{
    position: relative;
    display: block;
    height: 40px;
    font-size: 16px;
    line-height: 40px;
    margin: 0;
    padding: 0 0 0 10px;
    border: 1px solid #ccc;
    cursor: pointer;
}

.twitter-wrapper .accordion > dt.active,
.repost-wrapper .accordion > dt.active{
    background: #eee;
}

.twitter-wrapper .accordion > dd + dt,
.repost-wrapper .accordion > dd + dt{
    margin-top: 10px;
}

.twitter-wrapper .accordion > dt::after,
.repost-wrapper .accordion > dt::after{
    content: '＋';
    position: absolute;
    top: 50%;
    right: 0;
    bottom: auto;
    display: block;
    width: 1em;
    margin: 0;
    padding: 0;
    text-align: center;
    transform: translate(-80%, -50%);
}

.twitter-wrapper .accordion > dt.active::after,
.repost-wrapper .accordion > dt.active::after{
    content: '−';
}

.twitter-wrapper .accordion dd,
.repost-wrapper .accordion dd{
    display: none;
    font-size: 16px;
    line-height: 1.5em;
    padding: 10px;
    border: 1px solid #fff;
}

.repost-wrapper .accordion dd p {
    width: 100%;
    margin-bottom: 0;
    padding-left: 1em;
    text-indent: -1em;
}

/* coupon */
.coupon{
    border-top: 1px solid #707070;
    margin: 40px auto 0;
    padding-top: 40px;
    width: 1012px;
}

.coupon .sp_only{
    display: none;
}

.coupon dt{
    font-size: 32px;
    font-weight: bold;
    line-height: 1.5em;
}

.coupon dd{
    font-size: 18px;
    padding-top: 40px;
}

.coupon dd div{
    padding: 40px 0;
    margin-top: 40px;
    background-color: #eee;
}

.coupon dd div b{
    display: block;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.coupon dd div b span{
    display: inline-block;
    color: #fff;
    font-size: calc(20/24*1em);
    background: #4472FB;
    padding: calc(4/20*1em) calc(10/20*1em);
    margin-right: calc(10/20*1em);
}

.coupon dd div ul{
    display: flex;
    justify-content: center;
    margin: 20px 0;
}

.coupon dd div ul .app_btn a{
    display: block;
    width: 290px;
    height: 100px;
    background: url(/v2/cmn/img/campaign/game_common/appstore.png) no-repeat center center / 100% auto;
}

.coupon dd div ul .google_btn a{
    display: block;
    width: 324px;
    height: 100px;
    margin-left: 20px;
    background: url(/v2/cmn/img/campaign/game_common/googleplay.png) no-repeat center center / 100% 100%;
}

.coupon dd div .rental_btn{
    position: relative;
    display: block;
    width: 496px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    text-decoration: none;
    margin: 0 auto;
    border-radius: 10px;
    color: #fff;
    background-color: #192B5B;
}

.coupon dd div .rental_btn::after{
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    border-width: 10.5px 0 10.5px 18px;
    bottom: 0;
    content: '';
    display: block;
    height: 0;
    margin: auto 0;
    position: absolute;
    right: 30px;
    top: 0;
    width: 0;
}

/* price new */
.price_outtax_wrapper{
    display: flex;
    justify-content: flex-end;
}

.price_outtax_wrapper .price{
    line-height: 60px;
}

.price_outtax{
    margin-bottom: 10px;
    text-align: left;
}

.changeOrder .price_outtax{
    position: relative;
}

.changeOrder .reference_price {
    font-size: 16px;
    color: #707070;
    display: inline-block;
    position: absolute;
    left: calc(-4em - 1px);
    top: 0.2em;
}

.price_outtax .price_title{
    position: relative;
    left: -6px;
}

.changeOrder .price_outtax .price_title{
    position: absolute;
    left: calc(-4em - 1px);
    top: 1.7em;
}

.price_outtax .price{
    display: flex;
    align-items: baseline;
}

.changeOrder .price_outtax .price{
    margin-top: 0.8em;
}

.price span.tax_excluded{
    background: #f00;
    color: #fff;
    display: inline-block;
    height: 1.5em;
    font-size: 15px;
    line-height: 1.5em;
    margin-right: 5px;
    padding: 0 2px;
    position: relative;
    right: 5px;
    top: -6px;
}

.price_outtax .price_intax{
    color: #f00;
    font-size: 15px;
    font-weight: bold;
    line-height: 0;
    margin-bottom: 20px;
    text-align: right;
}


.geo_limited {
    background-color: rgba(254, 214, 0, 0.1);
    width: 100%;
    padding-top: 0px;
    padding-bottom: 40px;
    border:none;
}

.geo_limited+.item_overview-wrapper {
    border:none;
    margin: 40px auto 0;
    padding-top: 0px;
    width: 1012px;
}

.geo_limited h2 {
    background-color: #192B5B;
    line-height: 90px;
    color: #fff;
}

.geo_limited h2 span {
    width: 1012px;
    font-weight: bold;
    display: block;
    margin: auto;
}

.geo_limited dl{
    border-color: #FFE55D;
    color: #000;
    width: 1012px;
    margin: auto;
    margin-bottom: 40px;
}

.geo_limited dl:last-of-type {
	margin-bottom:0;
}

.geo_limited dt {
    background-color: #FEEF9F;
    border-color: #FFE55D;
}

.geo_limited dd{
    border-color: #FFE55D;
}

/* 取り扱い店舗を探す、ゲオオンラインストアで購入する */
.store_wrapper {
    width: 1012px;
    margin: 0 auto;
}

.store_search-title{
    background: #1b2a5b;
    color: #fff;
    height: 65px;
    font-size: 24px;
    line-height: 65px;
    margin-top: 50px;
    text-align: center;
}
.store_search{
    display: flex;
    flex-wrap: wrap;
    width: 800px;
    margin: 30px auto 0;
}
.store_search div,
.store_search .selectCustom{
    display: block;
    width: 400px;
}
.store_search div{
    font-size: 16px;
    height: 50px;
    line-height: 50px;
}
.store_search .selectCustom{
    border: 1px solid #c1c1c1;
    font-size: 16px;
    height: 50px;
    line-height: 50px;
    position: relative;
}
.selectCustom::after {
    content:  '';
    width: 48px;
    height: 48px;
    display:  block;
    position:  absolute;
    top: 0;
    right: 0;
    border-left: 1px solid #c1c1c1;
}
.selectCustom::before {
    position: absolute;
    width: 14px;
    height: 14px;
    top: 50%;
    right: 0;
    margin: -10px 17px 0 0;
    content: "";
    vertical-align: middle;
    border-bottom: 2px solid #c1c1c1;
    border-right: 2px solid #c1c1c1;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.store_search .selectCustom span{
    padding-left: 1em;
    font-size: 16px;
    line-height: 50px;
}
.store_search .selectCustom select{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
    border: none;
    color: #192b5b;
    font-size: 14px;
    line-height: 30px;
    opacity: 0;
    filter: alpha(opacity=0);
    cursor: pointer;
    z-index: 1;
}
.hideItem{
    display: none;
}
.store_list{
    margin: 30px auto 0;
}
.store_list h4{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: 16px;
}
.shopList {
    list-style: none;
    padding: 0;
}
.shopList li {
    border-top: 1px solid #d2d2d2;
    border-bottom: 1px solid #d2d2d2;
    color: #333;
    display: block;
    float: left;
    font-size: 18px;
    line-height: 50px;
    margin: -1px 0 0 0;
    position: relative;
    width: 50%;
}
.shopList li a {
    color: inherit;
    display: block;
    text-decoration: none;
}
.shopList li a::after {
    border: 1px solid #d2d2d2;
    border-width: 2px 2px 0 0;
    content: '';
    display: block;
    height: 10px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 10px;
}

.store_wrapper .online_btn {
    border-radius: 6px;
    display: block;
    height: 80px;
    font-size: 20px;
    line-height: 80px;
    text-align: center;
    text-decoration: none;
    position: relative;
    width: 496px;
    margin: 40px auto;
}

.store_wrapper .online_btn::after {
    border-style: solid;
    border-width: 10.5px 0 10.5px 18px;
    bottom: 0;
    content: '';
    display: block;
    height: 0;
    margin: auto 0;
    position: absolute;
    right: 30px;
    top: 0;
    width: 0;
}