@charset "UTF-8";

/*
	1-1.Yahoo UI Library Fonts CSS
	http://developer.yahoo.com/yui/fonts/
	*Copyright (c) 2006, Yahoo! Inc. All rights reserved.
	*http://developer.yahoo.com/yui/license.txt

	Font-size Adjustment
	
	77% = 10px	| 	122% = 16px	|	167% = 22px	
	85% = 11px	|	129% = 17px	|	174% = 23px
	92% = 12px	|	136% = 18px	|	182% = 24px
	100% = 13px	|	144% = 19px	|	189% = 25px
	107% = 14px	|	152% = 20px	|	197% = 26px
	114% = 15px	|	159% = 21px	|

*/

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	img {
 	image-rendering: -webkit-optimize-contrast;
	}
}

/* @group Reset Style */

body {
	background: transparent;
	-webkit-text-size-adjust: 100%;
	}

 
body,
h1,h2,h3,h4,h5,h6,
p,
blockquote,
div,
dl,dt,dd,
ul,ol,li,
pre,code,
form,fieldset,legend,input,textarea,
th,td {
	margin:0;
	padding:0;
	font-size: 100%;
	}

table {
	border-collapse: collapse;
	border-spacing:0;
	}

fieldset,img {
	border:0;
	}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style: normal;
	font-weight: normal;
	}

li {
	list-style: none;
	list-style-position: outside;
	}

caption,th {
	text-align: left;
	}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
	font-weight: normal;
	}

q:before,q:after {
	content:'';
	}

abbr,acronym {
	border:0;
	font-variant:normal;
	}

sup,sub {
	line-height: 1px;
	vertical-align: text-top;
	}

sub {
	vertical-align: text-bottom;
	}

input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	}


	
/* @end */

/* @group Structure elements */

html {
	height: 100%;
}

body {
	min-height: 100%;
	height: 100%;
	color: #303030;
	font-size: 13px;
	font-family : '游明朝体', YuMincho, 'Yu Mincho', 'Noto Serif JP', serif;
	line-height: 1;
	letter-spacing: 0.05em;
	}

body.chapter,
body.person {
	background: url(../images/page_bg_pc.jpg) repeat 0 0;
	background-size:100% 100vh;
	background-position: 0 90%;  	
	}

body.chapter.chapter-3 {
	background: url(../images/page_bg_kent.jpg) repeat 0 0;
	}


/* @end */


/* @group Text Module */


strong {
	font-weight: bold;
	}

.uppercase {
	text-transform: uppercase;
	}

.bullet {
	font-family: "Lucida Grande", Lucida, Verdana, sans-serif;
	}

.notice {
	}

.require {
	}

.lang-ja {
	/*font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',
				 'Meiryo','メイリオ','Osaka','ＭＳ Ｐゴシック',sans-serif;*/
	}

.lang-en {
	font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;	
	}

.lang-cn {
	font-family: 'Hei Regular','SimHei',sans-serif;
	}

.font-sans-serif {
	font-family: '游ゴシック体', YuGothic,'Yu Gothic',sans-serif;
	}
	
sup {
	font-size: 77%;
	line-height: 0.8;
	}

.registered-trademark {
	}

#copyright,
.copyright-sign {
	font-family: 'Roboto', sans-serif;	
	}


/* @end */


/* @group Hypertext Module */

a {
	color: #5e5e5e;
	text-decoration: underline;
	outline: none;
	/*-webkit-tap-highlight-color: rgba(0,0,0,0.40);*/ 
	}

a:link {
	}

a:visited {
	}

a:hover {
	text-decoration: none;
	}

a:active {
	}

a img {
	transition: 0.2s ;
}

a:hover img {
	/*opacity: 0.8;*/
}


/* @end */

/* @group Modules */

/* @group clearfix */

.clearfix:before,
.clearfix:after,
.columns-row:before,
.columns-row:after {
	content: "";
	display: block;
	overflow: hidden;
	}

.clearfix:after,
.columns-row:after {
	clear: both;
	}

/* For IE 6/7 (trigger hasLayout) */
.clearfix,
.columns-row {
	zoom: 1;
	}

/* @end */

/* @group column */

.columns-row:before,
.columns-row:after {
	content: "";
	display: block;
	overflow: hidden;
	}

.columns-row:after {
	clear: both;
	}

.columns-row {
	zoom: 1;
	}

.columns-row .column-left {
	float: left;
	}

.columns-row .column-right {
	float: right;
	}

/* @end */

/* @group separator */

div.separator {
	}

div.separator hr {
	display: none;
	}

.fluid-gap {
	display: none;
	}

div.fluid-gap hr {
	display: none;
	}


/* @end */
/* @end */

/* @group Structure */

body * {
    transition: all 0.3s 0;
	}

.navigation {
	display: none;
	opacity: 0;
	}

body.drawer-open .navigation {
	display: block;
	opacity: 1;
	animation-duration: 0.5s;
	animation-name: fade-in;
	}

.text-align-left {
	text-align: left;
	}

/* @group format-chapter */

.format-chapter {
	max-width: 1100px;
	}

.format-chapter.chapter-2,
.format-chapter.chapter-3 {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	}

.format-chapter .text-std {
	margin: 0 0 1em;
	text-align: justify;
	}

.format-chapter .text-std:last-of-type {
	margin: 0 0 0;
	}

.format-chapter .header {
	overflow: hidden;
	max-width: 920px;
	padding: 142px 0 285px;
	}

