@charset "utf-8";
/* CSS Document */


/*--------------------------------------
　Main Index
---------------------------------------*/
html {
    margin-top: 0 !important;
}
.l-index{
    background:#F6F6F6;
}
.p-mv .titlearea {
        display: flex;
        align-items: center;
        gap: 5px;
        justify-content: left;
	padding:1.5rem 3.5rem 0.5rem;
    }
.p-mv .logo {
    width: 200px;
}
.p-mv h1 {
	position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.p-mv{background: linear-gradient(90deg, #DA3734 0%, #BF2724 100%);width:1000px;height: 864px;margin:auto;text-align:center;position:relative;z-index:2;border-radius: 0 0 80rem 80rem;}
.p-mv .catch{margin: 2.5rem auto;text-align: start;line-height:1.8;color: #fff;font-size: 6rem;font-weight: bold;-ms-writing-mode: tb-rl;writing-mode: vertical-rl;font-family: 'Noto Sans JP vertical', sans-serif;
text-orientation: upright;
display: inline-block;}

.text{
	font-family: "cambay", sans-serif;
font-weight: 700;
	font-style: normal;
}
.p-mv .text{
    position: absolute;
    top: 22rem;
    right: 0;
    left: 0;
    font-size: 15.8rem;
    font-weight: bold;
    color: #BF2724;
    line-height: 1;
    z-index: -1;
}
.p-mv-btn{
    position: absolute;
    top: 31rem;
    right: 5rem;
}

.p-mv-btn a{
	 background: #4E3636 url("img/btn_arrow_under.png") no-repeat 83px 120px;
    width: 17rem;
    background-size: 16px;
    height: 17rem;
	 box-shadow: 5px 5px 20px #0000004f;
    border-radius: 50%;
    padding: 3rem 0 4rem;
    font-size:2.4rem;
    color: #fff;
    font-weight: bold;
	  margin: 0 auto;
	    display: flex;
    align-items: center;
    justify-content: center;
	   /* 変化させたいプロパティをまとめて指定 */
  transition: background-color 0.3s ease, 
              transform 0.3s ease, 
              box-shadow 0.3s ease;
}
.p-mv-btn a:hover {
    background-color: #000;
  transform: translateY(4px);
  box-shadow: none;
}
.explanation{
    margin-top:-10rem;
}

.p-mv .photo.m-01{
    position: absolute;
    top: 50rem;
    left: 3rem;
}
.p-mv .photo.m-02{
    position: absolute;
    top: 68.5rem;
    right: 0;
    left: 0;
}
.p-mv .photo.m-03{
    position: absolute;
    top: 50rem;
    right: 0rem;
}

@media screen and (max-width: 768px) {
	.p-mv .titlearea {
    padding:1rem 1.5rem;
}
	.p-mv .logo {
    width: 160px;
}
	.p-mv {width: 100%;height: 565px;border-radius: 0 0 30rem 30rem;}
	
	.p-mv .text {
    font-size: 9rem;
    top: 19rem;
}

	.p-mv .catch {
    font-size: 3.4rem;
    line-height: 1.8;
    margin: 3.5rem auto -0;
}
	.p-mv-btn {
    position: absolute;
    top: 43rem;
    right: 1rem;
}
.p-mv-btn a {
    background: #4E3636 url(img/btn_arrow_under.png) no-repeat 54px 78px;
    width: 11rem;
    height: 11rem;
    background-size: 11px;
    padding: 2.5rem 0 0;
    font-size: 1.6rem;
    display: block;
    align-items: center;
	box-shadow: 3px 3px 10px #0000004f;
}
		.p-mv .photo.m-01 {
    top: 43rem;
    width: 23%;
    left: 2rem;
		display: none;
}
	.p-mv .photo.m-02 {
    top: 42rem;
    width: 27%;
    right: 24.5rem;
    margin: auto;
}
	.p-mv .photo.m-03 {
    top: 46.5rem;
    width: 27%;
    right: 13.5rem;
}
	
	}




.l-center{position: relative;width: 1000px;margin: 0 auto 0;}

@media screen and (max-width: 768px) {
	.l-center {
    width:100%;
	 padding: 0 1.5rem;	
}
	}
.explanation .contents{
    background:#fff;
    padding: 31rem 12rem 3rem;
    border-radius: 10rem;
}
.explanation .contents p{
	font-size: 3.6rem;
	line-height: 2;
	font-weight: bold;
	    margin: 5rem 0 2rem;
}
.explanation .contents .marker{
	color:#DA3734;
	background: linear-gradient(transparent 60%, #F4D8B7 0%);
}
.explanation .contents .bold{
	color:#DA3734;
}

.explanation .photo{
	width:100%;
	margin: 8rem auto 6rem;
	text-align: center;
}
.explanation .photo.c-02{
	margin:10rem auto 11rem;
}

.explanation .grapharea {margin: 19rem auto 12rem;position: relative;}

.explanation .grapharea .catch {
    font-size: 2.8rem;
    line-height: 1.6;
    font-weight: bold;
    padding: 4rem 6rem;
    background: #F5F5F5;
    border-radius: 3rem;
}
.explanation .grapharea .photo {
    position: absolute;
    bottom: -2rem;
    right: 3rem;
    margin: 0;
    text-align: right;
}

.explanation .grapharea .caption{text-align: left;margin: 2rem 6rem 0;}


@media screen and (max-width: 768px) {
	.explanation {
    margin-top: 1rem;
}
	.explanation .contents {
    padding: 4rem 2rem 1rem;
    border-radius: 5rem;
}
		.explanation .contents p {
    font-size: 1.8rem;
    line-height: 2;
			margin: 3rem 0 2rem;
}
	.explanation .photo{
	margin: 5rem auto;
}
.explanation .photo.c-02{
	    margin: 4.5rem auto 5rem;
	    width: 90%;
}
	
.explanation .grapharea  {background: #F5F5F5;margin: 4rem auto;padding: 2rem;border-radius: 2rem;}

.explanation .grapharea .catch {background: none;font-size: 1.8rem;line-height: 1.4;padding: 0;margin: auto;text-align: center;}
.explanation .grapharea .photo {position: initial;padding: 2rem 0;width: 70%;margin: auto;}

.explanation .grapharea .caption {text-align: center;margin: 0;}	
	}

.service{
	margin-top:12rem;
}
.service .contents{
    background:#fff;
    border-radius: 80rem 80rem 10rem 10rem;
    padding: 14rem 8rem 9rem;
}
.service h2{
   font-size: 5.6rem;
   line-height: 2;
   font-weight: bold;
   text-align:center;
   margin: -7rem auto 0;
}
.service .text {
    font-size: 10rem;
    text-align:center;
    margin:auto;
    font-weight: bold;
    color: rgba(208, 60, 15, 0.1);
}
.lead{
    font-size: 2.4rem;
    line-height: 1.8;
    font-weight: bold;
    text-align:center;
    margin:auto;
    margin: 2rem auto 6rem;
}
.service .features{
   margin-bottom:6rem;
}
.service .ulBox{
	margin-top: 3.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center; 
	flex-wrap: nowrap;
	gap: 3.5rem;
}

.service .ulBox .maindeco {
    width: 26rem;
    background: #FFF2EE;
    border: #FFE2D9 solid 2px;
    border-radius: 2rem;
    padding: 2rem;
}
.service .ulBox .maindeco h3{
     font-size: 2.4rem;
     justify-content: center;
     align-items: center;
     line-height: 1.4;
     display: flex;
     font-weight: bold;
     text-align:center;
     margin:auto;
}
.service .ulBox .flame {
 	width:100%;
 	margin: 3rem auto 2rem;
 	text-align: center;
 	justify-content: center;
 	align-items: center;
 	display: flex;
}

@media screen and (max-width: 768px) {
.service {
    margin-top: 5rem;
}
	.service .contents {
    padding: 6rem 2rem 6rem;
    border-radius: 30rem 30rem 5rem 5rem;
}
	.service .ulBox {
    margin-top: 0;
    display: block;
}
	.service .ulBox .maindeco {
    width: 100%;
		margin-top: 2rem;
}
.service .ulBox .catcharea {
   display: flex;
   align-items: center;
   gap: 24px;
   justify-content: left;
}
	.service .ulBox .maindeco h3 {
    font-size: 2rem;
    order: 2;
    justify-content: left;
    text-align: left;
    margin: 0;
}
	.service .ulBox .flame {
  order: 1;
  width: 16%;
  margin: 0;
}
	.service .text {
    font-size: 7rem;
		color: rgb(208 60 15 / 5%);
		   
}
	.service h2 {
    font-size: 3.6rem;
    margin: -5.5rem auto 0;
}
	.lead {
    font-size: 1.8rem;
    line-height: 1.6;
		     margin: 1.5rem auto 4rem;
}
	
.service .ulBox .maindeco p {
    margin: 1rem 0 0;
}
	.service .features {
    margin-bottom: 2rem;
}
	.service .contents .btn-internal{
    margin:4rem -2rem;
}
	
	}

.stu {
  position: relative; /* 親を基準にするため必要 */
  margin-top: 9rem;
}
.stu .l-center {
    padding-bottom: 8rem;
    border-bottom: #dfdfdf solid 2px;
}
.stu .text {
  font-size: 10rem;
  font-weight: bold;
	text-align:left;
  color: rgb(250 235 231);
}
.stu .title{
			  display: flex;
			  align-items: center;
			  }
.stu .flame{
	width: 74px;
	}
.stu  h3{
	        font-size: 4rem;
	        font-weight: bold;
	        color: #000;
	}

.stu .ulBox {
    margin-top: 3.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 3.5rem;
}
.stu .ulBox .maindeco {
    width: 49rem;
    background: #ffffff;
    border-radius: 2rem;
    padding: 2rem 3rem;
    border: #ffd5c8 solid 2px;
}
.stu .card__stu {
  background-color: #DA3734;
border-radius: 5rem;
}
.stu .card__stu {
    background-color:#979797;
    border-radius: 5rem;
    color: #fff;
    font-weight: bold;
    font-size: 1.4rem;
    padding: 0.5rem 1.3rem;
    display: inline-block;
}
@media screen and (max-width: 768px) {
	.stu {
    margin-top: 6rem;
}
	.stu .l-center {
    padding-bottom: 6rem;
    border-bottom: #dfdfdf solid 2px;
}
	.stu .title {
		  margin-bottom: 2rem;
}
	.stu .ulBox {
           margin-top: 0;
        display: block;
}
	.stu .ulBox .maindeco {
   width: 100%;
        margin-top: 2rem;
		padding: 2rem;
}
	.stu .ulBox .maindeco p{
           margin: 1rem 0;
    }
	.stu  h3{
        font-size: 2.8rem;
    }
	.stu .flame {
        width: 55px;
    }
	.stu .flame img{
        width: 40px;
    }
	
	
	}
.voice{
    position: relative;
    margin-top: -9rem;
    position: relative;
}
.voice .text {
    position: absolute;
    top: -195px;
    left:0;
    font-size: 15rem;
    font-weight: bold;
    color: rgba(255, 242, 238, 0.2);
    z-index: 1;
}

.voice:before {
  content: "";
  width: 95%;
  height: 150rem;
  background: linear-gradient(90deg, #DA3734 0%, #BF2724 100%);
  border-radius: 0 50% 50% 0;
  position: absolute;
  left: 0;
  top: -15rem;
}


.voice .contents{
	padding: 0 0 3rem;
	}

.voice .title{display: flex;
			  align-items: center;}
.voice .flame{
	width: 10%;
	}
.voice .flame img{
	width: 70%;
	}
.voice h2{
	    font-size: 4.6rem;
		font-weight: bold;
	color:#fff;
	
	}

.side-column {
  flex-wrap: nowrap;
  gap: 3rem;
}

.side-column__main {
  width:100%;
}

.swiper-container {
  margin:0 0 10rem;
  position: relative;
    overflow: hidden;
	  padding-left: 0 !important;
  margin-left: 0 !important;
}

.swiper-wrapper {
  margin: 0 !important;
  gap: 0 !important; /* gapが効いてる場合を無効化 */
}
.swiper {
    z-index: 2;
	  margin:0 0 0 auto;
		width: calc(50vw + 50rem);
	 overflow: hidden;
}


.swiper-slide {
  width: auto;
	margin: 0;
}

.card-slider {
  width: 100%;
  position: relative;
	overflow: hidden;
    border-radius:2rem;
}
.card-slider:before {
    content: "";
    width: 100%;
    height: 60%;
    background: linear-gradient(to top, #000000 0%, transparent 100%);
    position: absolute;
    left: 0;
    bottom: 2rem;
    border-radius:2rem;
    z-index: 1;
}
.card-slider::after {
    content: "";
    position: absolute;
    bottom: 10px;
    right: 20px;
    width: 100px;
    height: 30px;
  background: url(img/modal_more.svg) no-repeat center center;
    background-size: contain;
    cursor: pointer;
    z-index: 1;
}
.card-slider img {
  width: 100%;
    border-radius: 2rem;
	transition: transform 0.3s ease; /* スムーズなアニメーション */
}
.card-slider:hover img {
  transform: scale(1.05); /* 1.05倍に拡大 */
}


.card-slider__stu{
  position: absolute;
  left: 1.5rem;
  color: #ffffff;
  top: 1.5rem;
  border-radius: 20rem;
  background: #000000;
  font-size: 1.6rem;
  padding: 0.2rem 1.2rem 0.4rem;
  z-index: 1;
}

.card-slider__industry{
  position: absolute;
  left: 1.5rem;
  color: #ffffff;
  top: 1.5rem;
  border-radius: 20rem;
  background: #BF2724;
  font-size: 1.6rem;
  padding: 0.2rem 1.2rem 0.4rem;
  z-index: 1;
}

.card-slider__text {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  color: #ffffff;
  bottom:0;
  z-index: 1;
	margin-bottom: 2rem;
}
.card-slider__text .catch{
  font-size: 1.8rem;
  font-weight: bold;
}
.card-slider__text p{
  margin: 1rem 0 3.5rem;
}

.remodal-cancel{
      border-radius: 50%;
      padding:0;
      border:#d9d9d9 solid 0;
      width:70px;
      position: absolute;
      top: -2rem;
      right: -2rem;
      height:70px;
}
.remodal-cancel img{
     width:100%;
	transition: transform 0.2s ease; /* アニメーションのなめらかさ */
}

.remodal-cancel img:hover {
  transform: scale(1.1); /* 少し大きくする */
}
.modalarea{
     display: flex;
     align-items: center;
     background: #ffffff;
     gap: 4rem;
     border-radius: 2rem;
     padding: 4.5rem 5.5rem;
}
.modalarea img{
    width: 35%;
	    border-radius: 2rem;
}

.modalarea .card-slider__stu{
  position: relative;
  width: fit-content;
  margin-bottom: 3rem;
  left: 0;
}

.modalarea .card-slider__industry{
  position: relative;
  width: fit-content;
  margin-bottom: 3rem;
  left: 0;
}

.modalarea .card-slider__text {
  position: revert;
  text-align: left;
  color: #000000;
  left: 0;
  right: 0;
}
@media screen and (min-width: 1700px) {
.voice:before {
    content: "";
    width: 95%;
    height: 165rem;
}
}

@media screen and (max-width: 768px) {
.voice:before {
    content: "";
    width: 95%;
    height: 122%;
    border-radius: 0 15rem 15rem 0;
    left: 0;
    top: -7rem;
}
	.voice .text {
    position: absolute;
    top: -95px;
    left: 0;
    font-size: 8rem;
}
	.voice .title {
 padding:0 1.5rem;
}
	.voice h2 {
    font-size:3.6rem;
}
	.voice .contents {
    padding: 0 0 1.5rem;
}
.voice .flame {
    width: 14%;
}	
	.swiper {
    width: 95%;
    overflow: hidden;
}
	.swiper-container {
    margin: 0 auto 4rem;
}
	.card-slider__text {
    position: absolute;
    left: 1rem;
    right: 1rem;
	bottom: 3rem;
}
	.card-slider__stu {
    position: absolute;
    left: 1rem;
    top: 1rem;
    font-size: 1.4rem;
}
	.card-slider__industry {
     position: absolute;
    left: 1rem;
    top: 1rem;
    font-size: 1.4rem;
}
	.card-slider::after {
    content: "";
    position: absolute;
    bottom: 5px;
    right: 10px;
    width: 65px;
    height: 25px;
}
	.card-slider img {
    border-radius: 1rem;
}
	.card-slider:before {
    border-radius: 1rem;
}
		.card-slider__text .catch {
    font-size: 1.6rem;
}
		.modalarea {
	display: block;
    padding: 3rem 2rem;
    margin: 2rem;
}
	.modalarea img {
    width: 60%;
    border-radius: 1rem;
}
	.remodal-cancel {
   border-radius: 50%;
        width: 50px;
        position: absolute;
        top: 1rem;
        right: 0rem;
        height: 50px;
}
}
.process{margin-top: 10rem;}

.process .text {
   text-align:center;
    margin:auto;
    font-size: 15rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.2;
}
.process h2 {
    font-size: 5.6rem;
    font-weight: bold;
    text-align: center;
    margin: -4rem auto 0;
}

.process .ulBox {
    margin: 4rem auto 10rem;
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 4.5rem;
}
.process .ulBox .step{ 
	font-size: 4.6rem;
    font-weight: 700;
    color: #DA3734;
    text-align: center;
    line-height: 0.8;
    font-family: "cambay", sans-serif;
    font-style: normal;
}
.process .ulBox .step span {
font-size: 2rem;
}
.process .ulBox .flame{
   background: #fff;
   border-radius: 50%;
   text-align: center;
   margin: -2rem auto 0;
   width: 177px;
   height: 177px;
   display: flex;
   justify-content: center;
   align-items: center;
}

.process .maindeco{
    position: relative;
	width: 22%;
}
.process .maindeco:before {
    content: "";
    width: 5rem;
    height: 3.5rem;
    background: url(img/arrow-flow.svg) no-repeat center / contain;
    position: absolute;
    left: 100%;
    top: 27%;
}
.process .maindeco:nth-child(4):before {
    content: none;
}

.process .ulBox h3{margin: 1rem auto;font-size: 1.8rem;text-align: center;justify-content: center;align-items: center;display: flex;}

@media screen and (max-width: 768px) {
.process {
    margin-top: 7rem;
}
	.process .text {
    font-size: 8rem;
}
	.process h2 {
         font-size: 3.6rem;
         margin: -3rem auto 0;
}
	.process .maindeco {
    margin-bottom: 3rem;
		width: 100%;
}
	.process .ulBox {
    margin: 3rem auto 5rem;
    display: block;
}
	.process .ulBox .catcharea {
	        display: flex;
	        align-items: center;
	        gap: 15px;
	        justify-content: left;
	}
	.process .ulBox .flame {
    order: 1;
    width: 70px;
    margin: 0;
    height: 70px;
    position: relative;
}
	.process .maindeco .flame:before {
    content: "";
    width: 2px;
    height: 15rem;
    background: #D9D9D9;
    position: absolute;
    right: 50%;
    top: 100%;
}
	.process .maindeco:nth-child(4) .flame:before {
    content: none;
}
	.process .ulBox .flame img{
   width: 60%;
}
	.process .ulBox .step {
    order: 2;
    font-size: 2.6rem;
}
	.process .ulBox h3 {
    order: 3;
    font-size: 2rem;
    margin: 0;
}
	.process .maindeco p{width: 80%;margin-left: auto;margin-right: 0;display: block; /* デフォルトでblockですが念のため */margin-top: 0;}
	
	.process .maindeco:before {
    display:none;
}
	}
.qanda  {
	margin: 12rem auto 13rem;
}
.qanda .text {
    text-align: center;
    margin: auto;
    font-size: 15rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.2;
}
.qanda h2 {
    font-size: 5.6rem;
    font-weight: bold;
    text-align: center;
    margin: -4rem auto 4rem;
}

.qanda .maindeco{
    margin-top: 3rem;
}

.qanda .maindeco h3{
    padding: 3rem 7rem;
    background: #ffd5c8 url(img/text_q.svg) no-repeat 2.4rem 50% / contain;
    background-size: 30px;
    margin: 0;
    font-size: 2.2rem;
    border: #FFE2D9 solid 1px;
}
.qanda .answer{
    padding: 3rem 7rem;
    background: #ffffff url(img/text_a.svg) no-repeat 2.4rem 3.2rem / contain;
    background-size: 30px;
	border: #FFE2D9 solid 1px;
}

.qanda .answer .catch{font-weight: bold;font-size: 2rem;margin-bottom: 2rem;}

.toggle-btn {
  position: relative;
  transition: opacity 0.3s;
  cursor: pointer;
}

.toggle-btn::before {
    content: "";
    width: 2.2rem;
    height: 4.2rem;
    background: url(img/icon_open.svg) no-repeat right center / contain;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}


.toggle-btn.is-open::before {
     content: "";
     width: 2.2rem;
     height: 4.2rem;
     background: url(img/icon_close.svg) no-repeat right center / contain;
     position: absolute;
     right: 20px;
     top: 50%;
     transform: translateY(-50%);
}
.qanda .maindeco h3:hover {
    background-color: #ffbca7;
    cursor: pointer; /* クリック可能感を出すならおすすめ */
    transition: background-color 0.3s ease; /* スムーズに色が変わるアニメーション */
}

@media screen and (max-width: 768px) {
	.qanda {
    margin: 8rem auto;
}
.qanda .text {
        font-size: 8rem;
    }
	.qanda h2 {
        font-size: 3.6rem;
        margin: -3rem auto 0;
    }
	.qanda .maindeco h3 {
    padding: 1.5rem 3.5rem 1.5rem 5rem;
    font-size: 1.6rem;
    background: #FFD5C8 url(img/text_q.svg) no-repeat 1.4rem 50% / contain;
    background-size: 28px;
}
	.qanda .answer {
    padding: 1.5rem 3rem 1.5rem 5rem;
    background: #ffffff url(img/text_a.svg) no-repeat 1.4rem 3.2rem / contain;
    background-size: 28px;
}
	.qanda .answer .catch{
      font-size: 1.6rem;
}
	.toggle-btn::before {
    content: "";
    width: 1.8rem;
    height: 4.2rem;
    background: url(img/icon_open.svg) no-repeat right center / contain;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}


.toggle-btn.is-open::before {
     content: "";
     width: 1.8rem;
     height: 4.2rem;
     background: url(img/icon_close.svg) no-repeat right center / contain;
     position: absolute;
     right: 10px;
     top: 50%;
     transform: translateY(-50%);
}
	}

.contact {
    margin-top: 16rem;
    border-radius: 100rem 100rem 0 0;
    background: linear-gradient(to right, #DC4436 0%, #BF2724 100%);
    padding: 11rem 0;
}


.contact .text {
text-align: center;
    margin: auto;
    font-size: 15rem;
    font-weight: bold;
   color: rgba(255, 242, 238, 0.2);
}


.contact h2 {
    font-size: 5.6rem;
    font-weight: bold;
    text-align: center;
    margin: -8rem auto 4rem;
    color: #fff;
}

.contact p {
color: #fff;
	width : 70%;
	 margin: 2rem auto 4rem;
}
.contact .meiltext{
	font-size: 1.6rem;
	margin: 2rem auto 5rem;
	text-align:center;
}
.contact .area {background:#f6f6f6;padding:6rem 8rem;border-radius: 2rem;}

@media screen and (max-width: 768px) {
.contact {
	margin-top: 9rem;
	border-radius: 30rem 30rem 0 0;
	padding: 6rem 0;
}
.contact .text{
        font-size:7rem;
	color: rgb(255 242 238 / 10%);
    }
	.contact h2 {
        font-size: 3.6rem;
        margin: -4rem auto 0;
    }
	.contact p {
    width: 100%;
}
	.contact .meiltext{
	font-size: 1.6rem;
	 margin: 2rem auto 4rem;
	text-align:left;
}
	.contact .area {
    padding: 2rem;
}
}


.p-work-body {
  margin: 0 0 0 auto;
  width: calc(50vw + 58rem);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-work-body {
    width: 100%;
    padding-left: 2%;
  }
}
.p-work-body .-slider {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  gap: 2rem;
}
.p-work-body .-slider .slide {
  padding: 0 0.5rem;
}
.p-work-body .-slider .slide a {
  display: block;
  width: 34rem;
  aspect-ratio: 34/19;
  border: 2px solid #F8E700;
  overflow: hidden;
}
.p-work-body .-slider .slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media screen and (any-hover: hover) and (min-width: 768px) {
  .p-work-body .-slider .slide:hover a {
    opacity: 1;
  }
  .p-work-body .-slider .slide:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.slide-caption {
  margin-top: 1rem;   /* 画像との余白 */
  font-size: 1.6rem;    /* お好みで */
  line-height: 1;
  text-align: center;   /* 中央寄せなら */
  color: #000000;          /* 必要なら色を調整 */
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .p-work-body .-btns {
    margin: 1rem 2%;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    gap: 1rem;
  }
  .p-work-body .-btns .slick-arrow {
    width: 4.2rem;
    height: 4.2rem;
    background: url(img/icn_work_arrow.svg) no-repeat center center/contain;
    font-size: 0;
    color: transparent;
  }
  .p-work-body .-btns .slick-arrow.slick-next {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}

.btn-internal.pro{
    margin: 10rem auto;
}

.btn-mail.pro{
    margin: 10rem auto;
}


@media screen and (max-width: 767px) {
.btn-internal.pro {
    margin: 6rem auto;
}
.btn-mail.pro{
    margin: 6rem auto;
}
	}