@charset "utf-8";
@import url('common.css');
@import url('amime.css');
@import url('slick-theme.css');
@import url('slick.css');


/*＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
TOP PAGE
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊*/



/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
PCページレイアウト
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */


@media all and (min-width: 1025px) {


/* visu */


#visu{
	position: relative;
	vertical-align:middle;
	width:100%;
	height:100vh;
	margin:0 0 0 0;
	padding:0 0 0 0;
}


#visu div.txt{
	position: absolute;
	margin:0 0 0 0;
	padding:0 0 0 0;
	top: 30vh;
	left: 5vw;
	z-index:1000;
	text-align: left;
}

#visu div.txt ul{
	margin:0 0 0 0;
	padding:0 0 0 0;
	display: flex;
	align-items:stretch;
	flex-wrap:wrap;
	list-style-type:none;
}

#visu div.txt ul li{
	margin:0 15px 0 0;
	padding:5px 40px;
	font-size:min(2vw,180%);
	font-weight:500;
	line-height:1.8;
	letter-spacing: 2px;
	color:var(--color-WH);
	border:1px solid var(--color-WH);
	border-radius: 50px;
}

#visu div.txt h2{
	margin:2vw 0 1.5vw 0;
	padding:0 0 0 0;
	font-size:min(4.2vw,330%);
	font-weight:800;
	line-height:1.5;
	letter-spacing: 7px;
	color:var(--color-WH);
}

#visu div.txt p{
	display: inline--block;
	margin:0 0 0 0;
	padding:0 0 0 0;
	font-size:min(1.2vw,180%);
	font-weight:500;
	line-height:1.8;
	letter-spacing: 2px;
	color:var(--color-WH);
}

#visu div.swiper{
	width:100%;
	height:100vh;
	max-height:1000px;
	margin:0 0 0 0;
	padding:0 0 0 0;
}

.swiper-slide-active .swiper-slide__item,
.swiper-slide-duplicate-active .swiper-slide__item,
.swiper-slide-prev .swiper-slide__item {
  animation: zoomanime 8s linear 0s normal both;
}

@keyframes zoomanime {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.05);
  }
}


.swiper-slide img {
  width: 100%;
  height: 100vh;
	max-height:1000px;
	object-fit: cover;
}






/* topNews */

#topNews{
	position: relative;
	width:100%;
	margin:0 auto 0 auto;
	padding:0 0 0 0;
	display: flex;
	justify-content:flex-end;
	background:var(--color-Gf5);
}

#topNews div.newsList{
	position: relative;
	width:45vw;
	max-width:760px;
	margin:-250px 0 0 0;
	padding:0 0 50px 10%;
	background:var(--color-Gf5);
	clip-path: polygon(
		12% 0%,     /* 左上 */
		100% 0%,   /* 右上 */
		100% 100%, /* 右下 */
		0% 100%   /* ← 左下を右にずらす */
	);
	z-index:1;
}


#topNews div.title{
	width:90%;
	max-width:700px;
	margin:0 0 0 0;
	padding:30px 10px 10px 10px;
	display: flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	border-bottom:1px solid var(--color-Gcc);
}

#topNews div.title h2{
	display:block;
	position: relative;
	margin:0 0 0 0;
	padding:5px 0 5px 0;
	font-size:var(--font-24);
	font-weight:600;
	line-height:1.7;
	letter-spacing: 0;
	display: flex;
	align-items:center;
	flex-wrap:wrap;
	color:var(--color-BLU1);
}

#topNews div.title p{
	margin:15px 0 0 0;
	padding:0 0;
}

#topNews div.title p a{
	display:inline-block;
	position: relative;
	margin:0 0 0 0;
	padding:5px 25px 5px 0;
	font-size:var(--font-15);
	font-weight:500;
	line-height:1;
	letter-spacing: 1px;
	color:var(--color-BLU1);
	background:url(../images/icon_arrow.webp) no-repeat right 0 top 8px;
	background-size: 13px auto;
}


