@charset "utf-8";

body {
	background-color : #fff;
	color : #000;
	box-sizing : border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
	min-height : 100%;
}
img {
	vertical-align : top;
}
a {
	text-decoration : none;
}
a:hover img {
	transition-duration : .3s;
	opacity : 0.7;
}
.clearfix {
	*zoom: 1;
}
.clearfix:before,
.clearfix:after {
	display: table;
	line-height: 0;
	content: "";
}
.clearfix:after {
	clear: both;
}
.header_content .menu-button {
	cursor: pointer;
}
.headernavi {
	display: none;
}
@media screen and (max-width: 480px) {
}
@media screen and (max-width: 768px) {
	.pc-content {
		display: none!important;
	}
	html {
		font-size: 10px;
	}
	.wrapper {
		width: calc(100% - 32px);
		margin: 0 auto;
		overflow: hidden;
	}
	.header_content {
		width: calc(100% - 32px);
		margin: 2vw auto;
		display: table;
	}
	.header_content .social-icons {
		display: table-cell;
		text-align : left;
		width : 20vw;
	}
	.header_content .social-icons li {
		display: inline-block;
		height: 5.6vw;
		margin-right: 1.2vw;
	}
	.header_content .social-icons img {
		height: 100%;
		padding-top : 1.4vw;
	}
	.header_content .title-logo {
		display: table-cell;
		text-align : center;
		width : calc(60vw - 32px);
	}
	.header_content .title-logo .main {
		height: 8vw;
		display: inline-block;
	}
	.header_content .title-logo .sub {
		display: none;
	}
	.header_content .title-logo img {
		height: 100%;
	}
	.header_content .menu-button {
		display: table-cell;
		text-align : right;
		width : 20vw;
		height: 5.6vw;
	}
	.header_content .menu-button img {
		padding-top : 1.4vw;
		height: 100%;
	}
	.headernavi {
		width: calc(100% - 32px);
		margin: 0 auto;
		text-align: center;
	}
	.headernavi ul {
		display: table;
		margin: 0 auto;
	}
	.headernavi ul.page-select {
		padding-bottom: 1.6vw;
		border-bottom: 1px solid #000;
		margin-bottom: 2.4vw;
	}
	.headernavi ul.conutry-select {
		clear: both;
		margin-bottom: 2.4vw;
	}
	.headernavi ul li {
		display: table-cell;
		height: 3.8vw;
		padding-right: 2.4vw;
	}
	.headernavi ul li img {
		height: 100%;
	}
	.headernavi ul li:last-child {
		padding-right: 0;
	}
	.top_main-image {
		width: 100%;
		margin: 0 auto;
	}
	.top_main-image img {
		width: 100%;
	}
	.top_info {
		width: 100%;
		margin: 0 auto;
		text-align: center;
		font-size: 4.0vw;
		font-weight: bold;
		color: #fff;
		background-color: #000666;
		padding: 1.2vw 0;
	}
	#top_movies {
		width : 100%;
		margin-bottom: 6.4vw;
	}
	#top_movies li {
		margin-bottom: 2.4vw;
	}
	#top_movies li img {
		width : 100%;
	}
	#top_news {
		width: 100%;
		float: left;
		margin-bottom: 6.4vw;
	}
	#top_news ul {
		border-bottom: 1px solid #82766F;
	}
	#top_news ul li {
		padding: 1.4vw 0;
		border-bottom: 1px dotted #aaa;
	}
	#top_news ul li:last-child {
		border-bottom: 0;
	}
	#top_news ul li .date {
		width : 100%;
		font-size: 3.2vw;
		font-weight: bold;
		color: #000666;
		margin-bottom: 1.2vw;
	}
	#top_news ul li .content {
		font-size: 3.2vw;
		line-height: 4.0vw;
		padding : 0;
	}
	#top_news ul li .content img {
		display: block;
		margin: 0 0 0 0;
		height: 3.2vw;
		vertical-aligh: bottom;
	}
	#top_link {
		width: 100%;
		float: left;
		margin-bottom: 6.4vw;
	}
	#top_link ul {
		margin-bottom: 3.2vw;
	}
	#top_link ul li {
		padding: 1.4vw 0;
		border-bottom: 1px dotted #aaa;
		font-size: 2.8vw;
	}
	#top_link .featured {
		background-color: #F9F9F2;
		text-align: center;
		padding: 2.4vw;
	}
	#top_link .featured img {
		width : calc(50% - 2.4vw);
		margin : 0 0.6vw;
	}
	.top_content-section h2 {
		border-bottom: 1px solid #82766F;
		margin-bottom: 1.2vw;
		padding-bottom: 1.2vw;
	}
	.top_content-section h2 img {
		height: 8vw;
	}
	.content-lead {
		width: calc(100% - 32px);
		margin: 4vw auto 1.2vw auto;
		text-align: center;
	}
	.content-lead h1 {
		text-align: center;
		border-bottom: 1px solid #000;
		margin-bottom: 4vw;
		padding-bottom: 1.2vw;
	}
	.content-lead h1 img {
		height: 6.4vw;
	}
	.content-lead .profile-portrait {
		width : 100%;
	}
	.profile-chart {
		background-color: #F9F9F2;
		width: calc(100% - 64px);
		padding: 16px;
		margin: 0 auto 4.8vw auto;
	}
	.profile-chart h2 {
		text-align : center;
		font-size: 4.0vw;
		font-family: 'Noto Serif JP', serif;
		margin-bottom: 2.4vw;
	}
	.profile-chart table {
		width: 100%;
		font-size: 2.4vw;
		border-collapse: collapse;
		border-top: 2px solid #222;
		border-bottom: 2px solid #222;
		line-height: 2.8vw;
	}
	.profile-chart table tr {
		border-bottom: 1px solid #222;
	}
	.profile-chart table th {
		padding: 1.2vw;
		width: 20%;
		color: #000666;
	}
	.profile-chart table td {
		padding: 1.2vw;
	}
	.chronicle-chart {
		width: calc(100% - 32px);
		margin: 0 auto 4.8vw auto;
	}
	.chronicle-chart .cell {
		display: flex;
		flex-direction: column;
	}
	.chronicle-chart dl {
		order: 1;
		width: 100%;
	}
	.chronicle-chart dt {
		font-size: 2.4vw;
		font-family: 'Noto Serif JP', serif;
		font-weight: bold;
		font-style: italic;
		color: #a1a5c6;
		padding-bottom: 0.6vw;
		margin-bottom: 1.2vw;
		border-bottom: 1px solid #000;
		border-image: linear-gradient(to right, #000666 0%, #fff 100%) 1;
	}
	.chronicle-chart dt span {
		font-size: 4.8vw;
	}
	.chronicle-chart dd {
		margin-bottom: 4.0vw;
		font-size: 2.4vw;
		line-height: 3.2vw;
	}
	.chronicle-chart .image {
		order: 2;
		width: 64vw;
		margin: 2.0vw auto 3.2vw auto;
	}
	.chronicle-chart .image img {
		width: 100%;
	}
	.media-chart {
		width: calc(100% - 64px);
		margin: 0 auto 4.8vw auto;
		padding: 16px;
		background-color: #f2faff;
	}
	.media-chart h2 {
		text-align : center;
		font-size: 4.0vw;
		font-family: 'Noto Serif JP', serif;
		margin-bottom: 2.4vw;
		padding-bottom: 1.2vw;
		border-bottom: 1px solid #000;
		vertical-align: top;
	}
	.media-chart h2 span {
		color: #a1a5c6;
		font-size: 3.2vw;
	}
	.media-chart ul {
		width : 100%;
		font-size: 2.2vw;
		margin-bottom: 2.0vw;
	}
	.media-chart li {
		line-height: 2.8vw;
	}
	.media-chart h3 {
		font-size: 2.4vw;
		margin-bottom: 1.2vw;
	}
	.footer-text {
		width: 100%;
		margin: 12vw auto 1.2vw auto;
		font-size: 2.4vw;
		text-align: center;
		border-top: 1px solid #000;
		padding-top : 1.2vw;
	}
	.gallery-wall {
		width: 102%;
	}
	.gallery-wall li {
		width: 48.5%;
		margin: 0 1% 1% 0;
	}
	.gallery-wall li img {
		width: 100%;
	}
	.contact-form {
		background-color: #F9F9F2;
		width: calc(100% - 64px);
		padding: 16px;
		margin: 0 auto 4.0vw auto;
	}
	.contact-form h3 {
		font-size: 2.4vw;
		background-color: #ffd0d0;
		padding: 0.4vw;
		margin-bottom: 0.8vw;
	}
	.contact-form input {
		width: calc(100% - 18px);
		border: 1px solid #aaa;
		font-size: 2.4vw;
		padding: 8px;
		margin-bottom: 32px;
	}
	.contact-form textarea {
		height: 240px;
		width: calc(100% - 18px);
		border: 1px solid #aaa;
		font-size: 2.4vw;
		padding: 8px;
	}
	.contact-form .form-buttons {
		margin-top: 2.4vw;
		text-align: center;
	}
	.contact-form button {
		display: inline-block;
		border-radius: 8px;
		font-size: 1.8rem;
		text-align: center;
		cursor: pointer;
		padding: 8px 32px;
		background: #1a1aff;
		color: #ffffff;
		line-height: 1em;
		transition: .3s;
		border: 2px solid #1a1aff;
	}	
	.contact-form button:hover {
		color: #1a1aff;
		background: #ffffff;
	}
	.contact-form .form-error {
		font-size: 1.8rem;
		text-align: center;
		color: #f00;
		font-weight: bold;
		margin-bottom: 24px;
	}
	.contact-form .form-thanks {
		font-size: 1.8rem;
		text-align: center;
		color: #000;
		font-weight: bold;
		margin-bottom: 24px;
	}
}
@media screen and (min-width: 769px) {
	.sp-content {
		display: none!important;
	}
	.header_content .social-icons img {
		height: 100%;
	}
	.header_content .title-logo {
		display: table-cell;
		text-align : center;
	}
	.header_content .title-logo img, .header_content .menu-button img {
		height: 100%;
	}
	.headernavi ul li img {
		height: 100%;
	}
	.headernavi ul li:last-child {
		padding-right: 0;
	}
	.top_main-image img {
		width: 100%;
	}
	#top_news ul {
		border-bottom: 1px solid #82766F;
	}
	#top_news ul li:last-child {
		border-bottom: 0;
	}
	.top_content-section h2 {
		border-bottom: 1px solid #82766F;
		margin-bottom: 2px;
		padding-bottom: 4px;
	}
	#top_link .featured {
		background-color: #F9F9F2;
		text-align: center;
	}
	.profile-chart table {
		width: 100%;
		font-size: 1.6rem;
		border-collapse: collapse;
		border-top: 2px solid #222;
		border-bottom: 2px solid #222;
		line-height: 2.2rem;
	}
	.profile-chart table tr {
		border-bottom: 1px solid #222;
	}
	.chronicle-chart .cell {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
	}
	.chronicle-chart dt {
		font-size: 1.8rem;
		font-family: 'Noto Serif JP', serif;
		font-weight: bold;
		font-style: italic;
		color: #a1a5c6;
		padding-bottom: 8px;
		margin-bottom: 8px;
		border-bottom: 1px solid #000;
		border-image: linear-gradient(to right, #000666 0%, #fff 100%) 1;
	}
	.chronicle-chart dt span {
		font-size: 3.2rem;
	}
	.chronicle-chart dd {
		margin-bottom: 32px;
		font-size: 1.6rem;
		line-height: 2.2rem;
	}
	.media-chart h2 span {
		color: #a1a5c6;
		font-size: 1.8rem;
	}
	.media-chart ul {
		width : 100%;
		font-size: 1.6rem;
		margin-bottom: 20px;
	}
	.media-chart li {
		float: left;
		min-width: 50%;
		line-height: 2.2rem;
	}
	.media-chart h3 {
		font-size: 1.6rem;
		margin-bottom: 8px;
	}
	.gallery-wall {
		width: 102%;
	}
	.gallery-wall li {
		width: 32%;
		margin: 0 1% 1% 0;
	}
	.gallery-wall li img {
		width: 100%;
	}
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
	html {
		font-size: 9px;
	}
	.wrapper {
		width: calc(100% - 32px);
		margin: 0 auto;
		overflow: hidden;
	}	
	.header_content {
		width: calc(100% - 32px);
		margin: 24px auto;
		display: table;
	}
	.header_content .social-icons {
		display: table-cell;
		text-align : left;
		width : 20vw;
	}
	.header_content .social-icons li {
		display: inline-block;
		height: 4vw;
		margin-right: 0.8vw;
	}
	.header_content .title-logo .main, .header_content .title-logo .sub {
		height: 4vw;
		display: inline-block;
	}
	.header_content .menu-button {
		display: table-cell;
		text-align : right;
		width : 20vw;
		height: 4vw;
	}
	.headernavi {
		width: calc(100% - 32px);
		margin: 0 auto;
		text-align: right;
	}
	.headernavi ul {
		float: right;
		display: table;
	}
	.headernavi ul.page-select {
		padding-bottom: 1.6vw;
		border-bottom: 1px solid #000;
		margin-bottom: 2.4vw;
	}
	.headernavi ul.conutry-select {
		clear: both;
		margin-bottom: 2.4vw;
	}	
	.headernavi ul li {
		display: table-cell;
		height: 2.4vw;
		padding-right: 2.4vw;
	}
	.top_main-image {
		width: calc(100% - 32px);
		margin: 0 auto;
	}
	.top_info {
		margin: 0 auto;
		text-align: center;
		font-size: 2.2rem;
		font-weight: bold;
		color: #fff;
		background-color: #000666;
		padding: 6px 0;
	}
	#top_movies {
		width : 20vw;
		float: right;
	}
	#top_movies li {
		margin-bottom: 1.2vw;
	}
	#top_movies li img {
		width : 100%;
	}
	#top_news {
		width: calc(72vw - 32px);
		float: left;
		margin-bottom: 3.2vw;
	}
	#top_news ul li {
		padding: 1.2vw 0;
		border-bottom: 1px dotted #aaa;
	}
	#top_news ul li .date {
		float: left;
		width : 10vw;
		font-size: 1.4vw;
		font-weight: bold;
		color: #000666;
	}
	#top_news ul li .content {
		float: left;
		width: calc(100% - 10vw);
		font-size: 1.4vw;
		padding: 0;
	}
	#top_news ul li .content img {
		float: left;
		margin: 0 4px 0 0;
		height: 1.4vw;
		vertical-aligh: bottom;
	}
	#top_link {
		width: calc(72vw - 32px);
		float: left;
		margin-bottom: 3.2vw;
	}
	.top_content-section h2 img {
		height: 3.2vw;
	}
	#top_link ul {
		margin-bottom: 3.2vw;
	}
	#top_link ul li {
		padding: 1.2vw 0;
		border-bottom: 1px dotted #aaa;
	}
	#top_link .featured img {
		width : 40%;
		padding : 2.4vw 1.2vw;
	}
	.content-lead {
		width: calc(100% - 32px);
		margin: 40px auto 16px auto;
		text-align: center;
	}
	.content-lead h1 {
		text-align: center;
		border-bottom: 1px solid #000;
		margin-bottom: 40px;
		padding-bottom: 8px;
	}
	.content-lead h1 img {
		height: 3.2vw;
	}
	.content-lead .profile-portrait {
		width : max(640px, 64vw);
	}
	.profile-chart {
		background-color: #F9F9F2;
		width : max(576px, calc(64vw - 64px));
		padding: 32px;
		margin: 0 auto 40px auto;
	}
	.profile-chart h2 {
		text-align : center;
		font-size: 2.4rem;
		font-family: 'Noto Serif JP', serif;
		margin-bottom: 20px;
	}
	.profile-chart table {
		font-size: min(1.6vw, 1.8rem);
	}
	.profile-chart table th {
		padding: 1.4vw;
		width: 10vw;
		color: #000666;
	}
	.profile-chart table td {
		padding: 1.4vw 1.4vw 1.4vw 0;
	}
	.chronicle-chart {
		width: min(960px, calc(100% - 32px));
		margin: 0 auto 40px auto;
	}
	.chronicle-chart dl {
		width: 75%;
	}	
	.chronicle-chart .image {
		width: 25%;
		margin-bottom: 20px;
	}
	.chronicle-chart .image img {
		width: 90%;
	}
	.media-chart {
		width: min(880px, calc(100% - 96px));
		padding: 32px;
		margin: 0 auto 40px auto;
		background-color: #f2faff;
	}
	.media-chart h2 {
		text-align : center;
		font-size: 2.4rem;
		font-family: 'Noto Serif JP', serif;
		margin-bottom: 20px;
		padding-bottom: 10px;
		border-bottom: 1px solid #000;
		vertical-align: top;
	}
	.footer-text {
		width: 100%;
		margin: 8vw auto 1.6vw auto;
		font-size: 1.4vw;
		text-align: center;
		border-top: 1px solid #000;
		padding-top : 1.2vw;
	}
	.contact-form {
		background-color: #F9F9F2;
		width: min(800px, calc(100% - 112px));
		padding: 40px;
		margin: 0 auto 48px auto;
	}
	.contact-form h3 {
		font-size: 1.6rem;
		background-color: #ffd0d0;
		padding: 4px;
		margin-bottom: 4px;
	}
	.contact-form input {
		width: calc(100% - 18px);
		border: 1px solid #aaa;
		font-size: 1.6rem;
		padding: 8px;
		margin-bottom: 32px;
	}
	.contact-form textarea {
		height: 240px;
		width: calc(100% - 18px);
		border: 1px solid #aaa;
		font-size: 1.6rem;
		padding: 8px;
	}
	.contact-form .form-buttons {
		margin-top: 24px;
		text-align: center;
	}
	.contact-form button {
		display: inline-block;
		border-radius: 8px;
		font-size: 1.8rem;
		text-align: center;
		cursor: pointer;
		padding: 8px 32px;
		background: #1a1aff;
		color: #ffffff;
		line-height: 1em;
		transition: .3s;
		border: 2px solid #1a1aff;
	}	
	.contact-form button:hover {
		color: #1a1aff;
		background: #ffffff;
	}
	.contact-form .form-error {
		font-size: 1.8rem;
		text-align: center;
		color: #f00;
		font-weight: bold;
		margin-bottom: 24px;
	}
	.contact-form .form-thanks {
		font-size: 1.8rem;
		text-align: center;
		color: #000;
		font-weight: bold;
		margin-bottom: 24px;
	}
}
@media screen and (min-width: 1281px) {
	html {
		font-size: 10px;
	}
	.wrapper {
		width: 1200px;
		margin: 0 auto;
		overflow: hidden;
	}
	.header_content {
		width: 1200px;
		margin: 24px auto;
		display: table;
	}
	.header_content .social-icons {
		display: table-cell;
		text-align : left;
		width : 160px;
	}
	.header_content .social-icons li {
		display: inline-block;
		height: 40px;
		margin-right: 12px;
	}
	.header_content .title-logo .main, .header_content .title-logo .sub {
		height: 40px;
		display: inline-block;
	}
	.header_content .menu-button {
		display: table-cell;
		text-align : right;
		width : 160px;
		height: 40px;
	}
	.headernavi {
		width: 1200px;
		margin: 0 auto;
		text-align: right;
	}
	.headernavi ul {
		float: right;
		display: table;
	}
	.headernavi ul.page-select {
		padding-bottom: 16px;
		border-bottom: 1px solid #000;
		margin-bottom: 24px;
	}
	.headernavi ul.conutry-select {
		clear: both;
		margin-bottom: 28px;
	}
	.headernavi ul li {
		display: table-cell;
		height: 24px;
		padding-right: 32px;
	}
	.top_main-image {
		width: 1200px;
		margin: 0 auto;
	}
	.top_info {
		width: 1200px;
		margin: 0 auto;
		text-align: center;
		font-size: 2.2rem;
		font-weight: bold;
		color: #fff;
		background-color: #000666;
		padding: 6px 0;
	}
	#top_movies {
		width : 320px;
		float: right;
	}
	#top_movies li {
		margin-bottom: 16px;
	}
	#top_news {
		width: 832px;
		float: left;
		margin-bottom: 48px;
	}
	#top_news ul li {
		padding: 8px 0;
		border-bottom: 1px dotted #aaa;
	}
	#top_news ul li .date {
		float: left;
		width : 120px;
		font-size: 1.6rem;
		font-weight: bold;
		color: #000666;
	}
	#top_news ul li .content {
		float: left;
		width: calc(100% - 120px);
		font-size: 1.4rem;
		padding : 0.1rem 0;
	}
	#top_news ul li .content img {
		float: left;
		margin: 0 4px 0 0;
		height: 1.6rem;
		vertical-aligh: bottom;
	}
	#top_link {
		width: 832px;
		float: left;
		margin-bottom: 48px;
	}
	.top_content-section h2 img {
		height: 36px;
	}
	#top_link ul {
		margin-bottom: 24px;
	}
	#top_link ul li {
		padding: 8px 0;
		border-bottom: 1px dotted #aaa;
	}
	#top_link .featured img {
		width : 320px;
		padding : 16px 8px;
	}
	.content-lead {
		width: 1200px;
		margin: 40px auto 16px auto;
		text-align: center;
	}
	.content-lead h1 {
		text-align: center;
		border-bottom: 1px solid #000;
		margin-bottom: 48px;
		padding-bottom: 8px;
	}
	.content-lead h1 img {
		height: 40px;
	}
	.content-lead .profile-portrait {
		width : 800px;
	}
	.profile-chart {
		background-color: #F9F9F2;
		width: 640px;
		padding: 40px;
		margin: 0 auto 48px auto;
	}
	.profile-chart h2 {
		text-align : center;
		font-size: 2.4rem;
		font-family: 'Noto Serif JP', serif;
		margin-bottom: 24px;
	}
	.profile-chart table th {
		padding: 12px;
		width: 120px;
		color: #000666;
	}
	.profile-chart table td {
		padding: 12px;
	}
	.chronicle-chart {
		width: 960px;
		margin: 0 auto 48px auto;
	}
	.chronicle-chart dl {
		width: 720px;
	}
	.chronicle-chart .image {
		width: 240px;
		margin-bottom: 24px;
	}
	.chronicle-chart .image img {
		width: 90%;
	}
	.media-chart {
		width: 880px;
		padding: 40px;
		margin: 0 auto 48px auto;
		background-color: #f2faff;
	}
	.media-chart h2 {
		text-align : center;
		font-size: 2.4rem;
		font-family: 'Noto Serif JP', serif;
		margin-bottom: 24px;
		padding-bottom: 12px;
		border-bottom: 1px solid #000;
		vertical-align: top;
	}
	.contact-form {
		background-color: #F9F9F2;
		width: 800px;
		padding: 40px;
		margin: 0 auto 48px auto;
	}
	.contact-form h3 {
		font-size: 1.6rem;
		background-color: #ffd0d0;
		padding: 4px;
		margin-bottom: 4px;
	}
	.contact-form input {
		width: calc(100% - 18px);
		border: 1px solid #aaa;
		font-size: 1.6rem;
		padding: 8px;
		margin-bottom: 32px;
	}
	.contact-form textarea {
		height: 240px;
		width: calc(100% - 18px);
		border: 1px solid #aaa;
		font-size: 1.6rem;
		padding: 8px;
	}
	.contact-form .form-buttons {
		margin-top: 24px;
		text-align: center;
	}
	.contact-form button {
		display: inline-block;
		border-radius: 8px;
		font-size: 1.8rem;
		text-align: center;
		cursor: pointer;
		padding: 8px 32px;
		background: #1a1aff;
		color: #ffffff;
		line-height: 1em;
		transition: .3s;
		border: 2px solid #1a1aff;
	}	
	.contact-form button:hover {
		color: #1a1aff;
		background: #ffffff;
	}
	.contact-form .form-error {
		font-size: 1.6rem;
		text-align: center;
		color: #f00;
		font-weight: bold;
		margin-bottom: 24px;
	}
	.contact-form .form-thanks {
		font-size: 1.6rem;
		text-align: center;
		color: #000;
		font-weight: bold;
		margin-bottom: 24px;
	}
	.footer-text {
		width: 1200px;
		margin: 40px auto 16px auto;
		font-size: 1.3rem;
		text-align: center;
		border-top: 1px solid #000;
		padding-top : 12px;
	}
}