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

.pc{display: none!important;}

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: none;
}

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

}

.anchor_link{
    position: relative;
}
.anchor_link span{
    position: absolute;
    top: -7.4rem;
}
/* !header
---------------------------------------------------------- */
#header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	transition: background .3s;
	padding: 1rem 2.4rem;
}
#headerIn {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#headerLogo a{
	position: relative;
	z-index: 99;
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: .4rem;
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 500;
	color: #fff;
}
#headerLogo a img{
	width: 10.9rem;
}
.menuOpen #headerLogo img{
	width: 13rem;
}
.menuOpen #headerLogo a.pc{
	display: flex!important;
	flex-direction: column;
	grid-gap: .8rem;
	color: #0f2b52;
	font-size: 1.4rem;
	align-items: flex-start;
	position: relative;
	top: 1rem;
}
.menuOpen #headerLogo a.sp{
	display: none!important;
}

.header_right{
	position: relative;
	z-index: 99;
	display: flex;
	align-items: center;
	height: 5.5rem;
	grid-gap: .8rem;
}

#headerLinks {
}
.btnMenu a{
	position: relative;
	z-index: 99;
	display: block;
	width: 4.2rem;
	height: 4.2rem;
	background: url(../img/common/menu.svg)no-repeat center center;
	background-size: 100% auto;
}
.btnMenu.active a{
	background: url(../img/common/menu_close.svg)no-repeat center center;
	background-size: 100% auto;
}
/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
  width: 100%;
  text-align: left;
  padding: 2rem .8rem 4rem;
}

#breadcrumb ul {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-size: 1.2rem;
  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;
  font-weight: 600;
  /*max-width: 350px;*/
}

#breadcrumb ul li a{
	text-indent: 0;
	/*border-bottom: 1px solid transparent;*/
}

/* !gNavi
---------------------------------------------------------- */
#gNavi {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100dvh;
	z-index: 98;
	box-sizing: border-box;
	background: #fff;
	padding: 11rem 2.4rem 8rem;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: opacity .3s,right .3s;
	backdrop-filter: blur(4px);
}
#gNavi.active{
    opacity: 1;
    pointer-events: auto;
	visibility: visible;
}	

.nav_list01{
	max-width: 100%;
	display: grid;
	grid-gap: 1.6rem;
}
.nav_list01 .btn_link01{
	width: 100%;
}

.nav_list02{
	margin-top: 1.6rem;
	display: grid;
}
.nav_list02 li{
}
.nav_list02 a{
	border-bottom: 1px solid #D9D9D9;
	display: flex;
	justify-content: center;
	flex-direction: column;
	grid-gap: .8rem;
	height: 7.4rem;
	margin: 0 2.7rem;
	background: url(../img/common/arrow_right_blue_line.svg)no-repeat right center;
	background-size: 4rem auto;
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 500;
}
.nav_list02 a .eng{
	color: #A2A2A2;
	text-transform: uppercase;
}
.nav_list02 a .jap{
	font-size: 2rem;
	font-weight: 600;
}

.nav_list03{
	margin-top: 3.2rem;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	grid-gap: 1.6rem 2.4rem;
}
.nav_list03 li{
	font-size: 1.6rem;
	line-height: 1;
}
.nav_list03 a{
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 500;
	letter-spacing: .02em;
}
	
/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	position: relative;
	display: flex;
	align-items: center;
	height: 60rem;
}
#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 32.7rem, #fff 32.7rem, #fff .1rem) center center repeat-y;
    background-size: 100% 32.8rem;
}

#mainVisual:after {
    background: linear-gradient(to right, transparent, transparent 23.2rem, #fff 23.2rem, #fff .1rem) center center repeat-x;
    background-size: 23.3rem 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;
	object-position: 82%;
}
#mainVisual .inner{
	max-width: none;
}
.mv_text{
	text-align: center;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.mv_text span{
	color: #fff;
	font-size: 6.4rem;
	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: 60rem;
}
.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;
	width: 100%;
	padding: 2.4rem 2.4rem .8rem;
	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: 3.2rem;
	font-weight: 600;
	line-height: 1.3;
	color: #00009A;
}


