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

.sp{display: none!important;}
a[href^="tel:"] {
    cursor: default;
    pointer-events:none;
}
/* !wrapper
---------------------------------------------------------- */
#wrapper {
	overflow: hidden;
	width: 100%;
	padding-top: 9rem;
}
.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 5rem;
	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 3rem;
	height: 9rem;
}
#headerLogo{
	width: 36.5rem;
}



#headerLinks {
	
}

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

#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: 1.2rem;
  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 {
	display: flex;
}
#gNavi li {
	
}
#gNavi li a {
	
}
.nav_list01{
	grid-gap: 2em;
	display: flex;
	align-items: center;
}
.nav_list01 li a{
	font-size: 1.6rem;
	letter-spacing: .15em;
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	position: relative;
}
.nav_list02{
	grid-gap: 2rem;
	display: flex;
	align-items: center;
	margin: 0 2rem 0 3rem;
}
.nav_list02 li{
	width: 4rem;
}
.nav_contact a{
	border-radius: .8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 16rem;
	height: 5rem;
	color: #fff;
	border: 1px solid #FF5428;
	background: #FF5428;
	letter-spacing: .1em;
	font-size: 1.6rem;
	font-weight: bold;
}
.nav_contact a:hover{
	color:  #FF5428;
	background: #fff;
	opacity: 1;
}
	
/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	margin-top: -9rem;
	height: 100dvh;
	height: 56.25vw;
	padding-top: 13.5vw;
	padding-top: 18.2vw;
	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{
	max-width: 67.7vw;
	padding: 0;
	z-index: 9;
}
.mv_scroll{
	font-size: 0;
	position: absolute;
	z-index: 3;
	left: 7.91vw;
	top: 28.2vw;
	width: .54vw;
}
.mv_scroll .scrolldown {
	position: absolute;
	left: -.67vw;
	top: 0;
	width: 2px;
	height: 9.75vw;
	background: #ccc;
	overflow: hidden;
}

.mv_scroll .scrolldown .scrolldown_bar {
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
	width: 100%;
	height: 4rem;
	background: #006bb4;
	animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-name: ScrollDown;
    animation-timing-function: ease;
}

@keyframes ScrollDown {
  0% {
  	transform: translateX(-50%);
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(-50%, 9.75vw);
  }
}
.mv_img01{
	position: absolute;
	left: -11.7vw;
	top: 4vw;
	width: 21.8vw;
	z-index: 1;
}
.mv_img02{
	position: absolute;
	left: 4.42vw;
	bottom: -2vw;
	width: 16.1vw;
	z-index: 1;
}
.mv_img03{
	position: absolute;
	right: 8.9vw;
	bottom: 12.8vw;
	width: 28.125vw;
	z-index: 1;
}
.mv_img04{
	position: absolute;
	left: 43vw;
	top: -1.2vw;
	width: 10.41vw;
	z-index: 1;
}
.mv_img05{
	position: absolute;
	right: 4.48vw;
	bottom: -4.16vw;
	width: 9.375vw;
	z-index: 1;
}

.icon_people{
	position: absolute;
	z-index: 2;
}
.mv_people01{
	width: 3.125vw;
	left: 11.5625vw;
	top: 13.28vw;
}
.mv_people02{
	width: 3.07vw;
	left: 21.6vw;
	top: 2.4vw;
}
.mv_people03{
	width: 6.66vw;
	left: 39.6vw;
	top: 9.53vw;
}
.mv_people04{
	width: 5.2vw;
	left: 55.7vw;
	top: 4.95vw;
}
.mv_people05{
	width: 5.1vw;
	left: 81.7vw;
	top: 15.05vw;
}
.mv_people06{
	width: 7vw;
	left: 39vw;
	top: 40.7vw;
}
.mv_people07{
	width: 2.44vw;
	left: 31.6vw;
	top: 53.4vw;
}
.mv_people08{
	width: 4.8vw;
	left: 57.65vw;
	top: 46.7vw;
}
.mv_people09{
	width: 4.11vw;
	left: 92.8vw;
	top: 35vw;
}

