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

.pc{display: none!important;}
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: 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: 2.4rem 2.4rem;
}
.menuOpen #header{
	padding: 4rem 3.2rem .8rem;
}
#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;
	flex-direction: column;
	text-align: center;
	grid-gap: .4rem;
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 500;
	padding: .8rem 2.4rem;
	background: #FFFFFFE5;
	border-radius: 3rem;
}
#headerLogo a img{
	width: 7.8rem;
}
#headerLogo a b{
	font-weight: 500;
}

.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: 8.4rem;
	height: 4.8rem;
	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 {
	background: linear-gradient(to right, transparent, transparent .4rem, #F6F6F6 .4rem, #F6F6F6 100%) center top repeat, 
	linear-gradient(to bottom, #FAFAFA, #FAFAFA .4rem, #F6F6F6 .4rem, #F6F6F6 100%) center top repeat;
    background-size: 2.4rem .4rem, .4rem 2.4rem;
  width: 100%;
  text-align: left;
  padding: 4rem .8rem 2.4rem;
}

#breadcrumb ul {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  grid-gap: .8rem;
  font-size: 1.4rem;
  font-weight: 700;
}

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

#breadcrumb ul li + li:before {
  content: '';
  z-index: 2;
  width: 1px;
  height: .8rem;
  background: #FF8234;
  position: absolute;
  left: 2.4rem;
  bottom: 100%;
  text-indent: 0;
  color: transparent;
}


#breadcrumb ul li:last-child {
	
}

#breadcrumb ul li span{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .7rem 2.4rem;
  border-radius: 2rem;
  border: 1px solid #FF8234;
  background: #FF8234;
}
#breadcrumb ul li a{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .7rem 2.4rem;
	color: #FF8234;
	border-radius: 2rem;
	border: 1px solid #FF8234;
	background: transparent;
}
/* !gNavi
---------------------------------------------------------- */
#gNavi {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100dvh;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	z-index: 98;
	box-sizing: border-box;
	background: #FF8234;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: opacity .3s,right .3s;
	padding: 1.6rem;
}
#gNavi.active{
    opacity: 1;
    pointer-events: auto;
	visibility: visible;
}	
.nav_box{
	position: relative;
	min-height: calc(100dvh - 3.2rem);
	padding: 9.6rem 1.6rem 8rem;
	background: #fff;
	border-radius: 1.6rem;
}
.nav_flow{
	position: absolute;
	bottom: 2.4rem;
	left: 0;
	right: 0;
 	width: 100%;
}

.nav_list01{
	max-width: 100%;
	display: grid;
	grid-gap: .8rem;
}
.nav_list01 a{
	width: 100%;
	max-width: 100%;
	height: 7.2rem;
	padding: 0 2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .02em;
	border: .2rem solid #FF8234;
	color: #FF8234;
	border-radius: 4rem;
}
.nav_list01 a.is_blue{
	background: linear-gradient(86.57deg, #8888FF 1.06%, #FF8234 98.94%);
	color: #fff;
	border: 0;
}

.nav_list02{
	display: grid;
	margin-bottom: .8rem;
}
.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;
	background: url(../img/common/arrow_right_line.svg)no-repeat right center;
	background-size: 3.2rem auto;
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 500;
}
.nav_list02 a .eng{
	font-weight: 700;
	font-style: italic;
	color: #FF8234;
	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;
}
.nav_flow .loop_text{
  background: url(../img/common/loop_nav.svg) repeat-x left center/auto 100%;
  height: 3rem;
}
.loop_text {
  background: url(../img/top/loop_text.svg) repeat-x left center/auto 100%;
  height: 9.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;
	height: 100dvh;
	padding-bottom: 5.5rem;
	overflow: hidden;
}
.mv_bg{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.mv_bg:before{
	content: '';
	position: absolute;
	left: 0;
	bottom: -3rem;
	width: 100%;
	height: 5rem;
	z-index: 2;
	background: url(../img/top/wave_white.png)repeat left center;
	background-size: auto 100%;
}
.mv_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 75% center;
}
#mainVisual .inner02{
	padding: 0 2rem;
	max-width: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	color: #FF8234;
}
.mv_text{
}
.mv_text span{
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: .06em;
	font-weight: 700;
}
.mv_text.animated span{
}

.mv_hd{
	display: inline-flex;
	flex-direction: column;
}
.mv_hd span {
	font-size: 5.6rem;
	line-height: 1.3;
	letter-spacing: 0;
	font-weight: 700;
}

.mv_jap{
	position: absolute;
	left: 17.3rem;
	bottom: 7rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	grid-gap: .4rem;
	opacity: 0;
	animation-delay: 2s!important;
}
.mv_jap p{
	background: #fff;
	padding: .8rem;
	border-radius: .8rem;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .08em;
}

