@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-ltt */
/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
}
.flexC {
	justify-content: center;
}
.zen {
	font-family: "Zen Maru Gothic", sans-serif;
}
.montserrat {
	font-family: "Montserrat", sans-serif;
}
.roboto {
	font-family: "Roboto Condensed", sans-serif;
}
/*------------------------------------------------------------
	comBgList
------------------------------------------------------------*/
.comBgList li {
	position: absolute;
	z-index: -1;
}
.comBgList .line01 {
	right: 1.3rem;
	top: -3.3rem;
	width: 30.7rem;
}
.comBgList .line02 {
	right: calc(50% + 36.5rem);
	top: 30.3rem;
	width: 19.8rem;
}
.comBgList .line03 {
	right: calc(50% + 36.5rem);
	top: 121.8rem;
	width: 54.9rem;
}
.comBgList .line04 {
	right: calc(50% + 35.2rem);
	top: 221.5rem;
	width: 29.9rem;
}
.comBgList .line05 {
	right: calc(50% + 41.3rem);
	top: 308.5rem;
	width: 19.8rem;
}
.comBgList .line06 {
	right: calc(50% + 48.6rem);
	top: 400rem;
	width: 30.7rem;
}
.comBgList .line07 {
	right: calc(50% + 4.7rem);
	top: 436rem;
	width: 54.9rem;
}
.comBgList .line08 {
	right: calc(50% + 53.3rem);
	top: 323.7rem;
	width: 20.9rem;
}
.comBgList .line09 {
	right: calc(50% + 36.5rem);
	top: 398rem;
	width: 54.9rem;
}
@media all and (max-width: 896px) {
	.comBgList .line01 {
		right: -3.2rem;
		top: -5.6rem;
		width: 15.4rem;
	}
	.comBgList .line02 {
		right: auto;
		left: 3.8rem;
		top: 15.2rem;
		width: 9.9rem;
	}
}
/*------------------------------------------------------------
	comSpecial
------------------------------------------------------------*/
.comSpecial {
	padding: 6.8rem 0 7.7rem;
	justify-content: flex-end;
	flex-wrap: nowrap;
}
.comSpecial .enTtl {
	margin: 0.5rem 5rem 0 0;
	width: 6.2rem;
}
.comSpecial .rBox {
	width: calc(50% + 52.7rem);
}
.comSpecial h2 {
	margin: 0 0 4.2rem 5.1rem;
}
.comSpecial h2 img {
	height: 13.3rem;
}
.comSpecial .linkNavi {
	margin: 0 0 10.4rem 5.2rem;
	padding: 0 2rem;
	max-width: 109.2rem;
	justify-content: center;
	border-radius: 6rem;
	border: 1px solid #231815;
}
.comSpecial .linkNavi.btm {
	margin: 6rem 0 0 5.2rem;
}
.comSpecial .linkNavi li {
	width: 26rem;
	position: relative;
}
.comSpecial .linkNavi li:before {
	position: absolute;
	left: 0;
	top: 1.8rem;
	width: 1px;
	height: 5.8rem;
	background-color: #231815;
	content: "";
}
.comSpecial .linkNavi li:last-child:after {
	position: absolute;
	right: 0;
	top: 1.8rem;
	width: 1px;
	height: 5.8rem;
	background-color: #231815;
	content: "";
}
.comSpecial .linkNavi a {
	padding: 0 2rem;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	font-size: 1.4rem;
	min-height: 9.5rem;
	align-content: center;
	align-items: center;
	font-feature-settings: normal;
	letter-spacing: 0.1em;
	background: url(../img/common/icon01.png) no-repeat right 2.6rem bottom 2.2rem/1.3rem;
}
.comSpecial .linkNavi a:after {
	opacity: 0;
	position: absolute;
	left: 50%;
	bottom: 0;
	width: calc(100% - 4rem);
	height: 0.8rem;
	transition: .3s;
	transform: translateX(-50%);
	background: url(../img/common/line01.png) no-repeat left bottom/100% 100%;
	content: "";
}
.comSpecial .linkNavi a .name {
	display: block;
	width: 100%;
	letter-spacing: 0;
}
.comSpecial .linkNavi a .name .large {
	font-size: 2.2rem;
	vertical-align: -0.3rem;
	font-weight: 500;
}
.comSpecial .linkNavi a .sml {
	margin-bottom: 1rem;
	width: 100%;
	font-size: 1.5rem;
	line-height: 1.2;
	letter-spacing: 0;
}
.comSpecial .linkNavi .on a:after {
	opacity: 1;
}
.comSpecial .linkNavi.col2 {
	padding: 0 3rem 0 2rem;
}
.comSpecial .linkNavi.col2 li {
	width: 38.3rem;
}
.comSpecial .linkNavi.col2 a:after {
	width: 34.8rem;
}
.comSpecial .bgWhite {
	padding: 0 0 14.2rem 12.1rem;
	background-color: #fff;
	border-radius: 16rem 0 0 0;
}
.comSpecial .bgWhite .mainImg {
	margin-bottom: -2.6rem;
	border-radius: 10rem 0 0 0;
	transform: translateY(-6.5rem);
	overflow: hidden;
}
.comSpecial .bgWhite .mainImg img {
	width: 100%;
}
.comSpecial .bgWhite .content {
	margin: 0;
	max-width: 95rem;
}
.comSpecial .topTtl {
	margin-bottom: 5.2rem;
}
.comSpecial .topTtl img {
	height: 9.4rem;
}
.comSpecial .profile {
	margin-bottom: 6.4rem;
}
.comSpecial .profile .ttl {
	margin: 0.4rem 4.6rem 0 0;
	width: 25.6rem;
}
.comSpecial .profile .txtBox {
	flex: 1;
	line-height: 1.8;
}
.comSpecial .profile .txtBox p {
	letter-spacing: 0.02em;
	text-align: justify;
}
.comSpecial .detailBox h3 {
	margin-bottom: 2.5rem;
	width: 11.3rem;
}
.comSpecial .detailBox .linkList {
	margin-bottom: 8.8rem;
	gap: 0 5.6rem;
}
.comSpecial .detailBox .linkList li {
	margin-bottom: -1px;
	position: relative;
	width: 14.5rem;
}
.comSpecial .detailBox .linkList li:after {
	position: absolute;
	right: -3rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
	height: 1.7rem;
	background: url(../img/common/icon02.png) no-repeat left top/100%;
	content: "";
}
.comSpecial .detailBox .linkList li:last-child:after {
	display: none;
}
.comSpecial .detailBox .linkList a {
	padding: 1rem 0.2rem;
	height: 100%;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	display: flex;
	align-items: center;
	min-height: 9.6rem;
	border-top: 1px solid #1E2735;
	border-bottom: 1px solid #1E2735;
}
.comSpecial .detailBox .linkList a:hover {
	opacity: 0.7;
}
.comSpecial .detailBox .linkList.col3 {
	gap: 0 3rem;
}
.comSpecial .detailBox .linkList.col3 li {
	width: calc((100% - 6rem)/3);
}
.comSpecial .detailBox .linkList.arDown li:after {
	display: none;
}
.comSpecial .detailBox .linkList.arDown a {
	background: url(../img/common/icon08.png) no-repeat right 1.2rem center/1.7rem;
}
@media all and (min-width: 897px) {
	.comSpecial .linkNavi a:hover:after {
		opacity: 1;
	}
}
@media all and (max-width: 896px) {
	.comSpecial {
		padding: 1.4rem 0 3rem;
		display: block;
	}
	.comSpecial .rBox {
		width: auto;
	}
	.comSpecial h2 {
		margin: 0 0 1.8rem 1.4rem;
	}
	.comSpecial h2 img {
		height: 9rem;
	}
	.comSpecial .linkNavi {
		margin: 0 1.2rem 5rem 1.6rem;
		padding: 0 2rem 0 3.3rem;
	}
	.comSpecial .linkNavi.btm {
		margin: 3rem 1.2rem 0 1.6rem;
	}
	.comSpecial .linkNavi li {
		width: 13rem;
	}
	.comSpecial .linkNavi li:before {
		top: 0.9rem;
		height: 2.9rem;
	}
	.comSpecial .linkNavi li:last-child:after {
		top: 0.9rem;
		height: 2.9rem;
	}
	.comSpecial .linkNavi a {
		padding: 0 1rem;
		font-size: 1rem;
		min-height: 4.7rem;
		background-position: right 1.2rem bottom 1rem;
		background-size: 0.6rem;
	}
	.comSpecial .linkNavi a:after {
		width: calc(100% - 2rem);
		height: 0.3rem;
	}
	.comSpecial .linkNavi a .name .large {
		font-size: 1.6rem;
		line-height: 1;
		vertical-align: -0.2rem;
	}
	.comSpecial .linkNavi a .sml {
		margin-bottom: 0.3rem;
		font-size: 0.75rem;
	}
	.comSpecial .linkNavi.col2 {
		padding: 0 2rem 0 3rem;
	}
	.comSpecial .linkNavi.col2 li {
		width: 13rem;
	}
	.comSpecial .linkNavi.col2 a:after {
		width: 12rem;
	}
	.comSpecial .bgWhite {
		padding: 0 0 6rem 1.5rem;
		border-radius: 9rem 0 0 0;
	}
	.comSpecial .bgWhite .mainImg {
		margin-bottom: -0.8rem;
		border-radius: 5rem 0 0 0;
		transform: translateY(-3.1rem);
	}
	.comSpecial .topTtl {
		margin: 0 0 3.4rem 0.2rem;
	}
	.comSpecial .topTtl img {
		height: 7.9rem;
	}
	.comSpecial .bgWhite .content {
		margin-right: 1.5rem;
	}
	.comSpecial .profile {
		margin-bottom: 2.3rem;
		display: block;
	}
	.comSpecial .profile .ttl {
		margin: 0 0 1.3rem;
		width: 19.4rem;
	}
	.comSpecial .profile .txtBox {
		line-height: 1.5;
	}
	.comSpecial .profile .txtBox p {
		font-size: 0.9rem;
		letter-spacing: 0;
	}
	.comSpecial .detailBox h3 {
		margin: 0 0 0.5rem 0.2rem;
		width: 5.7rem;
	}
	.comSpecial .detailBox .linkList {
		margin-bottom: 2.8rem;
		gap: 1.5rem 2.9rem;
	}
	.comSpecial .detailBox .linkList li {
		width: calc((100% - 12.6rem)/3);
	}
	.comSpecial .detailBox .linkList li:after {
		right: -1.7rem;
		width: 0.5rem;
		height: 0.9rem;
	}
	.comSpecial .detailBox .linkList a {
		font-size: 1rem;
		min-height: 4.9rem;
	}
	.comSpecial .detailBox .linkList.col3 {
		gap: 0 1.5rem;
	}
	.comSpecial .detailBox .linkList.col3 li {
		width: 14.8rem;
	}
	.comSpecial .detailBox .linkList.arDown a {
		background-size: 0.8rem;
		background-position: right 0.5rem center;
	}
}
/*------------------------------------------------------------
	fade
------------------------------------------------------------*/
/* fadeInUp */
.fadeInUp {
	opacity: 0;
	transform: translateY(3rem);
	transition: .8s;
}
.fadeInUp.on {
	opacity: 1;
	transform: none;
}
/* fadeLineR */
.fadeLineR img,
.fadeLineL img {
	opacity: 0;
	transition: transform .7s, opacity .7s;
}
.fadeLineR img {
	transform: translate(50%, -50%);
}
.fadeLineL img {
	transform: translate(-50%, 50%);
}
.fadeLineR.on img,
.fadeLineL.on img {
	opacity: 1;
	transform: none;
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	max-width: 97.2rem;
}
/*------------------------------------------------------------
	infoPage
------------------------------------------------------------*/
#infoPage #gHeader {
	height: 9.7rem;
	background-color: #fff;
}
#infoPage #main {
	padding: 10.3rem 0 17rem;
	background: #F1F2F5 url(../img/common/bg01.png) repeat left top/auto 1.4rem;
}
@media all and (max-width: 896px) {
	#infoPage #gHeader {
		height: 4.3rem;
	}
	#infoPage #main {
		padding: 2.7rem 0 9.5rem;
		background-size: auto 0.7rem;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin: 0 0 8rem auto;
	padding-bottom: 2.2rem;
	position: relative;
	width: calc(50% + 48rem);
	color: #1E2735;
	font-size: 6.5rem;
	font-feature-settings: normal;
	letter-spacing: 0.018em;
	font-weight: 200;
}
.headLine01:after {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 0.6rem;
	background: url(../img/common/line02.png) no-repeat left top/100% 100%;
	content: "";
}
.headLine01 .en {
	margin-left: 6rem;
	font-size: 2.6rem;
	font-weight: 300;
	vertical-align: 1.4rem;
	letter-spacing: 0.16em;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin: 0 0 4rem;
		padding: 0 0 1.2rem 2rem;
		width: auto;
		font-size: 3.25rem;
	}
	.headLine01:after {
		height: 0.4rem;
	}
	.headLine01 .en {
		display: block;
		margin: 0.5rem 0 0;
		font-size: 1.3rem;
	}
}
/*------------------------------------------------------------
	comPoint
------------------------------------------------------------*/
.comPoint {
	margin: 3.9rem 0.8rem 0 1.5rem;
}
.comPoint .ttl {
	margin-bottom: 1rem;
}
.comPoint .ttl img {
	width: 100%;
}
.comPoint .link {
	text-align: right;
}
.comPoint .link a {
	display: inline-block;
	padding-left: 1.8rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
	background: url(../img/common/icon11.png) no-repeat left 0.9rem/1.4rem;
}
@media all and (min-width: 897px) {
	.comPoint .link a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	.comPoint {
		margin: 2.5rem 1.2rem 0 1rem;
	}
	.comPoint .ttl {
		margin-bottom: 0.2rem;
	}
	.comPoint .link a {
		padding-left: 1.2rem;
		font-size: 1rem;
		letter-spacing: 0.06em;
		background-position: left 0.7rem;
		background-size: 1rem;
	}
}