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

.sp{display: none!important;}
.wow{
	opacity: 0;
}
a[href^="tel:"] {
    cursor: default;
    pointer-events:none;
}
/* !wrapper
---------------------------------------------------------- */
#wrapper {
	overflow: hidden;
	position: relative;
	width: 100%;
	padding-top: 8.8rem;
	background: #F1F1F1;
}
.home #wrapper {
	padding-top: 0;
}

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

.inner,
.inner02 {
	margin: 0 auto;
	width: 100%;
	max-width: 161rem;
	padding: 0 5rem;
	position: relative;
	z-index: 3;
}
.inner02 {
	max-width: 170rem;
}
/* !header
---------------------------------------------------------- */
#header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    background: #fff;
    box-shadow: 0px .4rem 2.2rem rgba(0, 0, 0, 0.05);
    z-index: 999;
    padding: 0 0 0 10rem;
}
.home .is_header#header {
	position: absolute;
	background: none;
    box-shadow: none;
}

#headerIn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 8.8rem;
}
#headerLogo {
	width: 25.6rem;
}
.home .is_header #headerLogo {
	width: 37.6rem;
	position: relative;
	top: 2.5rem;
}
.logo_home{
 	display: none;
}
.home .is_header .logo_home {
	display: block;
}
.home .is_header .logo_home_no {
	display: none;
}


#headerLinks {
	display: none;
}

/* !gNavi
---------------------------------------------------------- */
		
#gNavi {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	grid-gap: 3rem;
}
.navUl{
	display: flex;
	grid-gap: 3.4rem;
	font-size: 1.4rem;
	font-weight: bold;
}
.navUl li>a{
	height: 8.8rem;
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	font-weight: bold;
}
.home .is_header .navUl li>a {
	color: #fff;
	text-shadow: 0 .5rem 3rem rgba(62,0,0,.51);
}
.navUl li>a span{
	display: none;
}
	
.navOhter{
	display: flex;
}
.navOhter a{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 8.8rem;
	width: 23rem;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: bold;
	color: #fff;
	background: #1C1C1C;
}
.navOhter li:first-of-type a{
	background: #E71F18;
}
.navOhter a .eng{
	font-size: 2.5rem;
	letter-spacing: .2em;
}

/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	position: relative;
}
#mainVisual:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/top/dot_mv.png)repeat center center;
	background-size: 210.2rem auto;
	z-index: 7;
}
#mainVisual:after{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 11.3rem;
	background-image: linear-gradient(to bottom, rgba(0,0,0,.5) , transparent);
	opacity: .5;
	z-index: 8;
}
#mainVisual img.mv_bg{
	width: 100%;
	height: 100vh;
}
.mv_txt{
	position: absolute;
	left: 0.8rem;
        bottom: 2.2rem;
        z-index: 9;
        width: 97.5rem;
}
#mainVisual video{
	display: block;
	width: 100%;
	height: 100vh;
	object-fit:cover;
	background: url("../img/common/preload.jpg")repeat center center;
	background-size: cover;
}
/* !teaser
---------------------------------------------------------- */
#teaser {
	
}
.teaser_wrap01{
	padding: 6rem 0;
	background: url(../img/common/bg_teaser.jpg)no-repeat center center;
	background-size: cover;
	color: #fff;
}
.teaser_wrap01 .inner{
	max-width: 180rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.teaser_hd .eng{
	font-size: 3.2rem;
	letter-spacing: .2em;
	line-height: 1.2;
}
.teaser_hd .jap{
	font-size: 4.6rem;
	font-weight: 800;
	line-height: 1.43;
}
.teaser_img{
	width: 100rem;
}
.teaser_img .img_box{
	padding-top: 38.7rem;
}

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

.teaser_wrap02{
	position: relative;
}
.teaser_wrap02 .inner{
	max-width: 180rem;
	width: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 11;
	color: #fff;
}
.teaser_img02 .img_box{
	padding-top: 73.2rem;
}
.teaser_cont_intro{
	font-size: 3.5rem;
	font-weight: 800;
	line-height: 1.5;
}

.teaser_cont_ttl.bg_span{
    grid-gap: 1.6rem 0;
    margin: 3.2rem 0 1.9rem;
}
.teaser_cont_ttl.bg_span span{
    font-size: 7.1rem;
    line-height: 11.3rem;
    padding: 0 2.5rem;
}
.teaser_cont_ttl font{
	margin: 0 -.5em;
}
.teaser_cont_name{
	background: #fff;
	color: #000;
	padding: 0 2rem;
	display: inline-flex;
	align-items: center;
	grid-gap: 1.1rem;
	height: 5rem;
	font-size: 2.7rem;
	font-weight: 800;
}
.teaser_cont_name span{
	font-size: 1.9rem;
	font-weight: bold;
}

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

#main {
	
}

#side {
	
}

.inner {
	
}

/* !pageTop
---------------------------------------------------------- */
.pageTop {
	
}

/* !footer
---------------------------------------------------------- */
.footer_contact{
	background: url(../img/common/bg_contact.png)no-repeat center center;
	background-size: cover;
	color: #fff;
	padding: 10rem 0 8rem;
}
.footer_contact_dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer_contact_dt{
	width: calc(100% - 100rem);
}
.footer_contact_dd{
	width: 98rem;
}
.footer_contact_dd ul{
	display: flex;
	justify-content: space-between;
	grid-gap: 3rem;
}
.footer_contact_dd li{
	width: calc(50% - 1.5rem);
}
.footer_contact_dd a{
	display: block;
	opacity: 1;
	color: #fff;
}
.footer_contact_dd .ttl{
	display: flex;
	align-items:flex-start;
	justify-content: center;
	height: 3.7rem;
	border: .2rem solid #fff;
	font-size: 1.7rem;
	font-weight: bold;
	color: #fff;
	transition: background .4s,color .4s;
	padding-top: 0.1rem;
}
.footer_contact_dd a:hover .ttl{
	background: #fff;
	color: #FE0100;
}
.footer_contact_dd .ttl span{
	font-size: 2.2rem;
	letter-spacing: .1em;
}
.footer_contact_dd .tel{
	margin-top: .7rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.footer_contact_dd .tel span{
	font-size: 7.1rem;
	line-height: 1.2;
	letter-spacing: .1em;
	padding-left: 7.4rem;
	background: url(../img/common/icon_tel.svg)no-repeat left center;
	background-size: 5.8rem auto;
	white-space: nowrap;
}
.footer_contact_dd .mail{
	margin-top: 1.7rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.footer_contact_dd .mail span{
	font-size: 3rem;
	line-height: 5.8rem;
	font-weight: 900;
	padding-left: 7.4rem;
	background: url(../img/common/icon_mail.svg)no-repeat left center;
	background-size: 5.8rem auto;
}
.footer_contact_dd .time{
	font-size: 1.7rem;
	letter-spacing: .1em;
	padding-left: 7.4rem;
	margin-top: -1rem;
}

#footer {
	padding: 10rem 0 5.5rem;
	border-bottom: .8rem solid #ED0100;
}

#footer .footerIn {
	
}
.footer_dl01{
	display: flex;
	justify-content: space-between;
}
.footer_logo{
	width: 40rem;
}
.footer_addr{
	font-size: 1.6rem;
	color: #777777;
	padding-left: 10.4rem;
}
.footer_dd01{
	padding-top: 1.5rem;
	display: flex;
	justify-content: flex-end;
	grid-gap: 9rem;
}
.footer_link li+li{
	margin-top: .5rem;
}
.footer_link li>a{
	display: inline-flex;
	padding-left: 1.8rem;
	font-size: 2rem;
	font-weight: bold;
	background: url(../img/common/arrow_footer.svg)no-repeat left center;
	background-size: 1.3rem auto;
}
.sub_box{
	margin: .5rem 0 1rem;
}
.sub_li a{
	padding-left: 1.8rem;
	font-size: 1.4rem;
	color: #6F6F6F;
	font-weight: 500;
}