.format-chapter .header .hgroup {
	float: right;
	width: 167px;
	margin: 0 0 0 103px;
	text-align: center;
	}

.format-chapter .header .image {
	margin: 94px 0 0;
	}

.format-chapter .header .image img {
	width: 213px;
	height: auto;
	}

.format-chapter .header .heading-root {
	margin: 0 0 120px;
	}

.format-chapter .header .toc {
	float: right;
	}

.format-chapter .header .toc ul {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	}

.format-chapter.chapter-1 .header .toc ul {
	width: 376px;
	}

.format-chapter.chapter-2 .header .toc ul {
	width: 237px;
	}

.format-chapter.chapter-3 .header .toc ul {
	width: 220px;
	}

.format-chapter.chapter-1 .header .toc img {
	height: 436px;
	}

.format-chapter.chapter-2 .header .toc img {
	height: 404px;
	}

.format-chapter.chapter-3 .header .toc img {
	height: 506px;
	}


.format-chapter .heading-large {
	display: block;
	margin: 0 0 56px;
	}

.format-chapter .heading-large img {
	display: block;
	}

.format-chapter .image img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 0 0 auto;
	}

.format-chapter .image-group {
	display: inline-block;
	}

.format-chapter .image-group .image {
	}

.format-chapter .image-group.image-group-double {
	margin: 0 0 3em;
	}

.format-chapter .image-group.image-group-double .image {
	margin: 0 0 0.3em;
	}

.format-chapter .image-group .caption {
	margin: 1em 0 0;
	text-align: right;
	font-size: 12px;
	line-height: 1.6;
	}

.format-chapter .image-group.image-group-quad {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	}

.format-chapter .image-group.image-group-quad .image {
	width: 49.5%;
	margin: 0 0 1%;
	}

.format-chapter .excerpt {
	margin: 60px 0 0;
	padding: 40px 30px;
	background: #e7e7e7;
	}

.format-chapter .excerpt .heading {
	margin: 0 0 1em;
	font-size: 16px;
	text-align: left;
	}

.format-chapter .unit-right {
	text-align: right;
	}

.format-chapter .unit-right .text-align-left {
	text-align: justify;
	}

.format-chapter .unit-right .column {
	display: inline-block;
	margin: 0 0 50px;
	vertical-align: top;
	}

.format-chapter .unit-right .column.mb-140 {
	margin: 0 0 140px;
	}

.format-chapter .unit-right .column:nth-of-type(2) {
	margin: 0 0 0 56px;
	}

.format-chapter .unit-right.trailer .column {
	text-align: left;
	}

.format-chapter .unit-right.trailer .column .heading-large {
	margin: 40px 0 0;
	}

.format-chapter .pagination .unit-columns.unit-right {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	}

.format-chapter .pagination .unit-columns.unit-right .column {
	min-width: 30%;
	margin: 0 20px 0 0;
	}

.format-chapter .pagination .unit-columns.unit-right .column:last-of-type {
	margin: 0;
	}

.format-chapter .pagination .unit-columns.unit-right .column .heading-large {
	margin: 40px 0 0;
	}

.format-chapter .pagination .unit-columns.unit-right .column .heading-large img {
	display: inline;
	max-width: 292px;
	width: 100%;
	height: auto;
	}

.format-chapter .pagination a {
	display: block;
	}

.format-chapter .pagination a:hover {
	opacity: 0.8;
	}


.format-chapter .unit-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	text-align: right;
	}


.format-chapter .unit-flex .column {
	display: inline-block;
	}

.format-chapter .unit-flex .column.align-flex-start {
	align-self: flex-start;
	}

.format-chapter.chapter-3 #section-1 .content-space-between {
	justify-content: space-between;
	}

.format-chapter .unit-flex .column:nth-of-type(2)::before {
	/*content: '';
	display: block;
	width: 100%;
	min-height: 87px;
	max-height: 118px;
	height: calc(800px - 100vw);
	margin: 0 0 0;
	background: red;
	opacity: 0.5;*/
	}

.format-chapter .unit-flex .column:nth-of-type(2) {
	margin: 110px 0 110px 56px;
	}

.format-chapter .unit-flex .column.align-flex-start:nth-of-type(2) {
	margin: 0 0 0 56px;
	}

.format-chapter .unit-single .column {
	width: 46vw;
	min-width: 402px;
	max-width: 100%;
	}

.format-chapter .unit-single .column.mx-996 {
	width: auto;
	max-width: 100%;
	}

.format-chapter .unit-single .column.mx-1100 {
	width: auto;
	max-width: 100%;
	}

.format-chapter .mx-255 {
	max-width: 255px;
	}

.format-chapter .mx-338 {
	max-width: 338px;
	}

.format-chapter .mx-600 {
	max-width: 600px;
	}

.format-chapter .mx-996 {
	max-width: 996px;
	}

.format-chapter .mx-1100 {
	max-width: 1100px;
	margin-bottom: 120px;
	}


.format-chapter .mt-90 {
	margin-top: 90px;
	}

.format-chapter .mt-120 {
	margin-top: 120px;
	}

.format-chapter .mt-n20 {
	margin-top: -20px;
	}

.format-chapter .mt-n140 {
	margin-top: -140px;
	}

.format-chapter .mt-n230 {
	margin-top: -230px;
	}
	
.format-chapter .mt-n338 {
	margin-top: -338px;
	}

