@charset "utf-8";

.chapter-header {
	
}

.hero-img {
	position: relative;
	padding-top: 0;
	height: 60vh;
	min-height: 400px;
	overflow: hidden;
}

.hero-img:before {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.2);
	z-index: 1;
}

.hero-img__header {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
	z-index: 1;
}

.chapter-header__ttl {
	color: #fff;
}

.chapter-header__ttl .en {
	margin-bottom: 0.5em;
	font-size: 3.0rem;
	line-height: 1;
}

.chapter-header__ttl .ja {
	font-size: 1.8rem;
}

.hero-img__figure {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	margin-bottom: 40px;
	background-size: auto 100vh;
}

.hero-img__figure img {
	display: block;
	width: 100%;
	max-width: 1600px;
	height: auto;
	margin: auto;
}

.js .hero-img__figure img {
	display: none;
}

.chapter-body {
	font-size: 1.6rem;
}

.chapter-section {
	margin-bottom: 60px;
}

.section__ttl {
	font-size: 1.8rem;
	margin-bottom: 2em;
}

.section__ttl > .ja {
	font-size: 1.2rem;
	display: block;
	color: rgba(0 0 0 / 0.6);
	margin-top: 1em;
}

.section__p {
	margin-bottom: 2em;
	font-size: 1.4rem;
	line-height: 2;
	color: rgba(0,0,0,0.7);
}





.Introduction .section__ttl {
	font-size: 2rem;
	font-weight: 300;
	margin-bottom: 2em;
}

.Introduction .section__ttl:before {
	width: 150px;
}

.Introduction.lang-container > * {
	margin-bottom: 3em;
}


.lang-container {
	display: flex;
	flex-direction: column;
}

.lang--ja .lang-container > *[data-lang="en"] {
	order: 2;
}



.base {
	
}

.base__img {
	
}

.base__img {
	margin-bottom: 30px;
	border-radius: 5px;
}

.base__img img {
	display: block;
	width: 100%;
	border-radius: 5px;
}

.base__header {
	
}

.base__header-ttl {
	
}

.base__header-ttl img {
	display: block;
	width: auto;
	height: 30px;
}

.base__body {
	
}

.base__body-lang {
	margin-bottom: 20px;
}
.base__body-lang > *:first-child {
	margin-top: 0;
}
.base__body-lang > *:last-child {
	margin-bottom: 0;
}

.base__body-ttl {
	margin-bottom: 0;
	font-size: 1.4rem;
	font-weight: 500;
}

.base__body-txt {
	margin-top: 0;
	font-size: 1.2rem;
}


.base__aside {
	font-size: 1.2rem;
}

.base__aside > *:first-child {
	margin-top: 0;
}

.base__aside > *:last-child {
    margin-bottom: 0;
}

.base__aside-txt {
	
}





.next-page {
	
}

.next-page-inner {
	background-size: cover;
	background-position: center;
}

.next-page a {
	position: relative;
	display: block;
	padding: 100px 20px;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
	color: #fff;
}

.next-page a:before {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	transition: 0.5s ease;
	mix-blend-mode: multiply;
}

.next-page a:hover {
	color: #fff;
}

.next-page a:hover:before {
	background-color: rgba(83, 90, 99, 0.9);
}

.next-page__ttl {
	position: relative;
	margin-bottom: 10px;
}

.next-page__ttl:before {
	display: block;
	content: "Next";
}

.next-page__ttl > * {
	display: block;
}

.next-page__ttl .en {
	font-size: 2.8rem;
	font-weight: 300;
	line-height: 1.3;
}

.next-page__ttl .ja {
	font-size: 1.5rem;
	font-weight: 300;
}

.next-page .navigate-btn {
	
}

.Topics {
	border: 1px solid rgba(0 0 0 / 0.2);
	padding: 24px;
}

.Topics__index {
	display: flex;
	flex-direction: column;
	gap: 48px;
}


/* ---------------------------------------------------------------------------------------------- */
/* SmartPhone                                                                                     */

/* iPhone 6 over */
@media screen and (min-width: 374px) {
	
}

/* ---------------------------------------------------------------------------------------------- */
/* Tablet                                                                                         */

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


