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

.pc{display: none!important;}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
	overflow: hidden;
	width: 100%;
	padding-top: 6rem;
}
.menuOpen{
	overflow: hidden;
	height: 100dvh;
}
.menuOpen #wrapper{
	position: fixed;
}
.overlay{
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100dvh;
	background: none;
	z-index: 97;
	text-indent: -999rem;
	pointer-events: auto;
}

.inner,
.inner02 {
	margin: 0 auto;
	width: 100%;
	max-width: 130rem;
	padding: 0 1.7rem;
	position: relative;
	z-index: 3;
}
.inner02 {
	max-width: 110rem;
}
/* !header
---------------------------------------------------------- */
#header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 98;
	width: 100%;
	transition: background .3s;
}
#header.is_fixed{
	background: #fff;
}
#headerIn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 1.7rem;
	height: 6rem;
}
#headerLogo{
	position: relative;
	z-index: 999;
	width: 20rem;
}


.btnMenu {
	position: fixed;
	right: 1.7rem;
	top: 1rem;
	z-index: 99;
}
.btnMenu a {
  display: block;
  width: 4rem;
  height: 4rem;
  box-sizing: border-box;
  position: relative;
  border-radius: 50%;
  background-color: #000000;
}

.btnMenu a span {
  display: block;
  background: #fff;
  width: 2rem;
  height: 1px;
  position: absolute;
  left: 1rem;
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
}

.btnMenu a span:first-child {
	top: 1.3rem;
}

.btnMenu a span:nth-child(2) {
	margin-top: -1px;
	top: 50%;
}

.btnMenu a span:last-child {
  bottom: 1.3rem;
}

	
.btnMenu.active a span:first-child {
  -webkit-transform: translateY(.6rem) rotate(45deg);
  -moz-transform: translateY(.6rem) rotate(45deg);
  -ms-transform: translateY(.6rem) rotate(45deg);
  transform: translateY(.6rem) rotate(45deg);
}

.btnMenu.active a span:nth-child(2) {
  opacity: 0;
}

.btnMenu.active a span:last-child {
  -webkit-transform: translateY(-.7rem) rotate(-45deg);
  -moz-transform: translateY(-.7rem) rotate(-45deg);
  -ms-transform: translateY(-.7rem) rotate(-45deg);
  transform: translateY(-.7rem) rotate(-45deg);
}


/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
    width: 100%;
    padding: 1.7rem 0 0;
	font-size: 1rem;
}

#breadcrumb ul {
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-start;
}

#breadcrumb ul li {
  word-break: keep-all;
  white-space: nowrap;
  position: relative;
  color: #666;
  font-size: 1rem;
  letter-spacing: .1em;
}

#breadcrumb ul li + li:before {
  content: '-';
  z-index: 2;
  width: 1.2em;
  padding-left: .5em;
  text-align: center;
  display: inline-block;
  text-indent: 0;
  color: #000;
}

#breadcrumb ul li + li {
  padding-left: 1.2em;
  text-indent: -1.2em;
}

#breadcrumb ul li:last-child {
  word-break: break-all;
  white-space: unset;
}

#breadcrumb ul li a{
  text-indent: 0;
  color: #000;
  text-decoration: underline;
}
#breadcrumb ul li a:hover{
	text-decoration: none;
	opacity: 1;
}

/* !gNavi
---------------------------------------------------------- */
#gNavi {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100dvh;
	z-index: 98;
	box-sizing: border-box;
	padding: 9rem 1.7rem 8rem;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s,right .3s;

	background: rgba(255,255,255,.95);
	text-align: center;
}
#gNavi.active{
    opacity: 1;
    pointer-events: auto;
}	
.nav_list01{
	border-top: 1px solid;
	max-width: 22rem;
	margin: 0 auto;
}
.nav_list01 li a{
	font-size: 1.8rem;
	letter-spacing: .42em;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 5.7rem;
	white-space: nowrap;
	position: relative;
	border-bottom: 1px solid;
}
.nav_list02{
	grid-gap: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 3.8rem 0 2rem;
}
.nav_list02 li{
	width: 3.2rem;
}
.nav_contact{
	text-align: center;
}
.nav_contact a{
	border-radius: .8rem;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 22rem;
	height: 5rem;
	color: #fff;
	background: #FF5428;
	letter-spacing: .1em;
	font-size: 2rem;
	font-weight: 500;
}

