@charset "utf-8";
/* CSS Document */
body {
	font-size: 16px;
	font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	line-height: 1.6;
	background-color: #FFF;
	color: #333;
	margin: 0;
	font-style: normal;
	font-weight: normal;
	position: relative;
	width: 100%;
    right: 0;
}
/* clearfix */
.cf:before, .cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
/* clear */
.clear {
	clear: both;
}
/* link */
a {
	transition:color 0.3s ease ,background 0.3s ease ,opacity 0.3s ease;
	text-decoration: underline;
	color: #283593;
}
.ios a {
	transition:none;
}
a:hover {
	text-decoration: none;
}
/* fade */
.fade {
	display: block;
}
.fade:hover{
	transition:all 0.3s ease;
	opacity: 0.7;
	filter: alpha(opacity=70);
	text-decoration: none;
}
/* image */
img {
	-webkit-backface-visibility: hidden;
	max-width: 100%;
	height: auto;
}
.alignleft {
    display: inline-block;
    float: left;
    margin-right: 2em;
    margin-bottom: 1em;
}
.alignright {
    display: inline-block;
    float: right;
    margin-left: 2em;
    margin-bottom: 1em;
}
/* contents */
.contents {
	width: 960px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
/* pc-none */
.pc-none {
	display: none;
}
/* feda-up */
.fade-up {
    transition : all 800ms;
	-moz-transition-delay:100ms;
    -webkit-transition-delay:100ms;
    -o-transition-delay:100ms;
    -ms-transition-delay:100ms;
}
.fade-up-box > .fade-up:nth-of-type(2) {
    -moz-transition-delay:200ms;
    -webkit-transition-delay:200ms;
    -o-transition-delay:200ms;
    -ms-transition-delay:200ms;
    }
.fade-up-box > .fade-up:nth-of-type(3) {
    -moz-transition-delay:300ms;
    -webkit-transition-delay:300ms;
    -o-transition-delay:300ms;
    -ms-transition-delay:300ms;
}
.fade-up-box > .fade-up:nth-of-type(4) {
    -moz-transition-delay:400ms;
    -webkit-transition-delay:400ms;
    -o-transition-delay:400ms;
    -ms-transition-delay:400ms;
}

/* +++++++++++++++++++++++
ヘッダー
+++++++++++++++++++++++ */
.header {
	position: relative;
	padding: 30px 0 90px;
	background: #f6fbfc url(../images/bg-top.gif) no-repeat top right;
	background-size: cover;
}
.logo {
	margin: 0 0 40px;
}
/* title-collabo */
.title-collabo {
	display: table;
	margin: 85px auto 30px;
}
.collabo-kagaya ,.collabo-cross ,.collabo-imos {
	display: table-cell;
	padding: 15px;
	vertical-align: middle;
}
/* title-work */
.title-work {
	max-width: 660px;
	margin: 0 auto;
	text-align: center;
}
.title-work h2 {
	display: inline-block;
	margin: 0 0 0.8em;
	padding: 10px 60px;
	font-size: 175%;
	letter-spacing: 0.2em;
	line-height: 1.2;
	color: #FFF;
	background: #00848A;
}
.title-work h3 {
	color: #00848A;
	font-size: 150%;
}
.title-work h3 span {
	display: inline-block;
}

/* +++++++++++++++++++++++
アバウト
+++++++++++++++++++++++ */
.wrap-about {
	background: url(../images/bg-about01.jpg) no-repeat;
	background-size: cover;
}
.about {
	padding: 40px 0 60px;
	background: url(../images/bg-about02.png) repeat;
}
.about .contents {
	position: relative;
}
.about h2 {
	margin: 0 0 40px;
	font-size: 200%;
	color: #FFF;
	line-height: 1.2;
}
.about h3 {
	margin: 0 0 1em;
	font-size: 150%;
	color: #00848A;
}
.txt-about {
	position: relative;
	width: 510px;
	max-width: 55%;
	padding: 25px 45px 45px;
	background: #FFF;
	z-index: 20;
}
.txt-about img {
	z-index: 10;
}
.txt-about p {
	margin: 0 0 1em;
}
.pic-about {
	position: absolute;
	top: 20px;
	right: 20px;
	text-align: right;
	max-width: 45%;	
}
.pic-about img {
	margin: 0 0 20px;
}

/* +++++++++++++++++++++++
メニュー
+++++++++++++++++++++++ */
.menu {
	padding: 60px 0 40px;
	background: #EEE;
}
.menu li {
	list-style: none;
}
.menu li {
	float: left;
	width: 49%;
	margin: 0 0 20px;
	line-height: 1.2;
}
.menu li:nth-child(odd) {
	clear: both;
	margin-right: 2%;
}
.menu li a {
	position: relative;
	display: block;
	padding: 30px 60px 30px 30px;
	background: #FFF;
	border: solid 3px #00848A;
	color: #00848A;
	font-weight: bold;
	font-size: 150%;
	text-decoration: none;
}
.menu li span {
	display: block;
	font-size: 75%;
}
.menu li a:hover {
	background: #00848A;
	color: #FFF;
}
.menu li a:after {
	position: absolute;
	content: "";
	width: 27px;
	height: 17px;
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
	background: url(../images/ico-arrow-b.png) no-repeat;
	background-size: cover;
}
.menu li a:hover:after {
	background: url(../images/ico-arrow-w-b.png) no-repeat;
	background-size: cover;
}

/* +++++++++++++++++++++++
エピソード
+++++++++++++++++++++++ */
.episode {
	padding: 60px 0;
}
.e-color {
	background: #EEE;
}
.episode h2 {
	display: table;
	width: 100%;
	margin: 0 0 40px;
	padding: 0;
	background: #00848A;
	overflow: hidden;
	color: #FFF;
	font-size: 162%;
}
.episode h2 .e-title01 {
	display: table-cell;
	width: 6em;
	margin: -10px 0;
	padding: 10px 20px;
	vertical-align: middle;
	background: #324B4C;
	font-size: 80%;
}
.episode h2 .e-title02 {
	display: table-cell;
	padding: 10px 20px;
	vertical-align: middle;
}
.e-text01 {
	max-width: 660px;
	margin: 0 auto;
}
.e-text02 {
	max-width: 560px;
}
.e-text-l {
	float: left;
}
.e-text-r {
	float: right;
}
.episode p {
	margin: 0 0 1em;
}
/* box-goal */
.box-goal {
	float: left;
	max-width: 310px;
	margin: 0 0 1em;
	padding: 25px 25px 10px;
	background: #BCDADC;
}
.box-goal .item {
	margin: 0 0 15px;
}
.box-goal h3 {
	padding: 10px 15px;
	background: #00848A;
	color: #FFF;
	font-size: 112%;
}
.box-goal p {
	padding: 15px;
	background: #FFF;
}

/* +++++++++++++++++++++++
近日公開
+++++++++++++++++++++++ */
.comming-soon {
	padding: 60px 0;
}
.comming-soon .text {
	padding: 60px;
	background: #EEE;
	text-align: center;
}
.comming-soon h2 {
	margin: 0 0 0.5em;
	font-size: 225%;
	color: #00848A;
}

/* +++++++++++++++++++++++
フッター
+++++++++++++++++++++++ */
.footer {
	margin: 0;
	background: #EEE;
}
.page-top {
	text-align: center;
	font-size: 88%;
}
.page-top a {
	display: block;
	padding: 12px;
	color: #FFF;
	background: #324B4C;
	text-decoration: none;
}
.page-top a:hover {
	opacity: 0.8;
}
.page-top img {
	margin: 0 0 0 20px;
}
.footer .contents {
	padding: 50px 20px;
}
.fotter-logo {
	display: table;
	margin: 0 auto;
}
.fotter-logo .item {
	display: table-cell;
	padding: 30px 40px;
	vertical-align: middle;
}
.copyright {
	padding: 5px;
	font-size: 75%;
	text-align: center;
}
@media (max-width: 960px) {
	.contents {
		padding: 0 2%;
		box-sizing: border-box;
	}
	/* pc-none */
	.pc-none {
		display: block;
	}
	/* sp-none */
	.sp-none {
		display: none;
	}
	/* image */
	.alignleft ,.alignright {
		max-width: 45%;
	}
	/* +++++++++++++++++++++++
	ヘッダー
	+++++++++++++++++++++++ */
	.header {
		padding: 30px 0 120px;
		background: #f6fbfc url(../images/bg-top.gif) no-repeat top center;
		background-size: cover;
	}
	.title-collabo {
		margin: 100px auto 30px;
	}
	.collabo-kagaya ,.collabo-imos {
		padding: 5px;
	}
	.title-collabo {
		
	}
	/* +++++++++++++++++++++++
	アバウト
	+++++++++++++++++++++++ */
	.about h2 {
		max-width: 55%;
	}
	.txt-about {
		padding: 20px 25px 25px;
	}
	.pic-about {
		max-width: 40%;	
	}
	/* +++++++++++++++++++++++
	メニュー
	+++++++++++++++++++++++ */
	.menu {
		padding: 30px 0 10px;
	}
	.menu li a {
		padding: 15px 40px 15px 15px;
		font-size: 125%;
	}
	.menu li a:after {
		right: 15px;
	}
	/* +++++++++++++++++++++++
	エピソード
	+++++++++++++++++++++++ */
	.episode {
		padding: 40px 0 30px;
	}
	.episode h2 {
		display: block;
		margin: 0 0 20px;
		background-color: transparent;
		font-size: 125%;
	}
	.episode h2 .e-title01 {
		display: block;
		padding: 15px 20px;
	}
	.episode h2 .e-title02 {
		display: block;
		background: #00848A;
	}
	.e-text-r {
		width: 60%;
	}
	/* box-goal */
	.box-goal {
		width: 35%;
		padding: 15px 15px 5px;
	}
	.box-goal {
	}
	
	/* +++++++++++++++++++++++
	フッター
	+++++++++++++++++++++++ */
	.footer-nav .item {
		padding: 10px;
	}
}
@media (max-width: 690px) {
	.contents {
		padding: 0 3%;
	}
	/* image */
	.alignleft ,.alignright {
		float: none;
		display: block;
		margin: 1em auto;
		max-width: 100%;
	}
	/* +++++++++++++++++++++++
	ヘッダー
	+++++++++++++++++++++++ */
	.header {
    	padding: 10px 0 40px;
	}
	/* title-collabo */
	.title-collabo {
		display: block;
		margin: 20px auto;
	}
	.collabo-kagaya ,.collabo-cross ,.collabo-imos {
		display: block;
		margin: 0 auto;
		padding: 0;
		text-align: center;
	}
	.collabo-kagaya ,.collabo-imos {
		width: 60%;
		min-width: 240px;
	}
	.collabo-kagaya {
		padding: 5px;
	}
	.collabo-cross {
		width: 40px;
	}
	.collabo-cross img {
		width: 80px;
	}
	/* title-work */
	.title-work h2 {
		padding: 8px 60px;
		font-size: 125%;
	}
	.title-work h3 {
		font-size: 112%;
		line-height: 1.3;
	}
	/* +++++++++++++++++++++++
	アバウト
	+++++++++++++++++++++++ */
	.about h2 {
		max-width: 100%;
		font-size: 150%;
	}
	.txt-about {
		width: auto;
		max-width: initial;
	}
	.pic-about {
		position: static;
		max-width: initial;	
	}
	.pic-about img {
		float: right;
		width: 50%;
		height: auto;
		margin: 0;
	}
	/* +++++++++++++++++++++++
	メニュー
	+++++++++++++++++++++++ */
	.menu {
		padding: 40px 0 20px;
	}
	.menu li {
		float: none;
		width: 100%;
		margin: 0 0 10px;
	}
	.menu li a {
		padding: 15px 30px 15px 15px;
	}
	
	/* +++++++++++++++++++++++
	エピソード
	+++++++++++++++++++++++ */
	.e-text-l ,.e-text-r {
		float: none;
		width: auto;
	}
	/* box-goal */
	.box-goal {
		float: none;
		width: auto;
		max-width: initial;
		padding: 25px 25px 10px;
	}
	/* +++++++++++++++++++++++
	近日公開
	+++++++++++++++++++++++ */
	.comming-soon {
		padding: 30px 0;
	}
	.comming-soon .text {
		padding: 30px;
	}
	.comming-soon h2 {
		font-size: 150%;
	}
	
	/* +++++++++++++++++++++++
	フッター
	+++++++++++++++++++++++ */
	.footer .contents {
		padding: 15px 0;
	}
	.fotter-logo .item {
		display: table-cell;
		padding: 10px 20px;
		vertical-align: middle;
	}

}
@media (min-width: 961px) {
	#overlay {
		display: block !important;
	}
}