.format-chapter .mb-60 {
	margin-bottom: 60px;
	}

.format-chapter .mb-140 {
	margin-bottom: 140px;
	}

.format-chapter .mb-200 {
	margin-bottom: 200px;
	}

.format-chapter .mb-300 {
	margin-bottom: 300px;
	}

.format-chapter .mb-400 {
	margin-bottom: 400px;
	}

.format-chapter .mb-b-146::before {
	/*content: '';
	display: block;
	width: 10px;
	height: 10vw;
	min-height: 22px;
	max-height: 146px;
	background: red;
	opacity: 0.5;*/
	}

.format-chapter #pagetop .column {
	width:292px;
}


/* ### id に変えて作り込む */
.format-chapter .fluid-gap.h-50 {
	display: block;
	width: 100%;
	min-height: 10px;
	height: calc(900px - 100vw);
	margin: 0 0 0;
	/*background: red;
	opacity: 0.5;*/
	}

/* @end */

/* @group format-person */

.format-person {
	}

.format-person .text-std {
	text-align: justify;
	}

.format-person .header {
	max-width: 860px;
	padding: 230px 0 240px;
	}

.format-person .header .hgroup {
	width: 318px;
	margin: 0 100px 0;
	}

.format-person .heading-large {
	display: block;
	}

.format-person .heading-large img {
	display: block;
	}

.format-person .section {
	max-width: 860px;
	margin: 0 0 240px;
	}

.format-person .section .unit-columns {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: flex-start;
	box-sizing: border-box;
	width: 100%;
	}

.format-person .section .heading-large {
	margin: 0 0 60px;
	}

.format-person .section .column-left {
	max-width: 208px;
	margin: 0 0 120px;
	}

.format-person .section .column-right {
	width: 60%;
	max-width: 600px;
	min-width: 460px;
	margin: 0 0 0 40px;
	}

.format-person .section .image {
	display: block;
	width: 208px;
	}

.format-person .section .image img {
	display: block;
	max-width: 100%;
	height: auto;
	}

.format-person .section .column-right .description .text-std {
	margin: 0 0 1em;
	line-height: 1.7;
	}
	
.pagetop-person {
margin: 10em 0 0;
}

/* @end */

/* @group button */

.button-solid {
	display: table;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	min-width: 310px;
	padding: 1em 0;
	color: #ffffff;
	background: #32365f;
	text-decoration: none;
	box-shadow: 0 3px 8px rgba(0,0,0,0.3);
	}

.button-solid::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 17px;
	width: 8px;
	height: 13px;
	margin: -7px 0 0;
	background: url(../images/arrow_right_white.png) no-repeat 0 0;
	background-size: 8px auto;
	}

.button-solid .text {
	font-size: 17px;
	line-height: 1;
	}

/* @end */

/* @end */

@media screen and (min-width: 641px){

body {
	position: relative;
	font-size: 13px;
	/*word-wrap: break-word;
	overflow-wrap: break-word;*/
	}

.page {
	position: relative;
	height: 100%;
	}

/* ### */
.page > .background {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 105%;
	height: 105%;
	}

.page > .background img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	}

.pc-hidden {
	display: none;
	}

.fluid-std {
	width: 996px;
	margin: 0 auto;
	}

.fluid-min {
	width: 790px;
	margin: 0 auto;
	}

.text-std {
	font-size: 16px;
	line-height: 1.8;
	}

.format-chapter .text-std {
	line-height: 1.9;
	}

/* @group fluid-columns */

.fluid-columns {
	}

.fluid-columns.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	}

.fluid-columns.flex .column.align-flex-start {
	align-self: flex-start;
	}

.fluid-columns.flex .column.align-flex-end {
	align-self: flex-end;
	}

/* @end */

/* @group page-header */

.page-header {
	display: block;
	box-sizing: border-box;
	position: fixed;
	width: 200px;
	height: 100%;
	z-index: 2;
	}

.page-header .container {
	position: relative;
	padding: 62px 0 0;
	}

.page-header .drawer-control {
	position: absolute;
	top: 230px;
	left: 156px;
	cursor: pointer;
	transition: 0.2s;	
	}
	
.page-header .drawer-control:hover {
	opacity: 0.8;
	}

.page-header .drawer-control .drawer-hamburger {
	position: absolute;
	width: 21px;
	height: 50px;
	border-left: 1px solid #303030;
	cursor: pointer;
	}

.page-header .drawer-control .drawer-hamburger::before {
	content: '';
	display: block;
	position: absolute;
	width: 1px;
	height: 50px;
	right: 10px;
	border-left: 1px solid #303030;
	}

.page-header .drawer-control .drawer-hamburger::after {
	content: '';
	display: block;
	position: absolute;
	width: 1px;
	height: 50px;
	right: 0;
	border-left: 1px solid #303030;
	}

.page-header .drawer-control .drawer-caption {
	display: none;
	position: absolute;
	top: 16px;
	left: -48px;
	}

.page-header .site-title {
	width: 164px;
	margin: 0 auto;
	}

.page-header .site-title img {
	display: block;
	width: auto;
	height: 60px;
	}

.page-header #headline {
	display: none;
	position: absolute;
	top: 308px;
	left: 140px;
	width: 52px;
	}

.page-header #headline.is-enable {
	display: block;
	}

.page-header #headline li {
	display: none;
	position: absolute;
	top: 0;
	opacity: 0;
	}