/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	margin-top: -6rem;
	height: 61.7rem;
	padding-top: 18.3rem;
	position: relative;
}
#mainVisual:before{
	content: '';
	position: absolute;
	z-index: -1;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: url(../img/top/bg_mv.png)no-repeat bottom center;
	background-size: 100% 23.54vw;

	 clip-path: inset(0 100% 0 0);
  	animation: fadeInLeft02 2s .6s forwards;
}
@keyframes fadeInLeft02 {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 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);
  }
}
.fadeIn{
	animation-duration: 1.5s!important;
}
#mainVisual .fadeIn{
	animation-delay: 1.6s;
}
#mainVisual .icon_people.fadeIn{
	animation-delay: 2.4s;
}
#mainVisual .inner{
	z-index: 9;
}
.mv_scroll{
	display: none;
}

.mv_img03{
	position: absolute;
	left: 9.4rem;
	bottom: 2rem;
	width: 26.3rem;
	z-index: 1;
}

.icon_people{
	position: absolute;
	z-index: 2;
}
.mv_people01{
	width: 3.7rem;
	left: 3.1rem;
	top: 8.45rem;
}
.mv_people02{
	width: 3.62rem;
	left: 12rem;
	top: 5.8rem;
}
.mv_people03{
	width: 7.9rem;
	right: 5.68rem;
	top: 7.4rem;
}
.mv_people05{
	width: 6rem;
	right: 4.3rem;
	top: 32.2rem;
}
.mv_people06{
	bottom: 11.6rem;
	width: 8.3rem;
	left: 1.75rem;
}

.mv_eng{
	margin-bottom: .6rem;
	font-size: 3.2rem;
	letter-spacing: .05em;
}
.mv_eng span{
	color: #FFA100;
}
.mv_ttl{
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.22;
	color: #FFA100;
	margin-bottom: 1rem;
}
.mv_txt{
	font-size: 1.4rem;
	letter-spacing: .15em;
	line-height: 1.71;
}

/* !teaser
---------------------------------------------------------- */
#teaser {
	background: #FDF9F3;
	position: relative;
	height: 18rem;
}
.teaser_img{
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
	height: 100%;
	max-width: 19rem;
}
.teaser_img img{
	max-width: none;
	height: 100%;
}
.teaser_hd{
	padding: 5.7rem 0 0;
}
.teaser_hd .eng{
	display: block;
	font-size: .8rem;
	line-height: 1.2;
	letter-spacing: .1em;
	opacity: .4;
	margin-bottom: .7rem;
}
.teaser_hd .jap{
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: .12em;
	margin-bottom: .9rem;
}
.teaser_hd:after{
	content: '';
	display: block;
	width: 6rem;
	height: .2rem;
	background: url(../img/common/line_teaser.png)no-repeat;
	background-size: 100% 100%;
}

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

#main {
	
}

#side {
	
}

.inner {
	
}

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

/* !footer
---------------------------------------------------------- */
.common_bottom{
	background: #FFA100;
	color: #fff;
	text-align: center;
	padding: 4.3rem 0 5rem;
}
.common_bottom_ttl{
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: .15em;
	margin-bottom: 2.8rem;
}
.common_bottom_btn{
	display: grid;
	grid-gap: 2rem;
}
.common_bottom_btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 8rem;
	border-radius: 6rem;
	border: 2px solid #fff;
	color: #fff;
}
.btn_target span{
	padding-right: 4rem;
	background: url(../img/common/icon_target.svg)no-repeat right center;
	background-size: 3rem auto;
	font-size: 1.6rem;
	line-height: 3rem;
	font-weight: 500;
	letter-spacing: .15em;
}
.btn_tel span{
	padding-left: 3.8rem;
	background: url(../img/common/icon_tel.svg)no-repeat left center;
	background-size: 2.8rem auto;
	font-size: 2.4rem;
	letter-spacing: .12em;
}

#footer {
	position: relative;
	background: #333333;
	color: #fff;
	padding-bottom: 2rem;
}
#footer a{
	color: #fff;
}
#footer .footerIn {
	padding-top: 5.5rem;
}
#footer .footerIn:before{
	content: '';
	position: absolute;
	left: 4rem;
	top: -3.6rem;
	width: 7.3rem;
	height: 5.6rem;
	background: url(../img/common/people_footer.svg)no-repeat center center;
	background-size: 100% auto;
	z-index: 3;
}
.footer_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 1.8rem 0;
	text-align: center;
	margin-bottom: 6rem;
}
.footer_list li{
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.1;
	border-left: 2px solid #fff;
	border-right: 2px solid #fff;
}
.footer_list li:nth-of-type(even){
	margin-left: -2px;
}
.footer_list li a{
	font-size: 1.6rem;
	line-height: 1.1;
	letter-spacing: .42em;
}
.footer_list li:last-of-type a{
	letter-spacing: .04em;
}

