@charset "UTF-8";
/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

.sp{display: none!important;}
a[href^="tel:"] {
    cursor: default;
    pointer-events:none;
}
img{
	width: 100%;
}
input[name=s]{
	visibility: hidden;
	position: absolute;
}
/* !wrapper
---------------------------------------------------------- */
#wrapper {
	overflow: hidden;
	width: 100%;
}
.menuOpen{
	overflow: hidden;
	height: 100vh;
}
.menuOpen #wrapper{
	position: fixed;
}
.overlay{
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background: none;
	z-index: 97;
	text-indent: -999rem;
	pointer-events: auto;
}

.inner,
.inner02 {
	margin: 0 auto;
	width: 100%;
	max-width: 118rem;
	padding: 0 5rem;
	position: relative;
	z-index: 3;
}
.inner02{
	max-width: 126rem;
}

.anchor_link{
    position: relative;
}
.anchor_link span{
    position: absolute;
    top: -12rem;
}
/* !header
---------------------------------------------------------- */
#header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	transition: background .3s;
	padding: 1.8rem 6.4rem;
}
#headerIn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 8.7rem;
	border-radius: .8rem;
	background-color: #fff;
	padding: 0 2.4rem;
	border: .1rem solid #CCCCCC;
}
#headerLogo a{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	grid-gap: .8rem;
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 500;
	letter-spacing: .02em;
}
#headerLogo a img{
	width: 13rem;
}

.header_right{
	display: flex;
	align-items: center;
	grid-gap: 3.2rem;
	background: #FFFFFF;
}
.nav_list_pc{
	display: flex;
	grid-gap: 3.2rem;
}
.nav_list_pc a{
	font-size: 2rem;
	line-height: 1.2;
	font-weight: 700;
	display: flex;
	align-items: center;
	grid-gap: .8rem;
}
.nav_list_pc a img{
	height: 2.4rem;
}
.footer_link a:hover,
.nav_list_pc a:hover{
	color: #4959FF;
	opacity: 1;
}
.nav_list_pc02{
	display: flex;
	grid-gap: .8rem;
}
.nav_list_pc02 li{
	width: 16.4rem;
}
.nav_list_pc02 a{
	width: 35.2rem;
	max-width: 100%;
	height: 4.8rem;
	padding: 0 2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .02em;
	border: .2rem solid #FF8234;
	color: #FF8234;
	border-radius: 4rem;
}
.nav_list_pc02 a:hover {
	color: #fff;
	background-color: #FF8234;
	opacity: 1!important;
}
.nav_list_pc02 a.is_blue{
	background: linear-gradient(86.57deg, #8888FF 1.06%, #4959FF 98.94%);
	color: #fff;
	border-color: #8888FF;
}
.nav_list_pc02 a.is_blue:hover{
	color: #8888FF;
	background: linear-gradient(86.57deg, #fff 1.06%, #fff 98.94%);
	border-color: #8888FF;
}

#headerLinks {
	display: none;
}

/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
  width: 100%;
  text-align: left;
  padding: 4rem 0;
}

#breadcrumb ul {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  font-size: 1.4rem;
  font-weight: 400;
}

#breadcrumb ul li {
  word-break: keep-all;
  white-space: nowrap;
  font-size: 1.4rem;
  line-height: 1.5;
  position: relative;
}

#breadcrumb ul li + li:before {
  content: '>';
  z-index: 2;
  width: 2.3rem;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  text-indent: 0;
  color: transparent;

  background: url(../img/common/icon_breadcrumb.svg)no-repeat center center;
  background-size: .8rem auto;
}

#breadcrumb ul li + li {
  padding-left: 2.3rem;
  text-indent: -2.3rem;
}

#breadcrumb ul li:last-child {
  word-break: break-all;
  white-space: unset;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
  /*max-width: 350px;*/
}

#breadcrumb ul li a{
	text-indent: 0;
	border-bottom: 1px solid transparent;
}
#breadcrumb ul li a:hover{
	opacity: 1;
	color: #0000FF;
}

/* !gNavi
---------------------------------------------------------- */
.loop_text {
  background: url(../img/common/loop_text.svg) repeat-x left center/auto 100%;
  height: 5.2rem;
  position: relative;
  z-index: 7;
  -webkit-animation: flowBgLeft 3000s linear infinite;
          animation: flowBgLeft 3000s linear infinite;
}
.loop_text.is_right{
  -webkit-animation: flowBgRight 3000s linear infinite;
          animation: flowBgRight 3000s linear infinite;
}
@-webkit-keyframes flowBgLeft {
  0% {
    background-position: left 0 center;
  }
  100% {
    background-position: left -100000px center;
  }
}
@keyframes flowBgLeft {
  0% {
    background-position: left 0 center;
  }
  100% {
    background-position: left -100000px center;
  }
}
@-webkit-keyframes flowBgRight {
  0% {
    background-position: left -100000px center;
  }
  100% {
    background-position: left 0 center;
  }
}
@keyframes flowBgRight {
  0% {
    background-position: left -100000px center;
  }
  100% {
    background-position: left 0 center;
  }
}
/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 100dvh;
	padding: 12.3rem 0 6rem;
}

