@charset "utf-8";

/*-----------------------
    page_top.css
------------------------*/

/*----- mv -----*/

.top_mv {
	position: relative;
}
.top_mv .cover {
	position: absolute;
	z-index: 3;
	top: 0;
	right: 0;
	width: 66.66%;
}
.top_mv .top_mv_slider .pic img {
	aspect-ratio: 12/5;
}
.top_mv .catch {
	position: absolute;
	z-index: 4;
	left: 6vw;
	bottom: 110px;
}
.top_mv .catch > div {
	display: flex;
	margin-top: 10px;
}
.top_mv .catch .text {
	color: var(--white);
	font-size: 50px;
	font-weight: 900;
}
.top_mv .catch .text.yellow {
	color: var(--yellow);
}

@media screen and (min-width: 768px) and (max-width: 1700px){
    
	.top_mv .catch {
		left: 30px;
		bottom: 4vw;
	}
	
}
@media screen and (min-width: 768px) and (max-width: 1260px){
    
	.top_mv .catch > div {
		margin-top: 1vw;
	}
	.top_mv .catch .text {
		font-size: 4vw;
	}

}
@media screen and (max-width: 767px){
    
	.top_mv .top_mv_slider .pic img {
		height: min(60vw,300px);
	}
	.top_mv .catch {
		left: 6vw;
		bottom: 5vw;
	}
	.top_mv .catch > div {
		margin-top: 1vw;
	}
	.top_mv .catch .text {
		font-size: min(6vw,35px);
	}
	
}

/*----- mission -----*/

.top_mission {
	padding: 180px 0 150px;
	background: url("/system_panel/uploads/images/mission_bg.jpg") center no-repeat;
	background-size: cover;
}
.top_mission .frame {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.top_mission .frame .m_title .en {
	color: var(--yellow);
}
.top_mission .frame .m_title .ttl {
	color: var(--white);
}
.top_mission .frame .conts {
	width: 66.66%;
	color: var(--white);
}
.top_mission .frame .conts .ttl {
	font-size: 37px;
	font-weight: 900;
	line-height: 1.5;
}
.top_mission .frame .conts .ttl br {
	display: none;
}
.top_mission .frame .conts .pml {
	margin-top: 40px;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
	.top_mission {
		padding: 10vw 0;
	}
	.top_mission .frame .conts {
		width: 70%;
	}
	.top_mission .frame .conts .ttl {
		font-size: 3vw;
	}
	.top_mission .frame .conts .pml {
		margin-top: 3vw;
	}
	
}
@media screen and (max-width: 767px){
    
	.top_mission {
		padding: 50px 0;
	}
	.top_mission .frame {
		display: block;
	}
	.top_mission .frame .conts {
		width: 100%;
	}
	.top_mission .frame .conts .ttl {
		margin: 30px 0 15px;
		font-size: min(7.5vw,30px);
		text-align: center;
	}
	.top_mission .frame .conts .ttl br {
		display: inline-block;
	}
	.top_mission .frame .conts .pml {
		margin-top: 20px;
	}
    
}

/*----- service -----*/

.top_svc {
	padding: 140px 0 0;
}
.top_svc_head {
	margin: 60px 0;
}
.top_svc .ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.top_svc .ul .li {
	margin-bottom: 20px;
}
.top_svc .ul .li.wide {
	width: 65%;
}
.top_svc .ul .li.narrow {
	width: 33.33%;
}
.top_svc .ul .li.col2 {
	width: 49.166%;
}
.top_svc .ul .li.col3 {
	width: 32.0833%;
}
.top_svc .ul .li a {
	display: block;
	position: relative;
	overflow: hidden;
 	cursor: pointer;
}
.top_svc .ul .li a::before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,15,30,.5);
	z-index: 3;
	transition: .5s ease all;
}
.top_svc_text {
	position: absolute;
	top: 40px;
	left: 40px;
	z-index: 9;
}
.top_svc_text .ttl {
	display: flex;
	align-items: center;
}
.top_svc_text .ttl .text {
	color: var(--white);
	font-size: 29px;
	font-weight: 900;
	line-height: 1.5;
}
.top_svc_text .ttl .text.small {
	font-size: 22px;
}
.top_svc_text .detail {
	opacity: 0;
	transition: .5s;
	margin-top: 30px;
}
.top_svc_text .detail p {
	margin-top: 20px;
	font-size: 16px;
	color: var(--white);
}
.top_svc .ul .li a:hover .top_svc_text .detail {
	opacity: 1;
}
.top_svc .btns {
	display: flex;
	justify-content: center;
	gap: 0 120px;
	margin-top: 15px;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
	.top_svc {
		padding: 10vw 0 0;

	}
	.top_svc_head {
		margin: 4vw 0;
	}
	.top_svc .ul .li {
		margin-bottom: 1.5vw;
	}
	.top_svc_text {
		top: 3vw;
		left: 2vw;
	}
	.top_svc_text .ttl .text {
		font-size: 2.5vw;
	}
	.top_svc_text .ttl .text.small {
		font-size: 2vw
	}
	.top_svc_text .detail {
		margin-top: 1vw;
	}
	.top_svc_text .detail p {
		margin-top: 2vw;
		font-size: 1.6vw;
	}
	.top_svc .btns {
		gap: 0 10vw;
		margin-top: 1.5vw;
	}
	
}
@media screen and (max-width: 767px){
    
	.top_svc {
		padding: 50px 0 0;
	}
	.top_svc_head {
		margin: 30px 0 15px;
	}
	.top_svc .ul {
		display: block;
	}
	.top_svc .ul .li.wide,
	.top_svc .ul .li.narrow,
	.top_svc .ul .li.col2,
	.top_svc .ul .li.col3 {
		margin: 0 auto 15px;
		width: min(440px,100%);
	}
	.top_svc .ul .li .pic img {
		aspect-ratio: 2/1;
	}
	.top_svc_text {
		top: min(4vw,20px);
		left: min(5vw,25px);
	}
	.top_svc_text .ttl .text {
		font-size: min(4.75vw,24px);
	}
	.top_svc_text .ttl .text.small {
		font-size: min(3.75vw,18px);
	}
	.top_svc_text .ttl .text br {
		display: none;
	}
	.top_svc_text .detail {
		opacity: 1;
		margin-top: 10px;
	}
	.top_svc_text .detail p {
		margin-top: 10px;
		font-size: min(3.75vw,15px);
	}
	.top_svc .btns {
		display: block;
		margin-top: 15px;
	}
	
}

