@charset "UTF-8";




/* ----------------------------top_hero ---------------------------- */


.top_hero{
	position: relative;
	height: calc(100vh - 100px);
	min-height: 40vw;
	max-height: 80vw;
}
.top_hero_bg_wrap,
.top_hero_inner{
	height: calc(100% - min(3.85vw, 40px));
}
.top_hero_bg_wrap{
	width: 83.56vw;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    border-radius: 2.5vw 0 0 2.5vw;
    overflow: hidden;
}

.top_hero_bg{
	position: absolute;
	overflow: hidden;
}
.top_hero_bg img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
}

.top_hero_bg01,
.top_hero_bg03,
.top_hero_bg05,
.top_hero_bg06{
	width: 40%;	
}
.top_hero_bg02,
.top_hero_bg04,
.top_hero_bg07{
	width: 20%;	
}
.top_hero_bg01,
.top_hero_bg05{
	height: 66.666%;
}
.top_hero_bg02,
.top_hero_bg03,
.top_hero_bg04,
.top_hero_bg06,
.top_hero_bg07{
	height: 33.333%;	
}
.top_hero_bg01{
	top: 0;
	left: 0;
}
.top_hero_bg02{
	top: 0;
	left: 40%;
}
.top_hero_bg03{
	top: 0;
	left: 60%;
}
.top_hero_bg04{
	top: 33.33%;
	left: 40%;
}
.top_hero_bg05{
	top: 33.333%;
	left: 60%;
}
.top_hero_bg06{
	top: 66.66%;
	left: 0;
}
.top_hero_bg07{
	top: 66.66%;
	left: 40%;
}
.top_hero_inner{
	display: flex;
	align-items: center;
	width: max(26.19vw, 272px);
	position: relative;
	z-index: 2;
	padding-left: min(3.75vw, 60px);
}
.top_hero_head{
	width: 100%;
	padding-bottom: 1.25vw;
}
.top_hero_pickup{
	position: absolute;
	z-index: 3;
	bottom: min(5.3vw, 70px);
	right: 0;
}

.top_hero_pickup_link{
	font-size: min(1.06vw, 14px);
	display: flex;
	align-items: center;
	gap: min(1.82vw, 24px);
	background: #fff;
	padding: min(1.21vw, 16px) min(2.27vw, 30px);
	border-radius: 9999px 0 0 9999px;
	transition: all 0.2s;
}
@media (hover: hover) {
.top_hero_pickup_link:hover{
	color: #00ADA9;
}
}

.top_hero_pickup_link:after{
	content: "";
	display: inline-block;
    width: 8px;
    height: 12px;
	background: url("../images/common/arrow_g.svg") no-repeat center center/contain;
}
.top_hero_pickup_date{
	color: #aaa;
}
.top_hero_pickup_txt{
	text-decoration: underline;
}
.top_hero_scroll{
	position: absolute;
	bottom: min(2.27vw, 30px);
	left: min(4.55vw, 60px);
	-webkit-writing-mode: vertical-rl;
  	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	z-index: 2;
}
.top_hero_scroll a:before,
.top_hero_scroll a:after{
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 1px;
	height: 100%;
	background: #444;
	transition: height .3s cubic-bezier(0.2, 1, 0.3, 1);
}
.top_hero_scroll a:before{
	height: 0;
	-webkit-transition-delay:.3s;
	transition-delay:.3s;
}