.page-header #headline li.current {
	display: block;
	opacity: 1;
	animation-duration: 0.5s;
	animation-name: fade-in;
	}

.page-header #headline img {
	width: 52px;
	height: auto;
	}

/* @end */

/* @group page-body */

.page-body {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	padding: 0 0 0 200px;
	padding: 0 0 0 31.25vw;
	padding: 0;
	position: relative;
	z-index: 1;
	}

body.drawer-open .page-body {
	overflow: hidden;
	height: 0;
	}


.page-body::before {
	content: '';
	display: block;
	position: relative;
	width: calc(31.25vw);
	max-width: 200px;
	height: 100vh;
	/*background: red;
	opacity: 0.5;*/
	}

.page-body::after {
	content: '';
	display: block;
	position: relative;
	width: calc(31.25vw);
	min-width: 20px;
	max-width: 50px;
	height: 100vh;
	/*background: red;
	opacity: 0.5;*/
	}


.page-body > .container {
	padding: 0 0 0 20px;
	}

.page-body .footer {
	padding: 0 0 64px;
	text-align: left;
	}

.page-body .footer .logo {
	text-indent: -0.05em;
	margin: 0 0 20px;
	}

.page-body .footer .logo img {
	height: 59px;
	}

.page-body .footer #copyright {
	text-indent: -0.05em;
	font-size: 12px;
	}


/* @end */

/* @group navigation */

.navigation {
	/*display: none;*/
	position: fixed;
	overflow: scroll;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	/*background: #f0e3c4;*/
	z-index: 100;
	/*opacity: 0.1;*/
	}

.navigation > .background {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: #ffffff;
	}

/*.navigation > .background img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	}*/


.navigation .container {
	position: relative;
	padding: 120px 0 0;
	z-index: 2;
	}

.navigation .toc {
	margin: 0 0 0 220px;
	margin: 0 0 0 310px;
	}

.navigation .toc .article {
	display: flex;
	flex-direction: row-reverse;
	width: 457px;
	margin: 0 0 75px;
	}

.navigation .toc .article .chapter {
	}

.navigation .toc .chapter .heading a {
	opacity: 1;
	transition: none;
	}

.navigation .toc .chapter .heading a:hover {
	opacity: 0.8;
	transform: scale(1);
	}

.navigation .toc .article .chapter img {
	height: 237px;
	}

.navigation .toc .aside {
	width: 402px;
	margin: 0 0 0;
	}

.navigation .toc .aside .person .heading {
	margin: 0 0 30px;
	text-align: center;
	}


.navigation .button-close {
	position: absolute;
	top: 236px;
	left: 148px;
	width: 38px;
	height: 38px;
	cursor: pointer;
	}

.navigation .button-close img {
	width: 38px;
	height: auto;
	transition: 0.2s;
	}

.navigation .button-close img:hover {
	opacity: 0.8;
}

.navigation .site-title {
	position: absolute;
	top: 62px;
	left: 18px;
	width: 164px;
	margin: 0 auto;
	}

.navigation .site-title img {
	display: block;
	width: auto;
	height: 60px;
	}

/* @end */

/* @group home */

body.home {
	overflow-x: hidden;
	/*overflow-y: hidden;*/
	background: url(../images/bg_gray_noise.jpg) repeat fixed 0 0;
	}

.home .page-body {
	display: block;
	height: 100%;
	}

.home .page-body > .container {
	padding: 0;
	}

.home .page-body::before {
	content: '';
	display: none;
	}

.home .page-body::after {
	content: '';
	display: none;
	}

.format-home {
	width: 100%;
	min-height: 1043px;
	min-height: 740px;
	}

/*.format-home .header {
	width: 600px;
	padding: 130px 0 0;
	margin: 0 0 64px;
	text-align: center;
	}*/

.format-home .header {
	position: fixed;
	top: 0;
	left: 0;
	width: 600px;
	padding: 83px 0 0;
	margin: 0 0;
	text-align: center;
	}

.format-home .contents {
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	top: 0;
	right: 0;
	width: calc(100% - 600px);
	height: 100%;
	min-height: 1043px;
	}

.format-home .contents .chapter {
	position: relative;
	overflow: hidden;
	width: 100%;
	/*height: 50%;*/
	height: calc(100vh - 30px);
	}

.format-home .contents .chapter .heading {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	}

.format-home .contents .chapter .heading a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	}

.format-home .contents .chapter .heading a:hover {
	background: rgba(255,255,255,0.2);
	}

.format-home .contents .chapter .heading img {
	transition: all 0.5s 0s ease;
	transform-origin: 50% 50%;
	}

.format-home .contents .chapter .heading a:hover img {
	transform: scale(1.1);
	}

.format-home .contents .chapter .image {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	}

.format-home .contents .chapter .image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	}

.format-home .contents .down-arrow {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: calc(100vh - 35px);
	z-index: 2;
	/*background: red;*/
	}

.format-home .contents .down-arrow .wrap {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100vw - 600px);
	height: 1px;
	/*background: red;*/
	}

.format-home .contents .down-arrow .wrap::after {
	content: '';
	display: block;
	position: absolute;
	bottom: -12px;
	left: 50%;
	width: 44px;
	height: 20px;
	margin: 0 0 0 -22px;
	background: url(../images/arrow_down_large.png) no-repeat 0 0;
	background-size: 44px auto;
	z-index: 2;
	animation: hop 1.5s linear 1s infinite;
	}