.footer_dl02{
	margin-top: 7rem;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.footer_dt02{
	display: flex;
	grid-gap: 5.5rem;
}
.footer_dt02 a{
	font-size: 1.4rem;
	font-weight: 400;
	text-decoration: underline;
	color: #6F6F6F;
}
#copyright {
	font-size: 1.2rem;
	color: #666666;
}

/* !h(n)eading
---------------------------------------------------------- */
.hd_medium{

}
.hd_medium.white{
	color: #fff;
}
.hd_medium .eng{
	display: block;
	font-size: 3rem;
	line-height: 1.2;
	letter-spacing: .2em;
}
.hd_medium .jap{
	display: block;
	font-size: 4.2rem;
	font-weight: 800;
}

.hd_txt{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.55;
	margin-top: 1.5rem;
}

.btn_link01{
	display: inline-flex;
	align-items: center;
	grid-gap: 3rem;
	font-size: 2rem;
	line-height: 1.2;
	letter-spacing: .04em;
	color: #FE0100;
}
.btn_link01:hover{
	opacity: 1;
}
.btn_link01_txt{
	border-bottom: 2px solid;
}
.btn_link01_arrow{
	width: 8.8rem;
	height: 8.8rem;
	border: 1px solid #FE0100;
	border-radius: 50%;
	background: url(../img/common/arrow_footer.svg)no-repeat center center;
	background-size: 1rem auto;
	transition: all .4s;
}
.btn_link01:hover .btn_link01_arrow{
	background: url(../img/common/arrow_nav_white.svg)no-repeat center center #FE0100;
	background-size: 1rem auto;
}

.btn_link01.white{
	color: #fff;
}
.btn_link01.white .btn_link01_arrow{
	border: 1px solid #fff;
	background: url(../img/common/arrow_nav_white.svg)no-repeat center center;
	background-size: 1rem auto;
}
.btn_link01.white:hover .btn_link01_arrow{
	background: url(../img/common/arrow_footer.svg)no-repeat center center #fff;
	background-size: 1rem auto;
}

.btn_link02{
	display: inline-flex;
	align-items: center;
	grid-gap: 2rem;
	font-size: 1.8rem;
	line-height: 1.2;
	font-weight: bold;
	color: #000;
	opacity: 1!important;
}
.btn_link02_txt{
	border-bottom: 2px solid;
}
.btn_link02_arrow{
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: url(../img/common/arrow_nav_white.svg)no-repeat center center #FE0100;
	background-size: .75rem auto;
	transition: all .4s;
}
.btn_link02:hover .btn_link02_arrow{
	background: url(../img/common/arrow_footer.svg)no-repeat center center #fff;
	background-size: .75rem auto;
	border: 1px solid #FE0100;
}

/* !common
---------------------------------------------------------- */



/*top*/
.top_banner{
	padding: 12.4rem 0 20rem;
	text-align: center;
}
.top_banner a{
	display: inline-block;
	width: 114.2rem;
}

.top_sec01{
	padding-bottom: 30rem;
}
.top_sec01_dl{
	position: relative;
}
.top_sec01_dt{
	width: 82.7rem;
	position: relative;
	z-index: 6;
}
.top_sec01_dd{
	position: absolute;
	z-index: 2;
	left: 58.6rem;
	top: -25.4rem;
	width: 144rem;
}
.top_sec01_list{
	margin-top: 4rem;
}
.top_sec01_list li{
	margin-top: 2.6rem;
	background: #fff;
	position: relative;
	padding: 2.5rem 2rem 2.5rem 6rem;
}
.top_sec01_list .point{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 5;
	width: 3.6rem;
	height: 3.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: linear-gradient( -45deg, #FE0100 , #FA7D00);
	color: #fff;
	font-size: 3rem;
}
.top_sec01_list .ttl{
	font-size: 2.5rem;
	font-weight: 800;
	margin-bottom: 1rem;
}
.top_sec01_list .ttl span{
    background-image: -webkit-linear-gradient(left,#FA8700,#FE0100,#FE0100);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.top_sec01_list .txt{
	font-size: 1.6rem;
	font-weight: bold;
}
.top_sec01_btn{
	margin-top: 3.3rem;
}


.top_sec02{
	padding: 12.4rem 0 10rem;
	background: url(../img/top/bg_sec02.jpg)no-repeat center center;
	background-size: cover;
	color: #fff;
}
.top_sec02_dl{
	display: flex;
	align-items: center;
	justify-content: space-between;
	grid-gap: 2rem;
}
.top_sec02_dt{
	width: 69.2rem;
}
.top_sec02_dd{
	width: 78rem;
}
.top_sec02_txt{
	font-size: 3rem;
	line-height: 1.66;
	font-weight: bold;
	margin: 4rem 0;
}

.top_sec03{
	padding: 18rem 0 16rem;
}
.top_sec03_dl{
	display: flex;
	justify-content: space-between;
	grid-gap: 2rem;
}
.top_sec03_dt{
	width: 67.3rem;
	width: 72.3rem;
}
.top_sec03_dd{
	width: 84.8rem;
	width: 78.8rem;
}
.top_sec03_year{
	margin-top: 3rem;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #FF3B00;
	color: #fff;
	padding: 0 1.5rem 0 1.2rem;
	height: 4rem;
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: .05em;
}
.top_sec03_year_cont{
	border-top: .5rem solid #FF3B00;
	background: #fff;
	padding: 2.5rem;
}
.dot_list01 li{
	padding-left: 2.2rem;
	background: url(../img/top/dot_li.svg)no-repeat left top .5rem;
	background-size: 1.3rem auto;
	font-size: 1.5rem;
	line-height: 1.5;
}
.dot_list01 li+li{
	margin-top: 1rem;
}
.top_sec03_btn{
	margin-top: 2.3rem;
}

.top_sec04{
	background: url(../img/top/bg_sec04.png)no-repeat center center;
	background-size: cover;
	color: #fff;
	padding: 11.7rem 0 12.4rem;
	position: relative;
}
.top_sec04:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: url(../img/top/before_sec04.png)no-repeat center center;
	background-size: cover;
	opacity: .8;
}
.top_sec04_dl{
	position: relative;
}
.top_sec04_dd{
	position: absolute;
	z-index: 2;
	right: 0;
	top: 0;
	height: 100%;
}
.top_sec04_dd img{
	height: 100%;
}
.top_sec04_btn{
	margin-top: 2rem;
}

.top_sec05{
	padding: 18.5rem 0 13.8rem;
	position: relative;
}
.top_sec05_dl{
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}
.top_sec05_dl:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: url(../img/top/bg_sec05.png)no-repeat left center;
	background-size: auto 100%;
	filter: grayscale(100%);
}
.top_sec05_dt{
	width: 51.8rem;
	padding-left: 15.5rem;
	padding-top: 16.6rem;
}
.top_sec05_dd{
	width: 95rem;
}
.top_sec05_btn{
	margin-top: 2rem;
}