#topNews div.newsList dl{
	display:block;
	position: relative;
	width:90%;
	max-width:700px;
	margin:0 0 0 0;
	padding:20px 10px;
	display: flex;
	align-items:center;
	flex-wrap:nowrap;
	border-bottom:1px solid var(--color-Gcc);
	background:url(../images/icon_arrow.webp) no-repeat right 10px top 50%;
	background-size: 13px auto;
}

#topNews div.newsList dl:hover{
	background:url(../images/icon_arrow.webp) no-repeat right 10px top 50% var(--color-WH);
	background-size: 13px auto;
}

#topNews div.newsList dt{
	width:9vw;
	min-width:110px;
	margin:0 0 0 0;
	padding:0 0 0 0;
	font-size:var(--font-14);
	font-weight:400;
	line-height:1.7;
	letter-spacing: 1px;
	display: flex;
	justify-content:flex-start;
	align-items: center;
	flex-wrap:nowrap;
}

#topNews div.newsList dt span{
	display: inline-block;
	margin:0 15px 0 0;
	padding:5px 20px;
	font-size:var(--font-13);
	font-weight:400;
	line-height:1.7;
	letter-spacing: 1px;
	color:var(--color-WH);
	background:var(--color-BLU1);
	border-radius: 50px;
}

#topNews div.newsList dd{
	display: block;
	width:100%;
	margin:0 0 0 0;
	padding:0 30px 0 0;
	font-size:var(--font-15);
	font-weight:400;
	line-height:1.7;
	letter-spacing: 1px;
}








/* topContL */

.topCont{
	position: relative;
	width:100%;
	margin:0 auto 0 auto;
	padding:150px 0 0 0;
}

.topCont div.block{
	display:block;
	position: relative;
	width:90%;
	margin:0 auto 0 auto;
	padding:0 0 0 0;
	display: flex;
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap:wrap;
	gap:5%;
}

.topCont.right div.block{
	flex-direction:row-reverse;
}

.topCont div.ph{
	width:53%;
	margin:0 0 0 0;
	padding:0 0 0 0;
}

.topCont div.ph img{
	width:100%;
	height:460px;
	object-fit: cover;
}

.topCont div.title{
	width:42%;
	margin:0 0 0 0;
	padding:0 0 0 0;
}

.topCont.right div.title{
	width:39%;
	margin:0 0 0 0;
	padding:0 0 0 0;
}

.topCont div.title h2{
	display:block;
	position: relative;
	margin:0 0 0 0;
	padding:0 0 0 0;
	font-size:var(--font-18);
	font-weight:600;
	line-height:1;
	letter-spacing: 1px;
}

.topCont div.title h2 span{
	display:block;
	position: relative;
	margin:0 0 10px 0;
	padding:0 0 0 0;
	font-family: "Wix Madefor Text", sans-serif;
	font-size:var(--font-40);
	font-weight:700;
	line-height:1;
	letter-spacing: 0;
	color:var(--color-Gcc);
}


.topCont div.title h3{
	display:block;
	position: relative;
	margin:0 0 0 0;
	padding:40px 0 0 0;
	font-size:var(--font-40);
	font-weight:800;
	line-height:1.4;
	letter-spacing: 2px;
}

.topCont div.title p{
	display:inline-block;
	position: relative;
	margin:0 0 0 0;
	padding:20px 0 0 0;
	font-size:var(--font-15);
	font-weight:500;
	line-height:2;
	letter-spacing: 1px;
}


.topCont div.block div.btn{
	display:block;
	position: relative;
	margin:50px 0 0 0;
	padding:0 0 0 0;
	position: relative;
	width:100%;
	display: flex;
	align-items:stretch;
	flex-wrap:wrap;
}

