@charset "UTF-8";

/*=== GoogleFont 呼び込み ここから ===*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/*=== ページ内の共通設定 ここから ===*/
html{
  scroll-behavior: smooth;
  scroll-padding-top: 180px;
}
:root {
  --font-pink: #db8c96;
  --bg-pink: #efbab7;
  --bg-beige: #f5f4f2;
  --bg-green: #c1d486;
  --bg-course-java: #2d80d3;
  --bg-course-php: #51ba81;
  --bg-course-c: #51baba;
  --bg-course-java-content: #d5e6f6;
  --bg-course-php-content: #dcf2e6;
  --bg-course-c-content: #dcf1f1;
}
body {
  background-color: #fff;
  font-family: "Noto Sans JP", "Noto Serif JP", Meiryo, sans-serif;
}
.p-shinjin2025 {
  margin: 60px auto;
}
h2 {
  font-family: "Noto Serif JP";
  font-weight: bold;
}
a｛
 color:#fff;
｝
a:hover{
 opacity:0.8;
}

/*=== shinjin mv ここから===*/
.p-shinjin2025__mv {
  background: url(../img/middle/shinjinIT/2025/shinjin2025-mv-pc.jpg) no-repeat center;
  background-size: cover;
  min-height: 410px;
  position: relative;
}
.p-shinjin2025__mv .mv-title {
  position: absolute;
  top: 7%;
  left: 15%;
  font-weight: bold;
}
.mv-title--main {
  font-family: "Noto Serif JP";
  margin-bottom: 20px;
  font-size: 48px;
  font-weight: bold;
  line-height: 1.2;
}
.mv-title--year {
  font-size: 24px;
}
.mv-title--shinjin {
  font-size: 81px;
}
.mv-title--sub {
  font-size: 36px;
  line-height: 1.3;
  margin-bottom: 20px;
}
.mv-title--red {
  color: var(--color__red2);
}
.mv-links{
  display: flex;
} 
.mv-links > .btn__contact--documet,
.mv-links > .btn__contact--contact{
  margin: 0 5px;
}
.mv-links > .btn__contact--documet a{
  font-weight: bold;
  border-radius: 100vh;
  line-height: 60px;
  padding: 0 5px 0 20px;
  box-shadow: 2px 3px 0px rgba(0, 0, 0, 0.1607843137);
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: 2px solid #ffdcc8;
  background: linear-gradient(#1661c1, #052a5a, #1661c1);
  font-size: 16px;
  color: #fff;
  transition: 0.3s;
  opacity: 1;
}
.mv-links > .btn__contact--contact a {
  font-weight: bold;
  border-radius: 100vh;
  line-height: 60px;
  padding: 0 5px 0 20px;
  box-shadow: 2px 3px 0px rgba(0, 0, 0, 0.1607843137);
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: 2px solid #ffdcc8;
  background: linear-gradient(#ffb43f, #e97800, #ffb43f);
  font-size: 16px;
  color: #fff;
  transition: 0.3s;
  opacity: 1;
}
.mv-links > .btn__contact--documet a:hover,
.mv-links > .btn__contact--contact a:hover{
    opacity: 0.8;
}

@media screen and (max-width: 960px) {
  .p-shinjin2025__mv .mv-title {
    top: 25%;
    left: 5%;
  }
  .mv-title--main {
    font-size: 32px;
  }
  .mv-title--year {
    font-size: 18px;
  }
  .mv-title--shinjin {
    font-size: 42px;
  }
  .mv-title--sub {
    font-size: 18px;
    line-height: 1.5;
  }
  .mv-links > .btn__contact--documet,
  .mv-links > .btn__contact--contact {
    line-height: 40px;
  }
}
@media screen and (max-width: 768px) {
  .p-shinjin2025__mv {
    background-image: url(../img/middle/shinjinIT/2025/shinjin2025-mv.jpg);
  }
  .p-shinjin2025__mv .mv-title {
    top: 20%;
    left: 25%;
  }
  .mv-title--main {
    font-size: 28px;
  }
  .mv-title--year {
    font-size: 16px;
  }
  .mv-title--shinjin {
    font-size: 36px;
  }
  .mv-title--sub {
    font-size: 16px;
  }
  .mv-links > .btn__contact--documet,
  .mv-links > .btn__contact--contact {
    display: block;
    margin-bottom: 10px;
  }
}
.btn__contact--documet a::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 26px;
  background: url(../img/middle/shinjinIT/2025/downrload.png);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  margin-right: 0.75em;
}
.btn__contact--contact a::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 26px;
  background: url(https://www.insource-da.co.jp/common/img/icon_mail.svg);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  margin-right: 0.75em;
}
.btn__contact--documet a::after,
.btn__contact--contact a::after {
  content: "〉";
  margin-left: 0.75em;
}

/*--1440px以上の画面幅--*/
@media screen and (min-width: 1440px) {
  .p-shinjin2025__mv {
   background: url(../img/middle/shinjinIT/2025/shinjin2025-mv-pc-2.jpg) no-repeat center;
   min-height: 500px;
  }
  .p-shinjin2025__mv .mv-title {
    top: 7%;
    left: 25%;
  }
}

/*--960px以下の画面幅--*/
@media screen and (max-width: 960px) {
  .p-shinjin2025__mv .mv-title {
    top: 25%;
    left: 5%;
  }
  .mv-title--main {
    font-size: 32px;
  }
  .mv-title--year {
    font-size: 18px;
  }
  .mv-title--shinjin {
    font-size: 42px;
  }
  .mv-title--sub {
    font-size: 24px;
    line-height: 1.5;
  }
  .mv-links > .btn__contact--documet,
  .mv-links > .btn__contact--contact {
    line-height: 40px;
  }
}

/*--768px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .p-shinjin2025__mv {
    min-height: 600px;
  }
  .p-shinjin2025__mv .mv-title {
    top: 5%;
    left:10%;
  }
  .mv-title--main {
    font-size: 28px;
  }
  .mv-title--year {
    font-size: 16px;
  }
  .mv-title--shinjin {
    font-size: 36px;
  }
  .mv-links > .btn__contact--documet ,
  .mv-links > .btn__contact--contact {
  display: none;
}
}

/*--400px以下の画面幅--*/
@media screen and (max-width: 400px) {
  .p-shinjin2025__mv {
    background-image: url(../img/middle/shinjinIT/2025/shinjin2025-mv-sp.jpg);
  }
  .p-shinjin2025__mv .mv-title {
    top: 5%;
  }
  .mv-title--main {
   margin-bottom: 10px;
}
.mv-title--sub {
  font-size: 20px;
}
}

/*=== shinjin  campaign ここから （250221更新：梅原）===*/
.p-shinjin2025.shinjin2025__campaign {
  margin: 60px auto;
  max-width: 960px;
}
.shinjin2025__campaign > .campaign__bg {
  background: url(../img/middle/shinjinIT/2025/campaign-bg.png) center no-repeat;
  background-size:contain;
  text-align: center;
}
.campaign__bg .campaign--deadline {
  margin-bottom:40px;
}
.campaign__bg > h3 {
  margin-bottom: 30px;
  font-size: 24px;
}
.campaign__course {
  display: flex;
  justify-content: center;
  align-items:flex-start;
  width: 100%;
  margin-bottom: 10px;
}
.campaign__course--detail{
  margin-right: 50px;
  margin-bottom: 30px;
  text-align: left;
}
.campaign__sp{
 display:none;
}
.campaign__course--detail h4 {
  margin-bottom: 5px;
  font-size: 32px;
}
.campaign__course--detail dl{
  display: flex;
  align-items: center;
}
.campaign__course--detail dl dt{
  background-color: #DA5267;
  color:#fff;
  font-weight: bold;
  padding:5px;
}
.campaign__course--detail dl dd{
  margin-left:20px;
  font-size: 20px;
  font-weight: bold;
}
.campaign__course--price{
  display: flex;
  flex-direction: column;
  text-align: left;
}
.campaign__course--price dt{
  font-size: 20px;
  font-weight: bold;
}
.campaign__course--price dd{
  font-size: 42px;
  font-weight: bold;
}
.campaign__course--price dd span {
  font-size: 14px;
}
.campaign__remark{
  margin: 20px 0;
}
.campaign__course--link a:hover{
  opacity:0.8
}
.campaign__course--link a{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: bold;
  color: #333;
}
.campaign__course--link a::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  margin-bottom: 5px;
  width: 10px;
  height: 10px;
  background-color: transparent;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  transform: rotate(135deg);
}


