@media screen and (min-width: 1024px){

/* ----------base---------- */
html{
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	overflow-x: hidden;
	font-size: 62.5%;
	/* scroll-behavior: smooth;
	scroll-padding-top: 170px; */
}
 body{
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	background-color: #fff;
	color: #444;
	font-family: "Noto Sans", sans-serif;	
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.75 ;
	-webkit-text-size-adjust: 100%;	
}
img{
	border: none; 
	max-width: 100%;
	height: auto;
	width /***/:auto;　
}
a{
	outline: none;
	transition: 0.3s;
	text-decoration: none;
	color: #295A70;
}
a:hover{
	text-decoration: none;
}
a img{
	transition: 0.3s;
}
a img:hover{
	opacity: 0.6;
}
.sp{
	display: none;
}



/* -------------------all common-------------------- */
/* ----------header---------- */
.header{
	width: 100%;
	height: 170px;
}
.header img{
	display: none;
}


/* ----------navi---------- */
.fullscreenmenu{
	display: none;
}
.navi{
 	width: 100%;
	position: fixed;
	top: 18px;
	left: 0;
	right: 0;
	z-index: 100;
}
.navi ul{
	margin: 0 auto;
 	width: 90%;
	max-width: 1400px;
	padding: 0 20px;
	box-sizing: border-box;
	height: 70px;
	border-radius: 20px;
	background-color: rgba(217,232,239,0.7);
	backdrop-filter: blur(5px);
	display: flex;
	justify-content: space-around;
	transition: 0.5s;
}
.navi ul li{
	list-style: none;
	text-align: center;
}
.navi ul li a{
	line-height: 70px;
	padding: 4px 8px;
}
.navi ul li.logo{
	width: 55px;
	height: 70px;
	overflow: hidden;
}
.navi ul li.logo a:hover{
	background: transparent;
}
.navi ul li.logo img{
	display: inline-block;
	margin: 13px 0 0 -10px;
	padding: 0;
}
.navi ul li a:hover,
.navi ul li.current a{
	background-color: #fff;
	border-radius: 8px;
}
.navi ul li.logo.current a{
	background: transparent;
}




/* ----------footer---------- */
.footer{
	width: 100%;
}
/* sns */
.footer .sns{
	width: 26px;
	margin: 0 auto;
}
.footer .sns a img{
	width: 26px;
	display: block;
	margin: 100px auto;
}

/* flex */
.footer .flex{
	width: 90%;
	max-width: 1800px;
	margin: 30px auto;
	background-color: #EBF1F3;
	border-radius: 130px;
	font-size: 1.3rem;
}
/* left */
.footer .flex .left{
	min-width: 260px;
	width: 25%;
	padding: 80px 20px;
	box-sizing: border-box;	
}
.footer .flex .left a img{
	width: 110px;
	display: block;
	margin: 0 auto;
}
.footer .flex .left p{
	color: #295A70;
	text-align: center;
}
.footer .flex .left p br{
	display: none;
}
/* right */
.footer .flex .right{
	width: calc(100% - 260px);
	padding: 80px 40px 40px;
	box-sizing: border-box;
	background-color: #F4F7F8;
	border-radius: 130px;
	color: #295A70;
}
/* sitemap */
.footer .sitemap{
	display: flex;
	justify-content: space-around;
	margin: 0 auto;
}
.footer .sitemap div{
	font-weight: 600;
	margin: 0 auto;
}
.footer .sitemap div ul{
	font-weight: 400;
	margin: 10px 0;
	padding: 0 0 0 15px;
	list-style: none;
}
.footer .sitemap div ul .child{
	margin: 0 0 0 10px;
	padding: 0;
}
.footer .sitemap a{
	padding: 1px 5px;
	border-radius: 6px;
}
.footer .sitemap a:hover{
	background-color: #fff;
}
.footer .sitemap div ul hr{
	background: none;
	border: none;
}

/* copyright */
.footer .copyright{
	text-align: center;
	padding: 0 0 50px;
}




 /* ----------effect---------- */
 /* blur */
 .blur{
  filter: blur(15px);
}
.img-blur {
	animation: imageBlur 1s both;
}
@keyframes imageBlur {
  100% {
    filter: blur(0);
  }
}

/* company */
.effect-c01{
    animation: fuwa01 4s infinite ease-in-out;
}
@keyframes fuwa01 {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
    	transform: translateX(3px) translateY(3px) rotate(-0.5deg);
    }
}
.effect-c02{
    animation: fuwa02 3s infinite ease-in-out;
}
@keyframes fuwa02 {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
    	transform: translateX(-2px) translateY(-3px) rotate(0.2deg);
    }
}



 /* ----------section---------- */
.section{
	width: 100%;
	position: relative;
	padding: 30px 0;
	z-index: -10;
}
.section.color{
	background-color: #F7F9FA;
	z-index: -10;
}
.section.narrow{
	width: 94%;
	margin: 100px auto 0;
}
.section.narrow .midashi{
	margin-top: -90px;
}
.section.narrow-high{
	width: 94%;
	margin: 150px auto 0;
}
.section.narrow-high .page-title{
	margin-top: -125px;
}

 /* ----------area-title---------- */
.area-title{
	text-align: center;
}
.area-title h2{
	color: #295A70;
	font-size: 2.4rem;
	font-weight: 600;
	margin: 0;
	padding: 0;
}
.area-title h2 span{
	font-size: 1.3rem;
	display: block;
	padding: 0;
}
/* more */
.area-title .more{
}
.area-title .more a{
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	display: block;
	border-radius: 50%;
	background-color: #F4F7F8;
}
.area-title .more a:hover{
	background-color: #D8E6EE;
}



/* ----------flex---------- */
.flex{
	display: flex;
}



/* -------------------index-------------------- */
/* ----------mv---------- */
.mv{
	width: 100%;
	height: 100%;
	position: relative;
	top: -170px;
	margin-bottom: -170px;
	z-index: 0;
	overflow: hidden;
}
.mv img{
	width: 100vw;
	height: 100vh;
	object-fit: cover;
}

.swiper-slide-active img,
.swiper-slide-duplicate-active  img,
.swiper-slide-prev img{
  animation: zoom-in 10s linear 0s 1 normal both;  
}
@keyframes zoom-in {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}

/* box */
.box {
  animation: fadeIn linear both;
  animation-timeline: scroll();
}
@keyframes fadeIn {
from {
    opacity: 1;
   clip-path: inset(0 round 0);
   }
to {
    opacity: 1;
     clip-path: inset(40% round 400px);
}
}



/* ----------copy---------- */
.copy{
	width: 100%;
	height: 120px;
	display: grid;
	place-items: center;
}
.copy h1{
	font-size: 3.6rem;
	font-weight: 400;
	color: #295A70;
	margin: 0;
	padding: 0;
}