.mv_bg{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.mv_bg:before{
	/*content: '';*/
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(180deg, rgba(0, 0, 255, 0.09) 4.2%, rgba(0, 0, 255, 0.07) 17.71%, rgba(0, 0, 255, 0.05) 99.3%);
	background: #0000F033;
}
.mv_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#mainVisual .inner02{
	padding: 0 6.4rem;
	max-width: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.mv_text{
}
.mv_text span{
	padding: .8rem 0;
	display: inline-flex;
	background: #4959FF;
	color: #fff;
	font-size: 2.8rem;
	line-height: 1.3;
	font-weight: 700;
	border-radius: .4rem;
	white-space: nowrap;
	max-width: max-content;
	width: 0;
	overflow: hidden;
	transition: border 1s .3s cubic-bezier(0.12, 0.66, 0.45, 1), 
	padding 1s .3s cubic-bezier(0.12, 0.66, 0.45, 1), 
	width 1s .3s cubic-bezier(0.12, 0.66, 0.45, 1);
}
.mv_text.animated span{
	width: 100%;
	padding: .8rem;
}

.mv_hd{
	display: inline-flex;
	flex-direction: column;
}
.mv_hd span {
	margin-top: 1.6rem;
	padding: .8rem 0;
	display: inline-flex;
	background: #fff;
	color: #4959FF;
	font-size: 8rem;
	line-height: 1.3;
	font-weight: 700;
	border-radius: .4rem;
	white-space: nowrap;
	max-width: max-content;
	width: 0;
	overflow: hidden;
	transition: border 1s .3s cubic-bezier(0.12, 0.66, 0.45, 1), 
	padding 1s .3s cubic-bezier(0.12, 0.66, 0.45, 1), 
	width 1s .3s cubic-bezier(0.12, 0.66, 0.45, 1);
}
.mv_hd.animated span{
	width: 100%;
	padding: .8rem 2.4rem;
}


/* !teaser
---------------------------------------------------------- */
#teaser {
	position: relative;
}
.teaser_bg{
	position: relative;
	width: 100%;
	height: 70.7rem;
	max-height: 100dvh;
}
.teaser_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.teaser_bg:before{
	/*content: '';*/
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #4959FF1A;
}

#teaser .inner02{
	padding: 0 6.4rem 6.4rem;
	position: absolute;
	bottom: 0;
	left: 0;
}
.teaser_hd{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.teaser_hd_eng{
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 900;
	color: #fff;
	background-color: #4959FF;
	border-radius: .2rem .2rem 0 0;
	display: block;
	text-transform: uppercase;
	padding: .8rem 0;
	transition-delay: .5s!important;
}
.teaser_hd_jap{
	display: block;
	font-size: 4rem;
	font-weight: 900;
	line-height: 1.4;
	color: #4959FF;
	background: #fff;
	border: 1px solid #4959FF;
	padding: .8rem 0;
	transition-delay: .5s!important;
}
.teaser_hd.animated .fade_text{
	width: 100%;
}
.teaser_hd.animated .teaser_hd_eng{
	padding: .8rem;
}
.teaser_hd.animated .teaser_hd_jap{
	padding: .8rem 1.6rem;
}

/* !pageTop
---------------------------------------------------------- */
.pageTop {
	position: absolute;
	right: 5rem;
	top: -13rem;
	transform: translateY(-50%);
	z-index: 9;
	width: 10rem;
}

/* !footer
---------------------------------------------------------- */
#footer {
}

#footer .footerIn {
	background: #fff;
	padding: 3.2rem 0 8rem;
}
.footer_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer_logo{
	text-align: center;
}
.footer_logo a{
	display: block;
}
.footer_logo a img{
	width: 21.1rem;
}
.footer_logo a span{
	display: block;
	font-size: 2rem;
	line-height: 1;
	margin-top: .8rem;
}
.footer_link{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	grid-gap: 3.2rem 4rem;
	max-width: 70rem;
}
.footer_link li+li{
	padding-left: 4rem;
	position: relative;
}
.footer_link li+li:before{
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 1.6rem;
	background-color: #D9D9D9;
}
.footer_link li:nth-of-type(4):before{
	content: none;
}

.footer_link a{
	display: flex;
	align-items: center;
	grid-gap: .8rem;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .02em;
	padding-right: 2.8rem;
	background: url(../img/common/arrow_right_sp.svg)no-repeat right center;
	background-size: 1.6rem auto;
}
.footer_link a img{
	height: 2.4rem;
}

	
#copyright {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3.6rem;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: .08em;
	border-top: 1px solid #D9D9D9;
}

/* !common
---------------------------------------------------------- */
.hd_medium{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	grid-gap: 1.6rem;
}
.hd_medium_eng{
	padding: .4rem 0;
	background: #4959FF;
	color: #fff;
	font-size: 2rem;
	line-height: 1;
	font-weight: 700;
	border-radius: .2rem;
	text-transform: uppercase;
}
.modal__box .hd_medium_eng,
.hd_medium.animated .hd_medium_eng{
	padding: .4rem .8rem;
}
.hd_medium_jap{
	font-size: 3.2rem;
	line-height: 1.1;
	letter-spacing: 0;
	font-weight: 900;
	color: #4959FF;
}
.is_white .hd_medium_eng{
	padding: 0!important;
	background: none;
	color: #fff;
}
.is_white .hd_medium_jap{
	color: #fff;
}

.fade_text {
	display: inline-flex;
	white-space: nowrap;
	max-width: max-content;
	width: 0;
	overflow: hidden;
	transition: border 1s .3s cubic-bezier(0.12, 0.66, 0.45, 1), 
	padding 1s .3s cubic-bezier(0.12, 0.66, 0.45, 1), 
	width 1s .3s cubic-bezier(0.12, 0.66, 0.45, 1);
}
.hd_medium.animated .fade_text{
	width: 100%;
}

.img_box {
    position: relative;
    width: 100%;
    padding-top: 66%;
    overflow: hidden;
}
.img_box img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    object-fit: cover;
    transition: transform .4s ease;
}
a:hover .img_box img{
	transform: scale(1.05);
}