.mv_eng{
	font-size: 4.6875vw;
	line-height: 1.33;
	letter-spacing: .05em;
}
.mv_eng span{
	color: #FFA100;
}
.mv_ttl{
	font-size: 1.875vw;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.22;
	color: #FFA100;
	margin-bottom: 1.3vw;
}
.mv_txt{
	font-size: 1.25vw;
	letter-spacing: .15em;
	line-height: 1.83;
}

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

#main {
	
}

#side {
	
}

.inner {
	
}

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

/* !footer
---------------------------------------------------------- */
.common_bottom{
	background: #FFA100;
	color: #fff;
	text-align: center;
	padding: 9.3rem 0 10rem;
}
.common_bottom_ttl{
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: .15em;
	margin-bottom: 4.4rem;
}
.common_bottom_btn{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 2.2rem;
}
.common_bottom_btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 12rem;
	border-radius: 6rem;
	border: .2rem solid #fff;
	color: #fff;
}
.btn_target span{
	padding-right: 7rem;
	background: url(../img/common/icon_target.svg)no-repeat right center;
	background-size: 4.3rem auto;
	font-size: 2.4rem;
	line-height: 4.3rem;
	font-weight: 500;
	letter-spacing: .15em;
}
.btn_tel span{
	padding-left: 6.5rem;
	background: url(../img/common/icon_tel.svg)no-repeat left center;
	background-size: 4.3rem auto;
	font-size: 4.2rem;
	letter-spacing: .12em;
}

.common_bottom_btn a:hover {
	background: #fff;
	color: #FFA100;
	opacity: 1;
}

.common_bottom_btn .btn_target:hover span {
	background-image: url(../img/common/icon_target_on.svg);
}

.common_bottom_btn .btn_tel:hover span {
	background-image: url(../img/common/icon_tel_on.svg);
}

#footer {
	position: relative;
	background: #333333;
	color: #fff;
	padding-bottom: 2.8rem;
}
#footer a{
	color: #fff;
}
#footer .footerIn {
	padding-top: 7.5rem;
	max-width: 140rem;
}
#footer .footerIn:before{
	content: '';
	position: absolute;
	left: 0;
	top: -6rem;
	width: 11.8rem;
	height: 9rem;
	background: url(../img/common/people_footer.svg)no-repeat center center;
	background-size: 100% auto;
	z-index: 3;
}
.footer_list{
	display: flex;
	justify-content: space-between;
	text-align: center;
	max-width: 120rem;
	margin: 0 auto;
	margin-bottom: 4.5rem;
	border-right: 2px solid #fff;
}
.footer_list li{
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.1;
	border-left: 2px solid #fff;
}
.footer_list li a{
	font-size: 1.6rem;
	line-height: 1.1;
	letter-spacing: .42em;
}
.footer_cont{
	display: flex;
	justify-content: space-between;
}
.footer_left{
	width: calc(100% - 64.5rem);
}
.footer_right{
	width: 64.5rem;
}
.footer_logo{
	margin-bottom: 2rem;
}
.footer_addr{
	font-size: 1.4rem;
	letter-spacing: .1em;
	margin-bottom: 1.5rem;
}

.footer_time li{
	font-size: 1.4rem;
	line-height: 2;
	margin-bottom: 1.8rem;
}