/*--768px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .campaign__course{
    margin: 0 auto;
    flex-direction: column;
  }
.campaign__bg .campaign--deadline {
    width:90%;
  }
  .campaign__sp{
 display:block;
  }
  .campaign__course--detail{
    margin-right: 0;
    margin:0 auto 5px;
    text-align: center;
  }
  .campaign__course--detail dl{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .campaign__bg h3{
    font-size:18px;
  }
  .campaign__course--detail h4 {
    font-size: 24px;
    margin-bottom:10px;
  }
  .campaign__course--detail dl dd{
    font-size: 18px;
    margin-left:5px;
  }
.campaign__course--detail dl dt{
  font-size:12px;
  }
  .campaign__course--price{
    flex-direction: row;
    align-items: baseline;
    margin: 0 auto;
  }
  .campaign__course--price dt{
    font-size: 16px;
    font-weight: bold;
  }
  .campaign__course--price dd{
    font-size: 32px;
    font-weight: bold;
  }
}
@media screen and (max-width: 400px) {
  .campaign__bg h3{
    font-size:16px;
  }
  .campaign__course--price dd{
    margin-left: 5px;
    font-size: 24px;
  }
  .campaign__course--detail h4 {
    font-size: 18px;
  }
  .campaign__course--link a{
    font-size: 14px;
  }
}

/*=== shinjin contact ここから ===*/

.p-shinjin2025.shinjin2025__contact {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
}
.contact__bg {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  width: 50%;
  padding: 40px 0;
}
.contact__bg.bg--document {
  background: url(../img/middle/shinjinIT/2025/contactBg-1.jpg) no-repeat;
  background-size: cover;
}
.contact__bg.bg--contact {
  background: url(../img/middle/shinjinIT/2025/contactBg-2.jpg) no-repeat;
  background-size: cover;
}
.contact__textArea {
  width: 350px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}