.topCont div.block div.btn a{
	display: block;
	margin:0 0 0 0;
	padding:10px 70px 10px 60px;
	display: flex;
	align-items:center;
	font-size:var(--font-18);
	font-weight:500;
	line-height:1.7;
	letter-spacing: 1px;
	border:1px solid var(--color-BLU1);
	color:var(--color-BLU1);
	background:url(../images/icon_arrow.webp) no-repeat right 20px top 50%;
	background-size: 13px auto;
	border-radius: 50px;
}

.topCont div.block div.btn a:hover{
	border:1px solid var(--color-BLU1);
	color:var(--color-BLU1);
	background:url(../images/icon_arrow_w.webp) no-repeat right 20px top 50% var(--color-BLU1);
	background-size: 13px auto;
	border-radius: 50px;
	color:var(--color-WH);
}







/* topCompany */

#topCompany{
	position: relative;
	width:100%;
	margin:0 auto 0 auto;
	padding:80px 0 100px 0;
	text-align:center;
}

#topCompany div.block{
	display:block;
	position: relative;
	width:94%;
	max-width:1340px;
	margin:50px auto 0 auto;
	padding:0 0 0 0;
	display: flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
}

#topCompany div.block div.stat{
	display:block;
	position: relative;
	width:19.5%;
	margin:0 0 0 0;
	padding:0 0 0 0;
	aspect-ratio: 1 / 1.8;
}

#topCompany div.block div.stat.c01{background:url(../images/ph_top0401.webp) no-repeat;background-size: 100% auto;}
#topCompany div.block div.stat.c02{background:url(../images/ph_top0402.webp) no-repeat;background-size: 100% auto;}
#topCompany div.block div.stat.c03{background:url(../images/ph_top0403.webp) no-repeat;background-size: 100% auto;}
#topCompany div.block div.stat.c04{background:url(../images/ph_top0404.webp) no-repeat;background-size: 100% auto;}
#topCompany div.block div.stat.c05{background:url(../images/ph_top0405.webp) no-repeat;background-size: 100% auto;}


#topCompany div.block div.stat div.icon{
	margin:3vw auto 0 auto;
	padding:0 0 0 0;
}
#topCompany div.block div.stat div.icon{width:3.5vw;max-width:60px;}
#topCompany div.block div.stat div.icon img{width:100%;}



#topCompany div.block div.stat div.label{
	display:block;
	position: relative;
	width:100%;
	margin:0 0 0 0;
	padding:0 0 0 0;
	color:var(--color-WH);
	font-size:var(--font-16);
	font-weight:600;
	line-height:1;
	letter-spacing: 2px;
}


#topCompany div.numblock{
	display:block;
	position: relative;
	width:100%;
	margin:5vw 0 0 0;
	padding:0 0 0 0;
	display: flex;
	justify-content:center;
	align-items:flex-end;
	flex-wrap:wrap;
}

#topCompany div.numblock div.num{
	margin:0 0 0 0;
	padding:0 0 0 0;
	font-family: "Wix Madefor Text", sans-serif;
	color:var(--color-WH);
	font-size:var(--font-60);
	font-weight:600;
	line-height:1;
	letter-spacing: 0;
}

#topCompany div.numblock p{
	display:block;
	margin:0 0 0 0;
	padding:0 0 5px 5px;
	color:var(--color-WH);
	font-size:var(--font-20);
	font-weight:500;
	line-height:1;
	letter-spacing: 1px;
}

#topCompany div.block div.stat h3{
	margin:20px 0 0 0;
	padding:0 0;
	color:var(--color-WH);
	font-size:var(--font-13);
	font-weight:400;
	line-height:1;
	letter-spacing: 1px;
}




#topCompany div.btn{
	display:block;
	position: relative;
	margin:50px 0 0 0;
	padding:0 0 0 0;
	position: relative;
	width:100%;
	display: flex;
	align-items:stretch;
	flex-wrap:wrap;
}

#topCompany div.btn a{
	display: block;
	margin:0 auto 0 auto;
	padding:10px 95px 10px 90px;
	display: flex;
	align-items:center;
	font-size:var(--font-18);
	font-weight:500;
	line-height:1.7;
	letter-spacing: 1px;
	border:1px solid var(--color-BLU1);
	color:var(--color-BLU1);
	background:url(../images/icon_arrow.webp) no-repeat right 20px top 50%;
	background-size: 13px auto;
	border-radius: 50px;
}

