/* -----------------------------------------------
= main
----------------------------------------------- */
@media print, screen and (min-width: 768px) {/* PC */
.main {
	overflow: hidden;
}
}/* @media */
/* -----------------------------------------------
= page-title
----------------------------------------------- */
.page-title .set h1 {
	font-family: var(--zen);
	font-size: calc(2rem / 1.6);
	letter-spacing: .02em;
}
@media print, screen and (min-width: 768px) {/* PC */
.page-title .set {
	max-width: 1300px;
	margin-inline: auto;
}
.page-title .set h1 {
	font-size: calc(3.2rem / 1.6);
	letter-spacing: .04em;
}
.page-title .set img {
	object-position: 0 0;
}
}/* @media */
/* -----------------------------------------------
= intro
----------------------------------------------- */
.intro {
	margin: 20px 13px 60px;
}
.intro h2 {
	margin-bottom: 30px;
	font-family: var(--zen);
	font-size: calc(2rem / 1.6);
	line-height: calc(28 / 20);
}
.intro .profile {
	display: flex;
	align-items: center;
	gap: 0 30px;
	padding-block: 10px;
	border-top: 0.75px solid #989898;
	border-bottom: 0.75px solid #989898;
}
.intro .profile .set {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 13px;
}
.intro .profile h3 {
	font-family: var(--zen);
	font-size: calc(1.3rem / 1.6);
	font-weight: 400;
}
.intro .profile .division {
	font-size: calc(1.3rem / 1.6);
	letter-spacing: .08em;
}
.intro .profile .name .jp {
	margin-right: 13px;
	font-size: calc(1.6rem / 1.6);
	font-weight: 700;
	letter-spacing: .08em;
}
.intro .profile .name .en {
	font-size: calc(1.3rem / 1.6);
	letter-spacing: .08em;
}
.intro .profile .year {
	font-size: calc(1.3rem / 1.6);
	letter-spacing: .08em;
}
@media print, screen and (min-width: 768px) {/* PC */
.intro {
	max-width: 1300px;
	margin: 60px auto 50px;
	padding-inline: 30px;
}
.intro h2 {
	margin-bottom: 70px;
	font-size: calc(3.6rem / 1.6);
	line-height: calc(52 / 36);
}
.intro .profile {
	gap: 0 180px;
	padding-block: 22px;
	border-top-width: 1px;
	border-bottom-width: 1px;
}
.intro .profile .set {
	gap: 0 40px;
}
.intro .profile h3 {
	margin-left: 50px;
	font-size: calc(2.4rem / 1.6);
}
.intro .profile .division {
	font-size: calc(1.8rem / 1.6);
}
.intro .profile .name .jp {
	margin-right: 25px;
	font-size: calc(2.4rem / 1.6);
}
.intro .profile .name .en {
	font-size: calc(1.8rem / 1.6);
}
.intro .profile .year {
	font-size: calc(1.8rem / 1.6);
}
}/* @media */
/* -----------------------------------------------
= index
----------------------------------------------- */
.index {
	padding: 16px;
	background: #f2f2ee;
}
.index .inner {
	display: flex;
	gap: 0 20px;
}
.index h2 {
	font-family: var(--zen);
	font-size: calc(1.4rem / 1.6);
	font-weight: 400;
}
.index li {
	font-size: calc(1.2rem / 1.6);
	line-height: calc(17 / 12);
	letter-spacing: .02em;
}
.index li + li {
	margin-top: 15px;
}
.index li a span {
	display: block;
}
.index li a span:first-child {
	margin-bottom: 3px;
	font-family: var(--zen);
	font-weight: 400;
}
@media print, screen and (min-width: 768px) {/* PC */
.index {
	margin-bottom: 160px;
	padding: 0 30px;
	background: transparent;
}
.index .inner {
	display: flex;
	gap: 0 calc(200 / 1300 * 100%);
	max-width: 1200px;
	margin-inline: auto;
	padding: 25px 50px;
	background: #f2f2ee;
}
.index h2 {
	font-size: calc(2.4rem / 1.6);
}
.index ol {
	flex: 1;
}
.index li {
	font-size: calc(1.8rem / 1.6);
}
.index li + li {
	margin-top: 20px;
}
.index li a {
	display: flex;
	gap: 0 1em;
}
.index li a span:first-child {
	position: relative;
	min-width: 7.2em;
}
.index li a span:first-child::after {
	content: "｜";
	position: absolute;
	top: 0;
	right: 0;
}
.index li a span:last-child {
	flex: 1;
}
}/* @media */
@media (hover:hover) {
.index a {
	transition: color .3s;
}
.index a:hover {
	color: var(--red);
}
}/* @media */
/* -----------------------------------------------
= side
----------------------------------------------- */
.btn-side {
	position: fixed;
	right: 0;
	bottom: 60px;
	z-index: 5;
	padding: 9px 88px 9px 20px;
	color: #fff;
	background:  #b9b9b1;
	font-family: var(--zen);
	font-size: calc(2rem / 1.6);
	font-weight: 400;
}
.btn-side::after {
	content: "";
	position: absolute;
	top: 20px;
	right: 10px;
	width: 33px;
	height: 12px;
	background: url(../../img/index/icon-index.svg) no-repeat 50% / 100% auto;
}
.btn-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 30px;
	height: 30px;
}
.btn-close::before,
.btn-close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 0.5px;
	background: #808080;
}
.btn-close::before {
	transform: rotate(-45deg);
}
.btn-close::after {
	transform: rotate(45deg);
}
.side.index {
	position: fixed;
	right: 0;
	bottom: 60px;
	width: calc(100% - 32px);
	z-index: 6;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .4s;
}
.side.index[aria-hidden="false"] {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}
@media print, screen and (min-width: 768px) {/* PC */
.btn-side {
	right: auto;
	left: 0;
	padding: 6px 70px 6px 20px;
	font-size: calc(2.4rem / 1.6);
	transform: rotate(-90deg);
	transform-origin: top left;
	opacity: 0;
	pointer-events: none;
	transition: opacity .4s;
}
.btn-side::after {
	top: 17px;
	right: 6px;
	transform: rotate(90deg);
}
.btn-side.is-visible {
	opacity: 1;
	pointer-events: auto;
}
.side.index {
	right: auto;
	left: 0;
	width: 100%;
	max-width: 1000px;
	margin-bottom: 0;
	padding: 0;
	box-sizing: border-box;
}
.side.index .inner {
	padding-right: 80px;
}
}/* @media */
@media (hover:hover) {
.btn-side {
	transition: color .3s;
}
.btn-side:hover {
	color: var(--red);
}
}/* @media */
/* -----------------------------------------------
= chapter
----------------------------------------------- */
.chapter {
	margin: 0 13px 60px;
	scroll-margin-top: 45px;
}
.chapter .title {
	margin-bottom: 25px;
}
.chapter .num {
	margin-bottom: 15px;
	padding-bottom: 5px;
	color: var(--red);
	border-bottom: 0.75px solid #989898;
	font-family: var(--zen);
	font-size: calc(1.3rem / 1.6);
	font-weight: 400;
}
.chapter .num span {
	margin-left: 10px;
	font-size: calc(2.1rem / 1.6);
}
.chapter .title h2 {
	font-size: calc(2rem / 1.6);
	line-height: calc(28 / 20);
	letter-spacing: .12em;
}
.chapter .text {
	margin-bottom: 15px;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(20 / 13);
}
.chapter .img {
	display: block;
	max-width: 272px;
	margin-inline: auto;
}
.img-large {
	display: block;
	margin-bottom: 60px;
}
@media print, screen and (min-width: 768px) {/* PC */
.chapter {
	max-width: 1300px;
	margin: 0 auto 190px;
	padding-inline: 30px;
	scroll-margin-top: 60px;
}
.chapter .title {
	margin-bottom: 45px;
}
.chapter .num {
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom-width: 1px;
	font-size: calc(1.8rem / 1.6);
}
.chapter .num span {
	margin-left: 15px;
	font-size: calc(2.8rem / 1.6);
}
.chapter .title h2 {
	font-size: calc(3.2rem / 1.6);
	line-height: calc(48 / 32);
}
.chapter .inner {
	display: flex;
	align-items: start;
	gap: 0 calc(70 / 1400 * 100%);
}
.chapter .set {
	flex: 1;
}
.chapter .text {
	margin-bottom: 0;
	font-size: calc(1.8rem / 1.6);
	line-height: calc(32 / 18);
}
.chapter .text + .text {
	margin-top: 2em;
}
.img-large {
	max-width: 1300px;
	margin: -60px auto 130px;
}
#chapter01 .img,
#chapter04 .img,
#chapter05 .img {
	width: calc(680 / 1400 * 100%);
	max-width: 680px;
}
#chapter01 .inner,
#chapter05 .inner {
	margin-right: -100px;
}
#chapter01 .title,
#chapter05 .title {
	max-width: 650px;
}
#chapter02,
#chapter03 {
	max-width: 850px;
	margin-inline: auto;
}
#chapter04 .title {
	max-width: 650px;
	margin-left: auto;
}
#chapter04 .inner {
	margin-left: -100px;
}
#chapter04 .set {
	order: 2;
}
#chapter04 .img {
	order: 1;
}
}/* @media */