.txt_flow {
  background: url(../img/top/txt_flow.svg) repeat-x left center/auto 100%;
  height: 26rem;
  position: relative;
  z-index: 7;
  -webkit-animation: flowBgLeft 1500s linear infinite;
          animation: flowBgLeft 1500s 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;
  }
}
.top_sec05 .txt_flow{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 1;
}

.top_sec06{
	padding: 14rem 0;
	background: #fff;
}
.top_sec06_dl{
	display: flex;
	justify-content: space-between;
}
.top_sec06_dd{
	width: 86rem;
}
.top_sec06_btn{
	margin-top: 3.7rem;
}
.news_list{
	border-top: .5rem solid #FF3B00;
}
.news_list li{
	border-bottom: 1px solid #BFBFBF;
}
.news_list a{
	display: flex;
	align-items: center;
	grid-gap: 3.8rem;
	min-height: 6.8rem;
	padding-right: 4rem;
	background: url(../img/common/arrow_footer.svg)no-repeat right 1.5rem center;
	background-size: 1rem auto;
}
.news_list .date{
	justify-content: center;
	align-items: center;
	display: inline-flex;
	width: 8.7rem;
	height: 2.2rem;
	background: #F1F1F1;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: .07em;
}
.news_list .txt{
	width: calc(100% - 8.7rem - 3.8rem);
	font-size: 1.8rem;

    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

/*news*/
.common_wrap{
	padding: 14.8rem 0 22.4rem;
}
.common_wrap .hd_medium{
	margin-bottom: 4.5rem;
}
.news_wrap .inner{
	max-width: 119rem;
}
.news_wrap .news_list .date{
	background: #fff;
}

/* !wp-pagenavi
---------------------------------------------------------- */
.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: .7rem;
    width: 100%;
    margin: 6rem 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 .page {

}

.wp-pagenavi a, 
.wp-pagenavi .current {
    width: 3.9rem;
    height: 3.9rem;
    font-size: 2.5rem;
    border: 1px solid #000;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .5s;
    color: #000;
}

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

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    font-size: 0;
    background: url(../img/common/page_prev.svg)no-repeat center center;
    background-size: 1rem auto;
}
.wp-pagenavi .nextpostslink{
    background: url(../img/common/page_next.svg)no-repeat center center;
    background-size: 1rem auto;
}
.wp-pagenavi .previouspostslink:hover{
    background: url(../img/common/page_prev_hover.svg)no-repeat center center #000;
    background-size: 1rem auto;
}
.wp-pagenavi .nextpostslink:hover{
    background: url(../img/common/page_next_hover.svg)no-repeat center center #000;
    background-size: 1rem auto;
}

/*news_detail*/
.news_detail_wrap .inner{
	max-width: 150rem;
}
.news_detail_box{
	border-top: .5rem solid #FE0100;
	background: #fff;
	padding: 7rem 9.5rem 8rem;
}
.news_detail_date span{
	justify-content: center;
    align-items: center;
    display: inline-flex;
    width: 12.5rem;
    height: 3.2rem;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: .1em;
    border: 1px solid;
}
.news_detail_hd{
	font-size: 4rem;
	font-weight: bold;
	margin: .8rem 0 2.8rem;
}
.news_detail_cont{
	font-size: 1.8rem;
	line-height: 1.66;
}
.news_detail_cont p+p{
	margin-top: 3rem;
}
.news_detail_btn{
	text-align: right;
	margin-top: 5rem;
}

/*privacy*/
.privacy_wrap .inner{
	max-width: 148rem;
}
.privacy_table{
	width: 100%;
	border-top: .5rem solid #FE0100;
}
.privacy_table th,
.privacy_table td{
	padding: 4.5rem 0;
	border-bottom: 1px solid #707070;
}
.privacy_table th{
	width: 41rem;
	font-size: 2rem;
	font-weight: bold;
	vertical-align: baseline;
}
.privacy_table th:before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 2.1rem;
	height: 2.1rem;
	margin-right: 1.8rem;
	background: url(../img/top/dot_li.svg)no-repeat;
	background-size: 100% 100%;
}
.privacy_table td{
	font-size: 1.8rem;
	line-height: 1.66;
	font-weight: 500;
}

/*site_map*/
.site_map_wrap .inner{
	max-width: 148rem;
}
.site_map_cont{
	border-top: .5rem solid #FE0100;
}
.site_map_top a{
	display: inline-flex;
	align-items: center;
	grid-gap: 2.26rem;
	font-size: 3rem;
	font-weight: 900;
	height: 9.5rem;
}
.site_map_top a:before{
	content: '';
	width: 2.6rem;
	height: 2.6rem;
	background: url(../img/top/dot_li.svg)no-repeat;
	background-size: 100% 100%;
}
.site_map_list{
	border-top: 1px solid #707070;
}
.site_map_list li{
	padding: 2.2rem 0 2.2rem 5rem;
	border-bottom: 1px solid #707070;
}
.site_map_list li>a{
	display: inline-flex;
	align-items: center;
	font-size: 2.5rem;
	font-weight: bold;
	padding-left: 2.7rem;
	background: url(../img/common/arrow_footer.svg)no-repeat left center;
	background-size: 1.6rem auto;
}
.site_map_sub_list{
	margin-top: 1rem;
	margin-left: 2.7rem;
	display: flex;
	flex-wrap: wrap;
	grid-gap: 4.3rem;
}
.site_map_sub_list a{
	font-size: 1.8rem;
	color: #6F6F6F;
}

/*contact*/
.contact_wrap .inner{
	max-width: 148rem;
}
.contact_box{
	border-top: .5rem solid #FE0100;
	background: #fff;
	padding: 8rem 18rem 12rem;
}
.contact_txt{
	font-size: 2rem;
	line-height: 1.75;
	text-align: center;
	margin-bottom: 3.5rem;
}
.formAgreeTxt{
	font-size: 1.6rem;
	padding-left: 3.6rem;
	margin-top: 1rem;
}