.span_text{
	overflow: hidden;
}
.span_text span.hidden,
.span_text>span {
	position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.span_text p{
	overflow: hidden;
}
.span_text p span{
	min-width: .4em;
	text-align: center;
    display: inline-block;
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.36, 0.14, 0, 1),transform 1s cubic-bezier(0.36, 0.14, 0, 1);
    transform: translate(0, 100%) skewX(12deg)
}
.span_text.animated p span{
    opacity: 1;
    transform: translate(0, 0%) skewX(0deg);
}

/* !teaser
---------------------------------------------------------- */
#teaser {
	position: relative;
	overflow: hidden;
}
.teaser_bg{
	position: relative;
	width: 100%;
	height: 60rem;
}
.teaser_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.teaser_bg:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3rem;
    width: 100%;
    height: 5rem;
    z-index: 5;
    background: url(../img/top/wave_white.png) repeat left center;
    background-size: auto 100%;
}

#teaser .inner02{
    min-height: 27.2rem;
    display: flex;
    align-items: center;
	padding: 4rem 2.4rem 6rem;
	position: absolute;
	bottom: 0;
	left: 0;
}
#teaser .inner02:before{
	content: '';
	z-index: -1;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28.6rem;
	height: 100%;
	background: #FF8234E5;
	border-top-right-radius: 8rem;
}
.teaser_hd{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.teaser_hd_eng{
	font-size: 4rem;
	line-height: 1.2;
	font-weight: 700;
	display: block;
	color: #fff;
	font-family: "Montserrat", serif;
}
.teaser_hd_jap{
	margin-top: .8rem;
	font-size: 1.6rem;
	font-weight: 900;
	animation-delay: 1.4s!important;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex-wrap: wrap;
	grid-gap: .8rem;
}
#employee .teaser_hd_jap{
	animation-delay: 1.8s!important;
}
#work .teaser_hd_jap{
	animation-delay: 2.5s!important;
}
.teaser_hd_jap span{
	color: #FF8234;
	background-color: #fff;
	border-radius: .8rem;
	padding: .3rem 1.2rem;
}

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

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

#footer .footerIn {
	background: linear-gradient(to right, transparent, transparent .4rem, #F6F6F6 .4rem, #F6F6F6 100%) center top repeat, 
	linear-gradient(to bottom, #FAFAFA, #FAFAFA .4rem, #F6F6F6 .4rem, #F6F6F6 100%) center top repeat;
    background-size: 2.4rem .4rem, .4rem 2.4rem;
	padding: 0 .8rem 4rem;
}
.footer_box{
	display: block;
}
.footer_logo{
	text-align: center;
	font-size: 1.4rem;
	line-height: 1;
	margin: 0 auto 2.4rem;
}
.footer_logo a{
	display: block;
}
.footer_logo a img{
	width: 17.1rem;
}
.footer_logo a span{
	display: block;
	margin-top: .8rem;
}
.footer_right{
	background: #FFFFFF;
	border-radius: 1.6rem;
	padding: 2.8rem 4rem;
}
.footer_link{
	display: grid;
}
.footer_link a{
	display: flex;
	align-items: center;
	height: 4.8rem;
	grid-gap: .8rem;
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 500;
	letter-spacing: .02em;
	background: url(../img/common/arrow_right_sp.svg)no-repeat right 0 center;
	background-size: 2.3rem auto;
	border-bottom: 1px solid #D9D9D9;
}
.footer_link a img{
	height: 1.6rem;
}
.footer_right .footer_link{
	grid-gap: 1.6rem;
}
.footer_right .footer_link a{
	border-bottom: 0;
}
.footer_right .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;
}

/* !common
---------------------------------------------------------- */
.hd_medium{
	display: inline-flex;
	flex-direction: column;
	position: relative;
	padding-left: 4rem;
	grid-gap: .8rem;
	color: #FF8234;
}
.hd_medium_jap,
.hd_medium p:nth-of-type(1){
	font-size: 2.6rem;
	line-height: 1;
	letter-spacing: 0;
	font-weight: 700;
}
.hd_medium_eng,
.hd_medium p:nth-of-type(2){
	  font-family: "Poppins", sans-serif;
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: .2em;
	font-weight: 700;
	font-style: italic;
	text-transform: uppercase;
}
.hd_medium p:nth-of-type(2) span:nth-child(1) {
	font-weight: 400;
	font-style: normal;
}
.hd_medium img{
	width: auto;
	height: 2.6rem;
	position: absolute;
	left: 0;
	top: 0;
}

.is_white.hd_medium{
	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;
}