.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: flex;
	grid-gap: 1rem;
}
.footer_right_box ul a{
	border-radius: .4rem;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
.store_list{
	width: 34.6rem;
	display: grid;
	grid-gap: 1rem;
}
.store_list a img{
	height: 8rem;
}
.company_list{
	width: 28.8rem;
	display: grid;
	grid-gap: 1rem;
}

.copyright {
	font-size: .8rem;
	letter-spacing: .15em;
}

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

.hdM {
	
}

.hdS {
	
}

.hd01 {
	
}



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

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


/*contact*/
.thanks_wrap{
	padding: 9rem 0 12rem;
	text-align: center;
}
.thanks_p01{
	font-size: 3.2rem;
	font-weight: 500;
	letter-spacing: .12em;
	margin-bottom: 4.5rem;
}
.thanks_p02{
	font-size: 2.1rem;
	letter-spacing: .15em;
	color: #006BB4;
	margin-bottom: 2rem;
}
.thanks_p03 img{
	width: 60rem;
}
.thanks_p04{
	font-size: 1.4rem;
	line-height: 1.71;
	letter-spacing: .15em;
	margin: 3.5rem 0 5.7rem;
}
.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;
}
.btn_link01:hover{
	opacity: 1;
    background: url(../img/common/arrow_right_bg_white.svg)no-repeat right 1.9rem center #006BB4;
    background-size: 3rem auto;
    color: #fff;
}

/*company*/
.company_wrap{
	padding: 9rem 0 12rem;
}
.company_item+.company_item{
	margin-top: 7rem;
}
.company_item_hd{
	font-size: 3.2rem;
	font-weight: 500;
	letter-spacing: .12em;
	margin-bottom: 4rem;
}
.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{
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.71;
	letter-spacing: .15em;
	vertical-align: top;
	border-bottom: 1px solid #CCCCCC;
	padding: 2.8rem 5rem;
}
.company_table th{
	width: 30rem;
}
.company_table tr:nth-of-type(even){
	background: #FAF2E6;
}

/*recruit*/
.recruit_message{
	background: url(../img/recruit/bg_recruit.jpg)no-repeat center 40%;
	background-size: cover;
	min-height: 30rem;
	padding: 6rem 0;
	margin-bottom: 5rem;
}
.recruit_message_eng{
	font-size: 1.4rem;
	letter-spacing: .1em;
	margin-bottom: 3.3rem;
}
.recruit_message_jap{
	font-size: 3.2rem;
	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: 3.5rem;
}