.contactTable{
    width: 100%;
}
.contactTable th,
.contactTable td{
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    padding: 1.5rem 0;
}
.contactTable th{
	vertical-align: baseline;
    text-align: left;
    padding-top: 2.5rem;
    width: 32rem;
}
.required{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	width: 4.4rem;
	height: 2.1rem;
	font-size: 1.4rem;
    color: #fff;
    background-image: -webkit-linear-gradient(bottom,#FA8700,#FE0100);
    margin-left: 1em;
}
.contactTable input[type=text],
.contactTable input[type=tel],
.contactTable input[type=email],
.contactTable select,
.contactTable textarea{
    width: 100%;
    height: 5.7rem;
    border-radius: 0;
    border: 0;
    padding: 0 1.5rem;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .08em;
    font-weight: 500;
    border: 1px solid #707070;
    background: #fff;
    color: #000;
}
.contactTable select {
    width: 33rem;
    background: url(../img/common/select.svg) no-repeat right 2.5rem center #fff;
    background-size: auto 1rem;
    padding: 0 5rem 0 3rem;
}
.contactTable textarea{
    display: block;
    resize: none;
    min-height: 30rem;
    padding: 1rem 1.5rem;
}
.contactTable input.zip_input{
    max-width: 21rem;
}
.contactTable .errorLi input{
    background: #FFF0F0;
    border-color: #AD2E2A;
}


textarea::-webkit-input-placeholder{ /*WebKit browsers*/
  color: #D9D9D9;
}
textarea::-moz-input-placeholder{ /*Mozilla Firefox*/
  color: #D9D9D9;
}
textarea::-ms-input-placeholder{ /*Internet Explorer*/ 
  color: #D9D9D9;
}
input::-webkit-input-placeholder{ /*WebKit browsers*/
  color: #D9D9D9;
}
input::-moz-input-placeholder{ /*Mozilla Firefox*/
  color: #D9D9D9;
}
input::-ms-input-placeholder{ /*Internet Explorer*/ 
  color: #D9D9D9;
}
.p-postal-code{
    max-width: 23.6rem!important;
}
.zipTxt{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #FF6795;
    color: #fff;
    border-radius: 2rem;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0 1.2rem;
    height: 3.3rem;
    margin-left: 4rem;
}

.formAgree{
    padding-top: 3rem;
    display: flex;
}
.formAgree a{
    /*text-decoration: underline;*/
    /*border-bottom: 1px solid currentColor;*/
}
.formAgree .formCheckbox label span{
    padding-left: 3.6rem;
}
.formAgree .formCheckbox label span:before{
    background: #fff;
    border-radius: 0;
    border: 1px solid #707070;
}

.formButton{
    margin-top: 6rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    grid-gap: 3rem;
}
.formButton .btn_confirm{
	width: 100%;
	display: block;
}
.formButton .btn_form{
	width: 100%;
	height: 9.6rem;
    background: rgba(0,0,0,.7);
    color: #fff!important;
    border: 0;
    color: inherit;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: .1em;
}
.formButton .disabled{
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    opacity: .5;
    pointer-events: none;
}

.formRadio,
.formRadio .wpcf7-radio,
.formCheckbox,
.formCheckbox .wpcf7-checkbox{
    display: flex;
    flex-wrap: wrap;
    grid-gap: 1rem 1.6rem;
}

.flex_wrap .wpcf7-checkbox{
    flex-direction: row;
}

.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item{
    /*width: 100%;*/
}
.formRadio label,
.formCheckbox label {
    display: flex;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    color: #000;
    position: relative;
}

.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;
    padding-left: 2.4rem;
    display: inline-block;
}

.formRadio label span:before {
    position: absolute;
    left: 0;
    top: .4rem;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 0;
    background: url(../img/common/radio_no.svg)no-repeat;
    background-size: 100% auto;
    border: 0;
    content: '';
    z-index: 1;
}

.formRadio label span:after {
    position: absolute;
    left: 0;
    top: .4rem;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/common/radio_on.svg)no-repeat;
    background-size: 100% auto;
    content: '';
    z-index: 2;
    opacity: 0;
}

.formRadio label input[type="radio"]:checked + span:before ,
.formRadio label input[type="checkbox"]:checked + span:before {
    opacity: 0;
}

.formRadio label input[type="radio"]:checked + span:after ,
.formRadio label input[type="checkbox"]:checked + span:after {
    opacity: 1;
}


.formCheckbox label{
    /*width: 100%;*/
}
.flex_wrap{
    flex-direction: row;
}
.flex_wrap label{
    width: auto;
    min-width: 17rem;
}

.formCheckbox label span {
    position: relative;
    z-index: 2;
    padding-left: 2.4rem;
    display: inline-block;
}

.formCheckbox label span:before {
    position: absolute;
    left: 0;
    top: .4rem;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 0;
    background: url(../img/common/check_no.svg)no-repeat;
    background-size: 100% auto;
    border: 0;
    content: '';
    z-index: 1;
}

.formCheckbox label span:after {
    position: absolute;
    left: .3rem;
    top: .7rem;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/common/check_on.svg)no-repeat #000;
    background-size: 100% auto;
    content: '';
    z-index: 2;
    opacity: 0;
}

.formCheckbox label input[type="radio"]:checked + span:before ,
.formCheckbox label input[type="checkbox"]:checked + span:before {
    /*opacity: 0;*/
}

.formCheckbox label input[type="radio"]:checked + span:after ,
.formCheckbox label input[type="checkbox"]:checked + span:after {
    opacity: 1;
}

.wpcf7-list-item{
    margin: 0;
}
.wpcf7-not-valid-tip {
    color: #AD2E2A;
    font-size: 1em;
    font-weight: normal;
    display: block;
    margin-top: .3rem;
    /*position: absolute;*/
}

.btn_back{
    text-align: center;
}
.btn_back input,
.btn_back a {
    border: 0;
    color: #333;
    text-decoration: underline;
    display: inline-block;
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .08em;
    padding-left: 6.4rem;
    background: url(../img/voice/arrow_btn.svg) no-repeat;
    background-size: 4.7rem auto;
}