.footer_cont{
	justify-content: space-between;
}
.footer_left{
	margin-bottom: 5.5rem;
}
.footer_right{
}
.footer_logo{
	margin-bottom: .6rem;
}
.footer_addr{
	font-size: 1.07rem;
	letter-spacing: .1em;
	margin-bottom: 2.5rem;
}
.footer_time{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 2rem;
}
.footer_time li{
	font-size: 1.07rem;
	line-height: 2;
	letter-spacing: .05em;
}

.footer_right_link a{
	font-size: 1.4rem;
	letter-spacing: .1em;
	border-bottom: 1px solid;
	display: inline-block;
	margin-bottom: 2rem;
}
.footer_right_box{
	display: grid;
	grid-gap: 2rem;
}
.footer_right_box ul a{
	border-radius: .4rem;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
.store_list{
	display: grid;
	grid-gap: 1rem;
}
.store_list a{
}
.company_list{
	display: grid;
	grid-gap: 1rem;
}
	
.copyright {
	text-align: center;
	font-size: .8rem;
	letter-spacing: .15em;
	margin-top: 2.8rem;
}

/* !h(n)eading
---------------------------------------------------------- */
.hdL {
	
}

.hdM {
	
}

.hdS {
	
}

.hd01 {
	
}



/* !list
---------------------------------------------------------- */
.list01 {
	
}

/* !table
---------------------------------------------------------- */
.table01 {
	
}


/*contact*/
.thanks_wrap{
	padding: 4.5rem 0;
	text-align: center;
}
.thanks_p01{
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .12em;
	margin-bottom: 2.5rem;
}
.thanks_p02{
	font-size: 1.2rem;
	letter-spacing: .15em;
	color: #006BB4;
	margin-bottom: 1rem;
}
.thanks_p03 img{
	width: 60rem;
}
.thanks_p04{
	font-size: 1.4rem;
	line-height: 1.71;
	letter-spacing: .15em;
	margin: 2rem 0 2.5rem;
}
.thanks_p05{
	text-align: center;
}
.btn_link01{
	display: inline-flex;
	align-items: center;
    width: 18.4rem;
    height: 5rem;
    border-radius: 7rem;
    font-size: 1.4rem;
    letter-spacing: .15em;
    font-weight: bold;
    color: #006BB4;
    border: 1px solid currentColor;
    box-shadow: none;
    position: relative;
    z-index: 9;
    background: url(../img/common/arrow_right_bg_blue.svg)no-repeat right 1.9rem center #fff;
    background-size: 3rem auto;
    transition: opacity .5s;
    padding: 0 2rem;
    text-align: left;
}


/*company*/
.company_wrap{
	padding: 4.5rem 0;
}
.company_item+.company_item{
	margin-top: 5rem;
}
.company_item_hd{
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: .12em;
	margin-bottom: 3rem;
}
.company_item_hd span{
	display: inline-block;
	border-bottom: 2px solid #FFA100;
}
.company_table{
	width: 100%;
	border-top: 1px solid #CCCCCC;
}
.company_table th,
.company_table td{
	display: block;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.71;
	letter-spacing: .15em;
	vertical-align: top;
	border-bottom: 1px solid #CCCCCC;
	padding: 0 1.5rem 1.4rem;
}
.company_table th{
	font-size: 1.4rem;
	padding: 1.4rem 1.5rem .8rem;
	border-bottom: 0;
}
.company_table tr:nth-of-type(even){
	background: #FAF2E6;
}


/*recruit*/
.recruit_message{
	background: url(../img/recruit/bg_recruit.jpg) no-repeat right -26rem top;
	background-size: auto 180%;
	min-height: 30rem;
	padding: 6rem 0 30rem;
	margin-bottom: 5rem;
	position: relative;
}
.recruit_message_eng{
	font-size: 1.4rem;
	letter-spacing: .1em;
	margin-bottom: 1.3rem;
}
.recruit_message_jap{
	font-size: 2.6rem;
	letter-spacing: .12em;
	font-weight: 500;
	margin-bottom: 1.6rem;
	color: #fff;
}
.common_txt,
.common_txt p{
	font-size: 1.4rem;
	letter-spacing: .15em;
	line-height: 1.71;
}
.common_txt p+p{
	margin-top: 2.4rem;
}
.recruit_note{
	margin-top: 2rem;
}

/*news*/
.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;
}