/*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;
}
a:hover .img_box img{
	transform: scale(1.05);
}

.news_wrap{
	padding: 10rem 0 12rem;
}

.news_categ{
	flex-wrap: wrap;
	display: flex;
	justify-content: center;
	grid-gap: 2rem;
	margin-bottom: 6rem;
}
.news_categ a{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 2rem;
	font-size: 1.4rem;
	letter-spacing: .15em;
	background: #FFA100;
	border: 1px solid #FFA100;
	border-radius: 2rem;
	min-width: 12rem;
	height: 4rem;
}
.news_categ a.is_active,
.news_categ a:hover{
	background: #fff;
	color: #FFA100;
	opacity: 1;
}
.news_categ a.is_active{
	pointer-events: none;
}

.news_list{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	grid-gap: 2rem;
}
.news_list_item a{
	opacity: 1!important;
	display: block;
	border-radius: 2rem;
	background: #FFD999;
	overflow: hidden;
}
.news_list_item .img_box{
	padding-top: 16.2rem;
	background: #F7F7F7;
}
.news_list_item .cont{
	padding: 2rem 2.5rem;
}
.news_list_item .row{
	display: flex;
	justify-content: space-between;
	padding: 0 .6rem;
}
.categ_span{
	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_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: 2rem;
    width: 100%;
    margin: 8rem 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: 4.4rem;
    height: 4.4rem;
    border-radius: 50%;
    font-size: 1.8rem;
    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.page: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: 35rem;
  margin: 10rem 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: 2rem;
	margin-bottom: 6rem;
}
.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: 3.2rem;
	line-height: 1.125;
	letter-spacing: .15em;
	font-weight: 500;
	margin-bottom: 5.5rem;
	word-break: break-all;
}

.news_detail_cont h2{
	display: inline-block;
	font-size: 2.8rem;
	font-weight: bold;
	letter-spacing: .12em;
	border-bottom: 2px solid #FFD999;
	padding-bottom: .6rem;
	margin: 6rem 0 3.8rem;
}
.news_detail_cont h2 strong{
	font-weight: bold;
}
.news_detail_cont h3{
	font-size: 2.4rem;
	line-height: 1.1;
	font-weight: 500;
	letter-spacing: .12em;
	border-left: .4rem solid #FFA100;
	padding-left: 1.7rem;
	margin-bottom: 5.6rem;
}
.news_detail_cont h4{
	font-size: 1.6rem;
	line-height: 1.1;
	font-weight: 500;
	letter-spacing: .05em;
	margin-bottom: 3rem;
}
.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: 3rem;
}
.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: 2rem;
}
.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: 9rem 0 8rem;
}
.service_list{
	margin-top: 6rem;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 2.4rem;
}
.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;
}
.service_list .cont{
	padding: 3rem 2rem;
}
.service_list .ttl{
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.41;
	letter-spacing: .12em;
	margin-bottom: 2rem;
	min-height: 2.82em;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.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 #FFA100;
	height: 5rem;
	width: auto;
	min-width: 28.3rem;
	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;
	transition: background .3s;
}
.btn_target02:hover{
	background: #FFA100;
	color: #fff;
}
.btn_target02:hover span{
	background: url(../img/common/icon_target02_on.svg)no-repeat right center;
	background-size: 3rem auto;
}

.service_sec02{
	background: #FAF2E6;
	padding: 5rem 0 6rem;
}
.service_sec02_p01{
	margin-bottom: 2rem;
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: .12em;
}
.service_list02{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 2.4rem;
}
.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 3.5rem;
}
.service_list02 .ttl{
	font-size: 2.4rem;
	line-height: 1.41;
	letter-spacing: .12em;
	margin-bottom: 1.5rem;
}
.service_list02 .txt{
	font-size: 1.4rem;
	line-height: 1.71;
	letter-spacing: .075em;
}
.service_pay{
	margin-top: 4rem;
	padding: 8rem 2rem;
	background: #fff;
	text-align: center;
}

.service_pay_hd {
	margin-bottom: 4rem;
}

.service_pay_hd span{
	border-top: 2px solid #333333;
	border-bottom: 2px solid #333333;
	padding: 1.2rem 1.5rem;
	font-size: 2.4rem;
	letter-spacing: .12em;
	display: inline-block;
}

.service_pay_item {
	margin-bottom: 3rem;
}

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

.service_pay_list{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	grid-gap: 2rem 8rem;
	max-width: 90rem;
	margin: 0 auto;
}
.service_pay_list li img{
	width: auto;
	max-width: none;
	height: 10rem;
}
.service_pay_note{
	font-size: 1.6rem;
	letter-spacing: .12em;
}

.service_banner{
	background: #FFA100;
	color: #fff;
	padding: 4rem 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: 11.7rem;
}
.service_banner_txt{
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: .15em;
}
.service_banner_btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 47rem;
    height: 9rem;
    border-radius: 6rem;
    border: .2rem solid #fff;
    color: #fff;
}
.service_banner_btn .btn_target span{
	font-size: 2.2rem;
}

.service_sec03{
	padding: 5rem 0 6rem;
}
.service_sec03_list{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	grid-gap: 2.4rem;
}
.service_sec03_list li{
	border-radius: 2rem;
	background: #FAF2E6;
	position: relative;
	text-align: center;
}
.service_sec03_list li+li:before{
	content: '';
	position: absolute;
	left: -1.2rem;
	bottom: 9.5rem;
	z-index: 5;
	background: url(../img/common/arrow_right_black.svg)no-repeat center center #B2E9F6;
	background-size: 2.2rem auto;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	transform: translateX(-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;
	min-height: 3.75em;
	margin-bottom: 2.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: 1.2rem;
	letter-spacing: .075em;
	margin: 1.6rem 0 3rem;
}
.service_sec03_list02{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 4rem;
}
.service_sec03_list02_item{
	border-radius: 2rem;
	border: 1px solid;
	padding: 1.3rem 2rem 2rem;
}
.service_sec03_list02_item .ttl{
	font-size: 2.4rem;
	letter-spacing: .12em;
	text-align: center;
	margin-bottom: 1.2rem;
}
.service_sec03_list02_item p{
	display: flex;
	align-items: center;
	font-size: 1.4rem;
	letter-spacing: .075em;
	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.4rem;
	letter-spacing: .075em;
	padding-left: 1em;
	text-indent: -1em;
}

/*product*/
.product_wrap{
	padding: 10rem 0 12rem;
}
.product_categ{
	display: flex;
	flex-wrap: wrap;
	grid-gap: 1.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 7.4rem 0 2rem;
    text-align: left;
}
.product_categ a:hover{
	opacity: 1;
    background: url(../img/common/arrow_down_hover.svg)no-repeat right 2rem center #B2E9F6;
    background-size: 2.4rem auto;
}