.contact__subTitle {
  display: flex;
  align-items: center;
  font-size: 24px;
}
.contact__subTitle::before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  width: 50px;
  height: 2px;
  background-color: #ffffff;
}
.contact__textArea h2 {
  font-family: "Noto Serif JP";
  font-size: 32px;
  margin-bottom: 20px;
}
.contact__textArea__text {
  margin-bottom: 20px;
}
.contact__textArea .btn__contact--documet a,
.contact__textArea .btn__contact--contact a{
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  line-height: 60px;
  border-radius: 5px;
  padding: 10px 5px 10px 20px;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #e51e19;
  transition: all 0.3s 0s ease;
}
.contact__textArea > .btn__contact--documet a::before{
  content: "";
  display: inline-block;
  width: 25px;
  height: 26px;
  background: url(../img/middle/shinjinIT/2025/downrload.png);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  margin-right: 0.75em;
  transition: all 0.3s 0s ease;
}
/*変更*/
.contact__textArea .btn__contact--documet a:hover::before{
  background-image: url(../img/middle/shinjinIT/2025/downrload_hover.png);
}
/*変更*/
.contact__textArea .btn__contact--contact a:hover::before{
  background-image: url(..//img/middle/shinjinIT/2025/contact_mail_hover.png);
}
.contact__textArea > .btn__contact--contact a::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 26px;
  background: url(../../common/img/icon_mail.svg);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  margin-right: 0.75em;
}
/*変更*/
.contact__textArea .btn__contact--documet a:hover,
.contact__textArea .btn__contact--contact a:hover{
  background-color: #fff;
  color: #e51e19;
  
}

/*--1315px以下の画面幅--*/
@media screen and (max-width: 1300px) {
.p-shinjin2025.shinjin2025__contact {
  flex-direction: column;
}
.contact__bg {
    width: 100%;
  }
}

/*--960px以下の画面幅--*/
@media screen and (max-width: 960px) {
  .contact__bg {
  flex-direction: column;
  margin:0 auto;
  }
  .contact__bg.bg--document > img,
  .contact__bg.bg--contact > img{
    margin: 0 auto 20px;
    width: 50%;
  }
  .contact__textArea {
   margin: 0 auto;
}
}

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .contact__textArea h2 {
    font-size: 24px;
  }
  .contact__subTitle {
    font-size: 18px;
  }
  .contact__textArea .btn__contact--documet,
  .contact__textArea .btn__contact--contact {
    font-size: 14px;
  }
}

/*=== shinjin2025__introduction ここから ===*/

.shinjin2025__introduction {
  text-align: center;
}
.shinjin2025__links {
  display: flex;
  justify-content: space-between;
  max-width: 960px;
  margin: 0 auto;
  margin-bottom: 60px;
}
.shinjin2025__links li a:hover{
  opacity:0.8
}
.shinjin2025__links li a p {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: bold;
  color: #333;
}
.shinjin2025__links li a p::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  margin-bottom: 5px;
  width: 10px;
  height: 10px;
  background-color: transparent;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  transform: rotate(135deg);
}

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .shinjin2025__links {
    display: none;
  }
}

.introduction__ranking {
  display: flex;
  justify-content: center;
}
.shinjin2025__introduction h2 {
  font-size: 32px;
}
.shinjin2025__introduction > h2::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 26px;
  background: url(../img/middle/shinjinIT/2025/title_sakura01.svg) no-repeat;
}
.shinjin2025__introduction > h2::after {
  content: "";
  display: inline-block;
  width: 25px;
  height: 26px;
  background: url(../img/middle/shinjinIT/2025/title_sakura02.svg) no-repeat;
}
.br_sp{
  display: none;
}
.introduction__ranking_explanation--2 {
  margin-bottom: 20px;
}
.introduction__text1,
.introduction__text2 {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 20px;
}
.introduction__text1 {
  max-width: 660px;
  margin: 0 auto 20px;
}
.introduction__text2 {
  max-width: 560px;
  margin: 0 auto 60px;
}
.dx__literacy {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 960px;
  margin: 0 auto;
  text-align: left;
}
.dx__literacy > img {
  margin-right: 80px;
}
.dx__textArea {
  width: 465px;
  font-size: 18px;
  font-weight: bold;
}
.dx__subTitle {
  display: flex;
  align-items: center;
  font-size: 24px;
}
.dx__subTitle::before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  width: 50px;
  height: 2px;
  background-color: #333;
}
.dx__textArea h2 {
  font-size: 32px;
  margin-bottom: 20px;
}
.dx__textArea__text {
  margin-bottom: 20px;
}

@media screen and (max-width: 960px) {
  .br_sp{
    display: block;
  }
  .shinjin2025__introduction > h2::before {
    background: none;
  }
  .shinjin2025__introduction > h2::after {
    background: none;
  }
}

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .shinjin2025__introduction{
    padding: 0 5%;
  }
  .shinjin2025__introduction h2 {
    font-size: 24px;
  }
  .introduction__ranking{
    margin: 0 auto;
  }
  .introduction__ranking li img{
    width: 90%;
  }
  .dx__textArea {
    width: 100%;
    font-size: 16px;
  }
  .dx__textArea h2 {
    font-size: 24px;
  }
  .dx__subTitle {
    font-size: 18px;
  }
  .dx__literacy img {
    margin: 0 auto 20px;
  }
}

/*--400px以下の画面幅--*/
@media screen and (max-width: 400px) {
  .introduction__text1 {
  width: -moz-fit-content;
  width: fit-content;
  text-align:left;
}
.introduction__text2 {
  width: -moz-fit-content;
  width: fit-content;
  text-align:left;
}
}

