@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 2.4rem;
}
#headerIn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 8.7rem;
	border-radius: .8rem;
	background-color: #fff;
	padding: 0 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: 4.8rem;
	background: #FFFFFF;
}
.nav_list_pc{
	display: flex;
	grid-gap: 2.4rem;
}
.nav_list_pc a{
	font-size: 1.6rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	grid-gap: .8rem;
	color: #00009A;
}
.nav_list_pc a img{
	height: 2.4rem;
}
.footer_link a:hover,
.nav_list_pc a:hover{
	color: #777;
	opacity: 1;
}
.nav_list_pc02{
	display: flex;
	grid-gap: 1.6rem;
}
.nav_list_pc02 .btn_link01{
	width: auto;
	padding: 0 8rem 0 2.4rem;
	height: 5.1rem;
	background-position: right 2.4rem center!important;
	box-shadow: none;
	border-radius: 0;
}

#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: 3.2rem;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  text-indent: 0;
  color: transparent;

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

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

#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
---------------------------------------------------------- */
		
#gNavi {
	
}
#gNavi li {
	
}
#gNavi li a {
	
}

	
/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	position: relative;
	display: flex;
	align-items: center;
	padding-top: 24dvh;
	height: 100dvh;
}
#mainVisual:before,
#mainVisual:after {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    content: '';
}

#mainVisual:before {
    background: linear-gradient(to bottom, transparent, transparent 27.7rem, #fff 27.7rem, #fff .1rem) center bottom repeat-y;
    background-size: 100% 27.8rem;
}

#mainVisual:after {
    background: linear-gradient(to right, transparent, transparent 38.3rem, #fff 38.3rem, #fff .1rem) center bottom repeat-x;
    background-size: 38.4rem 100%;
}

.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 .inner{
	max-width: none;
}
.mv_text{
	text-align: center;
	display: flex;
	justify-content: center;
}
.mv_text span{
	color: #fff;
	font-size: 9.6rem;
	font-weight: 700;
	line-height: 1.5;
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 60.1%, rgba(240, 145, 2, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* !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: 9;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(229, 229, 255, .6), rgba(229, 229, 255, .6)),
	linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8));
	opacity: .6;
}
.teaser_hd{
	position: absolute;
	z-index: 9;
	left: 0;
	bottom: 0;
	padding: 4rem 6rem 1.6rem;
	border-top-right-radius: 2.4rem;
	background: #fff;
}
.teaser_hd_eng{
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 500;
	margin-bottom: .8rem;
	color: #A2A2A2;
	display: block;
	text-transform: uppercase;
}
.teaser_hd_jap{
	display: block;
	font-size: 4rem;
	font-weight: 600;
	line-height: 1;
	color: #00009A;
}



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

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

#footer .footerIn {
	background: #fff;
	padding: 8rem 0;
	border-top: 1px solid #A2A2A2;
}
.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: 65rem;
}
.footer_link a{
	display: flex;
	align-items: center;
	grid-gap: .8rem;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .02em;
}
.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;
	background: #00009A;
	color: #fff;
}

/* !common
---------------------------------------------------------- */
.hd_medium{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	grid-gap: .8rem;
}
.hd_medium_eng{
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 500;
	color: #A2A2A2;
	letter-spacing: 0;
	position: relative;
	text-transform: uppercase;
}
.hd_medium_jap{
	font-size: 4rem;
	line-height: 1;
	letter-spacing: 0;
	font-weight: 600;
	color: #00009A;
}
.is_white .hd_medium_jap,
.is_white .hd_medium_eng{
	color: #fff;
}

.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: 35.2rem;
	max-width: 100%;
	height: 6.5rem;
	padding: 0 3.2rem;
	display: inline-flex;
	align-items: center;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .08em;
	background: url(../img/common/arrow_right_blue.svg)no-repeat right 3.3rem center #fff;
	background-size: 1.8rem auto;
	border: 1px solid #00009A;
	color: #00009A;
	box-shadow: 0px .4rem .4rem #00000040;
	border-radius: .8rem;
	transition: all .5s;
}
.btn_link01:hover {
	color: #fff;
	opacity: 1!important;
	background: url(../img/common/arrow_right_white.svg)no-repeat right 3.3rem center #00009A;
	background-size: 1.8rem auto;
}

