/*----------------------------------------
** GREEN BOOK
** 2019.3.1 ROADSHOW
** for about.html
----------------------------------------*/
body {
	overflow-x: hidden;
}

img {
	max-width: 100%;
	vertical-align: top;
	margin: 0;
	padding: 0;
}
img[src$=".svg"] {
	max-width: 100%;
	width: 100%; /* IE対応 */
	height: auto;
}


#wrapper {
	width: 100%;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 87.5%;
	min-width: 1200px;
	margin: 0 auto;
}

@media screen and (max-width:768px){
	#wrapper {
		min-width: 100%;
	}
}

section {
	width: 100%;
	position: relative;
}

section img {
	width: 100%;
}

.nav {

}

.award {
	position: relative;
	z-index: 2;
}
.award h2 {
	position: absolute;
	top: 3%;
	left: 17%;
	width: 66%;
}

@media screen and (max-width:768px){
	.award h2 {
		top: 4%;
		left: 8.4%;
		width: 83.2%;
	}
}

.bg {
	height: 50vh;
}

.bg img {
	display: none;
}

.bg.bg1 {
	background: url("../img/full/bg_fixed1.jpg") center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

.bg.bg2 {
	background: url("../img/full/bg_fixed2.jpg") center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

.bg.bg3 {
	background: url("../img/full/bg_fixed3.jpg") center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

@media screen and (max-width:768px){
	.bg {
		height: auto;
	}
	
	.bg img {
		display: block;
		width: 100%;
	}

	.bg.bg1,
	.bg.bg2,
	.bg.bg3 {
		background: none;
	}
}

.intro {
	color: #08958a;
	font-size: 16px;
	line-height: 1.8;
	border-top: 25px solid #08958a;
	background: #eee9da;
}

.intro h2 {
	width: 50%;
	margin: 0 0 3em;
	padding: 0;
	line-height: 1;
	font-size: 16px;
}

.intro h3 {
	width: 100%;
	margin: 0 0 2em;
	padding: 0;
}

.intro > .inner {
	max-width: 1500px;
	margin: 0 auto;
	padding: 6.5%;
}

.intro .inner > .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.intro .wrap .box {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	width: 47%;
	margin: 0;
}

.intro .gb {
	margin-top: 3em;
}

.intro .gb.pc {
	display: block;
}

.intro .gb.sp {
	display: none;
}

.intro .gb.pc .gbWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	background: #fff;
}

.intro .gb.pc .ph {
	width: 40%;
}
.intro .gb.pc .tx {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	width: 60%;
	padding: 3%;
	font-size: 13px;
}
.intro .gb .tx p {
	font-size: 15px;
	font-weight: bold;
}
.intro .gb .tx span {
	display: block;
	height: 1px;
	margin: 2% 0;
	background: #08958a;
}

.intro .gb.pc .tx span {
	width: 100%;
}

@media screen and (max-width:768px){
	.intro h2 {
		width: 75%;
		margin: 0 auto 1em;
		padding: 0;
	}
	.intro h3 {
		margin: 0 0 1em;
	}
	.intro > .inner {
		padding: 12% 5%;
	}
	.intro .wrap .box {
		width: 100%;
		margin-top: 1em;
	}
	.intro .gb.pc {
		display: none;
	}
	.intro .gb.sp {
		display: block;
	}
	.intro .gb.sp .tx {
		padding: 6%;
		background: #fff;
	}
	.intro .gb.sp .tx span {
		width: 70%;
		margin: 5% auto;
	}
}

.story {
	color: #08958a;
	font-size: 16px;
	line-height: 1.8;
	border-bottom: 25px solid #08958a;
	background: #eee9da;
}
.story h2 {
	width: 21.7%;
	margin: 0 0 3em 78.3%;
	padding: 0;
	line-height: 1;
	font-size: 16px;
}
.story > .inner {
	max-width: 1500px;
	margin: 0 auto;
	padding: 6.5% 6.5% 3%;
}
.story .inner > .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.story .wrap .box {
	position: relative;
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	width: 47%;
	margin: 0;
}
.story .wrap .box img {
	position: relative;
	display: block;
	width: 56%;
}
.story .wrap .box img:nth-of-type(1) {
	margin: -20% 0 0 -7%;
	z-index: 1;
}
.story .wrap .box img:nth-of-type(2) {
	margin: -18% 0 0 46%;
	z-index: 2;
}
.story .wrap .box img:nth-of-type(3) {
	margin: -5% 0 0 -1%;
	z-index: 3;
}
.story .car {
	display: block;
	width: 12.66%;
	margin: 0 0 0 70%;
}

@media screen and (max-width:768px){
	.story h2 {
		width: 32%;
		margin: 0 auto 1em;
		padding: 0;
	}
	.story > .inner {
		padding: 12% 5% 6%;
	}
	.story .wrap .box {
		width: 100%;
		margin-top: 2em;
	}
	.story .wrap .box:nth-of-type(1) {
		order: 2;
	}
	.story .wrap .box:nth-of-type(2) {
		order: 1;
	}
	.story .wrap .box img {
		width: 52%;
	}
	.story .wrap .box img:nth-of-type(1) {
		margin: 0;
		z-index: 1;
	}
	.story .wrap .box img:nth-of-type(2) {
		margin: -18% 0 0 48%;
		z-index: 2;
	}
	.story .wrap .box img:nth-of-type(3) {
		margin: -5% 0 0 5%;
		z-index: 3;
	}
	.story .car {
		width: 35.7%;
		margin: 0 0 0 60%;
	}
}

.caststaff {
	/*padding-top: 25vh;*/
	background: url("../img/full/bg_fixed4.jpg") center bottom no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
.caststaff > .inner {
	padding: 10% 6.5%;
	background: rgba(8,149,138,.7);
}

@media screen and (max-width:768px){
	.caststaff {
		/*padding-top: 20vh;*/
		background: url("../img/full/bg_sp4.jpg") center bottom no-repeat;
		background-size: cover;
		background-attachment: scroll;
	}
	.caststaff > .inner {
		padding: 10% 5%;
	}
}

.cast .inner {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 4% 15%;
}
.cast h2 {
	width: 19%;
	margin: 0 auto 3em;
}
.cast .wrap,
.staff .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.cast .card,
.staff .card {
	position: relative;
	width: 31%;
	margin: 0 1% 5%;
}
.cast .card a,
.staff .card a {
	display: block;
	width: 100%;
	border: 1px solid #fff8c4;
	box-shadow: 10px 10px 10px rgba(0,0,0,.2);
	overflow: hidden;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
.cast .card a:hover,
.staff .card a:hover {
	border: 1px solid #23a197;
}
.cast .card a img,
.staff .card a img {
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
.cast .card a:hover img:nth-of-type(1),
.staff .card a:hover img:nth-of-type(1) {
	transform: scale(1.25);
	filter: brightness(50%);
}
.cast .card a + .arrow,
.staff .card a + .arrow {
	position: relative;
	width: 40px;
	height: 40px;
	margin: -20px auto 0;
	background: url("../img/full/caststaff_arrow.svg") center center no-repeat;
}
.cast .card a:hover + .arrow,
.cast .card a + .arrow:hover,
.staff .card a:hover + .arrow,
.staff .card a + .arrow:hover {
	background: url("../img/full/caststaff_arrow_on.svg") center center no-repeat;
}
.cast .card .name {
	margin-top: 1em;
	color: #fff8c4;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}
.cast .card .chara {
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}

.staff .inner {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 4% 4%;
}
.staff h2 {
	width: 24%;
	margin: 0 auto 3em;
}
.staff .card .title {
	margin-top: 1.5em;
	color: #fff8c4;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}
.staff .card .name {
	color: #fff8c4;
	font-size: 21px;
	font-weight: 700;
	text-align: center;
}
.staff .tab {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 47%;
	margin: 0 1.5% 3%;
	padding: 2%;
	color: #fff8c4;
	border: 1px solid #fff8c4;
	border-left: 10px solid #fff8c4;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.staff .tab::after {
	content: "＞";
	position: absolute;
	top: 50%; 
	right: 1em;
	font-size: 16px;
	font-weight: 700;
	line-height: 30px;
	transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.staff .tab:hover {
	background: rgba(255,248,196,.2);
}
.staff .tab:hover::after {
	right: 0.25em;
}
.staff .tab .title {
	width: 34%;
	padding: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 30px;
}
.staff .tab .name {
	width: 66%;
	padding: 0 0 0 1em;
	font-size: 21px;
	font-weight: 700;
}


@media screen and (max-width:768px){
	.cast .inner {
		padding: 5% 0 10%;
	}
	.cast h2 {
		width: 32%;
		margin: 0 auto 1em;
	}
	.cast .card,
	.staff .card {
		width: 100%;
		margin: 0 0 10%;
	}
	.staff .inner {
		padding: 5% 0 4%;
	}
	.staff h2 {
		width: 41%;
		margin: 0 auto 1em;
	}
	.staff .tab {
		width: 100%;
		margin: 0 0% 4%;
		padding: 2% 4%;
	}
	.staff .tab .title {
		width: 100%;
		padding: 0;
		font-size: 14px;
		font-weight: 700;
		line-height: 30px;
	}
	.staff .tab .name {
		width: 100%;
		padding: 0;
		font-size: 21px;
		font-weight: 700;
	}
}

.ft {
	position: relative;
}
.ft h2 {
	position: absolute;
	top: 8%;
	left: 34%;
	width: 32%;
}

@media screen and (max-width:768px){
	.ft h2 {
		position: absolute;
		top: 4%;
		left: 9%;
		width: 82%;
	}
}