.is-scrolled .format-home .contents .down-arrow {
	display: block;
	opacity: 0;
	animation-duration: 0.5s;
	animation-name: fade-out;
	animation-fill-mode: forwards;
	}


/*.format-home .person {
	width: 600px;
	margin: 0 0 64px;
	}*/

.format-home .person {
	position: fixed;
	top: 348px;
	left: 0;
	width: 600px;
	margin: 0 0 64px;
	}

.format-home .person .heading {
	margin: 0 0 26px;
	text-align: center;
	}

.format-home .person ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center; 
	justify-content: space-between;
	align-items: center;
	width: 402px;
	margin: 0 auto;
	}

.format-home .person ul li {
	display: block;
	/*margin: 0 25px 22px 0;*/
	margin: 0;
	}

/*
.format-home .person ul li:nth-of-type(3n),
.format-home .person ul li:last-of-type {
	margin: 0 0 22px 0;
	}*/

.format-home .person ul li img {
	display: block;
	width: auto;
	height: 98px;
	}

.format-home .person a:hover img {
	opacity: 0.8;
	}

/*.format-home .footer {
	width: 600px;
	padding: 0 0 64px;
	text-align: center;
	}*/

.format-home .footer {
	position: fixed;
	bottom: 0;
	/*top: 558px;*/
	left: 0;
	width: 600px;
	padding: 0 0 64px;
	text-align: center;
	}

.format-home .footer .logo {
	margin: 0 0 20px;
	}

.format-home .footer #copyright {
	}


/* @end */

/* @group toc */

.toc {
	}

.toc .article {
	margin: 0 0 164px;
	}

.toc .article .chapter {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	width: 528px;
	margin: 0 auto;
	}

.toc .article .chapter .heading {
	margin: 0 0 0 64px;
	}

.toc .chapter .heading a {
	display: block;
	position: relative;
	opacity: 1;
	transition: all 0.5s 0s ease;
	transform-origin: 50% 50%;
	}

.toc .chapter .heading a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: -5px;
	width: 1px;
	height: 100%;
	background: transparent;
	}

.toc .chapter .heading a:hover::after {
	/*background: #303030;*/
	}

.toc .chapter .heading a:hover {
	opacity: 0.8;
	transform: scale(1.1);
	}

.toc .chapter ul {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between; 
	width: 376px;
	}

.toc .chapter ul li {
	}

.toc .chapter ul li a {
	display: block;
	position: relative;
	opacity: 1;
	transition: all 0.5s 0s ease;
	transform-origin: 50% 50%;
	}

.toc .chapter ul li a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: -5px;
	width: 1px;
	height: 276px;
	background: transparent;
	}

.toc .chapter ul li:nth-of-type(2) a::after {
	height: 330px;
	}

.toc .chapter ul li:nth-of-type(3) a::after {
	height: 410px;
	}

.toc .chapter ul li:nth-of-type(4) a::after {
	height: 382px;
	}

.toc .chapter ul li:nth-of-type(5) a::after {
	height: 434px;
	}

.toc .chapter ul li a:hover::after {
	/*background: #303030;*/
	}

.toc .chapter ul li a:hover {
	opacity: 0.8;
	transform: scale(1.1);
	}

.toc .chapter ul li img {
	display: block;
	height: auto;
	height: 436px;
	}

.toc .aside .person {
	}

.toc .aside .person .heading {
	margin: 0 0 50px;
	text-align: center;
	}

.toc .aside .person ul {
	display: flex;
	justify-content: space-between;
	width: 402px;
	margin: 0 auto;
	}

.toc .aside .person ul li img {
	display: block;
	width: auto;
	height: 98px;
	}

.toc .aside .person a:hover img {
	opacity: 0.8;
	}

/* @end */

.format-chapter .heading-large.pc-hidden {
	display: none;
	}

}


@media screen and (max-height: 700px) {

.format-home .footer {
	/*background: red;*/
	top: 558px;
	bottom: auto;
	}
	
}

@media screen and (min-width: 1024px) {

.format-chapter .fluid-gap.v-1024 {
	display: block;
	width: 100%;
	height: 50px;
	margin: 0 0 100px;
	}
	
}

@media screen and (min-width: 1600px) {

.page-body::before {
	width: calc(26vw);
	max-width: 100%;
	/*background: red;
	opacity: 0.5;*/
	}

.page-body > .container {
	padding: 0 0 0 20px;
	}

}


@media screen and (max-width: 640px), screen and (max-device-width: 480px) {


body {
	overflow-x: hidden;
	font-size: 26px;
	word-wrap: break-word;
	overflow-wrap: break-word;
	}

.page {
	position: relative;
	height: 100%;
	}

/* ### */
.page > .background {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	}

.page > .background img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	}

.mobile-hidden {
	display: none;
	}

.fluid-std {
	}

.fluid-min {
	}

span.row {
	display: inline-block;
	}

span.row br {
	display: none;
	}


.text-std {
	font-size: 24px;
	line-height: 2.4;
	}


/* @group button */

.button-solid {
	display: table;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	min-width: 500px;
	padding: 1em 0;
	color: #ffffff;
	background: #32365f;
	text-decoration: none;
	}

.button-solid::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 30px;
	width: 12px;
	height: 20px;
	margin: -7px 0 0;
	background: url(../images/arrow_right_white.png) no-repeat 0 0;
	background-size: 12px auto;
	}

.button-solid .text {
	font-size: 28px;
	line-height: 1;
	}