.btn_link01{
	width: 31rem;
	max-width: 100%;
	height: 6.4rem;
	padding: 0 3.2rem;
	display: inline-flex;
	align-items: center;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .08em;
	background: linear-gradient(86.57deg, #4959FF 0%, #7CB3FF 100%);
	color: #fff;
	box-shadow: .2rem .2rem .4rem #00000059;
	border-radius: 4rem;
	transition: all .5s;
	position: relative;
}
.btn_link01:before{
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	background: url(../img/common/arrow_right_white.svg)no-repeat right 2.1rem center;
	background-size: 1.4rem auto;
	border-radius: 4rem;
}
.btn_link01:hover {
	color: #4959FF;
	opacity: 1!important;
}
.btn_link01:hover:before{
	background: url(../img/common/arrow_right_blue.svg)no-repeat right 2.1rem center #fff;
	background-size: 1.4rem auto;
}
.btn_link01 span{
	position: relative;
	z-index: 9;
}


.btn_link01.is_white{
	color: #4959FF;
}
.btn_link01.is_white:before{
	background: url(../img/common/arrow_right_blue.svg)no-repeat right 2.1rem center #fff;
	background-size: 1.4rem auto;
}
.btn_link01.is_white:hover {
	color: #fff;
}
.btn_link01.is_white:hover:before{
	background: url(../img/common/arrow_right_white.svg)no-repeat right 2.1rem center;
	background-size: 1.4rem auto;
}

.btn_link01.arrow_down:before{
	background: url(../img/common/arrow_down_white.svg)no-repeat right 2.1rem center;
	background-size: 1rem auto;
}
.btn_link01.arrow_down:hover:before {
	background: url(../img/common/arrow_down_blue.svg)no-repeat right 2.1rem center #fff;
	background-size: 1rem auto;
}

.btn_link02{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 50rem;
	max-width: 100%;
	height: 7.2rem;
	border-radius: 5rem;
	font-size: 2.4rem;
	letter-spacing: .02em;
	font-weight: 700;
	background: #0000FF;
	border: 1px solid #0000FF;
	color: #fff;
	transition: all .5s;
}
.btn_link02:hover{
	background: #fff;
	color: #0000FF;
	opacity: 1!important;
}

.btn_link03{
	min-width: 32.5rem;
	max-width: 100%;
	height: 7.2rem;
	border-radius: 4rem;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	grid-gap: 2.4rem;
	border: 1px solid #0F2A4E;
	color: #fff;
	background-color: #0F2A4E;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: .05em;
	position: relative;
	transition: all .5s;
}
.link_arrow03{
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	border: 1px solid #fff;
	background: url(../img/common/arrow_white.svg)no-repeat center center;
	background-size: 1.7rem auto;
	transition: all .3s;
}
.btn_link03:hover{
	color: #0F2A4E;
	background-color: #fff;
	opacity: 1!important;
}
.btn_link03:hover .link_arrow03{
	border-color: #0F2A4E;
	background: url(../img/common/arrow_black.svg)no-repeat center center;
	background-size: 1.7rem auto;
}

/*top*/
.top_sec01{
	position: relative;
	padding: 14.4rem 0 0;
	background: url(../img/top/bg_sec01_01.png)no-repeat left center,
	url(../img/top/bg_sec01_02.png)no-repeat right bottom,
	url(../img/top/bg_sec01_03.png)no-repeat right top -3.5rem;
	background-size: 100% auto,90.8rem auto,68.5rem auto;
}
.top_sec01_hd{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	grid-gap: .8rem;
}
.top_sec01_hd span{
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: .08em;
	display: inline-block;
	padding-bottom: .5rem;
	border-bottom: .3rem solid currentColor;
	color: #4959FF;
}
.top_sec01_text{
	text-align: center;
	margin-top: 4rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 2;
	letter-spacing: .03em;
}

.js-image-scroll {
    display: flex;
}
.js-image-scroll ul {
    display: flex;
}
.js-image-scroll ul:nth-child(odd) {
    animation-name: image-loop-left1;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
.js-image-scroll ul:nth-child(even) {
    animation-name: image-loop-left2;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.js-image-scroll.is-vertical,
.js-image-scroll.is-vertical ul {
    flex-direction: row;
}

.js-image-scroll.is-vertical ul:nth-child(odd) {
  animation-name: image-loop-left1;
}

.js-image-scroll.is-vertical ul:nth-child(even) {
  animation-name: image-loop-left2;
}

@keyframes image-loop-left1 {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(-100%);
    }
}
@keyframes image-loop-left2 {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-200%);
    }
}
@keyframes image-loop-up1 {
    0% {
        transform: translateY(100%);
    }
    100% {
        transform: translateY(-100%);
    }
}
@keyframes image-loop-up2 {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-200%);
    }
}

.top_sec01_slider{
	margin-top: 10rem;
	width: 100%;
	overflow: hidden;
	pointer-events: none;
}
.top_sec01_slider ul li {
  margin-right: 1.6rem;
  font-size: 1px;
  line-height: 1;
  width: auto;
}
.top_sec01_slider img {
	max-width: none;
  width: auto;
  height: 29.7rem;
  object-fit: cover;
}
.top_sec01_slider li:nth-child(2){
	display: flex;
	align-items: center;
}
.top_sec01_slider li:nth-child(2) img{
	height: 24rem;
}
.top_sec01_slider li:nth-child(3){
	display: flex;
	align-items: flex-end;
}
.top_sec01_slider li:nth-child(3) img{
	height: 23.5rem;
}