/*recruit*/
.recruit_sec01{
	padding: 9.6rem 0 18rem;
}
.recruit_dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 9rem;
}
.recruit_dt{
	width: calc(100% - 77.4rem);
}
.recruit_dd{
	width: 77.4rem;
}
.recruit_dt .ttl{
	font-size: 4.8rem;
	font-weight: 800;
	line-height: 1.2;
}
.linear_txt{
    background-image: -webkit-linear-gradient(left,#FA8700,#FE0100,#FE0100);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 900;
}
.recruit_dt .txt{
	font-size: 2.4rem;
	line-height: 1.875;
	font-weight: bold;
	margin-top: 3rem;
}

.color_ttl{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #FE0100;
	color: #fff;
	padding: 0 1.8rem;
	height: 5rem;
	font-size: 3rem;
	font-weight: 800;
	letter-spacing: .1em;
}
.recruit_sec01_box{
	border-top: .5rem solid #FE0100;
	padding: 2rem 5.8rem 3rem;
	background: #fff;
}
.recruit_sec01_box .privacy_table{
	border-top: 0;
}
.recruit_sec01_box .privacy_table th{
	vertical-align: middle;
	font-size: 1.8rem;
	line-height: 1.66;
	width: 16rem;
	padding: 2rem 0;
}
.recruit_sec01_box .privacy_table td{
	font-size: 1.8rem;
	line-height: 1.66;
	padding: 2rem 0;
}
.recruit_sec01_box .privacy_table th:before{
	width: 1.7rem;
	height: 1.7rem;
	margin-right: 1.5rem;
	position: relative;
	top: -.2rem;
}
.recruit_sec01_box .privacy_table tr:last-of-type th,
.recruit_sec01_box .privacy_table tr:last-of-type td{
	border-bottom: 0;
}
.privacy_table li{
	padding-left: 1.1em;
	text-indent: -1.1em;
}

.recruit_other{
	padding: 15rem 0 14rem;
	background: #fff;
}
.recruit_other .hd_medium .eng{
	font-size: 2.2rem;
}
.recruit_other .hd_medium .jap{
	font-size: 3.5rem;
}
.recruit_other .hd_medium .linear_txt{
	margin: 0 -.5em;
}
.recruit_other_list{
	margin-top: 3.5rem;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 5.5rem;
}
.recruit_other_list a{
	display: block;
	opacity: 1;
	position: relative;
}
.recruit_other_list .img_box{
	padding-top: 42rem;
}
.recruit_other_list .ttl{
	position: absolute;
	left: 3rem;
	bottom: 3rem;
	z-index: 9;
}

.bg_span{
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    grid-gap: .7rem 0;
}
.bg_span span{
    font-size: 3.1rem;
    line-height: 4.9rem;
    font-weight: 800;
    padding: 0 1.1rem;
    color: #fff;
    background-image: -webkit-linear-gradient(30deg,#FA8700,#FE0100);
    white-space: nowrap;
}

.recruit_other_list .flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 1.3rem;
}
.recruit_other_list .name{
	font-size: 3.5rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	grid-gap: 2rem;
}
.recruit_other_list .name span{
	font-size: 2.4rem;
	font-weight: bold;
}

/*recruit_other*/
.other_sec01{
	padding: 18rem 0;
}
.other_top{
	padding-left: 10rem;
	position: relative;
	z-index: 2;
	font-size: 2.6rem;
	line-height: 1.92;
	font-weight: bold;
	margin-bottom: 13rem;
}
.other_top:before{
	content: '“';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	font-size: 65rem;
	line-height: 1;
	font-weight: 400;
	color: #FE0100;
	opacity: .15;
	transform: translateY(-20%);
    font-family: 'DIN Condensed';
}
.other_dl01{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 13rem;
}
.flex_start.other_dl01{
	align-items: flex-start;
}
.other_dl01.right_dl{
	flex-direction: row-reverse;
}
.other_dt01{
	width: 69rem;
	position: relative;
}
.other_dt01:before{
	content: '';
	position: absolute;
	left: -5.2rem;
	bottom: -5.2rem;
	width: 13.1rem;
	height: 13.1rem;
	z-index: 9;
	background: url(../img/recruit_other01/before_img.png)no-repeat;
	background-size: 100% 100%;
}
.name_dl .other_dt01:before{
	content: none;
}
.other_dd01{
	width: 73rem;
}
.other_hd{
	font-size: 4rem;
	line-height: 1.2;
	margin-bottom: 6rem;
}
.small.other_hd,
.other_list01 .other_hd{
	font-size: 3.5rem;
	line-height: 1.3;
	margin-bottom: 3.5rem;
}
.faq_dl{
	position: relative;
}
.faq_dl+.faq_dl{
	margin-top: 4rem;
}
.faq_dl dt{
	display: flex;
	font-size: 2.3rem;
	line-height: 1.3;
	font-weight: bold;
	margin-bottom: 2rem;
}
.faq_dl dt span{
	vertical-align: baseline;
	width: 3.9rem;
	min-width: 3.9rem;
	height: 3.9rem;
	margin-right: 1.6rem;
	padding-top: 0.7rem;
	font-size: 2.5rem;
	border: 1px solid;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	top: -.5rem;
}
.faq_dl dd{
	position: relative;
	padding-left: 5.5rem;
	font-size: 1.6rem;
	line-height: 1.875;
}
.faq_dl dd:before{
	content: '';
	position: absolute;
	left: 1.9rem;
	top: 0;
	z-index: 1;
	border-left: 1px solid;
	height: 100%;
}
.faq_dl .item+.item{
	margin-top: 2.5rem;
}
.faq_dl .name{
	background: #fff;
	padding: 0 1.2rem;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: .1em;
	margin-bottom: 1.5rem;
}

.other_list01{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 4.5rem;
}
.other_list01+.other_dl01{
	margin-top: 11rem;
}

.other_img02{
	margin: 8rem 0;
}

.other_dl01_name{
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 9;
	background: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 0 1rem;
}
.other_dl01_name span{
	font-size: 2.2rem;
}

/*strengths*/
.strengths_wrap{
	padding: 18rem 0;
}
.strengths_dl+.strengths_dl{
	padding-top: 8rem;
	margin-top: 8rem;
	border-top: 1px solid #969696;
}
.strengths_dl{
	display: flex;
	justify-content: space-between;
}
.strengths_dl:nth-of-type(even){
	flex-direction: row-reverse;
}
.strengths_dt{
	width: 67.5rem;
	position: relative;
}
.strengths_dt:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 9;
	width: 6.2rem;
	height: 6.2rem;
    background-image: -webkit-linear-gradient(-45deg,#FA8700,#FE0100);
}
.strengths_dd{
	width: 73.2rem;
}
.strengths_dl dl{
	display: flex;
	align-items: center;
	grid-gap: 2.5rem;
}
.strengths_dl dt{
	font-size: 19.4rem;
	line-height: 1;
	opacity: .1;
}
.strengths_dl dd{
	font-size: 4.6rem;
	font-weight: 800;
	line-height: 1.3;
}
.strengths_dl dd span{
	display: inline-block;
}
.strengths_dl .txt{
	font-size: 2.2rem;
	line-height: 1.8;
}

/*works*/
.works_wrap{
	padding: 17rem 0;
}
.works_dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10rem;
}
.works_dl dt{
	font-size: 4rem;
	line-height: 1.2;
	font-weight: 900;
}
.works_dl dd{
	width: 73rem;
	font-size: 2rem;
	line-height: 1.75;
}
.works_box{
	border-top: .5rem solid #FE0100;
	padding: 6.8rem 8rem;
	background: #fff;
}
.works_box ul{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 6rem 4rem;
}
.works_box li .img_box{
	padding-top: 59.6%;
}
.works_box li .img_box:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 9;
	width: 2.6rem;
	height: 2.6rem;
    background-image: -webkit-linear-gradient(-45deg,#FA8700,#FE0100);
}
.works_box li .ttl{
	font-size: 2.2rem;
	font-weight: 800;
	letter-spacing: .04em;
	margin: 2rem 0 1.6rem;
}
.works_box li .txt{
	font-size: 1.8rem;
	line-height: 1.38;
}