/* @end */

/* @group page-header */

.page-header {
	display: block;
	box-sizing: border-box;
	position: fixed;
	width: 1px;
	height: 100%;
	z-index: 10;
	}

.page-header .container {
	position: relative;
	padding: 0 0;
	}

.page-header .drawer-control  {
	position: absolute;
	top: 130px;
	left: 60px;
	width: 30px;
	height: 90px;
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	tap-highlight-color: rgba(0, 0, 0, 0);
	}
	

.page-header .drawer-control .drawer-hamburger {
	position: absolute;
	top: 0;
	left: 0;
	width: 21px;
	height: 50px;
	border-left: 1px solid #303030;
	cursor: pointer;
	}

.page-header .drawer-control .drawer-hamburger::before {
	content: '';
	display: block;
	position: absolute;
	width: 1px;
	height: 50px;
	right: 10px;
	border-left: 1px solid #303030;
	}

.page-header .drawer-control .drawer-hamburger::after {
	content: '';
	display: block;
	position: absolute;
	width: 1px;
	height: 50px;
	right: 0;
	border-left: 1px solid #303030;
	}

.page-header .drawer-control .drawer-caption {
	display: none;
	position: absolute;
	top: 60px;
	left: -6px;
	}


.page-header .site-title {
	position: absolute;
	top: 36px;
	left: 50px;
	width: 174px;
	margin: 0;
	}

.page-header .site-title img {
	display: block;
	width: auto;
	height: 61px;
	}

.page-header #headline {
	display: none;
	position: absolute;
	top: 250px;
	left: 40px;
	width: 58px;
	}

.page-header #headline.is-enable {
	display: block;
	}

.page-header #headline li {
	display: none;
	position: absolute;
	top: 0;
	opacity: 0;
	}

.page-header #headline li.current {
	display: block;
	opacity: 1;
	animation-duration: 0.5s;
	animation-name: fade-in;
	}

.page-header #headline img {
	width: 58px;
	height: auto;
	}

/* @end */

/* @group navigation */

.navigation {
	/*display: none;*/
	position: fixed;
	overflow: scroll;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	background: #ffffff;
	z-index: 100;
	/*opacity: 0.1;*/
	}

.navigation > .background {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	}

.navigation > .background img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	}

.navigation .container {
	position: relative;
	padding: 136px 0;
	z-index: 2;
	}

.navigation .button-close {
	position: absolute;
	top: 136px;
	left: 52px;
	width: 38px;
	height: 38px;
	cursor: pointer;
	}

.navigation .button-close img {
	width: 38px;
	height: auto;
	}

.navigation .site-title {
	position: absolute;
	top: 36px;
	left: 50px;
	width: 174px;
	margin: 0;
	}

.navigation .site-title img {
	display: block;
	width: auto;
	height: 61px;
	}

.navigation .toc .article {
	display: flex;
	flex-direction: row-reverse;
	margin: 0 26px 70px 0;
	}

.navigation .toc .article .chapter {
	width: auto;
	margin: 0 0 0 50px;
	}

.navigation .toc .article .chapter:nth-of-type(2) {
	margin: 120px 0 0 50px;
	}

.navigation .toc .article .chapter:nth-of-type(3) {
	margin: 240px 0 0 50px;
	}

.navigation .toc .article .chapter .heading {
	width: auto;
	margin: 0;
	text-align: right;
	}

.navigation .toc .aside {
	width: 578px;
	margin: 0 auto 0;
	}

.navigation .toc .aside .person .heading {
	margin: 0 0 50px;
	text-align: center;
	}

.navigation .toc .aside .person .heading img {
	width: auto;
	height: 28px;
	}

.navigation .toc .aside .person ul {
	display: flex;
	justify-content: space-between;
	width: 578px;
	}

.navigation .toc .aside .person li {
	margin: 0;
	}

.navigation .toc .aside .person ul li:nth-of-type(3n) {
	margin: 0;
	}

.navigation .toc .aside .person li img {
	height: 142px;
	}

/* @end */

/* @group page-body */

.page-body {
	box-sizing: border-box;
	width: 100%;
	padding: 0 0 0 0;
	position: relative;
	z-index: 1;
	}

body.drawer-open .page-body {
	overflow: hidden;
	height: 0;
	}

.page-body > .container {
	padding: 0 20px;
	}

.page-body .footer {
	padding: 0 0 64px;
	text-align: center;
	}

.page-body .footer .logo {
	text-indent: -0.05em;
	margin: 0 0 30px;
	}

.page-body .footer .logo img {
	height: 71px;
	}

.page-body .footer #copyright {
	text-indent: -0.05em;
	font-size: 16px;
	}
/* @end */

/* @group format-chapter */

.format-chapter .header {
	overflow: hidden;
	max-width: 100%;
	padding: 328px 0 470px;
	padding: 130px 0 70px;
	}

.format-chapter .header .hgroup {
	float: none;
	width: 540px;
	margin: 0 auto 0;
	text-align: right;
	}

.format-chapter .header .image {
	margin: 94px 0 0;
	}

.format-chapter .header .image img {
	width: 268px;
	height: auto;
	}

.format-chapter .header .heading-root {
	margin: 0 0 120px;
	}

.format-chapter .header .heading-root img {
	height: 276px;
	}

.format-chapter .header .toc {
	float: none;
	overflow: hidden;
	width: 540px;
	margin: 0 auto 0;
	}

