.wrap{max-width: 1000px; margin: 0 auto; padding: 0 20px;}
.cat_name{ text-align: center; margin: 50px 0;}
.cat_name h2{ font-size: 6rem; font-style: normal; font-weight: bold; display: table; margin: 0 auto; background: linear-gradient(transparent 75%, #EB868C 0%); padding: 0 20px;}
.cat_name + p{font-size: 2rem; text-align: center; line-height: 1.8}

.main_visual{margin: 80px calc(50% - 50vw); width: 100vw; }
.main_visual img{width: 100%; }
.unit_01{margin-top: 80px;}
.heading01 {color: #fff; font-size: 3rem; display: flex; align-items: center; font-weight: 500; margin-bottom: 40px;}
.heading01:before, .heading01:after {content: ""; flex-grow: 1; height: 1px; background: #fff; display: block;}
.heading01:before { margin-right: .4em;}
.heading01:after {margin-left: .4em;}
.heading01 + p{line-height: 1.8}
.img{text-align: center; margin: 60px 0;}
.img img{max-width: 100%;}

.table > div.table_wrap{width: 960px;display: flex; padding: 170px 0 0 0; align-items: flex-end; justify-content: space-between; background: url(../img/career_image.png) center top no-repeat;}
.table div table {border-top: solid 5px #fff; width: 25%; margin: 0 1px 0 0}
.table div table tr th{ background: #E4555E; line-height: 1; font-size: 1.4rem; color: #fff; padding: 10px; text-align: center; font-weight: 500; border: solid 1px #fff;}
.table div table:nth-child(2) tr th{ padding: 30px 10px;}
.table div table:nth-child(3) tr th{ padding: 60px 10px;}
.table div table:nth-child(4) tr th{ padding: 90px 10px;}
.table div table tr.position th{ background: #D80C18; }
.table div table:nth-child(2) tr.position th{width: 33.333%}
.table div table:last-child tr.position th{text-align: left; line-height: 1.8; width: 25%;}
.table div table tr td{ background: #fff; padding: 20px; color: #000;}
.table div table tr td h4{ color: #D80C18; font-size: 2rem; font-weight: 500; }
.table div table tr td h4 + span{color: #D80C18; font-weight: 500; }
.table div table tr td h4 + span + p{ font-weight: 200; margin-top: 20px;}

.training h4{font-size: 2rem; font-weight: 500; margin: 60px 0 40px 0;}
.training .unit_01_inner{margin-bottom: 20px;}
.training .unit_01_inner h4{ font-size: 1.6rem; display: inline-block; padding: 10px; background: #fff; color: #D80C18; box-shadow: 2px 2px 5px #D31414; margin: 0;}
.training h4 + p{ margin-bottom: 20px; }
.training .unit_01_inner p{ color: #fff; background: #E4555E; margin-top: -20px; padding: 35px 20px 20px 20px; line-height: 1.5;}
.bgarrow{ padding-bottom: 20px; background: url('../img/arrow.png') 10px bottom no-repeat; }

.entry_area { padding-top: 50px; background: url(/recruit/kanto/img/wave_footer2.gif) center 0 no-repeat !important;}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon{display: none}

@media screen and (max-width: 980px) {
.table{ overflow: auto; white-space: nowrap; padding: 0;}
}

@media screen and (max-width: 650px) {
.scroll-hint-icon-wrap.is-active .scroll-hint-icon{display: block}
.cat_name{margin: 30px 0}
.cat_name h2{font-size: 3rem;}
.cat_name + p{font-size: 1.4rem; margin-bottom: 20px; line-height: 1.5;}
.cat_name + p br{display: none;}
.main_visual{margin: 40px calc(50% - 50vw); }
.heading01{font-size: 2.3rem; margin-bottom: 20px;}
.unit_01{margin-top: 40px;}
.img{ margin: 20px 0;}
.training h4{margin: 20px 0; font-size: 1.6rem;}
}