/* ----------news-area---------- */
.news-area{
	margin: 0 auto 100px;
}
/* flex */
.news-area .flex{
	width: 90%;
	max-width: 1800px;
	margin: 0 auto;
	background-color: #EBF1F3;
	border-radius: 50px;
}
/* left */
.news-area .flex .left{
	min-width: 260px;
	width: 25%;
	padding: 70px 20px;
	box-sizing: border-box;	
}
/* area-tile */
.news-area .area-title .more{
	width: 38px;
	margin: 30px auto 0;	
}
.news-area .more a{
	background-color: #fff;
}
/* right */
.news-area .flex .right{
	width: calc(100% - 260px);
	padding: 70px 40px 90px;
	box-sizing: border-box;
	color: #295A70;
	position: relative;
}
/* news-list */
.news-area .news-list{
	width: 100%;
	overflow-x: hidden;
}
.news-area .news-list .item{
	margin: 0 10% 0 0;
	background-color: #fff;
	border-radius: 20px;
	position: relative;
	font-size: 1.5rem;
}
.news-area .news-list .thumbnail{
	border-radius: 20px;
	width: 100%;
	height: 200px;
	overflow: hidden;
	background-color: #EAEAEA;
}
.news-area .news-list .thumbnail img{
	display: block;
	width: 100%;
	height: 200px;
	object-fit: cover;
}
.news .item .cate{
	width: 70px;
	position: relative;
	margin: -50px 20px 25px auto;
}
.news-area .news-list .cate a{
	font-size: 1.2rem;
	background-color: #295A70;
	color: #fff;
	position: absolute;
	top: 170px;
	right: 10px;		
	z-index: 10;
	padding: 0 6px;
	border-radius: 6px;
	height: 20px;
	line-height: 20px;
}
.news-area .news-list .cate a:hover{
	color: #295A70;
	background-color: #EBF1F3;
}
.news-area .news-list .txt{
	padding: 20px;
}
.news-area .news-list .txt p{
	margin: 0;
}
.news-area .news-list .date{
	font-weight: 600;
}

.swiper-scrollbar{
	bottom: 45px !important;
    background: #9FBCC9 !important;
    height: 2px !important;
    position: relative;
    width: 90% !important;
    margin-left: 20px;
    z-index: 20;
}
.swiper-scrollbar .swiper-scrollbar-drag{
	top: -10px;
	border: 1px solid #9FBCC9;
    background: #fff; 
    border-radius: 10px; 
    height: 20px;
   	cursor: grab;
}



/* ----------about-area---------- */
.about-area{
	position: relative;
	margin: 50px auto;
	text-align: center;
}
/* area-tile */
.about-area .area-title .more{
	width: 38px;
	position: relative;
	top: -50px;
	left: calc(50% + 80px);
}



/* ----------company-area---------- */
.company-area{
	position: relative;
	margin: 0 auto 100px;
}
/* area-tile */
.company-area .area-title{
	position: relative;
	z-index: 10;
	width: 240px;
	margin: 0 auto;
	background-color: #fff;
	border-radius: 122px;
	height: 73px;
}
.company-area .area-title h2{
	text-indent: -30px;
}
.company-area .area-title .more{
	width: 38px;
	position: relative;
	top: -50px;
	left: calc(50% + 60px);
}

/* photo-area */
.company-area .photo-area{
	position: relative;
	width: 90%;
	max-width: 1600px;
	margin: -30px auto 50px;
	border-radius: 50px;
	background-color: #F4F7F8;
	border: none;
	padding: 60px 30px;
	box-sizing: border-box;
}
/* flex */
.company-area .flex{
	width: 100%;
	max-width: 900px;
	margin: 25px auto;
	justify-content: space-between;
}
/* narrow */
.company-area .narrow{
	width: 45%;
	max-width: 350px;
}
/* wide */
.company-area .semiwide{
	width: 55%;
	max-width: 500px;
}
/* normal */
.company-area .normal{
	width: 50%;
	max-width: 425px;
}
/* wide */
.company-area .wide{
	width: 100%;
	text-align: center;
	margin: 25px auto 0;
}



/* ----------business-area---------- */
.business-area{
	position: relative;
	margin: 0 auto 100px;
}
/* area-tile */
.business-area .area-title{
	position: relative;
	z-index: 10;
	width: 240px;
	margin: 0 auto;
	background-color: #fff;
}
.business-area .area-title .more{
	width: 38px;
	position: relative;
	top: -50px;
	left: calc(50% + 80px);
}
/* flex */
.business-area .flex{
	width: 88%;
	max-width: 1600px;
	margin: 0 auto;
	justify-content: space-between;
}
.business-area .tech{
	width: 31%;	
	background-color: #EBF1F3;
	border-radius: 20px;
	padding: 20px 35px;
	box-sizing: border-box;
	text-align: center;
	color: #295A70;
}
.business-area .tech img{
	border-radius: 70px;
	margin-bottom: 10px;
}
.business-area .tech strong{
	font-size: 2.4rem;
	font-weight: 600;
}
.business-area .tech p{
	font-size: 1.3rem;
	font-weight: 600;
	margin: 0;
}


/* ----------sustainability-area---------- */
.sustainability-area{
	position: relative;
	margin: 0 auto 100px;
}
/* area-tile */
.sustainability-area .area-title{
	position: relative;
	z-index: 10;
	width: 240px;
	margin: 0 auto;
	background-color: #fff;
}
.sustainability-area .area-title .more{
	width: 38px;
	position: relative;
	top: -50px;
	left: calc(50% + 110px);
}
/* image */
.sustainability-area .image{
	width: 960px;
	margin: 0 auto;
}
.sustainability-area .image img{
	border-radius: 60px;
}



/* ----------careers-area---------- */
.careers-area{
	margin: 0 auto 100px;
}
/* flex */
.careers-area .flex{
	width: 90%;
	max-width: 1300px;
	margin: 0 auto;
	background-color: #D8E6EE;
	border-radius: 50px;
	align-items: center;
}
/* left */
.careers-area .flex .left{
	min-width: 260px;
	width: 25%;
	padding: 80px 20px;
	box-sizing: border-box;	
}
/* area-tile */
.careers-area .area-title .more{
	width: 38px;
	margin: 30px auto 0;	
}
.careers-area .more a{
	background-color: #fff;
}
.careers-area .more a:hover{
	background-color: #EBF1F3;
}
/* right */
.careers-area .flex .right{
	width: calc(100% - 260px);
}
.careers-area .flex .right img{
	display: block;
	width: 100%;
	height: 440px;
	object-fit: cover;
	border-radius: 50px;
}




/* -------------------page common-------------------- */
/* contents-area */
.contents-area{
	width: 100%;
	position: relative;
	z-index: 0;
}
.contents-area .inner{
	margin: 0 auto;
	width: 90%;
}

/* page-title */
.page-title{
	width: 100%;
	max-width: 1600px;
	margin:  0 auto;
	height: 270px;
	text-align: center;
	position: relative;
	z-index: 0;

	container-type: inline-size;
}
.page-title h2{
	font-size: 2.4rem;
	font-weight: 800;
	padding: 85px 0 0;
	margin: 0;
	position: relative;
	z-index: 1;
}
.page-title h2 span{
	display: block;
	font-size: 1.3rem;
	font-weight: 600;
	padding: 0;
	margin: 0;
}
.page-title .bg{
	/* font-size: 20rem; */
	font-size: 12cqw;
	color: rgba(41,90,112,0.05);
	font-weight: 800;
	padding: 0;
	margin: -140px 0 0;
	position: relative;
	z-index: -2;
	height: 200px;
	line-height: 1;
}
.page-title .bg.low{
	top: 50px;
}
.page-title .bg.small{
	/* font-size: 10rem; */
	font-size: 6cqw;
	margin: -180px 0 0;
	
}
.page-title .bg.middle{
	/* font-size: 12.8rem; */
	font-size: 9cqw;
	margin: -190px 0 0;
}

/* midashi */
.midashi{
	width: 100%;
	text-align: center;
	position: relative;
	container-type: inline-size;
}
.midashi h2{
	font-size: 1.8rem;
	font-weight: 600;
	margin:  10px 0 50px;
	padding: 0;
	position: relative;
	z-index: 1;
}
.midashi h2 span{
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
	margin: 0;
	padding: 0;
}
.midashi .bg{
	/* font-size: 20rem; */
	/* font-size: 12cqw; */
	font-size: 10rem;
	color: rgba(41,90,112,0.05);
	font-weight: 700;
	padding: 0;
	margin: 0;
	position: relative;
	z-index: 0;
	line-height: 1;
}
/* .midashi .bg.small{
	font-size: 10rem;
}
.midashi .bg.middle{
	font-size: 12.8rem;
} */