#topCompany div.btn a:hover{
	border:1px solid var(--color-BLU1);
	color:var(--color-BLU1);
	background:url(../images/icon_arrow_w.webp) no-repeat right 20px top 50% var(--color-BLU1);
	background-size: 13px auto;
	border-radius: 50px;
	color:var(--color-WH);
}




}













/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
SPページレイアウト
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */

@media all and (max-width: 1024px) {


/* visu */


#visu{
	position: relative;
	vertical-align:middle;
	width:100%;
	height:100vh;
	margin:0 0 0 0;
	padding:0 0 0 0;
	text-align:center;
}


#visu div.txt{
	position: absolute;
	margin:0 0 0 0;
	padding:0 5vw;
	bottom: 7vh;
	left: 0;
	z-index:1000;
	text-align: left;
}

#visu div.txt ul{
	margin:0 0 0 0;
	padding:0 0 0 0;
	display: flex;
	align-items:stretch;
	flex-wrap:wrap;
	list-style-type:none;
}

#visu div.txt ul li{
	margin:0 5px 0 0;
	padding:3px 20px;
	font-size:var(--font-16);
	font-weight:500;
	line-height:1.8;
	letter-spacing: 2px;
	color:var(--color-WH);
	border:1px solid var(--color-WH);
	border-radius: 50px;
}

#visu div.txt h2{
	width:75vw;
	display: inline--block;
	margin:2vw 0 1.5vw 0;
	padding:10px 0 10px 0;
	font-size:min(7vw,40px);
	font-weight:800;
	line-height:1.5;
	letter-spacing: 3px;
	color:var(--color-WH);
}

#visu div.txt p{
	display: inline--block;
	margin:0 0 0 0;
	padding:0 0 0 0;
	font-size:min(3.6vw,16px);
	font-weight:500;
	line-height:1.8;
	letter-spacing: 2px;
	color:var(--color-WH);
}

#visu div.swiper{
	width:100%;
	height:100vh;
	margin:0 0 0 0;
	padding:0 0 0 0;
}

.swiper-slide-active .swiper-slide__item,
.swiper-slide-duplicate-active .swiper-slide__item,
.swiper-slide-prev .swiper-slide__item {
  animation: zoomanime 8s linear 0s normal both;
}

@keyframes zoomanime {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.05);
  }
}


.swiper-slide img {
  width: 100%;
  height: 100vh;
	object-fit: cover;
}







/* topNews */

#topNews{
	position: relative;
	width:100%;
	margin:0 auto 0 auto;
	padding:40px 0;
	display: flex;
	justify-content:flex-end;
	background:var(--color-Gf5);
}


#topNews div.newsList{
	position: relative;
	width:90%;
	margin:0 auto 0 auto;
	padding:0 0 0 0;
	background:var(--color-Gf5);
}


#topNews div.title{
	width:100%;
	margin:0 0 0 0;
	padding:0 0 20px 0;
	display: flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	border-bottom:1px solid var(--color-Gcc);
}

#topNews div.title h2{
	display:block;
	position: relative;
	margin:0 0 0 0;
	padding:0 0 0 0;
	font-size:var(--font-16);
	font-weight:600;
	line-height:1.7;
	letter-spacing: 0;
	display: flex;
	align-items:center;
	flex-wrap:wrap;
	color:var(--color-BLU1);
}

#topNews div.title p{
	margin:1px 0 0 0;
	padding:0 0;
}

#topNews div.title p a{
	display:inline-block;
	position: relative;
	margin:0 0 0 0;
	padding:5px 25px 5px 0;
	font-size:var(--font-14);
	font-weight:500;
	line-height:1;
	letter-spacing: 1px;
	color:var(--color-BLU1);
	background:url(../images/icon_arrow.webp) no-repeat right 0 top 7px;
	background-size: 13px auto;
}