/* !contents
---------------------------------------------------------- */
#contents {
	
}

#main {
	
}

#side {
	
}

.inner {
	
}

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

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

#footer .footerIn {
	border-top: 1px solid #A2A2A2;
	background: #fff;
	padding: 4rem .3rem;
}
.footer_box{
	display: block;
}
.footer_logo{
	text-align: center;
	font-size: 1.6rem;
	margin: 0 auto 4rem;
}
.footer_logo a{
	display: block;
}
.footer_logo a img{
	width: 21.1rem;
}
.footer_logo a span{
	display: block;
	margin-top: .8rem;
}

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

	
#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: 3.2rem;
	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;
}

.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.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.arrow_down{
	background: url(../img/common/arrow_down.svg)no-repeat right 3.6rem center #fff;
	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;
	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;
}

/*top*/
.top_sec01{
	padding: 8rem 0 0;
}
.top_sec01_dl{
}
.top_sec01_dl dt{
	margin: 0 -1.6rem 4rem;
}
.top_sec01_dl dd{
}
.top_sec01_dl dt img{
	width: 23.5rem;
}
.top_sec01_dl dt img+img{
	display: block;
	margin: -3.3rem 0 0 auto;
}
.top_sec01_dl .title{
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: .08em;
	color: #000062;
	margin-bottom: 2.4rem;
}
.top_sec01_dl .text{
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: .03em;
	font-weight: 700;
}
.top_sec01_img{
	margin: 4rem -1.6rem 0;
}