/* ---height--- */
.space50{
	margin-top: 50px;
}
.space100{
	margin-top: 100px;
}
.over-low{
	margin-top: -80px;	
}
.over{
	margin-top: -130px;
}
.midashi.over h2{
	margin-top: 100px;
}
.down:before{
	content: "";
	width: 100%;
	height: 100px;
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0;
}


/* ---wight--- */
.width940{
	width: 940px;
	margin: 0 auto;
}



/* txt size */
.big{
	font-size: 2.4rem;
}

/* align */
.align-center{
	text-align: center;
}
.align-right{
	text-align: right;
}
.align-left{
	text-align: left;
}

/* image parts */
.round{
	display: block;
	margin: 50px auto 100px;
	border-radius: 120px;
}

/* image-area */
.image-area{
	text-align: center;
	background-color: #F7F9FA;
	padding: 80px 0;
}
.image-area img{
	width: 90%;
	max-width: 1600px;
	display: block;
	margin: 0 auto;
	border-radius: 55px
}





/* --------------page about--------------- */
.about{
}
.about h4{
	font-size: 2rem;
}
/* copy */
.about .copy{
	color: #295A70;
	font-size: 3.2rem;
	text-align: center;
	width: 100%;
	line-height: 100px;
	height: 100px;
	background-color: #F7F9FA;
	margin: 0 0 30px;
}

/* timeline */
.timeline{
	background-color: #E8F1F5;
	padding: 50px 0;
	background-image: url(../images/logomark_bg.png);
	background-repeat: no-repeat;
	background-position: center center;
	text-align: center;
}
.timeline .inner{
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
}
/* year */
.timeline .year{
	width: 30%;
	min-width: 315px;
	position: relative;
	display: block;
}
.timeline .year:first-child{
	margin: 0 auto 0 0;
}
.timeline .year:nth-child(2){
	margin: -260px auto 0 auto;
}
.timeline .year:nth-child(3){
	margin: -260px 0 0 auto;
}
.timeline .year:nth-child(4){
	margin: 0 0 0 auto;
}
.timeline .year:nth-child(5){
	margin: -310px auto 0 auto;
}
.timeline .year:nth-child(6){
	margin: -310px auto 0 0;
}
.timeline .year:nth-child(7){
	margin: 0 auto 0 0;
}
.timeline .year:nth-child(8){
	margin: -330px auto 0 auto;
}
.timeline .year:nth-child(9){
	margin: -330px 0 0 auto;
}
.timeline .year:nth-child(10){
	margin: 0 0 0 auto;
}

/* photo */
.timeline .photo{
	position: relative;
	width: 315px;
	margin: 0 auto;
}
/* number */
.timeline .number{
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: 60px;
	height: 60px;
	border-radius: 30px;
	background-color: rgba(255,255,255,0.8);
	color: #295A70;
	font-size: 2rem;
	font-weight: 600;
	line-height: 18px;
	padding-top: 14px;
	box-sizing: border-box;
}
.timeline .number.dark{
	background-color: rgba(255,255,255,0.95);
}
.timeline .number.light{
	background-color: rgba(242,246,247,0.8);
}
.timeline .number span{
	font-size: 1.3rem;
	font-weight: 400;
	display: block;
}
.timeline .number.horizontal{
	padding-top: 20px;
}
.timeline .number.horizontal span{
	font-size: 1.3rem;
	font-weight: 400;
	display: inline;
	top: -2px;
	left: 1px;
	position: relative;
}
.timeline .photo img{
	border-radius: 20px;
}
/* ad */
.timeline .year .ad{
	color: #fff;
	font-weight: 600;
	margin: 0;
	padding: 0;
}
.timeline .year .ad.ad1999{
	font-size: 5.6rem;
	margin-bottom: -27px;
}
.timeline .year .ad.ad2000{
	font-size: 6.4rem;
	margin-bottom: -29px;
}
.timeline .year .ad.ad2008{
	font-size: 7.2rem;
	margin-bottom: -34px;
}
.timeline .year .ad.ad2009{
	font-size: 8rem;
	margin-bottom: -37px;
}
.timeline .year .ad.ad2016{
	font-size: 8.8rem;
	margin-bottom: -40px;
}
.timeline .year .ad.ad2017{
	font-size: 9.2rem;
	margin-bottom: -46px;
}
.timeline .year .ad.ad2018{
	font-size: 10rem;
	margin-bottom: -48px;
}
.timeline .year .ad.ad2022{
	font-size: 10.8rem;
	margin-bottom: -51px;
}
.timeline .year .ad.ad2023{
	font-size: 11rem;
	margin-bottom: -52px;
}
.timeline .year .ad.ad2026{
	font-size: 11rem;
	margin-bottom: -52px;
}

.timeline .year p{
	font-size: 1.5rem;
}


/* --------------page company--------------- */
.company{
}

/* greeting */
.greeting{
	margin: 0 auto;
	width: 90%;
	max-width: 900px;
}

/* table */
.company table{
	width: 800px;
	margin: 50px auto;
}
.company table th{
	vertical-align: top;
	text-align: right;
	font-weight: 600;
	width: 100px;
	padding: 5px 0;
}
.company table td{
	vertical-align: top;
	padding: 5px 0 5px 100px;
}

/* map japan */
.japan{
	text-align: center;
	margin: 50px auto -50px;
	max-width: 70%;
}

/* snapshot */
.company .snapshot{
	position: relative;
	width: 90%;
	max-width: 1800px;
	margin: -50px auto 50px;
	border: none;
	padding: 100px 60px 60px;
	border-radius: 50px;
	box-sizing: border-box;
	background-color: #F4F7F8;
	z-index: -1;
}
/* flex */
.company .snapshot .flex{
	width: 100%;
	max-width: 900px;
	margin: 25px auto;
	justify-content: space-between;
}
/* narrow */
.company .snapshot .narrow{
	width: 45%;
	max-width: 350px;
}
/* wide */
.company .snapshot .semiwide{
	width: 55%;
	max-width: 500px;
}
/* normal */
.company .snapshot .normal{
	width: 50%;
	max-width: 425px;
}
/* wide */
.company .snapshot .wide{
	width: 100%;
	text-align: center;
	margin: 25px auto 0;
}	



/* map */
.flex.map{
	margin: 50px auto;
	max-width: 1310px;
	background-color: #F7F9FA;
	border-radius: 40px;
}
.flex.map .left{
	padding: 50px;
	box-sizing: border-box;
	width: calc(100% - 615px);
}
.flex.map h4{
	margin: 0;
	padding: 0;
}
.flex.map .right{
	width: 615px;
	border-radius: 40px;
	background-color: #ccc;
	overflow: hidden;
}
.flex.map .right iframe{
	display: block;
	margin: 0;
	padding: 0;	
	width: 100%;
	height: 285px;
}

/* carousel */
.carousel,
.carousel2{
	width: 100%;
	margin: 100px 0 50px;
}
.carousel .slide{
    display: flex;
    width: max-content;
    animation: scroll-left 120s linear infinite;
}
.carousel .slide ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}
.carousel .slide li {
    width: 640px;
    height: 400px;
    padding: 0;
    margin: 0 15px;
}
.carousel .slide img {
    width: 100%;
    height: 400px;
	object-fit: cover;
    display: block;
	border-radius: 80px;
}
@keyframes scroll-left {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); } 
}



