@charset "UTF-8";

/* ---------------------------------------------
	SPECIAL
--------------------------------------------- */
#special{
    margin-bottom: 4em;
    background: #fff url("../../img/bg01.png") no-repeat center 0;
    background-attachment: fixed;
    position: relative;
    z-index: 500;
}
/*.cx_smartphoneview #mainWrap{
    background-attachment: scroll;
    background-repeat: repeat-y;
}*/

/*------------------タイトル------------------*/
.special__ttl{
    height: 120px;
    background-color: #00aabe;
    position: relative;
    background-image: url("../../img/bg01.png"), url("../../internship/photo/main.jpg");
    background-repeat: no-repeat, no-repeat;
    background-position: center 0, center 0;
    background-size: auto, cover;
    background-attachment: fixed, fixed;
    margin-bottom: 4em;
}
@media screen and (max-width: 960px) {
    .special__ttl{ margin-bottom: 3em;}
}
@media screen and (max-width: 450px) {
    .special__ttl{ margin-bottom: 2em;}
}
/*.cx_smartphoneview #topVisual{
    background: none;
}
.cx_smartphoneview #topVisual::before{
    content:"";
    display:block;
    position:fixed;
    top:0;
    left:0;
    z-index:10;
    width:100%;
    height:100vh;
    background-image: url("../../img/bg01.png"), url("../../internship/photo/main.jpg");
    background-repeat: no-repeat, no-repeat;
    background-position: center 0, center 0;
    background-size: auto, contain;
    background-attachment: scroll, scroll;
}*/
.special__ttl h2{
    background: url("../img/ttl_special.svg") no-repeat center 0;
    width: 200px;
    height: 37px;
    position: absolute;
    top: 40%;
    left: 0;
    right: 0;
    margin: -19px auto 0;
    text-indent: -300%;
    overflow: hidden;
    white-space: nowrap;
    z-index: 500;
}
@media screen and (max-width: 450px) {
    .special__ttl h2{
        height: 6vw;
        background-size: contain;
        margin-top: -3vw;
    }
}
.special__ttl div:nth-of-type(1){
    width: 200px;
    height: 5px;
    background-color: #ffde48;
    position: absolute;
    top: 40%;
    left: 50%;
    right: 0;
    margin: 19px 0 0 -85px;
    z-index: 400;
}
.special__ttl div:nth-of-type(2){
    width: 180px;
    height: 40px;
    background-color: rgba(0,0,0,0.3);
    position: absolute;
    top: 40%;
    left: 50%;
    right: 0;
    margin: -6px 0 0 -70px;
    z-index: 300;
}


/*------------------メイン------------------*/
.special__main{
    width: 96%;
    margin: 0 auto;
}
@media screen and (min-width:1200px) {
    .special__main{ width: 1152px;}
}
.special__main__list{
    display: flex;
    flex-wrap: wrap;
}
.special__main__list li{
    flex-shrink: 0;
    width: 30%;
    margin: 1em 5% 2.4em 0;
    padding-bottom: 0.6em;
}
.special__main__list li:nth-of-type(3n){ margin-right: 0;}
@media screen and (max-width: 960px) {
    .special__main__list li{
        width: 48%;
        margin-right: 4%;
    }
    .special__main__list li:nth-of-type(3n){ margin-right: 4%;}
    .special__main__list li:nth-of-type(2n){ margin-right: 0;}
}
.recruit_smartphoneview .special__main__list li{
    padding-bottom: 0;
    margin-bottom: 1.0em;
}
.recruit_pcview .special__main__list li::after {
  background: #ffde48;
  content: '';
  width: 100%;
  height: 0.3em;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 300ms;
}
.recruit_pcview .special__main__list li:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.special__main__list li.new a::before{
    top: -5px;
    left: -0.2em;
}
.special__main__list__photo img{
    width: 100%; height: auto;
    display: none;
}
.special__main__list__subttl{
    font-size: 90%;
    display: block;
    padding: 0.3em 0.5em;
    line-height: 1.2;
    background-color: #00a0e9;
    color: #fff;
    font-weight: 600;
    margin: 0 -0.3em 0.5em -0.3em;
    position: relative;
    z-index: 555;
}
.special__main__list__ttl{
    line-height: 1.6;
}
.special__main__list__ttl.ex::before{
    content: "";
    display: inline-block;
    background: url(../../img/icn_exLink.svg) no-repeat 0 0;
    width: 1.2em;
    height: 1.0em;
    background-size: contain;
    margin-top: 0.2em;
    margin-right: 0.1em;
}
@media screen and (max-width: 500px) {
    .special__main__list__subttl{ font-size: 2.6vw;}
    .special__main__list__ttl{ font-size: 3.1vw;}
}
.special__link{
    width: 60%;
    margin: 0 auto;
}
.special__link .btn_def{
    background-color: #00aabe;
    color: #fff;
}
.special__link .btn_def p{ font-size: 110%;}
@media screen and (min-width:1200px) {
    .special__link{ width: 720px;}
}
@media screen and (max-width: 500px) {
    .special__link{ width: 80%;}
}