.top_about{
	padding: 8rem 0;
}
.top_about .inner{
}
.top_about_dl{
	margin: 4rem -1.6rem 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.top_about_dl dt{
	width: 19.9rem;
}
.top_about_dl dd{
	width: 18.3rem;
}
.top_about_dl dt img{
	width: 11.5rem;
}
.top_about_dl dt img+img{
	display: block;
	margin: -4.3rem 0 0 auto;
}
.top_about_text{
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 2;
	margin: 2.4rem auto 0;
}

.top_product{
	padding: 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;
	grid-gap: 1.6rem;
	margin-bottom: 2.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: auto!important;
}

.product_tab_link{
	display: grid;
	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.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: block;
	background-color: #fff;
	padding: 4rem .8rem;
}
.top_product_dl dt{
	padding: 0 1.6rem;
}
.top_product_dl dd{
	display: none;
}
.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: 8rem 0;
}
.top_numbers_list{
	margin: 6.4rem -1.6rem 0;
	display: flex;
	flex-wrap: wrap;
}
.top_numbers_list li{
	width: 50%;
	min-height: 19.5rem;
	padding: 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.one_li{
	width: 100%;
}
.top_numbers_list .type{
	font-size: 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: 4rem;
}
.top_numbers_list .chart{
	width: 27.3rem;
}

.top_charm{
	height: 65vw;
	padding: 2.4rem .6rem;
	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{
	width: 100%;
	background: url(../img/top/arrow_hd.svg)no-repeat right center;
	background-size: 3.2rem auto;
}

.top_employee{
	padding: 8rem 0;
}
.top_employee .hd_medium{
	margin-bottom: 4rem;
}
.employee_box{
	display: block;
}
.employee_left{
	padding-bottom: 1.6rem;
	margin: 0 -1.6rem;
}
.employee_right{
	border-top: 1px solid #A2A2A2;
	padding-top: 2.4rem;
}

.employee_gallery a{
	display: block;
	opacity: 1!important;
}
.employee_gallery .img_box{
	margin: 0 0 2.4rem;
	padding-top: 61.8%;
}
.employee_gallery .text{
	padding: 0 1.6rem;
	font-size: 1.6rem;
	line-height: 1.4;
	font-weight: 700;
	margin-bottom: 1.6rem;
}
.employee_gallery .intro{
	padding: 0 1.6rem;
	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{
	padding-top: 132.8%;
}
.top_employee_btn{
	text-align: center;
	margin-top: 2.4rem;
}
.swiper_box{
	margin-top: 2.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: 4rem 0;
	position: relative;
	margin-bottom: 3rem;
}
.top_entry .inner02{
	max-width: 103rem;
}
.top_entry .hd_medium{
	margin-bottom: 4rem;
}
.top_entry_row{
	display: grid;
	grid-gap: 2.4rem;
	margin-bottom: 2.4rem;
}
.top_entry_text{
	font-size: 2rem;
	line-height: 1.3;
	letter-spacing: .05em;
	color: #fff;
}
.job_search_box{
	background: #FFFFFFF2;
	padding: 2.4rem;
}
.job_search_hd{
	color: #00009A;
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 600;
	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{
}
.job_search_list dt{
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .03em;
	margin-bottom: 1.6rem;
}
.job_search_list dd{
	line-height: 1;
}

.formRadio .wpcf7-radio,
.formRadio,
.formCheckbox .wpcf7-checkbox{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    grid-gap: 1.6rem 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: 2.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: 8rem 0;
}
.top_faq_box{
}
.top_faq .hd_medium{
	margin-bottom: 4rem;
}
.top_faq .faq_list{
}

.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 1.6rem;
}
.faq_list dl dt{
	display: flex;
	align-items: center;
	padding: 1.8rem 3.6rem 1.8rem 3.6rem;
	background:url(../img/top/faq_open.svg)no-repeat right center;
	background-size: 2rem 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: 2rem 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: 2.4rem;
	text-align: right;
}


.common_bottom{
	padding-bottom: 2rem;
}
.common_bottom .inner02{
	padding: 0;
}
.common_bottom_list{
	display: grid;
}
.common_bottom_list a{
	display: block;
	opacity: 1!important;
	position: relative;
}
.common_bottom_list .img_box{
	padding-top: 76.3%;
	padding-top: 44.9%;
}
.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 li+li .img_box img{
	object-position: center 15%;
}
.common_bottom_list .hd_medium{
	position: absolute;
	left: 0;
	width: 100%;
	padding: 0 2.4rem;
	bottom: 2rem;
	z-index: 9;
	align-items: flex-start;
	grid-gap: 0;
}
.common_bottom_list .hd_medium_jap{
	font-size: 2.4rem;
	line-height: 3.2rem;
}

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: .8rem;

  width: 122.4rem;
  max-width: calc(100vw - .8rem - .8rem);
  max-height: calc(100dvh - 3rem - 3rem);
  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: 4rem 1.2rem;
  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: 2.8rem;
    top: 5rem;
	z-index: 2;
}

.modal_employee_top{
	display: grid;
	grid-gap: 2.4rem;
	margin: 4rem 0 2.4rem;
}
.modal_employee_top dt{
}
.modal_employee_top dd{
}
.modal_employee_top dd img{
	border-radius: .4rem;
}
.modal_employee_position{
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .08em;
	color: #00009A;
	line-height: 1;
	margin-bottom: 1.6rem;
}
.modal_employee_intro{
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: .08em;
	margin-bottom: .8rem;
}
.modal_employee_name{
	font-size: 1.4rem;
	line-height: 1;
}
.modal_employee_name span{
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .03em;
	margin-right: 1.6rem;
}

.modal_employee_cont{
	background-color: #fff;
	padding: 2.4rem .8rem;
	border-radius: .8rem;
	display: grid;
	grid-gap: 2.4rem;
}
.modal_employee_cont dl{
	display: grid;
	grid-gap: 2.4rem;
}
.modal_employee_cont_title{
	font-size: 1.8rem;
	line-height: 1.2;
	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.4rem;
	line-height: 1.6;
	letter-spacing: .03em;
}


/*work*/
.work_sec01{
	padding: 8rem 0 0;
}
.work_sec01 .top_about_dl{
	margin: 0 -1.6rem 4rem;
	flex-direction: row-reverse;
}
.work_sec01 .top_about_dl dt{
	width: 21rem;
}
.work_sec01 .top_about_dl dd{
	width: 16.4rem;
}
.work_sec01 .top_about_dl dt img+img{
	margin-top: -6.3rem;
}
.work_sec01_sub{
	font-size: 2rem;
	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.4rem;
	line-height: 1.8;
}
.work_sec01_banner{
	margin-top: 4rem;
}
.work_sec01_banner .img_box{
	padding-top: 51.28%;
}

.work_sec02{
	padding: 8rem 0;
}
.work_sec02_list{
	background-color: #F5F5F5;
	margin: 4rem -1.6rem 0;
	padding: 2.4rem 1.6rem;
}
.work_sec02_list ul{
	display: grid;
	grid-gap: 2.4rem;
}
.work_sec02_list li{
	padding: 1.6rem;
	background-color: #fff;
	border: 1px solid #D9D9D9;
}
.work_sec02_list .img_box{
	padding-top: 61.3%;
}
.work_sec02_list .place{
	font-size: 1.4rem;
	color: #00009A;
	padding-bottom: .8rem;
	border-bottom: 1px solid #D9D9D9;
	margin: 2.4rem 0 1.6rem;
}
.work_sec02_list .place span{
	font-size: 2rem;
}
.work_sec02_list .text{
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: .03em;
}


/*charm*/
.charm_sec01{
	padding: 8rem 0;
}
.charm_sec01_list{
	margin-top: 4rem;
	display: grid;
	grid-gap: 2.4rem;
}
.charm_sec01_list li{
	border: 1px solid #00009A;
	padding: 1.6rem;
}
.charm_sec01_list .img_box{
	padding-top: 61.3%;
}
.charm_sec01_list .title{
	margin: 2.4rem 0 1.6rem;
	display: grid;
	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: 5rem;
	height: 2.6rem;
	border-radius: 2rem;
	background-color: #00009A;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 400;
}
.charm_sec01_list .title p{
	font-size: 1.6rem;
	font-weight: 700;
	color: #00009A;
}
.charm_sec01_list .text{
	font-size: 1.4rem;
	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(2,1fr);
	grid-gap: .4rem;
}
.charm_sec02_list li{
	background-color: #FFFFFF;
	padding: 2.7rem 1.6rem;
	text-align: center;
}
.charm_sec02_list_title{
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .08em;
	color: #00009A;
} 
.charm_sec02_list_icon{
	margin: 1.6rem 0;
}
.charm_sec02_list_icon img{
	height: 6.4rem;
}
.charm_sec02_list .text{
	text-align: left;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: .03em;
}

.charm_sec02_bottom{
	margin-top: .4rem;
	background-color: #FFFFFF;
	padding: 1.6rem;
	text-align: center;
}
.charm_sec02_bottom .charm_sec02_list_icon img{
	height: 9.8rem;
}
.charm_sec02_bottom_list{
	margin-top: 1.6rem;
	text-align: left;
	display: grid;
	grid-gap: 2.4rem;
}
.charm_sec02_bottom_list li{
	padding-bottom: .8rem;
	border-bottom: 1px solid #D8D8D8;
}
.charm_sec02_bottom_list li:last-of-type{
	border-bottom: 0;
	padding-bottom: 2.4rem;
}
.charm_sec02_bottom_list dt{
	font-size: 1.6rem;
	font-weight: 700;
	color: #00009A;
	line-height: 1.3;
	letter-spacing: .08em;
	margin-bottom: .8rem;
}
.charm_sec02_bottom_list dd{
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: 400;
	letter-spacing: .03em;
}

.charm_sec03{
	padding: 8rem 0;
}
.charm_sec03_list{
	display: grid;
	grid-gap: 4rem;
	margin-top: 4rem;
}
.charm_sec03_list li{
	position: relative;
	border: .2rem solid #00009A;
	padding: 1.6rem;
}
.charm_sec03_list li:before{
	content: '';
	position: absolute;
	left: 50%;
	top: calc(100% + .8rem);
	width: .2rem;
	height: 2.4rem;
	background: linear-gradient(to bottom, #00009A, #00009A .4rem, transparent .4rem, transparent .6rem) center top repeat-y;
    background-size: .2rem .6rem;
}
.charm_sec03_list li:last-of-type:before{
	content: none;
}

.charm_sec03_list dl{
}
.charm_sec03_list dt{
	display: flex;
	align-items: center;
	grid-gap: 1.6rem;
	font-size: 1.4rem;
	line-height: 1.3;
	font-weight: 400;
	letter-spacing: .03em;
	margin-bottom: 1rem;
}
.charm_sec03_list dd{
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: 400;
	letter-spacing: .03em;
}
.charm_sec03_list dt span{
	font-size: 1.4rem;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: .03em;
	color: #fff;
	background-color: #00009A;
	padding: .4rem .8rem;
	text-align: center;
}


/*employee*/
.employee_wrap{
	padding: 8rem 0;
}
.employee_categ{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 4rem;
	grid-gap: .8rem;
}
.employee_categ a{
	font-size: 1.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 2.4rem;
	height: 3rem;
	border-radius: .8rem;
	border: 1px solid #00009A;
	background-color: #fff;
	color: #0f2b52;
}
.employee_categ a.is_active{
	background-color: #00009A;
	color: #fff;
	pointer-events: none;
}

.employee_list{
	display: grid;
	grid-gap: 2.4rem;
}
.employee_list li a{
	height: 100%;
	display: block;
	opacity: 1!important;
	border: .2rem solid #D9D9D9;
	padding: 1.6rem;
}
.employee_list .img_box{
	padding-top: 70.45%;
	margin-bottom: 2.4rem;
}
.employee_list .position{
	font-size: 1.4rem;
	line-height: 1;
	margin-bottom: 1.2rem;
}
.employee_list .position span{
	font-size: 2rem;
	font-weight: 700;
	color: #00009A;
	margin-right: .8rem;
}
.employee_list .name{
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 400;
	letter-spacing: .03em;
	padding-bottom: 1.2rem;
	border-bottom: 1px solid #D9D9D9;
	margin-bottom: 1.6rem;
}
.employee_list .name span{
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .03em;
	margin-right: .8rem;
}
.employee_list .text{
	font-size: 1.4rem;
	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;
	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: -1.6rem;
	padding-right: .5rem;
	transform: scaleX(-1);
}

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

/* top numbers grid override */
.top_numbers_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-template-areas:
		"foundation sales"
		"employee service"
		"location location"
		"age age"
		"gender gender"
		"overtime paid"
		"holiday turnover";
	flex-wrap: initial;
}
.top_numbers_list li{
	width: auto;
	min-height: 30rem;
	padding: 2.4rem .8rem;
	grid-gap: 1rem;
	box-sizing: border-box;
	position: relative;
}
.top_numbers_list li.one_li,
.top_numbers_list li.three_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 .type{
	font-size: 2.3rem;
	line-height: 1.2;
	opacity: .7;
}
.top_numbers_list .top_numbers_item_chart .type{
	font-size: 3.2rem;
	line-height: 1.2;
	margin-bottom: .6rem;
}
.top_numbers_list .number{
	font-size: 1.6rem;
}
.top_numbers_list .number span.scroll_counter{
	font-size: 6.9rem;
}
.top_numbers_list .number span.scroll_counter#counter_01{
	font-size: 6rem;
}
.top_numbers_list .number .unit{
	font-size: 1.6rem;
}
.top_numbers_list .number_sales span.number_sub{
	font-size: 2.4rem;
}
.top_numbers_list .number_sales .unit_sub{
	font-size: 2.4rem;
}
.top_numbers_list .note{
	position: absolute;
	left: 0;
	bottom: 3.5rem;
	transform: translateY(50%);
	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;
	bottom: 5rem;
}

.top_numbers_list .top_numbers_item_chart .note{
	bottom: 2.2rem;
}

.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;
}
.top_numbers_list .chart_gender{
	width: 37rem;
	height: 31.2rem;
}
.top_numbers_list .chart img{
	width: 100%;
}

.employee_links {
	margin-top: 4rem;
	padding: 0 .8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 1.6rem;
}

.employee_links a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 1.5rem 4rem;
	gap: .5rem;
	border-radius: 4.8rem;
	border-width: .1rem;
	border-style: solid;
	font-size: 2.4rem;
	line-height: 1;
	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);
}