.format-chapter .header .toc ul {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	float: right;
	}

.format-chapter.chapter-1 .header .toc ul {
	width: 460px;
	}

.format-chapter.chapter-2 .header .toc ul {
	width: 360px;
	}

.format-chapter.chapter-3 .header .toc ul {
	width: 322px;
	}

.format-chapter.chapter-1 .header .toc img {
	height: 560px;
	}

.format-chapter.chapter-2 .header .toc img {
	height: 560px;
	}

.format-chapter.chapter-3 .header .toc img {
	height: 640px;
	}

.format-chapter .heading-large {
	display: block;
	margin: 0 0 86px;
	}

.format-chapter .heading-large.mobile-hidden {
	display: none;
	}

.format-chapter .heading-large img {
	display: block;
	}

.format-chapter .section {
	max-width: 460px;
	margin: 0 0 400px 100px;
	padding: 400px 0 0 0;
	}

.format-chapter .section.mb-300 {
	margin-bottom: 0;
	}

.format-chapter .section.mb-400 {
	margin-bottom: 0;
	}

.format-chapter .section.pagination {
	padding-top: 200px;
	margin-bottom: 0;
	}

.format-chapter .excerpt {
	margin: 60px 0 0;
	padding: 60px 20px;
	background: #e7e7e7;
	}

.format-chapter .excerpt .heading {
	margin: 0 0 1em;
	font-size: 100%;
	text-align: left;
	}


.format-chapter #pagetop {
	margin-top: 180px;
	margin-bottom: 300px;
	padding-top: 0;
	}

.format-chapter #trailer.mb-300 {
	margin-bottom: 300px;
	}


.format-chapter .pagination .unit-columns.unit-right {
	display: block;
	}

.format-chapter .pagination .unit-columns.unit-right .column {
	min-width: 30%;
	margin: 0 0 170px;
	}

.format-chapter .pagination .unit-columns.unit-right .column:last-of-type {
	margin: 0;
	}

.format-chapter .pagination .unit-columns.unit-right .column .heading-large {
	margin: 40px 0 0;
	}

.format-chapter .pagination .unit-columns.unit-right .column .heading-large img {
	display: inline;
	max-width: 292px;
	width: 100%;
	height: auto;
	}


.format-chapter .unit-flex .column:nth-of-type(2) {
	margin: 70px 0 10px 0;
	}

.format-chapter .unit-flex .column.align-flex-start:nth-of-type(2) {
	margin: 110px 0 0 56px;
	}


.format-chapter .unit-right.trailer .column .heading-large {
	margin: 40px 0 0;
	}

.format-chapter .unit-right.pagination .column .heading-large {
	margin: 40px 0 0;
	}

.format-chapter .unit-right.pagination {
	text-align: right;
	}


.format-chapter .image-group .caption {
	margin: 1em 0 0;
	text-align: right;
	font-size: 16px;
	line-height: 1.6;
	}

.format-chapter .unit-single .column {
	width: 100%;
	min-width: auto;
	max-width: 100%;
	}


.format-chapter .mx-255 {
	max-width: 100%;
	}

.format-chapter .mx-338 {
	max-width: 100%;
	}

.chapter-1 #section-1 .heading-large img {
	height: 86px;
	}

.chapter-1 #section-2 .heading-large img {
	height: 152px;
	}

.chapter-1 #section-3 .heading-large img {
	height: 145px;
	}

.chapter-1 #section-4 .heading-large img {
	height: 190px;
	}

.chapter-1 #section-5 .heading-large img {
	height: 205px;
	}

.chapter-1 #pagination .heading-large img {
	height: 78px;
	}

.chapter-2 #section-1 .heading-large img {
	height: 86px;
	}

.chapter-2 #section-2 .heading-large img {
	height: 134px;
	}

.chapter-2 #section-3 .heading-large img {
	height: 113px;
	}

.chapter-2 #section-4 .heading-large img {
	height: 172px;
	}

.chapter-2 #pagination .heading-large img {
	height: 78px;
	}

.format-chapter .mt-n140 {
	margin-top: -230px;
	}
/* @end */

/* @group format-person */

.format-person {
	}


.format-person .header {
	max-width: 100%;
	padding: 330px 0 330px;
	padding: 330px 0 30px;
	}

.format-person .header .hgroup {
	width: auto;
	}

.format-person .header .heading-root {
	width: auto;
	margin: 0;
	}

.format-person .header .heading-root img {
	display: block;
	width: auto;
	height: 95px;
	margin: 0 auto;
	}

.format-person .heading-large {
	display: block;
	}

.format-person .heading-large img {
	display: block;
	height: 150px;
	}

.format-person #person-1 .heading-large img {
	display: block;
	height: 153px;
	}

.format-person #person-5 .heading-large img {
	display: block;
	height: 120px;
	}

.format-person .section {
	max-width: 460px;
	margin: 0 0 300px 100px;
	margin: 0 0 0 100px;
	padding: 300px 0 0;
	}

.format-person #person-5 {
	margin: 0 0 300px 100px;
	}

.format-person .section .unit-columns {
	}

.format-person .section .column-right {
	margin: 0;
	}

.format-person .section .image {
	display: block;
	width: 208px;
	}

.format-person .section .image img {
	display: block;
	max-width: 100%;
	height: auto;
	}

.format-person .section .column-right .description .text-std {
	margin: 0 0 1em;
	font-size: 24px;
	line-height: 2.5;
	}