/*=== shinjin2025__feature ここから ===*/

.shinjin2025__feature > .line {
  float: right;
  padding: 0.5em 0 0.5em 1em;
  width: 50%;
  background: linear-gradient(
    90deg,
    rgba(193, 212, 134, 1) 0%,
    rgba(239, 186, 183, 1) 100%
  );
}
.shinjin2025__feature > .line p {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}
.feature__container {
  max-width: 960px;
  margin: 0 auto;
}
.feature__container > h2 {
  position: relative;
  margin-bottom: 40px;
  font-size: 32px;
  font-weight: bold;
  line-height: 0.5;
}
.feature__container > h2::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -20px;
  left: -30px;
  width: 50px;
  height: 50px;
  background: url(../img/middle/shinjinIT/2025/title_sakura03.png) no-repeat;
  z-index: -1;
}
.feature__container > h2 > .title-sub {
  font-size: 18px;
  font-weight: 500;
}
.feature__container > h2 > .title-emphasis {
  font-size: 56px;
  color: var(--font-pink);
}
.feature__container ol {
  max-width: 960px;
  gap: 50px;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin: 0 auto;
}
.feature__container ol li {
  position: relative;
  width: 416px;
  gap: 50px 50px;
  padding: 0 20px 40px;
  background-color: var(--bg-beige);
  /*box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.45);*/
  text-align: center;
}
.feature__container ol li::before {
  content: attr(data);
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  display: block;
  background-color: var(--bg-pink);
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  line-height: 60px;
}
.feature__container ol li h3 {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
}
.feature__container ol li:nth-child(1) img {
  margin: 25px 0 0;
}
.feature__container ol li:nth-child(2) img {
  margin: 30px 0;
}
.feature__container ol li:nth-child(4) img {
  margin-top: 40px;
}
.feature__container ol li p {
  text-align: left;
}

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .shinjin2025__feature{
    padding-left: 10%;
  }
  .shinjin2025__feature > .line {
    float: none;
    width: 100%;
    margin-bottom: 20px;
  }
  .feature__container{
    padding-right: 10%;
  }
  .feature__container h2 {
    margin-bottom: 20px;
    font-size: 24px;
    line-height: 1;
  }
  .feature__container > h2 > .title-sub {
    font-size: 16px;
  }
  .feature__container > h2 > .title-emphasis {
    font-size: 36px;
  }
  .feature__container > h2::after {
    bottom: -10px;
  }
}

/*=== shinjin__service ここから ===*/
.p-shinjin2025.shinjin2025__service{
  background-color: var(--bg-beige);
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 60px;
}
.service__subTitle{
  font-size: 24px;font-weight: bold;
}
.service__leadtext .service__subTitle::before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  width: 50px;
  height: 2px;
  background-color: #333;
}
.service__leadtext h2{
  font-size: 32px;
  margin-bottom: 40px;
}
.service__skill{
  display: flex;
  font-size: 18px;
}
.service__skill .skill__textarea{
  max-width: 395px;
  margin-bottom: 40px;
  line-height: 1.8;
}
.service__skill .skill__textarea h3{
  font-size: 32px;
  margin-bottom: 20px;
}
.service__skill .skill__textarea h3::after{
  content: "";
  display: block;
  width: 85%;
  height:1px;
  background-color: #333;
}
.service__skill .skill__image{
  margin: 0 auto;
}
.service__container--period,
.service__container--after{
  display: flex;
}
.service__period{
  position: relative;
  padding: 15px;
  background: linear-gradient(
    120deg,
    rgba(193, 212, 134, 1) 0%,
    rgba(227, 193, 170, 1) 100%
  );
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  letter-spacing:0.1em;
  writing-mode:vertical-rl;
  text-align: center;
  letter-spacing: 0.4em;
}
.service__period::after{
  content: "";
  position: absolute;
  bottom: -5.6%;
  right:14%;
  width:39px;
  height: 39px;
  display: block;
  transform: rotate(45deg);
  background: linear-gradient(
    120deg,
    rgba(227, 193, 170, 1) 0%,
    rgba(227, 193, 170, 1) 100%
  );
  border-right:1px solid var(--bg-beige);
  border-bottom:1px solid var(--bg-beige);
  margin-bottom: 5px;
}
.service__after{
  padding: 15px 15px 0 15px;
  background: linear-gradient(
    120deg,
    rgba(227, 193, 170, 1) 0%,
    rgba(238, 187, 182, 1) 100%
  );
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  writing-mode:vertical-rl;
  text-align: center;
  letter-spacing: 0.4em;
}
.service__container--period ul{
  background-color: #fff;
  border-radius: 25px;
  padding: 20px;
  margin-left: 20px;
  margin-bottom: 10px;
}
.service__container--after ul{
  background-color: #fff;
  border-radius: 25px;
  padding: 20px;
  margin-left: 20px;
  margin-top: 30px;
}
.service__container--period ul li,
.service__container--after ul li{
  display: flex;
  align-items: flex-start;
  margin-bottom:20px;
}
.service__period--image,
.service__after--image{
  margin-top: 5px;
  margin-right: 20px;
}
.service__period--image img,
.service__after--image img{
  width: 100%;
  object-fit: cover;
}
.service__period--textarea,
.service__after--textarea{
 width: 70%;
 flex-grow: 1;
 font-size: 14px;
 line-height: 1.6;
}
.service__period--textarea h4,
.service__after--textarea h4{
  font-size: 16px;
  margin-bottom: 5px;
 }

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .p-shinjin2025.shinjin2025__service{
    padding: 20px;
  }
  .service__leadtext h2{
    font-size: 24px;
    margin-bottom: 20px;
  }
  .service__skill{
    flex-direction: column-reverse;
    margin: 0 auto;
    font-size:14px;
  }
  .service__skill .skill__image{
    margin-bottom: 10px;
  }
  .service__skill .skill__textarea h3{
    font-size: 24px;
    margin-bottom: 10px;
  }
  .service__container--period ul,
  .service__container--after ul{
    margin-left: 0;
    margin-bottom: 40px;
  }
  .service__container--period,
  .service__container--after{
  display: block;
  }
  .service__period{
    position: static;
    padding: 5px;
    margin-bottom: 20px;
    writing-mode:horizontal-tb;
  }
  .service__after{
    padding: 5px;
    background: linear-gradient(
    120deg,
    rgba(193, 212, 134, 1) 0%,
    rgba(227, 193, 170, 1) 100%
  );
    margin-bottom: 20px;
    writing-mode:horizontal-tb;
  }
 .service__period::after{
  display:none;
  }
  .service__container--period ul li,
  .service__container--after ul li{
    display: flex;
    flex-direction: column;
    margin-bottom:40px;
  }
  .service__period--image,
  .service__after--image{
    margin: 0 auto 10px;
  }
  .service__period--textarea,
  .service__after--textarea{
    width: 100%;
    font-size: 14px;
  }
} 
/*=== shinjin__service ここから ===*/