/*----- recruit -----*/

.top_recruit {
	padding: 150px 0 0;
}
.top_recruit .frame {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: url("/system_panel/uploads/images/recruit_bg.jpg") no-repeat;
	background-position: right bottom 60px;
	background-size: 1100px auto;
}
.top_recruit .frame .pic {
	width: 44.4%;
}
.top_recruit .frame .conts {
	order: 2;
	width: 52%;
}
.top_recruit .link a {
	display: block;
	color: var(--text);
	padding: 0 0 15px;
	margin-right: 40px;
}
.top_recruit .link .ttl {
	margin: 30px 0 10px;
	font-size: 29px;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
	
	.top_recruit {
		padding: 10vw 0 0;
	}
	.top_recruit .frame {
		background-position: right bottom 2.5vw;
		background-size: 100% auto;
	}
	.top_recruit .frame .pic {
		width: 38%;
	}
	.top_recruit .frame .conts {
		width: 60%;
	}
	.top_recruit .link a {
		padding: 0 6vw 1.5vw 0;
		margin-right: 0;
	}
	.top_recruit .link .ttl {
		margin: 3vw 0 1vw;
		font-size: 2.6vw;
	}
    
}
@media screen and (max-width: 767px){
  	
	.top_recruit {
		padding: 50px 0 0;
	}
	.top_recruit .frame {
		display: block;
		background-position: right bottom 60px;
		background-size: auto 100%;
	}
	.top_recruit .frame .pic {
		margin: 0 auto;
		width: min(400px,100%);
	}
	.top_recruit .frame .conts {
		width: 100%;
		padding-top: 30px;
	}
	.top_recruit .link a {
		padding: 0 6vw 50px;
		margin: 0;
	}
	.top_recruit .link .ttl {
		margin: 30px 0 20px;
		font-size: min(5.5vw,22px);
		text-align: center;
	}
	.top_recruit .link .pm br {
		display: none;
	}
  
}

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