/* answer */
.answer{
	width: 1280px;
	border-top: 1px solid #9FBCC9;
	margin: 0 auto;
	padding: 60px 0 0;
}
.answer p{
	width: 90%;
	max-width: 940px;
	margin: 0 auto 50px;
	font-size: 1.8rem;
}
p.what{
	width: 90%;
	max-width: 940px;
	margin: 50px auto;
	font-size: 2rem;
}

/* gallery */
.gallery{
	max-width: 1240px;
	margin: 30px auto 0;
	justify-content: space-between;
}
.gallery div{
	margin: 50px 1% 0;
}
.gallery div img{
	border-radius: 80px;
}




/* --------------page business--------------- */
.business{
	position: relative;
}

/* anchor */
.anchor{
	display: flex;
	width: 90%;
	max-width: 1600px;
	margin: 50px auto;
}
.business .anchor div{
	width: 30%;
	margin: 0 auto;
	justify-content: space-between;
}
.business .anchor div a{
	text-align: center;
	display: block;
	background-color: #F4F7F8;
	border-radius: 20px;
	font-size: 1.8rem;
	font-weight: 600;
	padding: 15px 0;
	color: #333;
}
.business .anchor div a span{
	display: block;
	font-size: 1.3rem;
}
.business .anchor div a:hover{
	color: #295A70;
	background-color: #D8E6EE;
}

/* ourbusiness */
.ourbusiness{
	width: 90%;
	margin: 0 auto;
	padding: 30px 0;
	background-image: url(../images/figure_business-tech.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 380px;
	position: relative;
	z-index: 0;
}
/* tech */
.ourbusiness .tech{
	display: none;
}
/* point */
.ourbusiness .point{
	text-align: center;
	color: #295A70;
	width: 100%;
	margin: 0 auto;
}
.ourbusiness .point p{
	display: inline-block;
	background-color: #F7F9FA;
	padding: 0 5px;
}
.ourbusiness .technology .point{
	margin: 0 auto;
	position: relative;
	z-index: 100;
}
.ourbusiness .point p{
	font-size: 1.8rem;
	font-weight: 600;
}
.ourbusiness .point p span{
	display: block;
	font-size: 1.6rem;
	font-weight: 400;	
}
/* more */
.point .more a{
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	display: block;
	border-radius: 50%;
	background-color: #fff;
	position: absolute;
	top: 25px;
	right: 35%;
}
.point .more a:hover{
	background-color: #D8E6EE;
}

/* technology */
.ourbusiness .technology{
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	max-width: 1380px;
	margin: 0 auto;
	position: relative;
}
.ourbusiness .technology .waku{
	width: 600px;
	border-radius: 50px;
	background-color: #fff;
	padding: 40px;
	box-sizing: border-box;
	margin: 0 auto;
}
.ourbusiness .technology .kind{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto 20px;
	width: 100%;
}
.ourbusiness .technology .kind span{
	font-weight: 600;
	background-color: #F7F9FA;
	color: #444;
	display: inline-block;
	padding: 15px 45px;
	border-radius: 15px;	
	margin: 5px 10px;
}
.ourbusiness .technology .images{
	width: 100%;
	border-radius: 50px;
	position: relative;
	z-index: 0;
	margin: 20px 0;
	display: flex;
	justify-content: space-between;
}

/* flex */
.ourbusiness .flex{
	width: 90%;
	max-width: 1380px;
	margin: 0 auto;
	justify-content: space-between;
	align-items: flex-start;
}
/* manufacturing/quality */
.ourbusiness .manufacturing{
	margin: 130px 1.5% 0 0;
}
.ourbusiness .manufacturing .waku{
	widrth: 100%;
	max-width: 600px;
	border-radius: 50px;
	background-color: #fff;
	padding: 40px;
	box-sizing: border-box;
	margin: 0 auto;
}
.ourbusiness .quality{
	margin: 130px 0 0 1.5%;
}
.ourbusiness .quality .waku{
	widrth: 100%;
	max-width: 520px;
	border-radius: 50px;
	background-color: #fff;
	padding: 40px;
	box-sizing: border-box;
	margin: 0 auto;
	text-align: center;
}

/* other */
.ourbusiness .other{
	display: flex;
	flex-wrap: wrap;
	max-width: 620px;
	position: relative;
}
.ourbusiness .other .kind{
	margin: 0 auto 20px;
	width: 100%;
	text-align: center;
}
.ourbusiness .other .kind span{
	font-weight: 600;
	background-color: #F7F9FA;
	color: #444;
	display: inline-block;
	padding: 15px 45px;
	border-radius: 15px;	
	margin: 5px 10px;
}
.ourbusiness .other .images{
	width: 100%;
	z-index: 0;
	display: flex;
	justify-content: space-between;
}
.ourbusiness .other .images div,
.ourbusiness .quality .images div{
	width: 48%;
}

/* -----Technology----- */
#Technology{
}

/* explanation */
.business .explanation{
	margin: -20px auto 100px;
	width: 90%;
	max-width: 1380px;
	display: flex;
}
/* left */
.business .explanation .left{
	width: 500px;
}
.business .explanation .left img{
	border-radius: 50px;
	margin: 0 0 40px;
	display: block;
}
/* right */
.business .explanation .right{
	width: calc(100% - 500px);
	font-size: 1.5rem;
}
/* explain */
.business .explanation .explain{
}
/* flex */
.business .explain .flex{
	flex-wrap: wrap;
	margin: 50px 0 0;
}
/* first */
.business .explain .first{
	width: 270px;
}
/* tech-name */
.business .explain .tech-name{
	font-size: 1.8rem;
	font-weight: 600;
	color: #295A70;
	text-align: center;
	background-color: #F7F9FA;
	padding: 5px 15px 30px;
	box-sizing: border-box;
	border-radius: 25px 25px 0 0;
}
.business .explain .tech-name span{
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
}
/* second */
.business .explain .second{
	width: calc(100% - 320px);
}
.business .explain .kind-name{
	height: 100%;
	margin: 0;
	text-align: center;
	border: 1px solid #9FBCC9;
	background-color: #fff;
	border-radius: 25px;
	padding: 20px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	background-image: url(../images/figure_business-line.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 1.1px;
}
.business .explain .kind-name div{
	font-weight: 600;
	background-color: #F7F9FA;
	padding: 15px;
	border-radius: 15px;
}
/* third */
.business .explain .third{
	margin-top: -20px;
	width: 270px;
	margin-right: 50px;
}
/* fourth */
.business .explain .fourth{
	margin-top: -20px;
	width: calc(100% - 320px);
}
.business .explain .specification{
	margin: 30px 0;
}
.business .explain .specification strong{
	display: block;
	margin: 0;
}
.business .explain .specification p{
	margin: 0;
}

/* -----Manufacturing----- */
#Manufacturing{
}
#Manufacturing .tech-name{
	background-color: #EBF1F3;
	padding: 1px 0 20px;
	margin-top: 70px;
}
#Manufacturing .flex{
	margin-top: -20px;
	border: 1px solid #9FBCC9;
	background-color: #fff;
	border-radius: 25px;
	padding: 0 40px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;

	background-image: url(../images/figure_business-box.svg);
	background-repeat: no-repeat;
	background-position: center top 60px;
	background-size: 820px;
}
#Manufacturing .specification{
	width: 40%;
	margin: 30px 10% 30px  0;
}
#Manufacturing .specification strong{
	text-align: center;
	width: 165px;
	display: block;
	font-weight: 600;
	background-color: #F7F9FA;
	padding: 15px;
	border-radius: 15px;
	margin-bottom: 15px;
}
/* images */
#Manufacturing .images{
	width: calc(100% + 40px);
	z-index: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 30px 0 0 -20px;
}
#Manufacturing .images div{
	width: 50%;
}
#Manufacturing .images img{
	width: 100%;
	border-radius: 58px;
	margin: 0;
	border: 20px solid rgba(255,255,255,0);
	box-sizing: border-box;
}