/*=== shinjin__voice ここから ===*/

.shinjin2025__voice {
  background: url(../img/middle/shinjinIT/2025/voive_bg.jpg) no-repeat;
  background-position: center;
  background-size: cover;
  padding: 60px 0;
}
.voice__leadText{
  max-width: 900px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}
.voice__textArea {
  font-size: 18px;
  font-weight: bold;
}
.voice__subTitle {
  display: flex;
  align-items: center;
  font-size: 24px;
}
.voice__subTitle::before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  width: 50px;
  height: 2px;
  background-color: #333;
}
.voice__textArea h2 {
  display: inline-block;
  font-size: 32px;
  margin-bottom: 20px;
}
.voice__textArea__text {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
.shinjin2025__voice ul li {
  width: 370px;
  padding: 20px;
  background-color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.45);
}

/*--960px以下の画面幅--*/
@media screen and (max-width: 960px) {
  .voice__leadText{
    flex-wrap: wrap;
    padding: 0 5%;
    margin: 0 auto;
  }
}

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .voice__leadText{
    padding: 0 10%;
    margin-bottom: 20px;
  }
  .voice__textArea h2 {
    font-size: 24px;
    margin-bottom: 10px;
  }
  .voice__subTitle {
    font-size: 18px;
  }
  .voice__textArea__text {
    font-size: 16px;
  }
}

/*スライダー*/
#slick-slide div img {
  margin: 0 auto;
}
.arrow_box {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 20px 0 0;
  position: relative;
}
.arrow_box > .prev-arrow,
.arrow_box > .next-arrow {
  display: block;
  width: 50px;
  height: 50px;
  background: #fff;
  border-radius: 50%;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
}
.arrow_box > .prev-arrow {
  transform: rotate(180deg);
  margin-right: 20px;
}
.arrow_box > .prev-arrow::before,
.arrow_box > .next-arrow::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #333;
  border-top: 2px solid #333;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
  border-bottom:none;
}

/*=== shinjin2025__course ここから ===*/
.shinjin2025__course .line {
  float: right;
  padding: 0.5em 0 0.5em 1em;
  width: 50%;
  background: linear-gradient(
    90deg,
    rgba(193, 212, 134, 1) 0%,
    rgba(239, 186, 183, 1) 100%
  );
}
.shinjin2025__course .line p {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}
.title__main{
  max-width: 960px;
  margin: 0 auto 0 0;
  clear: both;
}
.title__main > h2 {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
  margin: 0 auto;
  margin-bottom: 40px;
  font-size: 32px;
  font-weight: bold;
  line-height: 0.8;
  letter-spacing: 0.3em;
}
.title__main > h2::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -20px;
  left: -30px;
  width: 50px;
  height: 50px;
  background: url(../img/middle/shinjinIT/2025/title_sakura03.png) no-repeat;
  z-index: -1;
}
.course__container .title__main > h2 > .title-sub {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: normal;
}
.course__container .title__main > h2 > .title-emphasis {
  font-size: 56px;
  color: var(--font-pink);
}
.course__container ul {
  max-width: 1440px;
  gap: 50px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 20px;
}
.course__container ul li {
  width: 32%;
  gap: 20px;
  padding: 20px;
  background-color: var(--bg-beige);
  /*box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.45);*/
  text-align: center;
  font-size: 16px;
  font-weight: bold;
}
.course__container ul li h3 {
  font-size: 24px;
  margin-bottom: 10px;
}
.course__container ul li img {
  width:60%;
}
.course__container ul li > p > span {
  font-family: "Noto Serif JP";
  font-size: 42px;
}
.course__describe {
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 20px;
  font-size: 16px;
  text-align: left;
}
.course__btn a {
  display: inline-block;
  padding: 20px 70px;
  border-radius: 10px;
  background-color: var(--bg-pink);
  display: flex;
  justify-content: center;
  align-items: baseline;
  color: #fff;
  transition: all 0.3s 0s ease;
  border: 1px solid var(--bg-pink);
}
.course__btn a:hover{
  background-color: #fff;
  border:1px solid var(--bg-pink);
  color:var(--bg-pink);
}
.course__btn a::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  margin-bottom: 5px;
  width: 10px;
  height: 10px;
  background-color: transparent;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  transform: rotate(45deg);
  transition: all 0.3s 0s ease;
}
.course__btn a:hover::after{
  border-top: solid 1px var(--bg-pink);
  border-right: solid 1px var(--bg-pink);
}
.shinjin2025__course .course__link{
  max-width: 1440px;
  margin: 0 auto;
}
.course__link--python{
  font-size: 18px;
  font-weight: bold;
  text-align: right;
}
.link--python{
  font-size: 16px;
  font-weight:500;
}
.link--python a{
  color:#333;
}
.link--python a:hover{
  border-bottom:1px solid #333;
  opacity:0.8;
}