.btn_link01.is_blue{
	background: url(../img/common/arrow_right_white.svg)no-repeat right 3.3rem center #00009A;
	background-size: 1.8rem auto;
	color: #fff;
}
.btn_link01.is_blue:hover {
	background: url(../img/common/arrow_right_blue.svg)no-repeat right 3.3rem center #fff;
	background-size: 1.8rem auto;
	color: #00009A;
}

.btn_link01.arrow_down{
	background: url(../img/common/arrow_down.svg)no-repeat right 3.6rem center #fff;
	background-size: .9rem auto;
}
.btn_link01.arrow_down:hover {
	background: url(../img/common/arrow_down_white.svg)no-repeat right 3.6rem center #00009A;
	background-size: .9rem 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{
	padding: 10rem 0 0;
}
.top_sec01_dl{
	display: flex;
	align-items: center;
	grid-gap: 4rem;
}
.top_sec01_dl dt{
	width: 50rem;
}
.top_sec01_dl dd{
	width: 50rem;
}
.top_sec01_dl dt img{
	width: 30rem;
}
.top_sec01_dl dt img+img{
	display: block;
	margin: -4.3rem 0 0 auto;
}
.top_sec01_dl .title{
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: .08em;
	color: #000062;
	margin-bottom: 4rem;
}
.top_sec01_dl .text{
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: .03em;
	font-weight: 700;
}
.top_sec01_img{
	margin-top: 8.3rem;
}

.top_about{
	padding: 12rem 0;
}
.top_about .inner{
	padding-top: 4.5rem;
	max-width: 128rem;
	min-height: 51.5rem;
}
.top_about_dl{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.top_about_dl dt{
	width: 38.5rem;
}
.top_about_dl dd{
	width: 38.5rem;
}
.top_about_dl dt img{
	width: 22.4rem;
}
.top_about_dl dt img+img{
	display: block;
	margin: -8.3rem 0 0 auto;
}
.top_about_text{
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 2;
	max-width: 43rem;
	margin: 2.4rem auto 0;
}

.top_product{
	padding: 11.4rem 0;
	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;
	background-size: cover;
}
.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 .hd_medium{
	flex-direction: row;
	justify-content: flex-start;
	grid-gap: 1.6rem;
	margin-bottom: 4rem;
}
.tabWrap{
	position: relative;
	overflow: hidden;
}
.tabBox{
    position: absolute;
    width: 100%;
    top: 0;
    pointer-events: none;
    opacity: 0;
}
.tabBox.is_active{
    position: static;
    opacity: 1;
    pointer-events: auto
}
.product_tab .tabBox{
	height: 100%;
}

.product_tab_link{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 1.6rem;
	margin-top: 2.4rem;
}
.product_tab_link a{
	display: block;
	position: relative;
	opacity: 1!important;
}
.product_tab_link a:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: #0000004D;
	transition: background .5s;
}
.product_tab_link a:hover:before,
.product_tab_link a.is_active:before{
	background: transparent;
}
.product_tab_link a.is_active{
	pointer-events: none;
}
.product_tab_link a img{
	width: 100%;
	height: 15rem;
	object-fit: cover;
}

.top_product_dl{
	display: flex;
	height: 100%;
	background-color: #fff;
}
.top_product_dl dt{
	width: 56.6rem;
	padding: 4rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.top_product_dl dd{
	width: calc(100% - 56.6rem);
}
.top_product_dl dd img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top_product_dl .title{
	display: flex;
	align-items: center;
	grid-gap: 4rem;
	font-size: 2.4rem;
	font-weight: 700;
	color: #00009A;
	padding-bottom: .8rem;
	margin-bottom: 2.4rem;
	border-bottom: 1px solid #00009A;
}
.top_product_dl .title span{
	color: #A2A2A2;
	font-size: 1.6rem;
	font-weight: 500;
}
.top_product_dl .text{
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: .03em;
}

.top_numbers{
	padding: 12rem 0;
}
.top_numbers_list{
	margin-top: 6.4rem;
	display: flex;
	flex-wrap: wrap;
}
.top_numbers_list li{
	width: 50%;
	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: #F5F5F5;
	border: 1px solid #fff;
}
.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: #00009A;
	line-height: 1;
}
.top_numbers_list .number span{
	font-size: 9.6rem;
}
.top_numbers_list .chart{
	width: 32.1rem;
}

.top_charm{
	height: 49rem;
	padding: 6.4rem 0;
	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: url(../img/top/bg_product_before.jpg) no-repeat center center;
    background-size: cover;
    opacity: .2;
}
.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;
}
.top_employee .hd_medium{
	align-items: flex-start;
	margin-bottom: 6.4rem;
}
.employee_box{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.employee_left{
	width: 65.2rem;
	padding-bottom: 1.6rem;
	border-bottom: 1px solid #A2A2A2;
}
.employee_right{
	width: 46rem;
}

.employee_gallery a{
	display: block;
	opacity: 1!important;
}
.employee_gallery .img_box{
	padding-top: 61.8%;
	margin-bottom: 2.4rem;
}
.employee_gallery .text{
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: 700;
	margin-bottom: 1.6rem;
}
.employee_gallery .intro{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	grid-gap: 4rem;
}
.employee_gallery .position{
	display: flex;
	align-items: center;
	height: 3rem;
	border: 1px solid #00009A;
	color: #00009A;
	border-radius: .2rem;
	padding: 0 1.6rem;
	font-size: 1.8rem;
	font-weight: 700;
}
.employee_gallery .name{
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	grid-gap: .4rem;
}
.employee_gallery .name span{
	margin-left: .4rem;
	position: relative;
	top: .2rem;
}

.employee_thumbs .img_box{
	cursor: pointer;
	padding-top: 132.8%;
}
.employee_thumbs .img_box:hover img{
	transform: scale(1.05);
}
.top_employee_btn{
	text-align: center;
	margin-top: 2.4rem;
}
.swiper_box{
	margin-top: 4.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: 2.4rem;
	position: relative;
}
.swiper_box_number{
	display: flex;
	grid-gap: .4rem;
	font-size: 1.6rem;
	line-height: 1;
	color: #A2A2A2;
}
.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 .inner02{
	max-width: 103rem;
}
.top_entry .hd_medium{
	flex-direction: row;
	justify-content: flex-start;
	grid-gap: 4rem;
	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;
	color: #fff;
}
.job_search_box{
	background: #FFFFFFF2;
	padding: 4rem;
}
.job_search_hd{
	color: #00009A;
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .03em;
	border-bottom: 1px solid #00009A;
	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;
}

.formRadio label span:after {
	content: '';
    position: absolute;
    left: .4rem;
    top: 50%;
    transform: translateY(-50%);
    width: .8rem;
    height: .8rem;
    background: #A2A2A2;
    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: 13rem;
	height: 3.9rem;
	border-radius: 3.2rem;
	background: #00009A;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .08em;
	transition: all .3s;
	border: 1px solid #00009A;
	padding: 0;
}
.job_search_btn input:hover{
	background: #fff;
	color: #00009A;
}

.top_faq{
	padding: 12rem 0;
}
.top_faq_box{
	display: flex;
	align-items: flex-start;
}
.top_faq .hd_medium{
	width: 28rem;
	align-items: flex-start;
}
.top_faq .faq_list{
	width: calc(100% - 28rem);
}

.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 #00009A;
	box-shadow: .4rem .4rem .8rem #0000001A;
	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 3.6rem;
	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: "Vollkorn", serif;
	font-weight: 500;
	font-size: 1.6rem;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #00009A;
}
.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 #00009A;
}
.top_faq_btn{
	margin-top: 4rem;
	text-align: right;
}