.top_about{
	padding: 12rem 0;
	background: url(../img/top/bg_sec02.png)no-repeat left top;
	background-size: 100% 100%;
}
.top_about .inner{
	max-width: 128rem;
	padding: 0 6rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.top_about .hd_medium{
	text-align: left;
	align-items: flex-start;
	margin-bottom: 2.4rem;
}
.top_about_text{
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.8;
}
.top_about_left{
	width: 58rem;
}
.top_about_right{
	width: 59.6rem;
	margin-right: -6.4rem;
}
.top_about_right img{
    opacity: 0;
    transform: scale(1.2);
    transition: opacity .5s linear,transform .9s cubic-bezier(0.33, 1, 0.68, 1)
}
.top_about_right .animated img {
    opacity: 1;
    transform: scale(1)
}
.top_about_img01{
	width: 48.4rem;
	overflow: hidden;
}
.top_about_img02{
	margin-top: -7.6rem;
	margin-left: auto;
	width: 32.6rem;
	overflow: hidden;
	position: relative;
	z-index: 2;
}
.top_about_img03{
	width: 20.7rem;
	margin-left: 9.5rem;
	margin-top: -11.2rem;
	overflow: hidden;
}

.top_product{
	padding: 9.6rem 0 8rem;
	position: relative;
}
.top_product:after{
	content: '';
	opacity: .8;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/top/bg_product.jpg)no-repeat center center rgba(73, 89, 255, .4);
	background-size: cover;
	background-blend-mode: multiply;
}
.top_product:before{
	content: '';
	opacity: .2;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: url(../img/top/bg_product_before.jpg)no-repeat center center;
	background-size: cover;
}
.top_product .inner02{
	display: flex;
	justify-content: space-between;
	grid-gap: .4rem;
}
.top_product .hd_medium{
	writing-mode: tb-rl;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	width: 8rem;
	border-radius: 1.6rem 1.6rem 0 0;
	background-color: #fff;
	grid-gap: 1.6rem;
}
.top_product .fade_text{
	align-items: center;
	width: 100%;
}
.top_product .fade_text{
	padding: 0 .4rem 0 0;
}
.top_product .hd_medium .hd_medium_eng{
	padding: 1.6rem .4rem;
}
.product_slick_wrap{
	width: calc(100% - 8.4rem);
}
.product_slick .slick-track{
	display: flex;
}
.product_slick .slick-slide{
	float: none;
	height: auto;
}
.product_slick .slick-dots{
	display: flex;
	grid-gap: .8rem;
    width: auto;
    bottom: auto;
    right: 0;
    transform: translateX(0%);
    bottom: calc(100% + .8rem);
}
.product_slick .slick-dots li button:before,
.product_slick .slick-dots li button,
.product_slick .slick-dots li{
    width: .8rem;
    height: .8rem;
	margin: 0;
}

.product_slick .slick-arrow {
    width: 4.4rem;
    height: 4.4rem;
    background: url(../img/common/icon_arrow.svg) center center no-repeat;
    background-size: 100% auto;
}

.product_slick .slick-next {
	right: 0;
	transform: translate(50%,-50%);
}

.product_slick .slick-prev {
	left: -8.4rem;
	transform: translate(-50%,-50%) scaleX(-1);
}

.top_product_dl{
	display: flex;
	height: 100%;
	border-radius: 1.6rem 1.6rem 0 0;
	background-color: #fff;
	overflow: hidden;
}
.top_product_dl dt{
	width: 57rem;
	padding: 4rem;
}
.top_product_dl dd{
	width: calc(100% - 57rem);
}
.top_product_dl dd img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top_product_dl .title{
	font-size: 2.4rem;
	font-weight: 700;
	color: #4959FF;
	padding-bottom: .8rem;
	margin-bottom: 2.4rem;
	border-bottom: .2rem solid currentColor;
}
.top_product_dl .text{
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: .03em;
}

.top_numbers{
	padding: 12rem 0;
	text-align: center;
	background: url(../img/top/bg_numbers.png)no-repeat top center;
	background-size: 100% auto;
}
.top_numbers_list{
	margin-top: 6.4rem;
	display: flex;
	flex-wrap: wrap;
}
.top_numbers_list li{
	width: calc(50% - 1px);
	min-height: 30rem;
	padding: 4.4rem 0;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	flex-direction: column;
	grid-gap: 1.6rem;
	background-color: #fff;
	border: 1px solid #4d6282;
	margin: -1px -1px 0 0;
}
.top_numbers_list li.three_li{
	width: 33.33%;
}
.top_numbers_list .type{
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.2;
}
.top_numbers_list .number{
	font-size: 2.4rem;
	font-weight: 700;
	color: #4959FF;
	line-height: 1;
}
.top_numbers_list .number span{
	font-size: 9.6rem;
}
.top_numbers_list .chart{
	width: 32.1rem;
}

.top_other{
	display: grid;
	grid-template-columns: repeat(2,1fr);
}
.top_charm .hd_medium{
	grid-gap: .6rem;
}
.top_charm .hd_medium_jap{
	font-size: 4rem;
	font-weight: 700;
}
.top_charm{
	height: 49rem;
	padding: 6.4rem 8rem;
	position: relative;
	display: flex;
	align-items: flex-end;
	opacity: 1!important;
}
.top_charm_bg{
	position: absolute;
	left: 0;
	top: 0;
	padding-top: 0;
	height: 100%;
	z-index: 0;
}
.top_charm_bg:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .3;
}
.top_charm_bg:after{
    /*content: '';*/
    position: absolute;
    left: 0;
    top: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .2;
}
.top_charm .hd_medium{
	align-items: flex-start;
}
.arrow_hd{
	padding-right: 9.6rem;
	background: url(../img/top/arrow_hd.svg)no-repeat right center;
	background-size: 3.2rem auto;
}

.top_employee{
	padding: 12rem 0;
	background: url(../img/top/bg_employee.png)no-repeat top center;
	background-size: 100% auto;
}
.top_employee .hd_medium{
	align-items: flex-start;
	margin-bottom: 6.4rem;
}
.employee_box{
	position: relative;
}
.employee_left{
}
.employee_right{
	width: 71.4rem;
	position: absolute;
	z-index: 9;
	right: 0;
	bottom: 0;
}