/*--960px以下の画面幅--*/
@media screen and (max-width: 960px) {
  .course__container ul {
    flex-direction: column;
  }
  .course__container ul li{
    width: 375px;
    margin: 0 auto;
  }
}

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .shinjin2025__course{
    padding-left: 10%;
  }
  .shinjin2025__course .line {
    float: none;
    width: 100%;
    margin-bottom: 20px;
  }
  .shinjin2025__course .title__main > h2 {
    font-size: 24px;
    line-height: 1;
  }
  .shinjin2025__course .title__main > h2::after {
    bottom: -10px;
  }
  .shinjin2025__course .title__main > h2 > .title-sub {
    font-size: 16px;
  }
  .shinjin2025__course .title__main > h2 > .title-emphasis {
    font-size: 36px;
  }
  .course__container ul {
    padding-right:10%;
  }
  .course__container ul li h3 {
    font-size: 20px;
  }
  .course__container ul li > p > span {
    font-size: 24px;
  }
  .course__btn {
    padding: 10px 35px;
  }
  .shinjin2025__course{
    font-size: 16px;
    margin: 0 auto;
  }
  .course__link--python{
    font-size: 14px;
    text-align: left;
  }
.course__btn a {
  padding: 20px 0px;
  fonto-size:14px;
  }
.course__describe {
  margin: 20px 0;
  
}
}

/*=== shinjin2025__chatgpt ここから ===*/

.shinjin2025__chatgpt > .line {
  float: right;
  padding: 0.5em 0 0.5em 1em;
  width: 50%;
  background: linear-gradient(
    90deg,
    rgba(193, 212, 134, 1) 0%,
    rgba(239, 186, 183, 1) 100%
  );
}
.shinjin2025__chatgpt > .line p {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}
.chatgpt__container {
  max-width: 882px;
  margin: 0 auto;
  clear: both;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
}
.chatgpt__container > img {
  margin: 0 auto;
}
.chatgpt__lead {
  max-width: 545px;
  margin-bottom: 40px;
}
.chatgpt__lead > h2 {
  position: relative;
  padding-bottom: 10px;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.2;
  border-bottom: 1px solid #333;
}
.chatgpt__lead > h2 > .title-main {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: normal;
}
.chatgpt__lead > h2 > .title-emphasis {
  font-size: 56px;
  color: var(--bg-green);
}
.chatgpt__lead .title-sub {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: normal;
}
.chatgpt__detail {
  background-color: var(--bg-beige);
  max-width: 880px;
  display: flex;
  padding: 20px 10px;
}
.chatgpt__detail > img {
  margin: 0 auto;
}
.chatgpt__detail ul li {
  display: flex;
  align-items: flex-start;
  font-size: 20px;
  margin-bottom: 10px;
}
.chatgpt__detail ul li:last-child {
  margin-bottom: 0px;
}
.chatgpt__detail ul li img {
  margin: 8px 5px;
}
.chatgpt__detail ul li:nth-child(3) img {
  margin: 12px 5px;
}
.chatgpt__detail ul li p span {
  font-size: 24px;
  font-weight: bold;
  background: linear-gradient(transparent 50%, #efbab7 70%);
}

/*--960px以下の画面幅--*/
@media screen and (max-width: 960px) {
  .chatgpt__detail {
    flex-wrap: wrap;
  }
}

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .shinjin2025__chatgpt{
    padding-left: 10%;
  }
  .shinjin2025__chatgpt .line {
    float: none;
    width: 100%;
    margin-bottom: 20px;
  }
  .chatgpt__lead > h2 {
    font-size: 24px;
    line-height: 1.2;
  }
  .chatgpt__lead > h2 > .title-main {
    font-size: 16px;
  }
  .chatgpt__lead > h2 > .title-emphasis {
    font-size: 36px;
  }
  .chatgpt__lead .title-sub {
    font-size: 16px;
  }
  .chatgpt__container {
    padding-right:10%;
  }
  .chatgpt__container > img {
    margin: 0 auto;
  }
}

/*=== shinjin2025__curriculum ここから ===*/