.product_item{
	padding: 8rem 0 3.8rem;
	background: url(../img/product/bg_odd.jpg)no-repeat bottom center;
	background-size: 100% calc(100% - 17rem);
}
.product_item:nth-of-type(even){
	background: url(../img/product/bg_even.jpg)no-repeat bottom center;
	background-size: 100% calc(100% - 17rem);
}
.product_item_categ{
	position: relative;
	margin-bottom: 3.8rem;
}
.product_item_categ_bg{
	padding-top: 22.5rem;
}
.product_item_categ span{
	color: #fff;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 9;
	white-space: nowrap;
	font-size: 3.2rem;
	font-weight: 500;
	letter-spacing: .12em;
	border-bottom: 2px solid;
}
.product_item_list{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	grid-gap: 1.6rem;
	text-align: center;
}
.product_item_list a{
	pointer-events: none;
	background: #fff;
	border-radius: 2rem;
	overflow: hidden;
	padding: 2rem;
	height: 100%;
	display: block;
	opacity: 1!important;
}
.product_item_list .img_box{
	border-radius: 2rem;
	padding-top: 22rem;
}
.product_item_list .ttl{
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: .12em;
	margin: 1.6rem 0 1.2rem;
}
.product_item_list .type{
	font-size: 1.8rem;
	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: 1.4rem;
	line-height: 1.2;
	letter-spacing: .1em;
	opacity: .4;
	margin-bottom: .6rem;
}
.hd_m .jap{
	display: block;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: .12em;
	margin-bottom: 1.3rem;
}
.hd_m:after{
	content: '';
	display: block;
	width: 6rem;
	height: .2rem;
	background: url(../img/common/line_teaser.png)no-repeat;
	background-size: 100% 100%;
}
.top_wrap .news_list{
	margin-top: 6rem;
}
.top_sec01_btn{
	margin-top: 5rem;
	text-align: center;
}

.top_sec02{
	background: url(../img/top/bg_sec02.jpg)no-repeat center center;
	background-size: cover;
	padding: 6rem 0;
	position: relative;
}
.top_sec02_box{
	border-radius: 2rem;
	background: #fff;
	padding: 6rem 10rem;
	text-align: center;
}
.top_sec02_logo img{
	width: 54.7rem;
}
.top_sec02_txt{
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .15em;
	line-height: 1.75;
	margin: 4rem 0 5rem;
}
.top_sec02_ttl{
	overflow: hidden;
}
.top_sec02_ttl span{
	position: relative;
	display: inline-block;
	padding: 0 3.7rem;
	font-size: 2.4rem;
	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-template-columns: repeat(3,1fr);
	grid-gap: 2rem;
	padding: 4.2rem 0 6rem;
	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_sec03{
	padding: 8rem 0;
	position: relative;
}
.top_sec03_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	grid-gap: 1.6rem;
	margin: 0 -1.2rem;
}
.top_sec03_list li{
	width: 28.8rem;
}
.top_sec03_list a{
	display: block;
	border-radius: 2.2rem;
	overflow: hidden;
	position: relative;
	border: .25rem solid #fff;
	opacity: 1!important;
}
.top_sec03_list .img_box{
	padding-top: 24rem;
}
.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: 5rem auto;
	z-index: 9;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.4rem;
	letter-spacing: .12em;
	font-weight: 500;
	transition: all .3s;
}
.top_sec03_list a:hover{
	border-color: #FF5428;
	color: #fff;
}
.top_sec03_list a:hover .ttl{
	background: url(../img/top/arrow_product_on.svg)no-repeat right bottom rgba(255,161,0,.8);
	background-size: 5rem auto;
}