.employee_gallery a{
	display: flex;
	justify-content: space-between;
	opacity: 1!important;
}
.employee_gallery .img_box{
	width: 41.4rem;
    padding-top: 0;
    aspect-ratio: 1 / 1.33;
}
.employee_gallery .cont{
	width: 71.4rem;
}
.employee_gallery .text{
	font-size: 2.4rem;
	line-height: 1.6;
	letter-spacing: .03em;
	font-weight: 700;
	margin-bottom: 1.6rem;

    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.employee_gallery .intro{
	display: flex;
	align-items: center;
	grid-gap: 4rem;
	padding-bottom: 1.6rem;
	border-bottom: .2rem solid #4959FF;
}
.employee_gallery .position{
	display: flex;
	align-items: center;
	grid-gap: .8rem;
	font-size: 1.6rem;
}
.employee_gallery .position span{
	display: flex;
	align-items: center;
	height: 3rem;
	border: .2rem solid #4959FF;
	color: #4959FF;
	padding: 0 1.6rem;
	border-radius: .2rem;
	font-size: 1.8rem;
	line-height: 1.2;
	font-weight: 700;
}
.employee_gallery .name{
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	color: #4959FF;
}

.employee_thumbs .img_box{
	padding-top: 132.8%;
	cursor: pointer;
}
.employee_thumbs .img_box:hover img{
	transform: scale(1.05);
}
.top_employee_btn{
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 11;
	text-align: center;
	margin-top: 2.4rem;
}
.swiper_box{
	margin-top: 2.4rem;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 6.3rem;
	grid-gap: 2.4rem;
	position: relative;
}
.swiper_box_number{
	display: flex;
	grid-gap: .4rem;
	font-size: 1.6rem;
	line-height: 1;
	color: #4959FF;
}
.swiper_box .swiper-button-prev,
.swiper_box .swiper-button-next{
	position: static;
	width: 4rem;
	height: 1.6rem;
	margin: 0;
	background: url(../img/top/slick_next.svg)no-repeat center center;
	background-size: 100% auto;
}
.swiper_box .swiper-button-prev:after,
.swiper_box .swiper-button-next:after{
	content: none;
}
.swiper_box .swiper-button-prev{
	transform: rotateY(-180deg);
}
.swiper_box .swiper-pagination{
	position: static;
	width: auto!important;
}
.swiper_box .swiper-pagination:before{
	content: '['
}
.swiper_box .swiper-pagination:after{
	content: ']'
}

.top_entry{
	padding: 8rem 0;
	position: relative;
	margin-bottom: 7rem;
}
.top_entry .hd_medium_jap{
	font-size: 4rem;
}
.top_entry_bg{
	position: absolute;
	left: 0;
	top: 0;
	padding-top: 0;
	height: 100%;
	z-index: 0;
	border-radius: 2.4rem;
	overflow: hidden;
}
.top_entry_bg img{
	object-position: top center;
}
.top_entry_bg:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    background: url(../img/top/bg_product_before.jpg) no-repeat center center;
    background-size: cover;
    opacity: .2;
}
.top_entry_bg:after{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    background: #007bfd;
    opacity: .3;
}
.top_entry .inner02{
	max-width: 103rem;
}
.top_entry .hd_medium_box{
	text-align: center;
}
.top_entry .hd_medium{
	margin-bottom: 6.4rem;
}
.top_entry_row{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8rem;
}
.top_entry_text{
	font-size: 3.2rem;
	line-height: 1.3;
	letter-spacing: .05em;
	font-weight: 700;
	color: #fff;
}
.top_entry_btn .btn_link01{
	font-size: 2rem;
	height: 7rem;
}
.job_search_box{
	background: #FFFFFFF2;
	padding: 4rem;
}
.job_search_hd{
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .03em;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2.4rem;
	margin-bottom: 2.4rem;
}
.job_search_list{
	display: grid;
	grid-gap: 1.6rem;
}
.job_search_list dl{
	display: flex;
}
.job_search_list dt{
	width: 16.8rem;
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .03em;
}
.job_search_list dd{
	line-height: 1;
	width: calc(100% - 16.8rem);
}

.formRadio .wpcf7-radio,
.formRadio,
.formCheckbox .wpcf7-checkbox{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    grid-gap: 1rem 4rem;
}

.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item{
    /*width: 100%;*/
}
.formRadio label,
.formCheckbox label {
    display: flex;
    font-size: 1.6rem;
    letter-spacing: .03em;
    line-height: 1;
    font-weight: 500;
    position: relative;
    cursor: pointer;
}

.formRadio label input[type="radio"],
.formRadio label input[type="checkbox"],
.formCheckbox label input[type="checkbox"] {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    opacity: 0;
}

.formRadio label span {
    position: relative;
    z-index: 2;
    display: inline-block;
    font-weight: 500;
    padding-left: 2.4rem;
}

.formRadio label span:before {
	content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.6rem;
    height: 1.6rem;
    background: #fff;
    content: '';
    z-index: -1;
    border: 1px solid #D9D9D9;
    border-radius: 50%;
}

.formRadio label span:after {
	content: '';
    position: absolute;
    left: .4rem;
    top: 50%;
    transform: translateY(-50%);
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
    background: #4d6282;
    content: '';
    z-index: -1;
    opacity: 0;
}

.formRadio label input[type="radio"]:checked + span:after,
.formRadio label input[type="checkbox"]:checked + span:after {
    opacity: 1;
}