/* -----Mechanical Equipment----- */
#Equipment img{
	border-radius: 38px;
}
.equipment{
	width: 90%;
	max-width: 1250px;
	display: flex;
	margin: 50px auto;
}
.equipment .left{
	width: calc(100% - 540px);
	max-width: 720px;
}
.equipment .right{
	width: 480px;
	margin-left: 60px;
}
.equipment .right{
	display: flex;
	flex-direction: column;
}
.equipment .machine{
	margin: 0;
	padding: 0;
	line-height: 0.6;
}
.equipment .machine .name{	
	position: relative;
	display: inline-block;
	top: -40px; 
	padding: 20px 0;
	border-radius: 15px;
	width: 280px;
	text-align: center;
	color: #444;
	background-color: #F7F9FA;
}
.equipment .machine .count{
	position: relative;
	display: inline-block;
	top: -5px; 
	width: 130px;
	text-align: right;
	font-size: 9.6rem;
	color: rgba(41,90,112,0.15);
}
.equipment .machine .units{
	position: relative;
	display: inline-block;
	top: -10px; 
	font-size: 2.4rem;
	color: rgba(41,90,112,0.15);
}
	
.machines{
	width: 90%;
	max-width: 1280px;
	display: flex;
	margin: 50px auto;	
}
.machines .left{
	display: flex;
	flex-wrap: wrap;
	width: 64%;
}
.machines .left div{
	width: 50%;
	box-sizing: border-box;
	padding: 15px;
}
.machines .right{
	width: 34%;	
	box-sizing: border-box;
	padding: 15px;
}



/* -----Quality----- */
#Quality{
}
/* left */
#Quality .explanation .left{
	width: calc(100% - 500px);
	font-size: 1.5rem;
}
/* tech-name */
#Quality .tech-name{
	background-color: #F7F9FA;
	padding: 1px 0 20px;
	margin-top: 70px;
}
#Quality .explain-inner{
	background-color: #ECF2F5;
	padding: 60px 50px 40px;
	margin: 30px;
	border-radius: 25px;
}
#Quality .specification{
	padding: 30px;
	margin: 0;
}
#Quality .specification ol{
	margin: 0;
	padding: 0 0 0 20px;
}
#Quality .specification:last-child{
	margin-top: 50px;
	padding: 30px 40px;
	background-color: rgba(159,188,201,0.13);
	border-radius: 25px;
	min-height: 210px;
}
#Quality .specification strong{
	clear: both;
	display: inline-block;
	background-color: #fff;
	text-align: center;
	font-weight: 600;
	padding: 10px 50px;
	border-radius: 15px;
	margin: 0 0 20px -20px;
}
#Quality .specification:first-child strong{
	color: #fff;
	background-color: #9FBCC9;
}
#Quality .specification:last-child strong{
	position: relative;
	top: -50px;
	margin-bottom: -170px;
}
#Quality .specification:last-child img{
	float: right;	
	margin: 0 0 0 30px;
}

/* right */
#Quality .explanation .right{
	width: 500px;
}
#Quality .explanation .right img{
	display: block;
	border-radius: 50px;
	margin: 0 0 50px auto;
}


/* --------------page sustainability--------------- */
.sustainability{
}

/* anchor */
.sustainability .anchor{
	margin: 100px auto 50px;
}
.sustainability .anchor div{
	width: 23%;
	margin: 0 auto;
	justify-content: space-between;
}
.sustainability .anchor div a{
	text-align: center;
	display: block;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 20px;
	font-size: 1.8rem;
	font-weight: 600;
	padding: 15px 0;
	color: #333;
}
.sustainability .anchor div a span{
	display: block;
	font-size: 1.3rem;
}
.sustainability .anchor div a:hover{
	color: #295A70;
	background-color: #D8E6EE;
}

/* management */
.sustainability .management .inner{
	max-width: 900px;
}

/* environment */
.sustainability .environment .inner{
	max-width: 960px;
}
/* goal */
.sustainability .goal{
	width: 960px;
	background-color: #F4F7F8;
	border-radius: 20px;
	padding: 20px;
	margin: 170px auto 30px;
	box-sizing: border-box;
	text-align: center;
	container-type: inline-size;
}
.sustainability .goal .energy{
	font-size: 8cqw;	
	line-height: .9;
	font-weight: 800;
	color: rgba(41,90,112,0.05);
	position: relative;
	margin: -120px -10% 30px;
	text-align: center;
	width: 120%;
	z-index: 1;
}
.sustainability .specific p{
	display: block;
	width: 350px;
	margin: 15px auto;
	border-radius: 10px;
	font-size: 1.5rem;
	color: #295A70;
	background-color: #fff;
	padding: 20px;
	border-radius: 10px;
	position: relative;
	z-index: 0;
}
.sustainability .specific p:first-child{
	width: 315px;
}
.sustainability .specific p:last-child{
	width: 275px;
}

/* ratio */
.sustainability .ratio{
	text-align: center;
}
.sustainability .ratio .year{
	color: rgba(41,90,112,0.05);
	font-size: 6.4rem;
	font-weight: 800;
}
.sustainability .ratio .percent{
	color: rgba(41,90,112,0.1);
	font-size: 4.8rem;
	font-weight: 800;
	vertical-align: middle;
	margin: -20px auto 100px;
	line-height: 1;
}


/* society */
.section.society{
	background-image: url('../images/bg_society-right.png'), url('../images/bg_society-left.png'); 
	background-position: right top 150px, left bottom 30px;
	background-repeat: no-repeat, no-repeat; 
	background-size: 35%, 35%;
}
.sustainability .society .flex{
	width: 90%;
	max-width: 1280px;
	margin: 0 auto 100px;
	flex-wrap: wrap;
	border: 1px solid #9FBCC9;
	border-radius: 25px;
	font-size: 1.5rem;
}
.sustainability .society .part{
	width: 50%;
	box-sizing: border-box;
	padding: 20px 50px;
}
.sustainability .society .part:nth-child(odd){
	border-right: 1px solid #9FBCC9;
	border-bottom: 	1px solid #9FBCC9;
}
.sustainability .society .part:nth-child(even){
	border-bottom: 	1px solid #9FBCC9;
}
.sustainability .society .part.none{
	border-bottom: 	none;
}
.sustainability .society .part h4{
	background-color: #fff;
	text-align: center;
	display: inline-block;
	padding: 0 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 15px;
}

/* governance */
.sustainability .governance .inner{
	max-width: 960px;
	margin-bottom: 100px;
}





/* --------------page careers--------------- */
.careers{
}

/* intor */
.intro{
	text-align: center;
	width: 90%;
	max-width: 1680px;
	margin: 0 auto;
}
.intro .midashi .bg{
	font-size: 12.8rem;
	font-weight: 800;
}

/* anchor */
.careers .anchor{
	margin: 30px auto;
}
.careers .anchor div{
	width: 24%;
	margin: 0 auto;
	justify-content: space-between;
}
.careers .anchor div a{
	text-align: center;
	display: block;
	background-color: #333;
	border-radius: 20px;
	font-size: 1.7rem;
	font-weight: 600;
	padding: 13px 0;
	color: #fff;
}
.careers .anchor div a span{
	display: block;
	font-size: 1.3rem;
}
.careers .anchor div a:hover{
	color: #295A70;
	background-color: #D8E6EE;
}