.btn_link01{
	width: auto;
	max-width: 100%;
	height: 8.8rem;
	padding: 0 9.6rem 0 4rem;
	display: inline-flex;
	align-items: center;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0;
	background: #fff;
	color: #FF8234;
	border: .2rem solid #FF8234;
	border-radius: 1.6rem;
	transition: all .5s;
	position: relative;
}
.btn_link01:before{
	content: '';
	position: absolute;
	right: 2.4rem;
	top: 0;
	width: 3.2rem;
	height: 100%;
	background: url(../img/common/arrow_right.svg)no-repeat right center;
	background-size: 100% auto;
	transition: all .5s;
}
.btn_link01 span{
	position: relative;
	z-index: 9;
}

.btn_link01.arrow_down:before{
	transform: rotate(90deg);
}

.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*/
.bg_dot{
	background: linear-gradient(to right, transparent, transparent .4rem, #fff .4rem, #fff 100%) center top repeat, 
	linear-gradient(to bottom, #EBEBEB, #EBEBEB .4rem, #fff .4rem, #fff 100%) center top repeat;
    background-size: 2.4rem .4rem, .4rem 2.4rem;
}
.top_sec01{
	position: relative;
	padding: 3rem 0 8rem;
	text-align: center;
}
.top_sec01 .inner{
	padding-top: 4rem;
	padding-bottom: 4rem;
}
.top_sec01_hd{
	font-size: 2.8rem;
	line-height: 1.5;
	letter-spacing: .06em;
	font-weight: 700;
	color: #FF8234;
}
.top_sec01_hd span{
	font-size: 4.8rem;
}
.top_sec01_hd:after{
	content: '';
	display: block;
	height: 1.2rem;
	background: url(../img/top/line_sec01.svg)no-repeat center center;
	background-size: auto 100%;
	margin: 1.6rem 0;
}
.top_sec01_text{
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .03em;
}
.top_sec01_text p+p{
	margin-top: 2.7rem;
}

.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-bottom: 4.5rem;
	width: 100%;
	overflow: hidden;
	pointer-events: none;
}
.top_sec01_slider ul li {
  margin-right: .8rem;
  font-size: 1px;
  line-height: 1;
  width: auto;
}
.top_sec01_slider img {
	max-width: none;
  width: auto;
  height: 20.4rem;
  object-fit: cover;
  border-radius: .8rem;
}
.top_sec01_slider li:nth-child(3n-1){
	display: flex;
	align-items: flex-end;
}
.top_sec01_slider li:nth-child(3n-1) img{
	height: 9rem;
}
.top_sec01_slider li:nth-child(3n){
	display: flex;
	margin-left: -10rem;
}
.top_sec01_slider li:nth-child(3n) img{
	height: 10.5rem;
}

.top_about{
	padding: 0 0 4rem;
}
.top_about .inner{
	padding: 0 2.4rem;
}
.top_about .hd_medium{
	position: relative;
	z-index: 3;
}
.top_about .hd_medium p:nth-of-type(1) span{
	font-size: 1.8rem;
}
.top_about .hd_medium p:nth-of-type(1) span:nth-child(-n+6) {
	  font-family: "Poppins", sans-serif;
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: .1em;
}
.top_about_text{
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: .03em;
	line-height: 1.7;
}
.top_about_left{
	padding: 4rem 0 6rem;
	position: relative;
	z-index: 3;
	margin-bottom: 1.3rem;
}
.top_about_left:before{
	content: '';
	position: absolute;
	z-index: 1;
	left: -2.4rem;
	top: 0;
	width: 31.4rem;
	height: 100%;
	background: url(../img/top/bg_about.png)no-repeat right top;
	background-size: auto 100%;
}
.top_about_left:after{
	content: '';
	position: absolute;
	left: -2.4rem;
	bottom: -2.6rem;
	width: 100%;
	height: 5rem;
	z-index: 2;
	background: url(../img/top/wave_white.png)no-repeat left center;
	background-size: auto 100%;
}
.top_about_right{
	position: relative;
	z-index: 3;
}
.top_about_img{
	position: relative;
	z-index: 3;
	width: 100%;
	border-radius: 2.4rem;
	margin-top: 2.4rem;
}

.fade_img{
	position: relative;
	overflow: hidden;
}
.fade_img.animated{
	animation-fill-mode: both;
	animation-duration:.5s;
	animation-delay: .3s;
	-webkit-animation-name: fade_img;
	animation-name: fade_img;
}
@-webkit-keyframes fade_img {
  0% {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0);
  }
  60% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes fade_img {
  0% {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0);
  }
  60% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
}

.fade_img:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
	background: #FF8234;
}
.fade_img.animated:before{
	animation-fill-mode: both;
	animation-duration:.5s;
	animation-delay: .8s;
	-webkit-animation-name: fade_img_before;
	animation-name: fade_img_before;
}
@-webkit-keyframes fade_img_before {
  0% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
  60% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
}
@-webkit-keyframes fade_img_before {
  0% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
  60% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
}