.job_search_btn{
	text-align: center;
	margin-top: 4rem;
}
.job_search_btn input{
	width: 19.4rem;
	height: 5.2rem;
	border-radius: 3.2rem;
	background: linear-gradient(86.57deg, #4959FF 1.06%, #7CB3FF 98.94%);
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .08em;
	transition: all .3s;
	padding: 0;
}
.job_search_btn input:hover{
	background: #fff;
	color: #4959FF;
	border: 1px solid #4959FF;
}

.top_faq{
	margin-top: -2.4rem;
	padding: 14rem 0 7rem;
	background: url(../img/top/bg_faq.png)no-repeat top center;
	background-size: 100% auto;
}
.top_faq_box{
	display: flex;
	align-items: flex-start;
}
.top_faq .hd_medium{
	width: 23.2rem;
	align-items: flex-start;
}
.top_faq .faq_list{
	width: calc(100% - 23.2rem);
}

.faq_list{
	display: grid;
	grid-gap: 1.6rem;
}
.faq_list dl:nth-of-type(n+4){
	display: none;
}
.faq_list.is_hidden dl:nth-of-type(n+4){
	display: block;
}
.faq_list dl{
	border-radius: .8rem;
	border: 2px solid #4959FF;
	background: #fff;
	padding: 0 4rem;
}
.faq_list dl dt{
	display: flex;
	align-items: center;
	min-height: 8.8rem;
	padding: 1.8rem 9.6rem 1.8rem 5.2rem;
	background:url(../img/top/faq_open.svg)no-repeat right center;
	background-size: 2.5rem auto;
	position: relative;
	z-index: 2;
	cursor: pointer;
	font-size: 2rem;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: .04em;
}
.faq_list dl dt.is_active{
	background:url(../img/top/faq_close.svg)no-repeat right center;
	background-size: 2.5rem auto;
}
.faq_list dl dt:before{
	content: 'Q';
	font-family: "Roboto", serif;
	font-weight: 700;
	font-size: 4rem;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #4959FF;
}
.faq_list dl dd{
	display: none;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	padding: 1.6rem 0 3.2rem;
	border-top: 2px solid #4959FF;
}
.top_faq_btn{
	margin-top: 4rem;
	text-align: right;
}


.common_bottom{
}
.common_bottom_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
}
.common_bottom_list a{
	display: block;
	opacity: 1!important;
	position: relative;
}
.common_bottom_list .img_box{
	padding-top: 48.9rem;
	padding-top: 76.3%;
}
.common_bottom_list .img_box:after{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .3;
}
.common_bottom_list .hd_medium{
	position: absolute;
	left: 8rem;
	bottom: 6.4rem;
	z-index: 9;
	align-items: flex-start;
	grid-gap: .8rem;
}
.common_bottom_list .hd_medium_jap{
	font-size: 4rem;
	font-weight: 700;
}

html.is-popup{
  overflow: hidden;
}
.modalMedicine {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity .5s;
  background: rgba(0, 0, 0, 0.3);
}
.modalMedicine.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.modal__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: opacity .5s;
}
.modal__contents {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  opacity: 0;
  transition: opacity .5s;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.is-open .modal__contents {
  opacity: 1;
}
.modal__body {
  overflow: hidden;
  pointer-events: auto;
  background: #F1F8FF;
  border-radius: 1.6rem;

  width: 122.4rem;
  max-width: calc(100vw - 2.8rem - 2.8rem);
  max-height: calc(100dvh - 2.8rem - 2.8rem);
  margin: 0 auto;
  position: relative;
}
.modalMedicine__body {
  overflow: hidden;
  pointer-events: auto;
}
.modalMedicine__body.is-show {
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
  position: auto;
}
.modal__box{
  display: none;
  width: 100%;
  max-height: 100%;
  max-width: 100%;
  padding: 8rem 6.8rem;
  padding-right: 4rem;
  position: relative;
}
.modal__box.is_active{
  display: block;
}

.modal__closeButton{
	width: 3.2rem;
	height: 3.2rem;
	background: url(../img/common/icon_close.svg)no-repeat center center;
	background-size: 100% auto;
	position: fixed;
	right: 6.4rem;
	top: 6.4rem;
	z-index: 2;
}

.modal_hd_box{
	text-align: center;
}
.modal_employee_top{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 6.4rem 0;
}
.modal_employee_top dt{
	width: 45.7rem;
}
.modal_employee_top dd{
	width: 59rem;
}
.modal_employee_top dd img{
	border-radius: .8rem;
}
.modal_employee_position{
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: .08em;
	color: #4959FF;
	line-height: 1;
	margin-bottom: 3.2rem;
}
.modal_employee_intro{
	font-size: 2.8rem;
	line-height: 1.8;
	letter-spacing: .08em;
	margin-bottom: 4rem;
}
.modal_employee_name{
	font-size: 1.6rem;
	line-height: 1;
}
.modal_employee_name span{
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .03em;
	margin-right: 1.6rem;
}

.modal_employee_cont{
	background-color: #fff;
	padding: 4rem;
	border-radius: .8rem;
	display: grid;
	grid-gap: 4rem;
}
.modal_employee_cont dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
	grid-gap: 2.4rem;
}
.modal_employee_cont dl:nth-of-type(odd){
	flex-direction: row-reverse;
}

.modal_employee_cont dl:last-of-type,
.modal_employee_cont dl.big_dl{
	flex-wrap: wrap;
}
.modal_employee_cont dt{
	width: 100%;
}
.modal_employee_cont dd{
	min-width: 45rem;
	width: 45rem;
}
.modal_employee_cont dl:last-of-type dd,
.modal_employee_cont dl.big_dl dd{
	width: 100%;
}
.modal_employee_cont_title{
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: .1em;
	margin-bottom: 1.6rem;
	display: flex;
	align-items: center;
	grid-gap: 1.6rem;
}
.modal_employee_cont_title:before{
	content: 'Q';
	font-family: "Roboto", serif;
	font-weight: 700;
	color: #4959FF;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 3.4rem;
	width: 3.4rem;
	height: 3.4rem;
	background: #D7EBFF;
	border-radius: 50%;
	font-size: 2.4rem;
	padding-bottom: .1rem;
	padding-left: .25rem;
}
.modal_employee_cont_text{
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: .03em;
}

/*work*/
.work_wrap{
	background: url(../img/work/bg_sec01.png)no-repeat left top -69rem;
	background-size: 100% auto;
}
.work_sec01{
	padding: 12rem 0 0;
}
.work_sec01_dl{
	display: flex;
	justify-content: space-between;
}
.work_sec01_dl dt{
	width: 55.8rem;
}
.work_sec01_dl dd{
	width: 48.6rem;
}
.work_sec01_dl dt img{
	width: 50.2rem;
	position: relative;
	z-index: 2;
}
.work_sec01_dl dt img+img{
	z-index: 1;
	width: 42.4rem;
	display: block;
	margin-left: auto;
	margin-top: -3.3rem;
}
.work_sec01 .hd_medium{
	align-items: flex-start;
}
.work_sec01_sub{
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	margin: 4rem auto 0;
}
.work_sec01_sub+.top_about_text{
	margin-top: 1.6rem;
	font-size: 1.6rem;
	line-height: 1.8;
}