/*machine*/
.machine_wrap{
	padding: 15rem 0 22rem;
}
.machine_top{
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.81;
	margin-bottom: 9rem;
}
.machine_dl+.machine_dl{
	margin-top: 7.2rem;
}
.machine_dl{
	background: #fff;
	display: flex;
}
.machine_dt{
	position: relative;
	width: 63rem;
}
.machine_dd{
	width: calc(100% - 63rem);
	padding: 3rem 4.5rem;
	display: flex;
	align-items: center;
}
.machine_dl .img_box{
	padding-top: 34rem;
}
.machine_dl .ttl{
	color: #fff;
	background: #FE0100;
	padding: 0 2.5rem;
	font-size: 3.1rem;
	line-height: 5.4rem;
	font-weight: 800;
	letter-spacing: .1em;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 9;
}

.machine_slick .slick-dots{
	position: absolute;
	left: 2.6rem;
	right: 0;
	bottom: 2.2rem;
	transform: none;
}
.machine_slick .slick-dots li{
	margin: 0 1.2rem 0 0;
}
.machine_slick_item{
	position: relative;
}
.machine_slick_item .txt{
	position: absolute;
	z-index: 10;
	left: 2.6rem;
	bottom: 4rem;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
}

.machine_table{
	width: 100%;
}
.machine_table th,
.machine_table td{
	padding: 1.8rem 0;
	border-bottom: 1px solid #4E4E4E;
}
.machine_table th{
	font-size: 2.2rem;
	padding-right: 3rem;
	white-space: nowrap;
	font-weight: bold;
	vertical-align: baseline;
}
.machine_table th:before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 1.5rem;
	height: 1.5rem;
	margin-right: 1.5rem;
	background: url(../img/top/dot_li.svg)no-repeat;
	background-size: 100% 100%;
}
.machine_table td{
	font-size: 2.2rem;
	font-weight: 500;
	width: 100%;
}
.machine_table tr:last-of-type th,
.machine_table tr:last-of-type td{
	border-bottom: 0;
}
.machine_table th span{
	margin-right: -30rem;
}
.machine_table a{
	grid-gap: .8rem;
	margin-top: .5rem;
	color: #FE0100;
}

.machine_super_lifter{
	margin: 21.8rem auto 0;
	max-width: 103.6rem;
}
.machine_super_lifter a{
	opacity: 1;
	display: block;
	padding: 8rem 7.2rem 6.4rem;
	border-radius: 1rem;
	background: url(../img/machine/bg_super.png)no-repeat center center;
	background-size: cover;
	color: #fff;
}
.machine_super_lifter .hd_medium{
	margin-bottom: 2rem;
}
.machine_super_lifter .hd_medium .eng{
	font-size: 2.5rem;
}
.machine_super_lifter .hd_medium .jap{
	font-size: 4.1rem;
}
.machine_super_lifter .btn_link01 .btn_link01_arrow {
	width: 6.2rem;
	height: 6.2rem;
    border: 1px solid #fff;
    background: url(../img/common/arrow_blue.svg) no-repeat center center #fff!important;
    background-size: 1rem auto!important;
}
.machine_super_lifter a:hover .btn_link01 .btn_link01_arrow {
    background: url(../img/common/arrow_nav_white.svg) no-repeat center center!important;
    background-size: 1rem auto!important;
}

