@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-LSM */
/* 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;}
.instrument {
	font-family: "Instrument Sans", sans-serif;
}
.roboto {
	font-family: "Roboto Condensed", sans-serif;
}
.noto {
	font-family: "Noto Sans JP", sans-serif;
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	padding: 0 2rem;
	max-width: 160rem;
	box-sizing: content-box;
}
@media all and (max-width: 896px) {
	.content {
		padding: 0 2rem;
	}
}
/*------------------------------------------------------------
	comBox
------------------------------------------------------------*/
.comBox {
	margin-top: -11.1rem;
	padding: 16rem 0 0;
	border-radius: 4.8rem 4.8rem 0 0;
	background: #FFF;
	overflow: clip;
	position: relative;
	z-index: 5;
}
@media all and (max-width: 896px) {
	.comBox {
		margin-top: -3.3rem;
		padding: 12.1rem 0 0;
		border-radius: 3.2rem 3.2rem 0 0;
	}
}
/*------------------------------------------------------------
    mainBox
------------------------------------------------------------*/
#sideBar .linkList {
    font-size: 1.6rem;
    font-weight: 500;
}
#sideBar .linkList a {
    padding-left: 2.2rem;
    position: relative;
    display: inline-block;
    color: #000;
}
@media all and (min-width: 897px) {
    .mainBox {
        max-width: 176rem;
        margin: 0 auto;
        padding: 0 2rem;
        display: flex;
        justify-content: space-between;
    }
    #sideBar {
        width: 30rem;
        margin-top: -0.4rem;
        position: relative;
    }
    #sideBar .linkList {
        position: sticky;
        left: 0;
        top: 10rem;
    }
    #sideBar .linkList li:not(:last-child) {
        margin-bottom: 2.4rem;
    }
    #sideBar .linkList a::before {
        position: absolute;
        left: 0;
        top: 50%;
        width: 1rem;
        height: 1rem;
        background-color: #0620A3;
        border-radius: 100%;
        transform: translateY(-50%);
        content: "";
        transition: .3s;
        opacity: 0;
    }
    #sideBar .linkList a:hover::before {
        opacity: 1;
    }
    #conts {
        width: 120rem;
        margin-top: -0.3rem;
    }
}
@media all and (max-width: 896px) {
    #sideBar {
        padding: 0 2rem 7.6rem;
        border-bottom: 1px solid #F0F0F0;
    }
    #sideBar .linkList {
        display: flex;
        flex-wrap: wrap;
        font-size: 1.4rem;
    }
    #sideBar .linkList li {
        margin: 0 0.5rem 0.4rem 0;
        width: fit-content;
    }
    #sideBar .linkList a {
        padding: 1.2rem 3.5rem 1.4rem 1.4rem;
        display: block;
        border-radius: 0.3rem;
        background: #F6FAFC url(../img/common/icon11.webp) no-repeat right 1.3rem center;
        background-size: 1.6rem auto;
    }
    #conts {
        margin: 0 2rem;
    }
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	color: #FFF;
	font-size: 2.2rem;
	font-weight: 700;
}
.headLine01 .en {
	margin-bottom: 1.3rem;
	display: block;
	font-size: 13.5rem;
	font-weight: 600;
	font-family: "Instrument Sans", sans-serif;
	line-height: 1.2;
}
@media all and (max-width: 896px) {
	.headLine01 {
		font-size: 1.3rem;
	}
	.headLine01 .en {
		margin-bottom: 0.8rem;
		font-size: 4.8rem;
	}
}
/*------------------------------------------------------------
    headLine02
------------------------------------------------------------*/
.headLine02 {
    margin-bottom: 10.3rem;
    color: #333;
    font-size: 4rem;
    font-weight: 500;
}
.headLine02 .en {
    margin-bottom: 0.9rem;
    display: block;
    color: #0620A3;
    font-size: 1.5rem;
    letter-spacing: 0.075rem;
	font-family: "Instrument Sans", sans-serif;
}
@media all and (max-width: 896px) {
    .headLine02 {
        margin-bottom: 11.1rem;
        font-size: 2rem;
        font-weight: 700;
        text-align: center;
    }
    .headLine02 .en {
        margin-bottom: 0.7rem;
        font-weight: 500;
        font-size: 1.3rem;
        letter-spacing: 0.065rem;
    }
}
/*------------------------------------------------------------
    headLine03
------------------------------------------------------------*/
.headLine03 {
    margin-bottom: 7.6rem;
    position: relative;
	color: #333;
    font-size: 2.6rem;
    font-weight: 500;
}
.headLine03::before {
    position: absolute;
    left: 0;
    bottom: -2rem;
    width: 3.2rem;
    height: 0.2rem;
    background-color: #0620A3;
    content: "";
}
@media all and (max-width: 896px) {
    .headLine03 {
        margin-bottom: 5.3rem;
        font-size: 1.6rem;
        text-align: center;
    }
    .headLine03::before {
        left: 50%;
        bottom: -1.3rem;
        width: 2.4rem;
        height: 1px;
        transform: translateX(-50%);
    }
}
/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/
.headLine04 {
	margin-bottom: 6.4rem;
	font-size: 3.3rem;
	font-weight: 700;
	line-height: 1.75;
}
.headLine04 small {
	margin-bottom: 2.6rem;
	padding-left: 3.2rem;
	position: relative;
	font-size: 1.8rem;
	display: block;
	font-weight: 500;
}
.headLine04 small::before {
	position: absolute;
	top: 1.2rem;
	left: 0;
	width: 1.6rem;
	height: 0.8rem;
	background: #0620A3;
	content: '';
}
@media all and (max-width: 896px) {
	.headLine04 {
		margin-bottom: 3.8rem;
		font-size: 2rem;
		line-height: 1.75;
	}
	.headLine04 small {
		margin-bottom: 1.9rem;
		padding-left: 1.9rem;
		font-size: 1.4rem;
	}
	.headLine04 small::before {
		top: 1.1rem;
		width: 1.1rem;
		height: 0.3rem;
	}
}
/*------------------------------------------------------------
	headLine05
------------------------------------------------------------*/
.headLine05 {
	padding-bottom: 4.2rem;
	position: relative;
}
.headLine05 .jp {
	margin-bottom: 1.4rem;
	display: block;
	font-weight: 500;
}
.headLine05 .en {
	display: block;
	font-family: "Instrument Sans", sans-serif;
	font-size: 6rem;
	font-weight: 700;
	line-height: 1.2;
}
.headLine05::before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 4.8rem;
	height: 1px;
	background: #141516;
	content: '';
}
@media all and (max-width: 896px) {
	.headLine05 {
		margin-bottom: 4.7rem;
		padding-bottom: 2.9rem;
		text-align: center;
	}
	.headLine05 .jp {
		margin-bottom: 1.1rem;
		font-size: 1.3rem;
	}
	.headLine05 .en {
		font-size: 3rem;
	}
	.headLine05::before {
		left: 50%;
		transform: translateX(-50%);
		width: 4rem;
	}
}
/*------------------------------------------------------------
	headLine06
------------------------------------------------------------*/
.headLine06 .en {
	margin-bottom: -0.7rem;
	display: block;
	font-size: 8.6rem;
	font-weight: 600;
	font-family: "Instrument Sans", sans-serif;
}
.headLine06 .jp {
	font-size: 2.2rem;
	font-weight: 700;
}
@media all and (max-width: 896px) {
	.headLine06 {
		margin-bottom: 2.8rem;
		text-align: center;
	}
	.headLine06 .en {
		margin-bottom: 0;
		font-size: 3.8rem;
	}
	.headLine06 .jp {
		font-size: 1.4rem;
	}
}
/*------------------------------------------------------------
	headLine07
------------------------------------------------------------*/
.headLine07 {
	margin-bottom: 1.3rem;
	transition: all 0.3s ease;
}
.headLine07 .jp {
	margin-bottom: 0.7rem;
	padding-left: 2.2rem;
	display: block;
	position: relative;
	font-size: 2.36rem;
	font-weight: 700;
}
.headLine07 .jp::before {
	position: absolute;
	top: 1.5rem;
	left: 0;
	width: 1.4rem;
	height: 0.3rem;
	background: #0620A3;
	content: '';
	transition: all 0.3s ease;
}
.headLine07 .en {
	font-size: 6rem;
	font-weight: 600;
	font-family: "Instrument Sans", sans-serif;
}
@media all and (max-width: 896px) {
	.headLine07 {
		margin-bottom: 0.8rem;
	}
	.headLine07 .jp {
		margin-bottom: 0.4rem;
		padding-left: 1.3rem;
		font-size: 1.44rem;
	}
	.headLine07 .jp::before {
		top: 1rem;
		width: 0.8rem;
		height: 0.2rem;
	}
	.headLine07 .en {
		font-size: 3.64rem;
	}
}
/*------------------------------------------------------------
	headLine08
------------------------------------------------------------*/
.headLine08 {
	margin-bottom: 10.7rem;
	color: #FFF;
	font-size: 3rem;
	font-weight: 700;
}
.headLine08 .en {
	margin-bottom: -1.8rem;
	display: block;
	font-size: 11.4rem;
	font-weight: 600;
	font-family: "Instrument Sans", sans-serif;
}
@media all and (max-width: 896px) {
	.headLine08 {
		margin: 0 auto 7.6rem;
		width: fit-content;
		font-size: 1.4rem;
	}
	.headLine08 .en {
		margin-bottom: 0.3rem;
		font-size: 3.2rem;
	}
}
/*------------------------------------------------------------
	headLine09
------------------------------------------------------------*/
.headLine09 {
	margin-bottom: 5.1rem;
}
.headLine09 .en {
	color: #0620A3;
	font-size: 5.5rem;
	font-weight: 600;
	font-family: "Instrument Sans", sans-serif;
}
.headLine09 .jp {
	margin: 0 0 0 3.2rem;
	color: #333;
	font-size: 2.2rem;
	font-weight: 700;
	vertical-align: 0.9rem;
}
@media all and (max-width: 896px) {
	.headLine09 {
		margin-bottom: 5.9rem;
		text-align: center;
	}
	.headLine09 .en {
		font-size: 3.2rem;
	}
	.headLine09 .jp {
		margin: 0.4rem 0 0;
		font-size: 1.5rem;
		display: block;
	}
}
/*------------------------------------------------------------
	comHover
------------------------------------------------------------*/
.comHover {
	position: relative;
	overflow: hidden;
}
.comHover.back .comArrow {
	right: auto;
	left: 2.4rem;
}
@media all and (min-width: 897px) {
	.comHover:hover .comArrow .arrow.arrow01 {
		transform: translateX(0);
	}
	.comHover:hover .comArrow .arrow.arrow02 {
		transform: translateX(130%);
	}
	.comHover:hover .comLinkText .bg {
		transform: scale(1.18);
		background: #FF8400;
	}
	.comHover:hover .comLinkText.style01 .bg {
		background: #0620A3;
	}
	.comHover:hover .comLinkText.style01 .comArrow .arrow {
		background-image: url(../img/common/icon02.webp);
	}
	.comHover:hover .comLinkText .text .sub.sub01 {
		transform: translateY(0);
	}
	.comHover:hover .comLinkText .text .sub.sub02 {
		transform: translateY(-100%);
	}
	.comHover.back:hover .comArrow .arrow.arrow02 {
		transform: translateX(-130%);
	}
}
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	comArrow
------------------------------------------------------------*/
.comArrow {
	width: 2rem;
	overflow: hidden;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 2.4rem;
	display: block;
	transition: all 0.3s ease;
	z-index: 1;
}
.comArrow .arrow {
	display: block;
	width: 100%;
	height: 0.5rem;
	background: url(../img/common/icon02.webp) no-repeat left top / 100%;
	transition: all 0.3s ease;
}
.comArrow .arrow.arrow01 {
	position: absolute;
	top: 0;
	left: 0;
	transform: translateX(-130%);
}
.back .comArrow .arrow {
	background-image: url(../img/common/icon02_back.webp);
}
.back .comArrow .arrow.arrow01 {
	transform: translateX(130%);
}
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	comLinkText
------------------------------------------------------------*/
.comLinkText {
	width: 23.4rem;
	margin-left: auto;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.comLinkText .text {
	padding-bottom: 0.1rem;
	font-weight: 700;
	position: relative;
	overflow: hidden;
}
.comLinkText .text .sub {
	display: block;
	transition: all 0.3s ease;
	line-height: 1.2;
}
.comLinkText .text .sub.sub01 {
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(100%);
}
.comLinkText .bg {
	width: 8.8rem;
	height: 5.6rem;
	background: #0620A3;
	transition: all 0.3s ease;
	border-radius: 3.2rem;
}
.comLinkText .comArrow {
	right: 3.4rem;
}
.comLinkText:not(.style01) .comArrow .arrow {
	background-image: url(../img/common/icon02.webp);
}
.comLinkText .comArrow .arrow {
	background-image: url(../img/common/icon06.webp);
}
.comLinkText.style01 .text {
	color: #FFF;
}
.comLinkText.style01 .bg {
	background: #FFF;
}
@media all and (max-width: 896px) {
	.comLinkText {
		width: 14.3rem;
		margin: 0 auto;
	}
	.comLinkText .text {
		padding-bottom: 0.1rem;
		font-size: 1.3rem;
	}
	.comLinkText .bg {
		width: 4.4rem;
		height: 2.8rem;
	}
	.comLinkText .comArrow {
		margin-top: 0.1rem;
		right: 0.7rem;
	}
	.comLinkText .comArrow .arrow {
		background-size: 1rem;
	}
}
/*------------------------------------------------------------
	comOutArrow
------------------------------------------------------------*/
.comOutArrow {
	position: absolute;
	bottom: 7.3rem;
	right: 7.2rem;
	width: 7.2rem;
	height: 3.5rem;
	border: 1px solid #BCBCBC;
	border-radius: 2.4rem;
	transition: all 0.3s ease;
}
.comOutArrow .comArrow .arrow {
	background-image: url(../img/common/icon12.webp);
}
@media all and (min-width: 897px) {
	.comHover:hover .comOutArrow {
		border-color: #F6FAFC;
		background: url(../img/index/link_bg.webp) no-repeat center center / cover;
	}
	.comHover:hover .comOutArrow .comArrow .arrow {
		background-image: url(../img/common/icon06.webp);
	}
}
@media all and (max-width: 896px) {
	.comOutArrow {
		bottom: 4.4rem;
		right: 4.4rem;
		width: 4.4rem;
		height: 2.1rem;
	}
	.comOutArrow .comArrow {
		margin-top: 0.1rem;
		right: 1.5rem;
		width: 1.2rem;
	}
}
/*------------------------------------------------------------
	comBannerBox
------------------------------------------------------------*/
.comBannerBox a {
	padding: 17.2rem 0 0;
	position: relative;
	display: block;
	aspect-ratio: 1920 / 758;
}
.comBannerBox a::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/common/banner_bg.webp) no-repeat center center / cover;
	content: '';
	opacity: 0.6;
	transition: all 0.3s ease;
}
.comBannerBox a::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(20, 21, 22, 0.7);
	mix-blend-mode: multiply;
	content: '';
	z-index: 5;
	transition: all 0.3s ease;
}
.comBannerBox .inner {
	margin: 0 auto;
	max-width: 123.8rem;
	padding-left: 0.6rem;
	position: relative;
	z-index: 10;
	box-sizing: content-box;
}
.comBannerBox .inner .comLinkText {
	margin: -7.5rem 3.4rem 0 auto;
}
@media all and (min-width: 897px) {
	.comBannerBox a:hover::before {
		opacity: 0.8;
		transform: scale(1.033);
	}
	.comBannerBox a:hover::after {
		background: rgba(20, 21, 22, 0.4);
	}
}
@media all and (max-width: 896px) {
	.comBannerBox a {
		padding: 16.5vw 0 0;
		aspect-ratio: 375 / 362;
	}
	.comBannerBox a::before {
		background-image: url(../img/common/banner_bg_sp.webp);
		opacity: 1;
	}
	.comBannerBox a::after {
		display: none;
	}
	.comBannerBox .inner {
		margin: 0 2rem;
		max-width: inherit;
		padding-left: 0;
	}
	.comBannerBox .inner .textImg {
		margin: 0 auto;
		width: 69.34vw;
	}
	.comBannerBox .inner .textImg img {
		width: 100%;
	}
	.comBannerBox .inner .comLinkText {
		margin: 1.9rem auto 0;
	}
}
/*------------------------------------------------------------
	comLinkUl
------------------------------------------------------------*/
.comLinkUl {
	margin-bottom: 4.5rem;
}
.comLinkUl li:not(:last-child) {
	margin-bottom: 1.1rem;
}
.comLinkUl li a {
	padding: 0 4rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 8rem;
	background: #0620A3;
	border-radius: 0.4rem;
}
.comLinkUl li a .text {
	color: #FFF;
	font-size: 1.6rem;
	font-weight: 500;
}
.comLinkUl li a .text .en {
	margin-right: 2.3rem;
	font-family: "Instrument Sans", sans-serif;
	font-size: 2.16rem;
	font-weight: 700;
	letter-spacing: 0.086rem;
}
.comLinkUl li.style01 a {
	min-height: 8.3rem;
	background: #0080FF;
}
@media all and (min-width: 897px) {
	.comLinkUl li a:hover {
		background: #141516;
	}
}
@media all and (max-width: 896px) {
	.comLinkUl {
		margin-bottom: 6.4rem;
	}
	.comLinkUl li:not(:last-child) {
		margin-bottom: 0.8rem;
	}
	.comLinkUl li {
		margin: 0 auto;
		max-width: 29.5rem;
	}
	.comLinkUl li a {
		padding: 0.3rem 4rem 0;
		min-height: 6.4rem;
	}
	.comLinkUl li a .text {
		font-size: 1.4rem;
	}
	.comLinkUl li a .text .en {
		margin-right: 1.6rem;
		font-size: 1.7rem;
		letter-spacing: 0.068rem;
	}
	.comLinkUl li.style01 a {
		min-height: 6.4rem;
	}
}
/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink {
	margin: 0 auto;
	width: 22.4rem;
}
.comLink a {
	padding-right: 3.5rem;
	min-height: 6.6rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	background-color: #141516;
	border-radius: 4rem;
	color: #FFF;
	font-weight: 500;
	text-align: center;
}
.comLink .comArrow {
	right: 4rem;
}
.comLink.style01 a {
	padding-right: 0;
}
@media all and (min-width: 897px) {
	.comLink a:hover {
		background-color: #0620A3 !important;
	}
}
@media all and (max-width: 896px) {
	.comLink {
		width: 18.6rem;
	}
	.comLink a {
		padding-right: 2.8rem;
		min-height: 5.3rem;
		font-size: 1.3rem;
	}
	.comLink .comArrow {
		margin-top: -0.1rem;
		width: 1.6rem;
		right: 4.4rem;
	}
	.comLink .comArrow .arrow {
		height: 0.4rem;
	}
	.comLink.style01 {
		width: 14.5rem;
	}
}
/*------------------------------------------------------------
	comSlideBox
------------------------------------------------------------*/
.comSlideBox .comSwiper {
	margin: 0 0 7.7rem auto;
	width: calc(50% + 80rem);
}
@media all and (min-width: 897px) and (max-width: 1660px) {
	.comSlideBox .comSwiper {
		margin-left: 2rem;
		width: auto;
	}
}
@media all and (max-width: 896px) {
	.comSlideBox .comSwiper {
		margin: 0 0 2.4rem 2rem;
		width: auto;
	}
}
/*------------------------------------------------------------
	comPageBox
------------------------------------------------------------*/
.comPageBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.comPageBox .swiper-scrollbar {
	position: static;
	width: 125.6rem;
	background: #F5F5F5;
}
.comPageBox .swiper-scrollbar .swiper-scrollbar-drag {
	background: #C9C9C9;
}
.comPageBox .arrowBox {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
}
.comPageBox .arrowBox .swiper-button-prev,
.comPageBox .arrowBox .swiper-button-next {
	margin: 0;
	width: 8.8rem;
	height: 5.6rem;
	border: 1px solid #D9D9D9;
	right: auto;
	top: auto;
	left: auto;
	border-radius: 3.2rem;
	transition: all 0.3s ease;
}
.comPageBox .arrowBox .swiper-button-prev svg,
.comPageBox .arrowBox .swiper-button-next svg {
	display: none;
}
.comPageBox .arrowBox .comArrow {
	right: 3.3rem;
}
.comPageBox .arrowBox .back .comArrow {
	left: 3.3rem;
}
.comPageBox .arrowBox .comArrow .arrow {
	background-image: url(../img/common/icon12.webp);
}
.comPageBox .arrowBox .back .comArrow .arrow {
	background-image: url(../img/common/icon12_back.webp);
}
@media all and (min-width: 897px) {
	.comPageBox .arrowBox .comHover:hover {
		border-color: #0620A3 !important;
	}
	.comPageBox .arrowBox .comHover:hover .comArrow .arrow {
		background-image: url(../img/common/icon06.webp);
	}
	.comPageBox .arrowBox .comHover.back:hover .comArrow .arrow {
		background-image: url(../img/common/icon06_back.webp);
	}
}
@media all and (max-width: 896px) {
	.comPageBox .swiper-scrollbar {
		width: calc(100% - 11.6rem);
		height: 0.3rem;
	}
	.comPageBox .swiper-scrollbar .swiper-scrollbar-drag {
		height: 0.3rem;
	}
	.comPageBox .arrowBox {
		gap: 0.8rem;
	}
	.comPageBox .arrowBox .swiper-button-prev,
	.comPageBox .arrowBox .swiper-button-next {
		width: 4.4rem;
		height: 2.8rem;
	}
	.comPageBox .arrowBox .comArrow {
		margin-top: 0.1rem;
		right: 1.6rem;
		width: 1rem;
	}
	.comPageBox .arrowBox .back .comArrow {
		left: 1.6rem;
	}
	.comPageBox .arrowBox .comArrow .arrow {
		background-size: 1rem;
	}
}
/*------------------------------------------------------------
	comInterviewList
------------------------------------------------------------*/
.comInterviewList {
	margin-bottom: 19rem;
	display: flex;
	flex-wrap: wrap;
	gap: 19rem 12rem;
}
.comInterviewList li {
	width: calc((100% - 24rem) / 3);
}
.comInterviewList li a {
	display: block;
}
.comInterviewList li .photoBox {
	margin-bottom: 3.5rem;
	position: relative;
}
.comInterviewList li .photoBox .photo {
	overflow: hidden;
	aspect-ratio: 453 / 343;
	clip-path: polygon(0 1.3rem,100% 0,100% calc(100% - 1.7rem),0 100%);
}
.comInterviewList li .photoBox .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.3s ease;
}
.comInterviewList li .photoBox .tag {
	position: absolute;
	bottom: 4rem;
	right: -0.8rem;
	width: 13.4rem;
	color: #FFF;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
}
.comInterviewList li .photoBox .tag span {
	margin-bottom: 0.5rem;
	padding: 0.2rem 0.5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	min-height: 3.2rem;
	background: #0620A3;
}
.comInterviewList li .photoBox .tag span:last-child {
	margin-bottom: 0;
}
.comInterviewList li .title {
	margin-bottom: 1rem;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.4;
}
.comInterviewList li .name {
	display: flex;
	flex-wrap: nowrap;
}
.comInterviewList li .name .sub {
	margin-right: 2.4rem;
	padding-right: 2.5rem;
	position: relative;
	font-size: 2.5rem;
	font-weight: 500;
}
.comInterviewList li .name .sub::before {
	position: absolute;
	top: 0.7rem;
	right: 0;
	bottom: 0.8rem;
	width: 1px;
	background: #141516;
	content: '';
}
.comInterviewList li .name .sml {
	padding-top: 0.8rem;
	flex: 1;
	font-size: 1.5rem;
	font-weight: 500;
}
@media all and (min-width: 897px) {
	.comInterviewList li a:hover .photoBox .photo img {
		transform: scale(1.05);
	}
}
@media all and (max-width: 896px) {
	.comInterviewList {
		margin-bottom: 7.5rem;
		display: block;
	}
	.comInterviewList li {
		margin-bottom: 6rem;
		width: auto;
	}
	.comInterviewList li:last-child {
		margin-bottom: 0;
	}
	.comInterviewList li .photoBox {
		margin-bottom: 1.3rem;
	}
	.comInterviewList li .photoBox .photo {
		clip-path: polygon(0 1rem,100% 0,100% calc(100% - 1.3rem),0 100%);
	}
	.comInterviewList li .photoBox .tag {
		bottom: 2.3rem;
		width: 10.2rem;
		font-size: 1.2rem;
	}
	.comInterviewList li .photoBox .tag span {
		min-height: 2.8rem;
	}
	.comInterviewList li .title {
		margin-bottom: 0.9rem;
		font-size: 1.8rem;
		line-height: 1.35;
	}
	.comInterviewList li .name .sub {
		margin-right: 1.1rem;
		padding-right: 1.4rem;
		font-size: 1.6rem;
	}
	.comInterviewList li .name .sub::before {
		top: 0.5rem;
		bottom: 0.6rem;
	}
	.comInterviewList li .name .sml {
		padding-top: 0.3rem;
		font-size: 1.2rem;
	}
}
/*------------------------------------------------------------
	comStickyBgBox
------------------------------------------------------------*/
.comStickyBgBox .photo {
	position: sticky;
	top: 0;
	left: 0;
	height: 100dvh;
}
.comStickyBgBox .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comStickyBgBox .inner {
	margin-top: -100dvh;
	position: relative;
	z-index: 1;
}
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	margin-left: auto;
	width: fit-content;
}
.comBtn a {
	display: block;
	width: fit-content;
	overflow: inherit;
}
.comBtn a .comLinkText {
	width: fit-content;
	justify-content: flex-end;
}
.comBtn a .comLinkText .text {
	margin-right: 2rem;
}
@media all and (max-width: 896px) {
	.comBtn {
		margin: 0 auto;
	}
	.comBtn a .comLinkText .text {
		margin-right: 0.9rem;
	}
}
/*------------------------------------------------------------
	comSlideArea
------------------------------------------------------------*/
.comSlideArea {
	margin-bottom: -0.9rem;
}
.comSlideArea .comPageBox {
	margin-bottom: -0.3rem;
	display: block;
}
.comSlideArea .comPageBox.none {
	display: none;
}
.comSlideArea .comPageBox .arrowBox {
	margin-left: auto;
	width: fit-content;
}
.comSlideArea .comPageBox .arrowBox .swiper-button-prev,
.comSlideArea .comPageBox .arrowBox .swiper-button-next {
	border-color: #141516;
}
.comSlideArea .swiper {
	height: 87rem;
}
.comSlideArea .swiper-wrapper {
	align-items: center;
}
.comSlideArea .noSwiper .swiper-wrapper {
	justify-content: center;
}
.comSlideArea .swiper-slide {
	padding: 3rem 0;
	width: 46.5rem;
	transition: all 1s;
	margin: 4rem -2.5rem 0;
	transform: scale(0.7);
	text-align: center;
}
.comSlideArea .swiper-slide.slideActive {
	margin: 0 -2.5rem;
	transform: scale(1);
}
.comSlideArea .noSwiper .swiper-slide {
	transform: scale(1);
	width: 48rem;
	margin: 0 2rem;
	transition: none;
}
.comSlideArea .swiper-slide a {
	display: block;
}
.comSlideArea .swiper-slide.slidePrev .subBox {
	transform: translateX(-90px);
}
.comSlideArea .swiper-slide.slideNext .subBox {
	transform: translateX(90px);
}
.comSlideArea .subBox {
	transition: all 0.5s;
	transform: translateX(0);
}
.comSlideArea .photoBox {
	margin-bottom: 2.5rem;
	overflow: hidden;
	border-radius: 0.6rem;
	mask-image: url(../img/common/mask.webp);
	mask-size: cover;
	mask-position: center;
}
.comSlideArea .photoBox .photo {
	aspect-ratio: 465 / 640;
}
.comSlideArea .photoBox .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.3s ease;
}
@media all and (min-width: 897px) {
	.comSlideArea a:hover .photoBox .photo img {
		transform: scale(1.05);
	}
}
.comSlideArea .textBox {
	padding: 0 2rem;
}
.comSlideArea .title {
	margin-bottom: 0;
	width: 100%;
	clip-path: inset(0 100% 0 0);
	transition: clip-path .25s 2s cubic-bezier(.23,1,.32,1);
}
.comSlideArea .slideActive .title {
	margin-bottom: 2.2rem;
	clip-path: inset(0 0 0 0);
	transition: clip-path .25s 0.3s cubic-bezier(.23,1,.32,1);
}
.comSlideArea .title span {
	font-size: 0;
	font-weight: 700;
	line-height: 1.3;
	display: -webkit-box;
	text-align: left;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: all 0.3s cubic-bezier(.23,1,.32,1);
}
.comSlideArea .slideActive .title span {
	font-size: 3.4rem;
}
.comSlideArea .swiper .text {
	transform: scale(calc(1 / 0.7));
	text-align: left;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
.comSlideArea .swiper .slideActive .text {
	clip-path: inset(0 100% 0 0);
	animation: clip 0.25s 0.3s cubic-bezier(.23,1,.32,1) forwards;
}
@keyframes clip {
	from {
		clip-path: inset(0 100% 0 0);
	}
	to {
		clip-path: inset(0 0 0 0);
	}
}
.comSlideArea .swiper .text .name {
	margin-right: 2.3rem;
	padding-right: 2.5rem;
	position: relative;
	font-size: 2rem;
	font-weight: 500;
	white-space: nowrap;
}
.comSlideArea .swiper .text .name::before {
	position: absolute;
	top: 0.4rem;
	right: 0;
	bottom: 0.5rem;
	width: 1px;
	background: #141516;
	content: '';
}
.comSlideArea .swiper .text .small {
	font-size: 1.6rem;
	font-weight: 500;
}
.comSlideArea .swiper-slide:not(.slideActive) .text {
	margin: 1rem 0 0;
	justify-content: center;
}
.comSlideArea .swiper-slide:not(.slideActive) .text .name {
	margin-right: 1.6rem;
	padding-right: 1.6rem;
}
.comSlideArea .slideActive .text {
	margin-left: 0;
	transform: scale(1);
}
.comSlideArea .noSwiper .title {
	display: block;
}
.comSlideArea .noSwiper .swiper-slide.slideNext .subBox {
	transform: translateX(0);
	transition: none;
}
.comSlideArea .noSwiper .text {
	margin-left: 0;
	transform: scale(1);
}
.comSlideArea .comBtn {
	margin-top: -1.3rem;
}
@media all and (max-width: 896px) {
	.comSlideArea {
		margin-bottom: -0.3rem;
	}
	.comSlideArea .comPageBox {
		display: none;
	}
	.comSlideArea .swiper {
		height: calc(100vw * (650/892) + 20rem);
	}
	.comSlideArea .swiper-slide {
		padding: 5.8rem 0;
		width: 20.4rem;
		margin: 1.5rem 0 0;
	}
	.comSlideArea .swiper-slide.slideActive {
		margin: 0 0;
		transform: scale(1);
	}
	.comSlideArea .noSwiper .swiper-slide {
		width: 20.4rem;
	}
	.comSlideArea .swiper-slide.slideNext .subBox {
		transform: translateX(1rem);
	}
	.comSlideArea .swiper-slide.slidePrev .subBox {
		transform: translateX(-1rem);
	}
	.comSlideArea .photoBox {
		margin-bottom: 1.1rem;
	}
	.comSlideArea .photoBox .photo {
		aspect-ratio: 204 / 280;
	}
	.comSlideArea .textBox {
		padding: 0 1rem;
	}
	.comSlideArea .slideActive .title {
		margin-bottom: 0.9rem;
	}
	.comSlideArea .title span {
		font-size: 0;
	}
	.comSlideArea .slideActive .title span {
		font-size: 1.5rem;
	}
	.comSlideArea .swiper .text .name {
		margin-right: 1rem;
		padding-right: 1rem;
		font-size: 0.9rem;
	}
	.comSlideArea .swiper .text .name::before {
		top: 0.2rem;
		bottom: 0.2rem;
	}
	.comSlideArea .swiper .text .small {
		padding-top: 0.1rem;
		font-size: 0.7rem;
	}
	.comSlideArea .swiper-slide:not(.slideActive) .text {
		margin: 1.5rem 0 0 3.3rem;
		max-width: 14rem;
	}
	.comSlideArea .swiper-slide:not(.slideActive) .text .name {
		margin-right: 1rem;
		padding-right: 1rem;
	}
	.comSlideArea .comBtn {
		margin-top: -0.6rem;
	}
}
/*------------------------------------------------------------
	comNumberList
------------------------------------------------------------*/
.comNumberList {
	display: grid;
    grid-template-areas:
	"item1 item3 item4"
	"item2 item3 item4"
	"item5 item6 item6";
    grid-template-columns: 1.25fr 1fr 1fr;
    grid-template-rows: auto;
	gap: 1.6rem;
}
.comNumberList > li {
	padding: 2.7rem 4rem 0;
	min-height: 20.1rem;
	background: #FFF;
	border-radius: 0.8rem;
	box-sizing: border-box;
}
.comNumberList > li:nth-child(1) {
	grid-area: item1;
}
.comNumberList > li:nth-child(2) {
	grid-area: item2;
}
.comNumberList > li:nth-child(3) {
	grid-area: item3;
}
.comNumberList > li:nth-child(4) {
	grid-area: item4;
}
.comNumberList > li:nth-child(5) {
	grid-area: item5;
}
.comNumberList > li:nth-child(6) {
	grid-area: item6;
}
.comNumberList li.bg01 {
	background: #0620A3;
}
.comNumberList li.bg02 {
	background: #F6FAFC;
}
.comNumberList li.bg03 {
	background: #FF8400;
}
.comNumberList li .color01 {
	color: #141516 !important;
}
.comNumberList li .color02 {
	color: #FF8400 !important;
}
.comNumberList li .color03 {
	color: #0620A3 !important;
}
.comNumberList li .color04 {
	color: #FFDB29 !important;
}
.comNumberList li .jsNum {
	font-family: "Roboto Condensed", sans-serif;
}
.comNumberList li .title {
	margin-bottom: 0.2rem;
	color: #FFF;
	font-size: 2.48rem;
	font-weight: 700;
}
.comNumberList li .title small {
	margin-left: 1.7rem;
	font-size: 1.4rem;
	font-weight: 500;
	vertical-align: 0.5rem;
}
.comNumberList li .number .jsNum {
	font-size: 8.93rem;
	font-weight: 800;
	font-family: "Roboto Condensed", sans-serif;
	letter-spacing: -0.268rem;
	color: #FFF;
	line-height: 1.2;
}
.comNumberList li .number .sub {
	margin-left: 0.3rem;
	color: #FFF;
	font-size: 2.4rem;
	font-weight: 700;
	vertical-align: 0.4rem;
}
.comNumberList li .photoArea01 .photo {
	margin: -0.8rem 0.3rem 0 0;
	width: 14.4rem;
}
.comNumberList li .textArea01 {
	margin-top: 0.7rem;
	align-items: flex-start;
}
.comNumberList li .textArea01 .textUl {
	margin: 1rem -0.6rem 0 0;
	padding: 0.3rem 0 0.3rem;
	width: 13.9rem;
	border-radius: 0.8rem;
	background: #0620A3;
}
.comNumberList li .textArea01 .textUl li {
	padding: 0.2rem 0 0.1rem;
	color: #FFF;
	border-bottom: 1px dotted #FFF;
	text-align: center;
	font-size: 1.34rem;
	font-weight: 700;
}
.comNumberList li .textArea01 .textUl li:last-child {
	border-bottom: none;
}
.comNumberList li .textArea01 .textUl li .jsNum {
	margin: 0 0.2rem 0 0.9rem;
	font-size: 2.28rem;
	vertical-align: -0.2rem;
}
.comNumberList li .textArea02 {
	margin-top: 2.3rem;
}
.comNumberList li .textArea02 .textUl li {
	margin-bottom: 0.6rem;
	width: fit-content;
	font-size: 1.4rem;
	font-weight: 700;
	border-bottom: 1px dotted #141516;
	line-height: 1;
}
.comNumberList li .textArea02 .textUl li:last-child {
	margin-bottom: 0;
}
.comNumberList li .textArea02 .textUl li .big {
	margin: 0 0.3rem 0 0.3rem;
	font-size: 4.08rem;
	font-weight: 600;
	font-family: "Roboto Condensed", sans-serif;
	letter-spacing: -0.268rem;
}
.comNumberList li .textArea02 .photo {
	margin: -4.8rem auto 2.4rem;
	width: 22.8rem;
}
.comNumberList li .textArea02 .textUl.style01 {
	margin-right: -2rem;
	gap: 1.6rem 1.5rem;
}
.comNumberList li .textArea02 .textUl.style01 li {
	margin-bottom: 0;
	font-size: 1.1rem;
}
.comNumberList li .textArea02 .textUl.style01 li .big {
	margin: 0 0.4rem 0 0.5rem;
	font-size: 2.25rem;
	letter-spacing: -0.13rem;
}
.comNumberList li .photoArea02 {
	margin: 3rem 0 0.2rem;
	position: relative;
}
.comNumberList li .photoArea02 .photo {
	margin: 0 -1.3rem;
}
.comNumberList li .photoArea02 .num {
	position: absolute;
	color: #FFF;
	font-size: 2.07rem;
	font-weight: 600;
	font-family: "Roboto Condensed", sans-serif;
}
.comNumberList li .photoArea02 .num01 {
	top: -0.5rem;
    left: 3.6rem;
}
.comNumberList li .photoArea02 .num02 {
	top: 2.4rem;
    left: 2.5rem;
}
.comNumberList li .photoArea02 .num03 {
	top: 11.3rem;
    left: 8.3rem;
	font-size: 4.5rem;
	font-weight: 800;
	letter-spacing: -0.13rem;
}
.comNumberList li .photoArea02 .num04 {
	bottom: 0.9rem;
	right: 0.5rem;
	font-size: 2.6rem;
	letter-spacing: -0.078rem;
}
.comNumberList li .note {
	margin-left: -1.2rem;
	font-size: 1.2rem;
	font-weight: 500;
}
.comNumberList li .photoArea03 {
	margin-top: 0.8rem;
}
.comNumberList li .photoArea03 .photo {
	width: 8.6rem;
}
.comNumberList li .textArea03 {
	gap: 8rem;
}
.comNumberList li .textArea03 .area {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.comNumberList li .textArea03 .area:first-child::before {
	margin-top: 0.7rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -5.3rem;
	width: 1px;
	height: 5.6rem;
	border-right: 1px dotted #969696;
	content: '';
}
.comNumberList li .textArea03 .area:last-child {
	padding-left: 1.6rem;
}
.comNumberList li .textArea03 .area .number {
	padding-top: 0.3rem;
}
.comNumberList li .textArea03 .area .number .jsNum {
	margin: 0 0 0 1.1rem;
	vertical-align: -0.2rem;
}
.comNumberList li .textArea03 .area .photo {
	margin: -0.5rem 0 0 1.8rem;
	width: 3.2rem;
}
@media all and (max-width: 896px) {
	.comNumberList {
		grid-template-areas:
		"item1 item4"
		"item2 item4"
		"item5 item6";
		grid-template-columns: 1fr 1.25fr;
		grid-template-rows: auto;
		gap: 1rem;
	}
	.comNumberList > li {
		padding: 1.6rem 1.3rem 0;
		min-height: 9.2rem;
		border-radius: 0.3rem;
		background: #F6FAFC;
	}
	.comNumberList > li:nth-child(3) {
		display: none;
	}
	.comNumberList li .title {
		margin-bottom: 0.6rem;
		font-size: 0.97rem;
	}
	.comNumberList li .title small {
		margin-left: 0.9rem;
		font-size: 0.64rem;
		vertical-align: 0.3rem;
	}
	.comNumberList li .number .jsNum {
		font-size: 3.45rem;
		letter-spacing: -0.103rem;
	}
	.comNumberList li .number .sub {
		margin-left: 0.3rem;
		font-size: 0.97rem;
		vertical-align: 0.1rem;
	}
	.comNumberList li .photoArea01 .photo {
		margin: -0.9rem 0rem 0 0;
		width: 6.3rem;
	}
	.comNumberList li .textArea01 .textUl {
		margin: 0.1rem 0rem 0 0;
		padding: 0.2rem 0;
		width: 5.4rem;
		border-radius: 0.4rem;
	}
	.comNumberList li .textArea01 .textUl li {
		padding: 0.1rem 0 0;
		font-size: 0.64rem;
	}
	.comNumberList li .textArea01 .textUl li .jsNum {
		margin: 0 0.2rem 0 0.4rem;
		font-size: 1.09rem;
		vertical-align: 0;
	}
	.comNumberList li .photoArea02 {
		margin: -0.9rem 0 -1rem;
	}
	.comNumberList li .photoArea02 .photo {
		margin: 0 auto;
		width: 13.8rem;
		box-sizing: content-box;
		padding-left: 0.4rem;
	}
	.comNumberList li .photoArea02 .num {
		font-size: 1.2rem;
	}
	.comNumberList li .photoArea02 .num01 {
		top: 1.2rem;
		left: 2.8rem;
	}
	.comNumberList li .photoArea02 .num02 {
		top: -0.4rem;
		left: auto;
		right: 4.1rem;
	}
	.comNumberList li .photoArea02 .num03 {
		top: 6.5rem;
        left: 6.7rem;
		font-size: 2.6rem;
		letter-spacing: -0.08rem;
	}
	.comNumberList li .photoArea02 .num04 {
		bottom: -0.1rem;
        right: 1.7rem;
		font-size: 1.5rem;
		letter-spacing: -0.045rem;
	}
	.comNumberList li .note {
		margin-left: 1.1rem;
		font-size: 0.7rem;
	}
	.comNumberList li .photoArea03 {
		margin-top: 0.8rem;
	}
	.comNumberList li .photoArea03 .photo {
		margin-top: -1.4rem;
		width: 4.5rem;
	}
	.comNumberList li .textArea03 {
		margin-top: -0.3rem;
		gap: 1rem;
		justify-content: space-between;
	}
	.comNumberList li .textArea03 .area:first-child::before {
		margin-top: 0;
		right: -2.2rem;
		width: 1px;
		height: 3rem;
	}
	.comNumberList li .textArea03 .area:last-child {
		padding-left: 0;
	}
	.comNumberList li .textArea03 .area .number {
		padding-top: 0.3rem;
	}
	.comNumberList li .textArea03 .area .number .sub {
		font-size: 1.07rem;
	}
	.comNumberList li .textArea03 .area .number .sub01 {
		margin-bottom: -0.2rem;
		display: block;
		font-size: 0.75rem;
	}
	.comNumberList li .textArea03 .area .number .jsNum {
		margin: 0 0.3rem 0 0;
		font-size: 2.59rem;
		vertical-align: 0.2rem;
	}
	.comNumberList li .textArea03 .area .photo {
		margin: 0 0 0 0.5rem;
		width: 1.3rem;
	}
}
/*------------------------------------------------------------
	comInterviewBox
------------------------------------------------------------*/
.comInterviewBox {
	padding: 21rem 0 25rem;
	border-top: 1px solid #D9D9D9;
}
.comInterviewBox .inner {
	margin-bottom: 1rem;
	flex-wrap: nowrap;
}
.comInterviewBox .inner .hTitle .en {
	font-size: 9.7rem;
	font-weight: 600;
	font-family: "Instrument Sans", sans-serif;
}
.comInterviewBox .inner .hTitle .jp {
	margin-left: 3.2rem;
	font-size: 2.2rem;
	font-weight: 700;
	vertical-align: 2.5rem;
}
.comInterviewBox .inner .textBox {
	margin: 2.9rem 0 0 3rem;
	flex: 1;
}
.comInterviewBox .inner .text {
	margin-left: auto;
	width: fit-content;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.75;
}
.comInterviewBox .comPageBox {
	margin-bottom: 1.1rem;
}
.comInterviewBox .comSlideArea .comBtn {
	margin-top: -5.6rem;
	position: relative;
	z-index: 5;
}
.comInterviewBox .comSlideArea .comBtn .comLinkText .bg {
	background: #141516;
}
@media all and (min-width: 897px) {
	.comInterviewBox .comSlideArea .comBtn a:hover .comLinkText .bg {
		background: #FF8400;
	}
}
@media all and (max-width: 896px) {
	.comInterviewBox {
		padding: 10.7rem 0 12.2rem;
	}
	.comInterviewBox .inner {
		margin: 0 2.5rem 1rem;
		display: block;
	}
	.comInterviewBox .inner .hTitle {
		margin-bottom: 3.8rem;
	}
	.comInterviewBox .inner .hTitle .en {
		font-size: 4.1rem;
	}
	.comInterviewBox .inner .hTitle .jp {
		margin: -0.2rem 0 0;
		display: block;
		font-size: 1.6rem;
	}
	.comInterviewBox .inner .textBox {
		margin: auto;
	}
	.comInterviewBox .inner .text {
		margin: 0 -1rem 0 0;
		width: auto;
		font-size: 1.3rem;
	}
	.comInterviewBox .comPageBox {
		margin: 2.4rem 2.5rem -1.7rem;
		display: block;
	}
	.comInterviewBox .comPageBox .arrowBox {
		gap: 1.6rem;
	}
	.comInterviewBox .comSlideArea .comBtn {
		margin-top: 1.2rem;
	}
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}

.grecaptcha-badge {
	z-index: 100;
}