.work_sec02{
	padding: 12rem 0;
}
.work_sec02_list{
	border-radius: 2.4rem;
	background-color: #F1F8FF;
	padding: 8rem 5.6rem;
	text-align: center;
}
.work_sec02_list ul{
	margin-top: 6.4rem;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	grid-gap: 2.4rem;
}
.work_sec02_list li{
	padding: 4rem;
	background-color: #fff;
	width: calc(50% - 1.2rem);
}
.work_sec02_list li:first-of-type{
	width: 100%;
}
.work_sec02_list .img_box{
	padding-top: 34rem;
}
.work_sec02_list .place{
	font-size: 1.6rem;
	color: #4959FF;
	padding-bottom: .8rem;
	border-bottom: 2px solid #4959FF;
	margin: 4rem 0 1.6rem;
}
.work_sec02_list .place span{
	font-size: 3.2rem;
}
.work_sec02_list .text{
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: .03em;
}

/*charm*/
#charm #wrapper{
	overflow: visible;
}
.charm_wrap{
	background: url(../img/charm/bg_sec01.png)no-repeat left top -69rem;
	background-size: 100% auto;
}
.charm_sec01{
	padding: 12rem 0;
}
.charm_sec01_list{
	/*border-bottom: 2px solid #4959FF;*/
}
.charm_sec01_list li{
	margin-bottom: -1.6rem;
	position: sticky;
	top: 12.3rem;
	border-radius: 1.6rem 1.6rem 0 0;
	border: 2px solid #4959FF;
	/*border-bottom: 0;*/
	background-color: #fff;
	padding: 4rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.charm_sec01_list .hd_medium{
	align-items: flex-start;
}
.charm_sec01_list_img{
	width: calc(50% - 2rem);
}
.charm_sec01_list_cont{
	width: calc(50% - 2rem);
}
.charm_sec01_list .img_box{
	padding-top: 66%;
}
.charm_sec01_list .title{
	margin: 4rem 0 1.6rem;
	display: flex;
	align-items: center;
	grid-gap: 1.6rem;
	padding-bottom: 1.6rem;
	border-bottom: 2px solid #4959FF;
}
.charm_sec01_list .title span{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 6rem;
	min-width: 6rem;
	height: 3.6rem;
	border-radius: 1.2rem;
	border: 1px solid currentColor;
	color: #4959FF;
	font-size: 2.4rem;
}
.charm_sec01_list .title p{
	font-size: 2rem;
	line-height: 1.3;
	font-weight: 700;
	color: #4959FF;
}
.charm_sec01_list .text{
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: .03em;
}

.charm_sec02{
	background: url(../img/charm/bg_sec02.png)no-repeat left top 3.7rem;
	background-size: 100% auto;
	margin-bottom: 12rem;
}
.charm_sec02_box{
	padding: 8rem 11rem;
	text-align: center;
	background-color: #F1F8FF;
}
.charm_sec02_list{
	margin-top: 6.4rem;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 2.4rem;
}
.charm_sec02_list li{
	background-color: #FFFFFF;
	padding: 3.8rem 2.4rem;
	text-align: center;
}
.charm_sec02_list_title{
	font-size: 2rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .08em;
	color: #4959FF;
} 
.charm_sec02_list_icon{
	margin: 2.4rem 0;
}
.charm_sec02_list_icon img{
	height: 9.8rem;
}
.charm_sec02_list .text{
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: .03em;
	text-align: left;
}

.charm_sec02_bottom{
	margin-top: 2.4rem;
	background-color: #FFFFFF;
	padding: 4rem;
	text-align: center;
}
.charm_sec02_bottom_list{
	margin-top: 4.4rem;
	text-align: left;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 2.4rem 4rem;
}
.charm_sec02_bottom_list li{
	padding-bottom: 2.4rem;
	border-bottom: 1px solid #D8D8D8;
}
.charm_sec02_bottom_list dt{
	font-size: 1.6rem;
	font-weight: 700;
	color: #4959FF;
	line-height: 1.3;
	letter-spacing: .08em;
	margin-bottom: 1.6rem;
}
.charm_sec02_bottom_list dd{
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 400;
	letter-spacing: .03em;
}

.charm_sec03{
	padding: 12rem 0;
	background: url(../img/charm/bg_sec03.png)no-repeat left bottom -15.6rem;
	background-size: 100% auto;
	text-align: center;
}
.charm_sec03_list{
	text-align: left;
	display: grid;
	grid-gap: 5.6rem;
	margin-top: 6.4rem;
}
.charm_sec03_list li{
	position: relative;
	background-color: #fff;
	border: .2rem solid #4959FF;
	padding: 2.2rem;
	border-radius: .8rem;
}
.charm_sec03_list li:before{
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	height: 5.6rem;
	background: url(../img/charm/icon_before.svg)no-repeat center center;
	background-size: auto 4.1rem;
}
.charm_sec03_list li:last-of-type:before{
	content: none;
}

.charm_sec03_list dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.charm_sec03_list dt{
	width: 20rem;
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: 400;
	letter-spacing: .03em;
	display: grid;
	text-align: center;
	grid-gap: .4rem;
}
.charm_sec03_list dd{
	width: calc(100% - 24rem);
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 400;
	letter-spacing: .03em;
}
.charm_sec03_list dt span{
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: .03em;
	color: #4959FF;
	border: 2px solid #4959FF;
	padding: .8rem 1.6rem;
	text-align: center;
}

/*employee*/
.employee_wrap{
	background: url(../img/employee/bg_sec01.png)no-repeat left top -69rem;
	background-size: 100% auto;
	padding: 12rem 0;
}
.employee_categ{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 6.4rem;
	grid-gap: 1.6rem;
}
.employee_categ a{
	font-size: 1.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 2.4rem;
	height: 3.9rem;
	border-radius: 2rem;
	border: 1px solid #4959FF;
	background-color: #fff;
}
.employee_categ a.is_active,
.employee_categ a:hover{
	opacity: 1;
	background-color: #4959FF;
	color: #fff;
}
.employee_categ a.is_active{
	pointer-events: none;
}

.employee_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 2.4rem;
}
.employee_list li a{
	height: 100%;
	display: block;
	opacity: 1!important;
	border: 2px solid #D9D9D9;
	padding: 4rem;
	background-color: #fff;
}
.employee_list .img_box{
	padding-top: 70.45%;
	margin-bottom: 4rem;
}
.employee_list .position{
	font-size: 1.6rem;
	line-height: 1;
	margin-bottom: 1.6rem;
}
.employee_list .position span{
	font-size: 2.4rem;
	font-weight: 700;
	color: #4959FF;
	margin-right: .8rem;
}
.employee_list .name{
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 400;
	letter-spacing: .03em;
	padding-bottom: 1.6rem;
	border-bottom: 2px solid #4959FF;
	margin-bottom: 1.6rem;
}
.employee_list .name span{
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .03em;
	margin-right: .8rem;
}
.employee_list .text{
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: .03em;
}