.shinjin2025__curriculum {
  background: url(../img/middle/shinjinIT/2025/curriculum-bg.jpg) no-repeat;
  background-position: center;
  background-size: cover;
  padding: 60px;
}
.curriculum__container {
  max-width: 960px;
  margin: 0 auto;
}
.curriculum__textArea {
  width: 350px;
  font-size: 18px;
  font-weight: bold;
  color: #333;
}
.curriculum__subTitle {
  display: flex;
  align-items: center;
  font-size: 24px;
}
.curriculum__subTitle::before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  width: 50px;
  height: 2px;
  background-color: #333;
}
.curriculum__textArea h2 {
  font-family: "Noto Serif JP";
  font-size: 32px;
  margin-bottom: 20px;
}

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .shinjin2025__curriculum {
    padding: 60px 3%;
  }
  .curriculum__textArea {
    width: 100%;
    font-size: 18px;
  }
  .curriculum__subTitle {
    font-size: 18px;
  }
  .curriculum__textArea h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }
}

/*=== shinjin2025__curriculum__june ここから ===*/
.curriculum__june__container{
  background-color: var(--bg-beige);
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 60px;
}
.curriculum__june__title{
  margin-bottom: 40px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.curriculum__june--title-image{
  width: 25%;
}
.curriculum__june__textArea h2{
  font-size: 24px;
}
.curriculum__june--detail{
  margin-top: 30px;
}
.curriculum__june--price{
  font-family: "Noto Serif JP";
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.curriculum__june--price span{
  font-size: 28px;
}
.curriculum__june--remark{
  font-size: 12px;
  color:#BE0533;
}
/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .curriculum__june__container{
    padding: 40px 3%;
  }
  .curriculum__june__title{
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
  }
  .curriculum__june--title-image{
    margin-bottom: 20px;
    width: 100%;
    text-align: center;
  }
  .curriculum__june--detail{
    margin-top: 0;
  }
  .curriculum__june__textArea h2{
    font-size: 24px;
    margin-bottom: 20px;
  }
  .curriculum__june--price{
    text-align: center;
  }
}

/*=== shinjin2025__seminertype ここから ===*/
.seminer-type__container {
  max-width: 960px;
  background-color: var(--bg-beige);
  margin: 0 auto;
  padding: 40px 60px;
}
.seminer-type__lead {
  position: relative;
  background-color: #fff;
  padding: 0 5%;
  margin-bottom: 60px;
}
.seminer-type__lead h2 {
  position: absolute;
  top: 20px;
  left: -20px;
}
.seminer-type__lead--text {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row-reverse;
  padding-top: 60px;
}
.seminer-type__lead--text::after {
  content: "";
  position: absolute;
  top: 99%;
  left: 50%;
  width: 0;
  height: 0;
  border: 80px solid transparent;
  border-top: 40px solid #fff;
  transform: translateX(-50%);
}
.seminer-type__lead--text > p {
  width: 520px;
  margin-right: 20px;
  font-size: 18px;
  font-weight: bold;
}
.seminer-type__detail {
  background-color: #fff;
  padding: 40px;
  text-align: center;
}
.seminer-type__detail .detail--1 h3,
.seminer-type__detail .detail--2 h3 {
  margin: 0 auto 20px;
}
.seminer-type__detail .detail--1 h4,
.seminer-type__detail .detail--2 h4 {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  margin: 0 auto 20px;
  padding-left:2em;
}
.seminer-type__detail .detail--1 h4::before,
.seminer-type__detail .detail--2 h4::before {
  content: url(../img/middle/shinjinIT/2025/title_sakura03.png);
  position: absolute;
  left: -10px;
  z-index:1;
}
.seminer-type__detail .detail__image--1,
.seminer-type__detail .detail__image--2 {
  margin-bottom: 20px;
}
.seminer-type__detail .detail--1 p,
.seminer-type__detail .detail--2 p {
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
  line-height: 1.8;
}
.seminer-type__detail .detail--1 p {
  margin-bottom: 20px;
}

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .seminer-type__container {
    padding: 40px 5%;
  }
  .seminer-type__lead {
    position: relative;
    background-color: #fff;
    padding: 5%;
    margin-bottom: 60px;
  }
  .seminer-type__lead h2 img{
    width:80%;
  }
  .seminer-type__lead--text {
    flex-direction: column;
    padding-top: 60px;
  }
  .seminer-type__lead--text img{
    width:60%;
  }
  .seminer-type__lead--text > p {
    width: 100%;
    margin:0;
    font-size: 18px;
  }
}

/*=== shinjin2025__address ここから ===*/

.shinjin2025__address {
  background: url(../img/middle/shinjinIT/2025/access-bg.jpg) no-repeat;
  background-position: center;
  background-size: cover;
  padding: 60px;
}
.address__container{
  max-width: 960px;
  margin: 0 auto ;
}
.address__textArea {
  max-width: 100%;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  text-align: left;
}
.address__subTitle {
  display: flex;
  align-items: center;
  font-size: 24px;
}
.address__subTitle::before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  width: 50px;
  height: 2px;
  background-color: #fff;
}
.address__textArea h2 {
  font-family: "Noto Serif JP";
  font-size: 32px;
  margin-bottom: 20px;
}
.address__leadtext {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.address__leadtext img {
  margin-right: 20px;
  margin-bottom: 20px;
}
.address__detail {
  font-size: 18px;
  color: #fff;
  font-weight: bold;
}
.address__detail dl dt {
  font-size: 24px;
}
.address__detail dl {
  margin-bottom: 20px;
}
.address__icon--map::before {
  content: url(../img/middle/shinjinIT/2025/iconAccess1.png);
  margin-right: 5px;
}
.address__icon--train::before {
  content: url(../img/middle/shinjinIT/2025/iconAccess2.png);
  margin-right: 5px;
} 

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .shinjin2025__address {
    padding: 60px 5%;
  }
  .address__subTitle {
    font-size: 18px;
  }
  .address__textArea{
    width: 100%;
  }
  .address__textArea h2 {
    font-size: 24px;
  }
  .address__leadtext img {
    margin: 0 auto 20px;
  }
  .address__detail {
    font-size: 16px;
  }
  .address__detail dl dt {
    font-size: 18px;
  }
}