.top_company {
	padding: 140px 0 0;
}
.top_company .frame {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 60px;
}
.top_company .frame .pic {
	width: 35.583%;
}
.top_company .frame .conts {
	order: 2;
	width: 58.333%;
}
.top_company .dl > div {
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	font-size: 16px;
	letter-spacing: 1px;
}
.top_company .dl .dt {
	width: 25%;
	padding: 25px 30px;
	border-bottom: 1px solid var(--blue_dark);
	color: var(--blue_dark);
}
.top_company .dl .dd {
	width: calc(75% - 5px);
	padding: 25px 30px;
	border-bottom: 1px solid var(--text);
}
.top_company .dl .dd a {
	color: var(--text)
}
.top_company .philosophy {
	margin-top: 30px;
	padding: 25px 20px;
	background: url("/system_panel/uploads/images/company_bg.png") no-repeat;
	background-size: cover;
}
.top_company .philosophy .ttl {
	display: inline-block;
	padding: 10px 40px;
	background: var(--white);
	border-radius: 40px;
	font-size: 21px;
}
.top_company .philosophy .pm {
	padding: 15px 0 0 25px;
	letter-spacing: 1px;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
	.top_company {
		padding: 10vw 0 0;
	}
	.top_company .frame {
		margin-top: 5vw;
	}
	.top_company .frame .pic {
		width: 35%;
	}
	.top_company .frame .conts {
		width: 61%;
	}
	.top_company .dl > div {
		font-size: 1.6vw;
	}
	.top_company .dl .dt {
		width: 25%;
		padding: 2vw 3vw;
	}
	.top_company .dl .dd {
		width: calc(75% - 5px);
		padding: 2vw 3vw;
	}
	.top_company .philosophy {
		margin-top: 3vw;
		padding: 2vw 2vw;
	}
	.top_company .philosophy .ttl {
		padding: 1vw 4vw;
		border-radius: 4vw;
		font-size: 2vw;
	}
	.top_company .philosophy .pm {
		padding: 1.5vw 0 0 1vw;
	}
	
}
@media screen and (max-width: 767px){
       
	.top_company {
		padding: 50px 0 0;
	}
	.top_company .frame {
		display: block;
		margin-top: 30px;
	}
	.top_company .frame .pic {
		margin: 30px auto 0;
		width: min(400px,100%);
	}
	.top_company .frame .conts {
		width: 100%;
	}
	.top_company .dl > div {
		display: block;
		font-size: 15px;
		letter-spacing: 0;
		text-align: center;
	}
	.top_company .dl .dt {
		width: 100%;
		padding: 20px 4vw 0;
		border-bottom: none;
	}
	.top_company .dl .dd {
		width: 100%;
		padding: 15px 4vw 20px;
	}
	.top_company .philosophy {
		margin-top: 20px;
		padding: 15px 6vw;
	}
	.top_company .philosophy .ttl {
		padding: 8px 30px;
		font-size: 19px;
	}
	.top_company .philosophy .pm {
		padding: 15px 0 0;
		letter-spacing: 0;
	}
 
}

/*----- news -----*/

.top_news {
	padding: 160px 0 0;
}
.top_news_list {
	overflow-y: auto;
	scrollbar-color: var(--blue_dark) var(--grey);
	max-height: 375px;
	margin-top: 70px;
	padding: 0 30px 30px 0;
}
.top_news_list .dl {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid #d2e9f2;
	padding: 40px 20px;
}
.top_news_list .dl:last-child {
	border-bottom: 1px solid #d2e9f2;
}
.top_news_list .dt {
	width: 170px;
}
.top_news_list .dt p {
	display: inline-block;
	margin-top: 3px;
	padding: 7px 15px;
	background: #fffdcd;
	border-radius: 15px;
	color: var(--blue_dark);
	font-size: 16px;
}
.top_news_list .dd {
	width: calc(100% - 170px);
}
.top_news_list .dd a {
	color: var(--text);
	text-decoration: underline;
}
.top_news_list .dd a:hover {
	opacity: .7;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
	.top_news {
		padding: 10vw 0 0;
	}
	.top_news_list {
		max-height: 35vw;
		margin-top: 6vw;
		padding: 0 3vw 3vw 0;
	}
	.top_news_list .dl {
		padding: 3vw 2vw;
	}
	.top_news_list .dt {
		width: 16vw;
	}
	.top_news_list .dt p {
		margin-top: .3vw;
		padding: .7vw 1.5vw;
		font-size: 1.6vw;
	}
	.top_news_list .dd {
		width: calc(100% - 16vw);
	}
	
}
@media screen and (max-width: 767px){
       
	.top_news {
		padding: 50px 0 0;
	}
	.top_news_list {
		min-height: 250px;
		margin-top: 40px;
		padding: 0 20px 20px 0;
	}
	.top_news_list .dl {
		display: block;
		padding: 20px 0;
	}
	.top_news_list .dt {
		width: 100%;
	}
	.top_news_list .dt p {
		margin: 0 0 10px;
		padding: 5px 15px;
		font-size: 15px;
	}
	.top_news_list .dd {
		width: 100%;
	} 
	
}