.news_wrap{
	padding: 5rem 0;
}

.news_categ{
	flex-wrap: wrap;
	display: flex;
	justify-content: center;
	grid-gap: 1rem;
	margin-bottom: 3rem;
}
.news_categ a{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 1.2rem;
	font-size: 1.2rem;
	letter-spacing: .15em;
	background: #FFA100;
	border-radius: 2rem;
	height: 2.2rem;
}
.news_categ a.is_active{
	pointer-events: none;
}

ul.news_list{
	max-width: 24rem;
	/*max-width: 30rem;*/
	margin: 0 auto;
	display: grid;
	grid-gap: 1.7rem;
}
.news_list_item a{
	opacity: 1!important;
	display: block;
	border-radius: 2rem;
	background: #FFD999;
	overflow: hidden;
}
.news_list_item .img_box{
	padding-top: 67.5%;
	background: #F7F7F7;
}
.news_list_item .cont{
	padding: 2rem 2rem;
}
.news_list_item .row{
	display: flex;
	justify-content: space-between;
}
.categ_span{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 1rem;
	font-size: 1.1rem;
	letter-spacing: .1em;
	background: #FFA100;
	border-radius: 2rem;
	height: 2.2rem;
}
.news_list_item .date{
	font-size: 1.4rem;
	letter-spacing: .15em;
	vertical-align: middle;
}
.news_list_item .txt{
	margin-top: .7rem;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: .15em;
	font-weight: 500;
	min-height: 3em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-all;
}
/* !wp-pagenavi
---------------------------------------------------------- */
.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: 1.2rem;
    width: 100%;
    margin: 4rem auto 0;
    position: relative;
    padding: 0;
    text-align: center;
}

.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages {
    display: none;
}

.wp-pagenavi a, 
.wp-pagenavi span {
    border: 0;
    padding: 0;
    margin: 0;
}

.wp-pagenavi a, 
.wp-pagenavi .current {
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 50%;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .5s;
    color: #fff;
    background: #FFD999;
}

.wp-pagenavi a:hover,
.wp-pagenavi .current {
    color: #fff;
    background: #FFA100;
    opacity: 1;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    font-style: normal;
    font-size: 0;
    background: url(../img/common/arrow_right_black.svg)no-repeat center center;
    background-size: 2rem auto;
}
.wp-pagenavi .previouspostslink{
	transform: rotate(180deg);
}

/*pager*/
.pager_wrap {
  max-width: 33rem;
  margin: 3rem auto 0;
}
.pager_wrap ul {
  position: relative;
  display: flex;
  justify-content: center;
}
.pager_wrap ul li a:hover {
  opacity: 0.7;
  text-decoration: none;
}
.pager_wrap ul .list a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 0;
  text-decoration: underline;
  font-size: 1.6rem;
  letter-spacing: .05em;
  font-weight: 500;
  text-align: center;
  margin: auto;
  opacity: 1!important;
}
.pager_wrap ul .prev a, .pager_wrap ul .next a{
  position: absolute;
  top: 0;
  bottom: auto;
  margin: auto;
}
.pager_wrap ul .prev a, .pager_wrap ul .next a {
  display: inline-flex;
  align-items: center;
  width: 3rem;
  height: 2.4rem;
  font-size: 0;


  box-sizing: border-box;
}

.pager_wrap ul .prev a{
  left: 0;
	background: url(../img/common/arrow_right_black.svg)no-repeat center center;
	background-size: 2rem auto;
	transform: rotate(180deg);
}
.pager_wrap ul .prev a::before {
  border-right: 0 solid #0b0b0b;
}
.pager_wrap ul .next a{
  right: 0;
	background: url(../img/common/arrow_right_black.svg)no-repeat center center;
	background-size: 2rem auto;
}

.news_detail_top{
	display: flex;
	align-items: center;
	grid-gap: 1.5rem;
	margin-bottom: 3rem;
}
.news_detail_top .date{
	font-size: 1.4rem;
	letter-spacing: .15em;
	font-weight: 500;
}
.is_new .news_detail_top .date:before{
	content: 'NEW';
	margin-right: .4em;
	color: #FF333C;
}