/* workmap */
.workmap .figure{
	width: 90%;
	max-width: 1100px;
	margin: 0 auto 50px;
}
.workmap .figure h3{
	font-size: 1.8rem;
	font-weight: 800;
	text-align: center;
	margin: 0;
	padding: 0;
	color: #295A70;
}
/* flex */
.workmap .figure .flex{
	margin: 30px auto;
}
.workmap .left{
	font-weight: 800;
	color: #295A70;
	writing-mode: vertical-rl;
	text-align: center;
	padding: 0 25px;
	border-radius: 20px;
	box-sizing: border-box;
}
.workmap .right{
	width: calc(100% - 110px);
	margin-left: 20px;	
	text-align: center;
	padding: 20px;
	border-radius: 25px;
}
/* parts */
.workmap .figure .flex h4{
	color: #295A70;
	font-size: 1.8rem;
	margin: 0 0 20px;
	padding: 0;
}
.workmap .figure .flex h5{
	color: rgba(255,255,255,0.5);
	font-size: 7.6rem;
	margin: 0;
	padding: 0;
	line-height: 1;
}
.workmap .figure .flex p{
	display: inline;
	color: #295A70;
	font-size: 1.5rem;
	border-bottom: 1px solid #9FBCC9;
	padding: 5px 50px;
	margin: 0;
}
.workmap .figure .flex .kind{
}

/* manufacturing */
.workmap .flex.manufacturing{
}
.workmap .flex.manufacturing .left,
.workmap .flex.manufacturing .right{
	background-color: #E3E7E9;
}
.workmap .flex.manufacturing .kind{
	width: 560px;
	min-height: 140px;
	margin: 0 auto;
	background-image: url(../images/figure_careers-box.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 560px;
}
.workmap .flex.manufacturing .kind div{
	display: inline;
	font-size: 1.5rem;
	font-weight: 800;
	color: #fff;
	background-color: #295A70;
	border-radius: 10px;
	padding: 10px 20px;	
	line-height: 70px;
	margin: 0 10px;
}

/* sales */
.workmap .flex.sales{
}
.workmap .flex.sales .left,
.workmap .flex.sales .right{
	background-color: #D8E6EE;
}
.workmap .flex.sales .kind{
	width: 560px;
	margin: 0 auto;
}
.workmap .flex.sales .kind div{
	display: inline;
	font-size: 1.5rem;
	font-weight: 800;
	background-color: #fff;
	color: #295A70;
	border-radius: 10px;
	padding: 10px 20px;	
	line-height: 70px;
	margin: 0 10px;
}

/* business */
.workmap .flex.business{
}
.workmap .flex.business .left,
.workmap .flex.business .right{
	background-color: #E7ECF2;
}
.workmap .flex.business .kind{
	width: 560px;
	margin: 0 auto;
}
.workmap .flex.business .kind div{
	display: inline;
	font-size: 1.5rem;
	font-weight: 800;
	background-color: #fff;
	color: #295A70;
	border-radius: 10px;
	padding: 10px 20px;	
	line-height: 70px;
	margin: 0 10px;
}
.workmap .flex.business .kind-detail{
	display: flex;
	width: 500px;
	margin: 10px auto 0;
	font-size: 1.5rem;
}
.workmap .flex.business .kind{
	margin: 15px auto 0;
}
.workmap .flex.business .kind div{
	padding: 10px 45px;	
}
.workmap .flex.business .kind-detail .depart{
	color: #295A70;
	background-color: #fff;
	border-radius: 10px;
	padding: 10px 20px;
	font-weight: 800;
	z-index: 1;
	position: relative;
	width: 120px;
}
.workmap .flex.business .kind-detail .depart br{
	display: none;
}
.workmap .flex.business .kind-detail .job{
	color: #fff;
	background-color: #9FB6C9;
	border-radius: 10px;
	padding: 10px 0;
	font-weight: 400;
	margin-left: -20px;
	z-index: 0;
	position: relative;
	width: 400px;
}

/* staff */
.workmap .flex.staff{
	margin-bottom: 150px;
}
.workmap .flex.staff .left,
.workmap .flex.staff .right{
	background-color: #DCE5E9;
}
.workmap .flex.staff .kind{
	width: 560px;
	margin: 0 auto;
}
.workmap .flex.staff .kind div{
	display: inline;
	font-size: 1.5rem;
	font-weight: 800;
	background-color: #fff;
	color: #295A70;
	border-radius: 10px;
	padding: 10px 20px;	
	line-height: 70px;
	margin: 0 10px;
}
.workmap .flex.staff .big{
	border-bottom: none;
	font-size: 1.8rem;
	font-weight: 400;
	color: #295A70;
}




/* Why */
.whiy{
}
.why .reason{
	justify-content: space-between;
	flex-wrap: wrap;
	width: 90%;
	max-width: 1280px;
	margin: -30px auto 50px;
	background-color: #fff;
	border-radius: 25px;
	padding: 50px 100px 0;
	box-sizing:border-box;
}
.why .reason div{
	width: 30%;
	margin: 0 1.5% 1.5%;
	max-width: 290px;
		font-size: 1.5rem;
}
.why .reason div h4{
	font-weight: 800;
	text-align: center;
	background-color: #F7F9FA;
	padding: 16px 4px;
	border-radius: 15px;
}
.why .reason div p{

}

/* description */
.description{
}

/* newgrad */
.newgrad{
}


/* midcareer */
.midcareer{
}


/* entry */
.entry{
	text-align: center;
	font-weight: 800;
}
.entry h2{
	font-size: 12.8rem;
	color: rgba(41,90,112,0.05);
	padding: 0;
	margin: 50px 0;
	position: relative;
	line-height: 1;	
}

.entry-area{
	margin: 50px auto 0;
	width: 620px;
	border-radius: 50px;
	padding: 40px;
	box-sizing: border-box;
	background-color: #F7F9FA;
	position: relative;
}
.entry-area .entry-btn{
	width: 100%;
}
.entry-area .entry-btn a{
	display: block;
	color: #fff;
	background-color: #295A70;
	border-radius: 50px;
	padding: 20px;
	font-weight: 2rem;
}
.entry-area .entry-btn a span{
	display: block;
	font-size: 1.6rem;
}
.entry-area .entry-btn a:hover{
	background-color: #fff;
	color: #295A70;
}

.entry-area .contact-btn{
	width: 100%;
}
.entry-area .contact-btn a{
	display: block;
	color: #333;
	background-color: #fff;
	border-radius: 50px;
	padding: 20px;
	font-weight: 2rem;
}
.entry-area .contact-btn a span{
	display: block;
	font-size: 1.6rem;
}
.entry-area .contact-btn a:hover{
	background-color: #295A70;
	color: #fff;
}

.entry-area .or{
	width: 100%;
	position: relative;
	padding: 15px 0;
	margin: -10px 0;
	position: relative;
	z-index: 10;
	background-image: url(../images/figure_dotline.png);
	background-repeat: no-repeat;
	background-position: center center;
}
.entry-area .or p{
padding: 10px 0;
	background-color: #F7F9FA;
}



/* table */
.careers table{
	width: 800px;
	margin: 50px auto;
}
.careers table th{
	vertical-align: top;
	text-align: right;
	font-weight: 600;
	width: 100px;
	padding: 5px 0;
}
.careers table td{
	vertical-align: top;
	padding: 5px 0 5px 100px;
}

/* gallery */
.careers .gallery{
	max-width: 1500px;
	margin: 30px auto 60px;
}
.careers .gallery div img{
	border-radius: 20px;
}







/* --------------page contact--------------- */
.contact{
}

/* choice */
.choice{
	width: 90%;
	max-width: 800px;
	margin: 30px auto;
	display: flex;
}
.choice div{
	width: 48%;
	margin: 0 auto;
	justify-content: space-between;
}
.choice div a{
	text-align: center;
	display: block;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 20px;
	font-size: 1.8rem;
	font-weight: 600;
	padding: 15px 0;
	color: #333;
}
.choice div a span{
	display: block;
	font-size: 1.3rem;
}
.choice div a:hover{
	color: #295A70;
	background-color: #D8E6EE;
}
/* current */
.choice div.current a{
	text-align: center;
	display: block;
	border: none;
	background-color: #F4F7F8;
	border-radius: 20px;
	font-size: 1.8rem;
	font-weight: 600;
	padding: 15px 0;
	color: #333;
	position: relative;
	z-index: 1;
}
.choice div.current a span{
	display: block;
	font-size: 1.3rem;
}
.choice div.current a:hover{
	color: #295A70;
	background-color: #D8E6EE;
}
.choice div.current a:after{
	content: "";
	position: absolute;
	bottom: -40px;
    left: calc(50% - 15px);
    border: 20px solid transparent;
    border-top: 20px solid #F4F7F8;
   	z-index: -1;
}
.choice div.current a:hover:after{
    border-top: 20px solid #D8E6EE;
}




/* form */
.form{
}

/* table */
.table{
	width: 90%;
	max-width: 1280px;
	margin: 0 auto;
}
.table table{
	width: 90%;
	margin: 0 auto;
}
.table table th{
	vertical-align: top;
	text-align: left;
	width: 250px;
	padding: 10px 0 0;
	box-sizing: border-box;	
	font-weight: 600;
	font-size: 1.5rem;
}
.table table td{
	vertical-align: top;
	padding: 0;
}
.table table .req{
	font-size: 1.2rem;
	color: #666;
	background-color: #FFE0E0;
	padding: 0 2px;
	margin: 0 0 0 10px;
}	
.table table .attention{
	font-size: 1.4rem;
	margin: -25px 10px 25px;
	display: block;
}
.table table p{
	margin: 0;
}

/* ----------input---------- */
input[type=text],
input[type=email],
input[type=tel],
input[type=number],
select,
textarea{
	width: calc(100% - 30px);
	appearance: none;
	padding: 15px;
	border: none;
	font-size: 1.6rem;
	color: #666;
	box-sizing: border-box;
	margin: 0 30px 30px 0;
	background-color: #fff;
	border-radius: 15px;
}
input.narrow,
select.narrow{
	width: 60%;
}
input.small,
select.small{
	width: 30%;
}
::placeholder {
	color: #999;
}

label.checkbox{
	margin-top: 10px;
	margin-bottom: 30px;
	padding-left: 30px;
	display: inline-block;
	font-size: 1.6rem;
	cursor:pointer;
	position:relative;
}
.checkbox input{
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.checkbox .indicator{
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #ddd;
	position: absolute;
	top: 4px;
	left: 0;
}
.checkbox label input:disabled ~ .indicator{
	background:#ccc;
	opacity:0.6;
	pointer-events:none;
}
.checkbox .indicator::after{
	content:"";
	width:0;
	height:0;
	display:block;
	border-radius:50%;
	background:#295A70;
	position:absolute;
	top:50%;
	left:50%;
	transition: all .3s;
}
table label input:checked ~ .indicator::after{
	width:14px;
	height:14px;
	top:3px;
	left:3px;
}
table .checkbox input:disabled ~ .indicator::after{}
	background: #fff;
}

.wpcf7-not-valid-tip{
	position: relative;
	margin: -20px 10px 30px;
}
#autozip {
   display: none !important;
}

