@charset "UTF-8";
body {
    background: #191e3a;
	font-family: "Amiri", "Shippori Mincho", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", system-ui, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
	font-weight: 500;
}
.mv-sub {
	background: url("/_common/img/about/mv.webp") 50% 100% / cover no-repeat;
}
@media screen and (max-width: 767px) {
    .mv-sub {
		background: url("/_common/img/about/mv.webp") 50% 0% / cover no-repeat;
    }
}
/* -------------------------------- */
.about {
	padding: 0 5%;
	background: url("/_common/img/about/about-bg.webp") 50% 0% / cover no-repeat;
}
.about__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0 106px;
}
.about__title-en {
	color: #aa915b;
	font-size: 70px;
	font-weight: 400;
    line-height: 80px;
	letter-spacing: .1em;
	text-align: center;
}
.about h2 {
	font-size: 26px;
	letter-spacing: .05em;
	line-height: 40px;
	text-align: center;
}
.about ul {
    display: flex;
    flex-direction: column;
    gap: 130px;
    margin-top: 80px;
}
.about ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 105px;
    width: 100%;
}
.about ul li:nth-child(2) {
    flex-direction: row-reverse;
}
.about__texts {
}
.about__texts h3 {
    font-size: 28px;
    line-height: 48px;
    letter-spacing: .05em;
}
.about__texts p {
    margin-top: 30px;
    line-height: 34px;
    letter-spacing: .05em;
}
.about__visual {
    width: 472px;
    min-width: 472px;
}
@media screen and (max-width: 767px) {
	.about {
		padding: 0 5%;
	}
	.about__inner {
		padding: 50px 0;
	}
	.about__title-en {
		font-size: 40px;
		line-height: 1.5;
		letter-spacing: .1em;
	}
	.about h2 {
		font-size: 20px;
		letter-spacing: .05em;
		line-height: 1.5;
	}
	.about ul {
		display: flex;
		flex-direction: column;
		gap: 50px;
		margin-top: 40px;
	}
	.about ul li {
		flex-direction: column-reverse;
		gap: 30px;
		width: 100%;
	}
	.about ul li:nth-child(2) {
		flex-direction: column-reverse;
	}
	.about__texts {
	}
	.about__texts h3 {
		font-size: 22px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
	.about__texts p {
		margin-top: 20px;
		line-height: 1.65;
		letter-spacing: .05em;
	}
	.about__visual {
		width: 100%;
		max-width: 260px;
		margin: 0 auto;
		min-width: initial;
	}
}
/* -------------------------------- */
.image-section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 538px;
	padding: 90px 5%;
	background: url("/_common/img/about/image-section1.webp") 50% 50% / cover no-repeat;
}
.image-section.two {
	background: url("/_common/img/about/image-section2.webp") 50% 50% / cover no-repeat;
}
.image-section.three {
	background: url("/_common/img/about/image-section3.webp") 50% 50% / cover no-repeat;
}
.image-section h2 {
	font-size: 42px;
	letter-spacing: .1em;
	line-height: 1;
	writing-mode: vertical-rl;
	text-orientation: mixed;
    text-align: center;
}
.image-section p {
    margin-top: 25px;
	font-size: 26px;
	letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
	.image-section {
		height: 400px;
		padding: 0px 5%;
	}
	.image-section h2 {
		font-size: 28px;
	}
	.image-section p {
		margin-top: 25px;
		font-size: 16px;
		letter-spacing: .1em;
	}
}
/* -------------------------------- */
.denomination {
	padding: 70px 5% 150px;
}
.denomination__inner {
	max-width: 1200px;
	margin: 0 auto;
}
.denomination h2 {
	font-size: 32px;
	letter-spacing: .05em;
	line-height: 48px;
}
.denomination__description {
    margin-top: 20px;
    line-height: 34px;
    letter-spacing: .05em;
}
.denomination ul {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 35px;
    margin-top: 50px;
}
.denomination__visual {
	box-shadow: 10px 10px 30px rgba(0,0,0,.3);
}
.denomination ul h3 {
    font-size: 20px;
    line-height: 48px;
    letter-spacing: .05em;
    text-align: center;
}
@media screen and (max-width: 767px) {
	.denomination {
		padding: 60px 5%;
	}
	.denomination h2 {
		font-size: 26px;
		letter-spacing: .05em;
		line-height: 1.5;
	}
	.denomination__description {
		margin-top: 20px;
		line-height: 1.65;
		letter-spacing: .05em;
	}
	.denomination ul {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 20px;
		margin-top: 30px;
	}
	.denomination ul h3 {
		margin-top: 8px;
		font-size: 15px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
}
/* -------------------------------- */
.formal {
	padding: 70px 5% 150px;
}
.formal__inner {
    display: flex;
    align-items: center;
	max-width: 1200px;
	margin: 0 auto;
    gap: 85px;
}
.formal__visual {
    width: 468px;
    min-width: 468px;
}
.formal__texts {
    width: 100%;
}
.formal__texts h2 {
	font-size: 32px;
	letter-spacing: .05em;
	line-height: 48px;
}
.formal__texts p {
    margin-top: 30px;
    line-height: 34px;
    letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
	.formal {
		padding: 60px 5%;
	}
	.formal__inner {
		flex-direction: column-reverse;
		gap: 30px;
	}
	.formal__visual {
		width: 100%;
		max-width: 260px;
		margin: 0 auto;
		min-width: initial;
	}
	.formal__texts {
		width: 100%;
	}
	.formal__texts h2 {
		font-size: 26px;
		letter-spacing: .05em;
		line-height: 1.5;
	}
	.formal__texts p {
		margin-top: 20px;
		line-height: 1.65;
		letter-spacing: .05em;
	}
}
/* -------------------------------- */
.informal {
	padding: 140px 5%;
}
.informal__inner {
	max-width: 1200px;
	margin: 0 auto;
}
.informal__about {
    position: relative;
    padding: 45px 35px 30px;
    background-color: #0e1432;
}
.informal__about h2 {
    position: absolute;
    top: 0;
    left: 35px;
    transform: translate(0, -50%);
    font-size: 32px;
	letter-spacing: .05em;
}
.informal__about p {
	line-height: 34px;
	letter-spacing: .05em;
}
.informal__title {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 115px;
}
.informal__line {
	width: 100%;
	height: 1px;
	background-color: rgba(255,255,255,.3);
}
.informal h3 {
    display: flex;
    align-items: center;
	white-space: nowrap;
}
.informal__title-ja {
	margin-right: 15px;
    font-size: 40px;
	letter-spacing: .05em;
	line-height: 40px;
}
.informal__title-en {
    color: #aa915b;
    font-size: 20px;
	font-weight: 400;
    letter-spacing: .1em;
}
.informal__inner > h4 {
    margin-top: 30px;
    font-size: 24px;
    line-height: 42px;
    letter-spacing: .05em;
}
.informal__description {
    margin-top: 20px;
    line-height: 34px;
    letter-spacing: .05em;
}

.informal ul.row {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 40px;
	width: 100%;
	margin-top: 40px;
}
.informal ul.row li a {
	display: block;
	background-color: #1c2345;
	color: #fff;
	box-shadow: 10px 10px 30px rgba(0,0,0,.3);
}
.informal ul.row li a:hover {
    opacity: .5;
    transition: .3s;
}
.informal ul.row li a .informal__texts {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 34px 22px 54px;
}
.informal ul.row li a .informal__texts-gender {
	padding: 9px 12px 3px;
	font-size: 14px;
	line-height: 1;
	letter-spacing: .05em;
	border: 1px solid #fff;
}
.informal ul.row li a .informal__texts h4 {
	margin-top: 12px;
	font-size: 20px;
	letter-spacing: .05em;	
}
.informal ul.row li a .informal__texts-btn {
	position: relative;
	width: 100%;
	max-width: 370px;
	margin-top: 40px;
	margin-bottom: 15px;
}
.informal ul.row li a .informal__texts-btn i {
	position: absolute;
	content: "";
	top: 50%;
	right: 0;
	transform: translate(0,-50%);
	z-index: 2;
}
.informal ul.row li a .informal__texts-btn::after {
	position: absolute;
	content: "";
	left: 0;
	bottom: -15px;
	width: 100%;
	height: 1px;
	margin-top: 10px;
	background-color: #fff;
	opacity: .3;
}
.informal ul.row li a .informal__texts-btn::before {
	position: absolute;
	content: "";
	left: 0;
	bottom: -15px;
	width: 18px;
	height: 1px;
	margin-top: 10px;
	background-color: #786d5e;
	z-index: 2;
}
.informal ul.column {
    display: grid;
	grid-template-columns: repeat(1,1fr);
	gap: 40px;
	width: 100%;
	margin-top: 40px;
}
.informal ul.column li {
    position: relative;
	display: flex;
	background-color: #1c2345;
	color: #fff;
	box-shadow: 10px 10px 30px rgba(0,0,0,.3);
}
.informal ul.column li .informal__visual {
    width: calc(50% - 25px);
    min-width: calc(50% - 25px);
}
.informal ul.column li .informal__texts {
    width: 50%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
    justify-content: center;
	padding: 115px;
}
.informal ul.column li .informal__texts-number {
    color: #aa915b;
	line-height: 42px;
}
.informal ul.column li .informal__texts h4 {
	margin-top: 12px;
	font-size: 32px;
    line-height: 42px;
	letter-spacing: .05em;	
}
.informal ul.column li .informal__texts-text {
    margin-top: 15px;
    line-height: 34px;
	letter-spacing: .05em;
}
.informal ul.column li .informal__texts-en {
	position: absolute;
	content: "";
	right: 20px;
    bottom: 10px;
    color: #aa915b;
    font-size: 86px;
	font-weight: 400;
    line-height: 1;
    opacity: .1;
	z-index: 2;
}
@media screen and (max-width: 767px) {
	.informal {
		padding: 50px 5%;
	}
	.informal__inner {
	}
	.informal__about {
		padding: 30px 5%;
	}
	.informal__about h2 {
		left: 16px;
		font-size: 26px;
	}
	.informal__about p {
		line-height: 1.65;
		letter-spacing: .05em;
	}
	.informal__title {
		align-items: flex-start;
		flex-direction: column-reverse;
		gap: 40px;
		margin-top: 60px;
	}
	.informal h3 {
		align-items: flex-start;
		flex-direction: column;
	}
	.informal__title-ja {
		font-size: 26px;
		letter-spacing: .05em;
		line-height: 1.5;
	}
	.informal__title-en {
		font-size: 16px;
		font-weight: 400;
		letter-spacing: .1em;
	}
	.informal__inner > h4 {
		margin-top: 30px;
		font-size: 18px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
	.informal__description {
		margin-top: 20px;
		line-height: 1.65;
		letter-spacing: .05em;
	}
	
	.informal ul.row {
		grid-template-columns: repeat(1,1fr);
	}
	.informal ul.row li a .informal__texts {
		padding: 20px 16px;
	}
	.informal ul.row li a .informal__texts h4 {
		margin-top: 12px;
		font-size: 20px;
		letter-spacing: .05em;	
	}
	.informal ul.column {
		display: grid;
		grid-template-columns: repeat(1,1fr);
		gap: 30px;
		width: 100%;
		margin-top: 40px;
	}
	.informal ul.column li {
		flex-direction: column;
	}
	.informal ul.column li .informal__visual {
		width: 100%;
		min-width: initial;
	}
	.informal ul.column li .informal__texts {
		width: 100%;
		padding: 20px 16px;
	}
	.informal ul.column li .informal__texts-number {
		line-height: 1.65;
	}
	.informal ul.column li .informal__texts h4 {
		margin-top: 12px;
		font-size: 26px;
		line-height: 1.65;
		letter-spacing: .05em;	
	}
	.informal ul.column li .informal__texts-text {
		margin-top: 15px;
		line-height: 1.65;
		letter-spacing: .05em;
	}
	.informal ul.column li .informal__texts-en {
		right: 20px;
		bottom: 10px;
		font-size: 40px;
	}
}