.news_detail_hd{
	font-size: 2.4rem;
	line-height: 1.125;
	letter-spacing: .15em;
	font-weight: 500;
	margin-bottom: 2.5rem;
	word-break: break-all;
}

.news_detail_cont h2{
	display: inline-block;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .12em;
	border-bottom: 2px solid #FFD999;
	padding-bottom: .6rem;
	margin: 3rem 0 2.4rem;
}
.news_detail_cont h2 strong{
	font-weight: bold;
}
.news_detail_cont h3{
	font-size: 1.8rem;
	line-height: 1.1;
	font-weight: 500;
	letter-spacing: .12em;
	border-left: .4rem solid #FFA100;
	padding-left: 1.7rem;
	margin-bottom: 2.4rem;
}
.news_detail_cont h4{
	font-size: 1.6rem;
	line-height: 1.1;
	font-weight: 500;
	letter-spacing: .05em;
	margin-bottom: 2.4rem;
}
.news_detail_cont h4:before{
	content: '';
	display: inline-block;
	width: .8rem;
	height: .8rem;
	background: currentColor;
	vertical-align: middle;
	margin-right: 1.3rem;
}
.news_detail_cont ul,
.news_detail_cont ol{
	padding-left: 1.5em;
	margin-bottom: 2.4rem;
}
.news_detail_cont ul li{
	list-style: disc;
}
.news_detail_cont ol li{
	list-style: number;
}

.news_detail_cont strong{
	font-weight: 500;
}
.line_through{
	text-decoration: line-through;
}

.news_detail_cont p{
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: .15em;
  line-height: 1.71;
}
.news_detail_cont p+p{
  margin-top: 2.4rem;
}
.news_detail_cont figure{
  display: block;
  margin: 0;
}
.news_detail_cont figure img{
  border-radius: 1rem;
}
.news_detail_cont figure+figure,
.news_detail_cont p+figure,
.news_detail_cont figure+p{
  margin-top: 2.4rem;
}
.news_detail_cont a{
  border-bottom: 1px solid;
  color: #005CB9;
}
.news_detail_cont a:hover{
  border-bottom: 1px solid transparent;
  opacity: 1;
}


/*service*/
.service_sec01{
	padding: 4.5rem 0;
}
.service_list{
	display: grid;
	grid-gap: 2rem;
}
.service_list li{
	border-radius: 2rem;
	overflow: hidden;
	text-align: center;
	background: #FFD999;
}
.service_list li.is_link{
	background: #FFC766;
}
.service_list .img_box{
	padding-top: 28.4rem;
	padding-top: 83.5%;
}
.service_list .cont{
	padding: 3rem 2rem;
}
.service_list .ttl{
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.41;
	letter-spacing: .12em;
	margin-bottom: 1.2rem;
}
.service_list .txt{
	font-size: 1.4rem;
	line-height: 1.71;
	letter-spacing: .075em;
	text-align: left;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	max-height: 14.5rem;
}

.service_list .txt::-webkit-scrollbar {
	width: .6rem;
}
.service_list .txt::-webkit-scrollbar-track {
  background: #fff;
}
.service_list .txt::-webkit-scrollbar-thumb {
  background: #666;
}

.service_list .txt p + p {
	margin-top: 1.71em;
}
.service_list .btn{
	margin-top: 1.4rem;
}

.btn_target02{
	background: #fff;
	border: 1px solid currentColor;
	height: 5rem;
	width: auto;
	color: #FFA100;
	padding: 0 2rem;
	justify-content: center;
}
.btn_target02 span{
	padding-right: 5rem;
	background: url(../img/common/icon_target02.svg)no-repeat right center;
	background-size: 3rem auto;
	font-size: 1.4rem;
	line-height: 3rem;
	letter-spacing: .15em;
	font-weight: 400;
}

.service_sec02{
	background: #FAF2E6;
	padding: 4.5rem 0;
}
.service_sec02_p01{
	margin-bottom: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .12em;
}
.service_list02{
	display: grid;
	grid-gap: 2rem;
}
.service_list02 li{
	border-radius: 2rem;
	overflow: hidden;
	text-align: center;
	background: #fff;
}
.service_list02 .img_box{
	padding-top: 31.4rem;
}
.service_list02 .cont{
	padding: 3rem 2rem;
}
.service_list02 .ttl{
	font-size: 2rem;
	line-height: 1.41;
	letter-spacing: .12em;
	margin-bottom: 1.2rem;
}
.service_list02 .txt{
	font-size: 1.4rem;
	line-height: 1.71;
	letter-spacing: .075em;
}
.service_pay{
	margin-top: 4rem;
	padding: 3.8rem 3rem;
	background: #fff;
	text-align: center;
}