/*=== shinjin2025__subsidy ここから ===*/

.subsidy__container {
  background-color: var(--bg-beige);
  max-width: 960px;
  margin: 0 auto;
  padding: 40px;
  text-align: center;
}
.subsidy__container h2 {
  font-size: 32px;
  margin-bottom: 20px;
}
.subsidy__container > h2::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 26px;
  background: url(../img/middle/shinjinIT/2025/title_sakura01.svg) no-repeat;
}
.subsidy__container > h2::after {
  content: "";
  display: inline-block;
  width: 25px;
  height: 26px;
  background: url(../img/middle/shinjinIT/2025/title_sakura02.svg) no-repeat;
}
.subsidy__content {
  display: flex;
}
.subsidy__content figure {
  width: 100%;
  margin-right: 20px;
  text-align: left;
}
.subsidy__content figure figcaption{
 line-height: 1.3;
}
.subsidy__content img {
  margin-bottom: 10px;
}
.subsidy__content figcaption {
  font-size: 14px;
  color: #666;
}
.subsidy__content--link{
  font-size: 12px;
  color: #333;
  word-break:break-all;
}
.subsidy__content--link:hover{
  opacity: 0.8;
}
.subsidy__textArea {
  width: 90%;
  text-align: left;
  font-weight: bold;
}
.subsidy__textArea p {
  margin-bottom: 20px;
}
.subsidy__link {
  margin-bottom: 0;
  text-align: right;
}
.subsidy__link a {
  color: #333;
}
.subsidy__link a:hover {
border-bottom:1px solid #333;
opacity:0.8
}

.subsidy__content--link{
  color:#333;
}
 .subsidy__content--link color:hover{
order-bottom:1px solid #333;
opacity:0.8
}

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .subsidy__container {
    padding: 40px 5%;
  }
  .subsidy__container h2 {
    font-size: 24px;
  }
  .subsidy__content {
    flex-direction: column;
  }
  .subsidy__content figure {
    margin:0 auto 20px;
  }
  .subsidy__textArea p {
    margin-bottom: 10px;
  }
}

/*=== shinjin2025__question ここから ===*/
.question__container{
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
}
.shinjin2025__question h2 {
  font-size: 32px;
  margin-bottom: 20px;
}
.shinjin2025__question h2::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 26px;
  background: url(../img/middle/shinjinIT/2025/title_sakura01.svg) no-repeat;
}
.shinjin2025__question h2::after {
  content: "";
  display: inline-block;
  width: 25px;
  height: 26px;
  background: url(../img/middle/shinjinIT/2025/title_sakura02.svg) no-repeat;
}
details {
  margin: 0 auto 10px;
  max-width: 960px;
}
summary {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  text-align: left;
  padding: 20px 30px 20px 80px;
  background-color: var(--bg-beige);
  border-radius: 10px 10px 0px 0px;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
}
summary::before{
  content: attr(data);
  position: absolute;
  top: 12px;
  left: 10px;
  width: 50px;
  height: 50px;
  display: block;
  border-radius: 100%;
  background-color: #DB8C96;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  line-height: 50px;
} 
summary::-webkit-details-marker {
  display: none;
}
summary::after {
  content: '';
  margin-left: 30px;
  width: 20px;
  height: 20px;
  background-color: transparent;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  transform: rotate(135deg);
}
/*details[open] summary::after {
  transform: rotate(135deg);
}*/
.answer {
  position: relative;
  width: fit-content;
  text-align: left;
  background-color: #f6f8f9;
  border-radius: 0px 0px 10px 10px;
  margin-bottom: 40px;
  padding: 20px 20px 20px 80px;
}
.answer h4{
  font-size: 20px;
  font-weight: bold;
}
.answer h4::before{
  content: attr(data);
  position: absolute;
  top: 15px;
  left: 12px ;
  width: 50px;
  height: 50px;
  display: block;
  border-radius: 100%;
  background-color: #DB8C96;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  line-height: 50px;
}
.answer p{
  font-size: 18px;
  margin-bottom: 10px;
}
details[open] .answer {
  animation: fadein .5s ease;
}
@keyframes fadein {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.answer__link a{
  color:#333;
}
.question__link{
  text-align: right;
}
.question__link a{
  color:#333;
}
.answer__link a:hover,
.question__link a:hover{
 opacity:0.8;
 border-bottom:1px solid #333;
}

/*--767px以下の画面幅--*/
@media screen and (max-width: 768px) {
  .question__container{
    padding: 0 5%;
  }
  .shinjin2025__question h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }
  summary {
    font-size: 18px;
  }
  .answer h4{
    font-size: 18px;
  }
  .answer p{
    font-size: 16px;
  }
}