.common_bottom{
	padding-bottom: 8rem;
}
.common_bottom_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 2.4rem;
}
.common_bottom_list li+li{
	margin-top: 7rem;
}
.common_bottom_list a{
	display: block;
	opacity: 1!important;
	position: relative;
}
.common_bottom_list .img_box{
	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;
}

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: #F5F5F5;
  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_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: #00009A;
	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;
	font-weight: 700;
	letter-spacing: .1em;
	margin-bottom: 1.6rem;
	color: #00009A;
	display: flex;
}
.modal_employee_cont_title:before{
	content: 'Q.';
}
.modal_employee_cont_text{
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: .03em;
}

/*work*/
.work_sec01{
	padding: 12rem 0 0;
}
.work_sec01 .inner{
	max-width: 128rem;
	min-height: 57.3rem;
}
.work_sec01 .top_about_dl{
	flex-direction: row-reverse;
}
.work_sec01_sub{
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.6;
	max-width: 43rem;
	margin: 4rem auto 0;
}
.work_sec01_sub+.top_about_text{
	margin-top: 1.6rem;
	font-size: 1.6rem;
	line-height: 1.8;
}
.work_sec01_banner{
	margin-top: 4rem;
}
.work_sec01_banner .img_box{
	padding-top: 40rem;
}