.service_pay_hd {
	margin-bottom: 3.6rem;
}

.service_pay_hd span{
	display: block;
	border-top: 2px solid #333333;
	border-bottom: 2px solid #333333;
	padding: 1.5rem 0;
	font-size: 2rem;
	line-height: 1.6;
	letter-spacing: .12em;
}

.service_pay_item {
	margin-bottom: 3rem;
}

.service_pay_title {
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: 500;
	margin-bottom: 2rem;
}

.service_pay_list{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	grid-gap: 2rem 4rem;
	text-align: center;
}
.service_pay_list li img{
	width: auto;
	max-width: none;
	height: 5rem;
}

.service_pay_note{
	margin: 2rem -2rem 0;
	font-size: 1.6rem;
	letter-spacing: .12em;
}

.service_banner{
	background: #FFA100;
	color: #fff;
	padding: 3rem 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	grid-gap: 2rem;
}
.service_banner_txt{
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .15em;
}
.service_banner_btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 7rem;
    border-radius: 6rem;
    border: .2rem solid #fff;
    color: #fff;
    padding: 0 2.5rem;
}
.service_banner_btn .btn_target span{
	font-size: 1.6rem;
}

.service_sec03{
	padding: 4.5rem 0;
}
.service_sec03_list{
	display: grid;
	grid-gap: 2rem;
}
.service_sec03_list li{
	border-radius: 2rem;
	background: #FAF2E6;
	position: relative;
	text-align: center;
}
.service_sec03_list li+li:before{
	content: '';
	position: absolute;
	left: 50%;
	top: -1rem;
	z-index: 5;
	background: url(../img/common/arrow_down.svg)no-repeat center center #B2E9F6;
	background-size: 3.2rem auto;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	transform: translate(-50%,-50%);
}
.service_sec03_list .step{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	width: 7rem;
	height: 7rem;
	color: #fff;
	background: #FFA100;
	border-radius: 2rem 0 2rem 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.service_sec03_list .step span{
	font-size: 1rem;
	letter-spacing: .1em;
}
.service_sec03_list .step font{
	font-size: 3.6rem;
	line-height: 1;
	letter-spacing: .1em;
}
.service_sec03_list .icon{
	background: #FFD999;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 18rem;
	padding-top: 2rem;
	border-radius: 2rem 2rem 0 0;
}
.service_sec03_list .icon img{
	height: 8rem;
}
.service_sec03_list .cont{
	padding: 2rem 2rem 3.6rem;
}
.service_sec03_list .ttl{
	font-size: 2.4rem;
	line-height: 1.25;
	font-weight: 500;
	letter-spacing: .12em;
	margin-bottom: 1.2rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.service_sec03_list .txt{
	font-size: 1.4rem;
	letter-spacing: .075em;
}
.service_sec03_note{
	font-size: 1rem;
	letter-spacing: .075em;
	margin: 1.6rem 0 3rem;
}
.service_sec03_list02{
	display: grid;
	grid-gap: 2rem;
}
.service_sec03_list02_item{
	border-radius: 1rem;
	border: 1px solid;
	padding: 1.3rem 1rem 2rem;
}
.service_sec03_list02_item .ttl{
	font-size: 1.8rem;
	letter-spacing: .12em;
	text-align: center;
	margin-bottom: 1rem;
}
.service_sec03_list02_item p{
	display: flex;
	align-items: center;
	font-size: 1.2rem;
	letter-spacing: .05em;
	max-width: 35rem;
	margin: 0 auto;
}
.service_sec03_list02_item ul{
	max-width: 38rem;
	margin: 0 auto;
}
.service_sec03_list02_item li{
	font-size: 1.2rem;
	letter-spacing: .05em;
	padding-left: 1em;
	text-indent: -1em;
}


/*product*/
.product_wrap{
	padding: 4.5rem 0;
}
.product_categ{
	display: flex;
	flex-wrap: wrap;
	grid-gap: 1rem;
}
.product_categ a{
	display: inline-flex;
	align-items: center;
    height: 4rem;
    border-radius: 7rem;
    font-size: 1.4rem;
    letter-spacing: .15em;
    font-weight: bold;
    color: #000;
    border: 1px solid #B2E9F6;
    box-shadow: none;
    position: relative;
    z-index: 9;
    background: url(../img/common/arrow_down.svg)no-repeat right 2rem center #fff;
    background-size: 2.4rem auto;
    transition: opacity .5s;
	padding: 0 5.4rem 0 2rem;
    text-align: left;
}

.product_item{
	padding: 4rem 0;
	background: url(../img/product/bg_odd.jpg)no-repeat bottom center;
	background-size: 100% calc(100% - 10rem);
}
.product_item:nth-of-type(even){
	background: url(../img/product/bg_even.jpg)no-repeat bottom center;
	background-size: 100% calc(100% - 10rem);
}
.product_item_categ{
	position: relative;
	margin-bottom: 4rem;
}
.product_item_categ_bg{
	padding-top: 12rem;
}
.product_item_categ span{
	color: #fff;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 9;
	white-space: nowrap;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: .12em;
	border-bottom: 2px solid;
}
.product_item_list{
	text-align: center;
	/*padding: 0 5rem;*/
}
.product_item_list_item{
	margin: 0 5rem;
}
.product_item_list a{
	pointer-events: none;
	background: #fff;
	border-radius: 2rem;
	overflow: hidden;
	padding: 2rem 1rem;
	height: 100%;
	display: block;
	opacity: 1!important;
}
.product_item_list .img_box{
	border-radius: 2rem;
	padding-top: 22rem;
	width: calc(100% - 2rem);
	margin: 0 1rem;
}
.product_item_list .ttl{
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .12em;
	margin: 1.6rem 0 1.2rem;
}
.product_item_list .type{
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .12em;
	line-height: 1.33;
	margin-bottom: 1.2rem;
}
.product_item_list .manufacturer{
	font-size: 1.4rem;
	letter-spacing: .15em;
	line-height: 1.71;
}

/*top*/
.top_sec01{
	padding: 8rem 0;
	position: relative;
}
.hd_m{
	margin-bottom: 3rem;
}
.hd_m .eng{
	display: block;
	font-size: 1rem;
	line-height: 1.2;
	letter-spacing: .1em;
	opacity: .4;
	margin-bottom: .3rem;
}
.hd_m .jap{
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: .12em;
	margin-bottom: 1.1rem;
	white-space: nowrap;
}
.hd_m:after{
	content: '';
	display: block;
	width: 3rem;
	height: .1rem;
	background: url(../img/common/line_teaser.png)no-repeat;
	background-size: 100% 100%;
}
.top_wrap .news_list_item{
	margin: 0 5rem;
}

.slidecounter {
	text-align: center;
    margin-top: 1rem;
    font-weight: bold;
}

.top_sec01_btn{
	margin-top: 3rem;
	text-align: center;
}

.top_sec02{
	background: url(../img/top/bg_sec02.jpg)no-repeat center center;
	background-size: cover;
	padding: 3rem 0;
	position: relative;
}
.top_sec02_box{
	border-radius: 1rem;
	background: #fff;
	padding: 4rem 3rem;
	text-align: center;
}
.top_sec02_logo img{
	width: 27.4rem;
}
.top_sec02_txt{
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .15em;
	line-height: 1.75;
	margin: 2.7rem 0 3.5rem;
}
.top_sec02_ttl{
	overflow: hidden;
}
.top_sec02_ttl span{
	position: relative;
	display: inline-block;
	padding: 0 1rem;
	font-size: 1.6rem;
	letter-spacing: .12em;
	color: #006BB4;
}
.top_sec02_ttl span:before,
.top_sec02_ttl span:after{
	content: '';
	position: absolute;
	left: 100%;
	top: 50%;
	width: 100vw;
	height: 2px;
	background: #006BB4;
}
.top_sec02_ttl span:before{
	left: auto;
	right: 100%;
}
.top_sec02_list{
	display: grid;
	grid-gap: 2rem;
	padding: 2rem 0;
	border-bottom: 2px solid #006BB4;
}
.top_sec02_list a{
	display: block;
	border-radius: 2rem;
	box-shadow: 0 0 .5rem rgba(0,0,0,.2);
	background: #fff;
	overflow: hidden;
}
.top_sec02_list a img{
	width: 100%;
}

.top_sec03{
	padding: 8rem 0;
	position: relative;
}
.top_sec03_list{
	display: grid;
	grid-gap: 2rem;
}
.top_sec03_list li{
}
.top_sec03_list a{
	display: block;
	border-radius: 2rem;
	overflow: hidden;
	position: relative;
	/*border: .25rem solid #fff;*/
	opacity: 1!important;
}
.top_sec03_list .img_box{
	padding-top: 8rem;
}
.top_sec03_list .img_box img{
	transform: scale(1)!important;
}
.top_sec03_list .ttl{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/top/arrow_product_no.svg)no-repeat right bottom rgba(250,242,230,.7);
	background-size: 4rem auto;
	z-index: 9;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
	letter-spacing: .12em;
	font-weight: 500;
	transition: all .3s;
}

.top_sec04{
	background: url(../img/top/bg_sec04.png)no-repeat top left #FAF2E6;
	background-size: 20rem auto;
	padding: 2.8rem 0 4rem;
	position: relative;
}
.top_sec04_dl{
	display: grid;
}
.top_sec04_dt{
	margin: 0 -3rem 2rem -.5rem;
}
.top_sec04_dd .ttl{
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: .12em;
	margin: 2.5rem 0 1rem;
}
.top_sec04_dd .btn{
	margin-top: 3rem;
}
.btn_link01.btn_target_blue{
	width: auto;
	padding-right: 7rem;
	background: url(../img/common/icon_target03_no.svg)no-repeat right 2rem center #fff;
	background-size: 3rem auto;
	font-size: 1.4rem;
	letter-spacing: .15em;
	font-weight: 400;
}
.btn_link01.btn_target_blue:hover{
	background: url(../img/common/icon_target03_on.svg)no-repeat right 2rem center #006BB4;
	background-size: 3rem auto;
}

.top_sec04 .service_list{
	margin-top: 5rem;
}
.top_sec04 .service_list_item{
	margin: 0 5rem;
	background: #FFA100;
}
.top_sec04 .service_list .cont{
	padding: 1.5rem 0;
}
.top_sec04 .service_list .ttl{
	margin-bottom: 0;
	min-height: 2.82em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.is_on{
	display: none!important;
	opacity: 0;
}

.top_sec05{
	padding-bottom: 0;
}
.top_other{
	padding: 5rem 0;
	position: relative;
}
.top_other_list{
	display: grid;
	grid-gap: 2rem;
}
.top_other_list li{
	position: relative;
}

.top_other_list a{
	border-radius: 2rem;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	padding: 0 2rem 0 3rem;
	height: 12rem;
	background-color: rgba(240,240,240,.6);
	align-items: center;
	transition: background .3s!important;
}
.top_other_list a .hd_m{
	margin-bottom: 1rem;
}
.top_other_list a img{
	width: 18rem;
}
/*people*/
.people02_01{
	right: 4.44rem;
	top: 4.44rem;
	width: 6rem;
}
.people02_02{
	display: none;
}
.people02_03{
	display: none;
}

.people04_01{
	right: 4.9rem;
	top: -4rem;
	width: 9.1rem;
}
.people04_02{
	left: 3.1rem;
	bottom: -6.5rem;
	width: 3.2rem;
}

.people05_01{
	right: 7.2rem;
	top: 30.5rem;
	width: 6.1rem;
}
.people05_02{
	display: none;
}

.people06_01{
	right: 5.4rem;
	top: -5rem;
	width: 9.1rem;
}

.news_list,
.service_list,
.product_item_list {
	padding-bottom: 1.6rem;
}

.news_list .slick-dots,
.service_list .slick-dots,
.product_item_list .slick-dots {
	bottom: 0
}

.news_list .slick-dots li,
.service_list .slick-dots li,
.product_item_list .slick-dots li{
	width: .6rem;
	height: .6rem;
	margin: 0 .5rem;
}

.news_list .slick-dots li button,
.news_list .slick-dots li button:before,
.service_list .slick-dots li button,
.service_list .slick-dots li button:before,
.product_item_list .slick-dots li button,
.product_item_list .slick-dots li button:before {
	width: .6rem;
	height: .6rem;
}

.news_list .slick-dots li button:before,
.service_list .slick-dots li button:before,
.product_item_list .slick-dots li button:before {
	background: #CCCCCC
}

.news_list .slick-dots li.slick-active button:before,
.service_list .slick-dots li.slick-active button:before,
.product_item_list .slick-dots li.slick-active button:before {
	background: #666666
}

.service_sec04 {
	padding: 4.5rem 0;
	background: #FAF2E6;
}

.service_sec04 .service_pay {
	margin-top: 0;
}

