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

.wrap_tab{max-width: 960px; margin: 0 auto; }
#tab-button { display: table; table-layout: fixed; width: 100%; margin: 60px auto 40px; padding: 0; list-style: none; border-bottom: solid 5px #fff;}
#tab-button li { display: table-cell; width: 25%; margin:0;}
#tab-button li a { display: block; padding: .5em; background: #d80c18; border: 1px solid #fff; border-radius: 5px 5px 0 0; text-align: center; color: #fff; margin-right:1px; text-decoration: none;}
#tab-button li:not(:first-child) a {border-left: none;}
#tab-button li a:hover,
#tab-button .is-active a { border-bottom-color: transparent; background: #fff; color:#d80c18;}

.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;}
.unit_01_inner h4 { font-size: 1.6rem; width: 20%; font-weight: 500; display: inline-block; padding: 10px; background: #fff; color: #D80C18; box-shadow: 2px 2px 5px #D31414; margin: 0;}
.items h4{margin: 0 20px 20px 0}
.unit_01_inner p { color: #fff; background: #E4555E; margin-top: -20px; padding: 35px 20px 20px 20px; line-height: 1.5;}
.unit_01_inner p a{ font-weight: 500; text-decoration: underline; }
.unit_01_inner p a:hover{text-decoration: none;}
.unit_01_inner {margin-bottom: 20px;}
.unit_01_inner.flow{ text-align: center; }
.unit_01_inner.flow h4{ width: 50%; display: block; margin: 20px auto; text-align: left }
.unit_01_inner.flow:first-child h4{ margin:0 auto 20px }

.unit_01_inner.performance ul{ padding: 20px; background: #E4555E; }
.unit_01_inner.performance ul li{ list-style: disc; margin: 0 0 20px 20px;}
.unit_01_inner.performance ul li:last-child{ margin-bottom: 0; }

.unit_01_inner.univ ul li{ display: inline-block; background: #E4555E; padding: 10px; margin: 0 10px 10px 0 ; line-height: 1; color: #fff;}

.faq{text-align: center;}
.faq a{display: inline-block; line-height: 1; padding: 20px 35px 20px 20px; font-weight: 500; background: #fff; color:#D80C18;position: relative; vertical-align: middle; }
.faq a::after{position: absolute; top: 0; bottom: 0; right: 0; margin: auto; content: ""; vertical-align: middle;}
.faq a::after{ right: 4px; box-sizing: border-box; width: 12px;  height: 12px; border: 8px solid transparent; border-left: 12px solid #E4555E;}
.faq a:hover{opacity: 0.7;}

.contact p{ padding: 20px; background: #E4555E; line-height: 1.5}
.contact p strong{font-size: 2rem; display: block; margin-bottom: 10px;}
.entry_area { padding-top: 50px; background: url(/recruit/kansai/img/wave_footer2.gif) center 0 no-repeat !important;}

.high_school .main_visual + h3{font-size:3rem; text-align: center; font-weight: bold; margin-bottom: 20px;}
.high_school .main_visual + h3 + p{margin-bottom: 20px; font-size:2rem; line-height: 1.5; font-weight: bold; text-align: center}
.high_school .main_visual + h3 + p + p{margin-bottom: 20px; text-align: center}
.high_school .main_visual + h3 + p + p a{text-decoration: underline; font-weight: bold;}
.high_school .main_visual + h3 + p + p + h3{margin-top: 40px;}
.high_school .main_visual + h3 + p + p + h3 + p{text-align: center; margin-bottom: 40px; line-height: 1.5;}
.high_school .main_visual + h3 + p + p + h3 + p em{font-size: 2rem; font-weight: bold; font-style: normal; display: block;}
.contactinfo{ padding: 20px; line-height: 1.5; width: 60%; margin: 0 auto; background: #fff;color: #d80c18;box-shadow: 0 5px 10px #69050b;}
.contactinfo strong{font-size: 2rem; display: block; margin-bottom: 10px;}

.high_school .entry_area *{display: none;}
.high_school .entry_area{background: url(/recruit/kansai/img/wave_footer2.gif) center -300px no-repeat !important; height: 220px;}

@media screen and (max-width: 650px) {
    .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); }
    #tab-button{display: block;  border-bottom: none; flex-wrap: wrap}
    #tab-button li{ width: 100%; margin-top: 20px; display: block; }
    #tab-button li:not(:first-child) a { border: 1px solid #fff;}
    #tab-button li a{ padding: 1em; margin: 0; border-radius: 5px; }
    .high_school .main_visual + h3{font-size:2rem; }
    .high_school .main_visual + h3 + p{font-size:1.6rem;}
    .high_school .main_visual + h3 + p + p + h3 + p em{font-size: 1.6rem;}
    .contactinfo{width: auto;}
    .contact p strong{font-size: 1.6rem; }
    .heading01{font-size: 2.3rem; margin-bottom: 20px;}
    .heading01 div{width: 50px;}
    .unit_01{margin-top: 40px;}
    .items h4{margin: 0 10px 10px 0}
    .unit_01_inner h4{width: 30%;}
    .unit_01_inner.flow h4{width: 100%; margin: 10px auto;}
    .unit_01.faq{ margin-bottom: 40px;;}
}