/*anniversary*/
.anniversary_teaser img{
	width: 100%;
}
.anniversary_sec01{
	background: url(../img/anniversary/bg_sec01.png)no-repeat center top;
	background-size: cover;
	padding: 17rem 0 23rem;
	text-align: center;
}
.anniversary_sec01_ttl{
	font-size: 7.3rem;
	line-height: 1.28;
	font-weight: 800;
}
.anniversary_sec01_ttl span{
    background-image: -webkit-linear-gradient(30deg,#FA8700,#FE0100);
    white-space: nowrap;
    color: #fff;
    display: inline-block;
}
.anniversary_sec01_ttl font{
	margin: 0 -.4em;
}
.anniversary_sec01_sub{
	font-size: 3.5rem;
	font-weight: 800;
	margin: 5.8rem 0 2rem;
}
.anniversary_sec01_txt{
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 2.14;
}

.anniversary_sec02{
	padding: 16rem 0;
	background: #fff;
}
.anniversary_sec02_dl{
	display: flex;
	justify-content: space-between;	
}
.anniversary_sec02_dt{
	width: 80rem;
}
.anniversary_sec02_dd{
	width: 60rem;
}
.anniversary_wrap .hd_medium .eng{
	font-size: 2.2rem;
}
.anniversary_wrap .hd_medium .jap{
	font-size: 3.5rem;
}
.anniversary_sec02_dl .ttl{
	font-size: 3.5rem;
	font-weight: 800;
	line-height: 1.2;
	margin: 4rem 0 2.5rem;
}
.anniversary_sec02_dl .ttl span{
	font-size: 4rem;
	font-weight: 900;
	margin: 0 -.5em;
}
.anniversary_sec02_dl .txt{
	font-size: 1.8rem;
	line-height: 1.94;
}
.anniversary_sec02_dl .txt span{
    background-image: -webkit-linear-gradient(30deg,#FA8700,#FE0100);
    white-space: nowrap;
    color: #fff;
    font-weight: 900;
}
.anniversary_sec02_dl .name{
	margin-top: 3rem;
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: bold;
}
.anniversary_sec02_dl .name span{
	display: block;
	font-size: 4.2rem;
}

.anniversary_sec03{
	padding: 20rem 0 25rem;
}
.anniversary_sec03_dl{
	display: flex;
	justify-content: space-between;	
	align-items: center;
}
.anniversary_sec03_dt{
	width: 85rem;
}
.anniversary_sec03_dd{
	width: 53.5rem;
}
.anniversary_sec03_txt{
	margin-top: 4rem;
	font-size: 2.3rem;
	line-height: 2.17;
	font-weight: bold;
}
.anniversary_sec03_txt font{
	color: #FE0100;
}
.anniversary_sec03_ttl{
	font-size: 3rem;
	font-weight: 800;
	line-height: 1.83;
}
.anniversary_box{
	background: url(../img/anniversary/bg_sec03.png)no-repeat;
	background-size: cover;
	border-radius: 2rem;
	padding: 10rem 12.5rem 8rem;
	margin-top: 13rem;
	color: #fff;
}

.anniversary_box_dl01{
	display: flex;
	justify-content: space-between;
}
.anniversary_box_dt01{
	width: 57.6rem;
}
.anniversary_box_dd01{
	width: 60rem;
	font-size: 2.2rem;
	font-weight: 800;
	line-height: 1.81;
}
.anniversary_box_dt01 .categ{
	display: inline-flex;
	align-items: center;
	height: 4.1rem;
	padding: 0 1.5rem;
	font-size: 2.5rem;
	letter-spacing: .1em;
	font-weight: 800;
	color: #000;
	background: #fff;
}
.anniversary_box_dt02 .categ{
	display: inline-flex;
	align-items: center;
	height: 4.1rem;
	padding: 0 1.5rem;
	font-size: 2.5rem;
	letter-spacing: .1em;
	font-weight: 800;
	color: #000;
	background: #fff;
	margin-bottom: 3rem;
}
.anniversary_box_dt01 .ttl{
	margin-top: 1rem;
	font-size: 5.2rem;
	font-weight: 800;
	line-height: 1.2;
	text-indent: -.5em;
}
.anniversary_box_dl02{
	padding-top: 7.5rem;
	margin-top: 7.5rem;
	border-top: 2px solid #FFFFFF;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.anniversary_box_dt02{
	width: 57.6rem;
	position: relative;
}

.anniversary_swiper .img_box{
	padding-top: 44.9rem;
}
.anniversary_swiper_ttl{
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .1em;
	position: absolute;
	left: 0;
	bottom: 2rem;
	z-index: 9;
	width: 100%;
	text-align: center;
	color: #000;
}
.anniversary_swiper_ttl span{
	display: block;
	letter-spacing: 0;
	font-size: 2.5rem;
	font-weight: 800;
}

.swiper_nav{
	position: absolute;
	right: 2rem;
	bottom: 1.8rem;
	z-index: 10;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	grid-gap: 1rem;
	font-size: 1.4rem;
	font-weight: 400;
	color: #000;
}
.swiper_nav button{
	background: none;
	padding: 0;
	border: 0;
	font-family: inherit;
	text-decoration: underline;
	cursor: pointer;
}
.swiper_nav button.active{
	color: #ED0100;
}

/*company*/
.small.hd_medium .eng{
	font-size: 2.2rem;
}
.small.hd_medium .jap{
	font-size: 3.5rem;
}

.company_sec01{
	padding-top: 17rem;
}
.company_sec01_txt{
	text-align: center;
	font-size: 3rem;
	font-weight: 800;
	margin: 3.5rem 0 4rem;
}
.company_sec01_txt font{
	color: #FE0100;
}

.company_sec02{
	padding: 12rem 0 13.5rem;
}
.company_sec02_table{
	margin-top: 4.5rem;
	width: 100%;
	border-top: .5rem solid #FE0100;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 7.5rem;
}
.company_sec02_table table{
	width: 100%;
}
.company_sec02_table table th,
.company_sec02_table table td{
	font-size: 1.6rem;
	line-height: 1.5;
	padding: 2rem 0;
	border-bottom: 1px solid;
}
.company_sec02_table table th{
	width: 13rem;
	vertical-align: middle;
	font-weight: bold;
}
.company_sec02_table table .baseline th,
.company_sec02_table table .baseline td{
	vertical-align: baseline;
}
a.target_link{
	display: inline-block;
	padding-right: 2.3rem;
	background: url(../img/company/icon_target.svg)no-repeat right center;
	background-size: 1.4rem auto;
}
a.map_link{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 2.6rem;
	padding: 0 2.7rem 0 1.5rem;
	font-size: 1.2rem;
	font-weight: 500;
	background: url(../img/company/icon_map.svg)no-repeat right 1rem center;
	background-size: .6rem auto;
	border: 1px solid;
	border-radius: 1.5rem;
}
.iframe_box {
    position: relative;
    width: 100%;
    padding-top: 56%;
}
.iframe_box iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.company_sec02_table .iframe_box{
	margin-top: 2rem;
	margin-left: -13rem;
	width: auto;
}

.company_sec03{
	padding: 12.5rem 0;
	background: url(../img/company/bg_sec03.jpg)no-repeat center center;
	background-size: cover;
}
.company_sec03_dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.company_sec03_dt{
	width: 69.3rem;
}
.company_sec03_dd{
	width: 72.5rem;
}

.company_sec03_table{
	margin-top: 2rem;
	width: 100%;
	border-top: .5rem solid #FE0100;
}
.company_sec03_table th,
.company_sec03_table td{
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 500;
	padding: 1.4rem 0;
	vertical-align: baseline;
	border-bottom: 1px solid #000;
	width: calc(100% - 13.4rem);
}
.company_sec03_table th{
	font-size: 1.6rem;
	width: 13.4rem;
	font-weight: bold;
}
.company_sec03_table th:before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 1.5rem;
	height: 1.5rem;
	margin-right: 1.1rem;
	background: url(../img/top/dot_li.svg)no-repeat;
	background-size: 100% 100%;
}

.company_sec03_table dl{
	display: flex;
}
.company_sec03_table dt{
	width: 5rem;
	font-weight: bold;
}
.company_sec03_table dd{
	width: calc(100% - 5rem);
}

.company_sec04{
	padding: 14.4rem 0 17.5rem;
}
.company_sec04_ttl{
	font-size: 4.5rem;
	margin: 4.8rem 0 1rem;
}
.company_sec04_txt{
	font-size: 2rem;
	font-weight: 500;
}
.company_sec04_list{
	margin-top: 6rem;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 4rem;
}
.company_sec04_list li{
	position: relative;
}
.company_sec04_list .img_box{
	padding-top: 59.7%;
}
.company_sec04_list .point{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 5;
	width: 3.6rem;
	height: 3.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: linear-gradient( -45deg, #FE0100 , #FA7D00);
	color: #fff;
	font-size: 2.7rem;
}
.company_sec04_list .ttl{
	font-size: 2.5rem;
	font-weight: 800;
	margin: 1.8rem 0 1.5rem;
}
.company_sec04_list .txt{
	font-size: 1.6rem;
}

/*services*/
.services_sec01{
	padding: 18rem 0 16rem;
}
.services_sec01_dl01{
	display: flex;
	justify-content: space-between;
	margin-bottom: 6.8rem;
}
.services_sec01_dt01{
	width: 65.8rem;
}
.services_sec01_dd01{
	width: 77rem;
}
.services_sec01_box{
	background: #fff;
	padding: 4.8rem 4.5rem 3.8rem;
	border-top: .5rem solid #FE0100;
}
.services_sec01_box .company_sec04_list{
	margin-top: 0;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 3.7rem;
}


.services_sec02{
	padding: 19.5rem 0 15.6rem;
	background: #fff;
}
.services_sec02_box{
	background: #F1F1F1;
	padding: 4.8rem 4.5rem 3.8rem;
	border-top: .5rem solid #FE0100;
}
.services_sec02_dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.services_sec02_dt{
	width: 58.4rem;
}
.services_sec02_dd{
	width: 71.5rem;
}
.services_sec02_dt li{
	padding: .4rem 0;
	border-bottom: 1px solid #4E4E4E;
	font-size: 1.8rem;
	line-height: 1.94;
}
.services_sec02_dt li .ttl{
	padding-left: 3.3rem;
	font-weight: bold;
	position: relative;
}
.services_sec02_dt li .ttl:before{
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
	height: 1.5rem;
	background: url(../img/top/dot_li.svg)no-repeat;
	background-size: 100% 100%;
}
.services_sec02_dt li .txt{
	padding-left: 3.3rem;
	margin-bottom: .4rem;
}
.services_sec02_box .company_sec04_list{
	margin-right: 3rem;
	margin-top: 3rem;
	display: block;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 3.7rem;
}

.services_sec03{
	padding: 13rem 0 11rem;
	background: url(../img/services/bg_sec03.jpg)no-repeat center center;
	background-size: cover;
}
.services_sec03 .services_sec04_ttl{
	margin: 3rem 0;
}
.services_sec03_list{
	display: grid;
	grid-template-columns: repeat(7,1fr);
	grid-gap: 1.2rem;
	position: relative;
}
.services_sec03_list:before{
	content: '';
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 7.2rem;
	background: url(../img/services/bg_ttl.png)no-repeat top center;
	background-size: 100% 7.2rem;
}
.services_sec03_list li{
	position: relative;
}
.services_sec03_list li:before{
	content: '';
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 7.2rem);
	background: #fff;
}
.services_sec03_list .ttl{
	position: relative;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 7.2rem;
	color: #fff;
	font-size: 2.2rem;
	line-height: 1.1;
	font-weight: 800;
	padding-left: 2rem;
}
.services_sec03_list .ttl span{
	font-size: 3rem;
	line-height: 1;
}
.services_sec03_list .txt{
	padding: 2rem 1.4rem 2.4rem;
	font-size: 1.7rem;
}

.services_sec04{
	padding-bottom: 2rem;
}
.services_sec04_dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.services_sec04_dt{
	width: 51rem;
	padding-bottom: 12.8rem;
}
.services_sec04_dd{
	width: 113rem;
	margin-right: -13.4rem;
}
.services_sec04_ttl{
	margin: 3.5rem 0 2.8rem;
	font-size: 4.6rem;
	font-weight: 800;
	line-height: 1.3;
}
.services_sec04_ttl span{
	display: inline-block;
}
.services_sec04_txt{
	font-size: 2rem;
	line-height: 1.75;
}

/*lifter*/
.lifter_bg{
	background: url(../img/lifter/bg_teaser.jpg)no-repeat center center;
	background-size: cover;
}
.teaser_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 1.8rem;
}
.teaser_list li{
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 18.6rem;
	height: 18.6rem;
	background: #1D4695;
	box-shadow: inset 0 0 2rem #778EDD;
	color: #fff;
	font-size: 6rem;
	text-transform: lowercase;
}
.teaser_list li font{
	font-size: 8rem;
	margin-right: .1em;
}