#topNews div.newsList dl{
	display:block;
	position: relative;
	width:100%;
	margin:0 0 0 0;
	padding:15px 0;
	border-bottom:1px solid var(--color-Gcc);
	background:url(../images/icon_arrow.webp) no-repeat right 0 top 50%;
	background-size: 13px auto;
}

#topNews div.newsList dt{
	margin:0 0 0 0;
	padding:0 0 0 0;
	font-size:var(--font-14);
	font-weight:400;
	line-height:1.7;
	letter-spacing: 1px;
	display: flex;
	justify-content:flex-start;
	align-items: center;
	flex-wrap:nowrap;
}

#topNews div.newsList dt span{
	display: inline-block;
	margin:0 0 0 0;
	padding:5px 20px;
	font-size:var(--font-13);
	font-weight:400;
	line-height:1.7;
	letter-spacing: 1px;
	color:var(--color-WH);
	background:var(--color-BLU1);
	border-radius: 50px;
}

#topNews div.newsList dd{
	display: block;
	margin:0 0 0 0;
	padding:0 30px 0 0;
	font-size:var(--font-15);
	font-weight:400;
	line-height:1.7;
	letter-spacing: 1px;
}










/* topContL */

.topCont{
	position: relative;
	width:100%;
	margin:0 auto 0 auto;
	padding:70px 0 0 0;
}

.topCont div.block{
	display:block;
	position: relative;
	width:90%;
	margin:0 auto 0 auto;
	padding:0 0 0 0;
}

.topCont div.ph{
	width:100%;
	margin:0 0 0 0;
	padding:0 0 0 0;
}

.topCont div.ph img{
	width:100%;
	height:50vw;
	object-fit: cover;
}

.topCont div.title{
	width:100%;
	margin:20px 0 0 0;
	padding:0 0 0 0;
}

.topCont div.title h2{
	display:block;
	position: relative;
	margin:0 0 0 0;
	padding:0 0 0 0;
	font-size:var(--font-14);
	font-weight:600;
	line-height:1;
	letter-spacing: 1px;
}

.topCont div.title h2 span{
	display:block;
	position: relative;
	margin:0 0 10px 0;
	padding:0 0 0 0;
	font-family: "Wix Madefor Text", sans-serif;
	font-size:var(--font-30);
	font-weight:700;
	line-height:1;
	letter-spacing: 0;
	color:var(--color-Gcc);
}


.topCont div.title h3{
	display:block;
	position: relative;
	margin:0 0 0 0;
	padding:20px 0 0 0;
	font-size:var(--font-30);
	font-weight:800;
	line-height:1.4;
	letter-spacing: 2px;
}

.topCont div.title p{
	display:inline-block;
	position: relative;
	margin:0 0 0 0;
	padding:10px 0 0 0;
	font-size:var(--font-13);
	font-weight:500;
	line-height:1.8;
	letter-spacing: 1px;
}


.topCont div.block div.btn{
	display:block;
	position: relative;
	margin:30px auto 0 auto;
	padding:0 0 0 0;
	position: relative;
	width:100%;
	display: flex;
	align-items:stretch;
	flex-wrap:wrap;
}

.topCont div.block div.btn a{
	display: block;
	margin:0 auto 0 auto;
	padding:7px 60px 7px 60px;
	display: flex;
	align-items:center;
	font-size:var(--font-14);
	font-weight:500;
	line-height:1.7;
	letter-spacing: 1px;
	border:1px solid var(--color-BLU1);
	color:var(--color-BLU1);
	background:url(../images/icon_arrow.webp) no-repeat right 15px top 50%;
	background-size: 13px auto;
	border-radius: 50px;
}

.topCont div.block div.btn a:hover{
	border:1px solid var(--color-BLU1);
	color:var(--color-BLU1);
	background:url(../images/icon_arrow_w.webp) no-repeat right 20px top 50% var(--color-BLU1);
	background-size: 13px auto;
	border-radius: 50px;
	color:var(--color-WH);
}