.top_sec04{
	background: #FAF2E6;
	padding: 8rem 0;
	position: relative;
}

.top_sec04:before{
	background: url(../img/top/bg_sec04.png)no-repeat top left #FAF2E6;
	background-size: 70rem auto;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
	content: '';
	width: 100%;
	height: 100%;
	transform: scaleX(-1);
}

.top_sec04_dl{
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	position: relative;
	z-index: 2;
}
.top_sec04_dt{
	width: 69rem;
	margin: 3.3rem -6rem 0 0
}
.top_sec04_dd .ttl{
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: .12em;
	margin-bottom: 2rem;
	margin-top: 2.8rem
}
.top_sec04_dd .btn{
	margin-top: 3.5rem;
}
.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{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.4rem;
}

.top_sec04 .service_list a {
	display: block;
	padding-bottom: 4.5rem;
	background: url(../img/top/arrow_product_no.svg) no-repeat right bottom;
	background-size: 5rem auto;
	width: 100%;
	height: 100%;
}

.top_sec04 .service_list a:hover {
	opacity: 1;
	background-image: url(../img/top/arrow_product_on.svg);
	background-color: #FFA100;
	color: #fff;
}

.top_sec04 .service_list .cont{
	padding: 1.6rem 2rem;
	text-align: left;
}
.top_sec04 .service_list .ttl{
	margin-bottom: 0;
	min-height: 2.82em;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.8rem;
	text-align: center;
}
.top_sec04 .service_pay{
	margin-top: 6rem;
}

.is_on{
	display: none!important;
	opacity: 0;
}
a:hover .is_on{
	opacity: 1;
	display: block!important;
}
a:hover .is_no{
	display: none!important;
	opacity: 0;
}

.top_other{
	padding-bottom: 12rem;
	position: relative;
}
.top_other_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 1.4rem;
}
.top_other_list li{
	position: relative;
}

.top_other_list a{
	border-radius: 2rem;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	padding: 0 4rem 0 6rem;
	height: 24rem;
	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: 30rem;
}
.top_other_list a:hover{
	background-color: rgba(0,0,0,.6);
	opacity: 1;
	color: #fff;
}

/*people*/
.people02_01{
	right: 42.3rem;
	right: 22vw;
	top: -2rem;
	width: 9.6rem;
	width: 5vw;
}
.people02_02{
	right: calc(100% + 6.3rem);
	top: -.36rem;
	width: 12.4rem;
}
.people02_03{
	left: calc(100% + 2.55rem);
	top: 26.6rem;
	width: 20rem;
}

.people04_01{
	left: calc(100% + 0rem);
	top: -3.2rem;
	width: 14.7rem;
}
.people04_02{
	right: calc(100% + 9rem);
	bottom: -3rem;
	width: 5.27rem;
}

.people05_01{
	left: calc(100% + 5rem);
	top: 6.5rem;
	width: 10rem;
}
.people05_02{
	right: calc(100% + 0rem);
	top: 57rem;
	width: 14.8rem;
}

.people06_01{
	right: calc(100% + 1.58rem);
	top: 33rem;
	width: 14.8rem;
}

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

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