.lifter_sec01{
	padding: 17.5rem 0 0;
}
.lifter_sec01_dl{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.lifter_sec01_dt{
	width: 85rem;
}
.lifter_sec01_dd{
	width: 59.3rem;
}
.lifter_sec01 .services_sec04_ttl{
	margin: 3rem 0;
}
.lifter_sec01_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 3rem;
	margin-top: 4rem;
}
.lifter_box{
	background: #fff;
	height: 100%;
}
.lifter_box_ttl{
	font-size: 2.8rem;
	font-weight: 800;
	letter-spacing: .1em;
	color: #fff;
	background: #002B7B;
	padding: 1.1rem 2.7rem;
}
.lifter_box_cont{
	padding: 2.3rem;
}
.lifter_box_txt{
	font-size: 1.8rem;
	line-height: 1.66;
}

.lifter_sec01_box01{
	margin-top: 8rem;
}
.lifter_sec01_box01 .lifter_box_cont{
	padding: 3rem 0;
}
.lifter_sec01_box01_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
}
.lifter_sec01_box01_list li{
	padding: 0 5rem;
}
.lifter_sec01_box01_list li+li{
	border-left: 1px solid #B9B9B9;
}
.lifter_sec01_box01_list .ttl{
	font-size: 2.9rem;
	font-weight: bold;
	margin-bottom: 2rem;
	padding-left: 4.4rem;
	position: relative;
}
.lifter_sec01_box01_list .ttl:before{
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 3.3rem;
	height: 3.3rem;
	background: url(../img/lifter/checkbox.svg)no-repeat;
	background-size: 100% 100%;
}

.lifter_sec01_box02{
	margin-top: 6.5rem;
}
.lifter_sec01_box02 .lifter_box_cont{
	padding: 4rem 4.5rem 4.5rem;
}
.lifter_sec01_box02_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 1.5rem;
}
.lifter_sec01_box02_list li{
	border-radius: 1rem;
	background: #E2E8F2;
	padding: 2rem 3rem;
}
.lifter_sec01_box02_list dl{
	display: flex;
	align-items: center;
}
.lifter_sec01_box02_list dt{
	font-size: 4.2rem;
	color: #002B7B;
	width: 6rem;
}
.lifter_sec01_box02_list dd{
	width: calc(100% - 6rem);
	font-size: 2.5rem;
	font-weight: bold;
}

.lifter_sec02{
	padding-top: 14rem;
}
.lifter_sec02_list{
	margin-top: 2.5rem;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 2rem;
}
.lifter_sec02_list li{
	background: #fff;
	border: 1px solid #ADADAD;
	padding: 2.7rem 3.5rem;
}
.lifter_sec02_list .categ{
	display: flex;
	flex-wrap: wrap;
	grid-gap: 1rem 1.5rem;
	font-size: 1.4rem;
	letter-spacing: .1em;
}
.lifter_sec02_list .categ span{
	padding: 0 1rem;
	background: #E2E8F2;
	line-height: 2.4rem;
}
.lifter_sec02_list .ttl{
	margin: 1rem 0 .5rem;
	font-size: 2rem;
	font-weight: bold;
	color: #002B7B;
}
.lifter_sec02_list .txt{
	font-size: 1.6rem;
}

.lifter_sec03{
	padding: 16rem 0 25rem;
}
.lifter_sec03_item{
	margin-top: 4rem;
}
.lifter_sec03_item .lifter_box+.lifter_box{
	margin-top: 6rem;
}
.lifter_sec03_item .lifter_box_cont{
	padding: 4rem 3.5rem;
}
.lifter_sec03_dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.lifter_sec03_dt{
	width: 54.8rem;
}
.lifter_sec03_dd{
	width: 84rem;
}
.lifter_sec03_dl ul{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 2rem;
}
.lifter_sec03_dl table{
	width: 100%;
}
.lifter_sec03_dl table th,
.lifter_sec03_dl table td{
	font-size: 1.6rem;
	padding: 1.4rem 0;
	vertical-align: baseline;
	border-bottom: 1px solid #6A6A6A;
}
.lifter_sec03_dl table th{
	width: 15.5rem;
	font-weight: bold;
}
.lifter_sec03_dl table tr:last-of-type th,
.lifter_sec03_dl table tr:last-of-type td{
	border-bottom: 0;
}



.anchor_link{
    position: relative;
}
.anchor_link span{
    position: absolute;
    top: -8.8rem;
}

.wpcf7-spinner{
	position: absolute;
	left: 100%;
	top: 10%;
	margin: 0 1.5rem;
}

.top_sec02_dt img+img{
	margin-top: 1.5rem;
}


/*0616*/
.mv_btn{
	position: absolute;
	right: 4rem;
	bottom: 9rem;
	z-index: 9;
	width: 25rem;
	height: 25rem;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition: opacity .4s;
}
.mv_btn:hover{
	opacity: .7;
}
.mv_btn_txt{
	width: 11.8rem;
	position: relative;
	z-index: 5;
}
.mv_btn_border{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	animation: circle 18s infinite linear;
}
@keyframes circle {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}