label p{
	display: none;
}
/* confirm */
#wpcf7cpcnf{
	width: 100% !important;
	padding: 100px 0 !important;
	background-color: #F7F9FA !important;
}
#wpcf7cpcnf table{
	width: 90% !important;
	max-width: 1024px !important;
	margin: 0 auto !important;
}
#wpcf7cpcnf table th{
	vertical-align: top;
	text-align: left;
	width: 250px;
	padding: 10px 0 0;
	box-sizing: border-box;	
	font-weight: 600;
	font-size: 1.5rem;
}
#wpcf7cpcnf table td{
	vertical-align: top;
	padding: 0;
}
#wpcf7cpcnf table td p{
	padding: 15px;
	border: none;
	font-size: 1.6rem;
	color: #666;
	box-sizing: border-box;
	margin: 0 30px 30px 0;
	background-color: #fff;
	border-radius: 15px;
}

.wpcf7cp-btns{
	text-align: center;
	width: 90% !important;
	max-width: 1024 !important;
	margin: 50px auto 0 !important;
}
.wpcf7cp-btns .wpcf7cp-cfm-edit-btn{
	display: inline-block;
	width: 300px;
	height: 80px;
	line-height: 80px;
	padding: 0;
	margin: 0 5px;
	font-size: 2rem;
	color: #333;
	background-color: #ddd !important;
	border-radius: 40px;
	border: none;
 	transition: 0.3s;
 	cursor: pointer;
}
.wpcf7cp-btns .wpcf7cp-cfm-edit-btn:hover{
	background-color: #D8E6EE !important;
}
.wpcf7cp-btns  .wpcf7cp-cfm-submit-btn{
	display: inline-block;
	width: 300px;
	height: 80px;
	line-height: 80px;
	padding: 0;
	margin: 0 5px;
	font-size: 2rem;
	color: #333;
	background-color: #fff !important;
	border-radius: 40px;
	border: none;
 	transition: 0.3s;
 	cursor: pointer;
}
.wpcf7cp-btns .wpcf7cp-cfm-submit-btn:hover{
	background-color: #D8E6EE !important;
}

/* cf7 message */
.wpcf7-not-valid-tip{
    box-sizing: border-box;
    border-radius: 10px;
    background-color: #ccc !important;
    color: #fff !important;
    display: block;
    font-size: 1.2rem !important;
    font-weight: 600;
    margin-top: -5px;
    padding: 10px;
    position: relative;
}
.wpcf7-not-valid-tip::before{
    content: "";
    border: 10px solid transparent;
    border-bottom: 15px solid #ccc;
    position: absolute;
    top: -25px;
    left: 5%;
}

.wpcf7 form .wpcf7-response-output {
	width: 90% !important;
	max-width: 1024px !important;
	margin: 20px auto !important;
	border-radius: 10px !important;
	padding: 20px !important;
    position: relative !important;
}
.wpcf7-spinner {
	margin: 20px auto !important;
	display: block !important;
}

form.sent .table,
form.sent .policy,
form.sent .agree,
form.sent .apply{
	display: none;
}


/* policy */
.policy{
	text-align: center;
	width: 90%;
	max-width: 1280px;
	margin: 50px auto;
}
.policy .text{
	width: 100%;
	height: 350px;
	overflow-y: scroll;
	text-align: left;
	border-radius: 50px 0 0 50px;
	padding: 50px 100px;
	box-sizing:  border-box;
	background-color: #fff;
	font-size: 1.5rem;
}
.policy .text strong{
	display: block;
} 

/* agree */
.agree{
	text-align: center;
	margin: 0 auto;
}

