@charset "utf-8";

html:has(.window_pop.active) {
	overflow: hidden;
	scrollbar-gutter: stable;
}

.page__link-wrap {
	top:0;
	transition:var(--transition);
}

.page__link-wrap.down {
	top:var(--header-height);
}

/*-------------------------------
	ar company
-------------------------------*/

.ar_company {
	position:relative;
	width:100%;
}

.ar_company .sec:not(:last-of-type) {
	border-bottom:1px solid #000;
}

.ar_company .sec__header-title-en {
	font-size:6rem;
	line-height:1;
	padding-bottom:0;
}

/*-------------------------------
	flex50
-------------------------------*/

.flex50 {
	display: flex;
	flex-wrap:wrap;
}

.flex50-left,
.flex50-right {
	width:50%;
}

.flex50-left {
	padding-right:9.6%;
	position:relative;
}

/*-------------------------------
	flex47
-------------------------------*/

.flex47 {
	display: flex;
	flex-wrap:wrap;
	align-items: flex-start;
}

.flex47-left {
	width:47rem;
	padding-right:var(--padding-leftright);
}

.flex47-right {
	width:calc(100% - 47rem);
}

.sec__header.flex47-left {
	display: block;
}

.flex47-left .sec__header-title {
	width:100%;
	display: block;
}

/*-------------------------------
	sticky
-------------------------------*/

.title_sticky {
	position:sticky;
	left:0;
	/* top は js で制御 */
}

/*-------------------------------
	Message
-------------------------------*/

.Message__header {
	display: block;
}

.Message__title,
.Message__header .sec__header-body {
	width:100%;
	max-width:100%;
}

.Message__title .sec__header-title-en {
	font-size:1.8rem;
	color:var(--subcolor);
}

.Message__title .sec__header-title-jp {
	font-size:3.2rem;
	color:#000;
	line-height:1.375;
}

.Message__name {
	margin-top:2rem;
	font-size:1.6rem;
	line-height:1.375;
	font-weight: 500;
}

.Message__name span {
	font-size:1.4rem;
	display: block;
}

.Message__img {
	margin:16.6rem 0 0 auto;
	width:33.1rem;
}

.Message__img span {
	width:100%;
	display: block;
	aspect-ratio:331 / 420;
	overflow:hidden;
}

.Message__txt p:not(:last-of-type) {
	margin-bottom:2em;
}

/*-------------------------------
	Roots
-------------------------------*/

.Roots__block {
	padding:3rem 0;
}

.Roots__block:not(:last-of-type) {
	border-bottom:1px solid #BDBDBD;
}

.Roots__title {
	width:50%;
	padding-right:9.6%;
}

.Roots__header .sec__header-body {
	width:50%;
	max-width:44rem;
}

.Roots__block-txt {
	display: flex;
	flex-direction: column;
}

.Roots__block-txt .tag__red span {
	margin-bottom:1em;
}

.Roots__block-txt h3 {
	font-size:2rem;
	line-height:1.6;
	font-weight:500;
	letter-spacing: 5%;
	margin-bottom:1em;
}

.Roots__block-img span {
	width:100%;
	height:100%;
	display: block;
	aspect-ratio:678 / 411;
	overflow:hidden;
}

.Button__wrap {
	position:relative;
	flex-grow:1;
	padding-top:10rem;
}

.Roots__block .C-Button {
	width:11.8rem;
	position:absolute;
	right:0;
	bottom:0;
}

/*-------------------------------
	dl list
-------------------------------*/

.dl_list {
	display: flex;
	flex-wrap:wrap;
}

.dl_list dt {
	width:23rem;
	font-size:1.6rem;
	font-weight:600;
	line-height:2;
	letter-spacing: 5%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	border-bottom:1px solid #C8C8C8;
	padding:1.6rem 1.6rem 1.6rem 0;
}

.dl_list dd {
	width:calc(100% - 23rem);
	border-bottom:1px solid #C8C8C8;
	padding:1.6rem 0;
}

.dl_list dt:last-of-type,
.dl_list dd:last-of-type {
	border-bottom:none;
}

.dl_list dd .list-square li {
	margin-bottom:0;
}

.dl_list dd .kome {
	display: inline-block;
}
.dl_list dd p.--pmb{
	margin-bottom: 1em;
}
/*-------------------------------
	Clients
-------------------------------*/

.Clients__header {
	margin-bottom:5rem;
}