.top_product{
	padding: 4rem 0 3.6rem;
	position: relative;
	overflow: hidden;
}
.top_product:before{
	content: '';
	position: absolute;
	z-index:1;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/top/bg_product_sp.png)no-repeat left top;
	background-size: 100% 100%;
}
.top_product:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: -3.4rem;
	width: 100%;
	height: 5rem;
	z-index: 2;
	background: url(../img/top/wave_white.png)no-repeat left center;
	background-size: auto 100%;
}
.top_product .inner{
	padding: 0 2.4rem;
}
.top_product .hd_medium{
	margin-bottom: 2.4rem;
}
.product_swiper.swiper{
	overflow: visible;
}
.product_swiper .swiper-slide{
  /*width: 34.2rem;*/
  /*margin-right: 1.6rem;*/
}
.product_swiper .swiper-slide{
	height: auto;
}
.product_swiper_box{
	position: relative;
	height: 100%;
}
.product_swiper_point{
	position: absolute;
	left: 2.4rem;
	top: 0;
	transform: translateY(-50%);
	z-index: 9;
	font-size: 4rem;
	font-weight: 800;
	font-style: italic;
	letter-spacing: .1em;
	color: #FF8234;
}
.product_swiper_dl{
	border-radius: 4rem;
	height: 100%;
	overflow: hidden;
	background: #fff;
}
.product_swiper_dl .img_box{
	padding-top: 62%;
}
.product_swiper_dl dd{
	padding: 2.4rem;
}
.product_swiper_title{
	font-size: 2rem;
	font-weight: 700;
	color: #FF8234;
	margin-bottom: .8rem;
}
.product_swiper_text{
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: .03em;
}
.top_product_scroll{
	text-align: right;
	margin-top: 2.4rem;
}
.top_product_scroll span{
	padding-right: 5.1rem;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .08em;
	color: #fff;
	background: url(../img/top/scroll.svg)no-repeat right center;
	background-size: 4rem auto;
}

.top_numbers{
	background: #fff;
	padding: 4rem 0;
	text-align: center;
}
.top_numbers .inner{
	padding: 0 2.4rem;
}
.top_numbers .hd_medium {
	text-align: left;
}
.top_numbers .hd_medium p:nth-of-type(2) span:last-child {
    font-weight: 400;
    font-style: normal;
}
.top_numbers_list{
	margin: 2.4rem 0 0;
	display: flex;
	flex-wrap: wrap;
	grid-gap: 1.6rem;
}
.top_numbers_list li{
	width: calc(50% - .8rem);
	padding: 2.4rem 0;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	flex-direction: column;
	grid-gap: .8rem;
	border-radius: 2.4rem;
	background: #FEF3E2;
}
.top_numbers_list li.one_li{
	width: 100%;
}
.top_numbers_list .icon img{
	height: 4rem;
	width: auto;
}
.top_numbers_list .type{
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
}
.top_numbers_list .number{
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}
.top_numbers_list .number span{
	font-size: 4rem;
	color: #FF8234;
}
.top_numbers_list .chart{
	margin-top: 1.6rem;
	width: 22.6rem;
}

.top_charm{
	height: 45.5rem;
	padding: 2.4rem;
	position: relative;
	display: block;
	align-items: flex-end;
	opacity: 1!important;
}
.top_charm_bg{
	position: absolute;
	right: 0;
	bottom: 0;
	padding-top: 0;
	width: 100%;
	height: 36.5rem;
	z-index: 0;
}
.top_charm_bg img{
}
.top_charm_bg:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    background: #FBB03B;
    opacity: .4;
}
/*.top_work .top_charm_bg:before{
    background: #FF8234;
    content: none;
}*/
.top_charm .hd_medium{
	align-items: flex-start;
	width: 100%;
	grid-gap: .6rem;
}
.top_charm .hd_medium_eng,
.top_charm .hd_medium_jap{
	font-weight: 700;
}
.top_charm_cont{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 30.6rem;
	align-items: center;
	padding: 4rem 2.4rem 0;
	background: url(../img/top/cont_charm_sp.png)no-repeat top center;
	background-size: 100% auto;
}
.top_work .top_charm_cont{
	background: url(../img/top/cont_work_sp02.png)no-repeat top center,
	url(../img/top/cont_work_sp.png)no-repeat left center;
	background-size: 100% auto,100% auto;
}
.top_charm .hd_medium{
	grid-gap: 1.6rem;
	padding-left: 0;
}

