@charset "UTF-8";


:before,
:after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.abox {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 10;
}
.spc-link {
   height: 200px;
   background: #FFF;
   position: relative;
}
.spc-link .btn2 {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%,-50%);
   width: 80%;
   max-width: 380px;
}
@media screen and (max-width: 1023px) {
.spc-link {
   height: 150px;
   background: #FFF;
   position: relative;
}
}
.recruitlink {
   z-index: 1;
}

.special03 {
   background: url("../img/spc_img/spc03_main_bg.jpg") no-repeat 60% -50px;
   background-size: 2400px auto;
}
.ttl-area {
   position: relative;
   height: 350px;
   width: 90%;
   max-width: 980px;
   margin: 0 auto;
   z-index: 3;
}
.ttl-area h1 {
   width: 630px;
   position: relative;
   top: 250px;
}
.intro {
   position: relative;
   margin:  0 0;
   padding: 0 0 20px;
   z-index: 2;
}
.intro .ex-deco {
   position: relative;
}
.intro:before {
   content: '';
   position: absolute;
   left: 0;
   top: -240px;
   transform: skewY(-5deg);
   transform-origin: bottom right;
   z-index: -2;
   width: 100%;
   height:calc(100% + 240px);
   background: linear-gradient(#b60355 0%, #cc4e87 100%);
}
.intro:after {
   content: '';
   position: absolute;
   left: 0;
   top: -350px;
   transform: skewY(10deg);
   transform-origin: bottom left;
   z-index: -2;
   width: 100%;
   height: 400px;
   background: rgba(0,0,0,0.25);
}
.intro .ex-deco:after {
   content: '';
   position: absolute;
   left: 0;
   top: 450px;
   transform: skewY(-5deg);
   transform-origin: bottom right;
   z-index: -1;
   width: 100%;
   height: 400px;
   background: rgba(255,255,255,0.25);
}
.block01 {
   position: relative;
   margin: 0 0;
   padding: 150px 0 100px;
   z-index: 2;
}
.block01 .ex-deco {
   position: relative;
}
.block01:before {
   content: '';
   position: absolute;
   left:0;
   top: 0;
   transform: skewY(-5deg);
   transform-origin: bottom right;
   z-index: -1;
   width:100%;
   height:100%;
   background: #F1D1E0;
   opacity: 1;
}

.block02 {
   position: relative;
   margin: 0 0;
   padding: 80px 0 100px;
   z-index: 2;
}
.block02 .ex-deco {
   position: relative;
}
.block02:before {
   content: '';
   position: absolute;
   left:0;
   top: 0;
   transform: skewY(-5deg);
   transform-origin: bottom right;
   z-index: -1;
   width: 100%;
   height: calc(100% + 500px);
   background: linear-gradient(#E290B5 0%, #E3A1BF 80%, rgba(227,161,191,0.00) 100%);
   opacity: 1;
}
.block02 .ex-deco:after {
   content: '';
   position: absolute;
   left: 0;
   top: -350px;
   transform: skewY(10deg);
   transform-origin: bottom left;
   z-index: -1;
   width: 100%;
   height: 500px;
   background: rgba(255,255,255,0.25);
}
.block03 {
   position: relative;
   margin: 0 0;
   padding: 80px 0 0;
   z-index: 2;
}
.block03 .ex-deco {
   position: relative;
}
.block03:before {
   content: '';
   position: absolute;
   left:0;
   top: -100px;
   transform: skewY(5deg);
   transform-origin: bottom left;
   z-index: -1;
   width: 100%;
   height: calc(100% + 200px);
   background: linear-gradient(#F7E4EC 0%, #ffec9a 100%);
   filter: drop-shadow(0px 3px 16px rgba(0, 0, 0, 0.1));
   opacity: 0.8;
}
.block03 .ex-deco:after {
   content: '';
   position: absolute;
   left: 0;
   top: -350px;
   transform: skewY(-5deg);
   transform-origin: bottom right;
   z-index: -1;
   width: 100%;
   height: 500px;
   background: rgba(255,255,255,0.1);
}
.end-block {
   width: 100%;
   height: 500px;
   background-image: url("../img/spc_img/spc03_last.jpg");
   background-repeat: no-repeat;
   background-position: center bottom;
   background-size: 2200px auto;
}

.intro .content-box {
   width: 630px;
   margin: 80px auto;
   z-index: 3;
}
.intro .content-box h2 {
   text-align: center;
   color: #FFF;
   font-size: 32px;
   font-weight: 600;
   line-height: 1.6em;
   margin-bottom: 10px;
}
.intro .content-box .mp01 {
   color: #FFF;
   font-weight: 500;
   font-size: 20px;
}
.withc {
   position: relative;
   display: inline-block;
   font-size: 30px;
   font-weight: 600;
   color: #B60355;
   left: 50%;
   transform: translateX(-50%);
   white-space: nowrap;
}
.withc span {
   color: #FFF;
   font-size: 60px;
   padding: 0 10px;
   top: 20px;
   position: relative;
}
.content-box2 {
   width: 90%;
   max-width: 980px;
   margin: 80px auto;
   z-index: 3;
}
.content-box2 .split-box {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
}
.content-box2 .split-box .txt-box {
   width: 46%;
   position: relative;
   box-sizing: border-box;
   padding: 200px 0 0;
}
.content-box2 .split-box .img-box {
   width: 46%;
   position: relative;
}
.content-box2 .split-box.flip .txt-box {
   order: 1;
}
.content-box2 .split-box.flip .img-box {
   order: 2;
}
.content-box2 .split-box .txt-box .number {
   font-family: 'Barlow', sans-serif;
   font-size: 340px;
   font-weight: 200;
   color: #FFF;
   opacity: .2;
   right: 0;
   position: absolute;
   top: -180px;
   z-index: -1;
   letter-spacing: -.08em;
}
.content-box2 .split-box .txt-box .ttl-box {
   display: inline-block;
   font-size: 30px;
   color: #FFF;
   font-weight: 600;
   line-height: 1.6em;
   padding: 0 10px;
   background: #B60355;
}
.content-box2 .split-box .txt-box h3 {
   font-size: 22px;
   font-weight: 600;
   color: #FFF;
   line-height: 1.6em;
   padding: 15px 0;
}
.content-box2 .split-box .txt-box .sp-p01 {
   color: #FFF;
   font-size: 16px;
}
.insert01 {
   width: 600px;
   right: 0;
   position: absolute;
}
.insert02 {
   width: 600px;
   left: 0;
   position: absolute;
}
.check-list,
.suppport-list {
   width: 80%;
   margin: 50px auto 0;
}
.check-list li {
   text-align: center;
   font-size: 16px;
   font-weight: 500;
   padding-bottom: 10px;
   margin-bottom: 10px;
   position: relative;
}
.check-list li:after {
   width: 22px;
   height: 3px;
   left: calc(50% - 11px);
   bottom: 0;
   background-image: url("../img/spc_img/spc03_dotline.svg");
}
.suppport-list li {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   margin-bottom: 60px;
}
.suppport-list li .txt-box {
   width: 40%;
   padding: 100px 0 0;
   box-sizing: border-box;
}
.suppport-list li .img-box {
   width: 50%;
}
.suppport-list li:nth-child(2) .txt-box {
   order: 2;
}
.suppport-list li:nth-child(2) .img-box {
   order: 1;
}
.suppport-list li .txt-box .p01 {
   font-size: 14px;
   color: #B60355;
   font-weight: 500;
}
.suppport-list li .txt-box .p02 {
   font-size: 16px;
   line-height: 1.6em;
   padding: 20px 0 0;
}
@media screen and (max-width: 1023px) {
.special03 {
   background: url("../img/spc_img/spc03_main_bg.jpg") no-repeat 70% -50px;
   background-size: 1100px auto;
}
.ttl-area {
   position: relative;
   height: 120px;
   width: 90%;
   margin: 0 auto;
   z-index: 3;
}
.ttl-area h1 {
   width: 280px;
   position: relative;
   top: 100px;
}
.intro {
   position: relative;
   margin: 0 0;
   padding: 0 0 20px;
   z-index: 2;
}
.intro .ex-deco {
   position: relative;
}
.intro:before {
   content: '';
   position: absolute;
   left: 0;
   top: -120px;
   transform: skewY(-5deg);
   transform-origin: bottom right;
   z-index: -2;
   width: 100%;
   height:calc(100% + 140px);
   background: linear-gradient(#b60355 0%, #cc4e87 100%);
}
.intro:after {
   content: '';
   position: absolute;
   left: 0;
   top: -350px;
   transform: skewY(10deg);
   transform-origin: bottom left;
   z-index: -2;
   width: 100%;
   height: 200px;
   background: rgba(0,0,0,0.25);
}
.end-block {
   width: 100%;
   height: 200px;
   background-image: url("../img/spc_img/spc03_last.jpg");
   background-repeat: no-repeat;
   background-position: center bottom;
   background-size: 800px auto;
}
.block01 {
   position: relative;
   margin: 0 0;
   padding: 50px 0 50px;
   z-index: 2;
}
.block02 {
   position: relative;
   margin: 0 0;
   padding: 30px 0 50px;
   z-index: 2;
}
.block02 .ex-deco:after {
   content: '';
   position: absolute;
   left: 0;
   top: -150px;
   transform: skewY(10deg);
   transform-origin: bottom left;
   z-index: -1;
   width: 100%;
   height: 300px;
   background: rgba(255,255,255,0.25);
}
.block03 {
   position: relative;
   margin: 0 0;
   padding: 0px 0 0px;
   z-index: 2;
}
.intro .content-box {
   width: 80%;
   margin: 80px auto;
   z-index: 3;
}
.intro .content-box h2 {
   text-align: center;
   color: #FFF;
   font-size:min(6vw,22px);
   font-weight: 600;
   line-height: 1.6em;
   margin-bottom: 15px;
}
.intro .content-box .mp01 {
   color: #FFF;
   font-weight: 500;
   font-size: 15px;
}
.withc {
   position: relative;
   display: inline-block;
   font-size:min(4.7vw,22px);
   font-weight: 600;
   color: #B60355;
   left: 50%;
   transform: translateX(-50%);
}
.withc span {
   color: #FFF;
   font-size: 20px;
   padding: 0 2px;
   top: 5px;
   position: relative;
}
.content-box2 {
   width: 90%;
   max-width: 980px;
   margin: 80px auto;
   z-index: 3;
}
.content-box2 .split-box {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
}
.content-box2 .split-box .txt-box {
   width: 100%;
   position: relative;
   box-sizing: border-box;
   padding: 100px 0 0;
   order: 1;
}
.content-box2 .split-box .img-box {
   width: 100%;
   position: relative;
   order: 2;
   padding: 40px 0 0;
}
.content-box2 .split-box.flip .txt-box {
   order: 1;
}
.content-box2 .split-box.flip .img-box {
   order: 2;
}
.content-box2 .split-box .txt-box .number {
   font-family: 'Barlow', sans-serif;
   font-size: 240px;
   font-weight: 200;
   color: #FFF;
   opacity: .2;
   right: 0;
   position: absolute;
   top: -120px;
   z-index: -1;
   letter-spacing: -.08em;
}
.content-box2 .split-box .txt-box .ttl-box {
   display: inline-block;
   font-size: 22px;
   color: #FFF;
   font-weight: 600;
   line-height: 1.6em;
   padding: 0 10px;
   background: #B60355;
}
.content-box2 .split-box .txt-box h3 {
   font-size:min(4.7vw,22px);
   font-weight: 600;
   color: #FFF;
   line-height: 1.6em;
   padding: 15px 0;
}
.content-box2 .split-box .txt-box .sp-p01 {
   color: #FFF;
   font-size: 13px;
}
.insert01 {
   width: 100%;
   right: auto;
   position: relative;
}
.insert02 {
   width: 100%;
   left: auto;
   position: relative;
}
.check-list,
.suppport-list {
   width: 90%;
   margin: 20px auto 0;
}
.check-list li {
   text-align: center;
   font-size:min(4vw,15px);
   font-weight: 500;
   padding-bottom: 10px;
   margin-bottom: 10px;
   position: relative;
}
.check-list li:after {
   width: 22px;
   height: 3px;
   left: calc(50% - 11px);
   bottom: 0;
   background-image: url("../img/spc_img/spc03_dotline.svg");
}
.suppport-list li {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   margin-bottom: 60px;
}
.suppport-list li .txt-box {
   width: 100%;
   padding: 0px 0 30px;
   box-sizing: border-box;
}
.suppport-list li .img-box {
   width: 100%;
   max-width: 200px;
   margin: 0 auto;
}
.suppport-list li:nth-child(2) .txt-box {
   order: 1;
}
.suppport-list li:nth-child(2) .img-box {
   order: 2;
}
.suppport-list li .bubble01 {
   font-size: 16px;
}
.suppport-list li .txt-box .p01 {
   font-size: 13px;
   color: #B60355;
   font-weight: 500;
}
.suppport-list li .txt-box .p02 {
   font-size: 14px;
   line-height: 1.6em;
   padding: 20px 0 0;
}

}