.work_sec02{
	padding: 12rem 0;
}
.work_sec02_list{
	background-color: #F5F5F5;
	margin-top: 6.4rem;
	padding: 4rem;
}
.work_sec02_list ul{
	display: flex;
	flex-wrap: wrap;
	grid-gap: 2.4rem;
}
.work_sec02_list li{
	padding: 4rem;
	background-color: #fff;
	border: 1px solid #D9D9D9;
	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: #00009A;
	padding-bottom: .8rem;
	border-bottom: 1px solid #D9D9D9;
	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_sec01{
	padding: 12rem 0;
}
.charm_sec01_list{
	margin-top: 6.4rem;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 2.4rem;
}
.charm_sec01_list li{
	border: 1px solid #00009A;
	padding: 4rem;
}
.charm_sec01_list .img_box{
	padding-top: 70.45%;
}
.charm_sec01_list .title{
	margin: 4rem 0 1.6rem;
	display: flex;
	align-items: center;
	grid-gap: 1.6rem;
	padding-bottom: .8rem;
	border-bottom: 1px solid #D9D9D9;
}
.charm_sec01_list .title span{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 7.2rem;
	min-width: 7.2rem;
	height: 4rem;
	border-radius: 2rem;
	background-color: #00009A;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 400;
}
.charm_sec01_list .title p{
	font-size: 2rem;
	font-weight: 700;
	color: #00009A;
}
.charm_sec01_list .text{
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: .03em;
}

.charm_sec02{
	background-color: #F5F5F5;
	padding: 8rem 0;
}
.charm_sec02_list{
	margin-top: 6.4rem;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: .8rem;
}
.charm_sec02_list li{
	background-color: #FFFFFF;
	padding: 3.8rem;
	text-align: center;
}
.charm_sec02_list_title{
	font-size: 2rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .08em;
	color: #00009A;
} 
.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;
}

.charm_sec02_bottom{
	margin-top: .8rem;
	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: #00009A;
	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;
}
.charm_sec03_list{
	display: grid;
	grid-gap: 5.6rem;
	margin-top: 6.4rem;
}
.charm_sec03_list li{
	position: relative;
	border: .2rem solid #00009A;
	padding: 2.4rem;
}
.charm_sec03_list li:before{
	content: '';
	position: absolute;
	left: 50%;
	top: calc(100% + 1rem);
	width: 0;
	height: 3.6rem;
	border-left: .2rem dashed #00009A;
}
.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: #fff;
	background-color: #00009A;
	padding: 1rem 1.6rem;
	text-align: center;
}

/*employee*/
.employee_wrap{
	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: .8rem;
	border: 1px solid #00009A;
	background-color: #fff;
	color: #0f2b52;
}
.employee_categ a.is_active,
.employee_categ a:hover{
	opacity: 1;
	background-color: #00009A;
	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: .2rem solid #D9D9D9;
	padding: 4rem;
}
.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: #00009A;
	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: 1px solid #D9D9D9;
	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_product_box {
	position: relative;
}

.top_product_box .swiper-button-prev,
.top_product_box .swiper-button-next {
	width: 4.4rem;
	height: 4.4rem;
	border-radius: 100%;
	margin-top: -2.2rem;
	border-radius: 100%;
	background: url(../img/common/icon_swiper_arrow.svg) center center no-repeat;
	background-size: 100% 100%;
}

.top_product_box .swiper-button-prev:after,
.top_product_box .swiper-button-next:after {
	display: none;
}

.top_product_box .swiper-button-prev {
	left: -2.2rem;
	padding-right: .5rem;
	transform: scaleX(-1);
}

.top_product_box .swiper-button-next {
	right: -2.2rem;
	padding-left: .5rem;
}


/* 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: #00009A;
}

.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%;
}

.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_student {
	border-color: #0000FF;
}

.employee_links a.employee_student:after {
	background-image: url(../img/common/icon_link_blue.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_student:hover {
	background: #0000FF;
}

.employee_links a.employee_student: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);
}