/* topCompany */

#topCompany{
	position: relative;
	width:100%;
	margin:0 auto 0 auto;
	padding:80px 0 80px 0;
	text-align:center;
}

#topCompany div.block{
	display:block;
	position: relative;
	width:90%;
	margin:0 auto 0 auto;
	padding:0 0 0 0;
}

#topCompany div.block div.stat{
	display:block;
	position: relative;
	width:100%;
	margin:0 0 10px 0;
	padding:30px 0 30px 0;
}

#topCompany div.block div.stat.c01{background:url(../images/ph_top0401_sp.webp) no-repeat;background-size: cover;}
#topCompany div.block div.stat.c02{background:url(../images/ph_top0402_sp.webp) no-repeat;background-size: cover;}
#topCompany div.block div.stat.c03{background:url(../images/ph_top0403_sp.webp) no-repeat;background-size: cover;}
#topCompany div.block div.stat.c04{background:url(../images/ph_top0404_sp.webp) no-repeat;background-size: cover;}
#topCompany div.block div.stat.c05{background:url(../images/ph_top0405_sp.webp) no-repeat;background-size: cover;}


#topCompany div.block div.stat div.icon{
	margin:0 auto 0 auto;
	padding:0 0 0 0;
}
#topCompany div.block div.stat div.icon{width:10vw;max-width:60px;}
#topCompany div.block div.stat div.icon img{width:100%;}



#topCompany div.block div.stat div.label{
	display:block;
	position: relative;
	width:100%;
	margin:0 0 0 0;
	padding:0 0 0 0;
	color:var(--color-WH);
	font-size:var(--font-16);
	font-weight:600;
	line-height:1;
	letter-spacing: 2px;
}


#topCompany div.numblock{
	display:block;
	position: relative;
	width:100%;
	margin:20px 0 0 0;
	padding:0 0 0 0;
	display: flex;
	justify-content:center;
	align-items:flex-end;
	flex-wrap:wrap;
}

#topCompany div.numblock div.num{
	margin:0 0 0 0;
	padding:0 0 0 0;
	font-family: "Wix Madefor Text", sans-serif;
	color:var(--color-WH);
	font-size:var(--font-60);
	font-weight:600;
	line-height:1;
	letter-spacing: 0;
}

#topCompany div.numblock p{
	display:block;
	margin:0 0 0 0;
	padding:0 0 5px 5px;
	color:var(--color-WH);
	font-size:var(--font-20);
	font-weight:500;
	line-height:1;
	letter-spacing: 1px;
}

#topCompany div.block div.stat h3{
	margin:10px 0 0 0;
	padding:0 0;
	color:var(--color-WH);
	font-size:var(--font-13);
	font-weight:400;
	line-height:1;
	letter-spacing: 1px;
}




#topCompany div.btn{
	display:block;
	position: relative;
	margin:30px auto 0 auto;
	padding:0 0 0 0;
	position: relative;
	width:100%;
	display: flex;
	align-items:stretch;
	flex-wrap:wrap;
}

#topCompany div.btn a{
	display: block;
	margin:0 auto 0 auto;
	padding:7px 60px 7px 60px;
	display: flex;
	align-items:center;
	font-size:var(--font-14);
	font-weight:500;
	line-height:1.7;
	letter-spacing: 1px;
	border:1px solid var(--color-BLU1);
	color:var(--color-BLU1);
	background:url(../images/icon_arrow.webp) no-repeat right 15px top 50%;
	background-size: 13px auto;
	border-radius: 50px;
}

#topCompany div.btn a:hover{
	border:1px solid var(--color-BLU1);
	color:var(--color-BLU1);
	background:url(../images/icon_arrow_w.webp) no-repeat right 20px top 50% var(--color-BLU1);
	background-size: 13px auto;
	border-radius: 50px;
	color:var(--color-WH);
}







}