.top_employee{
	background: linear-gradient(to right, transparent, transparent .4rem, #F5F5F5 .4rem, #F5F5F5 100%) center top repeat, 
	linear-gradient(to bottom, #EBEBEB, #EBEBEB .4rem, #F5F5F5 .4rem, #F5F5F5 100%) center top repeat;
    background-size: 2.4rem .4rem, .4rem 2.4rem;
    background: #F5F5F5;
	padding: 6rem 0 4.6rem;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.top_employee:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: -3rem;
	width: 100%;
	height: 5rem;
	z-index: 2;
	background: url(../img/top/wave_white.png)no-repeat right center;
	background-size: auto 100%;
}
.top_employee .hd_medium{
	padding-left: 0;
	margin-bottom: 4rem;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.top_employee .hd_medium img{
	position: static;
}
.top_employee .hd_medium p:nth-of-type(2){
	width: 100%;
}
.top_employee .hd_medium p:nth-of-type(2) span:last-child {
    font-weight: 400;
    font-style: normal;
}
.top_employee_list{
	display: grid;
	grid-gap: 2.4rem;
	text-align: left;
	padding: 0 2.4rem;
	counter-reset: number;
}
.top_employee_list a{
	opacity: 1!important;
	display: block;
	position: relative;
	padding-right: 4.3rem;
}
.top_employee_list .point{
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
	writing-mode: tb-rl;
	color: #FF8234;
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .2em;
}
.top_employee_list .point span{
	font-size: 2.8rem;
	font-style: italic;
	font-weight: 800;
	letter-spacing: 0;
	margin-top: .7rem;
}
.top_employee_list .point span:before{
	counter-increment: number;
  	content: '0'counter(number);
}
.top_employee_list .img_box{
    padding-top: 0;
    aspect-ratio: 1 / 1.5;
    border-radius: 1.6rem;
}
.top_employee_list .intro{
	border-left: .2rem solid #FF8234;
	margin-top: 1.6rem;
	padding-left: 1.5rem;
	color: #FF8234;
}

.top_employee_list .title {
	margin-bottom: .6rem;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
	gap: .8rem;
}

.top_employee_list .post {
	display: flex;
	align-items: center;
	gap: .8rem;
}

.top_employee_list .post span {
	display: inline-flex;
	border: .2rem solid #FF8234;
	border-radius: .2rem;
	padding: .2rem 1.4rem;
	font-size: 1.4rem;
	line-height: 1.2;
	font-weight: bold;
	color: #FF8234;
}

.top_employee_list .name{
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
}
.top_employee_list .position{
	font-size: 1.4rem;
	line-height: 1.2;
}
.top_employee_btn{
	text-align: center;
	margin-top: 4rem;
}

.top_entry{
	margin-top: -2.4rem;
	padding: 8rem .8rem;
	position: relative;
}
.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 .hd_medium_box{
	text-align: center;
}
.top_entry .hd_medium{
	margin-bottom: 2.4rem;
}
.top_entry_row{
	display: grid;
	grid-gap: 2.4rem;
	margin-bottom: 8rem;
}
.top_entry_text{
	font-size: 2rem;
	line-height: 1.3;
	letter-spacing: .05em;
	color: #fff;
}
.top_entry_btn{
	text-align: center;
}
.top_entry_btn .btn_link01{
	font-size: 2rem;
	height: 7rem;
}
.job_search_box{
	background: #FFFFFFF2;
	padding: 2.4rem;
}
.job_search_hd{
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 600;
	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{
}
.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"],
.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-radius: 50%;
    border: 1px solid #D9D9D9;
}

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

.formRadio label input[type="radio"]: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, #FF8234 1.06%, #7CB3FF 98.94%);
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .08em;
	transition: all .3s;
	padding: 0;
}

.top_faq{
	padding: 8rem 0;
}
.top_faq_box{
	text-align: center;
}
.top_faq .hd_medium{
	align-items: flex-start;
	margin-bottom: 4rem;
}
.top_faq .faq_list{
	text-align: left;
}

.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: .2rem solid #FF8234;
	background: #fff;
}
.faq_list dl dt{
	display: flex;
	align-items: center;
	min-height: 7.2rem;
	padding: 1.8rem 5.2rem 1.8rem 7.2rem;
	background:url(../img/top/faq_open.svg)no-repeat right 1.6rem center #FF8234;
	background-size: 2rem auto;
	position: relative;
	z-index: 2;
	cursor: pointer;
	font-size: 1.8rem;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: .04em;
	color: #fff;
}
.faq_list dl dt.is_active{
	background:url(../img/top/faq_close.svg)no-repeat right 1.6rem center #FF8234;
	background-size: 2rem auto;
}
.faq_list dl dt:before{
	content: 'Q';
	font-family: "Montserrat", serif;
	font-weight: 700;
	font-size: 2rem;
	position: absolute;
	left: 1.6rem;
	top: 50%;
	transform: translateY(-50%);
	color: #FF8234;
	background: #fff;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.faq_list dl dd{
	display: none;
	font-size: 1.4rem;
	line-height: 1.7;
	font-weight: 400;
	padding: 2rem 1.6rem;
}
.faq_list dl dd .cont{
	position: relative;
	padding-left: 5.6rem;
	display: flex;
	align-items: center;
	min-height: 5rem;
}
.faq_list dl dd .cont:before{
	content: 'A';
	font-family: "Montserrat", serif;
	font-weight: 700;
	font-size: 2.4rem;
	position: absolute;
	left: 0;
	top: .4rem;
	color: #fff;
	background: #FF8234;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.top_faq_btn{
	margin-top: 4rem;
	text-align: center;
}


.common_bottom{
}
.common_bottom .inner02{
	padding: 0;
}
.common_bottom_list{
	display: grid;
}
.common_bottom_list a{
	display: block;
	position: relative;
	color: #fff;
}
.common_bottom_list .img_box{
	padding-top: 53.3%;
}
.common_bottom_list .img_box:after{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    background: #FF823480;
}
.common_bottom_list li+li .img_box:after{
	background: #4D4D4D80;
}
.common_bottom_list li+li .img_box img{
	object-position: center 15%;
}

.common_bottom_hd{
	position: absolute;
	left: 2.4rem;
	right: 2.4rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	grid-gap: 1.6rem;
	background: url(../img/common/arrow_hd.svg)no-repeat right bottom;
	background-size: 5.6rem auto;
}
.common_bottom_hd_jap{
	display: flex;
	flex-direction: column;
	grid-gap: 1.6rem;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1;
}
.common_bottom_hd_jap:after{
	content: '';
	width: 4rem;
	height: 2px;
	background: #fff;
}
.common_bottom_hd_eng{
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 700;
	font-style: italic;
	letter-spacing: .2em;
	text-transform: uppercase;
}

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: #FBB03B;
  color: #4D6282;
  border-radius: 4rem;

  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_hd_box{
	text-align: center;
}
.modal_hd_box .hd_medium{
	padding-left: 0;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.modal_hd_box .hd_medium img{
	position: static;
}
.modal_hd_box .hd_medium p:nth-of-type(2){
	width: 100%;
}
.modal_hd_box .hd_medium p:nth-of-type(2) span:last-child {
    font-weight: 400;
    font-style: normal;
}
.modal_employee_top{
	display: grid;
	grid-gap: 1.6rem;
	margin: 4rem 0 0;
	border-radius: 4rem 4rem 0 0;
	background-color: #fff;
	padding: 2.4rem 1.6rem;
}
.modal_employee_top dt{
}
.modal_employee_top dd{
}
.modal_employee_top dd img{
	border-radius: 1.6rem;
}
.modal_employee_position{
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .08em;
	color: #FF8234;
	line-height: 1;
	margin-bottom: 1.6rem;
	text-align: center;
}
.modal_employee_intro{
	font-size: 1.8rem;
	line-height: 1.6;
	letter-spacing: .08em;
	margin-bottom: 2.4rem;
}
.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_name font br{
	display: none;
}

.modal_employee_cont{
	background-color: #fff;
	padding: 2.4rem 1.6rem;
	border-radius: 0 0 4rem 4rem;
	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;
	display: flex;
	align-items: center;
	grid-gap: 1.6rem;
}
.modal_employee_cont_title:before{
	content: 'Q';
	font-family: "Poppins", serif;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 3.2rem;
	width: 3.2rem;
	height: 3.2rem;
	background: #FF8234;
	color: #fff;
	border-radius: 50%;
	font-size: 1.8rem;
	padding-left: .1rem;
}
.modal_employee_cont_text{
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: .03em;
}
.modal_employee_cont dd img{
	border-radius: 1.6rem;
}


/*work*/
.work_wrap{
	background: url(../img/work/bg_sec01_sp.png)no-repeat left top -69rem;
	background-size: 100% auto;
}
.work_sec01{
	padding: 6rem 0 8rem;
	background: #fff;
}
.work_sec01 .inner{
	padding: 0 2.4rem;
}
.work_sec01_dl01{
	margin: 0 -2.4rem 2.4rem;
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	grid-gap: 1.5rem;
}
.work_sec01_dl01 dt{
	width: 13rem;
	border-radius: 1.2rem;
	overflow: hidden;
}
.work_sec01_dl01 dt img{
	height: 17.3rem;
	object-fit: cover;
}
.work_sec01_dl01 dd{
	width: 24.5rem;
	border-radius: 1.2rem;
	overflow: hidden;
}
.work_sec01_dl02{
	display: flex;
	justify-content: center;
	grid-gap: 1.5rem;
	margin: 2.4rem -2.4rem 0;
}
.work_sec01_dl02 dt{
	width: 24.5rem;
	border-radius: 1.2rem;
	overflow: hidden;
}
.work_sec01_dl02 dt img{
	height: 17.3rem;
	object-fit: cover;
}
.work_sec01_dl02 dd{
	width: 13rem;
	border-radius: 1.2rem;
	overflow: hidden;
}
.is_row.hd_medium{
	padding-left: 0;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	text-align: center;
	grid-gap: .8rem 1.6rem;
	width: 100%;
}
.is_row.hd_medium img{
	position: static;
}
.is_row.hd_medium p:nth-of-type(2){
	width: 100%;
}
.is_row.hd_medium p:nth-of-type(2) span:last-child {
    font-weight: 400;
    font-style: normal;
}
.work_sec01 .hd_medium p:nth-of-type(2){
	font-size: 1.5rem;
	letter-spacing: .1em;
}
.work_sec01_sub{
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	margin: 4rem auto 0;
	text-align: left;
}
.work_sec01_sub+.top_about_text{
	margin-top: 1.6rem;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: .03em;
	text-align: left;
}
.work_sec01 .loop_text{
	margin-top: 4.8rem;
	background: url(../img/work/loop_text.svg) repeat-x left center/auto 100%;
	height: 9.1rem;
}

.work_sec02{
	padding: 0 0 8rem;
}
.work_sec02_list{
	background: linear-gradient(to right, transparent, transparent .4rem, #FBB03B .4rem, #FBB03B 100%) center center repeat, 
	linear-gradient(to bottom, #F6C26F, #F6C26F .4rem, #FBB03B .4rem, #FBB03B 100%) center center repeat;
    background-size: 2.4rem .4rem, .4rem 2.4rem;
	border-radius: 4rem 4rem 0 0;
	padding: 4rem 1.6rem;
	margin: 0 -1.6rem;
	text-align: center;
}
.work_sec02_list:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: -3.8rem;
	width: 100%;
	height: 5rem;
	z-index: 2;
	background: url(../img/top/wave_white.png)no-repeat right center;
	background-size: auto 100%;
}
.work_sec02_list ul{
	margin-top: 4rem;
	display: grid;
	grid-gap: 2.4rem;
}
.work_sec02_list li{
	padding: 1.6rem;
	background-color: #fff;
	border-radius: 2.4rem;
}
.work_sec02_list .img_box{
	padding-top: 61.3%;
	border-radius: 1.6rem;
}
.work_sec02_list .place{
	text-align: left;
	font-size: 1.4rem;
	line-height: 1;
	color: #FF8234;
	padding-bottom: .6rem;
	border-bottom: 2px solid #FF8234;
	margin: 2.4rem 0 1.6rem;
}
.work_sec02_list .place span{
	font-size: 3.2rem;
}
.work_sec02_list .place font{
	font-size: 3.2rem;
	line-height: 1;
	letter-spacing: .1em;
	font-style: italic;
	margin-right: 2.4rem;
	font-weight: 800;
	display: inline-block;
}
.work_sec02_list .text{
	text-align: left;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: .03em;
}

/*charm*/
#charm #wrapper{
	overflow: visible;
}
.charm_wrap{
}
.charm_sec01{
	padding: 6rem 0 0;
}
.charm_sec01 .inner02{
	padding: 0;
}
.charm_box{
	background: linear-gradient(to right, transparent, transparent .3rem, #FBB03B .3rem, #FBB03B 100%) center top repeat, 
	linear-gradient(to bottom, #FCA239, #FCA239 .3rem, #FBB03B .3rem, #FBB03B 100%) center top repeat;
    background-size: 1.2rem .3rem, .3rem 1.2rem;
	border-top-left-radius: 8rem;
	color: #fff;
	padding: 4rem 2.4rem 16rem;
	position: relative;
}
.charm_box:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: -2.6rem;
	width: 100%;
	height: 5rem;
	z-index: 2;
	background: url(../img/top/wave_white.png)no-repeat right center;
	background-size: auto 100%;
}
.charm_sec01_list{
	margin-top: 4rem;
}
.charm_sec01_list li{
	position: sticky;
	top: 10rem;
	border-radius: 4rem 4rem 0 0;
	background: linear-gradient(to right, transparent, transparent .3rem, #FBB03B .3rem, #FBB03B 100%) center top repeat, 
	linear-gradient(to bottom, #FCA239, #FCA239 .3rem, #FBB03B .3rem, #FBB03B 100%) center top repeat;
    background-size: 1.2rem .4rem, .4rem 1.2rem;
	border: .2rem solid #fff;
	border-bottom: 0;
	padding: 2.2rem 2.2rem 4rem;
	margin-bottom: -4rem;
	display: block;
}
.charm_sec01_list li:last-of-type{
	border-bottom: .2rem solid #fff;
}
.charm_sec01_list_img{
	margin-bottom: 2.4rem;
}
.charm_sec01_list_img img{
	border-radius: 2.4rem;
}
.charm_sec01_list_cont{
}
.charm_sec01_list .img_box{
	padding-top: 66%;
}
.charm_sec01_list .title{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	grid-gap: .8rem;
	padding-bottom: 1.6rem;
	border-bottom: .2rem solid #fff;
	margin-bottom: 1.6rem;
}
.charm_sec01_list .title span{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 5.1rem;
	height: 2.7rem;
	border-radius: 1.2rem;
	color: #FF8234;
	background-color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
}
.charm_sec01_list .title p{
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: 700;
	color: #fff;
}
.charm_sec01_list .text{
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: 700;
	letter-spacing: .03em;
	padding-bottom: 2rem;
}

.charm_sec02{
	position: relative;
	z-index: 3;
	padding: 8rem 0;
	text-align: center;
	background: linear-gradient(to right, transparent, transparent .4rem, #fff .4rem, #fff 100%) center top repeat, 
	linear-gradient(to bottom, #EBEBEB, #EBEBEB .4rem, #fff .4rem, #fff 100%) center top repeat;
    background-size: 2.4rem .4rem, .4rem 2.4rem;
}
.charm_sec02 .inner02{
	padding: 0;
}
.charm_sec02_list{
	margin: 4rem .8rem 0;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: .8rem;
}
.charm_sec02_list li{
	padding: 1.9rem .8rem;
	text-align: center;
	border-radius: 2.4rem;
	background-color: #FEF3E2;
}
.charm_sec02_list_title{
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: .08em;
	color: #0F2B52;
} 
.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: 1.6rem .8rem 0;
	padding: 1.6rem .8rem;
	text-align: center;
	border-radius: 2.4rem;
	background-color: #FEF3E2;
}
.charm_sec02_bottom_list{
	margin-top: 2.6rem;
	text-align: left;
	display: grid;
	grid-gap: 1.6rem;
}
.charm_sec02_bottom_list li{
	padding-bottom: 1.6rem;
	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: #FF8234;
	line-height: 1.3;
	letter-spacing: .08em;
	margin-bottom: .8rem;
}
.charm_sec02_bottom_list dd{
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 400;
	letter-spacing: .03em;
}

.charm_sec03{
	padding: 8rem 0;
	text-align: center;
}
.charm_sec03 .hd_medium img{
	height: 4rem;
}
.charm_sec03 .hd_medium p:nth-of-type(1){
	font-size: 4rem;
}
.charm_sec03 .hd_medium p:nth-of-type(2){
	font-size: 2.4rem;
}
.charm_sec03 .is_row.hd_medium p:nth-of-type(2) span:last-child {
    font-weight: 700;
    font-style: italic;
}
.charm_sec03_list{
	text-align: left;
	display: grid;
	grid-gap: 4.8rem;
	margin-top: 4rem;
}
.charm_sec03_list li{
	border-radius: 2.4rem;
	position: relative;
	padding: 2.4rem;
	background-color: #FF8234;
	color: #fff;
}
.charm_sec03_list li:before{
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	height: 4.8rem;
	background: url(../img/charm/icon_before.svg)no-repeat center center;
	background-size: auto 3.4rem;
}
.charm_sec03_list li:last-of-type:before{
	content: none;
}

.charm_sec03_list dl{
}
.charm_sec03_list dt{
	width: 20rem;
	margin: 0 auto 3.6rem;
	display: grid;
	text-align: center;
	grid-gap: .4rem;
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: .03em;
}
.charm_sec03_list dd{
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: .03em;
}
.charm_sec03_list dt span{
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: .03em;
	color: #FF8234;
	background-color: #fff;
	padding: .8rem 1.6rem;
	text-align: center;
	border-radius: 1.6rem;
}


/*employee*/
.employee_wrap{
	padding: 6rem 0 8rem;
	background: url(../img/employee/bg_sec01_sp.png)no-repeat left top -57rem;
	background-size: 100% auto;
}
.employee_categ{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 4rem;
	grid-gap: .8rem 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: 4rem;
	border: 1px solid #FF8234;
	background-color: #fff;
}
.employee_categ a.is_active{
	background-color: #FF8234;
	color: #fff;
	pointer-events: none;
}

.employee_list{
	display: grid;
	grid-gap: 1.6rem;
}
.employee_list li a{
	height: 100%;
	background-color: #fff;
	display: block;
	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: .8rem;
}
.employee_list .position span{
	font-size: 1.8rem;
	font-weight: 700;
	color: #FF8234;
	margin-right: .8rem;
}
.employee_list .name{
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 400;
	letter-spacing: .03em;
	padding-bottom: .8rem;
	border-bottom: 2px solid #FF8234;
	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 numbers grid override */
.top_numbers_list{
	margin: 2.4rem -2.4rem 0;
	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;
}
.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: #FF8234;
}

.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_career {
	border-color: #00009A;
}

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