/* @end */



/* @group home */



body.home {
	background: url(../images/bg_gray_noise.jpg) repeat 0 0;
	}

.home .page-body {
	display: block;
	height: 100%;
	}

.home .page-body > .container {
	padding: 0;
	}

.home .page-body::before {
	content: '';
	display: none;
	}

.home .page-body::after {
	content: '';
	display: none;
	}

.format-home {
	width: 100%;
	}

.format-home .header {
	width: 100%;
	padding: 326px 0 0;
	margin: 0 0 257px;
	text-align: center;
	}

.format-home .header .site-title img {
	height: 237px;
	}

.format-home .contents {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 0 280px;
	}

.format-home .contents .chapter {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 50%;
	margin: 0 0 10px;
	}

.format-home .contents .chapter .heading {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	}

.format-home .contents .chapter .heading a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	}

.format-home .contents .chapter-1 .heading img {
	height: 262px;
	}

.format-home .contents .chapter-2 .heading img {
	height: 248px;
	}

.format-home .contents .chapter-3 .heading img {
	height: 232px;
	}

.format-home .contents .chapter .heading a:hover {
	background: rgba(255,255,255,0.2);
	}

.format-home .contents .chapter .image {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	min-height: 410px;
	}

.format-home .contents .chapter .image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 410px;
	object-fit: cover;
	object-position: center center;
	}

.format-home .contents .chapter .down-arrow {
	display: none;
	}

.format-home .person {
	width: 100%;
	margin: 0 0 300px;
	}

.format-home .person .heading {
	margin: 0 0 70px;
	text-align: center;
	}

.format-home .person .heading img {
	width: auto;
	height: 85px;
	}

.format-home .person ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center; 
	align-items: center;
	width: 500px;
	margin: 0 auto;
	}

.format-home .person ul li {
	display: block;
	margin: 0 23px 50px 0;
	}

.format-home .person ul li:nth-of-type(3n),
.format-home .person ul li:last-of-type {
	margin: 0 0 50px 0;
	}

.format-home .person ul li img {
	display: block;
	width: auto;
	height: 202px;
	}

.format-home .person a:hover img {
	opacity: 0.8;
	}

.format-home .footer {
	width: 600px;
	padding: 0 0 64px;
	text-align: center;
	}

.format-home .footer .logo {
	margin: 0 0 20px;
	}

.format-home .footer #copyright {
	}

/* @end */

/* @group toc */

.toc {
	}

.toc .article {
	margin: 0 0 300px;
	}

.toc .article .chapter {
	width: 500px;
	margin: 0 auto;
	}

.toc .article .chapter .heading {
	margin: 0 0 95px 0;
	text-align: center;
	}

.toc .article .chapter .heading img {
	width: auto;
	height: 265px;
	}

.toc .chapter .heading a {
	display: inline-block;
	position: relative;
	}

/*.toc .chapter .heading a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: -5px;
	width: 1px;
	height: 100%;
	background: transparent;
	}

.toc .chapter .heading a:hover::after {
	background: #303030;
	}*/

.toc .chapter ul {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between; 
	width: 100%;
	}

.toc .chapter ul li {
	}

.toc .chapter ul li a {
	display: block;
	position: relative;
	}

/*.toc .chapter ul li a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: -5px;
	width: 1px;
	height: 354px;
	background: transparent;
	}

.toc .chapter ul li:nth-of-type(2) a::after {
	height: 426px;
	}

.toc .chapter ul li:nth-of-type(3) a::after {
	height: 526px;
	}

.toc .chapter ul li:nth-of-type(4) a::after {
	height: 492px;
	}

.toc .chapter ul li:nth-of-type(5) a::after {
	height: 560px;
	}

.toc .chapter ul li a:hover::after {
	background: #303030;
	}*/

.toc .chapter ul li img {
	display: block;
	height: auto;
	height: 560px;
	}

.toc .aside .person {
	}

.toc .aside .person .heading {
	margin: 0 0 70px;
	text-align: center;
	}

.toc .aside .person .heading img {
	height: 85px;
	}

.toc .aside .person ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center; 
	align-items: center;
	width: 500px;
	margin: 0 auto;
	}

.toc .aside .person ul li {
	display: block;
	margin: 0 23px 50px 0;
	}

.toc .aside .person ul li:nth-of-type(3n) {
	margin: 0 0 50px 0;
	}

.toc .aside .person ul li img {
	display: block;
	width: auto;
	height: 202px;
	}
	
.toc .aside .person a:hover img {
	opacity: 0.8;
	}


/* @end */
}

/* @group animation */

@keyframes fade-in {
	0% {
		display: none;
		opacity: 0;
	}
	
	1% {
		display: block;
		opacity: 0;
	}
	
	100% {
		display: block;
		opacity: 1;
	}
}

@keyframes fade-out {
	0% {
		display: block;
		opacity: 1;
	}
	
	99% {
		display: block;
		opacity: 0;
	}
	
	100% {
		display: none;
		opacity: 0;
	}
}

@keyframes hop {
  0%   { transform: translate(0%, 0%); }
  30%  { transform: translate(0%, 20%); }
  40%  { transform: translate(0%, 0%); }
  60%  { transform: translate(0%, -30%); }
  75%  { transform: translate(0%, -15%); }
  85%  { transform: translate(0%, 15%); }
  100% { transform: translate(0%, 0%); }
}

/* @end */