/* iPad */
@media screen and (min-width: 768px) {
	.Overview__index {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	.Overview__index:before,
	.Overview__index:after {
		display: block;
		content: "";
		width: calc(50% - 20px);
		height: 1px;
		order: 2;
	}

	.Topics {
		padding: 32px;
	}

	.Topics__index {
		gap: 64px;
	}
	
	.base {
		width: calc(50% - 20px);
		padding: 0;
		box-sizing: border-box;
		order: 1;
	}
	
	.base--extra {
		width: 100%;
	}
	
	.base--extra .base__img {
		margin-bottom: 40px;
	}
	
	.base--sbs {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
	}

	.base--sbs .base__body-lang {
		margin-bottom: 32px;
	}
}

/* ---------------------------------------------------------------------------------------------- */
/* Desktop                                                                                        */

@media screen and (min-width: 1024px) {
	
	.chapter-header {
		margin-bottom: 120px;
	}
	
	.chapter-body {
		margin-bottom: 40px;
		padding-bottom: 10px;
	}
	
	.chapter-section {
		margin-bottom: 100px;
	}
	
	.chapter-section:last-of-type {
		margin-bottom: 0;
	}
	
	.chapter-header__ttl .en {
		font-size: 5rem;
	}
	
	.chapter-header__ttl .ja {
		font-size: 2.4rem;
		letter-spacing: 0.1em;
	}
	
	.section__p {
		font-size: 1.5rem;
	}
	
	.section__ttl {
		font-size: 2.4rem;
	}

	.section__ttl > .ja {
		font-size: 1.5rem;
	}
	
	.hero-img__figure {
		background-size: 100% auto;
	}
	
	/* ---------------------------------------- */
	
	.Introduction .section__ttl {
		font-size: 2.6rem;
	}
	
	.Introduction.lang-container {
		flex-direction: row;
		justify-content: space-between;
	}
	
	.Introduction.lang-container > * {
		width: calc(50% - 40px);
		margin-bottom: 0;
	}
	
	/* ---------------------------------------- */
	
	.Overview {
		
	}
	
	.Overview__index {
		
	}
	
	.Overview__index:before,
	.Overview__index:after {
		width: calc(33.333% - 30px);
	}

	.Topics {
		padding: 40px;
	}

	.Topics__index {
		gap: 80px;
	}

	.Topics__index .base__img {
		margin-bottom: 0;
	}
	
	.base:not(.base--extra) {
		width: calc(33.333% - 30px);
	}
	
	.base__header {
		
	}
	
	.base__header-ttl img {
		height: 40px;
	}
	
	.base--extra .base__header-ttl {
		margin-bottom: 40px;
	}
	
	.base--extra .base__body {
		width: 100%;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}
	
	.base--extra .base__body-lang {
		width: calc(50% - 20px);
	}

	.base--sbs {
		grid-template-columns: 1fr 1fr;
		gap: 40px;
	}
	
	
	/* ---------------------------------------- */
	
	.next-page a {
		padding: 200px 50px;
	}
	
	.next-page__ttl .en {
		font-size: 4rem;
	}
	
	.next-page__ttl .ja {
		font-size: 2.5rem;
	}
	
	.next-page .navigate-btn {
		font-size: 1.6rem;
	}
	
}

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

@media screen and (min-width: 1399px) {
	
	.base:not(.base--extra) .flickity-prev-next-button {
		width: 30px;
		height: 30px;
		padding: 10px;
		background: rgb(255, 255, 255);
		border: none;
		box-shadow: 0 2px 4px 0 rgba(0,0,0,.12);
	}
	
	.base:not(.base--extra) .flickity-prev-next-button svg {
		left: 30%;
		top: 30%;
		width: 40%;
		height: 40%;
	}
	
	.base:not(.base--extra) .flickity-page-dots {
		bottom: -20px;
	}
	
	.base:not(.base--extra) .flickity-page-dots .dot {
		width: 3px;
		height: 3px;
		margin: 0 5px;
		padding: 3px;
	}
	
	.base:not(.base--extra) .flickity-prev-next-button.previous {
		left: -15px;
	}
	
	.base:not(.base--extra) .flickity-prev-next-button.next {
		right: -15px;
	}
}