@charset "UTF-8";
/**
 * toppage.css
 * updatedAt: 2016.03.22
 * createdAt: 2016.03.02
 */

/*========================================

  main

========================================*/
body {
	font-family: 'SST W55 Regular','游ゴシック体', 'Yu Gothic', YuGothic;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	body {
		font-size: 16px;
	}
}
/*
強制リキッド用上書き
*/
.eco-container {
	min-width: 100%;
}
a {
	position: relative;
	display: block;
	transition: opacity 0.2s;
	-ms-transition: opacity 0.2s;
	-moz-transition: opacity 0.2s;
	-webkit-transition: opacity 0.2s;
}
a:after {
	clear: both;
	display: block;
	content: "";
}
a:hover {
	opacity: 0.85;
}
article .img-box {
	line-height: 0;
}
article .img-box img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 640px) {
	a {
		transition: none;
		-ms-transition: none;
		-moz-transition: none;
		-webkit-transition: none;
	}
	a:hover {
		opacity: 1.0;
	}
}
/*========================================

  .mainvisual

========================================*/
.mainvisual {
	background-image: url(../img/top_main_ps4.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.mainvisual .mod-visual-box {
	padding-bottom: 46.5%;
}
.mainvisual .mod-content-wrap {
	width: 55%;
}
.mainvisual .mod-visual-bg {
}
.mainvisual .mod-content {
	padding: 9.6157112% 10.6157112% 12% 0;
}
.mainvisual .mod-content h1 {
	display: block;
	margin-bottom: 3%;
	font-size: 250%;
	line-height: 1.3;
	letter-spacing: -0.04em;
	color: #fff;
}
.mainvisual .mod-content {
	background: none;
}
.mainvisual .mod-content p {
	font-size: 92%;
	line-height: 1.8;
	letter-spacing: -0.07em;
	color: #fff;
}
.mod-rightfix{
	float: right;
}
.mod-leftfix{
	float: left;
}
@media screen and (max-width: 992px) {
	.mainvisual .mod-content-wrap {
		width: 60%;
	}
	.mainvisual .mod-content h1 {
		font-size: 220%;
	}
}
@media screen and (max-width: 768px) {
	.mainvisual {
		background-image: none;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
	.mainvisual .mod-container {
		width: 100%;
	}
	.mainvisual .mod-visual-inner {
		position: static;
		top: 0;
		left: 0;
		box-sizing: border-box;
		padding: 0;
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-position: center top;
		background-size: cover;
	}
	.mainvisual .mod-visual-bg {
		background-image: url(../img/top_main_ps4_sp.jpg);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		padding-bottom: 64% !important;
	}
	.mainvisual .mod-visual-box {
		padding-bottom: 40.5%;
	}
	.mainvisual .mod-content-wrap {
		width: 100% !important;
	}
	.mainvisual .mod-content-wrap {
		display: table;
		height: 100%;
	}
	.mainvisual .mod-content h1 {
		display: block;
		margin-bottom: 3%;
		line-height: 1.3;
		letter-spacing: -0.04em;
		color: #2f353d;
	}
	.mainvisual .mod-content p {
		font-size: 93.8%;
		line-height: 1.8;
		letter-spacing: -0.07em;
		color: #3c3c42;
	}
	.mainvisual .mod-content {
		padding: 9.6157112% 10.6157112% 12%;
	}
	.mainvisual .mod-content h3 {
		font-size: 100%;
		line-height: 1.7;
		letter-spacing: -0.07em;
		color: #83838f;
	}
}
/*========================================

  .Product

========================================*/
.Product .mod-heading {
	width: 92.5%;
	padding: 8.5% 0 7%;
}
.Product .mod-heading.mod-heading--mbLeftSide{
	width: 33%;
	margin: 0;
	padding: 45% 0 0;
	text-align: left;
}
.Product .mod-heading.mod-heading--mt0 {
	padding: 0 0 9%;
}
.Product .mod-heading.mod-heading--mbSS {
	padding: 1% 0 9%;
}
.Product .mod-heading.mod-heading--mbS {
	padding: 3.5% 0 4%;
}
.Product .mod-heading.mod-heading--mbS_bttomL {
	padding: 3.5% 0 6%;
}
.Product .mod-heading.mod-heading--mbM {
	padding: 5% 0 9%;
}
.Product .mod-heading.mod-heading--mbM_bttomS {
	padding: 5% 0 6%;
}
.Product .mod-heading.mod-heading--mbM_bttomL {
	padding: 5% 0 13%;
}
.Product .mod-heading.mod-heading--mbL {
	padding: 10% 0 8%;
}
.ProductFull .mod-container {
	margin: 0 auto;
	max-width: 100%;
	width: 100%;
	overflow: hidden;
}
/* section
----------------------------------------*/
.Product .mod-heading.full h2 {
	font-size: 225%;
}
.Product .mod-heading.full p.comment {
	margin-top:0;
	font-size: 92%;
}
.Product .mod-visual-bg.mod-visual-bg--pro01 {
	background: url(../img/top_ps_img01.jpg) no-repeat center top;
	background-size: contain;
	margin-bottom: 14%;
	padding-bottom: 44.785714285714%;
}
.Product .mod-visual-bg.mod-visual-bg--pro02 {
	background: url(../img/top_ps_img02.jpg) no-repeat center top;
	background-size: contain;
	margin-bottom: 2%;
	padding-bottom: 34%;
}
.Product .mod-visual-bg.mod-visual-bg--pro03 {
	background: url(../img/top_ps_img03.jpg) no-repeat center top;
	background-size: contain;
	margin-bottom: 0;
	padding-bottom: 42.57142857%;
}
.Product .mod-visual-bg.mod-visual-bg--pro04 {
	background: url(../img/top_ps_img04.jpg) no-repeat center top;
	background-size: contain;
	margin-bottom: 8%;
	padding-bottom:20%;
}
.Product .mod-visual-bg.mod-visual-bg--pro05 {
	background: url(../img/top_ps_img05.jpg) no-repeat center top;
	background-size: contain;
	margin: 4.5% 0 11%;
	padding-bottom: 15.78571428%;
}
.Product .full p {
	font-size: 92%;
	line-height: 1.8;
	margin-top: 1.2%;
	color: #3c3c42;
}

@media screen and (max-width: 640px) {
	.Product .mod-heading {
		width: 100%;
		padding: 20px 0;
	}
	.Product .mod-visual-bg {
		margin-bottom: 20%;
		padding-bottom: 10%!important;
	}
	.Product .mod-visual-bg.mod-visual-bg--pro01 {
		background: url(../img/top_ps_img01.jpg) no-repeat center top;
		background-size: contain;
		margin-bottom: 5%;
		padding-bottom: 50%!important;
	}
	.Product .mod-visual-bg.mod-visual-bg--pro02 {
		background: url(../img/top_ps_img02.jpg) no-repeat center top;
		background-size: contain;
		margin-bottom: 10%;
		padding-bottom: 40%!important;
	}
	.Product .mod-visual-bg.mod-visual-bg--pro03 {
		background: url(../img/top_ps_img03.jpg) no-repeat center top;
		background-size: contain;
		margin-bottom: 10%;
		padding-bottom: 45%!important;
	}
	.Product .mod-visual-bg.mod-visual-bg--pro04 {
		background: url(../img/top_ps_img04.jpg) no-repeat center top;
		background-size: contain;
		padding-bottom: 15%!important;
	}
	.Product .mod-visual-bg.mod-visual-bg--pro05 {
		background: url(../img/top_ps_img05.jpg) no-repeat center top;
		background-size: contain;
		margin: 4.5% 0 ;
		padding-bottom: 16%!important;
	}
	.Product .mod-heading.mod-heading--mbSS {
		padding: 1% 0 15%;
	}
	.Product .mod-heading.mod-heading--mbM {
		padding: 10% 0 9%;
	}
	.Product .mod-heading.mod-heading--mbM_bttomS {
		padding: 10% 0 9%;
	}
	.Product .mod-heading.mod-heading--mbLeftSide{
		width: 100%;
		margin: 0;
		padding: 88% 0 0;
		text-align: left;
	}
}
/*========================================

  .sectionBand

========================================*/
.sectionBand {
	background-image: url(../img/top_psbg_img01.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.sectionBand .mod-visual-box {
	padding-bottom: 21.5%;
}
.sectionBand .mod-visual-inner {
	padding: 0 3.57144285%;
}
.sectionBand .mod-content-wrap {
	width: 100%;
}
.sectionBand h1 {
	color: #fff;
	font-size: 225%;
	line-height: 1.3;
}
.sectionBand p {
	color: #fff;
	display: block;
	margin-top: 1.5%;
	font-size: 92%;
	line-height: 1.7;
}
@media screen and (max-width: 1110px) {
	.sectionBand .mod-visual-box {
		padding-bottom: 25%;
	}
}
@media screen and (max-width: 640px) {
	.sectionBand .mod-visual-box {
		padding-bottom: 65.625%;
	}
	.sectionBand .mod-visual-inner {
		position: absolute;
	}
}
/*========================================

  .leftImgBlock

========================================*/
.leftImgBlock {

}
.leftImgBlock .leftImgBlockInner {
	display: table;
	table-layout: fixed;
	overflow: hidden;
	max-width: 1400px;
	margin: 0 auto;
}
.leftImgBlock .mod-img {
	display: table-cell;
	width: 57.14285714285714%;
}
.leftImgBlock .mod-img img {
	max-width: 100%;
	width: 100%;
}
.leftImgBlock .mod-content {
	display: table-cell;
	vertical-align: middle;
	width: 35.07142857142857%;
	padding:0 2.6157112% 0 2.6157112%;
	background: none;
}
.leftImgBlock h2 {
	font-size: 180%;
	line-height: 1.7;
	letter-spacing: -0.04em;
}
.leftImgBlock p {
	display: block;
	margin-top: 3.5%;
	font-size: 80%;
	line-height: 2;
	letter-spacing: 0em;
	color: #83838f;
}

@media screen and (max-width: 640px) {
	.leftImgBlock .leftImgBlockInner {
		display: block;
		overflow: hidden;
		font-size: 80%;
		margin: 0 auto;
	}
	.leftImgBlock .mod-img {
		display: block;
		float: none;
		width: auto;
	}
	.leftImgBlock .mod-img img {
		max-width: 100%;
		width: auto;
	}
	.leftImgBlock .mod-content {
		display: block;
		float: none;
		width: auto;
		padding: 0;
		background: none;
	}
	.leftImgBlock h2 {
		font-size: 187.5%;
		line-height: 1.3;
		letter-spacing: -0.04em;
	}
	.leftImgBlock p {
		margin-top: 10px;
		font-size: 90%;
		line-height: 1.7;
		letter-spacing: 0em;
		color: #83838f;
	}
}
/*========================================

  .Package

========================================*/
.Package {
	background-image: url(../img/top_bg_img02.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	margin: 10% 0 0;
}
.Package .mod-visual-box {
	padding-bottom: 17.8%;
}
.Package .mod-visual-inner {
}
.Package .mod-content-wrap {
	width: 44.7%;
}
.Package .mod-content-inner {
	padding: 3.6157112% 10.6157112% 3.7388535%;
	background: rgba(255, 255, 255, .9);
}
.Package h1 {
	font-size: 240%;
	line-height: 1.3;
}
.Package p {
	display: block;
	margin-top: 5%;
	font-size: 93.8%;
	line-height: 1.7;
	color: #83838f;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {

}
@media screen and (max-width: 1400px) {
	.Package .mod-visual-box {
		padding-bottom: 20%;
	}
}
@media screen and (max-width: 1200px) {
	.Package .mod-visual-box {
		padding-bottom: 25%;
	}
}
@media screen and (max-width: 992px) {
	.Package .mod-visual-box {
		padding-bottom: 32%;
	}
}
@media screen and (max-width: 768px) {
	.Package .mod-visual-box {
		padding-bottom: 48%;
	}
}
@media screen and (max-width: 640px) {
	.Package {
		margin: 10% 0;
	}
	.Package .mod-visual-box {
		padding-bottom: 67.625%;
	}
	.Package .mod-visual-inner {
		position: absolute;
	}
}
@media screen and (max-width: 480px) {
	.Package h1 {
		font-size: 225%;
	}
}
.br {
	display: block;
}
@media screen and (max-width: 1110px) {
	.br {
		display: none;
	}
}
/*========================================

  .Recommend

========================================*/
/* .mod-heading
----------------------------------------*/
.Recommend .mod-heading {
	padding: 12.1428571% 0 0.7142857%;
	text-align: center;
}
.Recommend .mod-heading h2 {
	font-size: 243.8%;
	line-height: 1.3;
	color: #2f353d;
	margin: 0 0 2%;
}
.Recommend .mod-heading h3 {
	font-size: 150%;
	color: #2f353d;
}
.Recommend .mod-fn-grid {
	display: flex;
	justify-content: center;
}
@media screen and (max-width: 640px) {
	.Recommend .mod-heading {
		padding: 60px 0 20px;
	}
	.Recommend .mod-fn-grid {
	padding-bottom: 60px;
  }
	.Recommend section {
	margin: 0;
	width: auto;
  }
}

/* .mod-grid
----------------------------------------*/
.Recommend .mod-fn-grid {
	padding-bottom: 8%;
}
.Recommend .mod-fn-grid--mbL {
	padding-bottom: 12%;
}
.Recommend section {
	position: relative;
	margin: 0 0 0 3.3613445%;
	width: 31%;
	line-height: 1.5;
}
.Recommend section:first-child {
	margin-left: 0;
}
.Recommend section h3 {
	margin: 8% 0 2%;
	font-size: 93.8%;
	color: #2f353d;
}
.Recommend section p {
	margin-top: 0.8695652%;
	font-size: 80%;
	line-height: 1.7;
	color: #3c3c42;
}
.Recommend .txt-box p {
	display:flex;
	flex-wrap:wrap;
}
.Recommend section em {
	font-size: 81.3%;
	color: #4572ed;
}
.Recommend .mod-comment {
	text-align: left;
	font-size: 75%;
	padding-bottom: 12%;
	color: #3c3c42;
	letter-spacing: 0.02em;
}

@media screen and (max-width: 640px) {
	.Recommend .mod-fn-grid {
		padding-bottom: 0;
		display: block;
	}
	.Recommend section {
		overflow: hidden;
		margin: 0;
		width: auto;
	}
	.Recommend section:before {
		padding-top: 40px;
	}
	.Recommend section:first-child:before {
		padding-top: 0;
	}
	.Recommend section h3 {
		margin: 2% 0;
		font-size: 112.5%;
	}
	.Recommend section p, .Recommend section em {
		margin: 7px 0 20%;
		font-size: 100%;
	}
	.Recommend section p.mb0 {
		margin: 0;
	}
	.Recommend .mod-comment {
		text-align: left;
		font-size: 100%;
		padding-bottom: 0;
		color: #3c3c42;
		letter-spacing: 0.02em;
	}
}
/* .polyfill
----------------------------------------*/
.Recommend .polyfill section {
	float: left;
}
.Recommend .polyfill section:first-child {
	margin-left: 0;
}
/*========================================

  .Initiative

========================================*/
.Initiative {
	margin-bottom: 0;
}
/* .mod-heading
----------------------------------------*/
.Initiative .mod-heading {
	padding: 84px 0;
	padding: 7% 0;
	text-align: center;
}
.Initiative .mod-heading h2 {
	font-size: 225%;
	line-height: 1.3;
	color: #2f353d;
}
.Initiative .mod-heading p {
	margin-top: 20px;
	font-size: 92%;
	line-height: 1.7;
	color: #3c3c42;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.Initiative .mod-heading h2 {
		font-size: 40px;
	}
	.Initiative .mod-heading p {
		font-size: 16px;
	}
}

@media screen and (max-width: 640px) {
	.Initiative .mod-heading {
		padding: 40px 0 20px;
	}
	.Initiative .mod-heading p {
		margin-top: 10px;
		font-size: 100%;
	}
}

/*========================================

  .Theatre

========================================*/
.Theatre {
	background-image: url(../img/top_psbg_img03.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	margin-bottom: 8%;
}
.Theatre .mod-visual-box {
	padding-bottom: 25%;
}
.Theatre .mod-visual-inner {
	padding: 0;
}
.Theatre .mod-content {
	padding: 12% 0 0;
	background: none;
}
.Theatre .mod-content h1 {
	display: block;
	margin-bottom: 10%;
	font-size: 225%;
	line-height: 1.3;
	letter-spacing: -0.04em;
	color: #2f353d;
}
.Theatre .mod-content-box{
	display: block!important;
	padding: 40% 0 0;
}
@media screen and (max-width: 1400px) {
	.Theatre .mod-content h1 {
		display: block;
		margin-bottom: 10%;
		font-size:225%;
		line-height: 1.3;
		letter-spacing: -0.04em;
		color: #2f353d;
	}
}
@media screen and (max-width: 1200px) {
	.Theatre .mod-content h1 {
		display: block;
		margin-bottom: 3%;
		font-size: 180%;
		line-height: 1.3;
		letter-spacing: -0.04em;
		color: #2f353d;
	}
}
@media screen and (max-width: 992px) {
	.Theatre .mod-content h1 {
		display: block;
		margin-bottom: 3%;
		font-size: 150%;
		line-height: 1.3;
		letter-spacing: -0.04em;
		color: #2f353d;
	}
	.Theatre .mod-content {
		background: none;
		padding: 40% 0 0;
	}
}
@media screen and (max-width: 768px) {
	.Theatre .mod-content h1 {
		display: block;
		margin-bottom: 3%;
		font-size: 120%;
		line-height: 1.3;
		letter-spacing: -0.04em;
		color: #2f353d;
	}
	.Theatre .mod-content-box{
		display: block!important;
		padding: 0;
	}
}
@media screen and (max-width: 640px) {
	.Theatre {
		background-image: none;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
	.Theatre .mod-container {
		font-size: 87.5%;
		width: 100%;
	}
	.Theatre .mod-visual-bg {
		padding-bottom: 24% !important;;
		background-image: url(../img/top_psbg_img03.jpg);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
	.Theatre .mod-visual-box {
		padding-bottom: 10%;
	}
	.Theatre .mod-content {
		padding: 25px 5.3334% !important;
	}
	.Theatre .mod-content h3 {
		font-size: 100%;
		line-height: 1.7;
		letter-spacing: -0.07em;
		color: #83838f;
	}
	.Theatre .mod-content h1 {
		display: block;
		margin-bottom: 6.199409%;
		font-size: 212.5% !important;
		line-height: 1.3;
		letter-spacing: -0.04em;
		color: #2f353d;
	}
}
/*========================================

  slider

========================================*/
.sliderWrap{
	position: relative;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 2%;
}
.sliderttl{
	padding: 0 0 1%;
	font-size: 125%;
	color: #000;
}
.slider{
	overflow: hidden;
	width:100%;
}
.slider .item{
	width: 30.98039%;
	height: auto;
	margin: 0 10px;
}

.slider .item img{
	display: block;
	max-width: 100%;
	width: auto;
	margin: 0 auto;
}
.slider h2{
	margin: 10px 0 6px;
	font-size: 106.3%;
	line-height: 1.46667;
	color: #24262f;
	text-align: left;
}
.slider p{
	display: block;
	margin: 5px 0;
	font-size: 0.8125em;
	font-style: normal;
	line-height:1.53846;
	color: #3c3c42;
	text-align: left;
}
.slider a{
	color: #3865E0;
}
.slider a:hover{
	color: #000000;
	opacity: .7;
}
.slider a:active{
	color: #000000;
}
.slider a:visited{
	color: #3865E0;
}

.mod-fn-pagetop .pagetop-btn{
	margin-top: -50px;
}

@media screen and (max-width: 767px) {
	.sliderWrap {
		position: relative;
		width: 91.89189%;
		max-width: 1190px;
		padding: 0;
		margin: 0 auto;
	}
	.slider .item{
		width: 30.98039%;
		height: auto;
		margin: 0;
	}
}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
* html .clearfix {
	zoom: 1;
}
*:first-child+html .clearfix {
	zoom: 1;
}
sub {
	vertical-align: -25%;
	font-size: 110%;
	line-height: 1.3;
}
sub.ex {
	vertical-align: -30%;
	line-height: 1.3;
}