.top_hero_scroll a{
	display: block;
	line-height: 1;
	padding: 0 min(1.14vw, 15px) min(6.06vw, 80px);
}
@media (hover: hover) {
.top_hero_scroll a:hover:before{
	height: 100%;
}
.top_hero_scroll a:hover:after{
	height: 0;
}
}
@media only screen and (max-width: 1199px) {
.top_hero{
	height: calc(100vh - min(5.3vw, 70px));
}
}
@media only screen and (max-width: 767px) {
.top_hero{
	height: auto;
	min-height: auto;
	max-height: none;
}
.top_hero_inner{
	height: auto;
}
.top_hero_bg_wrap{
	width: calc(100vw - 40px);
	height: calc(100vw - 40px);
    position: relative;
	background: url("../images/top/bg_hero_sp.jpg") no-repeat center center/cover;
    right: auto;
    top: auto;
	left: 40px;
	border-radius: 2.66vw 0 0 2.66vw;
}

.top_hero_bg{
	display: none;
}
.top_hero_inner{
	display: block;
	margin-top: -5.33vw;
	width: max(73vw, 274px);
	padding-left: 20px;
}
.top_hero_head{
	padding-bottom: 0;
}
.top_hero_pickup{
	position: relative;
	bottom: auto;
	right: auto;
	margin-top: 36px;
	padding: 0 20px;
}

.top_hero_pickup_link{
	font-size: min(3.73vw, 14px);
	flex-direction: column;
	align-items: flex-start;
	gap: min(1.24vw, 5px);
	background: transparent;
	padding: min(5.94vw, 24px) min(6.93vw, 28px) min(5.94vw, 24px) 0;
	border-radius: 0;
	position: relative;
	border-bottom: 1px solid #D9D9D9;
}
.top_hero_pickup_txt{
	letter-spacing: 0.75px;
}
.top_hero_pickup_link:after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto 0;
}


.top_hero_scroll{
	display: none;
}
}



/* ----------------------------top_section ---------------------------- */

.top_hero + .top_section{
	padding-top: min(9.09vw, 120px);
}
.top_section + .top_section{
	padding-top: min(12.12vw, 160px);
}
.top_section_inner{
	display: block;
}
.top_section_img{
	width: 47.58%;
}

.top_section_head{
	width: 47.58%;
	margin-bottom: min(3.78vw, 50px);
}
.top_section_head_en{
	font-size: min(5.77vw, 60px);
	font-weight: 600;
	line-height: 1.35;
	color: #00ADA9;
}
.top_section_txt{
	width: 47.58%;
}

@media only screen and (max-width: 767px) {
.top_hero + .top_section{
	padding-top: min(19.8vw, 80px);
}
.top_section + .top_section{
	padding-top: min(19.8vw, 80px);
}
.top_section_img{
	width: calc(100% + 20px);
	position: relative;
}

.top_section_head{
	width: 100%;
	margin-bottom: min(7.43vw, 30px);
}
.top_section_head_en{
	font-size: min(11.14vw, 45px);
}
.top_section_txt{
	margin-top: min(7.43vw, 30px);
	width: 100%;
}
.top_section_txt .nobreak{
	display: inline;
}

}

/* ----------------------------top_philosophy ---------------------------- */

.top_philosophy .top_section_head{
	float: left;
}
.top_philosophy .top_section_img{
	float: right;
}
.top_philosophy .top_section_txt{
	float: left;
}


@media only screen and (max-width: 767px) {
.top_philosophy .top_section_inner{
	padding-right: 40px;
}
.top_philosophy .top_section_head{
	float: none;
}
.top_philosophy .top_section_img{
	float: none;
	left: -20px;
	border-radius: 0 10px 10px 0;
}
.top_philosophy .top_section_txt{
	float: none;
}
}


/* ----------------------------top_service ---------------------------- */

.top_service .top_section_head{
	float: right;
}
.top_service .top_section_img{
	float: left;
}
.top_service .top_section_txt{
	float: right;
}

@media only screen and (max-width: 767px) {
.top_service .top_section_inner{
	padding-left: 40px;
}
.top_service .top_section_head{
	float: none;
}
.top_service .top_section_img{
	float: none;
	border-radius: 10px 0 0 10px;
}
.top_service .top_section_txt{
	float: none;
}
}

/* ----------------------------top_people ---------------------------- */