/* top numbers grid override */
.top_numbers_list{
	display: grid;
	grid-template-columns: repeat(6,1fr);
	grid-template-areas:
		"foundation foundation sales sales employee employee"
		"location location location age age age"
		"service service gender gender overtime overtime"
		"paid paid holiday holiday turnover turnover";
	flex-wrap: initial;
}
.top_numbers_list li{
	width: auto;
	padding: 5.6rem 1.6rem;
	grid-gap: 1.6rem;
	box-sizing: border-box;
	position: relative;
}
.top_numbers_list li.three_li,
.top_numbers_list li.one_li{
	width: auto;
}
.top_numbers_item_foundation{grid-area: foundation;}
.top_numbers_item_sales{grid-area: sales;}
.top_numbers_item_employee{grid-area: employee;}
.top_numbers_item_location{grid-area: location;}
.top_numbers_item_age{grid-area: age;}
.top_numbers_item_service{grid-area: service;}
.top_numbers_item_gender{grid-area: gender;}
.top_numbers_item_overtime{grid-area: overtime;}
.top_numbers_item_paid{grid-area: paid;}
.top_numbers_item_holiday{grid-area: holiday;}
.top_numbers_item_turnover{grid-area: turnover;}
.top_numbers_list .number{
	font-size: 2.4rem;
}
.top_numbers_list .number span.scroll_counter{
	font-size: 9.6rem;
}
.top_numbers_list .number .unit{
	font-size: 2.4rem;
}
.top_numbers_list .number_sales span.number_sub{
	font-size: 3.9rem;
}
.top_numbers_list .number_sales .unit_sub{
	font-size: 3.9rem;
}
.top_numbers_list .note{
	position: absolute;
	left: 0;
	bottom: 2.3rem;
	width: 100%;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.28;
	color: #4959FF;
}

.top_numbers_list .note.font_small {
	font-size: 1.2rem;
}
.top_numbers_list .top_numbers_item_chart .note{
	bottom: 1.3rem;
}

.top_numbers_list .top_numbers_item_chart{
	padding-top: 4.8rem;
	padding-bottom: 4.8rem;
}
.top_numbers_list .chart{
	width: 32.1rem;
	height: 31.2rem;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	max-width: 90%;
}
.top_numbers_list .chart_gender{
	width: 19.9rem;
	height: 16.8rem;
}
.top_numbers_list .chart img{
	width: 100%;
}

.top_sec01_swiper{
	margin-top: 10rem;
	width: 100%;
	overflow: hidden;
	pointer-events: none;
}

.top_sec01_swiper .swiper_box {
	display: none;
}
.top_sec01_swiper .swiper-wrapper {
	-webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}
.top_sec01_swiper .swiper-slide{
  margin-right: 1.6rem;
  font-size: 1px;
  line-height: 1;
  width: fit-content;
}
.top_sec01_swiper .swiper-slide:nth-of-type(2){
	display: flex;
	align-items: center;
}

.top_sec01_swiper .swiper-slide img {
	max-width: none;
	width: auto;
	height: 29.7rem;
	object-fit: cover;
}

.top_sec01_swiper .swiper-slide:nth-child(2) img{
	height: 24rem;
}

.top_sec01_swiper .swiper-slide:nth-child(3){
	display: flex;
	align-items: flex-end;
}

.top_sec01_swiper .swiper-slide:nth-child(3) img{
	height: 23.5rem;
}

.employee_links {
	margin-top: 12rem;
	padding: 0 5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2.4rem;
}

.employee_links a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 1.2rem 4rem;
	gap: .5rem;
	border-radius: 4.8rem;
	border-width: .1rem;
	border-style: solid;
	font-size: 2rem;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: 5%;
	color: #0F2A4E;
	background: rgba(255, 255, 255, .8);
}

.employee_links a:after {
	width: 1.8rem;
	height: .6rem;
	content: '';
	background-size: 100% 100%;
	background-position: center center;
	background-repeat: no-repeat;
}

.employee_links a.employee_career {
	border-color: #00009A;
}

.employee_links a.employee_career:after {
	background-image: url(../img/common/icon_link_darkblue.svg);
}

.employee_links a.employee_highschool {
	border-color: #FF8234;
}

.employee_links a.employee_highschool:after {
	background-image: url(../img/common/icon_link_orange.svg);
}


.employee_links a:hover {
	color: #fff;
}

.employee_links a.employee_career:hover {
	background: #00009A;
}

.employee_links a.employee_career:hover:after {
	background-image: url(../img/common/icon_link_white.svg);
}

.employee_links a.employee_highschool:hover {
	background: #FF8234;
}

.employee_links a.employee_highschool:hover:after {
	background-image: url(../img/common/icon_link_white.svg);
}