/* apply */
.apply{
	text-align: center;
	margin: 50px auto;
}
.apply input{
	display: inline-block;
	width: 550px;
	height: 100px;
	line-height: 100px;
	padding: 0;
	margin: 0 auto;
	font-size: 2rem;
	color: #333;
	background-color: #fff;
	border-radius: 50px;
	border: none;
 	transition: 0.3s;
 	cursor: pointer;
}
.apply input:hover{
	background-color: #D8E6EE;
}



/* --------------page news-topics--------------- */
.news-topics{
}

/* category */
.archive .category,
.news-topics .category{
	width: 90%;
	max-width: 1800px;
	margin: 0 auto;
	display: flex;
	position: relative;
	z-index: 0;
}
.archive .category div,
.news-topics .category div{
	margin: 0;
}
.archive .category div a,
.news-topics .category div a{
	text-align: center;
	display: block;
	border-radius: 30px;
	line-height: 1;
	font-size: 2rem;
	font-weight: 800;
	padding: 20px 85px 60px;
	color: #295A70;
	margin-bottom: -30px;
}
.archive .category div a:hover,
.news-topics .category div a:hover{
	color: #295A70;
	background-color: #D8E6EE;
}
.archive .category div.current,
.news-topics .category div.current{
	position: relative;
}
.archive .category div.current a,
.news-topics .category div.current a{
	background-color: #F4F7F8;
}

/* list cover */
.archive .list-cover{
	width: 90%;
	max-width: 1800px;
	margin: 0 auto 100px;
	background-color: #F4F7F8;
	padding: 80px 60px 30px;
	border-radius: 60px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
.news-topics .list-cover{
	width: 90%;
	max-width: 1800px;
	margin: 0 auto 100px;
	background-color: #F4F7F8;
	padding: 80px 60px 30px;
	border-radius: 0 60px 60px 60px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
.list-cover p{
	text-align: center;
	font-size: 1.5rem;
	font-weight: 400;
	margin: -10px 0 60px;
}

/* news list */
.archive .list,
.news-topics .list{
	width: 100%;
	margin: 0 auto 60px;
}
/* item */
.archive .item,
.news-topics .item{
	box-sizing: border-box;
	width: calc(25% - 50px);
	display: block;
	background-color: #fff;
	border-radius: 20px;
	position: relative;
	font-size: 1.5rem;
	overflow: hidden;
	margin: 0 25px 50px;
	box-sizing: border-box;
}
.archive .item .thumbnail,
.news-topics .item .thumbnail{
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	background-color: #EAEAEA;
}
.archive .item .thumbnail img,
.news-topics .item .thumbnail img{
	display: block;
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	object-fit: cover;
}
.archive .item .cate,
.news-topics .item .cate{
	width: 70px;
	position: relative;
	margin: 20px auto -5px 20px;
}
.archive .item .cate a,
.news-topics .item .cate a{
	display: block;
	text-align: center;
	font-size: 1.2rem;
	background-color: #295A70;
	color: #fff;	
	z-index: 10;
	padding: 0 6px;
	border-radius: 6px;
	height: 20px;
	line-height: 20px;
}
.archive .item .cate a:hover,
.news-topics .item .cate a:hover{
	color: #295A70;
	background-color: #EBF1F3;
}
.archive .item .txt,
.news-topics .item .txt{
	padding: 20px 20px 30px;
}
.archive .item .txt a,
.news-topics .item .txt a{
	color: #333;
}
.archive .item .txt h5,
.news-topics .item .txt h5{
	font-size: 1.5rem;
	font-weight: 600;
	margin: 0;
}
.archive .item .txt p,
.news-topics .item .txt p{
	margin: 10px 0 20px;
}
.archive .item .date,
.news-topics .item .date{
	font-weight: 600;
}
.archive .item .more a,
.news-topics .item .more a{
	position: absolute;
	bottom: 20px;
	right: 20px;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	display: block;
	border-radius: 50%;
	background-color: #F4F7F8;
}
.archive .item .more a:hover,
.news-topics .item .more a:hover{
	background-color: #D8E6EE;
}


/*pagination*/
.pagination{	
	clear: both;
	width: 100%;
	margin: 30px 0;
	padding: 0;
	display: flex;
	align-items: stretch;
	justify-content: center;
	text-align: center;
	font-size: 2rem;
	font-weight: 400;
}
.pagination a{
	width: 50px;
	height: 50px;
	line-height: 50px;
	color: #295A70;
	background-color: #fff;
	border-radius: 14px;
	margin: 0 0.5%;
}
.pagination a:hover{
	color: #fff;
	background-color: #9FBCC9;
}
.pagination span{
	width: 50px;
	height: 50px;
	line-height: 50px;
	color: #295A70;
	transition: 0.3s ease;
	border-radius: 1px;
	margin: 0 0.5%;
}
.pagination span.current{
	color: #fff;
	background-color: #9FBCC9;
	border-radius: 14px;
}
.pagination a.next,
.pagination a.prev{
	color: #295A70;
}
.pagination a.next:hover,
.pagination a.prev:hover{
	color: #fff;
	background-color: #9FBCC9;
}


/* detail */
.detail,
.single{
}

/* current-category */
.curent-category{
	text-align: center;
	font-size: 2rem;
	font-weight: 600;
	margin: 0 auto 40px;
}

/* eyectach */
.eyectach{
	width: 90%;
	max-width: 1280px;
	margin: 0 auto;
	border-radius: 60px;
	overflow: hidden;
	box-sizing: border-box;
	padding: 50px 0;
}
.eyectach img{
	width: 100%;
	object-fit: cover;
	border-radius: 60px;
	overflow: hidden;
}

/* topics */
.topics{
	width: 90%;
	max-width: 1280px;
	margin: 100px auto 0;
	border-radius: 60px;
	background-color: #F7F9FA;
	overflow: hidden;
	box-sizing: border-box;
	padding: 100px 0;
}
.topics .inner{
	max-width: 645px;
	font-size: 1.5rem;
}
.topics .inner h3{
	font-size: 1.7rem;
	font-weight: 600;
	margin: 20px 0 40px
}



/* date-cate */
.topics .date-cate{
	display: flex;
	align-items: center;
}
.topics .date{
	font-size: 2rem;
	font-weight: 600;
	width: 160px;
}
.topics .cate a{
	display: block;
	text-align: center;
	font-size: 1.2rem;
	background-color: #295A70;
	color: #fff;	
	z-index: 10;
	padding: 0 6px;
	border-radius: 6px;
	height: 20px;
	line-height: 20px;
}
.topics .cate a:hover{
	color: #295A70;
	background-color: #EBF1F3;
}

/* pager */
.pager{
	width: 780px;
	margin: 100px auto 0;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 600;
	display: flex;
}
.pager span{
	width: 33%;
}
.pager a{
	display: inline-block;
	width: 165px;
	height: 44px;
	line-height: 44px;
	border-radius: 22px;
	background-color: #D8E6EE;
	color: #295A70;
}
.pager a:hover,
.pager a:active,
.pager a:focus{
	text-decoration: none;
	background-color: #ddd;

}
.pager span.prev a,
.pager a.prev a{
	float: left;
	background-image: url(../images/icon_button-arrow-reverse.svg);
	background-repeat: no-repeat;
	background-position: center left 20px;
	background-size: 15px;
}
.pager span.back a,
.pager a.back{
	background-image: url(../img/icon_back.png);
	background-repeat: no-repeat;
	background-position: center right 20px;
}
.pager span.next a,
.pager a.next{
	float: right;
	background-image: url(../images/icon_button-arrow.svg);
	background-repeat: no-repeat;
	background-position: center right 20px;
	background-size: 15px;
}



.error{
	width: 90%;
	max-width: 900px;
	margin: 30px auto;
}






}