.Clients__item{
	width: 100%;
	max-width:55.3rem;
	display: flex;
	gap: 3.2rem 5rem;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.Clients__item-image{
	width: 15rem;
	height: 5.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.Clients__item-image img{
	max-width: 100%;
}

/*-------------------------------
	Access
-------------------------------*/

.Access__list li {
	display: flex;
	flex-wrap:wrap;
	padding:var(--padding-leftright) 0;
}

.Access__list li:not(:last-of-type) {
	border-bottom:1px solid #BDBDBD;
}

.Access__list li:first-of-type {
	padding-top:1rem;
}

.Access__list-txt {
	width:51.4%;
	padding-right:var(--padding-leftright);
}

.Access__list-txt h3 {
	font-size:2.8rem;
	font-family:var(--en);
	font-weight:600;
	letter-spacing: 5%;
	line-height:1.25;
	color:var(--subcolor);
	padding-bottom:0.25em;
}

.Access__list-txt .C-Button {
	width:11.8rem;
	margin-top:2.5rem;
}

.Access__img {
	width:48.6%;
}

.Access__img span {
	width:100%;
	display: block;
	aspect-ratio:443 / 269;
	overflow:hidden;
}

/*-------------------------------
	History
-------------------------------*/

.History__list li {
	display: flex;
	flex-wrap:wrap;
	padding:2.5rem 0;
	border-bottom:1px solid #C8C8C8;
}

.History__list li h3 {
	width:15rem;
	font-size:2.8rem;
	font-family:var(--en);
	font-weight:600;
	letter-spacing: 5%;
	line-height:1.25;
	color:var(--subcolor);
}

.History__list-txt {
	width:calc(100% - 15rem);
	padding-top:0.25em;
}

.History__list_flex {
	display: flex;
	flex-wrap:nowrap;
}

.History__month {
	display: block;
	width:5rem;
}

.History__list-p {
	width:calc(100% - 5rem);
}

/*-------------------------------
	Recruit
-------------------------------*/

.Recruit__greeting {
	margin-bottom:7.5rem;
}

.Recruit__greeting h3 {
	font-size:2.4rem;
	font-weight:500;
	line-height:1.5;
	letter-spacing: 5%;
	margin-bottom:1em;
	color:var(--subcolor);
}

.dl_list-Recruit dt:first-of-type,
.dl_list-Recruit dd:first-of-type {
	border-top:1px solid #C8C8C8;
}

.dl_list-Recruit dt:last-of-type,
.dl_list-Recruit dd:last-of-type {
	border-bottom:1px solid #C8C8C8;
}

.list-square.--mb li:not(:last-of-type) {
	margin-bottom:2em;
}

.Recruit__link {
	width:100%;
	overflow:hidden;
	border-radius:1rem;
	margin-top:8rem;
}

.Recruit__link a {
	display: block;
	width:100%;
	position:relative;
	background:var(--maincolor);
	padding:3.5rem 4.5rem;
	opacity: 1 !important;
}

.Recruit__link a::before {
	content:"";
	display: block;
	width:100%;
	height:100%;
	background:var(--subcolor);
	position:absolute;
	left:0;
	bottom:0;
	transition:transform .3s var(--transition-easing);
	transform-origin:top;
	transform:scaleY(0);
}

.Recruit__link a:hover::before {
	transform:scaleY(1);
	transform-origin:bottom;
}

.Recruit__link-title {
	position:relative;
}

.Recruit__link-title-jp {
	color:#fff;
	font-size:1.8rem;
	font-weight:500;
	letter-spacing: 5%;
}

.Recruit__link .C-Button {
	position:absolute;
	right:3rem;
	top:0;
	bottom:0;
	margin:auto 0;
}

.Recruit__link a:hover .C-Button .a {
	background:var(--subcolor);
}

.Recruit__link a .C-Button.-white .C-Button__arrow::after {
	background-image:url(../images/common/icon_arrow-white.svg);
}

/*-------------------------------
	window pop
-------------------------------*/


.window_pop {
	width:100vw;
	height:100dvh;
	position:fixed;
	left:0;
	top:0;
	z-index: 9999;
	padding-top:calc(var(--header-height));
	display: none;
	background:rgba(14,16,23,0.4);
}

.window_pop_inner {
	width:100%;
	height:100%;
	display: flex;
	justify-content: center;
	/* align-items: center; */
}

.popup_white {
	width:100%;
	max-width:67.6rem;
	height:calc(100% - var(--header-height));
	max-height: max-content;
	background:var(--graycolor);
	position:relative;
	padding:var(--padding-leftright);
	padding-right:calc(var(--padding-leftright) - 1.2rem);
}

.popup_inner {
	height:100%;
	max-height: max-content;
	overflow-y:auto;
	padding-right:0.8rem;
}

.popup_inner::-webkit-scrollbar {
	width:1rem;
}

.popup_inner::-webkit-scrollbar-track {
	border-radius: .5rem;
	background:var(--graycolor);
}

.popup_inner::-webkit-scrollbar-thumb {
	background: var(--maincolor); 
	border-radius: .5rem;
}

.pop_close {
	display: none;
}

/*-------------------------------
	Pop up
-------------------------------*/

.Popup {
	display: none;
}

.Popup__img span {
	width:100%;
	display: block;
	aspect-ratio:678 / 411;
	overflow:hidden;
}

.Popup__block {
	margin-top:5rem;
}

.Popup__title .tag__red {
	margin-bottom:1em;
}

.Popup__title h3 {
	font-size:2rem;
	font-weight:500;
	letter-spacing: 5%;
	line-height:1.6;
	margin-bottom:1em;
}

.Popup__txt p {
	margin-bottom:2em;
}

/*-------------------------------
	responsive
-------------------------------*/

@media screen and (max-width:1100px){

/*-------------------------------
	flex50
-------------------------------*/

.flex50-left,
.flex50-right {
	width:100%;
}

.flex50-left {
	padding-right:0;
}

/*-------------------------------
	flex47
-------------------------------*/

.flex47-left {
	width:100%;
	padding-right:0;
}

.flex47-right {
	width:100%;
}

/*-------------------------------
	sticky
-------------------------------*/

.title_sticky {
	position:relative;
	left:auto;
	top: auto !important;
	/* top は js で制御 */
}

/*-------------------------------
	Roots
-------------------------------*/

.Roots__title {
	width:100%;
	padding-right:0;
}

.Roots__header .sec__header-body {
	width:100%;
	max-width:100%;
}

.Roots__block-img {
	order:-1;
	margin-bottom:4rem;
}

/*-------------------------------
	Clients
-------------------------------*/

.Clients__item{
	max-width:100%;
}

} /* end 1100px */

/*-------------------------------
	ver SP
-------------------------------*/

@media screen and (max-width:768px){

/*-------------------------------
	ar company
-------------------------------*/

.ar_company .sec__header-title-en {
	font-size:5rem;
	line-height:1;
	padding-bottom:0.7rem;
}

/*-------------------------------
	flex50
-------------------------------*/

.flex50-left,
.flex50-right {
	width:100%;
}

.flex50-left {
	padding-right:0;
}

/*-------------------------------
	flex47
-------------------------------*/

.flex47-left {
	width:100%;
	padding-right:0;
}

.flex47-right {
	width:100%;
}

/*-------------------------------
	Message
-------------------------------*/

.Message__title .sec__header-title-en {
	font-size:1.8rem;
}

.Message__title .sec__header-title-jp {
	font-size:2.4rem;
}

.Message__title {
	margin-bottom:1.5rem;
}

.Message__name {
	margin-top:0rem;
	font-size:1.6rem;
}

.Message__name span {
	font-size:1.3rem;
	display: block;
}

.Message__img {
	margin:4rem 0 0 auto;
	width:26.4rem;
}

/*-------------------------------
	Roots
-------------------------------*/

.Roots__block {
	padding:5rem 0;
}

.Roots__block:last-of-type {
	padding-bottom:0;
}

.Roots__block:not(:last-of-type) {
	border-bottom:1px solid #BDBDBD;
}

.Roots__title {
	width:100%;
	padding-right:0;
}

.Roots__header .sec__header-body {
	width:100%;
	max-width:100%;
}

.Roots__block-img {
	order:-1;
	margin-bottom:4rem;
}

.Roots__block-txt {
	display:block;
}

.Roots__block-txt .tag__red span {
	margin-bottom:1em;
}

.Roots__block-txt h3 {
	font-size:1.8rem;
	margin-bottom:1em;
}

.Roots__block-img span {
	aspect-ratio:357 / 217;
}

.Button__wrap {
	padding-top:3rem;
}

.Roots__block .C-Button {
	width:11.8rem;
	position:relative;
	margin:0 0 0 auto;
}

/*-------------------------------
	dl list
-------------------------------*/

.dl_list dt {
	width:100%;
	font-size:1.6rem;
	display: block;
	border-bottom:none;
	padding:2rem 0 1.5rem;
}

.dl_list dd {
	width:100%;
	border-bottom:1px solid #C8C8C8;
	padding:0 0 2rem;
}

.dl_list dd:last-of-type {
	border-bottom:1px solid #C8C8C8;
}

/*-------------------------------
	Clients
-------------------------------*/

.Clients__header {
	margin-bottom:1rem;
}

.Clients__item-wrap {
	width: 100%;
	padding-left: 2rem;
	padding-right: 2rem;
}

.Clients__item{
	width: 100%;
	max-width:100%;
	gap: 3rem 5.4rem;
}
.Clients__item-image{
	width: calc(50% - 2.7rem);
	height: 4.8rem;
}

/*-------------------------------
	Access
-------------------------------*/

.Access__header {
	margin-bottom:1.5rem;
}

.Access__list li {
	padding:5rem 0;
}

.Access__list li:first-of-type {
	padding-top:0rem;
}

.Access__list li:last-of-type {
	padding-bottom:0rem;
}

.Access__list-txt {
	width:100%;
	padding-right:0;
}

.Access__list-txt h3 {
	font-size:2.8rem;
	padding-bottom:0.25em;
}

.Access__list-txt .C-Button {
	width:11.8rem;
	margin-top:2.5rem;
}

.Access__img {
	width:100%;
	order:-1;
	margin-bottom:3rem;
}

.Access__img span {
	width:100%;
	display: block;
	aspect-ratio:357 / 217;
	overflow:hidden;
}

/*-------------------------------
	History
-------------------------------*/

.History__header {
	margin-bottom:1rem;
}

.History__list li {
	align-items: unset;
	padding:1.6rem 0;
}

.History__list li:first-of-type {
	padding-top:0;
}

.History__list li h3 {
	width:9rem;
	font-size:2.4rem;
}

.History__list-txt {
	width:calc(100% - 9rem);
	padding-top:0.1em;
}

.History__month {
	width:4.5rem;
}

.History__list-p {
	width:calc(100% - 4.5rem);
}


/*-------------------------------
	Recruit
-------------------------------*/

.Recruit__header {
	margin-bottom:1rem;
}

.Recruit__greeting {
	margin-bottom:5rem;
}

.Recruit__greeting h3 {
	font-size:2rem;
	line-height:1.8;
	margin-bottom:1em;
}

.dl_list-Recruit dd:first-of-type {
	border-top:none;
}

.dl_list-Recruit dt:last-of-type {
	border-bottom:none
}

.Recruit__link {
	margin-top:7rem;
}

.Recruit__link a {
	padding:3.5rem 2.5rem;
	opacity: 1 !important;
}

.Recruit__link-title {
	position:relative;
}

.Recruit__link-title-jp {
	font-size:1.6rem;
}

.Recruit__link .C-Button {
	right:2rem;
}

.Recruit__link a:hover .C-Button .a {
	background:var(--subcolor);
}

.Recruit__link a .C-Button.-white .C-Button__arrow::after {
	background-image:url(../images/common/icon_arrow-white.svg);
}

/*-------------------------------
	window pop
-------------------------------*/


.window_pop {
	width:100vw;
	height:100dvh;
	padding-top:calc(var(--header-height));
	display: none;
}

.popup_white {
	width:100%;
	max-width:calc(100% - (var(--padding-leftright) * 2));
	height:calc(100% - var(--header-height));
	position:relative;
	padding-right:calc(var(--padding-leftright) - 0.9rem);
}

.popup_inner {
	height:100%;
	max-height: max-content;
	overflow-y:auto;
	padding-right:0.5rem;
}

.popup_inner::-webkit-scrollbar {
	width:0.6rem;
}

.popup_inner::-webkit-scrollbar-track {
	border-radius: .3rem;
	background:var(--graycolor);
}

.popup_inner::-webkit-scrollbar-thumb {
	background: var(--maincolor); 
	border-radius: .5rem;
}

.pop_close {
	display:block;
	position:absolute;
	top:-2rem;
	right:0;
	width:2rem;
	height:2rem;
	z-index: 9999;
}

.pop_close::before,
.pop_close::after {
	content:"";
	display: block;
	width:100%;
	height:0.2rem;
	background:#fff;
	position:absolute;
	left:0;
	top:0;
	transform-origin: center;
}

.pop_close::before {
	transform:rotate(45deg);
}

.pop_close::after {
	transform:rotate(-45deg);
}

/*-------------------------------
	Pop up
-------------------------------*/

.Popup {
	display: none;
}

.Popup__img span {
	width:100%;
	display: block;
	aspect-ratio:326 / 197;
	overflow:hidden;
}

.Popup__block {
	margin-top:2.5rem;
}

.Popup__title .tag__red {
	margin-bottom:0em;
}

.Popup__title h3 {
	font-size:2rem;
	margin-bottom:1em;
}

.Popup__txt p {
	margin-bottom:2em;
}

} /* end 768px */