.top_people{
	position: relative;
	padding-bottom: min(9.09vw, 120px);
}
.top_people:after{
	content: "";
	display: inline-block;
	width: 100%;
	height: calc(100% - min(30.76vw, 406px));
	background: #00ADA9;
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
}
.top_people .inner{
	position: relative;
	z-index: 2;
}
.top_people_list{
	display: flex;
	gap: 4%;
}
.top_people_item{
	width: 30.66%;
}
.top_people_img{
	border-radius: min(1.14vw, 15px);
	overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    aspect-ratio: 16 / 9;
	background: #fff;
}
.top_people_img img{
	object-fit: contain;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
	transition: all 0.2s;
}
@media (hover: hover) {
.top_people_link:hover .top_people_img img{
	transform: scale(1.045);
	opacity: 0.95;
}
}
.top_people_txt{
	margin-top: min(2.27vw, 30px);
	color: #fff;
}
.top_people_shoulder{
	font-size: min(0.91vw, 12px);
}
.top_people_head{
	margin-top: min(0.76vw, 10px);
	font-size: min(1.52vw, 20px);
}
.top_people_lead{
	margin-top: min(0.76vw, 10px);
}
.top_people .btn_more_wrap{
	display: block;
	margin-top: min(3.03vw, 40px);
	color: #fff;
}
.top_people .btn_more{
	margin-top: 0;
	justify-content: flex-end;
}
.top_people .btn_more:after {
    background: url("../images/common/arrow_g.svg") #fff no-repeat center center / auto min(0.91vw, 12px);
    border: 1.5px solid #fff;
}
@media (hover: hover) {
.top_people .btn_more_wrap:hover .btn_more{
	color: #fff;
}
.top_people .btn_more_wrap:hover .btn_more:after{
	background: url("../images/common/arrow_w.svg") #00ADA9 no-repeat center center / auto min(0.91vw, 12px);
}
}
@media only screen and (max-width: 767px) {
.top_people{
	padding-bottom: min(19.8vw, 80px);
}
.top_people:after{
	height: calc(100% - 68.53vw);
}
.top_people_list{
	flex-direction: column;
	gap: min(9.9vw, 40px);
}
.top_people_item{
	width: calc(100% - 40px);
}
.top_people_item:nth-child(even){
	padding-left: 40px;
}
.top_people_img{
	border-radius: min(2.48vw, 10px);
}

.top_people_txt{
	margin-top: min(4.95vw, 20px);
}
.top_people_shoulder{
	font-size: min(2.97vw, 12px);
}
.top_people_head{
	font-size: min(4.21vw, 17px);
}
.top_people .btn_more_wrap {
    margin-top: min(5.94vw, 24px);
}
.top_people .btn_more:after {
     background-size: auto min(2.97vw, 12px);
}
}



/* ----------------------------top_news ---------------------------- */


.top_news .top_section_head{
	float: left;
	width: 160px;
}
.top_news .btn_more_wrap{
	display: block;
	float: left;
	width: 160px;
}
.top_news .btn_more{
	margin-top: 0;
}
.top_news_list{
	float: right;
	width: calc(100% - 150px - min(120px, 9.09vw));
	border-top: 1px solid #D9D9D9;
}
.top_news_item{
	border-bottom: 1px solid #D9D9D9;
}
.top_news_link{
	display: block;
	padding: min(2.27vw, 30px) 0;
	transition: all 0.2s;
}
.top_news_item_date{
	color: #AAA;
}
.top_news_item_txt{
	text-decoration: underline;
}
@media (hover: hover) {
.top_news_link:hover{
	color: #00ADA9;
}
}


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

.top_news .top_section_head{
	float: none;
	width: 100%;
}
.top_news .btn_more_wrap{
	float: none;
	width: 100%;
	margin-top: min(5.94vw, 24px);
}
.top_news .btn_more{
	margin-top: 0;
	justify-content: flex-end;
}
.top_news_list{
	float: none;
	width: 100%;
}
.top_news_link{
	padding: min(5.94vw, 24px) 0;
}

}